Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "StdAfx.h"
- #include "Setup.h"
- /**********************************************************************
- ******************[Credits to Vision1000 of MMOwned********************
- [FEATURES]:
- ~ Enchants Custom Gear.
- ~ Any Enchant on any peice of gear (Optional).
- ~ Profession specific enchants (Optional).
- ~ All Wotlk enchants + Mongoose & Executioner.
- -------Special Thanks to Pwntzyou.
- **********************************************************************/
- bool ProfessionSpecific = false; // This will disable players being able to use profession specific enchants on the proper items.
- bool AnyEnchantOnAnyItem = false; // This will allow players to enchant any peice of gear with any enchant. This will also allow profession specific enchants on any item even if the above variable is true.
- int enchantId [2][132] = {
- {3851, 3788, 3789, 3790, 3834, 3833, 3239, 3241, 3870, 3869, 1103, 3844, 3225, 2673 /*<-1h*/, 3827, 3247, 3251 /*<-2h*/, 3249, 3253, 1603, 3222, 3234, 3231 /*<-gloves*/, 3850, 2332, 3845, 1147, 3231, 2661, 1119 /*<-Bracer*/, 3854 /*<-stave*/, 3832, 3297, 2381, 3245, 1953 /*<-chest*/, 1597, 3232, 983, 1147, 3244, 3826, 1075 /*<-boots*/, 3256, 3296, 1951, 3831, 3294, 1099, 1262, 1354, 3230, 1400, 1446, 3243 /*<-cloak*/, 1952, 1128, 2655, 3229, 1071, 2653 /*<-Shields*/, 3853, 3822, 3823, 3719, 3721 /*<-legs*/, 3852, 3793, 3794, 3808, 3809, 3811, 3810 /*<-Shoulder*/, 3795, 3797, 3842, 3819, 3820, 3817, 3818, 3815, 3816, 3814, 3812, 3813 /*<-helm*/, /*ProfReqEnchants->*/3839, 3840, 3791 /*<-rings*/, 3763, 3759, 3760, 3762, 3761, 3756, 3757, 3758 /*<-furlining*/, 3728, 3722, 3730 /*<-EmbroidCloak*/, 3835, 3836, 3837, 3838 /*<-ScribShoulders*/, 3606, 3603, 3604, 3860 /*<-Engineering*/, 3331, 3332 /*<-UnreleasedLegArmor*/, 3851, 3788, 3789, 3790, 3834, 3833, 3239, 3241, 3870, 3869, 1103, 3844, 3225, 2673 /*<-1h*/, 3827, 3247, 3251 /*<-2h*/, 3854 /*<-stave*/, 3839, 3840, 3791 /*<-rings*/, 3246/*<-Sp to gloves*/, 3854 /*<-stave*/},
- {15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 /*<-1h*/, 15, 15, 15 /*<-2-h*/, 9, 9, 9, 9, 9, 9/*<-gloves*/, 8, 8, 8, 8, 8, 8, 8 /*<-bracers*/, 15 /*<-stave*/, 4, 4, 4, 4, 4 /*<-chest*/, 7, 7, 7, 7, 7, 7, 7 /*<-boots*/, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14 /*<-cloak*/, 16, 16, 16, 16, 16, 16 /*<-shield*/, 6, 6, 6, 6, 6 /*<-legs*/, 2, 2, 2, 2, 2, 2, 2 /*<-shoulder*/, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /*<-helm*/, /*ProfReqEnchants->*/ 10, 10, 10 /*<-rings*/, 8, 8, 8, 8, 8, 8, 8, 8 /*<-furlining*/, 14, 14, 14 /*<-embroidcloak*/, 2, 2, 2, 2 /*ScribeShoulders*/, 7, 9, 9, 9 /*<-Engiboots/gloves*/, 6, 6 /*unreleased LW leg armor*/, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 /*<-1h*/, 16, 16, 16 /*<-2-h*/, 16 /*<-stave*/, 11, 11, 11 /*<-rings*/, 9/*<-Sp to gloves*/, 16/*<-StaveEnchant*/}
- };
- bool i_InventoryType(Player * plr, uint32 i_slot, uint32 i_type)
- {
- if(!plr->GetItemInterface()->GetInventoryItem(i_slot))
- return false;
- else if(plr->GetItemInterface()->GetInventoryItem(i_slot)->GetProto()->InventoryType != i_type)
- return false;
- else
- return true;
- };
- bool IsWeaponType(Player * plr, uint32 i_slot, uint32 i_subclass)
- {
- if(!plr->GetItemInterface()->GetInventoryItem(i_slot))
- return false;
- if(plr->GetItemInterface()->GetInventoryItem(i_slot)->GetProto()->SubClass != i_subclass)
- return false;
- else
- return true;
- };
- int GetInvenSlot(const char * Code)
- {
- int slot_;
- if( strcmp(Code, "Helm") == 0 || strcmp(Code, "helm") == 0 || strcmp(Code, "Helmet") == 0 || strcmp(Code, "helmet") == 0 || strcmp(Code, "head") == 0 || strcmp(Code, "Head") == 0)
- slot_ = 0;
- else if (strcmp(Code, "Necklace") == 0 || strcmp(Code, "necklace") == 0 || strcmp(Code, "Neck") == 0 || strcmp(Code, "neck") == 0 || strcmp(Code, "Neckpiece") == 0 || strcmp(Code, "neckpiece") == 0)
- slot_ = 1;
- else if (strcmp(Code, "Shoulder") == 0 || strcmp(Code, "shoulder") == 0 || strcmp(Code, "Shoulders") == 0 || strcmp(Code, "shoulders") == 0)
- slot_ = 2;
- else if (strcmp(Code, "Cape") == 0 || strcmp(Code, "cape") == 0 || strcmp(Code, "Cloak") == 0 || strcmp(Code, "cloak") == 0 || strcmp(Code, "Back") == 0 || strcmp(Code, "back") == 0)
- slot_ = 14;
- else if (strcmp(Code, "Chest") == 0 || strcmp(Code, "chest") == 0 || strcmp(Code, "Chestpeice") == 0 || strcmp(Code, "chestpeice") == 0)
- slot_ = 4;
- else if (strcmp(Code, "Shirt") == 0 || strcmp(Code, "shirt") == 0)
- slot_ = 3;
- else if (strcmp(Code, "Tabard") == 0 || strcmp(Code, "tabard") == 0)
- slot_ = 18;
- else if (strcmp(Code, "Bracer") == 0 || strcmp(Code, "bracer") == 0 || strcmp(Code, "Bracers") == 0 || strcmp(Code, "bracers") == 0 || strcmp(Code, "Wrist") == 0 || strcmp(Code, "wrist") == 0 || strcmp(Code, "Wrists") == 0 || strcmp(Code, "wrists") == 0)
- slot_ = 8;
- else if (strcmp(Code, "Glove") == 0 || strcmp(Code, "glove") == 0 || strcmp(Code, "Gloves") == 0 || strcmp(Code, "gloves") == 0 || strcmp(Code, "Hand") == 0 || strcmp(Code, "hand") == 0 || strcmp(Code, "Hands") == 0 || strcmp(Code, "hands") == 0)
- slot_ = 9;
- else if (strcmp(Code, "Belt") == 0 || strcmp(Code, "belt") == 0 || strcmp(Code, "Waist") == 0 || strcmp(Code, "waist") == 0)
- slot_ = 5;
- else if (strcmp(Code, "Leg") == 0 || strcmp(Code, "leg") == 0 || strcmp(Code, "Legs") == 0 || strcmp(Code, "legs") == 0 || strcmp(Code, "Pant") == 0 || strcmp(Code, "pant") == 0 || strcmp(Code, "Pants") == 0 || strcmp(Code, "pants") == 0)
- slot_ = 6;
- else if (strcmp(Code, "Boot") == 0 || strcmp(Code, "boot") == 0 || strcmp(Code, "Boots") == 0 || strcmp(Code, "boots") == 0 || strcmp(Code, "foot") == 0 || strcmp(Code, "Foot") == 0 || strcmp(Code, "Feet") == 0 || strcmp(Code, "feet") == 0)
- slot_ = 7;
- else if (strcmp(Code, "Ring One") == 0 || strcmp(Code, "Ring one") == 0 || strcmp(Code, "ring one") == 0 || strcmp(Code, "ring 1") == 0 || strcmp(Code, "Ring 1") == 0 || strcmp(Code, "First Ring") == 0 || strcmp(Code, "first ring") == 0)
- slot_ = 10;
- else if (strcmp(Code, "Ring Two") == 0 || strcmp(Code, "Ring two") == 0 || strcmp(Code, "ring two") == 0 || strcmp(Code, "ring 2") == 0 || strcmp(Code, "Ring 2") == 0 || strcmp(Code, "Second Ring") == 0 || strcmp(Code, "second ring") == 0)
- slot_ = 11;
- else if (strcmp(Code, "Trinket One") == 0 || strcmp(Code, "Trinket one") == 0 || strcmp(Code, "trinket one") == 0 || strcmp(Code, "Trinket 1") == 0 || strcmp(Code, "trinket 1") == 0 || strcmp(Code, "First Trinket") == 0 || strcmp(Code, "First trinket") == 0 || strcmp(Code, "first trinket") == 0)
- slot_ = 12;
- else if (strcmp(Code, "Trinket Two") == 0 || strcmp(Code, "Trinket two") == 0 || strcmp(Code, "trinket two") == 0 || strcmp(Code, "Trinket 2") == 0 || strcmp(Code, "trinket 2") == 0 || strcmp(Code, "Second Trinket") == 0 || strcmp(Code, "Second trinket") == 0 || strcmp(Code, "second trinket") == 0)
- slot_ = 13;
- else if (strcmp(Code, "Ranged") == 0 || strcmp(Code, "ranged") == 0 || strcmp(Code, "Wand") == 0 || strcmp(Code, "wand") == 0 || strcmp(Code, "Gun") == 0 || strcmp(Code, "gun") == 0 || strcmp(Code, "Bow") == 0 || strcmp(Code, "bow") == 0 || strcmp(Code, "Idol") == 0 || strcmp(Code, "idol") == 0 || strcmp(Code, "Libram") == 0 || strcmp(Code, "libram") == 0 || strcmp(Code, "Sigil") == 0 || strcmp(Code, "sigil") == 0 || strcmp(Code, "Totem") == 0 || strcmp(Code, "totem") == 0)
- slot_ = 17;
- else if (strcmp(Code, "Main hand") == 0 || strcmp(Code, "main hand") == 0 || strcmp(Code, "Mh") == 0 || strcmp(Code, "Mh") == 0 || strcmp(Code, "mh") == 0 || strcmp(Code, "Main Hand") == 0 || strcmp(Code, "mainhand") == 0 || strcmp(Code, "Mainhand") == 0 || strcmp(Code, "weapon") == 0 || strcmp(Code, "Weapon") == 0)
- slot_ = 15;
- else if (strcmp(Code, "Off hand") == 0 || strcmp(Code, "off hand") == 0 || strcmp(Code, "Offhand") == 0 || strcmp(Code, "offhand") == 0 || strcmp(Code, "Oh") == 0 || strcmp(Code, "Oh") == 0 || strcmp(Code, "oh") == 0 || strcmp(Code, "Off Hand") == 0 || strcmp(Code, "off") == 0)
- slot_ = 16;
- else
- slot_ = 20;
- return slot_;
- }
- class SCRIPT_DECL EnchantNPC_Gossip : public GossipScript
- {
- public:
- void GossipHello(Object* pObject, Player * plr, bool AutoSend)
- {
- GossipMenu *Menu;
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4056, plr);
- Menu->AddItem( 0, "Helm", 140);
- Menu->AddItem( 0, "Shoulder", 141);
- Menu->AddItem( 0, "Cloak", 142);
- Menu->AddItem( 0, "Chest", 143);
- Menu->AddItem( 0, "Bracer", 144);
- Menu->AddItem( 0, "Gloves", 145);
- Menu->AddItem( 0, "Legs", 146);
- Menu->AddItem( 0, "Boots", 147);
- Menu->AddItem( 0, "Main Hand",148);
- Menu->AddItem( 0, "Offhand", 149);
- if(ProfessionSpecific)
- Menu->AddItem( 0, "|cFF0000FFYou now have access to my stronger enchants...|r", 152);
- if(AnyEnchantOnAnyItem)
- Menu->AddItem( 0, "|cFFFF0000You can put any enchantment on any item...|r", 160);
- if(AutoSend)
- Menu->SendTo(plr);
- }
- void GossipSelectOption(Object* pObject, Player * plr, uint32 Id, uint32 IntId, const char * Code)
- {
- if(pObject->GetTypeId()!=TYPEID_UNIT)
- return;
- if (Code != NULL)
- {
- if(strcmp(Code, "all") == 0 || strcmp(Code, "All") == 0)
- {
- for(uint32 i=0;i<19;i++)
- {
- if(plr->GetItemInterface()->GetInventoryItem(i) != NULL)
- {
- Item * item = plr->GetItemInterface()->GetInventoryItem(i);
- EnchantEntry* Enchant = dbcEnchant.LookupEntry(enchantId[0][IntId]);
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- }
- }
- else
- {
- int slot_ = GetInvenSlot(Code);
- if(slot_ != 20)
- {
- if(plr->GetItemInterface()->GetInventoryItem(slot_) != NULL)
- {
- Item * item = plr->GetItemInterface()->GetInventoryItem(slot_);
- EnchantEntry* Enchant = dbcEnchant.LookupEntry(enchantId[0][IntId]);
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("You do not have an item equipped in that slot");
- }
- }
- else
- {
- plr->BroadcastMessage("%s, did not return a valid slot number. Please enter a proper phrase.", Code);
- }
- }
- }
- else if (IntId < 135)
- {
- EnchantEntry* Enchant = dbcEnchant.LookupEntry(enchantId[0][IntId]);
- Item * item = plr->GetItemInterface()->GetInventoryItem(enchantId[1][IntId]);
- if (item)
- {
- if (IntId >= 0 && IntId <= 13) // enchant 1h wep MH // Player had an item in the selected slot, the item was a weapon
- {
- if(item->GetProto()->InventoryType == INVTYPE_WEAPON || item->GetProto()->InventoryType == INVTYPE_WEAPONMAINHAND || item->GetProto()->InventoryType == INVTYPE_WEAPONOFFHAND || item->GetProto()->InventoryType == INVTYPE_2HWEAPON)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your main hand is not a weapon");
- }
- }
- else if (IntId >= 14 && IntId <= 16) // enchant 2h wep MH
- {
- if(item->GetProto()->InventoryType == INVTYPE_2HWEAPON)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your main hand is not a 2h weapon");
- }
- }
- else if (IntId >= 17 && IntId <= 22 || IntId == 130) // enchant gloves
- {
- if(item->GetProto()->InventoryType == INVTYPE_HANDS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your hand slot is not a valid enchant target");
- }
- }
- else if (IntId >= 23 && IntId <= 29) // enchant bracer
- {
- if(item->GetProto()->InventoryType == INVTYPE_WRISTS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your wrist slot is not a valid enchant target");
- }
- }
- else if (IntId == 30) // enchant stave
- {
- if(item->GetProto()->SubClass = ITEM_SUBCLASS_WEAPON_STAFF)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your main hand is not a staff");
- }
- }
- else if (IntId >= 31 && IntId <= 35) // chest
- {
- if(item->GetProto()->InventoryType == INVTYPE_CHEST || item->GetProto()->InventoryType == INVTYPE_ROBE)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your chest slot is not a valid enchant target");
- }
- }
- else if (IntId >= 36 && IntId <= 42) // boots
- {
- if(item->GetProto()->InventoryType == INVTYPE_FEET)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your feet slot is not a valid enchant target");
- }
- }
- else if (IntId >= 43 && IntId <= 54) // cloak
- {
- if(item->GetProto()->InventoryType == INVTYPE_CLOAK)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your back slot is not a valid enchant target");
- }
- }
- else if (IntId >= 55 && IntId <= 60) // shield
- {
- if(item->GetProto()->InventoryType == INVTYPE_SHIELD)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your offhand slot is not a shield");
- }
- }
- else if (IntId >= 61 && IntId <= 65) // legs
- {
- if(item->GetProto()->InventoryType == INVTYPE_LEGS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your leg slot is not a valid enchant target");
- }
- }
- else if (IntId >= 66 && IntId <= 72) // shoulder
- {
- if(item->GetProto()->InventoryType == INVTYPE_SHOULDERS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your shoulder slot is not a valid enchant target");
- }
- }
- else if (IntId >= 73 && IntId <= 84) // helm
- {
- if(item->GetProto()->InventoryType == INVTYPE_HEAD)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your head slot is not a valid enchant target");
- }
- }
- else if (IntId >= 85 && IntId <= 87) // ring
- {
- if(item->GetProto()->InventoryType == INVTYPE_FINGER)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your ring slot is not a valid enchant target");
- }
- }
- else if (IntId >= 88 && IntId <= 95) // fur lining
- {
- if(item->GetProto()->InventoryType == INVTYPE_WRISTS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your ring slot is not a valid enchant target");
- }
- }
- else if (IntId >= 96 && IntId <= 98) // cloak emboidery
- {
- if(item->GetProto()->InventoryType == INVTYPE_CLOAK)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your back slot is not a valid enchant target");
- }
- }
- else if (IntId >= 99 && IntId <= 102) // inscription shoulder chants
- {
- if(item->GetProto()->InventoryType == INVTYPE_SHOULDERS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your shoulder slot is not a valid enchant target");
- }
- }
- else if (IntId >= 103 && IntId <= 106) // engi items, 1 is boots, othe 3 are hands
- {
- if(item->GetProto()->InventoryType == INVTYPE_HANDS) // hand shit
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- if(item->GetProto()->InventoryType != INVTYPE_FEET)
- plr->BroadcastMessage("The item equipped in your hand slot is not a valid enchant target");
- }
- if(item->GetProto()->InventoryType == INVTYPE_FEET) // rocket boots
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- if(item->GetProto()->InventoryType != INVTYPE_HANDS)
- plr->BroadcastMessage("The item equipped in your foot slot is not a valid enchant target");
- }
- }
- else if (IntId >= 107 && IntId <= 108) // unreleased lw leg armor
- {
- if(item->GetProto()->InventoryType == INVTYPE_LEGS)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your leg slot is not a valid enchant target");
- }
- }
- else if (IntId >= 108 && IntId <= 122) // OH 1h enchants
- {
- if(item->GetProto()->InventoryType == INVTYPE_WEAPON || item->GetProto()->InventoryType == INVTYPE_WEAPONOFFHAND || item->GetProto()->InventoryType == INVTYPE_WEAPONMAINHAND || item->GetProto()->InventoryType == INVTYPE_2HWEAPON)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your offhand is not a weapon");
- }
- }
- else if (IntId >= 123 && IntId <= 125) // OH 2h enchants
- {
- if(item->GetProto()->InventoryType == INVTYPE_2HWEAPON)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your offhand is not a two handed weapon");
- }
- }
- else if (IntId >= 126 && IntId <= 129)
- {
- if(item->GetProto()->InventoryType == INVTYPE_FINGER)
- {
- item->RemoveEnchantment(0);
- item->AddEnchantment(Enchant, 0, true, true, false, 0);
- item->m_isDirty = true;
- plr->BroadcastMessage("%s has been successfully enchanted with %s.", item->GetProto()->Name1, Enchant->Name);
- }
- else
- {
- plr->BroadcastMessage("The item equipped in your second finger slot is not a valid enchant target");
- }
- }
- }
- else
- {
- plr->BroadcastMessage("You do not have an item the slot");
- }
- }
- else
- {
- GossipMenu * Menu;
- switch(IntId)
- {
- case 140: // Helm
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4040, plr);
- Menu->AddItem(0, "Arcanum of Triumph", 73);
- Menu->AddItem(0, "Arcanum of Dominance", 74);
- Menu->AddItem(0, "Arcanum of the Savage Gladiator", 75);
- Menu->AddItem(0, "Arcanum of Blissful mending", 76);
- Menu->AddItem(0, "Arcanum of Burning Mysteries", 77);
- Menu->AddItem(0, "Arcanum of Torment", 78);
- Menu->AddItem(0, "Arcanum of The Stalward Protector", 79);
- Menu->AddItem(0, "Arcanum of the Eclipsed Moon", 80);
- Menu->AddItem(0, "Arcanum of the Flame's Soul", 81);
- Menu->AddItem(0, "Arcanum of the Fleeing Shadow", 82);
- Menu->AddItem(0, "Arcanum of the Frosty Soul", 83);
- Menu->AddItem(0, "Arcanum of Toxic Warding", 84);
- Menu->SendTo(plr);
- }break;
- case 141: // Shoulder
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4041, plr);
- Menu->AddItem(0, "Greater Inscription of the Gladiator", 66);
- Menu->AddItem(0, "Inscription of Triumph", 67);
- Menu->AddItem(0, "Inscription of Dominance", 68);
- Menu->AddItem(0, "Greater Inscription of the Axe", 69);
- Menu->AddItem(0, "Greater Inscription of the Crag", 70);
- Menu->AddItem(0, "Greater Inscription of the Pinnacle", 71);
- Menu->AddItem(0, "Greater Inscription of the Storm", 72);
- Menu->SendTo(plr);
- }break;
- case 142: // Cloak
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4042, plr);
- Menu->AddItem(0, "Enchant Cloak - Shadow Armor", 43);
- Menu->AddItem(0, "Enchant Cloak - Wisdom", 44);
- Menu->AddItem(0, "Enchant Cloak - Titan Weave", 45);
- Menu->AddItem(0, "Enchant Cloak - Greater Speed", 46);
- Menu->AddItem(0, "Enchant Cloak - Mighty Armor", 47);
- Menu->AddItem(0, "Enchant Cloak - Major Agility", 48);
- Menu->AddItem(0, "Enchant Cloak - Spell Piercing", 54);
- Menu->AddItem(0, "Enchant Cloak - Superior Arcane Resistance", 49);
- Menu->AddItem(0, "Enchant Cloak - Superior Fire Resistance", 50);
- Menu->AddItem(0, "Enchant Cloak - Superior Frost Resistance", 51);
- Menu->AddItem(0, "Enchant Cloak - Superior Nature Resistance", 52);
- Menu->AddItem(0, "Enchant Cloak - Superior Shadow Resistance", 53);
- Menu->SendTo(plr);
- }break;
- case 143: // Chest
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4043, plr);
- Menu->AddItem(0, "Enchant Chest - Powerful Stats", 31);
- Menu->AddItem(0, "Enchant Chest - Super Health", 32);
- Menu->AddItem(0, "Enchant Chest - Greater Mana Restoration", 33);
- Menu->AddItem(0, "Enchant Chest - Exceptional Resilience", 34);
- Menu->AddItem(0, "Enchant Chest - Greater Defense", 35);
- Menu->SendTo(plr);
- }break;
- case 144: // Bracer
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4044, plr);
- Menu->AddItem(0, "Enchant Bracer - Major Stamina", 23);
- Menu->AddItem(0, "Enchant Bracer - Superior Spellpower", 24);
- Menu->AddItem(0, "Enchant Bracer - Greater Assult", 25);
- Menu->AddItem(0, "Enchant Bracer - Major Spirit", 26);
- Menu->AddItem(0, "Enchant Bracer - Expertise", 27);
- Menu->AddItem(0, "Enchant Bracer - Greater Stats", 28);
- Menu->AddItem(0, "Enchant Bracer - Exceptional Intellect", 29);
- Menu->SendTo(plr);
- }break;
- case 145: // Gloves
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4045, plr);
- Menu->AddItem(0, "Enchant Gloves - Greater Blasting", 17);
- Menu->AddItem(0, "Enchant Gloves - Armsman", 18);
- Menu->AddItem(0, "Enchant Gloves - Crusher", 19);
- Menu->AddItem(0, "Enchant Gloves - Agility", 20);
- Menu->AddItem(0, "Enchant Gloves - Precision", 21);
- Menu->AddItem(0, "Enchant Gloves - Expertise", 22);
- Menu->AddItem(0, "Enchant Gloves - Exceptional Spellpower", 130);
- Menu->SendTo(plr);
- }break;
- case 146: // Legs
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4046, plr);
- Menu->AddItem(0, "Earthen Leg Armor", 61);
- Menu->AddItem(0, "Frosthide Leg Armor", 62);
- Menu->AddItem(0, "Icescale Leg Armor", 63);
- Menu->AddItem(0, "Brilliant Spellthread", 64);
- Menu->AddItem(0, "Sapphire Spellthread", 65);
- Menu->SendTo(plr);
- }break;
- case 147: // Boots
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4047, plr);
- Menu->AddItem(0, "Enchant Boots - Greater Assult", 36);
- Menu->AddItem(0, "Enchant Boots - Tuskars Vitality", 37);
- Menu->AddItem(0, "Enchant Boots - Superior Agility", 38);
- Menu->AddItem(0, "Enchant Boots - Greater Spirit", 39);
- Menu->AddItem(0, "Enchant Boots - Greater Vitality", 40);
- Menu->AddItem(0, "Enchant Boots - Icewalker", 41);
- Menu->AddItem(0, "Enchant Boots - Greater Fortitude", 42);
- Menu->SendTo(plr);
- }break;
- case 148: // Mainhand
- {
- if(i_InventoryType(plr, EQUIPMENT_SLOT_MAINHAND, INVTYPE_2HWEAPON) == true)
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4055, plr);
- Menu->AddItem(0, "Enchant Weapon - Titan Guard", 0);
- Menu->AddItem(0, "Enchant Weapon - Accuracy", 1);
- Menu->AddItem(0, "Enchant Weapon - Berserking", 2);
- Menu->AddItem(0, "Enchant Weapon - Black Magic", 3);
- Menu->AddItem(0, "Enchant Weapon - Mighty Spellpower", 4);
- Menu->AddItem(0, "Enchant Weapon - Superior Potency", 5);
- Menu->AddItem(0, "Enchant Weapon - Ice Breaker", 6);
- Menu->AddItem(0, "Enchant Weapon - Lifeward", 7);
- Menu->AddItem(0, "Enchant Weapon - Blood Draining", 8);
- Menu->AddItem(0, "Enchant Weapon - Blade Ward", 9);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Agility", 10);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Spirit", 11);
- Menu->AddItem(0, "Enchant Weapon - Executioner", 12);
- Menu->AddItem(0, "Enchant Weapon - Mongoose", 13);
- Menu->AddItem(0, "Next Page...", 150);
- Menu->SendTo(plr);
- }
- else if (i_InventoryType(plr, EQUIPMENT_SLOT_MAINHAND, INVTYPE_WEAPON) == true || i_InventoryType(plr, EQUIPMENT_SLOT_MAINHAND, INVTYPE_WEAPONMAINHAND)== true)
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4051, plr);
- Menu->AddItem(0, "Enchant Weapon - Titan Guard", 0);
- Menu->AddItem(0, "Enchant Weapon - Accuracy", 1);
- Menu->AddItem(0, "Enchant Weapon - Berserking", 2);
- Menu->AddItem(0, "Enchant Weapon - Black Magic", 3);
- Menu->AddItem(0, "Enchant Weapon - Mighty Spellpower", 4);
- Menu->AddItem(0, "Enchant Weapon - Superior Potency", 5);
- Menu->AddItem(0, "Enchant Weapon - Ice Breaker", 6);
- Menu->AddItem(0, "Enchant Weapon - Lifeward", 7);
- Menu->AddItem(0, "Enchant Weapon - Blood Draining", 8);
- Menu->AddItem(0, "Enchant Weapon - Blade Ward", 9);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Agility", 10);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Spirit", 11);
- Menu->AddItem(0, "Enchant Weapon - Executioner", 12);
- Menu->AddItem(0, "Enchant Weapon - Mongoose", 13);
- Menu->SendTo(plr);
- }
- else
- {
- plr->BroadcastMessage("|cFFFF0000Error: You either have no main hand weapon currently equipped, or the item in your main hand weapon slot is not a weapon|r");
- }
- Menu->SendTo(plr);
- }break;
- case 149: // Offhand
- {
- if(i_InventoryType(plr, EQUIPMENT_SLOT_OFFHAND, INVTYPE_2HWEAPON) == true)
- {
- if(plr->HasSpell(46917))
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4054, plr);
- Menu->AddItem(0, "Enchant Weapon - Titan Guard", 109);
- Menu->AddItem(0, "Enchant Weapon - Accuracy", 110);
- Menu->AddItem(0, "Enchant Weapon - Berserking", 111);
- Menu->AddItem(0, "Enchant Weapon - Black Magic", 112);
- Menu->AddItem(0, "Enchant Weapon - Mighty Spellpower", 113);
- Menu->AddItem(0, "Enchant Weapon - Superior Potency", 114);
- Menu->AddItem(0, "Enchant Weapon - Ice Breaker", 115);
- Menu->AddItem(0, "Enchant Weapon - Lifeward", 116);
- Menu->AddItem(0, "Enchant Weapon - Blood Draining", 117);
- Menu->AddItem(0, "Enchant Weapon - Blade Ward", 118);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Agility", 119);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Spirit", 120);
- Menu->AddItem(0, "Enchant Weapon - Executioner", 121);
- Menu->AddItem(0, "Enchant Weapon - Mongoose", 122);
- Menu->AddItem(0, "Next Page...", 151);
- Menu->SendTo(plr);
- }
- else
- {
- plr->BroadcastMessage("|cFFFF0000Error: Your have a two handed weapon as an offhand, and you do not have Titans Grip trained. A GM has been alerted|r");
- }
- }
- else if(i_InventoryType(plr, EQUIPMENT_SLOT_OFFHAND, INVTYPE_WEAPON) == true || i_InventoryType(plr, EQUIPMENT_SLOT_OFFHAND, INVTYPE_WEAPONOFFHAND) == true)
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4050, plr);
- Menu->AddItem(0, "Enchant Weapon - Titan Guard", 109);
- Menu->AddItem(0, "Enchant Weapon - Accuracy", 110);
- Menu->AddItem(0, "Enchant Weapon - Berserking", 111);
- Menu->AddItem(0, "Enchant Weapon - Black Magic", 112);
- Menu->AddItem(0, "Enchant Weapon - Mighty Spellpower", 113);
- Menu->AddItem(0, "Enchant Weapon - Superior Potency", 114);
- Menu->AddItem(0, "Enchant Weapon - Ice Breaker", 115);
- Menu->AddItem(0, "Enchant Weapon - Lifeward", 116);
- Menu->AddItem(0, "Enchant Weapon - Blood Draining", 117);
- Menu->AddItem(0, "Enchant Weapon - Blade Ward", 118);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Agility", 119);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Spirit", 120);
- Menu->AddItem(0, "Enchant Weapon - Executioner", 121);
- Menu->AddItem(0, "Enchant Weapon - Mongoose", 122);
- Menu->SendTo(plr);
- }
- else if(i_InventoryType(plr, EQUIPMENT_SLOT_OFFHAND, INVTYPE_SHIELD) == true)
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4048, plr);
- Menu->AddItem(0, "Enchant Shield - Defense", 55);
- Menu->AddItem(0, "Enchant Shield - Greater Intellect", 56);
- Menu->AddItem(0, "Enchant Shield - Shield Block", 57);
- Menu->AddItem(0, "Enchant Shield - Resilience", 58);
- Menu->AddItem(0, "Enchant Shield - Major Stamina", 59);
- Menu->AddItem(0, "Enchant Shield - Tough Shield", 60);
- Menu->SendTo(plr);
- }
- else
- {
- plr->BroadcastMessage("|cFFFF0000Error: Either you have no offhand, or you offhand is not a valid target for any enchants|r");
- }
- }break;
- case 150: // Long menu for mainhand weapons that may want either 1h or 2h weapon enchants
- {
- if(i_InventoryType(plr, EQUIPMENT_SLOT_MAINHAND, INVTYPE_2HWEAPON) == true)
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4055, plr);
- Menu->AddItem(0, "Enchant 2H Weapon - Massacre", 14);
- Menu->AddItem(0, "Enchant 2H Weapon - Scourgebane", 15);
- Menu->AddItem(0, "Enchant 2H Weapon - Giant Slayer", 16);
- if(IsWeaponType(plr, EQUIPMENT_SLOT_MAINHAND, ITEM_SUBCLASS_WEAPON_STAFF))
- {
- Menu->AddItem(0, "Enchant Stave - Greater Spellpower", 30);
- }
- Menu->SendTo(plr);
- }
- }break;
- case 151: // Long menu for offhand 2h weapons that may want either 1h or 2h weapon enchants
- {
- if(i_InventoryType(plr, EQUIPMENT_SLOT_OFFHAND, INVTYPE_2HWEAPON) == true)
- {
- if(plr->HasSpell(46917))
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4054, plr);
- Menu->AddItem(0, "Enchant 2H Weapon - Massacre", 123);
- Menu->AddItem(0, "Enchant 2H Weapon - Scourgebane", 124);
- Menu->AddItem(0, "Enchant 2H Weapon - Giant Slayer", 125);
- if(IsWeaponType(plr, EQUIPMENT_SLOT_MAINHAND, ITEM_SUBCLASS_WEAPON_STAFF))
- {
- Menu->AddItem(0, "Enchant Stave - Greater Spellpower", 131); // Might as well add it incase :S.
- }
- Menu->SendTo(plr);
- }
- else
- {
- plr->BroadcastMessage("|cFFFF0000Error: Your have a two handed weapon as an offhand, and you do not have Titans Grip trained. A GM has been alerted|r");
- }
- }
- }break;
- case 152: // Prof specific main menu
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4064, plr);
- Menu->AddItem(0, "First Ring Slot", 153);
- Menu->AddItem(0, "Second Ring Slot", 159);
- Menu->AddItem(0, "Bracer - Fur Lining", 154);
- Menu->AddItem(0, "Cloak - Embroidery", 155);
- Menu->AddItem(0, "Shoulder - Inscription", 156);
- Menu->AddItem(0, "Boots & Gloves - Engineering Gadgets", 157);
- Menu->AddItem(0, "Legs - Improved Leg Armor", 158);
- Menu->SendTo(plr);
- }break;
- case 153: // 1st ring
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4057, plr);
- Menu->AddItem(0, "Enchant Ring - Assult", 85);
- Menu->AddItem(0, "Enchant Ring - Greater Spellpower", 86);
- Menu->AddItem(0, "Enchant Ring - Stamina", 87);
- Menu->SendTo(plr);
- }break;
- case 154: // fur lining
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4058, plr);
- Menu->AddItem(0, "Fur Lining - Attack Power", 93);
- Menu->AddItem(0, "Fur Lining - Spellpower", 95);
- Menu->AddItem(0, "Fur Lining - Stamina", 94);
- Menu->AddItem(0, "Fur Lining - Arcane Resist", 88);
- Menu->AddItem(0, "Fur Lining - Fire Resist", 89);
- Menu->AddItem(0, "Fur Lining - Frost Resist", 90);
- Menu->AddItem(0, "Fur Lining - Nature Resist", 91);
- Menu->AddItem(0, "Fur Lining - Shadow Resist", 92);
- Menu->SendTo(plr);
- }break;
- case 155: // cloak embroidery
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4059, plr);
- Menu->AddItem(0, "Embroid Cloak - Darkglow", 96);
- Menu->AddItem(0, "Embroid Cloak - Lightweave", 97);
- Menu->AddItem(0, "Embroid Cloak - Swordguard", 98);
- Menu->SendTo(plr);
- }break;
- case 156: // inscription enchants
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4060, plr);
- Menu->AddItem(0, "Master's Inscription of the Axe", 99);
- Menu->AddItem(0, "Master's Inscription of the Crag", 100);
- Menu->AddItem(0, "Master's Inscription of the Pinnacle", 101);
- Menu->AddItem(0, "Master's Inscription of the Storm", 102);
- Menu->SendTo(plr);
- }break;
- case 157: // Engineering Gadgets
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4061, plr);
- Menu->AddItem(0, "Nitro Boots", 103);
- Menu->AddItem(0, "Hand-Mounted Pyro Rocket", 104);
- Menu->AddItem(0, "Handguard Hyperspeed Accelerators", 105);
- Menu->AddItem(0, "Handguard Reticulated Armor Webbing", 106);
- Menu->SendTo(plr);
- }break;
- case 158: // Unreleased lw leg armor (100 ap / 36 crit)
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4062, plr);
- Menu->AddItem(0, "Dragonscale Leg Armor", 107);
- Menu->AddItem(0, "Wyrmscale Leg Armor", 108);
- Menu->SendTo(plr);
- }break;
- case 159: // 2nd slot ring
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4063, plr);
- Menu->AddItem(0, "Enchant Ring - Assult", 127);
- Menu->AddItem(0, "Enchant Ring - Greater Spellpower", 128);
- Menu->AddItem(0, "Enchant Ring - Stamina", 129);
- Menu->SendTo(plr);
- }break;
- case 160: // Any Enchant -> Any Slot
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Helm Enchants", 161);
- Menu->AddItem(0, "Shoulder Enchants", 162);
- Menu->AddItem(0, "Cloak Enchants", 163);
- Menu->AddItem(0, "Chest Enchants", 164);
- Menu->AddItem(0, "Bracer Enchants", 165);
- Menu->AddItem(0, "Hand Enchants", 166);
- Menu->AddItem(0, "Leg Enchants", 167);
- Menu->AddItem(0, "Boot Enchants", 168);
- Menu->AddItem(0, "Ring Enchants", 169);
- Menu->AddItem(0, "One Handed Weapon Enchants", 170);
- Menu->AddItem(0, "Two Handed Weapon Enchants", 171);
- Menu->AddItem(0, "Shield Enchants", 172);
- Menu->AddItem(0, "Help!", 175);
- Menu->SendTo(plr);
- }break;
- case 161: // helm
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Arcanum of Triumph", 73, 1);
- Menu->AddItem(0, "Arcanum of Dominance", 74, 1);
- Menu->AddItem(0, "Arcanum of the Savage Gladiator", 75, 1);
- Menu->AddItem(0, "Arcanum of Blissful mending", 76, 1);
- Menu->AddItem(0, "Arcanum of Burning Mysteries", 77, 1);
- Menu->AddItem(0, "Arcanum of Torment", 78, 1);
- Menu->AddItem(0, "Arcanum of The Stalward Protector", 79, 1);
- Menu->AddItem(0, "Arcanum of the Eclipsed Moon", 80, 1);
- Menu->AddItem(0, "Arcanum of the Flame's Soul", 81, 1);
- Menu->AddItem(0, "Arcanum of the Fleeing Shadow", 82, 1);
- Menu->AddItem(0, "Arcanum of the Frosty Soul", 83, 1);
- Menu->AddItem(0, "Arcanum of Toxic Warding", 84, 1);
- Menu->SendTo(plr);
- }break;
- case 162: // shoulder
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Greater Inscription of the Gladiator", 66, 1);
- Menu->AddItem(0, "Inscription of Triumph", 67, 1);
- Menu->AddItem(0, "Inscription of Dominance", 68, 1);
- Menu->AddItem(0, "Greater Inscription of the Axe", 69, 1);
- Menu->AddItem(0, "Greater Inscription of the Crag", 70, 1);
- Menu->AddItem(0, "Greater Inscription of the Pinnacle", 71, 1);
- Menu->AddItem(0, "Greater Inscription of the Storm", 72, 1);
- Menu->AddItem(0, "Master's Inscription of the Axe", 99, 1);
- Menu->AddItem(0, "Master's Inscription of the Crag", 100, 1);
- Menu->AddItem(0, "Master's Inscription of the Pinnacle", 101, 1);
- Menu->AddItem(0, "Master's Inscription of the Storm", 102, 1);
- Menu->SendTo(plr);
- }break;
- case 163: // cloak
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant Cloak - Shadow Armor", 43, 1);
- Menu->AddItem(0, "Enchant Cloak - Wisdom", 44, 1);
- Menu->AddItem(0, "Enchant Cloak - Titan Weave", 45, 1);
- Menu->AddItem(0, "Enchant Cloak - Greater Speed", 46, 1);
- Menu->AddItem(0, "Enchant Cloak - Mighty Armor", 47, 1);
- Menu->AddItem(0, "Enchant Cloak - Major Agility", 48, 1);
- Menu->AddItem(0, "Enchant Cloak - Spell Piercing", 54, 1);
- Menu->AddItem(0, "Enchant Cloak - Superior Arcane Resistance", 49, 1);
- Menu->AddItem(0, "Enchant Cloak - Superior Fire Resistance", 50, 1);
- Menu->AddItem(0, "Enchant Cloak - Superior Frost Resistance", 51, 1);
- Menu->AddItem(0, "Enchant Cloak - Superior Nature Resistance", 52, 1);
- Menu->AddItem(0, "Enchant Cloak - Superior Shadow Resistance", 53, 1);
- Menu->AddItem(0, "Embroid Cloak - Darkglow", 96, 1);
- Menu->AddItem(0, "Embroid Cloak - Lightweave", 97, 1);
- Menu->AddItem(0, "Embroid Cloak - Swordguard", 98, 1);
- Menu->SendTo(plr);
- }break;
- case 164: // chest
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant Chest - Powerful Stats", 31, 1);
- Menu->AddItem(0, "Enchant Chest - Super Health", 32, 1);
- Menu->AddItem(0, "Enchant Chest - Greater Mana Restoration", 33, 1);
- Menu->AddItem(0, "Enchant Chest - Exceptional Resilience", 34, 1);
- Menu->AddItem(0, "Enchant Chest - Greater Defense", 35, 1);
- Menu->SendTo(plr);
- }break;
- case 165: // bracer
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant Bracer - Major Stamina", 23, 1);
- Menu->AddItem(0, "Enchant Bracer - Superior Spellpower", 24, 1);
- Menu->AddItem(0, "Enchant Bracer - Greater Assult", 25, 1);
- Menu->AddItem(0, "Enchant Bracer - Major Spirit", 26, 1);
- Menu->AddItem(0, "Enchant Bracer - Expertise", 27, 1);
- Menu->AddItem(0, "Enchant Bracer - Greater Stats", 28, 1);
- Menu->AddItem(0, "Enchant Bracer - Exceptional Intellect", 29, 1);
- Menu->AddItem(0, "Fur Lining - Attack Power", 93, 1);
- Menu->AddItem(0, "Fur Lining - Spellpower", 95, 1);
- Menu->AddItem(0, "Fur Lining - Stamina", 94, 1);
- Menu->AddItem(0, "Fur Lining - Arcane Resist", 88, 1);
- Menu->AddItem(0, "Fur Lining - Fire Resist", 89, 1);
- Menu->AddItem(0, "Fur Lining - Frost Resist", 90, 1);
- Menu->AddItem(0, "Fur Lining - Nature Resist", 91, 1);
- Menu->AddItem(0, "Fur Lining - Shadow Resist", 92, 1);
- Menu->SendTo(plr);
- }break;
- case 166: // glove
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Hand-Mounted Pyro Rocket", 104, 1);
- Menu->AddItem(0, "Handguard Hyperspeed Accelerators", 105, 1);
- Menu->AddItem(0, "Handguard Reticulated Armor Webbing", 106, 1);
- Menu->AddItem(0, "Enchant Gloves - Greater Blasting", 17, 1);
- Menu->AddItem(0, "Enchant Gloves - Armsman", 18, 1);
- Menu->AddItem(0, "Enchant Gloves - Crusher", 19, 1);
- Menu->AddItem(0, "Enchant Gloves - Agility", 20, 1);
- Menu->AddItem(0, "Enchant Gloves - Precision", 21, 1);
- Menu->AddItem(0, "Enchant Gloves - Expertise", 22, 1);
- Menu->AddItem(0, "Enchant Gloves - Exceptional Spellpower", 130, 1);
- Menu->SendTo(plr);
- }break;
- case 167: // legs
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Earthen Leg Armor", 61, 1);
- Menu->AddItem(0, "Frosthide Leg Armor", 62, 1);
- Menu->AddItem(0, "Icescale Leg Armor", 63, 1);
- Menu->AddItem(0, "Brilliant Spellthread", 64, 1);
- Menu->AddItem(0, "Sapphire Spellthread", 65, 1);
- Menu->AddItem(0, "Dragonscale Leg Armor", 107, 1);
- Menu->AddItem(0, "Wyrmscale Leg Armor", 108, 1);
- Menu->SendTo(plr);
- }break;
- case 168: // boots
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Nitro Boots", 103, 1);
- Menu->AddItem(0, "Enchant Boots - Greater Assult", 36, 1);
- Menu->AddItem(0, "Enchant Boots - Tuskars Vitality", 37, 1);
- Menu->AddItem(0, "Enchant Boots - Superior Agility", 38, 1);
- Menu->AddItem(0, "Enchant Boots - Greater Spirit", 39, 1);
- Menu->AddItem(0, "Enchant Boots - Greater Vitality", 40, 1);
- Menu->AddItem(0, "Enchant Boots - Icewalker", 41, 1);
- Menu->AddItem(0, "Enchant Boots - Greater Fortitude", 42, 1);
- Menu->SendTo(plr);
- }break;
- case 169: // rings
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant Ring - Assult", 85, 1);
- Menu->AddItem(0, "Enchant Ring - Greater Spellpower", 86, 1);
- Menu->AddItem(0, "Enchant Ring - Stamina", 87, 1);
- Menu->SendTo(plr);
- }break;
- case 170: // One handed
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant Weapon - Titan Guard", 0, 1);
- Menu->AddItem(0, "Enchant Weapon - Accuracy", 1, 1);
- Menu->AddItem(0, "Enchant Weapon - Berserking", 2, 1);
- Menu->AddItem(0, "Enchant Weapon - Black Magic", 3, 1);
- Menu->AddItem(0, "Enchant Weapon - Mighty Spellpower", 4, 1);
- Menu->AddItem(0, "Enchant Weapon - Superior Potency", 5, 1);
- Menu->AddItem(0, "Enchant Weapon - Ice Breaker", 6, 1);
- Menu->AddItem(0, "Enchant Weapon - Lifeward", 7, 1);
- Menu->AddItem(0, "Enchant Weapon - Blood Draining", 8, 1);
- Menu->AddItem(0, "Enchant Weapon - Blade Ward", 9, 1);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Agility", 10, 1);
- Menu->AddItem(0, "Enchant Weapon - Exceptional Spirit", 11, 1);
- Menu->AddItem(0, "Enchant Weapon - Executioner", 12, 1);
- Menu->AddItem(0, "Enchant Weapon - Mongoose", 13, 1);
- Menu->SendTo(plr);
- }break;
- case 171: // Two handed
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant 2H Weapon - Massacre", 14, 1);
- Menu->AddItem(0, "Enchant 2H Weapon - Scourgebane", 15, 1);
- Menu->AddItem(0, "Enchant 2H Weapon - Giant Slayer", 16, 1);
- Menu->AddItem(0, "Enchant Stave - Greater Spellpower", 30, 1);
- Menu->SendTo(plr);
- }break;
- case 172: // Shield
- {
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 4065, plr);
- Menu->AddItem(0, "Enchant Shield - Defense", 55, 1);
- Menu->AddItem(0, "Enchant Shield - Greater Intellect", 56, 1);
- Menu->AddItem(0, "Enchant Shield - Shield Block", 57, 1);
- Menu->AddItem(0, "Enchant Shield - Resilience", 58, 1);
- Menu->AddItem(0, "Enchant Shield - Major Stamina", 59, 1);
- Menu->AddItem(0, "Enchant Shield - Tough Shield", 60, 1);
- Menu->SendTo(plr);
- }break;
- case 175:
- {
- plr->BroadcastMessage("You have the ability to put any enchant on any weapon %s. Select the enchant you want to apply to any item and when the message box appears type in either 'All' to have all your gear enchanted, or a keyword for a specific peice of gear. Keywords would be 'helm' for helm, 'shoulder' for shoulders, and so on. Keep in mind you can enchant trinkets and rings. the keywords for these are: trinket1, trinket2, ring 1, ring 2. Enjoy!", plr->GetName());
- }break;
- }
- }
- }
- void Destroy()
- {
- delete this;
- }
- };
- void SetupEnchantNPC(ScriptMgr * mgr)
- {
- GossipScript * EnchantNPCGossip = (GossipScript*) new EnchantNPC_Gossip;
- mgr->register_gossip_script(48056, EnchantNPCGossip);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement