WoWCreador

Enchant NPC

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