Advertisement
Guest User

Enchanting NPC

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