Guest User

Untitled

a guest
Jan 23rd, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 52.14 KB | None | 0 0
  1. #include "ScriptMgr.h"
  2. #include "ScriptPCH.h"
  3. #include "Cell.h"
  4. #include "CellImpl.h"
  5. #include "GameEventMgr.h"
  6. #include "GridNotifiers.h"
  7. #include "GridNotifiersImpl.h"
  8. #include "Unit.h"
  9. #include "GameObject.h"
  10. #include "ScriptedCreature.h"
  11. #include "ScriptedGossip.h"
  12. #include "InstanceScript.h"
  13. #include "CombatAI.h"
  14. #include "PassiveAI.h"
  15. #include "Player.h"
  16. #include "Chat.h"
  17. #include "DBCStructure.h"
  18. #include "DBCStores.h"
  19. #include "ObjectMgr.h"
  20. #include "SpellScript.h"
  21. #include "SpellAuraEffects.h"
  22.  
  23. enum Enchants
  24. {
  25.     ENCHANT_WEP_BLADE_WARD              = 3869,
  26.     ENCHANT_WEP_BLOOD_DRAINING          = 3870,
  27.     ENCHANT_WEP_BERSERKING              = 3789,
  28.    
  29.     ENCHANT_WEP_ACCURACY                = 3788,
  30.     ENCHANT_WEP_AGILITY_1H              = 1103,
  31.     ENCHANT_WEP_AGILITY_2H              = 2670,
  32.     ENCHANT_WEP_SPIRIT                  = 3844,
  33.     ENCHANT_WEP_BATTLEMASTER            = 2675,
  34.     ENCHANT_WEP_BLACK_MAGIC             = 3790,
  35.     ENCHANT_WEP_ICEBREAKER              = 3239,
  36.     ENCHANT_WEP_LIFEWARD                = 3241,
  37.     ENCHANT_WEP_MIGHTY_SPELL_POWER      = 3834, // One-hand
  38.     ENCHANT_WEP_GREATER_SPELL_POWER     = 3854, // Two-hand (staff)
  39.     ENCHANT_WEP_MONGOOSE                = 2673,
  40.     ENCHANT_WEP_EXECUTIONER             = 3225,
  41.     ENCHANT_WEP_POTENCY                 = 3833,
  42.     ENCHANT_WEP_TITANGUARD              = 3851,
  43.     ENCHANT_WEP_MASSACRE                = 3827,
  44.    
  45.     ENCHANT_WEP_CINDERGLACIER           = 3369,
  46.     ENCHANT_WEP_LICHBANE                = 3366,
  47.     ENCHANT_WEP_RAZORICE                = 3370,
  48.     ENCHANT_WEP_SPELLBREAKING           = 3595,
  49.     ENCHANT_WEP_SPELLSHATTERING         = 3367,
  50.     ENCHANT_WEP_SWORDBREAKING           = 3594,
  51.     ENCHANT_WEP_SWORDSHATTERING         = 3365,
  52.     ENCHANT_WEP_FALLEN_CRUSADER         = 3368,
  53.     ENCHANT_WEP_NERUBIAN_CARAPACE       = 3883,
  54.     ENCHANT_WEP_STONESKIN_GARGOYLE      = 3847,
  55.  
  56.     ENCHANT_WEP_TITANIUM_CHAIN          = 3731,
  57.  
  58.     ENCHANT_SHIELD_DEFENSE              = 1952,
  59.     ENCHANT_SHIELD_INTELLECT            = 1128,
  60.     ENCHANT_SHIELD_MAJOR_STAMINA        = 1071,
  61.     ENCHANT_SHIELD_RESILIENCE           = 3229,
  62.  
  63.     ENCHANT_SHIELD_TITANIUM_PLATING     = 3849,
  64.     ENCHANT_SHIELD_TITANIUM_SPIKE        = 3748,
  65.  
  66.     ENCHANT_HEAD_BLISSFUL_MENDING       = 3819,
  67.     ENCHANT_HEAD_BURNING_MYSTERIES      = 3820,
  68.     ENCHANT_HEAD_DOMINANCE              = 3796,
  69.     ENCHANT_HEAD_SAVAGE_GLADIATOR       = 3842,
  70.     ENCHANT_HEAD_STALWART_PROTECTOR     = 3818,
  71.     ENCHANT_HEAD_TORMENT                = 3817,
  72.     ENCHANT_HEAD_TRIUMPH                = 3795,
  73.    
  74.     ENCHANT_SHOULDER_MASTERS_AXE        = 3835,
  75.     ENCHANT_SHOULDER_MASTERS_CRAG       = 3836,
  76.     ENCHANT_SHOULDER_MASTERS_PINNACLE   = 3837,
  77.     ENCHANT_SHOULDER_MASTERS_STORM      = 3838,
  78.     ENCHANT_SHOULDER_GREATER_AXE        = 3808,
  79.     ENCHANT_SHOULDER_GREATER_CRAG       = 3809,
  80.     ENCHANT_SHOULDER_GREATER_GLADIATOR  = 3852,
  81.     ENCHANT_SHOULDER_GREATER_PINNACLE   = 3811,
  82.     ENCHANT_SHOULDER_GREATER_STORM      = 3810,
  83.     ENCHANT_SHOULDER_DOMINANCE          = 3794,
  84.     ENCHANT_SHOULDER_TRIUMPH            = 3793,
  85.  
  86.     ENCHANT_CLOAK_DARKGLOW_EMBROIDERY   = 3728,
  87.     ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY = 3730,
  88.     ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY = 3722,
  89.     ENCHANT_CLOAK_FLEXWEAVE_UNDERLAY    = 3605,
  90.     ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE  = 3859,
  91.     ENCHANT_CLOAK_WISDOM                = 3296,
  92.     ENCHANT_CLOAK_TITANWEAVE            = 1951,
  93.     ENCHANT_CLOAK_SPELL_PIERCING        = 3243,
  94.     ENCHANT_CLOAK_SHADOW_ARMOR          = 3256,
  95.     ENCHANT_CLOAK_MIGHTY_ARMOR          = 3294,
  96.     ENCHANT_CLOAK_MAJOR_AGILITY         = 1099,
  97.     ENCHANT_CLOAK_GREATER_SPEED         = 3831,
  98.  
  99.     ENCHANT_CHEST_EXCEPTIONAL_MANA      = 3233,
  100.     ENCHANT_CHEST_GREATER_MANA_RESTO    = 3533,
  101.     ENCHANT_CHEST_EXCEPTIONAL_RESILIENCE= 3245,
  102.     ENCHANT_CHEST_SUPER_HEALTH          = 3297,
  103.     ENCHANT_CHEST_ALL_STATS             = 3832,
  104.  
  105.     ENCHANT_BRACER_GREATER_ASSAULT      = 3845,
  106.     ENCHANT_BRACER_EXCEPTIONAL_INTELLECT= 3458,
  107.     ENCHANT_BRACER_MAJOR_SPIRIT         = 1147,
  108.     ENCHANT_BRACER_EXPERTISE            = 3231,
  109.     ENCHANT_BRACER_GREATER_STATS        = 2661,
  110.     ENCHANT_BRACER_SUPERIOR_SPELLPOWER  = 2332,
  111.     ENCHANT_BRACER_MAJOR_STAMINA        = 3850,
  112.  
  113.     ENCHANT_BRACER_FUR_LINING_AP        = 3756,
  114.     ENCHANT_BRACER_FUR_LINING_STAMINA   = 3757,
  115.     ENCHANT_BRACER_FUR_LINING_SP        = 3758,
  116.     ENCHANT_BRACER_ARCANE_RESIST        = 3763,
  117.     ENCHANT_BRACER_NATURE_RESIST        = 3762,
  118.     ENCHANT_BRACER_SHADOW_RESIST        = 3761,
  119.     ENCHANT_BRACER_FROST_RESIST         = 3760,
  120.     ENCHANT_BRACER_FIRE_RESIST          = 3759,
  121.  
  122.     ENCHANT_BRACER_SOCKET_BRACER        = 3717,
  123.    
  124.     ENCHANT_GLOVES_CRUSHER              = 1603,
  125.     // EXTREMELY ugly hack for duplicate enchants
  126.     ENCHANT_GLOVES_EXPERTISE            = -3231,
  127.     ENCHANT_GLOVES_PRECISION            = 3234,
  128.     ENCHANT_GLOVES_GREATER_ASSAULT      = 1603,
  129.     ENCHANT_GLOVES_MAJOR_AGILITY        = 1097,
  130.     ENCHANT_GLOVES_EXCEPTIONAL_SPELLPOWER = 2330,
  131.     ENCHANT_GLOVES_ARMSMAN              = 3253,
  132.  
  133.     ENCHANT_GLOVES_SOCKET_GLOVES        = 3723,
  134.  
  135.     ENCHANT_GLOVES_PYROROCKET           = 3603,
  136.     ENCHANT_GLOVES_HYPERSPEED_ACCELERATORS = 3604,
  137.  
  138.     ENCHANT_BELT_ETERNAL_BELT_BUCKLE    = 3729,
  139.     ENCHANT_BELT_FRAG_BELT              = 3601,
  140.  
  141.     ENCHANT_LEGS_FROSTHIDE_ARMOR        = 3822,
  142.     ENCHANT_LEGS_ICESCALE_ARMOR         = 3823,
  143.     ENCHANT_LEGS_EARTHEN_ARMOR          = 3853,
  144.     ENCHANT_LEGS_SAPPHIRE_SPELLTHREAD   = 3873,
  145.     ENCHANT_LEGS_BRILLIANT_SPELLTHREAD  = 3872,
  146.  
  147.     ENCHANT_BOOTS_TUSKARRS_VITALITY     = 3232,
  148.     ENCHANT_BOOTS_ICEWALKER             = 2599,
  149.     ENCHANT_BOOTS_GREATER_ASSAULT       = 1597,
  150.     ENCHANT_BOOTS_GREATER_SPIRIT        = 528,
  151.     ENCHANT_BOOTS_GREATER_FORTITUDE     = 3259,
  152.     ENCHANT_BOOTS_SUPERIOR_AGILITY      = 983,
  153.     ENCHANT_BOOTS_NITRO_BOOSTS          = 3606,
  154.  
  155.     ENCHANT_RING_STAMINA                = 3791,
  156.     ENCHANT_RING_GREATER_SPELLPOWER     = 3840,
  157.     ENCHANT_RING_ASSAULT                = 3839,
  158.  
  159.     ENCHANT_RANGED_HEARTSEEKER_SCOPE    = 3608,
  160.     ENCHANT_RANGED_SUN_SCOPE            = 3607
  161. };
  162.  
  163. Item* PlayerAddItem(Player* player, uint32 item_id)
  164. {
  165.     uint8 count = 1;
  166.     uint32 noSpaceForCount = 0;
  167.     ItemPosCountVec dest;
  168.  
  169.     InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT,
  170.         dest, item_id, count, &noSpaceForCount);
  171.     if (msg != EQUIP_ERR_OK)
  172.         count -= noSpaceForCount;
  173.  
  174.     Item* item = player->StoreNewItem(dest, item_id, true,
  175.         Item::GenerateItemRandomPropertyId(item_id));
  176.  
  177.     if (noSpaceForCount > 0)
  178.     {
  179.         player->GetSession()->SendNotification("Por favor, hacer espacio en su "
  180.             "inventario.");
  181.         return NULL;
  182.     }
  183.     return item;
  184. }
  185.  
  186. void EnchantWithItem(Player* player, uint32 item_id, Item* target)
  187. {
  188.     Item* item = PlayerAddItem(player, item_id);
  189.     SpellCastTargets* targets = new SpellCastTargets();
  190.     targets->SetItemTarget(target);
  191.     player->CastItemUseSpell(item, *targets, 1, 0);
  192. }
  193.  
  194. void EnchantWithSpell(Player* player, uint32 spell_id, Item* item)
  195. {
  196.     SpellCastTargets* targets = new SpellCastTargets();
  197.     targets->SetItemTarget(item);
  198.     player->CastSpell(*targets, sSpellMgr->GetSpellInfo(spell_id),
  199.         NULL, TRIGGERED_IGNORE_POWER_AND_REAGENT_COST);
  200. }
  201.  
  202. void Enchant(Player* player, Creature* creature, Item* item, uint32 enchantid)
  203. {
  204.     if (!item)
  205.     {
  206.         player->GetSession()->SendNotification("Primero equipa el item.");
  207.         return;
  208.     }
  209.  
  210.     uint32 item_id = 0;
  211.     switch (enchantid)
  212.     {
  213.         case ENCHANT_WEP_GREATER_SPELL_POWER:
  214.         case ENCHANT_WEP_AGILITY_2H:
  215.         case ENCHANT_WEP_MASSACRE:
  216.             if (item->GetTemplate()->InventoryType != INVTYPE_2HWEAPON)
  217.             {
  218.                 ChatHandler(player->GetSession()).PSendSysMessage("Esta no es un arma de 2 Manos");
  219.                 return;
  220.             }
  221.             break;
  222.         case ENCHANT_SHIELD_DEFENSE:
  223.         case ENCHANT_SHIELD_INTELLECT:
  224.         case ENCHANT_SHIELD_MAJOR_STAMINA:
  225.         case ENCHANT_SHIELD_RESILIENCE:
  226.         case ENCHANT_SHIELD_TITANIUM_PLATING:
  227.         case ENCHANT_SHIELD_TITANIUM_SPIKE:
  228.             if (item->GetTemplate()->InventoryType != INVTYPE_SHIELD)
  229.             {
  230.                 ChatHandler(player->GetSession()).PSendSysMessage("Eso no es un escudo");
  231.                 return;
  232.             }
  233.             break;
  234.         case ENCHANT_RANGED_HEARTSEEKER_SCOPE:
  235.         case ENCHANT_RANGED_SUN_SCOPE:
  236.             if (item->GetTemplate()->InventoryType != INVTYPE_RANGED &&
  237.                 item->GetTemplate()->InventoryType != INVTYPE_RANGEDRIGHT)
  238.             {
  239.                 ChatHandler(player->GetSession()).PSendSysMessage("Eso no es un arma a distancia");
  240.                 return;
  241.             }
  242.             break;
  243.         default:
  244.             break;
  245.     }
  246.  
  247.     player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, false);
  248.     item->ClearEnchantment(PERM_ENCHANTMENT_SLOT);
  249.     item->SetEnchantment(PERM_ENCHANTMENT_SLOT, enchantid, 0, 0);
  250.     player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, true);
  251.  
  252.     switch (enchantid)
  253.     {
  254.         case ENCHANT_BELT_ETERNAL_BELT_BUCKLE:
  255.             EnchantWithItem(player, 41611, item);
  256.             break;
  257.         case ENCHANT_BRACER_SOCKET_BRACER:
  258.             PlayerAddItem(player, 5956); // Blacksmith hammer
  259.             EnchantWithSpell(player, 55628, item);
  260.             player->DestroyItemCount(5956, -1, true, false);
  261.             break;
  262.         case ENCHANT_GLOVES_SOCKET_GLOVES:
  263.             PlayerAddItem(player, 5956); // Blacksmith hammer
  264.             EnchantWithSpell(player, 55641, item);
  265.             player->DestroyItemCount(5956, -1, true, false);
  266.             break;
  267.     }
  268.    
  269.     const char* item_name = item->GetTemplate()->Name1.c_str();
  270.     player->GetSession()->SendNotification("|cff00ff00|TInterface\\icons\\inv_weapon_bow_55:20|t %s |cff00ff00|TInterface\\icons\\inv_weapon_bow_55:20|t ¡ITEM ENCANTADO!", item->GetTemplate()->Name1.c_str());
  271. }
  272.  
  273. class npc_enchantment : public CreatureScript
  274. {
  275.     public:
  276.         npc_enchantment() : CreatureScript("npc_enchantment") { }
  277.         int selected_enchant;
  278.  
  279.         bool OnGossipHello(Player* player, Creature* creature)
  280.         {
  281.             ShowMainMenu(player, creature);
  282.             return true;
  283.         }
  284.  
  285.         void ShowMainMenu(Player* player, Creature* creature)
  286.         {
  287.             ClearGossipMenuFor(Player);
  288.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Weapon_ShortBlade_02:30|t|r Encantar Arma", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  289.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Weapon_Staff_109:30|t|r Encantar Arma 2M", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
  290.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Weapon_ShortBlade_02:30|t|r Encantar Arma a Distancia", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);
  291.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\Ability_Warrior_ShieldWall:30|t|r Encantar Escudo", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
  292.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Misc_Head_Gnome_01:30|t|r Encantar Casco", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
  293.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_SHOULDER_97:30|t|r Encantar Hombros", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
  294.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\Item_icecrowncloak:30|t|r Encantar Capa", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
  295.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Misc_Desecrated_ClothChest:30|t|r Encantar Pecho", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
  296.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Misc_Desecrated_MailBracer:30|t|r Encantar Muneca", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
  297.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Misc_Desecrated_PlateGloves:30|t|r Encantar Guantes", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
  298.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Belt_28:30|t|r Encantar Cintura", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
  299.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Misc_Desecrated_ClothPants:30|t|r Encantar Piernas", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
  300.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\INV_Misc_Desecrated_LeatherBoots:30|t|r Encantar Botas", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);
  301.             if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) >= 450)
  302.                 AddGossipItemFor(player, GOSSIP_ICON_CHAT, "|cff00ff00|TInterface\\icons\\inv_jewelry_ring_11:30|t|rEncantar Anillos", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);
  303.             SendGossipMenuFor(player, 1, creature->GetGUID());
  304.         }
  305.  
  306.         void Show1HWeaponMenu(Player* player, Creature* creature)
  307.         {
  308.             ClearGossipMenuFor(Player);
  309.             if (player->getClass() == CLASS_DEATH_KNIGHT)
  310.             {
  311.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Cinderglacier", GOSSIP_SENDER_MAIN,
  312.                     ENCHANT_WEP_CINDERGLACIER);
  313.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Aterraexánime", GOSSIP_SENDER_MAIN,
  314.                     ENCHANT_WEP_LICHBANE);
  315.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Cuchilla de hielo", GOSSIP_SENDER_MAIN,
  316.                     ENCHANT_WEP_RAZORICE);
  317.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Ruptura de hechizos", GOSSIP_SENDER_MAIN,
  318.                     ENCHANT_WEP_SPELLBREAKING);
  319.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Interruptor espada", GOSSIP_SENDER_MAIN,
  320.                     ENCHANT_WEP_SWORDBREAKING);
  321.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de cruzado caído", GOSSIP_SENDER_MAIN,
  322.                     ENCHANT_WEP_FALLEN_CRUSADER);
  323.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Nerubian Caparazón", GOSSIP_SENDER_MAIN,
  324.                     ENCHANT_WEP_NERUBIAN_CARAPACE);
  325.             }
  326.             if (player->HasSkill(SKILL_ENCHANTING) && player->GetSkillValue(SKILL_ENCHANTING) >= 450)
  327.             {
  328.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Hoja Ward", GOSSIP_SENDER_MAIN,
  329.                     ENCHANT_WEP_BLADE_WARD);
  330.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "El drenaje de la sangre", GOSSIP_SENDER_MAIN,
  331.                     ENCHANT_WEP_BLOOD_DRAINING);
  332.             }
  333.        
  334.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Precision -- 25 Hit + 25 Crit", GOSSIP_SENDER_MAIN,
  335.                 ENCHANT_WEP_ACCURACY);
  336.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Magia Negra -- 250 Spell Haste Proc", GOSSIP_SENDER_MAIN,
  337.                 ENCHANT_WEP_BLACK_MAGIC);
  338.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Batalla -- La probabilidad de sanar en hit", GOSSIP_SENDER_MAIN,
  339.                 ENCHANT_WEP_BATTLEMASTER);
  340.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Rabiar -- 400 Attack Power Proc", GOSSIP_SENDER_MAIN,
  341.                 ENCHANT_WEP_BERSERKING);
  342.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Agilidad excepcional - 26 Agilidad", GOSSIP_SENDER_MAIN,
  343.                 ENCHANT_WEP_AGILITY_1H);
  344.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Espíritu Excepcional - 45 Espíritu", GOSSIP_SENDER_MAIN,
  345.                 ENCHANT_WEP_SPIRIT);
  346.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Verdugo - 120 Brazo Pen Proc", GOSSIP_SENDER_MAIN,
  347.                 ENCHANT_WEP_EXECUTIONER);
  348.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Icebreaker - daño de Fuego en la exitosa", GOSSIP_SENDER_MAIN,
  349.                 ENCHANT_WEP_ICEBREAKER);
  350.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Resguardo de vida - La probabilidad de sanar en hit", GOSSIP_SENDER_MAIN,
  351.                 ENCHANT_WEP_LIFEWARD);
  352.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Poder con hechizos Mighty - 63 poder con hechizos", GOSSIP_SENDER_MAIN,
  353.                 ENCHANT_WEP_MIGHTY_SPELL_POWER);
  354.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mangosta - 120 Agilidad Proc", GOSSIP_SENDER_MAIN,
  355.                 ENCHANT_WEP_MONGOOSE);
  356.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Potencia Superior - 65 poder de ataque", GOSSIP_SENDER_MAIN,
  357.                 ENCHANT_WEP_POTENCY);
  358.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Titanguard - 50 Aguante", GOSSIP_SENDER_MAIN,
  359.                 ENCHANT_WEP_TITANGUARD);
  360.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Cadena de Titanio - Menos Desarmar Tiempo", GOSSIP_SENDER_MAIN,
  361.                 ENCHANT_WEP_TITANIUM_CHAIN);
  362.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  363.             SendGossipMenuFor(player, 1, creature->GetGUID());
  364.         }
  365.  
  366.         void Show2HWeaponMenu(Player* player, Creature* creature)
  367.         {
  368.             ClearGossipMenuFor(Player);
  369.             if (player->getClass() == CLASS_DEATH_KNIGHT)
  370.             {
  371.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Cinderglacier", GOSSIP_SENDER_MAIN,
  372.                     ENCHANT_WEP_CINDERGLACIER);
  373.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de aterraexánime", GOSSIP_SENDER_MAIN,
  374.                     ENCHANT_WEP_LICHBANE);
  375.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de cuchilla de hielo", GOSSIP_SENDER_MAIN,
  376.                     ENCHANT_WEP_RAZORICE);
  377.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Hechizo destrozando", GOSSIP_SENDER_MAIN,
  378.                     ENCHANT_WEP_SPELLSHATTERING);
  379.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de Espada demoledora", GOSSIP_SENDER_MAIN,
  380.                     ENCHANT_WEP_SWORDSHATTERING);
  381.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de cruzado caído", GOSSIP_SENDER_MAIN,
  382.                     ENCHANT_WEP_FALLEN_CRUSADER);
  383.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Runa de la gárgola piel de piedra", GOSSIP_SENDER_MAIN,
  384.                     ENCHANT_WEP_STONESKIN_GARGOYLE);
  385.             }
  386.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Rabiar - Ataque 400 Poder Proc", GOSSIP_SENDER_MAIN,
  387.                 ENCHANT_WEP_BERSERKING);
  388.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Verdugo - 120 Brazo Pen Proc", GOSSIP_SENDER_MAIN,
  389.                 ENCHANT_WEP_EXECUTIONER);
  390.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor poder con hechizos - 81 poder con hechizos", GOSSIP_SENDER_MAIN,
  391.                 ENCHANT_WEP_GREATER_SPELL_POWER);
  392.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor agilidad - 35 Agilidad", GOSSIP_SENDER_MAIN,
  393.                 ENCHANT_WEP_AGILITY_2H);
  394.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Masacre - 110 poder de ataque", GOSSIP_SENDER_MAIN,
  395.                 ENCHANT_WEP_MASSACRE);
  396.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mangosta - 120 Agilidad Proc", GOSSIP_SENDER_MAIN,
  397.                 ENCHANT_WEP_MONGOOSE);
  398.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  399.             SendGossipMenuFor(player,1, creature->GetGUID());
  400.         }
  401.  
  402.         void ShowShieldMenu(Player* player, Creature* creature)
  403.         {
  404.             ClearGossipMenuFor(Player);
  405.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Defensa - 20 Defensa", GOSSIP_SENDER_MAIN,
  406.                 ENCHANT_SHIELD_DEFENSE);
  407.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Gran Intelecto - 25 Intelecto", GOSSIP_SENDER_MAIN,
  408.                 ENCHANT_SHIELD_INTELLECT);
  409.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor Resistencia - 18 Stamina", GOSSIP_SENDER_MAIN,
  410.                 ENCHANT_SHIELD_MAJOR_STAMINA);
  411.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Resiliencia - 12 Resiliencia", GOSSIP_SENDER_MAIN,
  412.                 ENCHANT_SHIELD_RESILIENCE);
  413.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Titanio Revestimiento - 36 Bloquear", GOSSIP_SENDER_MAIN,
  414.                 ENCHANT_SHIELD_TITANIUM_PLATING);
  415.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Titanio Punta de escudo - 81 Block + 50% menos Desarmar", GOSSIP_SENDER_MAIN,
  416.                 ENCHANT_SHIELD_TITANIUM_SPIKE);
  417.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  418.             SendGossipMenuFor(player,1, creature->GetGUID());
  419.         }
  420.  
  421.         void ShowHeadMenu(Player* player, Creature* creature)
  422.         {
  423.             ClearGossipMenuFor(Player);
  424.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de Mending dichoso - 30 poder con hechizos + 10 Mp5", GOSSIP_SENDER_MAIN,
  425.                 ENCHANT_HEAD_BLISSFUL_MENDING);
  426.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de Quemar Misterios - 25 Resistencia al Fuego + 30 Stam", GOSSIP_SENDER_MAIN,
  427.                 ENCHANT_HEAD_BURNING_MYSTERIES);
  428.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de Dominación - 30 poder con hechizos 20 + Critico", GOSSIP_SENDER_MAIN,
  429.                 ENCHANT_HEAD_DOMINANCE);
  430.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de El Gladiador indómito - 30 Resistencia + 25 Resil", GOSSIP_SENDER_MAIN,
  431.                 ENCHANT_HEAD_SAVAGE_GLADIATOR);
  432.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de El Protector Stalwart - 37 Resistencia + Defensa", GOSSIP_SENDER_MAIN,
  433.                 ENCHANT_HEAD_STALWART_PROTECTOR);
  434.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de Tormento - 29 poder con hechizos + 20 Resil", GOSSIP_SENDER_MAIN,
  435.                 ENCHANT_HEAD_TORMENT);
  436.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Arcano de Triumph - 50 Poder de Ataque + 20 Resil", GOSSIP_SENDER_MAIN,
  437.                 ENCHANT_HEAD_TRIUMPH);
  438.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  439.             SendGossipMenuFor(player,1, creature->GetGUID());
  440.         }
  441.  
  442.         void ShowShouldersMenu(Player* player, Creature* creature)
  443.         {
  444.             ClearGossipMenuFor(Player);
  445.             if (player->HasSkill(SKILL_INSCRIPTION) && player->GetSkillValue(SKILL_INSCRIPTION) >= 450)
  446.             {
  447.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del Maestro de la Axe", GOSSIP_SENDER_MAIN,
  448.                     ENCHANT_SHOULDER_MASTERS_AXE);
  449.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del Maestro de la Crag", GOSSIP_SENDER_MAIN,
  450.                     ENCHANT_SHOULDER_MASTERS_CRAG);
  451.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del Maestro de pináculo", GOSSIP_SENDER_MAIN,
  452.                     ENCHANT_SHOULDER_MASTERS_PINNACLE);
  453.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del Maestro de la tormenta", GOSSIP_SENDER_MAIN,
  454.                     ENCHANT_SHOULDER_MASTERS_STORM);
  455.             }
  456.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del hacha - 40 Poder de Ataque + 15 Crit", GOSSIP_SENDER_MAIN,
  457.                 ENCHANT_SHOULDER_GREATER_AXE);
  458.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción de la Peña - 24 poder con hechizos + 8 Mp5", GOSSIP_SENDER_MAIN,
  459.                 ENCHANT_SHOULDER_GREATER_CRAG);
  460.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del pináculo - 30 Resistencia + 15 Resil", GOSSIP_SENDER_MAIN,
  461.                 ENCHANT_SHOULDER_GREATER_PINNACLE);
  462.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción del Gladiador - 20 de Dodge + 15 Defensa", GOSSIP_SENDER_MAIN,
  463.                 ENCHANT_SHOULDER_GREATER_GLADIATOR);
  464.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción de la tormenta - 24 poder con hechizos 15 + Crit", GOSSIP_SENDER_MAIN,
  465.                 ENCHANT_SHOULDER_GREATER_STORM);
  466.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción de Dominación - 23 poder con hechizos + 15", GOSSIP_SENDER_MAIN,
  467.                 ENCHANT_SHOULDER_DOMINANCE);
  468.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Inscripción de triunfo - 40 poder de ataque + 15 Resil", GOSSIP_SENDER_MAIN,
  469.                 ENCHANT_SHOULDER_TRIUMPH);
  470.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  471.             SendGossipMenuFor(player,1, creature->GetGUID());
  472.         }
  473.  
  474.         void ShowCloakMenu(Player* player, Creature* creature)
  475.         {
  476.             ClearGossipMenuFor(Player);
  477.             if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) >= 450)
  478.             {
  479.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Elástico Arachne Weave", GOSSIP_SENDER_MAIN,
  480.                     ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE);
  481.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Base de tejido flexible", GOSSIP_SENDER_MAIN,
  482.                     ENCHANT_CLOAK_FLEXWEAVE_UNDERLAY);
  483.             }
  484.             if (player->getClass() == CLASS_ROGUE)
  485.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Shadow Armor", GOSSIP_SENDER_MAIN,
  486.                     ENCHANT_CLOAK_SHADOW_ARMOR);
  487.             if (player->HasSkill(SKILL_TAILORING) && player->GetSkillValue(SKILL_TAILORING) >= 450)
  488.             {
  489.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Darkglow bordado", GOSSIP_SENDER_MAIN,
  490.                     ENCHANT_CLOAK_DARKGLOW_EMBROIDERY);
  491.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "bordado de tejido de luz", GOSSIP_SENDER_MAIN,
  492.                     ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY);
  493.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "bordado de guardia de espada", GOSSIP_SENDER_MAIN,
  494.                     ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY);
  495.             }
  496.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Sabiduría - 10 Espíritu + 2% a reducir la amenaza", GOSSIP_SENDER_MAIN,
  497.                 ENCHANT_CLOAK_WISDOM);
  498.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Titanweave - 16 Defensa", GOSSIP_SENDER_MAIN,
  499.                 ENCHANT_CLOAK_TITANWEAVE);
  500.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Hechizo Piercing - 35 Mágicas Pen", GOSSIP_SENDER_MAIN,
  501.                 ENCHANT_CLOAK_SPELL_PIERCING);
  502.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Armor Mighty - 225 Armor", GOSSIP_SENDER_MAIN,
  503.                 ENCHANT_CLOAK_MIGHTY_ARMOR);
  504.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor agilidad - 22 Agilidad", GOSSIP_SENDER_MAIN,
  505.                 ENCHANT_CLOAK_MAJOR_AGILITY);
  506.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor velocidad - 23 Haste", GOSSIP_SENDER_MAIN,
  507.                 ENCHANT_CLOAK_GREATER_SPEED);
  508.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  509.             SendGossipMenuFor(player,1, creature->GetGUID());
  510.         }
  511.        
  512.         void ShowChestMenu(Player* player, Creature* creature)
  513.         {
  514.             ClearGossipMenuFor(Player);
  515.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mana Excepcional - 150 Mana", GOSSIP_SENDER_MAIN,
  516.                 ENCHANT_CHEST_EXCEPTIONAL_MANA);
  517.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Maná superior Restauración - 10 Mp5", GOSSIP_SENDER_MAIN,
  518.                 ENCHANT_CHEST_GREATER_MANA_RESTO);
  519.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Resiliencia Excepcional - 20 Resiliencia", GOSSIP_SENDER_MAIN,
  520.                 ENCHANT_CHEST_EXCEPTIONAL_RESILIENCE);
  521.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Súper Salud - 225 Salud", GOSSIP_SENDER_MAIN,
  522.                 ENCHANT_CHEST_SUPER_HEALTH);
  523.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "10 de todas las estadísticas", GOSSIP_SENDER_MAIN,
  524.                 ENCHANT_CHEST_ALL_STATS);
  525.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  526.             SendGossipMenuFor(player,1, creature->GetGUID());
  527.         }
  528.        
  529.         void ShowBracerMenu(Player* player, Creature* creature)
  530.         {
  531.             ClearGossipMenuFor(Player);
  532.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Gran Asalto - 50 poder de ataque", GOSSIP_SENDER_MAIN,
  533.                 ENCHANT_BRACER_GREATER_ASSAULT);
  534.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "El intelecto excepcional - 16 Intelecto", GOSSIP_SENDER_MAIN,
  535.                 ENCHANT_BRACER_EXCEPTIONAL_INTELLECT);
  536.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor Espíritu - 18 Espíritu", GOSSIP_SENDER_MAIN,
  537.                 ENCHANT_BRACER_MAJOR_SPIRIT);
  538.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Experiencia - 15 Especialización", GOSSIP_SENDER_MAIN,
  539.                 ENCHANT_BRACER_EXPERTISE);
  540.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayores Stats - 6 TODAS LAS ESTADÍSTICAS", GOSSIP_SENDER_MAIN,
  541.                 ENCHANT_BRACER_GREATER_STATS);
  542.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Poder con hechizos superior - 30 poder con hechizos", GOSSIP_SENDER_MAIN,
  543.                 ENCHANT_BRACER_SUPERIOR_SPELLPOWER);
  544.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor Resistencia - 40 Stamina", GOSSIP_SENDER_MAIN,
  545.                 ENCHANT_BRACER_MAJOR_STAMINA);
  546.             if (player->HasSkill(SKILL_LEATHERWORKING) && player->GetSkillValue(SKILL_LEATHERWORKING) >= 450)
  547.             {
  548.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Poder de Ataque", GOSSIP_SENDER_MAIN,
  549.                     ENCHANT_BRACER_FUR_LINING_AP);
  550.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Aguante", GOSSIP_SENDER_MAIN,
  551.                     ENCHANT_BRACER_FUR_LINING_STAMINA);
  552.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: poder con hechizos", GOSSIP_SENDER_MAIN,
  553.                     ENCHANT_BRACER_FUR_LINING_SP);
  554.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Resistir Arcano", GOSSIP_SENDER_MAIN,
  555.                     ENCHANT_BRACER_ARCANE_RESIST);
  556.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Naturaleza Resist", GOSSIP_SENDER_MAIN,
  557.                     ENCHANT_BRACER_NATURE_RESIST);
  558.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Shadow Resista", GOSSIP_SENDER_MAIN,
  559.                     ENCHANT_BRACER_SHADOW_RESIST);
  560.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Helada Resist", GOSSIP_SENDER_MAIN,
  561.                     ENCHANT_BRACER_FROST_RESIST);
  562.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Piel Forro: Resistencia al Fuego", GOSSIP_SENDER_MAIN,
  563.                     ENCHANT_BRACER_FIRE_RESIST);
  564.             }
  565.             if (player->HasSkill(SKILL_BLACKSMITHING) && player->GetSkillValue(SKILL_BLACKSMITHING) >= 450)
  566.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Socket brazales", GOSSIP_SENDER_MAIN,
  567.                     ENCHANT_BRACER_SOCKET_BRACER);
  568.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  569.             SendGossipMenuFor(player, 1, creature->GetGUID());
  570.         }
  571.  
  572.         void ShowGlovesMenu(Player* player, Creature* creature)
  573.         {
  574.             ClearGossipMenuFor(Player);
  575.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Soldado - 2% Amenaza 10 Parry", GOSSIP_SENDER_MAIN,
  576.                 ENCHANT_GLOVES_ARMSMAN);
  577.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Poder con hechizos excepcional - 23 poder con hechizos", GOSSIP_SENDER_MAIN,
  578.                 ENCHANT_GLOVES_EXCEPTIONAL_SPELLPOWER);
  579.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Experiencia - 15 Especialización", GOSSIP_SENDER_MAIN,
  580.                 ENCHANT_GLOVES_EXPERTISE);
  581.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Gran Asalto - 44 poder de ataque", GOSSIP_SENDER_MAIN,
  582.                 ENCHANT_GLOVES_CRUSHER);
  583.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor agilidad - 20 Agilidad", GOSSIP_SENDER_MAIN,
  584.                 ENCHANT_GLOVES_MAJOR_AGILITY);
  585.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Precisión - 20 Hit Rating", GOSSIP_SENDER_MAIN,
  586.                 ENCHANT_GLOVES_PRECISION);
  587.             if (player->HasSkill(SKILL_BLACKSMITHING) && player->GetSkillValue(SKILL_BLACKSMITHING) >= 450)
  588.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Guantes Socket", GOSSIP_SENDER_MAIN, ENCHANT_GLOVES_SOCKET_GLOVES);
  589.             if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) >= 450)
  590.             {
  591.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mano-Mounted Pyro Rocket", GOSSIP_SENDER_MAIN, ENCHANT_GLOVES_PYROROCKET);
  592.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Aceleradores de hipervelocidad", GOSSIP_SENDER_MAIN, ENCHANT_GLOVES_HYPERSPEED_ACCELERATORS);
  593.             }
  594.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  595.             SendGossipMenuFor(player, 1, creature->GetGUID());
  596.         }
  597.  
  598.         void ShowBeltMenu(Player* player, Creature* creature)
  599.         {
  600.             ClearGossipMenuFor(Player);
  601.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Eterno hebilla de cinturón", GOSSIP_SENDER_MAIN, ENCHANT_BELT_ETERNAL_BELT_BUCKLE);
  602.             if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) >= 450)
  603.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Frag Cinturón", GOSSIP_SENDER_MAIN, ENCHANT_BELT_FRAG_BELT);
  604.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  605.             SendGossipMenuFor(player,1, creature->GetGUID());
  606.         }
  607.  
  608.         void ShowLegsMenu(Player* player, Creature* creature)
  609.         {
  610.             ClearGossipMenuFor(Player);
  611.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Armadura para pierna de pellejo de escarcha - 55 Stam 22 Agil", GOSSIP_SENDER_MAIN,
  612.                 ENCHANT_LEGS_FROSTHIDE_ARMOR);
  613.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Icescale Armadura para pierna - 75 AP 22 Crit", GOSSIP_SENDER_MAIN,
  614.                 ENCHANT_LEGS_ICESCALE_ARMOR);
  615.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Earthen Armadura para pierna - 40 Resil 28 Stam", GOSSIP_SENDER_MAIN,
  616.                 ENCHANT_LEGS_EARTHEN_ARMOR);
  617.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Sapphire hilo de hechizo - 50 SP 30 Stam", GOSSIP_SENDER_MAIN,
  618.                 ENCHANT_LEGS_SAPPHIRE_SPELLTHREAD);
  619.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Brillante hilo de hechizo - 50 SP 22 Espíritu", GOSSIP_SENDER_MAIN,
  620.                 ENCHANT_LEGS_BRILLIANT_SPELLTHREAD);
  621.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  622.             SendGossipMenuFor(player,1, creature->GetGUID());
  623.         }
  624.  
  625.         void ShowBootsMenu(Player* player, Creature* creature)
  626.         {
  627.             ClearGossipMenuFor(Player);
  628.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Icewalker - 12 Hit + 12 Crit", GOSSIP_SENDER_MAIN,
  629.                 ENCHANT_BOOTS_ICEWALKER);
  630.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Gran Asalto - 32 Assult", GOSSIP_SENDER_MAIN,
  631.                 ENCHANT_BOOTS_GREATER_ASSAULT);
  632.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor Fortaleza - 22 stamins", GOSSIP_SENDER_MAIN,
  633.                 ENCHANT_BOOTS_GREATER_FORTITUDE);
  634.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Gran Espíritu - 18 Espíritu", GOSSIP_SENDER_MAIN,
  635.                 ENCHANT_BOOTS_GREATER_SPIRIT);
  636.             if (player->HasSkill(SKILL_ENGINEERING) && player->GetSkillValue(SKILL_ENGINEERING) >= 450)
  637.                 AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Aumenta Nitro", GOSSIP_SENDER_MAIN,
  638.                     ENCHANT_BOOTS_NITRO_BOOSTS);
  639.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Agilidad Superior - 16 Agilidad", GOSSIP_SENDER_MAIN,
  640.                 ENCHANT_BOOTS_SUPERIOR_AGILITY);
  641.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Vitalidad de Tuskarr - 15 Stam + velocidad Aumentar", GOSSIP_SENDER_MAIN,
  642.                 ENCHANT_BOOTS_TUSKARRS_VITALITY);
  643.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  644.             SendGossipMenuFor(player, 1, creature->GetGUID());
  645.         }
  646.  
  647.         void ShowRingsMenu(Player* player, Creature* creature)
  648.         {
  649.             ClearGossipMenuFor(Player);
  650.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Asalto", GOSSIP_SENDER_MAIN,
  651.                 ENCHANT_RING_ASSAULT);
  652.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Mayor poder con hechizos", GOSSIP_SENDER_MAIN,
  653.                 ENCHANT_RING_GREATER_SPELLPOWER);
  654.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Aguante", GOSSIP_SENDER_MAIN,
  655.                 ENCHANT_RING_STAMINA);
  656.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  657.             SendGossipMenuFor(player, 1, creature->GetGUID());
  658.         }
  659.  
  660.         void ShowRangedMenu(Player* player, Creature* creature)
  661.         {
  662.             ClearGossipMenuFor(Player);
  663.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Buscacorazones Alcance", GOSSIP_SENDER_MAIN,
  664.                 ENCHANT_RANGED_HEARTSEEKER_SCOPE);
  665.             AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Sun Alcance", GOSSIP_SENDER_MAIN,
  666.                 ENCHANT_RANGED_SUN_SCOPE);
  667.             AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Atras", GOSSIP_SENDER_MAIN, -1);
  668.             SendGossipMenuFor(player, 1, creature->GetGUID());
  669.         }
  670.  
  671.         bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
  672.         {
  673.             int slot = -1;
  674.             bool check_adjacent_slot = true;
  675.             switch (action)
  676.             {
  677.                 case -1: // Back
  678.                     ShowMainMenu(player, creature);
  679.                     break;
  680.                 case GOSSIP_ACTION_INFO_DEF + 1:
  681.                     Show1HWeaponMenu(player, creature);
  682.                     break;
  683.                 case GOSSIP_ACTION_INFO_DEF + 2:
  684.                     Show2HWeaponMenu(player, creature);
  685.                     break;
  686.                 case GOSSIP_ACTION_INFO_DEF + 3:
  687.                     ShowShieldMenu(player, creature);
  688.                     break;
  689.                 case GOSSIP_ACTION_INFO_DEF + 4:
  690.                     ShowHeadMenu(player, creature);
  691.                     break;
  692.                 case GOSSIP_ACTION_INFO_DEF + 5:
  693.                     ShowShouldersMenu(player, creature);
  694.                     break;
  695.                 case GOSSIP_ACTION_INFO_DEF + 6:
  696.                     ShowCloakMenu(player, creature);
  697.                     break;
  698.                 case GOSSIP_ACTION_INFO_DEF + 7:
  699.                     ShowChestMenu(player, creature);
  700.                     break;
  701.                 case GOSSIP_ACTION_INFO_DEF + 8:
  702.                     ShowBracerMenu(player, creature);
  703.                     break;
  704.                 case GOSSIP_ACTION_INFO_DEF + 9:
  705.                     ShowGlovesMenu(player, creature);
  706.                     break;
  707.                 case GOSSIP_ACTION_INFO_DEF + 10:
  708.                     ShowBeltMenu(player, creature);
  709.                     break;
  710.                 case GOSSIP_ACTION_INFO_DEF + 11:
  711.                     ShowLegsMenu(player, creature);
  712.                     break;
  713.                 case GOSSIP_ACTION_INFO_DEF + 12:
  714.                     ShowBootsMenu(player, creature);
  715.                     break;
  716.                 case GOSSIP_ACTION_INFO_DEF + 13:
  717.                     ShowRangedMenu(player, creature);
  718.                     break;
  719.                 case GOSSIP_ACTION_INFO_DEF + 14:
  720.                     ShowRingsMenu(player, creature);
  721.                     break;
  722.  
  723.                 // 1H weapons
  724.                 case ENCHANT_WEP_BLADE_WARD:
  725.                 case ENCHANT_WEP_BLOOD_DRAINING:
  726.                 case ENCHANT_WEP_AGILITY_1H:
  727.                 case ENCHANT_WEP_SPIRIT:
  728.                 case ENCHANT_WEP_BERSERKING:
  729.                 case ENCHANT_WEP_ACCURACY:
  730.                 case ENCHANT_WEP_BLACK_MAGIC:
  731.                 case ENCHANT_WEP_BATTLEMASTER:
  732.                 case ENCHANT_WEP_ICEBREAKER:
  733.                 case ENCHANT_WEP_LIFEWARD:
  734.                 case ENCHANT_WEP_TITANGUARD:
  735.                 case ENCHANT_WEP_POTENCY:
  736.                 case ENCHANT_WEP_MONGOOSE:
  737.                 case ENCHANT_WEP_MIGHTY_SPELL_POWER:
  738.                 case ENCHANT_WEP_EXECUTIONER:
  739.                 case ENCHANT_WEP_TITANIUM_CHAIN:
  740.  
  741.                 // 2H weapons
  742.                 // case ENCHANT_WEP_BERSERKING:
  743.                 // case ENCHANT_WEP_MONGOOSE:
  744.                 // case ENCHANT_WEP_EXECUTIONER:
  745.                 // case ENCHANT_WEP_TITANIUM_CHAIN:
  746.                 case ENCHANT_WEP_GREATER_SPELL_POWER:
  747.                 case ENCHANT_WEP_AGILITY_2H:
  748.                 case ENCHANT_WEP_MASSACRE:
  749.  
  750.                 // Runeforging
  751.                 case ENCHANT_WEP_CINDERGLACIER:
  752.                 case ENCHANT_WEP_LICHBANE:
  753.                 case ENCHANT_WEP_RAZORICE:
  754.                 case ENCHANT_WEP_SPELLBREAKING:
  755.                 case ENCHANT_WEP_SPELLSHATTERING:
  756.                 case ENCHANT_WEP_SWORDBREAKING:
  757.                 case ENCHANT_WEP_SWORDSHATTERING:
  758.                 case ENCHANT_WEP_FALLEN_CRUSADER:
  759.                 case ENCHANT_WEP_NERUBIAN_CARAPACE:
  760.                 case ENCHANT_WEP_STONESKIN_GARGOYLE:
  761.                     slot = EQUIPMENT_SLOT_MAINHAND;
  762.                     break;
  763.  
  764.                 // Shields
  765.                 case ENCHANT_SHIELD_DEFENSE:
  766.                 case ENCHANT_SHIELD_INTELLECT:
  767.                 case ENCHANT_SHIELD_RESILIENCE:
  768.                 case ENCHANT_SHIELD_TITANIUM_PLATING:
  769.                 case ENCHANT_SHIELD_MAJOR_STAMINA:
  770.                 case ENCHANT_SHIELD_TITANIUM_SPIKE:
  771.                     slot = EQUIPMENT_SLOT_OFFHAND;
  772.                     break;
  773.  
  774.                 // Head
  775.                 case ENCHANT_HEAD_BLISSFUL_MENDING:
  776.                 case ENCHANT_HEAD_BURNING_MYSTERIES:
  777.                 case ENCHANT_HEAD_DOMINANCE:  
  778.                 case ENCHANT_HEAD_SAVAGE_GLADIATOR:
  779.                 case ENCHANT_HEAD_STALWART_PROTECTOR:
  780.                 case ENCHANT_HEAD_TORMENT:          
  781.                 case ENCHANT_HEAD_TRIUMPH:
  782.                     slot = EQUIPMENT_SLOT_HEAD;
  783.                     break;
  784.  
  785.                 // Shoulders
  786.                 case ENCHANT_SHOULDER_MASTERS_AXE:
  787.                 case ENCHANT_SHOULDER_MASTERS_CRAG:
  788.                 case ENCHANT_SHOULDER_MASTERS_PINNACLE:
  789.                 case ENCHANT_SHOULDER_MASTERS_STORM:
  790.                 case ENCHANT_SHOULDER_GREATER_AXE:
  791.                 case ENCHANT_SHOULDER_GREATER_CRAG:
  792.                 case ENCHANT_SHOULDER_GREATER_GLADIATOR:
  793.                 case ENCHANT_SHOULDER_GREATER_PINNACLE:
  794.                 case ENCHANT_SHOULDER_GREATER_STORM:
  795.                 case ENCHANT_SHOULDER_DOMINANCE:
  796.                 case ENCHANT_SHOULDER_TRIUMPH:
  797.                     slot = EQUIPMENT_SLOT_SHOULDERS;
  798.                     break;
  799.  
  800.                 // Cloak
  801.                 case ENCHANT_CLOAK_DARKGLOW_EMBROIDERY:
  802.                 case ENCHANT_CLOAK_SWORDGUARD_EMBROIDERY:
  803.                 case ENCHANT_CLOAK_FLEXWEAVE_UNDERLAY:
  804.                 case ENCHANT_CLOAK_LIGHTWEAVE_EMBROIDERY:
  805.                 case ENCHANT_CLOAK_SPRINGY_ARACHNOWEAVE:
  806.                 case ENCHANT_CLOAK_WISDOM:
  807.                 case ENCHANT_CLOAK_TITANWEAVE:
  808.                 case ENCHANT_CLOAK_SPELL_PIERCING:
  809.                 case ENCHANT_CLOAK_SHADOW_ARMOR:
  810.                 case ENCHANT_CLOAK_MIGHTY_ARMOR:
  811.                 case ENCHANT_CLOAK_MAJOR_AGILITY:
  812.                 case ENCHANT_CLOAK_GREATER_SPEED:
  813.                     slot = EQUIPMENT_SLOT_BACK;
  814.                     break;
  815.  
  816.                 // Chest
  817.                 case ENCHANT_CHEST_EXCEPTIONAL_MANA:
  818.                 case ENCHANT_CHEST_GREATER_MANA_RESTO:
  819.                 case ENCHANT_CHEST_EXCEPTIONAL_RESILIENCE:
  820.                 case ENCHANT_CHEST_SUPER_HEALTH:
  821.                 case ENCHANT_CHEST_ALL_STATS:
  822.                     slot = EQUIPMENT_SLOT_CHEST;
  823.                     break;
  824.  
  825.                 // Bracers
  826.                 case ENCHANT_BRACER_GREATER_ASSAULT:
  827.                 case ENCHANT_BRACER_EXCEPTIONAL_INTELLECT:
  828.                 case ENCHANT_BRACER_MAJOR_SPIRIT:
  829.                 case ENCHANT_BRACER_EXPERTISE:
  830.                 case ENCHANT_BRACER_GREATER_STATS:
  831.                 case ENCHANT_BRACER_SUPERIOR_SPELLPOWER:
  832.                 case ENCHANT_BRACER_MAJOR_STAMINA:
  833.                 case ENCHANT_BRACER_FUR_LINING_AP:
  834.                 case ENCHANT_BRACER_FUR_LINING_STAMINA:
  835.                 case ENCHANT_BRACER_FUR_LINING_SP:
  836.                 case ENCHANT_BRACER_ARCANE_RESIST:
  837.                 case ENCHANT_BRACER_NATURE_RESIST:
  838.                 case ENCHANT_BRACER_SHADOW_RESIST:
  839.                 case ENCHANT_BRACER_FROST_RESIST:
  840.                 case ENCHANT_BRACER_FIRE_RESIST:
  841.                 case ENCHANT_BRACER_SOCKET_BRACER:
  842.                     slot = EQUIPMENT_SLOT_WRISTS;
  843.                     break;
  844.  
  845.                 // Gloves
  846.                 case ENCHANT_GLOVES_EXPERTISE:
  847.                 case ENCHANT_GLOVES_PRECISION:
  848.                 case ENCHANT_GLOVES_GREATER_ASSAULT:
  849.                 case ENCHANT_GLOVES_MAJOR_AGILITY:
  850.                 case ENCHANT_GLOVES_EXCEPTIONAL_SPELLPOWER:
  851.                 case ENCHANT_GLOVES_ARMSMAN:
  852.                 case ENCHANT_GLOVES_SOCKET_GLOVES:
  853.                 case ENCHANT_GLOVES_PYROROCKET:
  854.                 case ENCHANT_GLOVES_HYPERSPEED_ACCELERATORS:
  855.                     slot = EQUIPMENT_SLOT_HANDS;
  856.                     break;
  857.  
  858.                 // Belt
  859.                 case ENCHANT_BELT_ETERNAL_BELT_BUCKLE:
  860.                 case ENCHANT_BELT_FRAG_BELT:
  861.                     slot = EQUIPMENT_SLOT_WAIST;
  862.                     break;
  863.  
  864.                 // Legs
  865.                 case ENCHANT_LEGS_FROSTHIDE_ARMOR:
  866.                 case ENCHANT_LEGS_ICESCALE_ARMOR:
  867.                 case ENCHANT_LEGS_EARTHEN_ARMOR:
  868.                 case ENCHANT_LEGS_SAPPHIRE_SPELLTHREAD :
  869.                 case ENCHANT_LEGS_BRILLIANT_SPELLTHREAD:
  870.                     slot = EQUIPMENT_SLOT_LEGS;
  871.                     break;
  872.  
  873.                 // Boots
  874.                 case ENCHANT_BOOTS_TUSKARRS_VITALITY:
  875.                 case ENCHANT_BOOTS_ICEWALKER:
  876.                 case ENCHANT_BOOTS_GREATER_ASSAULT:
  877.                 case ENCHANT_BOOTS_GREATER_SPIRIT:
  878.                 case ENCHANT_BOOTS_GREATER_FORTITUDE:
  879.                 case ENCHANT_BOOTS_SUPERIOR_AGILITY:
  880.                 case ENCHANT_BOOTS_NITRO_BOOSTS:
  881.                     slot = EQUIPMENT_SLOT_FEET;
  882.                     break;
  883.  
  884.                 // Rings
  885.                 case ENCHANT_RING_STAMINA:
  886.                 case ENCHANT_RING_GREATER_SPELLPOWER:
  887.                 case ENCHANT_RING_ASSAULT:
  888.                     slot = EQUIPMENT_SLOT_FINGER1;
  889.                     break;
  890.                
  891.                 // Ranged weapon
  892.                 case ENCHANT_RANGED_HEARTSEEKER_SCOPE:
  893.                 case ENCHANT_RANGED_SUN_SCOPE:
  894.                     slot = EQUIPMENT_SLOT_RANGED;
  895.                     break;
  896.  
  897.                 // Main hand
  898.                 case GOSSIP_ACTION_INFO_DEF + 20:
  899.                     slot = EQUIPMENT_SLOT_MAINHAND;
  900.                     action = selected_enchant;
  901.                     check_adjacent_slot = false;
  902.                     break;
  903.  
  904.                 // Off hand
  905.                 case GOSSIP_ACTION_INFO_DEF + 21:
  906.                     slot = EQUIPMENT_SLOT_OFFHAND;
  907.                     action = selected_enchant;
  908.                     check_adjacent_slot = false;
  909.                     break;
  910.  
  911.                 default:
  912.                     CloseGossipMenuFor(player);
  913.                     break;
  914.             }
  915.             if (slot > -1)
  916.             {
  917.                 // allows for a maximum of 2 duplicates, and the
  918.                 // convenience of using enchant ids as gossip
  919.                 // userdata
  920.                 Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot);
  921.                 if (!item && slot == INVTYPE_RANGEDRIGHT)
  922.                     item   = player->GetItemByPos(INVENTORY_SLOT_BAG_0,
  923.                         INVTYPE_RANGEDRIGHT);
  924.                 if (item && check_adjacent_slot &&
  925.                     item->GetEnchantmentId(PERM_ENCHANTMENT_SLOT) != 0)
  926.                 {
  927.                     switch (slot)
  928.                     {
  929.                         case EQUIPMENT_SLOT_MAINHAND:
  930.                         {
  931.                             Item* offhand = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
  932.                             if (offhand)
  933.                             {
  934.                                 ClearGossipMenuFor(Player);
  935.                                 AddGossipItemFor(player, GOSSIP_ICON_CHAT,
  936.                                     item->GetTemplate()->Name1.c_str(),
  937.                                     GOSSIP_SENDER_MAIN,
  938.                                     GOSSIP_ACTION_INFO_DEF + 20);
  939.                                 AddGossipItemFor(player, GOSSIP_ICON_CHAT,
  940.                                     offhand->GetTemplate()->Name1.c_str(),
  941.                                     GOSSIP_SENDER_MAIN,
  942.                                     GOSSIP_ACTION_INFO_DEF + 21);
  943.                                 AddGossipItemFor(player, GOSSIP_ICON_CHAT,
  944.                                     "Back",
  945.                                     GOSSIP_SENDER_MAIN, -1);
  946.                                 SendGossipMenuFor(player,1, creature->GetGUID());
  947.                                 selected_enchant = action;
  948.                                 return true;
  949.                             }
  950.                             break;
  951.                         }
  952.                         case EQUIPMENT_SLOT_FINGER1:
  953.                         {
  954.                             Item* ring2 = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_FINGER2);
  955.                             if (ring2)
  956.                             {
  957.                                 ClearGossipMenuFor(Player);
  958.                                 AddGossipItemFor(player, GOSSIP_ICON_CHAT,
  959.                                     item->GetTemplate()->Name1.c_str(),
  960.                                     GOSSIP_SENDER_MAIN,
  961.                                     GOSSIP_ACTION_INFO_DEF + 20);
  962.                                 AddGossipItemFor(player, GOSSIP_ICON_CHAT,
  963.                                     ring2->GetTemplate()->Name1.c_str(),
  964.                                     GOSSIP_SENDER_MAIN,
  965.                                     GOSSIP_ACTION_INFO_DEF + 21);
  966.                                 AddGossipItemFor(player, GOSSIP_ICON_CHAT,
  967.                                     "Back",
  968.                                     GOSSIP_SENDER_MAIN, -1);
  969.                                 SendGossipMenuFor(player,1, creature->GetGUID());
  970.                                 selected_enchant = action;
  971.                                 return true;
  972.                             }
  973.                             break;
  974.                         }
  975.                         default:
  976.                             break;
  977.                     }
  978.                 }
  979.                 Enchant(player, creature, item, action);
  980.                 ShowMainMenu(player, creature);
  981.             }
  982.             return true;
  983.         }
  984. };
  985.  
  986. void AddSC_npc_enchantment()
  987. {
  988.    new npc_enchantment();
  989. }
Add Comment
Please, Sign In to add comment