示例#1
0
 bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
 {
     player->PlayerTalkClass->ClearMenus();
     switch(sender)
     {
         case GOSSIP_SENDER_MAIN:
             ShowPage(player, 1, action);
             player->SEND_GOSSIP_MENU(1, creature->GetGUID());
             break;
         default:
             if (sender < 100)
             {
                 Enchant(player, sender, action);
                 player->CLOSE_GOSSIP_MENU();
                 break;
             }
             if (sender == 100)
                 OnGossipHello(player, creature);
             else
             {
                 ShowPage(player, sender - 100, action);
                 player->SEND_GOSSIP_MENU(1, creature->GetGUID());
             }
             break;
     }
     return true;
 }
    bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
    {
        int slot = -1;
        bool check_adjacent_slot = true;
        switch (action)
        {
        case -1: // Back
            ShowMainMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 1:
            Show1HWeaponMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 2:
            Show2HWeaponMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 3:
            ShowShieldMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 4:
            ShowHeadMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 5:
            ShowShouldersMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 6:
            ShowCloakMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 7:
            ShowChestMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 8:
            ShowBracerMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 9:
            ShowGlovesMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 10:
            ShowBeltMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 11:
            ShowLegsMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 12:
            ShowBootsMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 13:
            ShowRangedMenu(player, creature);
            break;
        case GOSSIP_ACTION_INFO_DEF + 14:
            ShowRingsMenu(player, creature);
            break;

        // 1H weapons
        case ENCHANT_WEP_BLADE_WARD:
        case ENCHANT_WEP_BLOOD_DRAINING:
        case ENCHANT_WEP_AGILITY_1H:
        case ENCHANT_WEP_SPIRIT:
        case ENCHANT_WEP_BERSERKING:
        case ENCHANT_WEP_ACCURACY:
        case ENCHANT_WEP_BLACK_MAGIC:
        case ENCHANT_WEP_BATTLEMASTER:
        case ENCHANT_WEP_ICEBREAKER:
        case ENCHANT_WEP_LIFEWARD:
        case ENCHANT_WEP_TITANGUARD:
        case ENCHANT_WEP_POTENCY:
        case ENCHANT_WEP_MONGOOSE:
        case ENCHANT_WEP_MIGHTY_SPELL_POWER:
        case ENCHANT_WEP_EXECUTIONER:
        case ENCHANT_WEP_TITANIUM_CHAIN:

        // 2H weapons
        // case ENCHANT_WEP_BERSERKING:
        // case ENCHANT_WEP_MONGOOSE:
        // case ENCHANT_WEP_EXECUTIONER:
        // case ENCHANT_WEP_TITANIUM_CHAIN:
        case ENCHANT_WEP_GREATER_SPELL_POWER:
        case ENCHANT_WEP_AGILITY_2H:
        case ENCHANT_WEP_MASSACRE:

        // Runeforging
        case ENCHANT_WEP_CINDERGLACIER:
        case ENCHANT_WEP_LICHBANE:
        case ENCHANT_WEP_RAZORICE:
        case ENCHANT_WEP_SPELLBREAKING:
        case ENCHANT_WEP_SPELLSHATTERING:
        case ENCHANT_WEP_SWORDBREAKING:
        case ENCHANT_WEP_SWORDSHATTERING:
        case ENCHANT_WEP_FALLEN_CRUSADER:
        case ENCHANT_WEP_NERUBIAN_CARAPACE:
        case ENCHANT_WEP_STONESKIN_GARGOYLE:
            slot = EQUIPMENT_SLOT_MAINHAND;
            break;

        // Shields
        case ENCHANT_SHIELD_DEFENSE:
        case ENCHANT_SHIELD_INTELLECT:
        case ENCHANT_SHIELD_RESILIENCE:
        case ENCHANT_SHIELD_TITANIUM_PLATING:
        case ENCHANT_SHIELD_MAJOR_STAMINA:
        case ENCHANT_SHIELD_TITANIUM_SPIKE:
            slot = EQUIPMENT_SLOT_OFFHAND;
            break;

        // Head
        case ENCHANT_HEAD_BLISSFUL_MENDING:
        case ENCHANT_HEAD_BURNING_MYSTERIES:
        case ENCHANT_HEAD_DOMINANCE:
        case ENCHANT_HEAD_SAVAGE_GLADIATOR:
        case ENCHANT_HEAD_STALWART_PROTECTOR:
        case ENCHANT_HEAD_TORMENT:
        case ENCHANT_HEAD_TRIUMPH:
            slot = EQUIPMENT_SLOT_HEAD;
            break;

        // Shoulders
        case ENCHANT_SHOULDER_MASTERS_AXE:
        case ENCHANT_SHOULDER_MASTERS_CRAG:
        case ENCHANT_SHOULDER_MASTERS_PINNACLE:
        case ENCHANT_SHOULDER_MASTERS_STORM:
        case ENCHANT_SHOULDER_GREATER_AXE:
        case ENCHANT_SHOULDER_GREATER_CRAG:
        case ENCHANT_SHOULDER_GREATER_GLADIATOR:
        case ENCHANT_SHOULDER_GREATER_PINNACLE:
        case ENCHANT_SHOULDER_GREATER_STORM:
        case ENCHANT_SHOULDER_DOMINANCE:
        case ENCHANT_SHOULDER_TRIUMPH:
            slot = EQUIPMENT_SLOT_SHOULDERS;
            break;

        // Cloak
        case ENCHANT_CLOAK_DARKGLOW_EMBROIDERY:
        case ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY:
        case ENCHANT_CLOAK_FLEXWEAVE_UNDERLAY:
        case ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY:
        case ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE:
        case ENCHANT_CLOAK_WISDOM:
        case ENCHANT_CLOAK_TITANWEAVE:
        case ENCHANT_CLOAK_SPELL_PIERCING:
        case ENCHANT_CLOAK_SHADOW_ARMOR:
        case ENCHANT_CLOAK_MIGHTY_ARMOR:
        case ENCHANT_CLOAK_MAJOR_AGILITY:
        case ENCHANT_CLOAK_GREATER_SPEED:
            slot = EQUIPMENT_SLOT_BACK;
            break;

        // Chest
        case ENCHANT_CHEST_EXCEPTIONAL_MANA:
        case ENCHANT_CHEST_GREATER_MANA_RESTO:
        case ENCHANT_CHEST_EXCEPTIONAL_RESILIENCE:
        case ENCHANT_CHEST_SUPER_HEALTH:
        case ENCHANT_CHEST_ALL_STATS:
            slot = EQUIPMENT_SLOT_CHEST;
            break;

        // Bracers
        case ENCHANT_BRACER_GREATER_ASSAULT:
        case ENCHANT_BRACER_EXCEPTIONAL_INTELLECT:
        case ENCHANT_BRACER_MAJOR_SPIRIT:
        case ENCHANT_BRACER_EXPERTISE:
        case ENCHANT_BRACER_GREATER_STATS:
        case ENCHANT_BRACER_SUPERIOR_SPELLPOWER:
        case ENCHANT_BRACER_MAJOR_STAMINA:
        case ENCHANT_BRACER_FUR_LINING_AP:
        case ENCHANT_BRACER_FUR_LINING_STAMINA:
        case ENCHANT_BRACER_FUR_LINING_SP:
        case ENCHANT_BRACER_ARCANE_RESIST:
        case ENCHANT_BRACER_NATURE_RESIST:
        case ENCHANT_BRACER_SHADOW_RESIST:
        case ENCHANT_BRACER_FROST_RESIST:
        case ENCHANT_BRACER_FIRE_RESIST:
        case ENCHANT_BRACER_SOCKET_BRACER:
            slot = EQUIPMENT_SLOT_WRISTS;
            break;

        // Gloves
        case ENCHANT_GLOVES_EXPERTISE:
        case ENCHANT_GLOVES_PRECISION:
        case ENCHANT_GLOVES_GREATER_ASSAULT:
        case ENCHANT_GLOVES_MAJOR_AGILITY:
        case ENCHANT_GLOVES_EXCEPTIONAL_SPELLPOWER:
        case ENCHANT_GLOVES_ARMSMAN:
        case ENCHANT_GLOVES_SOCKET_GLOVES:
        case ENCHANT_GLOVES_PYROROCKET:
        case ENCHANT_GLOVES_HYPERSPEED_ACCELERATORS:
            slot = EQUIPMENT_SLOT_HANDS;
            break;

        // Belt
        case ENCHANT_BELT_ETERNAL_BELT_BUCKLE:
        case ENCHANT_BELT_FRAG_BELT:
            slot = EQUIPMENT_SLOT_WAIST;
            break;

        // Legs
        case ENCHANT_LEGS_FROSTHIDE_ARMOR:
        case ENCHANT_LEGS_ICESCALE_ARMOR:
        case ENCHANT_LEGS_EARTHEN_ARMOR:
        case ENCHANT_LEGS_SAPPHIRE_SPELLTHREAD :
        case ENCHANT_LEGS_BRILLIANT_SPELLTHREAD:
            slot = EQUIPMENT_SLOT_LEGS;
            break;

        // Boots
        case ENCHANT_BOOTS_TUSKARRS_VITALITY:
        case ENCHANT_BOOTS_ICEWALKER:
        case ENCHANT_BOOTS_GREATER_ASSAULT:
        case ENCHANT_BOOTS_GREATER_SPIRIT:
        case ENCHANT_BOOTS_GREATER_FORTITUDE:
        case ENCHANT_BOOTS_SUPERIOR_AGILITY:
        case ENCHANT_BOOTS_NITRO_BOOSTS:
            slot = EQUIPMENT_SLOT_FEET;
            break;

        // Rings
        case ENCHANT_RING_STAMINA:
        case ENCHANT_RING_GREATER_SPELLPOWER:
        case ENCHANT_RING_ASSAULT:
            slot = EQUIPMENT_SLOT_FINGER1;
            break;

        // Ranged weapon
        case ENCHANT_RANGED_HEARTSEEKER_SCOPE:
        case ENCHANT_RANGED_SUN_SCOPE:
            slot = EQUIPMENT_SLOT_RANGED;
            break;

        // Main hand
        case GOSSIP_ACTION_INFO_DEF + 20:
            slot = EQUIPMENT_SLOT_MAINHAND;
            action = selected_enchant;
            check_adjacent_slot = false;
            break;

        // Off hand
        case GOSSIP_ACTION_INFO_DEF + 21:
            slot = EQUIPMENT_SLOT_OFFHAND;
            action = selected_enchant;
            check_adjacent_slot = false;
            break;

        default:
            player->CLOSE_GOSSIP_MENU();
            break;
        }
        if (slot > -1)
        {
            // allows for a maximum of 2 duplicates, and the
            // convenience of using enchant ids as gossip
            // userdata
            if (action < 0)
                action = -action;
            Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot);
            if (!item && slot == INVTYPE_RANGEDRIGHT)
                item   = player->GetItemByPos(INVENTORY_SLOT_BAG_0,
                                              INVTYPE_RANGEDRIGHT);
            if (item && check_adjacent_slot &&
                    item->GetEnchantmentId(PERM_ENCHANTMENT_SLOT) != 0)
            {
                switch (slot)
                {
                case EQUIPMENT_SLOT_MAINHAND:
                {
                    Item* offhand = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
                    if (offhand)
                    {
                        player->PlayerTalkClass->ClearMenus();
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,
                                                item->GetTemplate()->Name1.c_str(),
                                                GOSSIP_SENDER_MAIN,
                                                GOSSIP_ACTION_INFO_DEF + 20);
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,
                                                offhand->GetTemplate()->Name1.c_str(),
                                                GOSSIP_SENDER_MAIN,
                                                GOSSIP_ACTION_INFO_DEF + 21);
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,
                                                "Back",
                                                GOSSIP_SENDER_MAIN, -1);
                        player->SEND_GOSSIP_MENU(1, creature->GetGUID());
                        selected_enchant = action;
                        return true;
                    }
                    break;
                }
                case EQUIPMENT_SLOT_FINGER1:
                {
                    Item* ring2 = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2);
                    if (ring2)
                    {
                        player->PlayerTalkClass->ClearMenus();
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,
                                                item->GetTemplate()->Name1.c_str(),
                                                GOSSIP_SENDER_MAIN,
                                                GOSSIP_ACTION_INFO_DEF + 20);
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,
                                                ring2->GetTemplate()->Name1.c_str(),
                                                GOSSIP_SENDER_MAIN,
                                                GOSSIP_ACTION_INFO_DEF + 21);
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,
                                                "Back",
                                                GOSSIP_SENDER_MAIN, -1);
                        player->SEND_GOSSIP_MENU(1, creature->GetGUID());
                        selected_enchant = action;
                        return true;
                    }
                    break;
                }
                default:
                    break;
                }
            }
            Enchant(player, creature, item, action);
            ShowMainMenu(player, creature);
        }
        return true;
    }
示例#3
0
        bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
        {
			Item * item;
			player->PlayerTalkClass->ClearMenus();

            switch (action)
            {
				case 0: //Welcome message on click
					player->GetSession()->SendAreaTriggerMessage("|cffFF0000Hello there, I will be enchanting your gear!");

				{
					player->ADD_GOSSIP_ITEM(1, "[Welcome to the enchanting NPC!]", GOSSIP_SENDER_MAIN, 0);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Weapon]", GOSSIP_SENDER_MAIN, 1);
					player->ADD_GOSSIP_ITEM(1, "[Enchant 2H Weapon]", GOSSIP_SENDER_MAIN, 2);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Shield]", GOSSIP_SENDER_MAIN, 3);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Head]", GOSSIP_SENDER_MAIN, 4);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Shoulders]", GOSSIP_SENDER_MAIN, 5);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Cloak-]", GOSSIP_SENDER_MAIN, 6);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Chest]", GOSSIP_SENDER_MAIN, 7);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Bracers]", GOSSIP_SENDER_MAIN, 8);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Gloves]", GOSSIP_SENDER_MAIN, 9);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Legs]", GOSSIP_SENDER_MAIN, 10);
					player->ADD_GOSSIP_ITEM(1, "[Enchant Feet]", GOSSIP_SENDER_MAIN, 11);

					if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
						player->ADD_GOSSIP_ITEM(1, "[Enchant Rings]", GOSSIP_SENDER_MAIN, 12);
						
					player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
					return true;
					break;
				}


                case 1: // Enchant Weapon
                    if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
                    {
                        player->ADD_GOSSIP_ITEM(1, "Blade Ward", GOSSIP_SENDER_MAIN, 102);
                        player->ADD_GOSSIP_ITEM(1, "Blood Draining", GOSSIP_SENDER_MAIN, 103);
                    }
                    player->ADD_GOSSIP_ITEM(1, "Exceptional Agility", GOSSIP_SENDER_MAIN, 100);
                    player->ADD_GOSSIP_ITEM(1, "Exceptional Spirit", GOSSIP_SENDER_MAIN, 101);
                    player->ADD_GOSSIP_ITEM(1, "Berserking", GOSSIP_SENDER_MAIN, 104);
                    player->ADD_GOSSIP_ITEM(1, "Accuracy", GOSSIP_SENDER_MAIN, 105);
                    player->ADD_GOSSIP_ITEM(1, "Black Magic", GOSSIP_SENDER_MAIN, 106);
                    player->ADD_GOSSIP_ITEM(1, "Battlemaster", GOSSIP_SENDER_MAIN, 107);
                    player->ADD_GOSSIP_ITEM(1, "Icebreaker", GOSSIP_SENDER_MAIN, 108);
                    player->ADD_GOSSIP_ITEM(1, "Lifeward", GOSSIP_SENDER_MAIN, 109);
                    player->ADD_GOSSIP_ITEM(1, "Titanguard", GOSSIP_SENDER_MAIN, 110);
                    player->ADD_GOSSIP_ITEM(1, "Superior Potency", GOSSIP_SENDER_MAIN, 111);
                    player->ADD_GOSSIP_ITEM(1, "Mighty Spellpower", GOSSIP_SENDER_MAIN, 112);
                    player->ADD_GOSSIP_ITEM(1, "Mongoose", GOSSIP_SENDER_MAIN, 113);
                    player->ADD_GOSSIP_ITEM(1, "Executioner", GOSSIP_SENDER_MAIN, 114);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
                    player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
					return true;
					break;

                case 2: // Enchant 2H Weapon
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
								if (!item)
													{
															creature->MonsterWhisper("This enchant needs a 2H weapon equiped.", player->GetGUID());
															player->CLOSE_GOSSIP_MENU();
														return false;
													}
								if(item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
								{
									player->ADD_GOSSIP_ITEM(1, "Berserking", GOSSIP_SENDER_MAIN, 104);
									player->ADD_GOSSIP_ITEM(1, "Mongoose", GOSSIP_SENDER_MAIN, 113);
									player->ADD_GOSSIP_ITEM(1, "Executioner", GOSSIP_SENDER_MAIN, 114);
									player->ADD_GOSSIP_ITEM(1, "Greater Spellpower", GOSSIP_SENDER_MAIN, 115);
									player->ADD_GOSSIP_ITEM(1, "Major Agility", GOSSIP_SENDER_MAIN, 116);
									player->ADD_GOSSIP_ITEM(1, "Massacre", GOSSIP_SENDER_MAIN, 117);
									player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
								}
								else 
								{
									creature->MonsterWhisper("This enchant needs a 2H weapon equiped.", player->GetGUID());
									player->CLOSE_GOSSIP_MENU();
								}
									player->PlayerTalkClass->SendGossipMenu(100003, creature->GetGUID());
					return true;
					break;

                case 3: // Enchant Shield
						item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
														if (!item)
													{
															creature->MonsterWhisper("This enchant needs a shield equiped.", player->GetGUID());
															player->CLOSE_GOSSIP_MENU();
														return false;
													}
						if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
						{
							player->ADD_GOSSIP_ITEM(1, "Defense", GOSSIP_SENDER_MAIN, 118);
							player->ADD_GOSSIP_ITEM(1, "Greater Intellect", GOSSIP_SENDER_MAIN, 119);
							player->ADD_GOSSIP_ITEM(1, "Resilience", GOSSIP_SENDER_MAIN, 120);
							player->ADD_GOSSIP_ITEM(1, "Titanium Plating", GOSSIP_SENDER_MAIN, 121);
							player->ADD_GOSSIP_ITEM(1, "Major Stamina", GOSSIP_SENDER_MAIN, 122);
							player->ADD_GOSSIP_ITEM(1, "Tough Shield", GOSSIP_SENDER_MAIN, 123);
							player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
						}
						else
						{
							creature->MonsterWhisper("This enchant needs a shield equiped.", player->GetGUID());
							player->CLOSE_GOSSIP_MENU();
						}
							player->PlayerTalkClass->SendGossipMenu(100004, creature->GetGUID());
							return true;
							break;

                case 4: // Enchant Head
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of Blissful Mending", GOSSIP_SENDER_MAIN, 124);
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of Burning Mysteries", GOSSIP_SENDER_MAIN, 125);
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of Dominance", GOSSIP_SENDER_MAIN, 126);
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of The Savage Gladiator", GOSSIP_SENDER_MAIN, 127);
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of The Stalwart Protector", GOSSIP_SENDER_MAIN, 128);
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of Torment", GOSSIP_SENDER_MAIN, 129);
                    player->ADD_GOSSIP_ITEM(1, "Arcanum of Triumph", GOSSIP_SENDER_MAIN, 130);
					player->ADD_GOSSIP_ITEM(1, "Arcanum of Eclipsed Moon", GOSSIP_SENDER_MAIN, 131);
					player->ADD_GOSSIP_ITEM(1, "Arcanum of the Flame's Soul", GOSSIP_SENDER_MAIN, 132);
					player->ADD_GOSSIP_ITEM(1, "Arcanum of the Fleeing Shadow", GOSSIP_SENDER_MAIN, 133);
					player->ADD_GOSSIP_ITEM(1, "Arcanum of the Frosty Soul", GOSSIP_SENDER_MAIN, 134);
					player->ADD_GOSSIP_ITEM(1, "Arcanum of Toxic Warding", GOSSIP_SENDER_MAIN, 135);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
                    player->PlayerTalkClass->SendGossipMenu(100005, creature->GetGUID());
					return true;
					break;

                case 5: // Enchant Shoulders
                    if (player->HasSkill(SKILL_INSCRIPTION) && player->GetSkillValue(SKILL_INSCRIPTION) == 450)
                    {
                        player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Axe", GOSSIP_SENDER_MAIN, 136);
                        player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Crag", GOSSIP_SENDER_MAIN, 137);
                        player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Pinnacle", GOSSIP_SENDER_MAIN, 138);
                        player->ADD_GOSSIP_ITEM(1, "Master's Inscription of the Storm", GOSSIP_SENDER_MAIN, 139);
                    }
                    player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Axe", GOSSIP_SENDER_MAIN, 140);
                    player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Crag", GOSSIP_SENDER_MAIN, 141);
                    player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Pinnacle", GOSSIP_SENDER_MAIN, 142);
                    player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Gladiator", GOSSIP_SENDER_MAIN, 143);
                    player->ADD_GOSSIP_ITEM(1, "Greater Inscription of the Storm", GOSSIP_SENDER_MAIN, 144);
                    player->ADD_GOSSIP_ITEM(1, "Inscription of Dominance", GOSSIP_SENDER_MAIN, 145);
                    player->ADD_GOSSIP_ITEM(1, "Inscription of Triumph", GOSSIP_SENDER_MAIN, 146);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
                    player->PlayerTalkClass->SendGossipMenu(100006, creature->GetGUID());
					return true;
					break;

                case 6: // Enchant Cloak
				 if (player->HasSkill(SKILL_TAILORING) && player->GetSkillValue(SKILL_TAILORING) == 450)
				  {
					player->ADD_GOSSIP_ITEM(1, "Darkglow Embroidery", GOSSIP_SENDER_MAIN, 149);
                    player->ADD_GOSSIP_ITEM(1, "Lightweave Embroidery", GOSSIP_SENDER_MAIN, 150);
                    player->ADD_GOSSIP_ITEM(1, "Swordguard Embroidery", GOSSIP_SENDER_MAIN, 151); 
				  }
				  if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) == 450)
				  {
                    player->ADD_GOSSIP_ITEM(1, "Springy Arachnoweave", GOSSIP_SENDER_MAIN, 147);
				  }
                    player->ADD_GOSSIP_ITEM(1, "Shadow Armor", GOSSIP_SENDER_MAIN, 148);                  
                    player->ADD_GOSSIP_ITEM(1, "Wisdom", GOSSIP_SENDER_MAIN, 152);
                    player->ADD_GOSSIP_ITEM(1, "Titanweave", GOSSIP_SENDER_MAIN, 153);
                    player->ADD_GOSSIP_ITEM(1, "Spell Piercing", GOSSIP_SENDER_MAIN, 154);
                    player->ADD_GOSSIP_ITEM(1, "Mighty Armor", GOSSIP_SENDER_MAIN, 155);
                    player->ADD_GOSSIP_ITEM(1, "Major Agility", GOSSIP_SENDER_MAIN, 156);
                    player->ADD_GOSSIP_ITEM(1, "Greater Speed", GOSSIP_SENDER_MAIN, 157);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
                    player->PlayerTalkClass->SendGossipMenu(100007, creature->GetGUID());
					return true;
					break;

				case 7: //Enchant chest
					player->ADD_GOSSIP_ITEM(1, "Powerful Stats", GOSSIP_SENDER_MAIN, 158);
					player->ADD_GOSSIP_ITEM(1, "Super Health", GOSSIP_SENDER_MAIN, 159);
					player->ADD_GOSSIP_ITEM(1, "Greater Mana Restoration", GOSSIP_SENDER_MAIN, 160);
					player->ADD_GOSSIP_ITEM(1, "Exceptional Resilience", GOSSIP_SENDER_MAIN, 161);
					player->ADD_GOSSIP_ITEM(1, "Greater Defense", GOSSIP_SENDER_MAIN, 162);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100008, creature->GetGUID());
					return true;
					break;

				case 8: //Enchant Bracers
					player->ADD_GOSSIP_ITEM(1, "Major Stamina", GOSSIP_SENDER_MAIN, 163);
					player->ADD_GOSSIP_ITEM(1, "Superior Spell Power", GOSSIP_SENDER_MAIN, 164);
					player->ADD_GOSSIP_ITEM(1, "Greater Assult", GOSSIP_SENDER_MAIN, 165);
					player->ADD_GOSSIP_ITEM(1, "Major Spirit", GOSSIP_SENDER_MAIN, 166);
					player->ADD_GOSSIP_ITEM(1, "Expertise", GOSSIP_SENDER_MAIN, 167);
					player->ADD_GOSSIP_ITEM(1, "Greater Stats", GOSSIP_SENDER_MAIN, 168);
					player->ADD_GOSSIP_ITEM(1, "Exceptional Intellect", GOSSIP_SENDER_MAIN, 169);
					 if (player->HasSkill(SKILL_LEATHERWORKING) && player->GetSkillValue(SKILL_LEATHERWORKING) == 450)
				   {
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Arcane Resist", GOSSIP_SENDER_MAIN, 170);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Fire Resist", GOSSIP_SENDER_MAIN, 171);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Frost Resist", GOSSIP_SENDER_MAIN, 172);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Nature Resist", GOSSIP_SENDER_MAIN, 173);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Shadow Resist", GOSSIP_SENDER_MAIN, 174);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Attack power", GOSSIP_SENDER_MAIN, 175);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Stamina", GOSSIP_SENDER_MAIN, 176);
					player->ADD_GOSSIP_ITEM(1, "Fur Lining - Spellpower", GOSSIP_SENDER_MAIN, 177);
				   }
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100009, creature->GetGUID());
					return true;
					break;

				case 9: //Enchant Gloves
				 if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) == 450)
				   {
					player->ADD_GOSSIP_ITEM(1, "Greater Blasting", GOSSIP_SENDER_MAIN, 178);
				   }
					player->ADD_GOSSIP_ITEM(1, "Armsman", GOSSIP_SENDER_MAIN, 179);
					player->ADD_GOSSIP_ITEM(1, "Crusher", GOSSIP_SENDER_MAIN, 180);
					player->ADD_GOSSIP_ITEM(1, "Agility", GOSSIP_SENDER_MAIN, 181);
					player->ADD_GOSSIP_ITEM(1, "Precision", GOSSIP_SENDER_MAIN, 182);
					player->ADD_GOSSIP_ITEM(1, "Expertise", GOSSIP_SENDER_MAIN, 183);
					player->ADD_GOSSIP_ITEM(1, "Exceptional spell power", GOSSIP_SENDER_MAIN, 205);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
					return true;
					break;

				case 10: //Enchant legs
					player->ADD_GOSSIP_ITEM(1, "Earthen Leg Armor", GOSSIP_SENDER_MAIN, 184);
					player->ADD_GOSSIP_ITEM(1, "Frosthide Leg Armor", GOSSIP_SENDER_MAIN, 185);
					player->ADD_GOSSIP_ITEM(1, "Icescale Leg Armor", GOSSIP_SENDER_MAIN, 186);
					player->ADD_GOSSIP_ITEM(1, "Brilliant Spellthread", GOSSIP_SENDER_MAIN, 187);
					player->ADD_GOSSIP_ITEM(1, "Sapphire Spellthread", GOSSIP_SENDER_MAIN, 188);
					player->ADD_GOSSIP_ITEM(1, "Dragonscale Leg Armor", GOSSIP_SENDER_MAIN, 189);
					player->ADD_GOSSIP_ITEM(1, "Wyrmscale Leg Armor", GOSSIP_SENDER_MAIN, 190);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100011, creature->GetGUID());
					return true;
					break;

				case 11: //Enchant feet
					player->ADD_GOSSIP_ITEM(1, "Greater Assult", GOSSIP_SENDER_MAIN, 191);
					player->ADD_GOSSIP_ITEM(1, "Tuskars Vitliaty", GOSSIP_SENDER_MAIN, 192);
					player->ADD_GOSSIP_ITEM(1, "Superior Agility", GOSSIP_SENDER_MAIN, 193);
					player->ADD_GOSSIP_ITEM(1, "Greater Spirit", GOSSIP_SENDER_MAIN, 194);
					player->ADD_GOSSIP_ITEM(1, "Greater Vitality", GOSSIP_SENDER_MAIN, 195);
					player->ADD_GOSSIP_ITEM(1, "Icewalker", GOSSIP_SENDER_MAIN, 196);
					player->ADD_GOSSIP_ITEM(1, "Greater Fortitude", GOSSIP_SENDER_MAIN, 197);
					 if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) == 450)
				   {
					player->ADD_GOSSIP_ITEM(1, "Nitro Boots", GOSSIP_SENDER_MAIN, 198);
					player->ADD_GOSSIP_ITEM(1, "Hand-Mounted Pyro Rocket", GOSSIP_SENDER_MAIN, 199);
					player->ADD_GOSSIP_ITEM(1, "Hyperspeed Accedlerators", GOSSIP_SENDER_MAIN, 200);
					player->ADD_GOSSIP_ITEM(1, "Reticulated Armor Webbing", GOSSIP_SENDER_MAIN, 201);
				   }
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100012, creature->GetGUID());
					return true;
					break;

				case 12: //Enchant rings
					player->ADD_GOSSIP_ITEM(1, "Assult", GOSSIP_SENDER_MAIN, 202);
					player->ADD_GOSSIP_ITEM(1, "Greater Spell Power", GOSSIP_SENDER_MAIN, 203);
					player->ADD_GOSSIP_ITEM(1, "Stamina", GOSSIP_SENDER_MAIN, 204);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100013, creature->GetGUID());
					return true;
					break;

                case 100:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AGILITY_1H);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

                case 101:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_SPIRIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

                case 102:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLADE_WARD);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

                case 103:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLOOD_DRAINING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

                case 104:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BERSERKING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 105:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ACCURACY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 106:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLACK_MAGIC);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 107:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BATTLEMASTER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 108:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ICEBREAKER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 109:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_LIFEWARD);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 110:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_TITANGUARD);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 111:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_POTENCY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 112:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_MIGHTY_SPELL_POWER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 113:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_MONGOOSE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 114:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_EXECUTIONER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 115:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_GREATER_SPELL_POWER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 116:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_AGILITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 117:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_MASSACRE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 118:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_DEFENSE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 119:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_INTELLECT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 120:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_RESILIENCE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 121:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_TITANIUM_PLATING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 122:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_STAMINA);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 123:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_TOUGHSHIELD);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 124:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_BLISSFUL_MENDING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 125:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_BURNING_MYSTERIES);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 126:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_DOMINANCE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 127:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_SAVAGE_GLADIATOR);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 128:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_STALWART_PROTECTOR);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 129:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_TORMENT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 130:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_TRIUMPH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 131:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_ECLIPSED_MOON);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 132:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_FLAME_SOUL);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 133:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_FLEEING_SHADOW);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 134:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_FROSTY_SOUL);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 135:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD), ENCHANT_HEAD_TOXIC_WARDING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 136:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_AXE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 137:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_CRAG);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 138:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_PINNACLE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 139:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_MASTERS_STORM);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 140:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_AXE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 141:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_CRAG);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 142:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_GLADIATOR);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 143:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_PINNACLE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 144:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_GREATER_STORM);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 145:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_DOMINANCE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 146:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS), ENCHANT_SHOULDER_TRIUMPH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 147:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 148:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SHADOW_ARMOR);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 149:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_DARKGLOW_EMBROIDERY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 150:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 151:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 152:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_WISDOM);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 153:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_TITANWEAVE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 154:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SPELL_PIERCING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 155:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_MIGHTY_ARMOR);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 156:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_MAJOR_AGILITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 157:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_GREATER_SPEED);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 158:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_POWERFUL_STATS);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 159:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_SUPER_HEALTH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 160:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_MAINA_REST);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 161:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXCEPTIONAL_RESIL);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 162:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_DEFENSE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 163:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MAJOR_STAMINA);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 164:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_SUPERIOR_SP);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 165:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_ASSUALT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 166:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MAJOR_SPIRT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 167:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_EXPERTISE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 168:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_GREATER_STATS);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 169:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_INTELLECT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 170:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_ARCANE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 171:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_FIRE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 172:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_FROST);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 173:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_NATURE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 174:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_SHADOW);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 175:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_ATTACK);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 176:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_STAMINA);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 177:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_FURL_SPELLPOWER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 178:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_GREATER_BLASTING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 179:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_ARMSMAN);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 180:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_CRUSHER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 181:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_AGILITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 182:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_PRECISION);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 183:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_EXPERTISE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 184:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_EARTHEN);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 185:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_FROSTHIDE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 186:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_ICESCALE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 187:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_BRILLIANT_SPELLTHREAD);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 188:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_SAPPHIRE_SPELLTHREAD);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 189:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_DRAGONSCALE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 190:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEG_WYRMSCALE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 191:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_ASSULT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 192:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_TUSKARS_VITLIATY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 193:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_SUPERIOR_AGILITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 194:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_SPIRIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 195:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_VITALITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 196:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ICEWALKER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 197:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_GREATER_FORTITUDE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 198:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_NITRO_BOOTS);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 199:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_PYRO_ROCKET);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 200:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_HYPERSPEED);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 201:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ARMOR_WEBBING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 202:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_ASSULT);
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_ASSULT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 203:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_GREATER_SP);
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_GREATER_SP);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 204:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1), ENCHANT_RING_STAMINA);
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2), ENCHANT_RING_STAMINA);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
				case 205:
//					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_SP);
      //              player->PlayerTalkClass->SendCloseGossip();
   //                 break;
		//		case 300:
					{
						player->ADD_GOSSIP_ITEM(1, "[Welcome to Enchanting NPC!]", GOSSIP_SENDER_MAIN, 0);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Weapon]", GOSSIP_SENDER_MAIN, 1);
						player->ADD_GOSSIP_ITEM(1, "[Enchant 2H Weapon]", GOSSIP_SENDER_MAIN, 2);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Shield]", GOSSIP_SENDER_MAIN, 3);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Head]", GOSSIP_SENDER_MAIN, 4);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Shoulders]", GOSSIP_SENDER_MAIN, 5);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Cloak]", GOSSIP_SENDER_MAIN, 6);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Chest]", GOSSIP_SENDER_MAIN, 7);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Bracers]", GOSSIP_SENDER_MAIN, 8);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Gloves]", GOSSIP_SENDER_MAIN, 9);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Legs]", GOSSIP_SENDER_MAIN, 10);
						player->ADD_GOSSIP_ITEM(1, "[Enchant Feet]", GOSSIP_SENDER_MAIN, 11);

						if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
							player->ADD_GOSSIP_ITEM(1, "[Enchant Rings]", GOSSIP_SENDER_MAIN, 12);

						player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
						return true;
						break;
					}
			}
			return true;
        }
示例#4
0
        bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
        {
			player->PlayerTalkClass->ClearMenus();
			Item * item;

            switch (action)
            {
				case 15:
			{
				player->PlayerTalkClass->SendCloseGossip();
				break;
			}
                case 1: // Enchant Weapon
					player->ADD_GOSSIP_ITEM(5, "Bloody Dancing Steel", GOSSIP_SENDER_MAIN, 5000);
					player->ADD_GOSSIP_ITEM(5, "Power Torrent - 500 int Proc", GOSSIP_SENDER_MAIN, 100);
					player->ADD_GOSSIP_ITEM(5, "Hurricane - 450 Haste Proc", GOSSIP_SENDER_MAIN, 103);
					player->ADD_GOSSIP_ITEM(5, "Pyrium Weapon Chain 50% reduc on disarm/40 hit Proc", GOSSIP_SENDER_MAIN, 104);
					player->ADD_GOSSIP_ITEM(5, "Landslide - 1000 AP Proc", GOSSIP_SENDER_MAIN, 105);
					player->ADD_GOSSIP_ITEM(5, "Avalanch - 463 - 537 Nature Damage", GOSSIP_SENDER_MAIN, 106);
					player->ADD_GOSSIP_ITEM(5, "Heartsong 200 Spirit Proc", GOSSIP_SENDER_MAIN, 107);
					player->ADD_GOSSIP_ITEM(5, "Mending - Heals player upon melee", GOSSIP_SENDER_MAIN, 108);
					player->ADD_GOSSIP_ITEM(5, "Windwalk - 600 Dodge/15% speed Proc", GOSSIP_SENDER_MAIN, 109);
					player->ADD_GOSSIP_ITEM(5, "Blade Ward - +200 Parry 600-800 Dmg Parry Proc", GOSSIP_SENDER_MAIN, 914);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
                    player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
					break;
				case 2: // Enchant Off-Hand
					if (item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND))
					{
						if (ItemTemplate const* iInfo = item->GetTemplate())
						{
							if ((iInfo->SubClass == ITEM_SUBCLASS_WEAPON_AXE || iInfo->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER || ITEM_SUBCLASS_WEAPON_WAND ||
								iInfo->SubClass == ITEM_SUBCLASS_WEAPON_MACE || iInfo->SubClass == ITEM_SUBCLASS_WEAPON_SWORD) && iInfo->Class == ITEM_CLASS_WEAPON)
							{
								player->ADD_GOSSIP_ITEM(5, "Heartsong - 200 Spirit Proc", GOSSIP_SENDER_MAIN, 1341);
								player->ADD_GOSSIP_ITEM(5, "Mending Heals player upon melee", GOSSIP_SENDER_MAIN, 1084);
								player->ADD_GOSSIP_ITEM(5, "Windwalk - 600 Dodge/15% speed Proc", GOSSIP_SENDER_MAIN, 1094);
								player->ADD_GOSSIP_ITEM(5, "Pyrium Weapon Chain 50% reduc on disarm/40 hit Proc", GOSSIP_SENDER_MAIN, 1238);
								player->ADD_GOSSIP_ITEM(5, "Hurricane - 450 Haste Proc", GOSSIP_SENDER_MAIN, 1233);
								player->ADD_GOSSIP_ITEM(5, "Avalanch - 463 - 537 Nature Damage", GOSSIP_SENDER_MAIN, 1789);
								player->ADD_GOSSIP_ITEM(5, "Power Torrent - 500 int Proc", GOSSIP_SENDER_MAIN, 1743);
								player->ADD_GOSSIP_ITEM(5, "Landslide - 1000 AP Proc", GOSSIP_SENDER_MAIN, 1333);
								player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
								player->SEND_GOSSIP_MENU(100002, creature->GetGUID());
							}
							else
							{
								ChatHandler(player->GetSession()).PSendSysMessage("Your off-hand cannot be enchanted");
								OnGossipHello(player, creature);
							}
						}
					}
					else
					{
						ChatHandler(player->GetSession()).PSendSysMessage("You don't have an offhand!");
						OnGossipHello(player, creature);
					}
					break;


				case 3: // Enchant Caster Off-Hand
					player->ADD_GOSSIP_ITEM(5, "Intellect - +40", GOSSIP_SENDER_MAIN, 543);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100003, creature->GetGUID());
					break;

                case 4: // Enchant Shield
					player->ADD_GOSSIP_ITEM(5, "+160 Armor", GOSSIP_SENDER_MAIN, 110);
					player->ADD_GOSSIP_ITEM(5, "+12 PvP Resilience", GOSSIP_SENDER_MAIN, 111);
					player->ADD_GOSSIP_ITEM(5, "Mastery - +50", GOSSIP_SENDER_MAIN, 915);
					player->ADD_GOSSIP_ITEM(5, "Stamina - +18", GOSSIP_SENDER_MAIN, 916);
					player->ADD_GOSSIP_ITEM(5, "Intellect - +40", GOSSIP_SENDER_MAIN, 946);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100004, creature->GetGUID());
					break;

                case 6: // Enchant Cloak
					player->ADD_GOSSIP_ITEM(5, "Intellect +50", GOSSIP_SENDER_MAIN, 142);
					player->ADD_GOSSIP_ITEM(5, "+250 Armor", GOSSIP_SENDER_MAIN, 114);
					player->ADD_GOSSIP_ITEM(5, "+65 Critical Strike", GOSSIP_SENDER_MAIN, 115);
					player->ADD_GOSSIP_ITEM(5, "Haste - +23", GOSSIP_SENDER_MAIN, 136);
					player->ADD_GOSSIP_ITEM(5, "Spell Penetration - +70", GOSSIP_SENDER_MAIN, 139);
					player->ADD_GOSSIP_ITEM(5, "Defense Rating - +16", GOSSIP_SENDER_MAIN, 137);
					player->ADD_GOSSIP_ITEM(5, "Spirit - +10", GOSSIP_SENDER_MAIN, 138);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
                    player->PlayerTalkClass->SendGossipMenu(100007, creature->GetGUID());
					break;

				case 7: //Enchant chest
					player->ADD_GOSSIP_ITEM(5, "+75 Stamina", GOSSIP_SENDER_MAIN, 116);
					player->ADD_GOSSIP_ITEM(5, "Resil +40", GOSSIP_SENDER_MAIN, 117);
					player->ADD_GOSSIP_ITEM(5, "All stats - +20", GOSSIP_SENDER_MAIN, 118);
					player->ADD_GOSSIP_ITEM(5, "Spirit - +40", GOSSIP_SENDER_MAIN, 451);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100008, creature->GetGUID());
					break;

				case 8: //Enchant Bracers
					player->ADD_GOSSIP_ITEM(5, "Intellect +50", GOSSIP_SENDER_MAIN, 119);
					player->ADD_GOSSIP_ITEM(5, "Spirit - +50", GOSSIP_SENDER_MAIN, 120);
					player->ADD_GOSSIP_ITEM(5, "Strength - +50", GOSSIP_SENDER_MAIN, 121);
					player->ADD_GOSSIP_ITEM(5, "Agility - +50", GOSSIP_SENDER_MAIN, 122);
					player->ADD_GOSSIP_ITEM(5, "Haste - +65", GOSSIP_SENDER_MAIN, 900);
					player->ADD_GOSSIP_ITEM(5, "Expertise - +50", GOSSIP_SENDER_MAIN, 901);
					player->ADD_GOSSIP_ITEM(5, "Hit Rating - +50", GOSSIP_SENDER_MAIN, 902);
					player->ADD_GOSSIP_ITEM(5, "Crit - +65", GOSSIP_SENDER_MAIN, 903);
					player->ADD_GOSSIP_ITEM(5, "Dodge - +50", GOSSIP_SENDER_MAIN, 904);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100009, creature->GetGUID());
					break;

				case 9: //Enchant Gloves
					player->ADD_GOSSIP_ITEM(5, "Major Agility - +20", GOSSIP_SENDER_MAIN, 123);
					player->ADD_GOSSIP_ITEM(5, "Attack Power - +44", GOSSIP_SENDER_MAIN, 124);
					player->ADD_GOSSIP_ITEM(5, "Hit Rating - +20", GOSSIP_SENDER_MAIN, 125);
					player->ADD_GOSSIP_ITEM(5, "Haste +50", GOSSIP_SENDER_MAIN, 126);
					player->ADD_GOSSIP_ITEM(5, "Spellpower - +28", GOSSIP_SENDER_MAIN, 127);
					player->ADD_GOSSIP_ITEM(5, "Expertise Rating - +50", GOSSIP_SENDER_MAIN, 128);
					player->ADD_GOSSIP_ITEM(5, "Mastery +65", GOSSIP_SENDER_MAIN, 129);
					player->ADD_GOSSIP_ITEM(5, "Strength +50", GOSSIP_SENDER_MAIN, 141);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
					break;

				case 11: //Enchant feet
					player->ADD_GOSSIP_ITEM(5, "+25 Agility and Minor Movement Speed", GOSSIP_SENDER_MAIN, 130);
					player->ADD_GOSSIP_ITEM(5, "+50 Hit", GOSSIP_SENDER_MAIN, 131);
					player->ADD_GOSSIP_ITEM(5, "+35 Mastery and Minor Movement ", GOSSIP_SENDER_MAIN, 132);
					player->ADD_GOSSIP_ITEM(5, "+50 Mastery", GOSSIP_SENDER_MAIN, 133);
					player->ADD_GOSSIP_ITEM(5, "+30 Stamina and Minor Movement Speed", GOSSIP_SENDER_MAIN, 134);
					player->ADD_GOSSIP_ITEM(5, "Agility +35", GOSSIP_SENDER_MAIN, 917);
					player->ADD_GOSSIP_ITEM(5, "Haste +50", GOSSIP_SENDER_MAIN, 918);
					player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
					player->PlayerTalkClass->SendGossipMenu(100012, creature->GetGUID());
					break;

					case 100:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_POWER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


					case 1743:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_POWER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
                case 102:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
					{
						Enchant(player, item, ENCHANT_WEP_AGILITY);
						player->PlayerTalkClass->SendCloseGossip();
						break;

					}
					ChatHandler(player->GetSession()).PSendSysMessage("You do not have a 2H weapon equipped!");
					break;
					
                case 103:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_HURRICANE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


				case 1233:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_HURRICANE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
                case 104:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_PYRIUM);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

			   case 1238:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_PYRIUM);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
                case 105:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_MAJOR_LAND);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


				case 1333:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_MAJOR_LAND);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
                case 106:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AVALANCH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


				case 1789:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_AVALANCH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
                case 107:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_HEARTSON);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

			    case 1341:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_HEARTSON);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

                case 108:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_MENDING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


				case 1084:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_MENDING);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


				case 109:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_WINDWALK);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;


				case 1094:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_WINDWALK);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

					
                case 914:
                    Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLADE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 119:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_SPELL_INTELLECT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 120:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_SPIRIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 121:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_STRENGTH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 122:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_AGILITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 900:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_SPEED);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 901:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_EXPERTISE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 902:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_PRECISION);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 903:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_CRIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

				case 904:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_WRIST_DODGE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 110:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
					{
						Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_ARMOR);
						player->PlayerTalkClass->SendCloseGossip();
						break;
					}


				case 946:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
					{
						Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_INT);
						player->PlayerTalkClass->SendCloseGossip();
						break;
					}

					
				case 111:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
					{
						Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_RESILIENCE);
						player->PlayerTalkClass->SendCloseGossip();
						break;
					}
					
				case 915:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
					{
						Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_MASTERY);
						player->PlayerTalkClass->SendCloseGossip();
						break;
					}



					case 543:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_HOLDABLE)
					{
						Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_INTELLECT);
						player->PlayerTalkClass->SendCloseGossip();
						break;
					}
					
				case 916:
					item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
					if (!item)
						break;

					if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
					{
						Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_STAM);
						player->PlayerTalkClass->SendCloseGossip();
						break;
					}
				case 142:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_INTELLECT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 114:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_STAMINA);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 115:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_STRIKE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 136:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_HASTE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 139:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SPELL_PEN);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 137:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_DEF);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 138:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SPIRIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 116:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_HEALTH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 117:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_RESILIENCE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 118:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_STATS);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 451:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_SPIRIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 130:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_AGISPEED);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 131:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_HIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 132:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_MASPEED);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 133:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_MASTERY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 134:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_STAMSPEED);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 917:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_AGI);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 918:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_HASTE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 123:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_AGILITY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 124:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_ATTACK);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 125:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HIT);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 126:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HASTE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 127:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_SPELLPOWER);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 128:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_EXPERTISE);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 129:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_MASTERY);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
					
				case 141:
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_STRENGTH);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;
				case 300: //<-Back menu
					{
						player->ADD_GOSSIP_ITEM(1, "Enchant Weapon", GOSSIP_SENDER_MAIN, 1);
						player->ADD_GOSSIP_ITEM(1, "Enchant Off-Hand Weapon", GOSSIP_SENDER_MAIN, 13);
						player->ADD_GOSSIP_ITEM(1, "Enchant 2H Weapon", GOSSIP_SENDER_MAIN, 2);
						player->ADD_GOSSIP_ITEM(1, "Enchant Shield", GOSSIP_SENDER_MAIN, 3);
						player->ADD_GOSSIP_ITEM(1, "Enchant Head", GOSSIP_SENDER_MAIN, 4);
						player->ADD_GOSSIP_ITEM(1, "Enchant Shoulders", GOSSIP_SENDER_MAIN, 5);
						player->ADD_GOSSIP_ITEM(1, "Enchant Cloak", GOSSIP_SENDER_MAIN, 6);
						player->ADD_GOSSIP_ITEM(1, "Enchant Chest", GOSSIP_SENDER_MAIN, 7);
						player->ADD_GOSSIP_ITEM(1, "Enchant Bracers", GOSSIP_SENDER_MAIN, 8);
						player->ADD_GOSSIP_ITEM(1, "Enchant Gloves", GOSSIP_SENDER_MAIN, 9);
						player->ADD_GOSSIP_ITEM(1, "Enchant Legs", GOSSIP_SENDER_MAIN, 10);
						player->ADD_GOSSIP_ITEM(1, "Enchant Feet", GOSSIP_SENDER_MAIN, 11);

						if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) == 450)
						{
							player->ADD_GOSSIP_ITEM(1, "Enchant Rings", GOSSIP_SENDER_MAIN, 12);
						}


						player->PlayerTalkClass->SendGossipMenu(100001, creature->GetGUID());
						return true;
					}
						break;

				case 400: //Remove enchant for mainhand
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 401: //Remove enchant for offhand
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 402: //Remove enchant for head
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HEAD));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 403: //Remove enchant for shoulders
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_SHOULDERS));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 404: //remove enchant for cloak
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 405: //remove enchant for chest
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 406: //remove enchant for bracers
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 407: //remove enchant for gloves
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 408: //remove enchant for legs
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 409: //remove enchant for feet
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 410:
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER1));
					RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2));
					player->PlayerTalkClass->SendCloseGossip();
					break;

				case 5000: // Bloody Dancing Steel
					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_BLOODY_DANCING_STEEL);
                    player->PlayerTalkClass->SendCloseGossip();
                    break;

			}
			
			return true;
        }
示例#5
0
	bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
	{
		player->PlayerTalkClass->ClearMenus();
		Item * item;

		switch (action)
		{

		case 1: // Enchant Weapon

			player->PlayerTalkClass->ClearMenus();
			player->ADD_GOSSIP_ITEM(1, "2H: +25 Agility", GOSSIP_SENDER_MAIN, 115);
			player->ADD_GOSSIP_ITEM(1, "2H: +9 Damage", GOSSIP_SENDER_MAIN, 212);
			player->ADD_GOSSIP_ITEM(1, "2H: Iron Counterweight", GOSSIP_SENDER_MAIN, 214);
			player->ADD_GOSSIP_ITEM(1, "+15 Agility", GOSSIP_SENDER_MAIN, 108);
			player->ADD_GOSSIP_ITEM(1, "+15 Strength", GOSSIP_SENDER_MAIN, 109);
			player->ADD_GOSSIP_ITEM(1, "+30 Spell Power", GOSSIP_SENDER_MAIN, 106);
			player->ADD_GOSSIP_ITEM(1, "+22 Intellect", GOSSIP_SENDER_MAIN, 110);
			player->ADD_GOSSIP_ITEM(1, "+20 Spirit", GOSSIP_SENDER_MAIN, 101);
			player->ADD_GOSSIP_ITEM(1, "Crusader", GOSSIP_SENDER_MAIN, 105);
			player->ADD_GOSSIP_ITEM(1, "Icy Weapon", GOSSIP_SENDER_MAIN, 100);
			player->ADD_GOSSIP_ITEM(1, "Lifestealing", GOSSIP_SENDER_MAIN, 107);
			player->ADD_GOSSIP_ITEM(1, "Fiery Weapon", GOSSIP_SENDER_MAIN, 104);
			player->ADD_GOSSIP_ITEM(1, "+5 Weapon Damage", GOSSIP_SENDER_MAIN, 213);
			player->ADD_GOSSIP_ITEM(1, "Steel Weapon Chain", GOSSIP_SENDER_MAIN, 227);
			//player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
			break;

		case 2: // Enchant 2H Weapon
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendNotification("You must equip a Two-Handed weapon first.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
			{
				player->ADD_GOSSIP_ITEM(1, "Crusader", GOSSIP_SENDER_MAIN, 105);
				player->ADD_GOSSIP_ITEM(1, "2H Agility (+25 Agility)", GOSSIP_SENDER_MAIN, 115);
				player->ADD_GOSSIP_ITEM(1, "Fiery Weapon", GOSSIP_SENDER_MAIN, 116);
				player->ADD_GOSSIP_ITEM(1, "Icy Weapon", GOSSIP_SENDER_MAIN, 117);
				player->ADD_GOSSIP_ITEM(1, "Spell power (+30 Spell Power)", GOSSIP_SENDER_MAIN, 106);
				player->ADD_GOSSIP_ITEM(1, "Lifestealing", GOSSIP_SENDER_MAIN, 107);
				player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
				player->PlayerTalkClass->SendGossipMenu(100003, creature->GetGUID());
				return true;
			}
			else
			{
				player->GetSession()->SendNotification("You don't have a Two-Handed weapon equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 3: // Enchant Shield
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendNotification("You must equip a shield first.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{
				//player->ADD_GOSSIP_ITEM(1, "+30 Armor", GOSSIP_SENDER_MAIN, 118);
				player->ADD_GOSSIP_ITEM(1, "+4 Mana and Health Per 5", GOSSIP_SENDER_MAIN, 119);
				player->ADD_GOSSIP_ITEM(1, "+10 Block Rating", GOSSIP_SENDER_MAIN, 120);
				player->ADD_GOSSIP_ITEM(1, "26-38 Damage on Block", GOSSIP_SENDER_MAIN, 121);
				player->ADD_GOSSIP_ITEM(1, "+7 Spirit", GOSSIP_SENDER_MAIN, 122);
				player->ADD_GOSSIP_ITEM(1, "+7 Stamina", GOSSIP_SENDER_MAIN, 123);
				//player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
				player->PlayerTalkClass->SendGossipMenu(100004, creature->GetGUID());
				return true;
			}
			else
			{
				player->GetSession()->SendNotification("You do not have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 6: // Enchant Cloak
			player->ADD_GOSSIP_ITEM(1, "+10 Shadow Resistance", GOSSIP_SENDER_MAIN, 155);
			player->ADD_GOSSIP_ITEM(1, "+15 Fire Resistance", GOSSIP_SENDER_MAIN, 150);
			player->ADD_GOSSIP_ITEM(1, "+15 Nature Resistance", GOSSIP_SENDER_MAIN, 153);
			player->ADD_GOSSIP_ITEM(1, "+5 All Resistances", GOSSIP_SENDER_MAIN, 154);
			player->ADD_GOSSIP_ITEM(1, "+12 Dodge Rating", GOSSIP_SENDER_MAIN, 147);
			player->ADD_GOSSIP_ITEM(1, "+70 Armor", GOSSIP_SENDER_MAIN, 148);
			player->ADD_GOSSIP_ITEM(1, "+3 Agility", GOSSIP_SENDER_MAIN, 151);
			player->ADD_GOSSIP_ITEM(1, "Increased Stealth", GOSSIP_SENDER_MAIN, 152);
			//player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100007, creature->GetGUID());
			return true;
			break;

		case 7: //Enchant chest
			//player->ADD_GOSSIP_ITEM(1, "Lesser Absorption", GOSSIP_SENDER_MAIN, 158);
			player->ADD_GOSSIP_ITEM(1, "+4 All Stats", GOSSIP_SENDER_MAIN, 161);
			player->ADD_GOSSIP_ITEM(1, "+100 Health", GOSSIP_SENDER_MAIN, 160);
			player->ADD_GOSSIP_ITEM(1, "+100 Mana", GOSSIP_SENDER_MAIN, 159);
			player->ADD_GOSSIP_ITEM(1, "+6 All Stats", GOSSIP_SENDER_MAIN, 211);
			player->ADD_GOSSIP_ITEM(1, "+150 Health", GOSSIP_SENDER_MAIN, 162);
			player->ADD_GOSSIP_ITEM(1, "+150 Mana", GOSSIP_SENDER_MAIN, 209);
			player->ADD_GOSSIP_ITEM(1, "7 Mana Per 5", GOSSIP_SENDER_MAIN, 210);
			//player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100008, creature->GetGUID());
			return true;
			break;

		case 8: //Enchant Bracers
			player->ADD_GOSSIP_ITEM(1, "+9 Stamina", GOSSIP_SENDER_MAIN, 165);
			player->ADD_GOSSIP_ITEM(1, "+9 Strength", GOSSIP_SENDER_MAIN, 164);
			player->ADD_GOSSIP_ITEM(1, "+7 Intellect", GOSSIP_SENDER_MAIN, 163);
			player->ADD_GOSSIP_ITEM(1, "+5 Mana Per 5", GOSSIP_SENDER_MAIN, 166);
			//player->ADD_GOSSIP_ITEM(1, "Deflection", GOSSIP_SENDER_MAIN, 167);
			player->ADD_GOSSIP_ITEM(1, "+15 Spell Power", GOSSIP_SENDER_MAIN, 168);
			//player->ADD_GOSSIP_ITEM(1, "Minor Agility", GOSSIP_SENDER_MAIN, 169);
			//player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100009, creature->GetGUID());
			return true;
			break;

		case 9: //Enchant Gloves
			player->ADD_GOSSIP_ITEM(1, "+10 Haste", GOSSIP_SENDER_MAIN, 185);
			player->ADD_GOSSIP_ITEM(1, "+20 Fire Power", GOSSIP_SENDER_MAIN, 183);
			player->ADD_GOSSIP_ITEM(1, "+20 Frost Power", GOSSIP_SENDER_MAIN, 184);
			player->ADD_GOSSIP_ITEM(1, "+20 Shadow Power", GOSSIP_SENDER_MAIN, 180);
			player->ADD_GOSSIP_ITEM(1, "+16 Spell Power", GOSSIP_SENDER_MAIN, 181);
			player->ADD_GOSSIP_ITEM(1, "+15 Agility", GOSSIP_SENDER_MAIN, 182);
			player->ADD_GOSSIP_ITEM(1, "+7 Strength", GOSSIP_SENDER_MAIN, 178);
			//player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100010, creature->GetGUID());
			return true;
			break;

		case 11: //Enchant feet
			player->ADD_GOSSIP_ITEM(1, "Minor Speed", GOSSIP_SENDER_MAIN, 191);
			player->ADD_GOSSIP_ITEM(1, "+7 Stamina", GOSSIP_SENDER_MAIN, 195);
			player->ADD_GOSSIP_ITEM(1, "+7 Agility", GOSSIP_SENDER_MAIN, 193);
			player->ADD_GOSSIP_ITEM(1, "+5 Hit Rating", GOSSIP_SENDER_MAIN, 194);
			//            player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100012, creature->GetGUID());
			return true;
			break;



		case 13: //Enchant Off-Hand weapons
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)

			{
				player->GetSession()->SendNotification("You must equip a weapon in your Off-hand");
				MainMenu(player, creature);
				return false;
			}
			else if (item->GetTemplate()->InventoryType == INVTYPE_WEAPONOFFHAND || INVTYPE_WEAPONMAINHAND)
			{
				player->ADD_GOSSIP_ITEM(1, "+15 Agility", GOSSIP_SENDER_MAIN, 221);
				player->ADD_GOSSIP_ITEM(1, "+15 Strength", GOSSIP_SENDER_MAIN, 222);
				player->ADD_GOSSIP_ITEM(1, "+30 Spell Power", GOSSIP_SENDER_MAIN, 219);
				player->ADD_GOSSIP_ITEM(1, "+22 Intellect", GOSSIP_SENDER_MAIN, 223);
				player->ADD_GOSSIP_ITEM(1, "+20 Spirit", GOSSIP_SENDER_MAIN, 216);
				player->ADD_GOSSIP_ITEM(1, "Crusader", GOSSIP_SENDER_MAIN, 218);
				player->ADD_GOSSIP_ITEM(1, "Icy Weapon", GOSSIP_SENDER_MAIN, 224);
				player->ADD_GOSSIP_ITEM(1, "Lifestealing", GOSSIP_SENDER_MAIN, 220);
				player->ADD_GOSSIP_ITEM(1, "Fiery Weapon", GOSSIP_SENDER_MAIN, 217);
				player->ADD_GOSSIP_ITEM(1, "+5 Weapon Damage", GOSSIP_SENDER_MAIN, 225);
				player->ADD_GOSSIP_ITEM(1, "Steel Weapon Chain", GOSSIP_SENDER_MAIN, 228);
				player->PlayerTalkClass->SendGossipMenu(100002, creature->GetGUID());
				return true;
			}
			else
			{
				player->GetSession()->SendNotification("Your Off-Hand is not a weapon.");
				MainMenu(player, creature);
			}
		}
		break;

		case 14: //Remove enchant menu
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Main-hand", GOSSIP_SENDER_MAIN, 400);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Off-hand", GOSSIP_SENDER_MAIN, 401);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Cloak", GOSSIP_SENDER_MAIN, 404);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Chest", GOSSIP_SENDER_MAIN, 405);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Bracers", GOSSIP_SENDER_MAIN, 406);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Gloves", GOSSIP_SENDER_MAIN, 407);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Feet", GOSSIP_SENDER_MAIN, 409);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Legs", GOSSIP_SENDER_MAIN, 411);
			player->ADD_GOSSIP_ITEM(1, "Remove the enchantment on my Helm.", GOSSIP_SENDER_MAIN, 412);
			player->ADD_GOSSIP_ITEM(1, "<-Back", GOSSIP_SENDER_MAIN, 300);
			player->PlayerTalkClass->SendGossipMenu(100014, creature->GetGUID());
			return true;
			break;

		case 100:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_ICEY);
			MainMenu(player, creature);
			break;

		case 101:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_SPIRIT);
			MainMenu(player, creature);
			break;

		case 104:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_FIERY);
			MainMenu(player, creature);
			break;

		case 105:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_CRUSADER);
			MainMenu(player, creature);
			break;

		case 106:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_SPELLPOWER);
			MainMenu(player, creature);
			break;

		case 107:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_LIFESTEALING);
			MainMenu(player, creature);
			break;

		case 108:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_AGILITY1H);
			MainMenu(player, creature);
			break;

		case 109:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_STRENGTH);
			MainMenu(player, creature);
			break;

		case 110:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_INTELLECT);
			MainMenu(player, creature);
			break;


		case 113:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_CRUSADER);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 115:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_AGILITY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 116:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_FIERY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 117:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a 2H weapon equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_ICEY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a Two-Handed weapon equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 118:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_PROTECTION);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 119:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_VITALITY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 120:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_BLOCK);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 121:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_SPIKE);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 122:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_SPIRIT);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;

		case 123:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a shield equipped.");
				MainMenu(player, creature);
				return false;
			}

			if (item->GetTemplate()->InventoryType == INVTYPE_SHIELD)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_SHIELD_STAM);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You don't have a shield equipped.");
				MainMenu(player, creature);
			}
		}
		break;



		case 147:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_DODGE);
			MainMenu(player, creature);
			break;

		case 148:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_ARMOR);
			MainMenu(player, creature);
			break;

		case 149:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SUBLETY);
			MainMenu(player, creature);
			break;

		case 150:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_FIRE);
			MainMenu(player, creature);
			break;

		case 151:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_AGILITY);
			MainMenu(player, creature);
			break;

		case 152:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_STEALTH);
			MainMenu(player, creature);
			break;

		case 153:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_NATURE);
			MainMenu(player, creature);
			break;

		case 154:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_RESIST);
			MainMenu(player, creature);
			break;

		case 155:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK), ENCHANT_CLOAK_SHADOW);
			MainMenu(player, creature);
			break;

		case 158:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_ABSORB);
			MainMenu(player, creature);
			break;

		case 159:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_MANA);
			MainMenu(player, creature);
			break;

		case 160:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_HEALTH);
			MainMenu(player, creature);
			break;

		case 161:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_STATS);
			MainMenu(player, creature);
			break;

		case 162:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
			if (item)
			{
				if (item->GetTemplate()->ItemLevel == 40)
				{

					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXC_HEALTH);
					MainMenu(player, creature);
				}
				else
				{
					player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
					MainMenu(player, creature);
				}
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel at 35+!");
				MainMenu(player, creature);
			}
		}
		break;

		case 163:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_INTELLECT);
			MainMenu(player, creature);
			break;

		case 164:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_STAM);
			MainMenu(player, creature);
			break;

		case 165:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_STRENGTH);
			MainMenu(player, creature);
			break;

		case 166:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_MP);
			MainMenu(player, creature);
			break;

		case 167:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_DEFLECTION);
			MainMenu(player, creature);
			break;

		case 168:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_HEALING);
			MainMenu(player, creature);
			break;

		case 169:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_WRISTS), ENCHANT_BRACERS_AGILITY);
			MainMenu(player, creature);
			break;

		case 178:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_STRENGTH);
			MainMenu(player, creature);
			break;

		case 179:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HASTE);
			MainMenu(player, creature);
			break;

		case 180:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_SHADOW);
			MainMenu(player, creature);
			break;

		case 181:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HEALING);
			MainMenu(player, creature);
			break;

		case 182:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_AGILITY);
			MainMenu(player, creature);
			break;

		case 183:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_FIRE);
			MainMenu(player, creature);
			break;

		case 184:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_FROST);
			MainMenu(player, creature);
			break;

		case 185:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_HANDS), ENCHANT_GLOVES_HASTE);
			MainMenu(player, creature);
			break;

		case 191:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_SPEED);
			MainMenu(player, creature);
			break;

		case 192:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_SPIRIT);
			MainMenu(player, creature);
			break;

		case 193:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_AGILITY);
			MainMenu(player, creature);
			break;

		case 194:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_ACCURACY);
			MainMenu(player, creature);
			break;

		case 195:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FEET), ENCHANT_BOOTS_STAM);
			MainMenu(player, creature);
			break;


		case 205:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_FIERY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
			}
		}
		break;

		case 206:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{

				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_ICEY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
			}
		}
		break;

		case 207:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{

				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_CRUSADER);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
			}
		}
		break;

		case 208:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
				return false;
			}

			if (item)
			{
				player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_AGILITY1H);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
			}
		}
		break;

		case 209:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
			if (item && item->GetTemplate()->ItemLevel == 40)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_EXC_MANA);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
				MainMenu(player, creature);
			}
		}
		break;

		case 210:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);
			if (item)
			{
				if (item->GetTemplate()->ItemLevel == 40)
				{

					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_MP);
					MainMenu(player, creature);
				}
				else
				{
					player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
					MainMenu(player, creature);
				}
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
				MainMenu(player, creature);
			}
		}
		break;

		case 211:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST);

			if (item)
			{
				if (item->GetTemplate()->ItemLevel == 40)
				{

					Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_CHEST), ENCHANT_CHEST_GREATER_STATS);
					MainMenu(player, creature);
				}
				else
				{
					player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
					MainMenu(player, creature);
				}
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("You need a chest with an itemlevel for 35+!");
				MainMenu(player, creature);
			}
		}
		break;

		case 212:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a Two-handed weapon equipped.");
				MainMenu(player, creature);
				return false;
			}
			if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
			{
				player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_DAMAGE);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a two-hander.");
				MainMenu(player, creature);
			}
		}
		break;

		case 213:

			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_WEP_DAMAGE);
			MainMenu(player, creature);

			break;

		case 214:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

			if (!item)
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a Two-handed weapon equipped.");
				MainMenu(player, creature);
				return false;
			}
			if (item->GetTemplate()->InventoryType == INVTYPE_2HWEAPON)
			{
				player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND), ENCHANT_2WEP_HASTE);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant needs a one-hand weapon equipped in the off-hand.");
				MainMenu(player, creature);
			}
		}
		break;

		case 215:
			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_LEGS), ENCHANT_LEGARMOR);
			MainMenu(player, creature);
			break;

		case 224:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_ICEY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 216:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_SPIRIT);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 217:

		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_FIERY);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 218:

		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_CRUSADER);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 219:

		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_SPELLPOWER);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 220:

		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_LIFESTEALING);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 221:

		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_AGILITY1H);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 222:

		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_STRENGTH);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 223:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_INTELLECT);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a Weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 225:
		{
			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
			{
				Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND), ENCHANT_WEP_DAMAGE);
				MainMenu(player, creature);
			}
			else
			{
				player->GetSession()->SendAreaTriggerMessage("This enchant requires a weapon");
				MainMenu(player, creature);
			}
		}
		break;

		case 226: 
		{
  			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_RANGED);
   
  			if (item && ((item->GetTemplate()->Class == 2 && item->GetTemplate()->SubClass == 2) || (item->GetTemplate()->Class == 2 && item->GetTemplate()->SubClass == 3))) {
    			Enchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_RANGED), ENCHANT_SCOPE);
  			} 
  			else 
  			{
    			player->GetSession()->SendAreaTriggerMessage("You need a ranged weapon equipped!");
  			}
  			MainMenu(player, creature);
 		}
 		break;

 		case 227:
 		{
 			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);

 			if (item)
 			{
 				Enchant(player, item, ENCHANT_WEP_CHAIN);
 			}
 			else
 			{
 				player->GetSession()->SendAreaTriggerMessage("You need a weapon equipped!");
 			}
 			MainMenu(player, creature);
 		}
 		break;

 		case 228:
 		{
 			item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);

 			if (item->GetTemplate()->InventoryType == INVTYPE_WEAPON)
 			{
 				Enchant(player, item, ENCHANT_WEP_CHAIN);
 			}
 			else
 			{
 				player->GetSession()->SendAreaTriggerMessage("You need a weapon equipped!");
 			}
 			MainMenu(player, creature);
 		}
 		break;

		case 300: //<-Back menu
			player->ADD_GOSSIP_ITEM(1, "Weapon", GOSSIP_SENDER_MAIN, 1);
			player->ADD_GOSSIP_ITEM(1, "Off-Hand Weapon", GOSSIP_SENDER_MAIN, 13);
			player->ADD_GOSSIP_ITEM(1, "2H Weapon", GOSSIP_SENDER_MAIN, 2);
			player->ADD_GOSSIP_ITEM(1, "Shield", GOSSIP_SENDER_MAIN, 3);
			player->ADD_GOSSIP_ITEM(1, "Cloak", GOSSIP_SENDER_MAIN, 6);
			player->ADD_GOSSIP_ITEM(1, "Chest", GOSSIP_SENDER_MAIN, 7);
			player->ADD_GOSSIP_ITEM(1, "Bracers", GOSSIP_SENDER_MAIN, 8);
			player->ADD_GOSSIP_ITEM(1, "Gloves", GOSSIP_SENDER_MAIN, 9);
			player->ADD_GOSSIP_ITEM(1, "Feet", GOSSIP_SENDER_MAIN, 11);
			break;

		case 400: //Remove enchant for mainhand

			MainMenu(player, creature);
			break;

		case 401: //Remove enchant for offhand

			MainMenu(player, creature);
			break;

		case 404: //remove enchant for cloak
			RemoveEnchant(player, player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_BACK));
			MainMenu(player, creature);
			break;

		case 405: //remove enchant for chest

			MainMenu(player, creature);
			break;

		case 406: //remove enchant for bracers

			MainMenu(player, creature);
			break;

		case 407: //remove enchant for gloves

			MainMenu(player, creature);
			break;


		case 409: //remove enchant for feet

			MainMenu(player, creature);
			break;

		}
		return true;
	}
示例#6
0
    bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
    {
        player->PlayerTalkClass->ClearMenus();

        if (sender != GOSSIP_SENDER_MAIN)
            return false;

        switch (action)
        {
            case GOSSIP_ACTION_INFO_DEF+1:
                OnGossipHello(player, creature);
                break;
            case GOSSIP_ACTION_INFO_DEF+2:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 50, крит 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+21);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 50, устойчивость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+16);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 30, 10 маны в 5 сек", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+19);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 30, крит 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+20);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 29, устойчивость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+17);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. тайной 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+23);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. огню 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+24);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. тьме 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+25);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. льду 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+26);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. природе 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+27);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, устойчивость 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+18);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 37, рейтинг защиты 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+22);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+16:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3795);
                break;
            case GOSSIP_ACTION_INFO_DEF+17:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3797);
                break;
            case GOSSIP_ACTION_INFO_DEF+18:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3842);
                break;
            case GOSSIP_ACTION_INFO_DEF+19:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3819);
                break;
            case GOSSIP_ACTION_INFO_DEF+20:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3820);
                break;
            case GOSSIP_ACTION_INFO_DEF+21:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3817);
                break;
            case GOSSIP_ACTION_INFO_DEF+22:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3818);
                break;
            case GOSSIP_ACTION_INFO_DEF+23:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3815);
                break;
            case GOSSIP_ACTION_INFO_DEF+24:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3816);
                break;
            case GOSSIP_ACTION_INFO_DEF+25:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3814);
                break;
            case GOSSIP_ACTION_INFO_DEF+26:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3812);
                break;
            case GOSSIP_ACTION_INFO_DEF+27:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3813);
                break;
            case GOSSIP_ACTION_INFO_DEF+3:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 120, крит 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+31);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 40, устойчивость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+29);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 70, 8 маны в 5 сек", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+32);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 70, крит 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+34);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 23, устойчивость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+30);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, устойчивость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+28);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг уклонения 60, защиты 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+33);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+28:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3852);
                break;
            case GOSSIP_ACTION_INFO_DEF+29:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3793);
                break;
            case GOSSIP_ACTION_INFO_DEF+30:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3794);
                break;
            case GOSSIP_ACTION_INFO_DEF+31:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3835);
                break;
            case GOSSIP_ACTION_INFO_DEF+32:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3836);
                break;
            case GOSSIP_ACTION_INFO_DEF+33:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3837);
                break;
            case GOSSIP_ACTION_INFO_DEF+34:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3838);
                break;
            case GOSSIP_ACTION_INFO_DEF+4:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 10, лучше незаметность", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+35);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 22", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+40);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "скорость 23", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+38);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "проникание заклинаний 35", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+41);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "снижение угрозы, дух 10", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+36);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "броня 225", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+39);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг защиты 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+37);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* восстановить 400 маны при касте", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+42);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* сила заклинаний 295 при касте", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+43);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* сила атаки 400 при атаке", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+44);
                player->SEND_GOSSIP_MENU(55004, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+35:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3256);
                break;
            case GOSSIP_ACTION_INFO_DEF+36:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3296);
                break;
            case GOSSIP_ACTION_INFO_DEF+37:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 1951);
                break;
            case GOSSIP_ACTION_INFO_DEF+38:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3831);
                break;
            case GOSSIP_ACTION_INFO_DEF+39:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3294);
                break;
            case GOSSIP_ACTION_INFO_DEF+40:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 1099);
                break;
            case GOSSIP_ACTION_INFO_DEF+41:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3243);
                break;
            case GOSSIP_ACTION_INFO_DEF+42:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3728);
                break;
            case GOSSIP_ACTION_INFO_DEF+43:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3722);
                break;
            case GOSSIP_ACTION_INFO_DEF+44:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3730);
                break;
            case GOSSIP_ACTION_INFO_DEF+5:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "все характеристики 10", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+47);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "здоровье 275", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+48);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "10 маны в 5 сек.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+49);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "устойчивость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+50);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг защиты 22", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+51);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+47:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 3832);
                break;
            case GOSSIP_ACTION_INFO_DEF+48:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 3297);
                break;
            case GOSSIP_ACTION_INFO_DEF+49:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 2381);
                break;
            case GOSSIP_ACTION_INFO_DEF+50:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 3245);
                break;
            case GOSSIP_ACTION_INFO_DEF+51:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 1953);
                break;
            case GOSSIP_ACTION_INFO_DEF+6:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 102", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+52);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 76", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+53);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 130", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+54);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 18", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+55);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг мастерства 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+56);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "все характеристики 6", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+57);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "интелект 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+58);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+52:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3757);
                break;
            case GOSSIP_ACTION_INFO_DEF+53:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3758);
                break;
            case GOSSIP_ACTION_INFO_DEF+54:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3756);
                break;
            case GOSSIP_ACTION_INFO_DEF+55:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 1147);
                break;
            case GOSSIP_ACTION_INFO_DEF+56:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3231);
                break;
            case GOSSIP_ACTION_INFO_DEF+57:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 2661);
                break;
            case GOSSIP_ACTION_INFO_DEF+58:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 1119);
                break;
            case GOSSIP_ACTION_INFO_DEF+7:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "крит 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+59);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "угроза +2%, парирование 10", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+60);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 44", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+61);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 28", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+120);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+62);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "меткость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+63);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "мастерство 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+64);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ракетница", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+121);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+59:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3249);
                break;
            case GOSSIP_ACTION_INFO_DEF+60:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3253);
                break;
            case GOSSIP_ACTION_INFO_DEF+61:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 1603);
                break;
            case GOSSIP_ACTION_INFO_DEF+62:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3222);
                break;
            case GOSSIP_ACTION_INFO_DEF+63:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3234);
                break;
            case GOSSIP_ACTION_INFO_DEF+64:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3231);
                break;
            case GOSSIP_ACTION_INFO_DEF+120:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3246);
                break;
            case GOSSIP_ACTION_INFO_DEF+121:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3603);
                break;
            case GOSSIP_ACTION_INFO_DEF+8:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "устойчивость 40, выносливость 28", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+65);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 72, ловкость 35", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+66);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 100, крит 36", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+67);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 50, дух 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+68);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 50, выносливость 30", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+69);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+65:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3853);
                break;
            case GOSSIP_ACTION_INFO_DEF+66:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3331);
                break;
            case GOSSIP_ACTION_INFO_DEF+67:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3332);
                break;
            case GOSSIP_ACTION_INFO_DEF+68:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3719);
                break;
            case GOSSIP_ACTION_INFO_DEF+69:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3721);
                break;
            case GOSSIP_ACTION_INFO_DEF+9:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 32", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+70);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "скорость бега, выносливость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+71);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+72);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 18", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+73);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "7 хп и маны в 5 сек.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+74);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "крит и меткость 12", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+75);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 22", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+76);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "нитроускорители", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+77);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+70:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 1597);
                break;
            case GOSSIP_ACTION_INFO_DEF+71:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3232);
                break;
            case GOSSIP_ACTION_INFO_DEF+72:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 983);
                break;
            case GOSSIP_ACTION_INFO_DEF+73:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 1147);
                break;
            case GOSSIP_ACTION_INFO_DEF+74:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3244);
                break;
            case GOSSIP_ACTION_INFO_DEF+75:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3826);
                break;
            case GOSSIP_ACTION_INFO_DEF+76:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 1075);
                break;
            case GOSSIP_ACTION_INFO_DEF+77:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3606);
                break;
            case GOSSIP_ACTION_INFO_DEF+10:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 40", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+78);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 23", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+79);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+80);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+78:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER1, 3839);
                break;
            case GOSSIP_ACTION_INFO_DEF+79:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER1, 3840);
                break;
            case GOSSIP_ACTION_INFO_DEF+80:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER1, 3791);
                break;
            case GOSSIP_ACTION_INFO_DEF+11:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 40", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+81);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 23", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+82);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+83);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+81:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER2, 3839);
                break;
            case GOSSIP_ACTION_INFO_DEF+82:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER2, 3840);
                break;
            case GOSSIP_ACTION_INFO_DEF+83:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER2, 3791);
                break;
            case GOSSIP_ACTION_INFO_DEF+12:
            {
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);

                Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
                if (!item)
                    return true;

                if (validItem(2, item))
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 110", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+98);
                if (validItem(3, item))
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 81", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+99);
                if (validItem(1, item))
                {
                    if (!validItem(2, item))
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 65", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+89);
                    if (!validItem(3, item))
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 63", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+88);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "меткость и крит 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+85);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 26", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+94);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 45", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+95);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 50", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+84);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 400 силы атаки, -5% брони", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+86);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* рейтинг скорости 250", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+87);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* пробивание брони 120", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+96);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* ловкость 120, скорость атаки", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+97);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* урон от огня", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+90);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* исцеление при ударе в ближнем бою", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+91);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 360-440 хп при менее 35% хп", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+92);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* парирование 200 и урон 600-800", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+93);
                }

                player->SEND_GOSSIP_MENU(55004, creature->GetGUID());
            }   break;
            case GOSSIP_ACTION_INFO_DEF+84:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3851, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+85:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3788, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+86:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3789, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+87:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3790, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+88:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3834, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+89:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3833, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+90:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3239, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+91:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3241, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+92:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3870, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+93:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3869, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+94:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 1103, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+95:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3844, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+96:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3225, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+97:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 2673, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+98:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3827, 2);
                break;
            case GOSSIP_ACTION_INFO_DEF+99:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3854, 3);
                break;
            case GOSSIP_ACTION_INFO_DEF+13:
            {
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);

                Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
                if (!item)
                    return true;

                if (validItem(1, item))
                {
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 65", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+111);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 63", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+110);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "меткость и крит 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+107);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 26", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+116);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 45", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+117);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 50", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+106);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 400 силы атаки, -5% брони", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+108);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* рейтинг скорости 250", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+109);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* пробивание брони 120", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+118);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* ловкость 120, скорость атаки", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+119);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* урон от огня", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+112);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* исцеление при ударе в ближнем бою", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+113);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 360-440 хп при менее 35% хп", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+114);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* парирование 200 и урон 600-800", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+115);
                }
                if (validItem(4, item))
                {
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "интелект 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+101);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг блокирования 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+102);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "показатель блокирования 36", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+105);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг защиты 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+100);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 18", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+104);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "устойчивость 12", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+103);
                }

                player->SEND_GOSSIP_MENU(55004, creature->GetGUID());
            }   break;
            case GOSSIP_ACTION_INFO_DEF+100:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1952, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+101:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1128, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+102:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 2655, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+103:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3229, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+104:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1071, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+105:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 2653, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+106:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3851, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+107:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3788, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+108:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3789, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+109:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3790, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+110:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3834, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+111:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3833, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+112:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3239, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+113:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3241, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+114:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3870, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+115:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3869, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+116:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1103, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+117:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3844, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+118:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3225, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+119:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 2673, 1);
                break;
        }

        return true;
    }