Advertisement
julienanid

[Trinity] Enchater NPC

Sep 18th, 2013
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 69.10 KB | None | 0 0
  1. /*
  2. <--------------------------------------------------------------------------->
  3. - Developer(s): Ghostcrawler336
  4. - Updated by: Synth
  5. - Complete: %100
  6. - ScriptName: 'npc_enchantment'
  7. - Comment: Tested.
  8. - Share for: Emudevs
  9. <--------------------------------------------------------------------------->
  10. */
  11.  
  12. enum Enchants
  13. {
  14.     ENCHANT_WEP_BERSERKING              = 3789,
  15.     ENCHANT_WEP_BLADE_WARD              = 3869,
  16.     ENCHANT_WEP_BLOOD_DRAINING          = 3870,
  17.     ENCHANT_WEP_ACCURACY                = 3788,
  18.     ENCHANT_WEP_AGILITY_1H              = 1103,
  19.     ENCHANT_WEP_SPIRIT                  = 3844,
  20.     ENCHANT_WEP_BATTLEMASTER            = 2675,
  21.     ENCHANT_WEP_BLACK_MAGIC             = 3790,
  22.     ENCHANT_WEP_ICEBREAKER              = 3239,
  23.     ENCHANT_WEP_LIFEWARD                = 3241,
  24.     ENCHANT_WEP_MIGHTY_SPELL_POWER      = 3834, // One-hand
  25.     ENCHANT_WEP_EXECUTIONER             = 3225,
  26.     ENCHANT_WEP_POTENCY                 = 3833,
  27.     ENCHANT_WEP_TITANGUARD              = 3851,
  28.     ENCHANT_2WEP_MASSACRE               = 3827,
  29.     ENCHANT_2WEP_SCOURGEBANE            = 3247,
  30.     ENCHANT_2WEP_GIANT_SLAYER           = 3251,
  31.     ENCHANT_2WEP_GREATER_SPELL_POWER    = 3854,
  32.     ENCHANT_2WEP_AGILITY                = 2670,
  33.     ENCHANT_2WEP_MONGOOSE               = 2673,
  34.  
  35.     ENCHANT_SHIELD_DEFENSE              = 1952,
  36.     ENCHANT_SHIELD_INTELLECT            = 1128,
  37.     ENCHANT_SHIELD_RESILIENCE           = 3229,
  38.     ENCHANT_SHIELD_BLOCK                = 2655,
  39.     ENCHANT_SHIELD_STAMINA              = 1071,
  40.     ENCHANT_SHIELD_TOUGHSHIELD          = 2653,
  41.     ENCHANT_SHIELD_TITANIUM_PLATING     = 3849,
  42.  
  43.     ENCHANT_HEAD_BLISSFUL_MENDING       = 3819,
  44.     ENCHANT_HEAD_BURNING_MYSTERIES      = 3820,
  45.     ENCHANT_HEAD_DOMINANCE              = 3796,
  46.     ENCHANT_HEAD_SAVAGE_GLADIATOR       = 3842,
  47.     ENCHANT_HEAD_STALWART_PROTECTOR     = 3818,
  48.     ENCHANT_HEAD_TORMENT                = 3817,
  49.     ENCHANT_HEAD_TRIUMPH                = 3795,
  50.     ENCHANT_HEAD_ECLIPSED_MOON          = 3815,
  51.     ENCHANT_HEAD_FLAME_SOUL             = 3816,
  52.     ENCHANT_HEAD_FLEEING_SHADOW         = 3814,
  53.     ENCHANT_HEAD_FROSTY_SOUL            = 3812,
  54.     ENCHANT_HEAD_TOXIC_WARDING          = 3813,
  55.    
  56.     ENCHANT_SHOULDER_MASTERS_AXE        = 3835,
  57.     ENCHANT_SHOULDER_MASTERS_CRAG       = 3836,
  58.     ENCHANT_SHOULDER_MASTERS_PINNACLE   = 3837,
  59.     ENCHANT_SHOULDER_MASTERS_STORM      = 3838,
  60.     ENCHANT_SHOULDER_GREATER_AXE        = 3808,
  61.     ENCHANT_SHOULDER_GREATER_CRAG       = 3809,
  62.     ENCHANT_SHOULDER_GREATER_GLADIATOR  = 3852,
  63.     ENCHANT_SHOULDER_GREATER_PINNACLE   = 3811,
  64.     ENCHANT_SHOULDER_GREATER_STORM      = 3810,
  65.     ENCHANT_SHOULDER_DOMINANCE          = 3794,
  66.     ENCHANT_SHOULDER_TRIUMPH            = 3793,
  67.  
  68.     ENCHANT_CLOAK_DARKGLOW_EMBROIDERY   = 3728,
  69.     ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY = 3730,
  70.     ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY = 3722,
  71.     ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE  = 3859,
  72.     ENCHANT_CLOAK_WISDOM                = 3296,
  73.     ENCHANT_CLOAK_TITANWEAVE            = 1951,
  74.     ENCHANT_CLOAK_SPELL_PIERCING        = 3243,
  75.     ENCHANT_CLOAK_SHADOW_ARMOR          = 3256,
  76.     ENCHANT_CLOAK_MIGHTY_ARMOR          = 3294,
  77.     ENCHANT_CLOAK_MAJOR_AGILITY         = 1099,
  78.     ENCHANT_CLOAK_GREATER_SPEED         = 3831,
  79.  
  80.     ENCHANT_LEG_EARTHEN                 = 3853,
  81.     ENCHANT_LEG_FROSTHIDE               = 3822,
  82.     ENCHANT_LEG_ICESCALE                = 3823,
  83.     ENCHANT_LEG_BRILLIANT_SPELLTHREAD   = 3719,
  84.     ENCHANT_LEG_SAPPHIRE_SPELLTHREAD    = 3721,
  85.     ENCHANT_LEG_DRAGONSCALE             = 3331,
  86.     ENCHANT_LEG_WYRMSCALE               = 3332,
  87.  
  88.     ENCHANT_GLOVES_GREATER_BLASTING     = 3249,
  89.     ENCHANT_GLOVES_ARMSMAN              = 3253,
  90.     ENCHANT_GLOVES_CRUSHER              = 1603,
  91.     ENCHANT_GLOVES_AGILITY              = 3222,
  92.     ENCHANT_GLOVES_PRECISION            = 3234,
  93.     ENCHANT_GLOVES_EXPERTISE            = 3231,
  94.  
  95.     ENCHANT_BRACERS_MAJOR_STAMINA       = 3850,
  96.     ENCHANT_BRACERS_SUPERIOR_SP         = 2332,
  97.     ENCHANT_BRACERS_GREATER_ASSUALT     = 3845,
  98.     ENCHANT_BRACERS_MAJOR_SPIRT         = 1147,
  99.     ENCHANT_BRACERS_EXPERTISE           = 3231,
  100.     ENCHANT_BRACERS_GREATER_STATS       = 2661,
  101.     ENCHANT_BRACERS_INTELLECT           = 1119,
  102.     ENCHANT_BRACERS_FURL_ARCANE         = 3763,
  103.     ENCHANT_BRACERS_FURL_FIRE           = 3759,
  104.     ENCHANT_BRACERS_FURL_FROST          = 3760,
  105.     ENCHANT_BRACERS_FURL_NATURE         = 3762,
  106.     ENCHANT_BRACERS_FURL_SHADOW         = 3761,
  107.     ENCHANT_BRACERS_FURL_ATTACK         = 3756,
  108.     ENCHANT_BRACERS_FURL_STAMINA        = 3757,
  109.     ENCHANT_BRACERS_FURL_SPELLPOWER     = 3758,
  110.  
  111.     ENCHANT_CHEST_POWERFUL_STATS        = 3832,
  112.     ENCHANT_CHEST_SUPER_HEALTH          = 3297,
  113.     ENCHANT_CHEST_GREATER_MAINA_REST        = 2381,
  114.     ENCHANT_CHEST_EXCEPTIONAL_RESIL     = 3245,
  115.     ENCHANT_CHEST_GREATER_DEFENSE       = 1953,
  116.  
  117.     ENCHANT_BOOTS_GREATER_ASSULT        = 1597,
  118.     ENCHANT_BOOTS_TUSKARS_VITLIATY      = 3232,
  119.     ENCHANT_BOOTS_SUPERIOR_AGILITY      = 983,
  120.     ENCHANT_BOOTS_GREATER_SPIRIT        = 1147,
  121.     ENCHANT_BOOTS_GREATER_VITALITY      = 3244,
  122.     ENCHANT_BOOTS_ICEWALKER             = 3826,
  123.     ENCHANT_BOOTS_GREATER_FORTITUDE     = 1075,
  124.     ENCHANT_BOOTS_NITRO_BOOTS           = 3606,
  125.     ENCHANT_BOOTS_PYRO_ROCKET           = 3603,
  126.     ENCHANT_BOOTS_HYPERSPEED            = 3604,
  127.     ENCHANT_BOOTS_ARMOR_WEBBING         = 3860,
  128.  
  129.     ENCHANT_RING_ASSULT                 = 3839,
  130.     ENCHANT_RING_GREATER_SP             = 3840,
  131.     ENCHANT_RING_STAMINA                = 3791,
  132. };
  133.  
  134. #include "ScriptPCH.h"
  135.  
  136. void Enchant(Player* player, Item* item, uint32 enchantid)
  137. {
  138.     if (!item)
  139.     {
  140.         player->GetSession()->SendNotification("You must first equip the item you are trying to enchant in order to enchant it!");
  141.         return;
  142.     }
  143.  
  144.     if (!enchantid)
  145.     {
  146.         player->GetSession()->SendNotification("Something went wrong in the code. It has been logged for developers and will be looked into, sorry for the inconvenience.");
  147.        TC_LOG_INFO(LOG_FILTER_GENERAL,"enchant_vendor::Enchant: Enchant NPC 'enchantid' is NULL, something went wrong here!");
  148.         return;
  149.     }
  150.        
  151.     player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, false);
  152.        item->SetEnchantment(PERM_ENCHANTMENT_SLOT, enchantid, 0, 0);
  153.        player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, true);
  154.     player->GetSession()->SendNotification("|cff800080%s |cffFF0000succesfully enchanted!", item->GetTemplate()->Name1.c_str());
  155. }
  156.  
  157. void RemoveEnchant(Player* player, Item* item)
  158. {
  159.     if (!item)
  160.     {
  161.         player->GetSession()->SendNotification("You don't have the item equipped?");
  162.         return;
  163.     }
  164.  
  165.     item->ClearEnchantment(PERM_ENCHANTMENT_SLOT);
  166.     player->GetSession()->SendNotification("|cff800080%s's |cffFF0000enchant has successfully been removed!", item->GetTemplate()->Name1.c_str());
  167. }
  168.  
  169. class npc_enchantment : public CreatureScript
  170. {
  171. public:
  172.     npc_enchantment() : CreatureScript("npc_enchantment") { }
  173.  
  174.         bool OnGossipHello(Player* player, Creature* creature)
  175.         {
  176.             player->ADD_GOSSIP_ITEM(1, "Enchant Weapon", GOSSIP_SENDER_MAIN, 1);
  177.             player->ADD_GOSSIP_ITEM(1, "Enchant Off-Hand Weapon", GOSSIP_SENDER_MAIN, 13);
  178.             player->ADD_GOSSIP_ITEM(1, "Enchant 2H Weapon", GOSSIP_SENDER_MAIN, 2);
  179.             player->ADD_GOSSIP_ITEM(1, "Enchant Shield", GOSSIP_SENDER_MAIN, 3);
  180.             player->ADD_GOSSIP_ITEM(1, "Enchant Head", GOSSIP_SENDER_MAIN, 4);
  181.             player->ADD_GOSSIP_ITEM(1, "Enchant Shoulders", GOSSIP_SENDER_MAIN, 5);
  182.             player->ADD_GOSSIP_ITEM(1, "Enchant Cloak", GOSSIP_SENDER_MAIN, 6);
  183.             player->ADD_GOSSIP_ITEM(1, "Enchant Chest", GOSSIP_SENDER_MAIN, 7);
  184.             player->ADD_GOSSIP_ITEM(1, "Enchant Bracers", GOSSIP_SENDER_MAIN, 8);
  185.             player->ADD_GOSSIP_ITEM(1, "Enchant Gloves", GOSSIP_SENDER_MAIN, 9);
  186.             player->ADD_GOSSIP_ITEM(1, "Enchant Legs", GOSSIP_SENDER_MAIN, 10);
  187.             player->ADD_GOSSIP_ITEM(1, "Enchant Feet", GOSSIP_SENDER_MAIN, 11);
  188.  
  189.             if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
  190.             {
  191.                 player->ADD_GOSSIP_ITEM(1, "Enchant Rings", GOSSIP_SENDER_MAIN, 12);
  192.             }
  193.             player->ADD_GOSSIP_ITEM(1, "I wish to remove my enchant", GOSSIP_SENDER_MAIN, 14);
  194.             player->ADD_GOSSIP_ITEM(4, "Nevermind", GOSSIP_SENDER_MAIN, 15);
  195.  
  196.             player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
  197.             return true;
  198.         }
  199.  
  200.         bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
  201.         {
  202.             player->PlayerTalkClass->ClearMenus();
  203.             Item * item;
  204.  
  205.             switch (action)
  206.             {
  207.                 case 15:
  208.             {
  209.                 player->PlayerTalkClass->SendCloseGossip();
  210.                 break;
  211.             }
  212.  
  213.                
  214.                 case 1: // Enchant Weapon
  215.                     if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
  216.                     {
  217.                         player->ADD_GOSSIP_ITEM(1, "Blade Ward", GOSSIP_SENDER_MAIN, 102);
  218.                         player->ADD_GOSSIP_ITEM(1, "Blood Draining", GOSSIP_SENDER_MAIN, 103);
  219.                     }
  220.                     player->ADD_GOSSIP_ITEM(1, "Exceptional Agility", GOSSIP_SENDER_MAIN, 100);
  221.                     player->ADD_GOSSIP_ITEM(1, "Exceptional Spirit", GOSSIP_SENDER_MAIN, 101);
  222.                     player->ADD_GOSSIP_ITEM(1, "Berserking", GOSSIP_SENDER_MAIN, 104);
  223.                     player->ADD_GOSSIP_ITEM(1, "Accuracy", GOSSIP_SENDER_MAIN, 105);
  224.                     player->ADD_GOSSIP_ITEM(1, "Black Magic", GOSSIP_SENDER_MAIN, 106);
  225.                     player->ADD_GOSSIP_ITEM(1, "Battlemaster", GOSSIP_SENDER_MAIN, 107);
  226.                     player->ADD_GOSSIP_ITEM(1, "Icebreaker", GOSSIP_SENDER_MAIN, 108);
  227.                     player->ADD_GOSSIP_ITEM(1, "Lifeward", GOSSIP_SENDER_MAIN, 109);
  228.                     player->ADD_GOSSIP_ITEM(1, "Titanguard", GOSSIP_SENDER_MAIN, 110);
  229.                     player->ADD_GOSSIP_ITEM(1, "Superior Potency", GOSSIP_SENDER_MAIN, 111);
  230.                     player->ADD_GOSSIP_ITEM(1, "Mighty Spellpower", GOSSIP_SENDER_MAIN, 112);
  231.                     player->ADD_GOSSIP_ITEM(1, "Mongoose", GOSSIP_SENDER_MAIN, 113);
  232.                     player->ADD_GOSSIP_ITEM(1, "Executioner", GOSSIP_SENDER_MAIN, 114);
  233.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  234.                     player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
  235.                     return true;
  236.                     break;
  237.  
  238.                 case 2: // Enchant 2H Weapon
  239.                     {
  240.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  241.  
  242.                         if (!item)
  243.                         {
  244.                             player->GetSession()->SendNotification("You must equip a Two-Handed weapon first.");
  245.                             player->PlayerTalkClass->SendCloseGossip();
  246.                             return false;
  247.                         }
  248.  
  249.                         if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  250.                         {
  251.                             player->ADD_GOSSIP_ITEM(1, "Berserking", GOSSIP_SENDER_MAIN, 104);
  252.                             player->ADD_GOSSIP_ITEM(1, "Greater Spellpower", GOSSIP_SENDER_MAIN, 115);
  253.                             player->ADD_GOSSIP_ITEM(1, "Major Agility", GOSSIP_SENDER_MAIN, 116);
  254.                             player->ADD_GOSSIP_ITEM(1, "Massacre", GOSSIP_SENDER_MAIN, 117);
  255.                             player->ADD_GOSSIP_ITEM(1, "Mongoose", GOSSIP_SENDER_MAIN, 113);
  256.                             player->ADD_GOSSIP_ITEM(1, "Executioner", GOSSIP_SENDER_MAIN, 114);
  257.                             player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  258.                             player->PlayerTalkClass->SendGossipMenu(100003, creature->GetGUID());
  259.                             return true;
  260.                         }
  261.                         else
  262.                         {
  263.                             player->GetSession()->SendNotification("You don't have a Two-Handed weapon equipped.");
  264.                             player->PlayerTalkClass->SendCloseGossip();
  265.                         }
  266.                     }
  267.                     break;
  268.  
  269.                 case 3: // Enchant Shield
  270.                     {
  271.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  272.  
  273.                         if (!item)
  274.                         {
  275.                             player->GetSession()->SendNotification("You must equip a shield first.");
  276.                             player->PlayerTalkClass->SendCloseGossip();
  277.                             return false;
  278.                         }
  279.  
  280.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  281.                         {
  282.                             player->ADD_GOSSIP_ITEM(1, "Defense", GOSSIP_SENDER_MAIN, 118);
  283.                             player->ADD_GOSSIP_ITEM(1, "Greater Intellect", GOSSIP_SENDER_MAIN, 119);
  284.                             player->ADD_GOSSIP_ITEM(1, "Resilience", GOSSIP_SENDER_MAIN, 120);
  285.                             player->ADD_GOSSIP_ITEM(1, "Titanium Plating", GOSSIP_SENDER_MAIN, 121);
  286.                             player->ADD_GOSSIP_ITEM(1, "Major Stamina", GOSSIP_SENDER_MAIN, 122);
  287.                             player->ADD_GOSSIP_ITEM(1, "Tough Shield", GOSSIP_SENDER_MAIN, 123);
  288.                             player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  289.                             player->PlayerTalkClass->SendGossipMenu(100004, creature->GetGUID());
  290.                             return true;
  291.                         }
  292.                         else
  293.                         {
  294.                             player->GetSession()->SendNotification("You don't have a shield equipped.");
  295.                             player->PlayerTalkClass->SendCloseGossip();
  296.                         }
  297.                     }
  298.                     break;
  299.  
  300.                 case 4: // Enchant Head
  301.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Blissful Mending", GOSSIP_SENDER_MAIN, 124);
  302.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Burning Mysteries", GOSSIP_SENDER_MAIN, 125);
  303.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Dominance", GOSSIP_SENDER_MAIN, 126);
  304.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of The Savage Gladiator", GOSSIP_SENDER_MAIN, 127);
  305.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of The Stalwart Protector", GOSSIP_SENDER_MAIN, 128);
  306.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Torment", GOSSIP_SENDER_MAIN, 129);
  307.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Triumph", GOSSIP_SENDER_MAIN, 130);
  308.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Eclipsed Moon", GOSSIP_SENDER_MAIN, 131);
  309.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of the Flame's Soul", GOSSIP_SENDER_MAIN, 132);
  310.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of the Fleeing Shadow", GOSSIP_SENDER_MAIN, 133);
  311.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of the Frosty Soul", GOSSIP_SENDER_MAIN, 134);
  312.                     player->ADD_GOSSIP_ITEM(1, "Arcanum of Toxic Warding", GOSSIP_SENDER_MAIN, 135);
  313.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  314.                     player->PlayerTalkClass->SendGossipMenu(100005, creature->GetGUID());
  315.                     return true;
  316.                     break;
  317.  
  318.                 case 5: // Enchant Shoulders
  319.                     if (player->HasSkill(SKILL_INSCRIPTION) && player->GetSkillValue(SKILL_INSCRIPTION) == 450)
  320.                     {
  321.                         player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Axe", GOSSIP_SENDER_MAIN, 136);
  322.                         player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Crag", GOSSIP_SENDER_MAIN, 137);
  323.                         player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Pinnacle", GOSSIP_SENDER_MAIN, 138);
  324.                         player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Storm", GOSSIP_SENDER_MAIN, 139);
  325.                     }
  326.                     player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Axe", GOSSIP_SENDER_MAIN, 140);
  327.                     player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Crag", GOSSIP_SENDER_MAIN, 141);
  328.                     player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Pinnacle", GOSSIP_SENDER_MAIN, 142);
  329.                     player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Gladiator", GOSSIP_SENDER_MAIN, 143);
  330.                     player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Storm", GOSSIP_SENDER_MAIN, 144);
  331.                     player->ADD_GOSSIP_ITEM(1, "Inscription of Dominance", GOSSIP_SENDER_MAIN, 145);
  332.                     player->ADD_GOSSIP_ITEM(1, "Inscription of Triumph", GOSSIP_SENDER_MAIN, 146);
  333.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  334.                     player->PlayerTalkClass->SendGossipMenu(100006, creature->GetGUID());
  335.                     return true;
  336.                     break;
  337.  
  338.                 case 6: // Enchant Cloak
  339.                     player->ADD_GOSSIP_ITEM(1, "Springy Arachnoweave", GOSSIP_SENDER_MAIN, 147);
  340.                     player->ADD_GOSSIP_ITEM(1, "Shadow Armor", GOSSIP_SENDER_MAIN, 148);                    
  341.                     player->ADD_GOSSIP_ITEM(1, "Darkglow Embroidery", GOSSIP_SENDER_MAIN, 149);
  342.                     player->ADD_GOSSIP_ITEM(1, "Lightweave Embroidery", GOSSIP_SENDER_MAIN, 150);
  343.                     player->ADD_GOSSIP_ITEM(1, "Swordguard Embroidery", GOSSIP_SENDER_MAIN, 151);                    
  344.                     player->ADD_GOSSIP_ITEM(1, "Wisdom", GOSSIP_SENDER_MAIN, 152);
  345.                     player->ADD_GOSSIP_ITEM(1, "Titanweave", GOSSIP_SENDER_MAIN, 153);
  346.                     player->ADD_GOSSIP_ITEM(1, "Spell Piercing", GOSSIP_SENDER_MAIN, 154);
  347.                     player->ADD_GOSSIP_ITEM(1, "Mighty Armor", GOSSIP_SENDER_MAIN, 155);
  348.                     player->ADD_GOSSIP_ITEM(1, "Major Agility", GOSSIP_SENDER_MAIN, 156);
  349.                     player->ADD_GOSSIP_ITEM(1, "Greater Speed", GOSSIP_SENDER_MAIN, 157);
  350.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  351.                     player->PlayerTalkClass->SendGossipMenu(100007, creature->GetGUID());
  352.                     return true;
  353.                     break;
  354.  
  355.                 case 7: //Enchant chest
  356.                     player->ADD_GOSSIP_ITEM(1, "Powerful Stats", GOSSIP_SENDER_MAIN, 158);
  357.                     player->ADD_GOSSIP_ITEM(1, "Super Health", GOSSIP_SENDER_MAIN, 159);
  358.                     player->ADD_GOSSIP_ITEM(1, "Greater Mana Restoration", GOSSIP_SENDER_MAIN, 160);
  359.                     player->ADD_GOSSIP_ITEM(1, "Exceptional Resilience", GOSSIP_SENDER_MAIN, 161);
  360.                     player->ADD_GOSSIP_ITEM(1, "Greater Defense", GOSSIP_SENDER_MAIN, 162);
  361.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  362.                     player->PlayerTalkClass->SendGossipMenu(100008, creature->GetGUID());
  363.                     return true;
  364.                     break;
  365.  
  366.                 case 8: //Enchant Bracers
  367.                     player->ADD_GOSSIP_ITEM(1, "Major Stamina", GOSSIP_SENDER_MAIN, 163);
  368.                     player->ADD_GOSSIP_ITEM(1, "Superior Spell Power", GOSSIP_SENDER_MAIN, 164);
  369.                     player->ADD_GOSSIP_ITEM(1, "Greater Assult", GOSSIP_SENDER_MAIN, 165);
  370.                     player->ADD_GOSSIP_ITEM(1, "Major Spirit", GOSSIP_SENDER_MAIN, 166);
  371.                     player->ADD_GOSSIP_ITEM(1, "Expertise", GOSSIP_SENDER_MAIN, 167);
  372.                     player->ADD_GOSSIP_ITEM(1, "Greater Stats", GOSSIP_SENDER_MAIN, 168);
  373.                     player->ADD_GOSSIP_ITEM(1, "Exceptional Intellect", GOSSIP_SENDER_MAIN, 169);
  374.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Arcane Resist", GOSSIP_SENDER_MAIN, 170);
  375.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Fire Resist", GOSSIP_SENDER_MAIN, 171);
  376.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Frost Resist", GOSSIP_SENDER_MAIN, 172);
  377.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Nature Resist", GOSSIP_SENDER_MAIN, 173);
  378.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Shadow Resist", GOSSIP_SENDER_MAIN, 174);
  379.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Attack power", GOSSIP_SENDER_MAIN, 175);
  380.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Stamina", GOSSIP_SENDER_MAIN, 176);
  381.                     player->ADD_GOSSIP_ITEM(1, "Fur Lining - Spellpower", GOSSIP_SENDER_MAIN, 177);
  382.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  383.                     player->PlayerTalkClass->SendGossipMenu(100009, creature->GetGUID());
  384.                     return true;
  385.                     break;
  386.  
  387.                 case 9: //Enchant Gloves
  388.                     player->ADD_GOSSIP_ITEM(1, "Greater Blasting", GOSSIP_SENDER_MAIN, 178);
  389.                     player->ADD_GOSSIP_ITEM(1, "Armsman", GOSSIP_SENDER_MAIN, 179);
  390.                     player->ADD_GOSSIP_ITEM(1, "Crusher", GOSSIP_SENDER_MAIN, 180);
  391.                     player->ADD_GOSSIP_ITEM(1, "Agility", GOSSIP_SENDER_MAIN, 181);
  392.                     player->ADD_GOSSIP_ITEM(1, "Precision", GOSSIP_SENDER_MAIN, 182);
  393.                     player->ADD_GOSSIP_ITEM(1, "Expertise", GOSSIP_SENDER_MAIN, 183);
  394.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  395.                     player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
  396.                     return true;
  397.                     break;
  398.  
  399.                 case 10: //Enchant legs
  400.                     player->ADD_GOSSIP_ITEM(1, "Earthen Leg Armor", GOSSIP_SENDER_MAIN, 184);
  401.                     player->ADD_GOSSIP_ITEM(1, "Frosthide Leg Armor", GOSSIP_SENDER_MAIN, 185);
  402.                     player->ADD_GOSSIP_ITEM(1, "Icescale Leg Armor", GOSSIP_SENDER_MAIN, 186);
  403.                     player->ADD_GOSSIP_ITEM(1, "Brilliant Spellthread", GOSSIP_SENDER_MAIN, 187);
  404.                     player->ADD_GOSSIP_ITEM(1, "Sapphire Spellthread", GOSSIP_SENDER_MAIN, 188);
  405.                     player->ADD_GOSSIP_ITEM(1, "Dragonscale Leg Armor", GOSSIP_SENDER_MAIN, 189);
  406.                     player->ADD_GOSSIP_ITEM(1, "Wyrmscale Leg Armor", GOSSIP_SENDER_MAIN, 190);
  407.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  408.                     player->PlayerTalkClass->SendGossipMenu(100011, creature->GetGUID());
  409.                     return true;
  410.                     break;
  411.  
  412.                 case 11: //Enchant feet
  413.                     player->ADD_GOSSIP_ITEM(1, "Greater Assult", GOSSIP_SENDER_MAIN, 191);
  414.                     player->ADD_GOSSIP_ITEM(1, "Tuskars Vitliaty", GOSSIP_SENDER_MAIN, 192);
  415.                     player->ADD_GOSSIP_ITEM(1, "Superior Agility", GOSSIP_SENDER_MAIN, 193);
  416.                     player->ADD_GOSSIP_ITEM(1, "Greater Spirit", GOSSIP_SENDER_MAIN, 194);
  417.                     player->ADD_GOSSIP_ITEM(1, "Greater Vitality", GOSSIP_SENDER_MAIN, 195);
  418.                     player->ADD_GOSSIP_ITEM(1, "Icewalker", GOSSIP_SENDER_MAIN, 196);
  419.                     player->ADD_GOSSIP_ITEM(1, "Greater Fortitude", GOSSIP_SENDER_MAIN, 197);
  420.                     player->ADD_GOSSIP_ITEM(1, "Nitro Boots", GOSSIP_SENDER_MAIN, 198);
  421.                     player->ADD_GOSSIP_ITEM(1, "Hand-Mounted Pyro Rocket", GOSSIP_SENDER_MAIN, 199);
  422.                     player->ADD_GOSSIP_ITEM(1, "Hyperspeed Accedlerators", GOSSIP_SENDER_MAIN, 200);
  423.                     player->ADD_GOSSIP_ITEM(1, "Reticulated Armor Webbing", GOSSIP_SENDER_MAIN, 201);
  424.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  425.                     player->PlayerTalkClass->SendGossipMenu(100012, creature->GetGUID());
  426.                     return true;
  427.                     break;
  428.  
  429.                 case 12: //Enchant rings
  430.                     player->ADD_GOSSIP_ITEM(1, "Assult", GOSSIP_SENDER_MAIN, 202);
  431.                     player->ADD_GOSSIP_ITEM(1, "Greater Spell Power", GOSSIP_SENDER_MAIN, 203);
  432.                     player->ADD_GOSSIP_ITEM(1, "Stamina", GOSSIP_SENDER_MAIN, 204);
  433.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  434.                     player->PlayerTalkClass->SendGossipMenu(100013, creature->GetGUID());
  435.                     return true;
  436.                     break;
  437.  
  438.                 case 13: //Enchant Off-Hand weapons
  439.                     {
  440.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  441.  
  442.                         if(!item)
  443.                         {
  444.                             player->GetSession()->SendNotification("This enchant needs a one-hand weapon equipped in the off-hand.");
  445.                             player->PlayerTalkClass->SendCloseGossip();
  446.                             return false;
  447.                         }
  448.  
  449.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  450.                         {
  451.                             player->ADD_GOSSIP_ITEM(1, "Blade Ward", GOSSIP_SENDER_MAIN, 205);
  452.                             player->ADD_GOSSIP_ITEM(1, "Blood Draining", GOSSIP_SENDER_MAIN, 219);
  453.                             player->ADD_GOSSIP_ITEM(1, "Exceptional Agility", GOSSIP_SENDER_MAIN, 206);
  454.                             player->ADD_GOSSIP_ITEM(1, "Exceptional Spirit", GOSSIP_SENDER_MAIN, 207);
  455.                             player->ADD_GOSSIP_ITEM(1, "Berserking", GOSSIP_SENDER_MAIN, 208);
  456.                             player->ADD_GOSSIP_ITEM(1, "Accuracy", GOSSIP_SENDER_MAIN, 209);
  457.                             player->ADD_GOSSIP_ITEM(1, "Black Magic", GOSSIP_SENDER_MAIN, 210);
  458.                             player->ADD_GOSSIP_ITEM(1, "Battlemaster", GOSSIP_SENDER_MAIN, 211);
  459.                             player->ADD_GOSSIP_ITEM(1, "Icebreaker", GOSSIP_SENDER_MAIN, 212);
  460.                             player->ADD_GOSSIP_ITEM(1, "Lifeward", GOSSIP_SENDER_MAIN, 213);
  461.                             player->ADD_GOSSIP_ITEM(1, "Titanguard", GOSSIP_SENDER_MAIN, 214);
  462.                             player->ADD_GOSSIP_ITEM(1, "Superior Potency", GOSSIP_SENDER_MAIN, 215);
  463.                             player->ADD_GOSSIP_ITEM(1, "Mighty Spellpower", GOSSIP_SENDER_MAIN, 216);
  464.                             player->ADD_GOSSIP_ITEM(1, "Mongoose", GOSSIP_SENDER_MAIN, 217);
  465.                             player->ADD_GOSSIP_ITEM(1, "Executioner", GOSSIP_SENDER_MAIN, 218);
  466.                             player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  467.                             player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
  468.                             return true;
  469.                         }
  470.                         else
  471.                         {
  472.                             player->GetSession()->SendNotification("Your Off-Hand is not a weapon.");
  473.                             player->PlayerTalkClass->SendCloseGossip();
  474.                         }
  475.                     }
  476.                     break;
  477.  
  478.                 case 14: //Remove enchant menu
  479.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Main-hand", GOSSIP_SENDER_MAIN, 400);
  480.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Off-hand", GOSSIP_SENDER_MAIN, 401);
  481.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Head", GOSSIP_SENDER_MAIN, 402);
  482.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Shoulders", GOSSIP_SENDER_MAIN, 403);
  483.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Cloak", GOSSIP_SENDER_MAIN, 404);
  484.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Chest", GOSSIP_SENDER_MAIN, 405);
  485.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Bracers", GOSSIP_SENDER_MAIN, 406);
  486.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Gloves", GOSSIP_SENDER_MAIN, 407);
  487.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Legs", GOSSIP_SENDER_MAIN, 408);
  488.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Feet", GOSSIP_SENDER_MAIN, 409);
  489.                     player->ADD_GOSSIP_ITEM(1, "Remove enchant on Rings", GOSSIP_SENDER_MAIN, 409);
  490.                     player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  491.                     player->PlayerTalkClass->SendGossipMenu(100014, creature->GetGUID());
  492.                     return true;
  493.                     break;
  494.  
  495.                 case 100:
  496.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AGILITY_1H);
  497.                     player->PlayerTalkClass->SendCloseGossip();
  498.                     break;
  499.  
  500.                 case 101:
  501.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_SPIRIT);
  502.                     player->PlayerTalkClass->SendCloseGossip();
  503.                     break;
  504.  
  505.                 case 102:
  506.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLADE_WARD);
  507.                     player->PlayerTalkClass->SendCloseGossip();
  508.                     break;
  509.  
  510.                 case 103:
  511.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLOOD_DRAINING);
  512.                     player->PlayerTalkClass->SendCloseGossip();
  513.                     break;
  514.  
  515.                 case 104:
  516.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BERSERKING);
  517.                     player->PlayerTalkClass->SendCloseGossip();
  518.                     break;
  519.  
  520.                 case 105:
  521.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ACCURACY);
  522.                     player->PlayerTalkClass->SendCloseGossip();
  523.                     break;
  524.  
  525.                 case 106:
  526.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLACK_MAGIC);
  527.                     player->PlayerTalkClass->SendCloseGossip();
  528.                     break;
  529.  
  530.                 case 107:
  531.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BATTLEMASTER);
  532.                     player->PlayerTalkClass->SendCloseGossip();
  533.                     break;
  534.  
  535.                 case 108:
  536.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ICEBREAKER);
  537.                     player->PlayerTalkClass->SendCloseGossip();
  538.                     break;
  539.  
  540.                 case 109:
  541.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_LIFEWARD);
  542.                     player->PlayerTalkClass->SendCloseGossip();
  543.                     break;
  544.  
  545.                 case 110:
  546.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_TITANGUARD);
  547.                     player->PlayerTalkClass->SendCloseGossip();
  548.                     break;
  549.  
  550.                 case 111:
  551.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_POTENCY);
  552.                     player->PlayerTalkClass->SendCloseGossip();
  553.                     break;
  554.  
  555.                 case 112:
  556.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_MIGHTY_SPELL_POWER);
  557.                     player->PlayerTalkClass->SendCloseGossip();
  558.                     break;
  559.  
  560.                 case 113:
  561.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_MONGOOSE);
  562.                     player->PlayerTalkClass->SendCloseGossip();
  563.                     break;
  564.  
  565.                 case 114:
  566.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_EXECUTIONER);
  567.                     player->PlayerTalkClass->SendCloseGossip();
  568.                     break;
  569.  
  570.                 case 115:
  571.                     {
  572.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  573.  
  574.                         if (!item)
  575.                         {
  576.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  577.                             player->PlayerTalkClass->SendCloseGossip();
  578.                             return false;
  579.                         }
  580.  
  581.                         if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  582.                         {
  583.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_GREATER_SPELL_POWER);
  584.                             player->PlayerTalkClass->SendCloseGossip();
  585.                         }
  586.                         else
  587.                         {
  588.                             player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  589.                             player->PlayerTalkClass->SendCloseGossip();
  590.                         }
  591.                     }
  592.                     break;
  593.  
  594.                 case 116:
  595.                     {
  596.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  597.  
  598.                         if (!item)
  599.                         {
  600.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  601.                             player->PlayerTalkClass->SendCloseGossip();
  602.                             return false;
  603.                         }
  604.  
  605.                         if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  606.                         {
  607.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_AGILITY);
  608.                             player->PlayerTalkClass->SendCloseGossip();
  609.                         }
  610.                         else
  611.                         {
  612.                             player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  613.                             player->PlayerTalkClass->SendCloseGossip();
  614.                         }
  615.                     }
  616.                     break;
  617.  
  618.                 case 117:
  619.                     {
  620.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  621.  
  622.                         if (!item)
  623.                         {
  624.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  625.                             player->PlayerTalkClass->SendCloseGossip();
  626.                             return false;
  627.                         }
  628.  
  629.                         if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  630.                         {
  631.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_MASSACRE);
  632.                             player->PlayerTalkClass->SendCloseGossip();
  633.                         }
  634.                         else
  635.                         {
  636.                             player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  637.                             player->PlayerTalkClass->SendCloseGossip();
  638.                         }
  639.                     }
  640.                     break;
  641.  
  642.                 case 118:
  643.                     {
  644.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  645.  
  646.                         if(!item)
  647.                         {
  648.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  649.                             player->PlayerTalkClass->SendCloseGossip();
  650.                             return false;
  651.                         }
  652.  
  653.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  654.                         {
  655.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_DEFENSE);
  656.                             player->PlayerTalkClass->SendCloseGossip();
  657.                         }
  658.                         else
  659.                         {
  660.                             player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  661.                             player->PlayerTalkClass->SendCloseGossip();
  662.                         }                      
  663.                     }
  664.                     break;
  665.  
  666.                 case 119:
  667.                     {
  668.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  669.  
  670.                         if(!item)
  671.                         {
  672.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  673.                             player->PlayerTalkClass->SendCloseGossip();
  674.                             return false;
  675.                         }
  676.  
  677.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  678.                         {
  679.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_INTELLECT);
  680.                             player->PlayerTalkClass->SendCloseGossip();
  681.                         }
  682.                         else
  683.                         {
  684.                             player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  685.                             player->PlayerTalkClass->SendCloseGossip();
  686.                         }
  687.                     }
  688.                     break;
  689.  
  690.                 case 120:
  691.                     {
  692.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  693.  
  694.                         if(!item)
  695.                         {
  696.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  697.                             player->PlayerTalkClass->SendCloseGossip();
  698.                             return false;
  699.                         }
  700.  
  701.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  702.                         {
  703.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_RESILIENCE);
  704.                             player->PlayerTalkClass->SendCloseGossip();
  705.                         }
  706.                         else
  707.                         {
  708.                             player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  709.                             player->PlayerTalkClass->SendCloseGossip();
  710.                         }
  711.                     }
  712.                     break;
  713.  
  714.                 case 121:
  715.                     {
  716.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  717.  
  718.                         if(!item)
  719.                         {
  720.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  721.                             player->PlayerTalkClass->SendCloseGossip();
  722.                             return false;
  723.                         }
  724.  
  725.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  726.                         {
  727.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_TITANIUM_PLATING);
  728.                             player->PlayerTalkClass->SendCloseGossip();
  729.                         }
  730.                         else
  731.                         {
  732.                             player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  733.                             player->PlayerTalkClass->SendCloseGossip();
  734.                         }
  735.                     }
  736.                     break;
  737.  
  738.                 case 122:
  739.                     {
  740.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  741.  
  742.                         if(!item)
  743.                         {
  744.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  745.                             player->PlayerTalkClass->SendCloseGossip();
  746.                             return false;
  747.                         }
  748.  
  749.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  750.                         {
  751.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_STAMINA);
  752.                             player->PlayerTalkClass->SendCloseGossip();
  753.                         }
  754.                         else
  755.                         {
  756.                             player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  757.                             player->PlayerTalkClass->SendCloseGossip();
  758.                         }
  759.                     }
  760.                     break;
  761.  
  762.                 case 123:
  763.                     {
  764.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  765.  
  766.                         if(!item)
  767.                         {
  768.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  769.                             player->PlayerTalkClass->SendCloseGossip();
  770.                             return false;
  771.                         }
  772.  
  773.                         if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  774.                         {
  775.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_TOUGHSHIELD);
  776.                             player->PlayerTalkClass->SendCloseGossip();
  777.                         }
  778.                         else
  779.                         {
  780.                             player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  781.                             player->PlayerTalkClass->SendCloseGossip();
  782.                         }
  783.                     }
  784.                     break;
  785.  
  786.                 case 124:
  787.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_BLISSFUL_MENDING);
  788.                     player->PlayerTalkClass->SendCloseGossip();
  789.                     break;
  790.  
  791.                 case 125:
  792.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_BURNING_MYSTERIES);
  793.                     player->PlayerTalkClass->SendCloseGossip();
  794.                     break;
  795.  
  796.                 case 126:
  797.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_DOMINANCE);
  798.                     player->PlayerTalkClass->SendCloseGossip();
  799.                     break;
  800.  
  801.                 case 127:
  802.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_SAVAGE_GLADIATOR);
  803.                     player->PlayerTalkClass->SendCloseGossip();
  804.                     break;
  805.  
  806.                 case 128:
  807.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_STALWART_PROTECTOR);
  808.                     player->PlayerTalkClass->SendCloseGossip();
  809.                     break;
  810.  
  811.                 case 129:
  812.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_TORMENT);
  813.                     player->PlayerTalkClass->SendCloseGossip();
  814.                     break;
  815.  
  816.                 case 130:
  817.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_TRIUMPH);
  818.                     player->PlayerTalkClass->SendCloseGossip();
  819.                     break;
  820.  
  821.                 case 131:
  822.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_ECLIPSED_MOON);
  823.                     player->PlayerTalkClass->SendCloseGossip();
  824.                     break;
  825.  
  826.                 case 132:
  827.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_FLAME_SOUL);
  828.                     player->PlayerTalkClass->SendCloseGossip();
  829.                     break;
  830.  
  831.                 case 133:
  832.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_FLEEING_SHADOW);
  833.                     player->PlayerTalkClass->SendCloseGossip();
  834.                     break;
  835.  
  836.                 case 134:
  837.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_FROSTY_SOUL);
  838.                     player->PlayerTalkClass->SendCloseGossip();
  839.                     break;
  840.  
  841.                 case 135:
  842.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_TOXIC_WARDING);
  843.                     player->PlayerTalkClass->SendCloseGossip();
  844.                     break;
  845.  
  846.                 case 136:
  847.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_AXE);
  848.                     player->PlayerTalkClass->SendCloseGossip();
  849.                     break;
  850.  
  851.                 case 137:
  852.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_CRAG);
  853.                     player->PlayerTalkClass->SendCloseGossip();
  854.                     break;
  855.  
  856.                 case 138:
  857.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_PINNACLE);
  858.                     player->PlayerTalkClass->SendCloseGossip();
  859.                     break;
  860.  
  861.                 case 139:
  862.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_STORM);
  863.                     player->PlayerTalkClass->SendCloseGossip();
  864.                     break;
  865.  
  866.                 case 140:
  867.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_AXE);
  868.                     player->PlayerTalkClass->SendCloseGossip();
  869.                     break;
  870.  
  871.                 case 141:
  872.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_CRAG);
  873.                     player->PlayerTalkClass->SendCloseGossip();
  874.                     break;
  875.  
  876.                 case 142:
  877.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_GLADIATOR);
  878.                     player->PlayerTalkClass->SendCloseGossip();
  879.                     break;
  880.  
  881.                 case 143:
  882.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_PINNACLE);
  883.                     player->PlayerTalkClass->SendCloseGossip();
  884.                     break;
  885.  
  886.                 case 144:
  887.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_STORM);
  888.                     player->PlayerTalkClass->SendCloseGossip();
  889.                     break;
  890.  
  891.                 case 145:
  892.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_DOMINANCE);
  893.                     player->PlayerTalkClass->SendCloseGossip();
  894.                     break;
  895.  
  896.                 case 146:
  897.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_TRIUMPH);
  898.                     player->PlayerTalkClass->SendCloseGossip();
  899.                     break;
  900.  
  901.                 case 147:
  902.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE);
  903.                     player->PlayerTalkClass->SendCloseGossip();
  904.                     break;
  905.  
  906.                 case 148:
  907.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SHADOW_ARMOR);
  908.                     player->PlayerTalkClass->SendCloseGossip();
  909.                     break;
  910.  
  911.                 case 149:
  912.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_DARKGLOW_EMBROIDERY);
  913.                     player->PlayerTalkClass->SendCloseGossip();
  914.                     break;
  915.  
  916.                 case 150:
  917.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY);
  918.                     player->PlayerTalkClass->SendCloseGossip();
  919.                     break;
  920.  
  921.                 case 151:
  922.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY);
  923.                     player->PlayerTalkClass->SendCloseGossip();
  924.                     break;
  925.  
  926.                 case 152:
  927.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_WISDOM);
  928.                     player->PlayerTalkClass->SendCloseGossip();
  929.                     break;
  930.  
  931.                 case 153:
  932.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_TITANWEAVE);
  933.                     player->PlayerTalkClass->SendCloseGossip();
  934.                     break;
  935.  
  936.                 case 154:
  937.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SPELL_PIERCING);
  938.                     player->PlayerTalkClass->SendCloseGossip();
  939.                     break;
  940.  
  941.                 case 155:
  942.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_MIGHTY_ARMOR);
  943.                     player->PlayerTalkClass->SendCloseGossip();
  944.                     break;
  945.  
  946.                 case 156:
  947.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_MAJOR_AGILITY);
  948.                     player->PlayerTalkClass->SendCloseGossip();
  949.                     break;
  950.  
  951.                 case 157:
  952.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_GREATER_SPEED);
  953.                     player->PlayerTalkClass->SendCloseGossip();
  954.                     break;
  955.  
  956.                 case 158:
  957.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_POWERFUL_STATS);
  958.                     player->PlayerTalkClass->SendCloseGossip();
  959.                     break;
  960.  
  961.                 case 159:
  962.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_SUPER_HEALTH);
  963.                     player->PlayerTalkClass->SendCloseGossip();
  964.                     break;
  965.  
  966.                 case 160:
  967.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_MAINA_REST);
  968.                     player->PlayerTalkClass->SendCloseGossip();
  969.                     break;
  970.  
  971.                 case 161:
  972.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXCEPTIONAL_RESIL);
  973.                     player->PlayerTalkClass->SendCloseGossip();
  974.                     break;
  975.  
  976.                 case 162:
  977.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_DEFENSE);
  978.                     player->PlayerTalkClass->SendCloseGossip();
  979.                     break;
  980.  
  981.                 case 163:
  982.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MAJOR_STAMINA);
  983.                     player->PlayerTalkClass->SendCloseGossip();
  984.                     break;
  985.  
  986.                 case 164:
  987.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_SUPERIOR_SP);
  988.                     player->PlayerTalkClass->SendCloseGossip();
  989.                     break;
  990.  
  991.                 case 165:
  992.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_ASSUALT);
  993.                     player->PlayerTalkClass->SendCloseGossip();
  994.                     break;
  995.  
  996.                 case 166:
  997.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MAJOR_SPIRT);
  998.                     player->PlayerTalkClass->SendCloseGossip();
  999.                     break;
  1000.  
  1001.                 case 167:
  1002.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_EXPERTISE);
  1003.                     player->PlayerTalkClass->SendCloseGossip();
  1004.                     break;
  1005.  
  1006.                 case 168:
  1007.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_STATS);
  1008.                     player->PlayerTalkClass->SendCloseGossip();
  1009.                     break;
  1010.  
  1011.                 case 169:
  1012.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_INTELLECT);
  1013.                     player->PlayerTalkClass->SendCloseGossip();
  1014.                     break;
  1015.  
  1016.                 case 170:
  1017.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_ARCANE);
  1018.                     player->PlayerTalkClass->SendCloseGossip();
  1019.                     break;
  1020.  
  1021.                 case 171:
  1022.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_FIRE);
  1023.                     player->PlayerTalkClass->SendCloseGossip();
  1024.                     break;
  1025.  
  1026.                 case 172:
  1027.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_FROST);
  1028.                     player->PlayerTalkClass->SendCloseGossip();
  1029.                     break;
  1030.  
  1031.                 case 173:
  1032.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_NATURE);
  1033.                     player->PlayerTalkClass->SendCloseGossip();
  1034.                     break;
  1035.  
  1036.                 case 174:
  1037.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_SHADOW);
  1038.                     player->PlayerTalkClass->SendCloseGossip();
  1039.                     break;
  1040.  
  1041.                 case 175:
  1042.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_ATTACK);
  1043.                     player->PlayerTalkClass->SendCloseGossip();
  1044.                     break;
  1045.  
  1046.                 case 176:
  1047.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_STAMINA);
  1048.                     player->PlayerTalkClass->SendCloseGossip();
  1049.                     break;
  1050.  
  1051.                 case 177:
  1052.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_SPELLPOWER);
  1053.                     player->PlayerTalkClass->SendCloseGossip();
  1054.                     break;
  1055.  
  1056.                 case 178:
  1057.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_GREATER_BLASTING);
  1058.                     player->PlayerTalkClass->SendCloseGossip();
  1059.                     break;
  1060.  
  1061.                 case 179:
  1062.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_ARMSMAN);
  1063.                     player->PlayerTalkClass->SendCloseGossip();
  1064.                     break;
  1065.  
  1066.                 case 180:
  1067.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_CRUSHER);
  1068.                     player->PlayerTalkClass->SendCloseGossip();
  1069.                     break;
  1070.  
  1071.                 case 181:
  1072.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_AGILITY);
  1073.                     player->PlayerTalkClass->SendCloseGossip();
  1074.                     break;
  1075.  
  1076.                 case 182:
  1077.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_PRECISION);
  1078.                     player->PlayerTalkClass->SendCloseGossip();
  1079.                     break;
  1080.  
  1081.                 case 183:
  1082.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_EXPERTISE);
  1083.                     player->PlayerTalkClass->SendCloseGossip();
  1084.                     break;
  1085.  
  1086.                 case 184:
  1087.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_EARTHEN);
  1088.                     player->PlayerTalkClass->SendCloseGossip();
  1089.                     break;
  1090.  
  1091.                 case 185:
  1092.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_FROSTHIDE);
  1093.                     player->PlayerTalkClass->SendCloseGossip();
  1094.                     break;
  1095.  
  1096.                 case 186:
  1097.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_ICESCALE);
  1098.                     player->PlayerTalkClass->SendCloseGossip();
  1099.                     break;
  1100.  
  1101.                 case 187:
  1102.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_BRILLIANT_SPELLTHREAD);
  1103.                     player->PlayerTalkClass->SendCloseGossip();
  1104.                     break;
  1105.  
  1106.                 case 188:
  1107.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_SAPPHIRE_SPELLTHREAD);
  1108.                     player->PlayerTalkClass->SendCloseGossip();
  1109.                     break;
  1110.  
  1111.                 case 189:
  1112.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_DRAGONSCALE);
  1113.                     player->PlayerTalkClass->SendCloseGossip();
  1114.                     break;
  1115.  
  1116.                 case 190:
  1117.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_WYRMSCALE);
  1118.                     player->PlayerTalkClass->SendCloseGossip();
  1119.                     break;
  1120.  
  1121.                 case 191:
  1122.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_ASSULT);
  1123.                     player->PlayerTalkClass->SendCloseGossip();
  1124.                     break;
  1125.  
  1126.                 case 192:
  1127.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_TUSKARS_VITLIATY);
  1128.                     player->PlayerTalkClass->SendCloseGossip();
  1129.                     break;
  1130.  
  1131.                 case 193:
  1132.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_SUPERIOR_AGILITY);
  1133.                     player->PlayerTalkClass->SendCloseGossip();
  1134.                     break;
  1135.  
  1136.                 case 194:
  1137.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_SPIRIT);
  1138.                     player->PlayerTalkClass->SendCloseGossip();
  1139.                     break;
  1140.  
  1141.                 case 195:
  1142.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_VITALITY);
  1143.                     player->PlayerTalkClass->SendCloseGossip();
  1144.                     break;
  1145.  
  1146.                 case 196:
  1147.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ICEWALKER);
  1148.                     player->PlayerTalkClass->SendCloseGossip();
  1149.                     break;
  1150.  
  1151.                 case 197:
  1152.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_FORTITUDE);
  1153.                     player->PlayerTalkClass->SendCloseGossip();
  1154.                     break;
  1155.  
  1156.                 case 198:
  1157.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_NITRO_BOOTS);
  1158.                     player->PlayerTalkClass->SendCloseGossip();
  1159.                     break;
  1160.  
  1161.                 case 199:
  1162.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_PYRO_ROCKET);
  1163.                     player->PlayerTalkClass->SendCloseGossip();
  1164.                     break;
  1165.  
  1166.                 case 200:
  1167.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_HYPERSPEED);
  1168.                     player->PlayerTalkClass->SendCloseGossip();
  1169.                     break;
  1170.  
  1171.                 case 201:
  1172.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ARMOR_WEBBING);
  1173.                     player->PlayerTalkClass->SendCloseGossip();
  1174.                     break;
  1175.  
  1176.                 case 202:
  1177.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_ASSULT);
  1178.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_ASSULT);
  1179.                     player->PlayerTalkClass->SendCloseGossip();
  1180.                     break;
  1181.  
  1182.                 case 203:
  1183.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_GREATER_SP);
  1184.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_GREATER_SP);
  1185.                     player->PlayerTalkClass->SendCloseGossip();
  1186.                     break;
  1187.  
  1188.                 case 204:
  1189.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_STAMINA);
  1190.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_STAMINA);
  1191.                     player->PlayerTalkClass->SendCloseGossip();
  1192.                     break;
  1193.  
  1194.                 case 205:
  1195.                     {
  1196.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1197.  
  1198.                         if(!item)
  1199.                         {
  1200.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1201.                             player->PlayerTalkClass->SendCloseGossip();
  1202.                             return false;
  1203.                         }
  1204.  
  1205.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1206.                         {
  1207.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_BLADE_WARD);
  1208.                             player->PlayerTalkClass->SendCloseGossip();
  1209.                         }
  1210.                         else
  1211.                         {
  1212.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1213.                             player->PlayerTalkClass->SendCloseGossip();
  1214.                         }
  1215.                     }
  1216.                     break;
  1217.  
  1218.                 case 206:
  1219.                     {
  1220.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1221.  
  1222.                         if(!item)
  1223.                         {
  1224.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1225.                             player->PlayerTalkClass->SendCloseGossip();
  1226.                             return false;
  1227.                         }
  1228.  
  1229.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1230.                         {
  1231.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_AGILITY_1H);
  1232.                             player->PlayerTalkClass->SendCloseGossip();
  1233.                         }
  1234.                         else
  1235.                         {
  1236.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1237.                             player->PlayerTalkClass->SendCloseGossip();
  1238.                         }
  1239.                     }
  1240.                     break;
  1241.  
  1242.                 case 207:
  1243.                     {
  1244.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1245.  
  1246.                         if(!item)
  1247.                         {
  1248.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1249.                             player->PlayerTalkClass->SendCloseGossip();
  1250.                             return false;
  1251.                         }
  1252.                        
  1253.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1254.                         {
  1255.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_SPIRIT);
  1256.                             player->PlayerTalkClass->SendCloseGossip();
  1257.                         }
  1258.                         else
  1259.                         {
  1260.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1261.                             player->PlayerTalkClass->SendCloseGossip();
  1262.                         }
  1263.                     }
  1264.                     break;
  1265.  
  1266.                 case 208:
  1267.                     {
  1268.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1269.  
  1270.                         if(!item)
  1271.                         {
  1272.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1273.                             player->PlayerTalkClass->SendCloseGossip();
  1274.                             return false;
  1275.                         }
  1276.  
  1277.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1278.                         {
  1279.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_BERSERKING);
  1280.                             player->PlayerTalkClass->SendCloseGossip();
  1281.                         }
  1282.                         else
  1283.                         {
  1284.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1285.                             player->PlayerTalkClass->SendCloseGossip();
  1286.                         }
  1287.                     }
  1288.                     break;
  1289.  
  1290.                 case 209:
  1291.                     {
  1292.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1293.  
  1294.                         if(!item)
  1295.                         {
  1296.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1297.                             player->PlayerTalkClass->SendCloseGossip();
  1298.                             return false;
  1299.                         }
  1300.                        
  1301.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1302.                         {
  1303.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_ACCURACY);
  1304.                             player->PlayerTalkClass->SendCloseGossip();
  1305.                         }
  1306.                         else
  1307.                         {
  1308.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1309.                             player->PlayerTalkClass->SendCloseGossip();
  1310.                         }
  1311.                     }
  1312.                     break;
  1313.  
  1314.                 case 210:
  1315.                     {
  1316.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1317.  
  1318.                         if(!item)
  1319.                         {
  1320.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1321.                             player->PlayerTalkClass->SendCloseGossip();
  1322.                             return false;
  1323.                         }
  1324.                        
  1325.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1326.                         {
  1327.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_BLACK_MAGIC);
  1328.                             player->PlayerTalkClass->SendCloseGossip();
  1329.                         }
  1330.                         else
  1331.                         {
  1332.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1333.                             player->PlayerTalkClass->SendCloseGossip();
  1334.                         }
  1335.                     }
  1336.                     break;
  1337.  
  1338.                 case 211:
  1339.                     {
  1340.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1341.  
  1342.                         if(!item)
  1343.                         {
  1344.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1345.                             player->PlayerTalkClass->SendCloseGossip();
  1346.                             return false;
  1347.                         }
  1348.                        
  1349.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1350.                         {
  1351.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_BATTLEMASTER);
  1352.                             player->PlayerTalkClass->SendCloseGossip();
  1353.                         }
  1354.                         else
  1355.                         {
  1356.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1357.                             player->PlayerTalkClass->SendCloseGossip();
  1358.                         }
  1359.                     }
  1360.                     break;
  1361.  
  1362.                 case 212:
  1363.                     {
  1364.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1365.  
  1366.                         if(!item)
  1367.                         {
  1368.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1369.                             player->PlayerTalkClass->SendCloseGossip();
  1370.                             return false;
  1371.                         }
  1372.                        
  1373.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1374.                         {
  1375.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_ICEBREAKER);
  1376.                             player->PlayerTalkClass->SendCloseGossip();
  1377.                         }
  1378.                         else
  1379.                         {
  1380.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1381.                             player->PlayerTalkClass->SendCloseGossip();
  1382.                         }
  1383.                     }
  1384.                     break;
  1385.  
  1386.                 case 213:
  1387.                     {
  1388.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1389.  
  1390.                         if(!item)
  1391.                         {
  1392.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1393.                             player->PlayerTalkClass->SendCloseGossip();
  1394.                             return false;
  1395.                         }
  1396.                        
  1397.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1398.                         {
  1399.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_LIFEWARD);
  1400.                             player->PlayerTalkClass->SendCloseGossip();
  1401.                         }
  1402.                         else
  1403.                         {
  1404.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1405.                             player->PlayerTalkClass->SendCloseGossip();
  1406.                         }
  1407.                     }
  1408.                     break;
  1409.  
  1410.                 case 214:
  1411.                     {
  1412.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1413.  
  1414.                         if(!item)
  1415.                         {
  1416.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1417.                             player->PlayerTalkClass->SendCloseGossip();
  1418.                             return false;
  1419.                         }
  1420.                        
  1421.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1422.                         {
  1423.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_TITANGUARD);
  1424.                             player->PlayerTalkClass->SendCloseGossip();
  1425.                         }
  1426.                         else
  1427.                         {
  1428.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1429.                             player->PlayerTalkClass->SendCloseGossip();
  1430.                         }
  1431.                     }
  1432.                     break;
  1433.  
  1434.                 case 215:
  1435.                     {
  1436.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1437.  
  1438.                         if(!item)
  1439.                         {
  1440.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1441.                             player->PlayerTalkClass->SendCloseGossip();
  1442.                             return false;
  1443.                         }
  1444.                        
  1445.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1446.                         {
  1447.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_POTENCY);
  1448.                             player->PlayerTalkClass->SendCloseGossip();
  1449.                         }
  1450.                         else
  1451.                         {
  1452.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1453.                             player->PlayerTalkClass->SendCloseGossip();
  1454.                         }
  1455.                     }
  1456.                     break;
  1457.  
  1458.                 case 216:
  1459.                     {
  1460.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1461.  
  1462.                         if(!item)
  1463.                         {
  1464.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1465.                             player->PlayerTalkClass->SendCloseGossip();
  1466.                             return false;
  1467.                         }
  1468.                        
  1469.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1470.                         {
  1471.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_MIGHTY_SPELL_POWER);
  1472.                             player->PlayerTalkClass->SendCloseGossip();
  1473.                         }
  1474.                         else
  1475.                         {
  1476.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1477.                             player->PlayerTalkClass->SendCloseGossip();
  1478.                         }
  1479.                     }
  1480.                     break;
  1481.  
  1482.                 case 217:
  1483.                     {
  1484.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1485.  
  1486.                         if(!item)
  1487.                         {
  1488.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1489.                             player->PlayerTalkClass->SendCloseGossip();
  1490.                             return false;
  1491.                         }
  1492.                        
  1493.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1494.                         {
  1495.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_2WEP_MONGOOSE);
  1496.                             player->PlayerTalkClass->SendCloseGossip();
  1497.                         }
  1498.                         else
  1499.                         {
  1500.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1501.                             player->PlayerTalkClass->SendCloseGossip();
  1502.                         }
  1503.                     }
  1504.                     break;
  1505.  
  1506.                 case 218:
  1507.                     {
  1508.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1509.  
  1510.                         if(!item)
  1511.                         {
  1512.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1513.                             player->PlayerTalkClass->SendCloseGossip();
  1514.                             return false;
  1515.                         }
  1516.                        
  1517.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1518.                         {
  1519.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_EXECUTIONER);
  1520.                             player->PlayerTalkClass->SendCloseGossip();
  1521.                         }
  1522.                         else
  1523.                         {
  1524.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1525.                             player->PlayerTalkClass->SendCloseGossip();
  1526.                         }
  1527.                     }
  1528.                     break;
  1529.  
  1530.                 case 219:
  1531.                     {
  1532.                         item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1533.  
  1534.                         if(!item)
  1535.                         {
  1536.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1537.                             player->PlayerTalkClass->SendCloseGossip();
  1538.                             return false;
  1539.                         }
  1540.                        
  1541.                         if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1542.                         {
  1543.                             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_BLOOD_DRAINING);
  1544.                             player->PlayerTalkClass->SendCloseGossip();
  1545.                         }
  1546.                         else
  1547.                         {
  1548.                             player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1549.                             player->PlayerTalkClass->SendCloseGossip();
  1550.                         }
  1551.                     }
  1552.                     break;
  1553.  
  1554.                 case 300: //<-Back menu
  1555.                     {
  1556.                         player->ADD_GOSSIP_ITEM(1, "Enchant Weapon", GOSSIP_SENDER_MAIN, 1);
  1557.                         player->ADD_GOSSIP_ITEM(1, "Enchant Off-Hand Weapon", GOSSIP_SENDER_MAIN, 13);
  1558.                         player->ADD_GOSSIP_ITEM(1, "Enchant 2H Weapon", GOSSIP_SENDER_MAIN, 2);
  1559.                         player->ADD_GOSSIP_ITEM(1, "Enchant Shield", GOSSIP_SENDER_MAIN, 3);
  1560.                         player->ADD_GOSSIP_ITEM(1, "Enchant Head", GOSSIP_SENDER_MAIN, 4);
  1561.                         player->ADD_GOSSIP_ITEM(1, "Enchant Shoulders", GOSSIP_SENDER_MAIN, 5);
  1562.                         player->ADD_GOSSIP_ITEM(1, "Enchant Cloak", GOSSIP_SENDER_MAIN, 6);
  1563.                         player->ADD_GOSSIP_ITEM(1, "Enchant Chest", GOSSIP_SENDER_MAIN, 7);
  1564.                         player->ADD_GOSSIP_ITEM(1, "Enchant Bracers", GOSSIP_SENDER_MAIN, 8);
  1565.                         player->ADD_GOSSIP_ITEM(1, "Enchant Gloves", GOSSIP_SENDER_MAIN, 9);
  1566.                         player->ADD_GOSSIP_ITEM(1, "Enchant Legs", GOSSIP_SENDER_MAIN, 10);
  1567.                         player->ADD_GOSSIP_ITEM(1, "Enchant Feet", GOSSIP_SENDER_MAIN, 11);
  1568.  
  1569.                         if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
  1570.                         {
  1571.                             player->ADD_GOSSIP_ITEM(1, "Enchant Rings", GOSSIP_SENDER_MAIN, 12);
  1572.                         }
  1573.                         player->ADD_GOSSIP_ITEM(1, "I wish to remove my enchant", GOSSIP_SENDER_MAIN, 14);
  1574.                         player->ADD_GOSSIP_ITEM(4, "Nevermind", GOSSIP_SENDER_MAIN, 15);
  1575.  
  1576.                         player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
  1577.                         return true;
  1578.                     }
  1579.                         break;
  1580.  
  1581.                 case 400: //Remove enchant for mainhand
  1582.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND));
  1583.                     player->PlayerTalkClass->SendCloseGossip();
  1584.                     break;
  1585.  
  1586.                 case 401: //Remove enchant for offhand
  1587.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND));
  1588.                     player->PlayerTalkClass->SendCloseGossip();
  1589.                     break;
  1590.  
  1591.                 case 402: //Remove enchant for head
  1592.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD));
  1593.                     player->PlayerTalkClass->SendCloseGossip();
  1594.                     break;
  1595.  
  1596.                 case 403: //Remove enchant for shoulders
  1597.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS));
  1598.                     player->PlayerTalkClass->SendCloseGossip();
  1599.                     break;
  1600.  
  1601.                 case 404: //remove enchant for cloak
  1602.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK));
  1603.                     player->PlayerTalkClass->SendCloseGossip();
  1604.                     break;
  1605.  
  1606.                 case 405: //remove enchant for chest
  1607.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST));
  1608.                     player->PlayerTalkClass->SendCloseGossip();
  1609.                     break;
  1610.  
  1611.                 case 406: //remove enchant for bracers
  1612.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS));
  1613.                     player->PlayerTalkClass->SendCloseGossip();
  1614.                     break;
  1615.  
  1616.                 case 407: //remove enchant for gloves
  1617.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS));
  1618.                     player->PlayerTalkClass->SendCloseGossip();
  1619.                     break;
  1620.  
  1621.                 case 408: //remove enchant for legs
  1622.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS));
  1623.                     player->PlayerTalkClass->SendCloseGossip();
  1624.                     break;
  1625.  
  1626.                 case 409: //remove enchant for feet
  1627.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET));
  1628.                     player->PlayerTalkClass->SendCloseGossip();
  1629.                     break;
  1630.  
  1631.                 case 410:
  1632.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1));
  1633.                     RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2));
  1634.                     player->PlayerTalkClass->SendCloseGossip();
  1635.                     break;
  1636.  
  1637.             }
  1638.            
  1639.             return true;
  1640.         }
  1641.    
  1642.  
  1643. };
  1644.  
  1645. void AddSC_npc_enchantment()
  1646. {
  1647.   new npc_enchantment();
  1648. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement