Advertisement
Guest User

Untitled

a guest
Mar 20th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 41.49 KB | None | 0 0
  1.  
  2.  
  3. enum Enchants
  4. {
  5.     ENCHANT_WEP_FIERY = 803,
  6.     ENCHANT_WEP_ICEY = 1894,
  7.     ENCHANT_WEP_SPELLPOWER = 2504,
  8.     ENCHANT_WEP_SPIRIT = 2567,
  9.     ENCHANT_WEP_CRUSADER = 1900,
  10.     ENCHANT_WEP_AGILITY1H = 2564,
  11.     ENCHANT_WEP_LIFESTEALING = 1898,
  12.     ENCHANT_WEP_STRENGTH = 2563,
  13.     ENCHANT_WEP_INTELLECT = 2568,
  14.     ENCHANT_WEP_DAMAGE = 1897,
  15.     ENCHANT_2WEP_FIERY = 803,
  16.     ENCHANT_2WEP_ICEY = 1894,
  17.     ENCHANT_2WEP_CRUSADER = 1900,
  18.     ENCHANT_2WEP_SPELLPOWER = 2504,
  19.     ENCHANT_2WEP_AGILITY = 2646,
  20.     ENCHANT_2WEP_LIFESTEALING = 1898,
  21.     ENCHANT_2WEP_DAMAGE = 1896,
  22.     ENCHANT_2WEP_HASTE = 34,
  23.  
  24.     ENCHANT_SHIELD_PROTECTION = 848,
  25.     ENCHANT_SHIELD_VITALITY = 1890,
  26.     ENCHANT_SHIELD_BLOCK = 1984,
  27.     ENCHANT_SHIELD_SPIKE = 2714,
  28.     ENCHANT_SHIELD_SPIRIT = 4741,
  29.     ENCHANT_SHIELD_STAM = 929,
  30.  
  31.     ENCHANT_CLOAK_DODGE = 2622,
  32.     ENCHANT_CLOAK_ARMOR = 1889,
  33.     ENCHANT_CLOAK_SUBLETY = 2621,
  34.     ENCHANT_CLOAK_FIRE = 2619,
  35.     ENCHANT_CLOAK_AGILITY = 2893,
  36.     ENCHANT_CLOAK_STEALTH = 910,
  37.     ENCHANT_CLOAK_NATURE = 2620,
  38.     ENCHANT_CLOAK_RESIST = 1888,
  39.     ENCHANT_CLOAK_SHADOW = 804,
  40.  
  41.     ENCHANT_GLOVES_STRENGTH = 927,
  42.     ENCHANT_GLOVES_HASTE = 931,
  43.     ENCHANT_GLOVES_SHADOW = 2614,
  44.     ENCHANT_GLOVES_HEALING = 2320,
  45.     ENCHANT_GLOVES_AGILITY = 883,
  46.     ENCHANT_GLOVES_FIRE = 2616,
  47.     ENCHANT_GLOVES_FROST = 2615,
  48.  
  49.     ENCHANT_BRACERS_INTELLECT = 1883,
  50.     ENCHANT_BRACERS_STAM = 1885,
  51.     ENCHANT_BRACERS_STRENGTH = 1886,
  52.     ENCHANT_BRACERS_MP = 2565,
  53.     ENCHANT_BRACERS_DEFLECTION = 923,
  54.     ENCHANT_BRACERS_HEALING = 2319,
  55.     ENCHANT_BRACERS_AGILITY = 247,
  56.  
  57.     ENCHANT_CHEST_ABSORB = 63,
  58.     ENCHANT_CHEST_MANA = 1893,
  59.     ENCHANT_CHEST_HEALTH = 1892,
  60.     ENCHANT_CHEST_STATS = 1891,
  61.     ENCHANT_CHEST_EXC_HEALTH = 2659,
  62.     ENCHANT_CHEST_EXC_MANA = 2660,
  63.     ENCHANT_CHEST_MP = 3150,
  64.     ENCHANT_CHEST_GREATER_STATS = 2661,
  65.  
  66.     ENCHANT_BOOTS_SPEED = 911,
  67.     ENCHANT_BOOTS_SPIRIT = 851,
  68.     ENCHANT_BOOTS_AGILITY = 1887,
  69.     ENCHANT_BOOTS_ACCURACY = 3858,
  70.     ENCHANT_BOOTS_STAM = 929,
  71.  
  72.     ENCHANT_LEGARMOR = 1843,
  73.  
  74.     ENCHANT_SCOPE = 32,
  75.  
  76. };
  77.  
  78. #include "ScriptPCH.h"
  79.  
  80. void Enchant(Player* player, Item* item, uint32 enchantid)
  81. {
  82.     if (!item)
  83.     {
  84.         player->GetSession()->SendNotification("You must equip the item you would like to enchant, in order to enchant it!");
  85.         return;
  86.     }
  87.  
  88.     if (!enchantid)
  89.     {
  90.         player->GetSession()->SendNotification("Something blew up! Sorry for the inconvenience, we'll send the troubleshooting gnomes right on it.");
  91.         return;
  92.     }
  93.     player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, false);
  94.     item->SetEnchantment(PERM_ENCHANTMENT_SLOT, enchantid, 0, 0);
  95.     player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, true);
  96.     player->GetSession()->SendNotification("|cff800080%s |cffFF0000 Successfully enchanted!", item->GetTemplate()->Name1.c_str());
  97. }
  98.  
  99. void RemoveEnchant(Player* player, Item* item)
  100. {
  101.     if (!item)
  102.     {
  103.         player->GetSession()->SendNotification("You don't have the item equipped.");
  104.         return;
  105.     }
  106.  
  107.     item->ClearEnchantment(PERM_ENCHANTMENT_SLOT);
  108. }
  109.  
  110. class enchanter : public CreatureScript
  111. {
  112. public:
  113.     enchanter() : CreatureScript("enchanter") { }
  114.  
  115.     bool OnGossipHello(Player* player, Creature* creature)
  116.     {
  117.         player->PlayerTalkClass->ClearMenus();
  118.         player->ADD_GOSSIP_ITEM(1, "Cloak", GOSSIP_SENDER_MAIN, 6);
  119.         player->ADD_GOSSIP_ITEM(1, "Chest", GOSSIP_SENDER_MAIN, 7);
  120.         player->ADD_GOSSIP_ITEM(1, "Bracers", GOSSIP_SENDER_MAIN, 8);
  121.         player->ADD_GOSSIP_ITEM(1, "Gloves", GOSSIP_SENDER_MAIN, 9);
  122.         player->ADD_GOSSIP_ITEM(1, "Boots", GOSSIP_SENDER_MAIN, 11);
  123.         player->ADD_GOSSIP_ITEM(1, "Weapons: MH/2H", GOSSIP_SENDER_MAIN, 1);
  124.         player->ADD_GOSSIP_ITEM(1, "Weapons: OH", GOSSIP_SENDER_MAIN, 13);
  125.         //player->ADD_GOSSIP_ITEM(1, "2H Weapon", GOSSIP_SENDER_MAIN, 2);
  126.         player->ADD_GOSSIP_ITEM(1, "Shield", GOSSIP_SENDER_MAIN, 3);
  127.         player->ADD_GOSSIP_ITEM(1, "Legs (+40 Armour)", GOSSIP_SENDER_MAIN, 215);
  128.         player->ADD_GOSSIP_ITEM(1, "Standard Scope (+2 damage)", GOSSIP_SENDER_MAIN, 226);
  129.         //player->ADD_GOSSIP_ITEM(1, "I would like to remove an enchantment.", GOSSIP_SENDER_MAIN, 14);
  130.  
  131.         player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
  132.         return true;
  133.     }
  134.  
  135.     bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
  136.     {
  137.         player->PlayerTalkClass->ClearMenus();
  138.         Item * item;
  139.  
  140.         switch (action)
  141.         {
  142.  
  143.         case 1: // Enchant Weapon
  144.  
  145.             player->PlayerTalkClass->ClearMenus();
  146.             player->ADD_GOSSIP_ITEM(1, "2H: +25 Agility", GOSSIP_SENDER_MAIN, 115);
  147.             player->ADD_GOSSIP_ITEM(1, "2H: +9 Damage", GOSSIP_SENDER_MAIN, 212);
  148.             player->ADD_GOSSIP_ITEM(1, "2H: Iron Counterweight", GOSSIP_SENDER_MAIN, 214);
  149.             player->ADD_GOSSIP_ITEM(1, "+15 Agility", GOSSIP_SENDER_MAIN, 108);
  150.             player->ADD_GOSSIP_ITEM(1, "+15 Strength", GOSSIP_SENDER_MAIN, 109);
  151.             player->ADD_GOSSIP_ITEM(1, "+30 Spell Power", GOSSIP_SENDER_MAIN, 106);
  152.             player->ADD_GOSSIP_ITEM(1, "+22 Intellect", GOSSIP_SENDER_MAIN, 110);
  153.             player->ADD_GOSSIP_ITEM(1, "+20 Spirit", GOSSIP_SENDER_MAIN, 101);
  154.             player->ADD_GOSSIP_ITEM(1, "Crusader", GOSSIP_SENDER_MAIN, 105);
  155.             player->ADD_GOSSIP_ITEM(1, "Icy Weapon", GOSSIP_SENDER_MAIN, 100);
  156.             player->ADD_GOSSIP_ITEM(1, "Lifestealing", GOSSIP_SENDER_MAIN, 107);
  157.             player->ADD_GOSSIP_ITEM(1, "Fiery Weapon", GOSSIP_SENDER_MAIN, 104);
  158.             player->ADD_GOSSIP_ITEM(1, "+5 Weapon Damage", GOSSIP_SENDER_MAIN, 213);
  159.             //player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  160.             player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
  161.             break;
  162.  
  163.         case 2: // Enchant 2H Weapon
  164.         {
  165.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  166.  
  167.             if (!item)
  168.             {
  169.                 player->GetSession()->SendNotification("You must equip a Two-Handed weapon first.");
  170.                 MainMenu(player, creature);
  171.                 return false;
  172.             }
  173.  
  174.             if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  175.             {
  176.                 player->ADD_GOSSIP_ITEM(1, "Crusader", GOSSIP_SENDER_MAIN, 105);
  177.                 player->ADD_GOSSIP_ITEM(1, "2H Agility (+25 Agility)", GOSSIP_SENDER_MAIN, 115);
  178.                 player->ADD_GOSSIP_ITEM(1, "Fiery Weapon", GOSSIP_SENDER_MAIN, 116);
  179.                 player->ADD_GOSSIP_ITEM(1, "Icy Weapon", GOSSIP_SENDER_MAIN, 117);
  180.                 player->ADD_GOSSIP_ITEM(1, "Spell power (+30 Spell Power)", GOSSIP_SENDER_MAIN, 106);
  181.                 player->ADD_GOSSIP_ITEM(1, "Lifestealing", GOSSIP_SENDER_MAIN, 107);
  182.                 player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  183.                 player->PlayerTalkClass->SendGossipMenu(100003, creature->GetGUID());
  184.                 return true;
  185.             }
  186.             else
  187.             {
  188.                 player->GetSession()->SendNotification("You don't have a Two-Handed weapon equipped.");
  189.                 MainMenu(player, creature);
  190.             }
  191.         }
  192.         break;
  193.  
  194.         case 3: // Enchant Shield
  195.         {
  196.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  197.  
  198.             if (!item)
  199.             {
  200.                 player->GetSession()->SendNotification("You must equip a shield first.");
  201.                 MainMenu(player, creature);
  202.                 return false;
  203.             }
  204.  
  205.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  206.             {
  207.                 //player->ADD_GOSSIP_ITEM(1, "+30 Armor", GOSSIP_SENDER_MAIN, 118);
  208.                 player->ADD_GOSSIP_ITEM(1, "+4 Mana and Health Per 5", GOSSIP_SENDER_MAIN, 119);
  209.                 player->ADD_GOSSIP_ITEM(1, "+10 Block Rating", GOSSIP_SENDER_MAIN, 120);
  210.                 player->ADD_GOSSIP_ITEM(1, "26-38 Damage on Block", GOSSIP_SENDER_MAIN, 121);
  211.                 player->ADD_GOSSIP_ITEM(1, "+7 Spirit", GOSSIP_SENDER_MAIN, 122);
  212.                 player->ADD_GOSSIP_ITEM(1, "+7 Stamina", GOSSIP_SENDER_MAIN, 123);
  213.                 //player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  214.                 player->PlayerTalkClass->SendGossipMenu(100004, creature->GetGUID());
  215.                 return true;
  216.             }
  217.             else
  218.             {
  219.                 player->GetSession()->SendNotification("You do not have a shield equipped.");
  220.                 MainMenu(player, creature);
  221.             }
  222.         }
  223.         break;
  224.  
  225.         case 6: // Enchant Cloak
  226.             player->ADD_GOSSIP_ITEM(1, "+10 Shadow Resistance", GOSSIP_SENDER_MAIN, 155);
  227.             player->ADD_GOSSIP_ITEM(1, "+15 Fire Resistance", GOSSIP_SENDER_MAIN, 150);
  228.             player->ADD_GOSSIP_ITEM(1, "+15 Nature Resistance", GOSSIP_SENDER_MAIN, 153);
  229.             player->ADD_GOSSIP_ITEM(1, "+5 All Resistances", GOSSIP_SENDER_MAIN, 154);
  230.             player->ADD_GOSSIP_ITEM(1, "+12 Dodge Rating", GOSSIP_SENDER_MAIN, 147);
  231.             player->ADD_GOSSIP_ITEM(1, "+70 Armor", GOSSIP_SENDER_MAIN, 148);
  232.             player->ADD_GOSSIP_ITEM(1, "+3 Agility", GOSSIP_SENDER_MAIN, 151);
  233.             player->ADD_GOSSIP_ITEM(1, "Increased Stealth", GOSSIP_SENDER_MAIN, 152);
  234.             //player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  235.             player->PlayerTalkClass->SendGossipMenu(100007, creature->GetGUID());
  236.             return true;
  237.             break;
  238.  
  239.         case 7: //Enchant chest
  240.             //player->ADD_GOSSIP_ITEM(1, "Lesser Absorption", GOSSIP_SENDER_MAIN, 158);
  241.             player->ADD_GOSSIP_ITEM(1, "+4 All Stats", GOSSIP_SENDER_MAIN, 161);
  242.             player->ADD_GOSSIP_ITEM(1, "+100 Health", GOSSIP_SENDER_MAIN, 160);
  243.             player->ADD_GOSSIP_ITEM(1, "+100 Mana", GOSSIP_SENDER_MAIN, 159);
  244.             player->ADD_GOSSIP_ITEM(1, "+6 All Stats", GOSSIP_SENDER_MAIN, 211);
  245.             player->ADD_GOSSIP_ITEM(1, "+150 Health", GOSSIP_SENDER_MAIN, 162);
  246.             player->ADD_GOSSIP_ITEM(1, "+150 Mana", GOSSIP_SENDER_MAIN, 209);
  247.             player->ADD_GOSSIP_ITEM(1, "7 Mana Per 5", GOSSIP_SENDER_MAIN, 210);
  248.             //player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  249.             player->PlayerTalkClass->SendGossipMenu(100008, creature->GetGUID());
  250.             return true;
  251.             break;
  252.  
  253.         case 8: //Enchant Bracers
  254.             player->ADD_GOSSIP_ITEM(1, "+9 Stamina", GOSSIP_SENDER_MAIN, 165);
  255.             player->ADD_GOSSIP_ITEM(1, "+9 Strength", GOSSIP_SENDER_MAIN, 164);
  256.             player->ADD_GOSSIP_ITEM(1, "+7 Intellect", GOSSIP_SENDER_MAIN, 163);
  257.             player->ADD_GOSSIP_ITEM(1, "+5 Mana Per 5", GOSSIP_SENDER_MAIN, 166);
  258.             //player->ADD_GOSSIP_ITEM(1, "Deflection", GOSSIP_SENDER_MAIN, 167);
  259.             player->ADD_GOSSIP_ITEM(1, "+15 Spell Power", GOSSIP_SENDER_MAIN, 168);
  260.             //player->ADD_GOSSIP_ITEM(1, "Minor Agility", GOSSIP_SENDER_MAIN, 169);
  261.             //player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  262.             player->PlayerTalkClass->SendGossipMenu(100009, creature->GetGUID());
  263.             return true;
  264.             break;
  265.  
  266.         case 9: //Enchant Gloves
  267.             player->ADD_GOSSIP_ITEM(1, "+10 Haste", GOSSIP_SENDER_MAIN, 185);
  268.             player->ADD_GOSSIP_ITEM(1, "+20 Fire Power", GOSSIP_SENDER_MAIN, 183);
  269.             player->ADD_GOSSIP_ITEM(1, "+20 Frost Power", GOSSIP_SENDER_MAIN, 184);
  270.             player->ADD_GOSSIP_ITEM(1, "+20 Shadow Power", GOSSIP_SENDER_MAIN, 180);
  271.             player->ADD_GOSSIP_ITEM(1, "+16 Spell Power", GOSSIP_SENDER_MAIN, 181);
  272.             player->ADD_GOSSIP_ITEM(1, "+15 Agility", GOSSIP_SENDER_MAIN, 182);
  273.             player->ADD_GOSSIP_ITEM(1, "+7 Strength", GOSSIP_SENDER_MAIN, 178);
  274.             //player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  275.             player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
  276.             return true;
  277.             break;
  278.  
  279.         case 11: //Enchant feet
  280.             player->ADD_GOSSIP_ITEM(1, "Minor Speed", GOSSIP_SENDER_MAIN, 191);
  281.             player->ADD_GOSSIP_ITEM(1, "+7 Stamina", GOSSIP_SENDER_MAIN, 195);
  282.             player->ADD_GOSSIP_ITEM(1, "+7 Agility", GOSSIP_SENDER_MAIN, 193);
  283.             player->ADD_GOSSIP_ITEM(1, "+5 Hit Rating", GOSSIP_SENDER_MAIN, 194);
  284.             //            player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  285.             player->PlayerTalkClass->SendGossipMenu(100012, creature->GetGUID());
  286.             return true;
  287.             break;
  288.  
  289.  
  290.  
  291.         case 13: //Enchant Off-Hand weapons
  292.         {
  293.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  294.  
  295.             if (!item)
  296.  
  297.             {
  298.                 player->GetSession()->SendNotification("You must equip a weapon in your Off-hand");
  299.                 MainMenu(player, creature);
  300.                 return false;
  301.             }
  302.             else if (item->GetTemplate()->InventoryType == INVTYPE_WEAPONOFFHAND || INVTYPE_WEAPONMAINHAND)
  303.             {
  304.                 player->ADD_GOSSIP_ITEM(1, "+15 Agility", GOSSIP_SENDER_MAIN, 221);
  305.                 player->ADD_GOSSIP_ITEM(1, "+15 Strength", GOSSIP_SENDER_MAIN, 222);
  306.                 player->ADD_GOSSIP_ITEM(1, "+30 Spell Power", GOSSIP_SENDER_MAIN, 219);
  307.                 player->ADD_GOSSIP_ITEM(1, "+22 Intellect", GOSSIP_SENDER_MAIN, 223);
  308.                 player->ADD_GOSSIP_ITEM(1, "+20 Spirit", GOSSIP_SENDER_MAIN, 216);
  309.                 player->ADD_GOSSIP_ITEM(1, "Crusader", GOSSIP_SENDER_MAIN, 218);
  310.                 player->ADD_GOSSIP_ITEM(1, "Icy Weapon", GOSSIP_SENDER_MAIN, 224);
  311.                 player->ADD_GOSSIP_ITEM(1, "Lifestealing", GOSSIP_SENDER_MAIN, 220);
  312.                 player->ADD_GOSSIP_ITEM(1, "Fiery Weapon", GOSSIP_SENDER_MAIN, 217);
  313.                 player->ADD_GOSSIP_ITEM(1, "+5 Weapon Damage", GOSSIP_SENDER_MAIN, 225);
  314.                 player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
  315.                 return true;
  316.             }
  317.             else
  318.             {
  319.                 player->GetSession()->SendNotification("Your Off-Hand is not a weapon.");
  320.                 MainMenu(player, creature);
  321.             }
  322.         }
  323.         break;
  324.  
  325.         case 14: //Remove enchant menu
  326.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Main-hand", GOSSIP_SENDER_MAIN, 400);
  327.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Off-hand", GOSSIP_SENDER_MAIN, 401);
  328.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Cloak", GOSSIP_SENDER_MAIN, 404);
  329.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Chest", GOSSIP_SENDER_MAIN, 405);
  330.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Bracers", GOSSIP_SENDER_MAIN, 406);
  331.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Gloves", GOSSIP_SENDER_MAIN, 407);
  332.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Feet", GOSSIP_SENDER_MAIN, 409);
  333.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Legs", GOSSIP_SENDER_MAIN, 411);
  334.             player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Helm.", GOSSIP_SENDER_MAIN, 412);
  335.             player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
  336.             player->PlayerTalkClass->SendGossipMenu(100014, creature->GetGUID());
  337.             return true;
  338.             break;
  339.  
  340.         case 100:
  341.  
  342.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ICEY);
  343.             MainMenu(player, creature);
  344.             break;
  345.  
  346.         case 101:
  347.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_SPIRIT);
  348.             MainMenu(player, creature);
  349.             break;
  350.  
  351.         case 104:
  352.  
  353.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_FIERY);
  354.             MainMenu(player, creature);
  355.             break;
  356.  
  357.         case 105:
  358.  
  359.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_CRUSADER);
  360.             MainMenu(player, creature);
  361.             break;
  362.  
  363.         case 106:
  364.  
  365.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_SPELLPOWER);
  366.             MainMenu(player, creature);
  367.             break;
  368.  
  369.         case 107:
  370.  
  371.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_LIFESTEALING);
  372.             MainMenu(player, creature);
  373.             break;
  374.  
  375.         case 108:
  376.  
  377.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AGILITY1H);
  378.             MainMenu(player, creature);
  379.             break;
  380.  
  381.         case 109:
  382.  
  383.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_STRENGTH);
  384.             MainMenu(player, creature);
  385.             break;
  386.  
  387.         case 110:
  388.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_INTELLECT);
  389.             MainMenu(player, creature);
  390.             break;
  391.  
  392.  
  393.         case 113:
  394.         {
  395.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  396.  
  397.             if (!item)
  398.             {
  399.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  400.                 MainMenu(player, creature);
  401.                 return false;
  402.             }
  403.  
  404.             if (item)
  405.             {
  406.  
  407.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_CRUSADER);
  408.                 MainMenu(player, creature);
  409.             }
  410.             else
  411.             {
  412.                 player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  413.                 MainMenu(player, creature);
  414.             }
  415.         }
  416.         break;
  417.  
  418.         case 115:
  419.         {
  420.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  421.  
  422.             if (!item)
  423.             {
  424.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  425.                 MainMenu(player, creature);
  426.                 return false;
  427.             }
  428.  
  429.             if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  430.             {
  431.  
  432.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_AGILITY);
  433.                 MainMenu(player, creature);
  434.             }
  435.             else
  436.             {
  437.                 player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  438.                 MainMenu(player, creature);
  439.             }
  440.         }
  441.         break;
  442.  
  443.         case 116:
  444.         {
  445.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  446.  
  447.             if (!item)
  448.             {
  449.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  450.                 MainMenu(player, creature);
  451.                 return false;
  452.             }
  453.  
  454.             if (item)
  455.             {
  456.  
  457.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_FIERY);
  458.                 MainMenu(player, creature);
  459.             }
  460.             else
  461.             {
  462.                 player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  463.                 MainMenu(player, creature);
  464.             }
  465.         }
  466.         break;
  467.  
  468.         case 117:
  469.         {
  470.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  471.  
  472.             if (!item)
  473.             {
  474.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
  475.                 MainMenu(player, creature);
  476.                 return false;
  477.             }
  478.  
  479.             if (item)
  480.             {
  481.  
  482.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_ICEY);
  483.                 MainMenu(player, creature);
  484.             }
  485.             else
  486.             {
  487.                 player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
  488.                 MainMenu(player, creature);
  489.             }
  490.         }
  491.         break;
  492.  
  493.         case 118:
  494.         {
  495.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  496.  
  497.             if (!item)
  498.             {
  499.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  500.                 MainMenu(player, creature);
  501.                 return false;
  502.             }
  503.  
  504.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  505.             {
  506.  
  507.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_PROTECTION);
  508.                 MainMenu(player, creature);
  509.             }
  510.             else
  511.             {
  512.                 player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  513.                 MainMenu(player, creature);
  514.             }
  515.         }
  516.         break;
  517.  
  518.         case 119:
  519.         {
  520.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  521.  
  522.             if (!item)
  523.             {
  524.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  525.                 MainMenu(player, creature);
  526.                 return false;
  527.             }
  528.  
  529.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  530.             {
  531.  
  532.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_VITALITY);
  533.                 MainMenu(player, creature);
  534.             }
  535.             else
  536.             {
  537.                 player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  538.                 MainMenu(player, creature);
  539.             }
  540.         }
  541.         break;
  542.  
  543.         case 120:
  544.         {
  545.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  546.  
  547.             if (!item)
  548.             {
  549.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  550.                 MainMenu(player, creature);
  551.                 return false;
  552.             }
  553.  
  554.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  555.             {
  556.  
  557.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_BLOCK);
  558.                 MainMenu(player, creature);
  559.             }
  560.             else
  561.             {
  562.                 player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  563.                 MainMenu(player, creature);
  564.             }
  565.         }
  566.         break;
  567.  
  568.         case 121:
  569.         {
  570.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  571.  
  572.             if (!item)
  573.             {
  574.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  575.                 MainMenu(player, creature);
  576.                 return false;
  577.             }
  578.  
  579.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  580.             {
  581.  
  582.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_SPIKE);
  583.                 MainMenu(player, creature);
  584.             }
  585.             else
  586.             {
  587.                 player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  588.                 MainMenu(player, creature);
  589.             }
  590.         }
  591.         break;
  592.  
  593.         case 122:
  594.         {
  595.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  596.  
  597.             if (!item)
  598.             {
  599.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  600.                 MainMenu(player, creature);
  601.                 return false;
  602.             }
  603.  
  604.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  605.             {
  606.  
  607.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_SPIRIT);
  608.                 MainMenu(player, creature);
  609.             }
  610.             else
  611.             {
  612.                 player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  613.                 MainMenu(player, creature);
  614.             }
  615.         }
  616.         break;
  617.  
  618.         case 123:
  619.         {
  620.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  621.  
  622.             if (!item)
  623.             {
  624.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
  625.                 MainMenu(player, creature);
  626.                 return false;
  627.             }
  628.  
  629.             if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
  630.             {
  631.  
  632.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_STAM);
  633.                 MainMenu(player, creature);
  634.             }
  635.             else
  636.             {
  637.                 player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
  638.                 MainMenu(player, creature);
  639.             }
  640.         }
  641.         break;
  642.  
  643.  
  644.  
  645.         case 147:
  646.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_DODGE);
  647.             MainMenu(player, creature);
  648.             break;
  649.  
  650.         case 148:
  651.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_ARMOR);
  652.             MainMenu(player, creature);
  653.             break;
  654.  
  655.         case 149:
  656.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SUBLETY);
  657.             MainMenu(player, creature);
  658.             break;
  659.  
  660.         case 150:
  661.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_FIRE);
  662.             MainMenu(player, creature);
  663.             break;
  664.  
  665.         case 151:
  666.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_AGILITY);
  667.             MainMenu(player, creature);
  668.             break;
  669.  
  670.         case 152:
  671.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_STEALTH);
  672.             MainMenu(player, creature);
  673.             break;
  674.  
  675.         case 153:
  676.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_NATURE);
  677.             MainMenu(player, creature);
  678.             break;
  679.  
  680.         case 154:
  681.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_RESIST);
  682.             MainMenu(player, creature);
  683.             break;
  684.  
  685.         case 155:
  686.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SHADOW);
  687.             MainMenu(player, creature);
  688.             break;
  689.  
  690.         case 158:
  691.  
  692.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_ABSORB);
  693.             MainMenu(player, creature);
  694.             break;
  695.  
  696.         case 159:
  697.  
  698.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_MANA);
  699.             MainMenu(player, creature);
  700.             break;
  701.  
  702.         case 160:
  703.  
  704.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_HEALTH);
  705.             MainMenu(player, creature);
  706.             break;
  707.  
  708.         case 161:
  709.  
  710.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_STATS);
  711.             MainMenu(player, creature);
  712.             break;
  713.  
  714.         case 162:
  715.         {
  716.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
  717.             if (item)
  718.             {
  719.                 if (item->GetTemplate()->ItemLevel == 40)
  720.                 {
  721.  
  722.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXC_HEALTH);
  723.                     MainMenu(player, creature);
  724.                 }
  725.                 else
  726.                 {
  727.                     player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  728.                     MainMenu(player, creature);
  729.                 }
  730.             }
  731.             else
  732.             {
  733.                 player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel at 35+!");
  734.                 MainMenu(player, creature);
  735.             }
  736.         }
  737.         break;
  738.  
  739.         case 163:
  740.  
  741.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_INTELLECT);
  742.             MainMenu(player, creature);
  743.             break;
  744.  
  745.         case 164:
  746.  
  747.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_STAM);
  748.             MainMenu(player, creature);
  749.             break;
  750.  
  751.         case 165:
  752.  
  753.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_STRENGTH);
  754.             MainMenu(player, creature);
  755.             break;
  756.  
  757.         case 166:
  758.  
  759.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MP);
  760.             MainMenu(player, creature);
  761.             break;
  762.  
  763.         case 167:
  764.  
  765.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_DEFLECTION);
  766.             MainMenu(player, creature);
  767.             break;
  768.  
  769.         case 168:
  770.  
  771.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_HEALING);
  772.             MainMenu(player, creature);
  773.             break;
  774.  
  775.         case 169:
  776.  
  777.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_AGILITY);
  778.             MainMenu(player, creature);
  779.             break;
  780.  
  781.         case 178:
  782.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_STRENGTH);
  783.             MainMenu(player, creature);
  784.             break;
  785.  
  786.         case 179:
  787.  
  788.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HASTE);
  789.             MainMenu(player, creature);
  790.             break;
  791.  
  792.         case 180:
  793.  
  794.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_SHADOW);
  795.             MainMenu(player, creature);
  796.             break;
  797.  
  798.         case 181:
  799.  
  800.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HEALING);
  801.             MainMenu(player, creature);
  802.             break;
  803.  
  804.         case 182:
  805.  
  806.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_AGILITY);
  807.             MainMenu(player, creature);
  808.             break;
  809.  
  810.         case 183:
  811.  
  812.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_FIRE);
  813.             MainMenu(player, creature);
  814.             break;
  815.  
  816.         case 184:
  817.  
  818.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_FROST);
  819.             MainMenu(player, creature);
  820.             break;
  821.  
  822.         case 185:
  823.  
  824.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HASTE);
  825.             MainMenu(player, creature);
  826.             break;
  827.  
  828.         case 191:
  829.  
  830.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_SPEED);
  831.             MainMenu(player, creature);
  832.             break;
  833.  
  834.         case 192:
  835.  
  836.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_SPIRIT);
  837.             MainMenu(player, creature);
  838.             break;
  839.  
  840.         case 193:
  841.  
  842.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_AGILITY);
  843.             MainMenu(player, creature);
  844.             break;
  845.  
  846.         case 194:
  847.  
  848.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ACCURACY);
  849.             MainMenu(player, creature);
  850.             break;
  851.  
  852.         case 195:
  853.  
  854.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_STAM);
  855.             MainMenu(player, creature);
  856.             break;
  857.  
  858.  
  859.         case 205:
  860.         {
  861.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  862.  
  863.             if (!item)
  864.             {
  865.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  866.                 MainMenu(player, creature);
  867.                 return false;
  868.             }
  869.  
  870.             if (item)
  871.             {
  872.  
  873.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_FIERY);
  874.                 MainMenu(player, creature);
  875.             }
  876.             else
  877.             {
  878.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  879.                 MainMenu(player, creature);
  880.             }
  881.         }
  882.         break;
  883.  
  884.         case 206:
  885.         {
  886.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  887.  
  888.             if (!item)
  889.             {
  890.  
  891.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  892.                 MainMenu(player, creature);
  893.                 return false;
  894.             }
  895.  
  896.             if (item)
  897.             {
  898.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_ICEY);
  899.                 MainMenu(player, creature);
  900.             }
  901.             else
  902.             {
  903.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  904.                 MainMenu(player, creature);
  905.             }
  906.         }
  907.         break;
  908.  
  909.         case 207:
  910.         {
  911.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  912.  
  913.             if (!item)
  914.             {
  915.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  916.                 MainMenu(player, creature);
  917.                 return false;
  918.             }
  919.  
  920.             if (item)
  921.             {
  922.  
  923.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_CRUSADER);
  924.                 MainMenu(player, creature);
  925.             }
  926.             else
  927.             {
  928.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  929.                 MainMenu(player, creature);
  930.             }
  931.         }
  932.         break;
  933.  
  934.         case 208:
  935.         {
  936.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  937.  
  938.             if (!item)
  939.             {
  940.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  941.                 MainMenu(player, creature);
  942.                 return false;
  943.             }
  944.  
  945.             if (item)
  946.             {
  947.                 (player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND));
  948.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_AGILITY1H);
  949.                 MainMenu(player, creature);
  950.             }
  951.             else
  952.             {
  953.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  954.                 MainMenu(player, creature);
  955.             }
  956.         }
  957.         break;
  958.  
  959.         case 209:
  960.         {
  961.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
  962.             if (item)
  963.             {
  964.                 if (item->GetTemplate()->ItemLevel == 40)
  965.                 {
  966.  
  967.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXC_MANA);
  968.                     MainMenu(player, creature);
  969.                 }
  970.                 else
  971.                 {
  972.                     player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  973.                     MainMenu(player, creature);
  974.                 }
  975.             }
  976.             else
  977.             {
  978.                 player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  979.                 MainMenu(player, creature);
  980.             }
  981.         }
  982.         break;
  983.  
  984.         case 210:
  985.         {
  986.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
  987.             if (item)
  988.             {
  989.                 if (item->GetTemplate()->ItemLevel == 40)
  990.                 {
  991.  
  992.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_MP);
  993.                     MainMenu(player, creature);
  994.                 }
  995.                 else
  996.                 {
  997.                     player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  998.                     MainMenu(player, creature);
  999.                 }
  1000.             }
  1001.             else
  1002.             {
  1003.                 player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  1004.                 MainMenu(player, creature);
  1005.             }
  1006.         }
  1007.         break;
  1008.  
  1009.         case 211:
  1010.         {
  1011.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
  1012.  
  1013.             if (item)
  1014.             {
  1015.                 if (item->GetTemplate()->ItemLevel == 40)
  1016.                 {
  1017.  
  1018.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_STATS);
  1019.                     MainMenu(player, creature);
  1020.                 }
  1021.                 else
  1022.                 {
  1023.                     player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  1024.                     MainMenu(player, creature);
  1025.                 }
  1026.             }
  1027.             else
  1028.             {
  1029.                 player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
  1030.                 MainMenu(player, creature);
  1031.             }
  1032.         }
  1033.         break;
  1034.  
  1035.         case 212:
  1036.         {
  1037.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  1038.  
  1039.             if (!item)
  1040.             {
  1041.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a Two-handed weapon equipped.");
  1042.                 MainMenu(player, creature);
  1043.                 return false;
  1044.             }
  1045.             if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  1046.             {
  1047.                 (player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND));
  1048.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AGILITY1H);
  1049.                 MainMenu(player, creature);
  1050.             }
  1051.             else
  1052.             {
  1053.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1054.                 MainMenu(player, creature);
  1055.             }
  1056.         }
  1057.         break;
  1058.  
  1059.         case 213:
  1060.  
  1061.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_DAMAGE);
  1062.             MainMenu(player, creature);
  1063.  
  1064.             break;
  1065.  
  1066.         case 214:
  1067.         {
  1068.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
  1069.  
  1070.             if (!item)
  1071.             {
  1072.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a Two-handed weapon equipped.");
  1073.                 MainMenu(player, creature);
  1074.                 return false;
  1075.             }
  1076.             if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
  1077.             {
  1078.                 (player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND));
  1079.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_HASTE);
  1080.                 MainMenu(player, creature);
  1081.             }
  1082.             else
  1083.             {
  1084.                 player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
  1085.                 MainMenu(player, creature);
  1086.             }
  1087.         }
  1088.         break;
  1089.  
  1090.         case 215:
  1091.             Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEGARMOR);
  1092.             MainMenu(player, creature);
  1093.             break;
  1094.  
  1095.         case 224:
  1096.         {
  1097.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1098.  
  1099.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1100.             {
  1101.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_ICEY);
  1102.                 MainMenu(player, creature);
  1103.             }
  1104.             else
  1105.             {
  1106.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1107.                 MainMenu(player, creature);
  1108.             }
  1109.         }
  1110.         break;
  1111.  
  1112.         case 216:
  1113.         {
  1114.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1115.  
  1116.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1117.             {
  1118.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_SPIRIT);
  1119.                 MainMenu(player, creature);
  1120.             }
  1121.             else
  1122.             {
  1123.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1124.                 MainMenu(player, creature);
  1125.             }
  1126.         }
  1127.         break;
  1128.  
  1129.         case 217:
  1130.  
  1131.         {
  1132.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1133.  
  1134.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1135.             {
  1136.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_FIERY);
  1137.                 MainMenu(player, creature);
  1138.             }
  1139.             else
  1140.             {
  1141.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1142.                 MainMenu(player, creature);
  1143.             }
  1144.         }
  1145.         break;
  1146.  
  1147.         case 218:
  1148.  
  1149.         {
  1150.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1151.  
  1152.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1153.             {
  1154.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_CRUSADER);
  1155.                 MainMenu(player, creature);
  1156.             }
  1157.             else
  1158.             {
  1159.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1160.                 MainMenu(player, creature);
  1161.             }
  1162.         }
  1163.         break;
  1164.  
  1165.         case 219:
  1166.  
  1167.         {
  1168.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1169.  
  1170.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1171.             {
  1172.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_SPELLPOWER);
  1173.                 MainMenu(player, creature);
  1174.             }
  1175.             else
  1176.             {
  1177.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1178.                 MainMenu(player, creature);
  1179.             }
  1180.         }
  1181.         break;
  1182.  
  1183.         case 220:
  1184.  
  1185.         {
  1186.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1187.  
  1188.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1189.             {
  1190.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_LIFESTEALING);
  1191.                 MainMenu(player, creature);
  1192.             }
  1193.             else
  1194.             {
  1195.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1196.                 MainMenu(player, creature);
  1197.             }
  1198.         }
  1199.         break;
  1200.  
  1201.         case 221:
  1202.  
  1203.         {
  1204.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1205.  
  1206.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1207.             {
  1208.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_AGILITY1H);
  1209.                 MainMenu(player, creature);
  1210.             }
  1211.             else
  1212.             {
  1213.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1214.                 MainMenu(player, creature);
  1215.             }
  1216.         }
  1217.         break;
  1218.  
  1219.         case 222:
  1220.  
  1221.         {
  1222.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1223.  
  1224.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1225.             {
  1226.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_STRENGTH);
  1227.                 MainMenu(player, creature);
  1228.             }
  1229.             else
  1230.             {
  1231.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1232.                 MainMenu(player, creature);
  1233.             }
  1234.         }
  1235.         break;
  1236.  
  1237.         case 223:
  1238.         {
  1239.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1240.  
  1241.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1242.             {
  1243.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_INTELLECT);
  1244.                 MainMenu(player, creature);
  1245.             }
  1246.             else
  1247.             {
  1248.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
  1249.                 MainMenu(player, creature);
  1250.             }
  1251.         }
  1252.         break;
  1253.  
  1254.         case 225:
  1255.         {
  1256.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  1257.  
  1258.             if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
  1259.             {
  1260.                 Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_DAMAGE);
  1261.                 MainMenu(player, creature);
  1262.             }
  1263.             else
  1264.             {
  1265.                 player->GetSession()->SendAreaTriggerMessage("This enchant requires a weapon");
  1266.                 MainMenu(player, creature);
  1267.             }
  1268.         }
  1269.         break;
  1270.  
  1271.         case 226:
  1272.         {
  1273.             item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_RANGED);
  1274.            
  1275.             if (item)
  1276.             {
  1277.                 if ((item->GetTemplate()->InventoryType == INVTYPE_THROWN) || item->GetTemplate()->InventoryType == INVTYPE_RANGEDRIGHT)
  1278.                 {
  1279.                     player->GetSession()->SendAreaTriggerMessage("You need a ranged weapon equipped!");
  1280.                     MainMenu(player, creature);
  1281.                 }
  1282.                 else
  1283.                 {
  1284.                     Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_RANGED), ENCHANT_SCOPE);
  1285.                     MainMenu(player, creature);
  1286.                 }
  1287.             }
  1288.                 else
  1289.                 {
  1290.                     player->GetSession()->SendAreaTriggerMessage("You need a ranged weapon equipped!");
  1291.                     MainMenu(player, creature);
  1292.                 }
  1293.             }
  1294.         break;
  1295.  
  1296.         case 300: //<-Back menu
  1297.             player->ADD_GOSSIP_ITEM(1, "Weapon", GOSSIP_SENDER_MAIN, 1);
  1298.             player->ADD_GOSSIP_ITEM(1, "Off-Hand Weapon", GOSSIP_SENDER_MAIN, 13);
  1299.             player->ADD_GOSSIP_ITEM(1, "2H Weapon", GOSSIP_SENDER_MAIN, 2);
  1300.             player->ADD_GOSSIP_ITEM(1, "Shield", GOSSIP_SENDER_MAIN, 3);
  1301.             player->ADD_GOSSIP_ITEM(1, "Cloak", GOSSIP_SENDER_MAIN, 6);
  1302.             player->ADD_GOSSIP_ITEM(1, "Chest", GOSSIP_SENDER_MAIN, 7);
  1303.             player->ADD_GOSSIP_ITEM(1, "Bracers", GOSSIP_SENDER_MAIN, 8);
  1304.             player->ADD_GOSSIP_ITEM(1, "Gloves", GOSSIP_SENDER_MAIN, 9);
  1305.             player->ADD_GOSSIP_ITEM(1, "Feet", GOSSIP_SENDER_MAIN, 11);
  1306.             break;
  1307.  
  1308.         case 400: //Remove enchant for mainhand
  1309.  
  1310.             MainMenu(player, creature);
  1311.             break;
  1312.  
  1313.         case 401: //Remove enchant for offhand
  1314.  
  1315.             MainMenu(player, creature);
  1316.             break;
  1317.  
  1318.         case 404: //remove enchant for cloak
  1319.             RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK));
  1320.             MainMenu(player, creature);
  1321.             break;
  1322.  
  1323.         case 405: //remove enchant for chest
  1324.  
  1325.             MainMenu(player, creature);
  1326.             break;
  1327.  
  1328.         case 406: //remove enchant for bracers
  1329.  
  1330.             MainMenu(player, creature);
  1331.             break;
  1332.  
  1333.         case 407: //remove enchant for gloves
  1334.  
  1335.             MainMenu(player, creature);
  1336.             break;
  1337.  
  1338.  
  1339.         case 409: //remove enchant for feet
  1340.  
  1341.             MainMenu(player, creature);
  1342.             break;
  1343.  
  1344.         }
  1345.         return true;
  1346.     }
  1347.     void MainMenu(Player* player, Creature* creature)
  1348.     {
  1349.         player->PlayerTalkClass->ClearMenus();
  1350.         player->ADD_GOSSIP_ITEM(1, "Cloak", GOSSIP_SENDER_MAIN, 6);
  1351.         player->ADD_GOSSIP_ITEM(1, "Chest", GOSSIP_SENDER_MAIN, 7);
  1352.         player->ADD_GOSSIP_ITEM(1, "Bracers", GOSSIP_SENDER_MAIN, 8);
  1353.         player->ADD_GOSSIP_ITEM(1, "Gloves", GOSSIP_SENDER_MAIN, 9);
  1354.         player->ADD_GOSSIP_ITEM(1, "Boots", GOSSIP_SENDER_MAIN, 11);
  1355.         player->ADD_GOSSIP_ITEM(1, "Weapons: MH/2H", GOSSIP_SENDER_MAIN, 1);
  1356.         player->ADD_GOSSIP_ITEM(1, "Weapons: OH", GOSSIP_SENDER_MAIN, 13);
  1357.         //player->ADD_GOSSIP_ITEM(1, "2H Weapon", GOSSIP_SENDER_MAIN, 2);
  1358.         player->ADD_GOSSIP_ITEM(1, "Shield", GOSSIP_SENDER_MAIN, 3);
  1359.         player->ADD_GOSSIP_ITEM(1, "Legs (+40 Armour)", GOSSIP_SENDER_MAIN, 215);
  1360.         player->ADD_GOSSIP_ITEM(1, "Standard Scope (+2 damage)", GOSSIP_SENDER_MAIN, 226);
  1361.         //player->ADD_GOSSIP_ITEM(1, "I would like to remove an enchantment.", GOSSIP_SENDER_MAIN, 14);
  1362.  
  1363.         player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
  1364.     }
  1365.  
  1366. };
  1367.  
  1368. void AddSC_enchanter()
  1369. {
  1370.     new enchanter();
  1371. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement