From e5626779bf2f8a16a1480a9945e715cc7647d305 Mon Sep 17 00:00:00 2001 From: IamTirion Date: Thu, 26 Mar 2026 07:08:56 +0800 Subject: [PATCH 1/2] Update custom_creatures.cpp --- src/scripts/custom/custom_creatures.cpp | 400 ++++++++++++++++++++++++ 1 file changed, 400 insertions(+) diff --git a/src/scripts/custom/custom_creatures.cpp b/src/scripts/custom/custom_creatures.cpp index 1c4eeb0ff21..21d61223026 100644 --- a/src/scripts/custom/custom_creatures.cpp +++ b/src/scripts/custom/custom_creatures.cpp @@ -18,6 +18,7 @@ #include "custom.h" #include "ScriptedAI.h" #include +#include "Group.h" // TELEPORT NPC @@ -1074,6 +1075,399 @@ bool GossipSelect_PremadeSpecNPC(Player* player, Creature* creature, uint32 send return true; } + +// Custom world buffs script + +// World Buffs NPC + +enum RoleCheckSpells +{ + SPELL_SHIELD_SLAM = 23922, + SPELL_BLOODTHIRST = 23881, + SPELL_LAST_STAND = 12975, + SPELL_HOLY_SHIELD = 20925, + SPELL_SANCTITY_AURA = 20218, + SPELL_SHADOWFORM = 15473, + SPELL_ELEMENTAL_MASTERY = 16166, + SPELL_STORMSTRIKE = 17364, + SPELL_MOONKIN_FORM = 24858, + SPELL_LEADER_OF_THE_PACK = 17007, +}; + +void AddAuraFromDummy(Player* player, Creature* caster, uint32 spellId, uint32 creatureEntry) +{ + Creature* dummy = caster->SummonCreature(creatureEntry, caster->GetPositionX(), caster->GetPositionY(), caster->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 1000); + if (dummy) + { + player->AddAura(spellId, 0, dummy); // or dummy->CastSpell(target, spellId, true); + // dummy->DespawnOrUnsummon(); + } +} + +void ApplyWorldBuffsToPlayer(Player* player, Creature* caster) +{ + + // Core buffs for everyone + player->AddAura(22888, 0, nullptr); // Rallying Cry of the Dragonslayer + player->AddAura(16609, 0, nullptr); // Warchief's Blessing + player->AddAura(24425, 0, nullptr); // Spirit of Zandalar + player->AddAura(22818, 0, nullptr); // Mol'dar's Moxie + player->AddAura(15366, 0, nullptr); // Songflower Serenade + player->AddAura(21850, 0, nullptr); // Gift of the Wild + player->AddAura(21564, 0, nullptr); // Prayer of Fortitude + // Add Aura Greater Blessing of Kings using a temporary creature to allow stacking + AddAuraFromDummy(player, caster, 25898, 90032); //Greater Blessing of Kings + + + // Class & role specific buffs + switch (player->GetClass()) + { + case CLASS_WARRIOR: + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22817, 0, nullptr); // Fengus' Ferocity + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16323, 0, nullptr); // Juju Power + player->AddAura(17038, 0, nullptr); // Winterfall Firewater + player->AddAura(17626, 0, nullptr); // Flask of the Titans + player->AddAura(10667, 0, nullptr); // Blasted Lands Strength + player->AddAura(24799, 0, nullptr); // Smoked Desert Dumplings + AddAuraFromDummy(player, caster, 25916, 90032); //Greater Blessing of Might + + if (player->HasSpell(SPELL_SHIELD_SLAM)||player->HasSpell(SPELL_BLOODTHIRST) && player->HasSpell(SPELL_LAST_STAND)) //Tank + { + player->AddAura(17540, 0, nullptr); // Greater Stoneshield Potion + AddAuraFromDummy(player, caster, 25890, 90032); //Greater Blessing of Light + AddAuraFromDummy(player, caster, 25899, 90032); //Greater Blessing of Sanctuary + } + else //DPS + { + AddAuraFromDummy(player, caster, 25895, 90032); //Greater Blessing of Salvation + } + // 19-21 buffs in total + break; + + case CLASS_PALADIN: + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(24363, 0, nullptr); // Mageblood Potion + player->AddAura(22820, 0, nullptr); // Slip'kik's Savvy + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + if (player->HasSpell(SPELL_HOLY_SHIELD)) //Tank + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22817, 0, nullptr); // Fengus' Ferocity + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16323, 0, nullptr); // Juju Power + player->AddAura(17038, 0, nullptr); // Winterfall Firewater + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(10667, 0, nullptr); // Blasted Lands Strength + player->AddAura(24799, 0, nullptr); // Smoked Desert Dumplings + player->AddAura(17540, 0, nullptr); // Greater Stoneshield Potion + AddAuraFromDummy(player, caster, 25916, 90032); //Greater Blessing of Might + AddAuraFromDummy(player, caster, 25890, 90032); //Greater Blessing of Light + AddAuraFromDummy(player, caster, 25899, 90032); //Greater Blessing of Sanctuary + } + + else if (player->HasSpell(SPELL_SANCTITY_AURA)) //DPS + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22817, 0, nullptr); // Fengus' Ferocity + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16323, 0, nullptr); // Juju Power + player->AddAura(17038, 0, nullptr); // Winterfall Firewater + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(10667, 0, nullptr); // Blasted Lands Strength + player->AddAura(24799, 0, nullptr); // Smoked Desert Dumplings + AddAuraFromDummy(player, caster, 25916, 90032); //Greater Blessing of Might + } + else //Healer + { + player->AddAura(23766, 0, nullptr); // Darkmoon Faire Intelligence + player->AddAura(17627, 0, nullptr); // Flask of Distilled Wisdom + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(18194, 0, nullptr); // Nightfin Soup + } + // 16-26 buffs in total + break; + + case CLASS_SHAMAN: + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(24363, 0, nullptr); // Mageblood Potion + player->AddAura(22820, 0, nullptr); // Slip'kik's Savvy + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + if (player->HasSpell(SPELL_ELEMENTAL_MASTERY)) //Caster DPS + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(18194, 0, nullptr); // Nightfin Soup + } + else if (player->HasSpell(SPELL_STORMSTRIKE)) //Melee DPS + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22817, 0, nullptr); // Fengus' Ferocity + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16323, 0, nullptr); // Juju Power + player->AddAura(17038, 0, nullptr); // Winterfall Firewater + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(10667, 0, nullptr); // Blasted Lands Strength + player->AddAura(24799, 0, nullptr); // Smoked Desert Dumplings + AddAuraFromDummy(player, caster, 25916, 90032); //Greater Blessing of Might + } + else //Healer + { + player->AddAura(23766, 0, nullptr); // Darkmoon Faire Intelligence + player->AddAura(17627, 0, nullptr); // Flask of Distilled Wisdom + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(18194, 0, nullptr); // Nightfin Soup + // 16-21 buffs in total + } + break; + + case CLASS_HUNTER: + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16329, 0, nullptr); // Juju Might + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(17626, 0, nullptr); // Flask of the Titans + player->AddAura(10669, 0, nullptr); // Blasted Lands Agility + player->AddAura(18192, 0, nullptr); // Grilled Squid + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + //15 buffs in total + break; + + case CLASS_DRUID: + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(24363, 0, nullptr); // Mageblood Potion + player->AddAura(22820, 0, nullptr); // Slip'kik's Savvy + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + if (player->HasSpell(SPELL_MOONKIN_FORM)) //Caster DPS + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(18194, 0, nullptr); // Nightfin Soup + } + else if (player->HasSpell(SPELL_LEADER_OF_THE_PACK)) //Melee DPS or Tank + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16329, 0, nullptr); // Juju Might + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(17626, 0, nullptr); // Flask of the Titans + player->AddAura(10669, 0, nullptr); // Blasted Lands Agility + player->AddAura(18192, 0, nullptr); // Grilled Squid + AddAuraFromDummy(player, caster, 25916, 90032); //Greater Blessing of Might + AddAuraFromDummy(player, caster, 25890, 90032); //Greater Blessing of Light + AddAuraFromDummy(player, caster, 25899, 90032); //Greater Blessing of Sanctuary + } + else //Healer + { + player->AddAura(23766, 0, nullptr); // Darkmoon Faire Intelligence + player->AddAura(17627, 0, nullptr); // Flask of Distilled Wisdom + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(18194, 0, nullptr); // Nightfin Soup + } + // 16 buffs in total + break; + + case CLASS_ROGUE: + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22817, 0, nullptr); // Fengus' Ferocity + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17538, 0, nullptr); // Elixir of the Mongoose + player->AddAura(16323, 0, nullptr); // Juju Power + player->AddAura(17038, 0, nullptr); // Winterfall Firewater + player->AddAura(17626, 0, nullptr); // Flask of the Titans + player->AddAura(10669, 0, nullptr); // Blasted Lands Agility + player->AddAura(18192, 0, nullptr); // Grilled Squid + + // Add Aura Greater Blessing of Kings using a temporary creature to allow stacking + AddAuraFromDummy(player, caster, 25916, 90032); //Greater Blessing of Might + AddAuraFromDummy(player, caster, 25895, 90032); //Greater Blessing of Salvation + + // 19 buffs in total + break; + + case CLASS_MAGE: + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22820, 0, nullptr); // Slip'kik's Savvy + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(21920, 0, nullptr); // Elixir of Frost Power + player->AddAura(26276, 0, nullptr); // Elixir of Greater Firepower + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(24363, 0, nullptr); // Mageblood Potion + player->AddAura(18194, 0, nullptr); // Nightfin Soup + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + AddAuraFromDummy(player, caster, 25895, 90032); //Greater Blessing of Salvation + + // 20 buffs in total + break; + + case CLASS_WARLOCK: + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(22820, 0, nullptr); // Slip'kik's Savvy + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(11474, 0, nullptr); // Elixir of Shadow Power + player->AddAura(26276, 0, nullptr); // Elixir of Greater Firepower + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(24363, 0, nullptr); // Mageblood Potion + player->AddAura(18194, 0, nullptr); // Nightfin Soup + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + AddAuraFromDummy(player, caster, 25895, 90032); //Greater Blessing of Salvation + + // 19 buffs in total + break; + + case CLASS_PRIEST: + player->AddAura(23028, 0, nullptr); // Arcane Brilliance + player->AddAura(24363, 0, nullptr); // Mageblood Potion + player->AddAura(22820, 0, nullptr); // Slip'kik's Savvy + player->AddAura(10692, 0, nullptr); // Blasted Lands Intelligence + player->AddAura(18194, 0, nullptr); // Nightfin Soup + AddAuraFromDummy(player, caster, 25894, 90032); //Greater Blessing of Wisdom + AddAuraFromDummy(player, caster, 25895, 90032); //Greater Blessing of Salvation + if (player->HasSpell(SPELL_SHADOWFORM)) //Caster DPS + { + player->AddAura(23768, 0, nullptr); // Darkmoon Faire Damage + player->AddAura(29534, 0, nullptr); // Traces of Silithyst + player->AddAura(17628, 0, nullptr); // Flask of Supreme Power + player->AddAura(17539, 0, nullptr); // Greater Arcane Elixir + player->AddAura(11474, 0, nullptr); // Elixir of Shadow Power + } + else //Healer + { + player->AddAura(23766, 0, nullptr); // Darkmoon Faire Intelligence + player->AddAura(17627, 0, nullptr); // Flask of Distilled Wisdom + } + // 16 buffs in total + break; + } +} + +bool GossipHello_WorldBuffsNPC(Player* player, Creature* creature) +{ + // Show action menu + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "Buff my group", GOSSIP_SENDER_MAIN, 1); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "Buff myself", GOSSIP_SENDER_MAIN, 2); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "Fire Resistance (Group)", GOSSIP_SENDER_MAIN, 3); + player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "Windfury (Only you)", GOSSIP_SENDER_MAIN, 4); + player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + return true; +} + +bool GossipSelect_WorldBuffsNPC(Player* player, Creature* creature, uint32 sender, uint32 action) +{ + if (sender != GOSSIP_SENDER_MAIN) + return true; + + switch (action) + { + + case 1: // Buff group + { + Group* group = player->GetGroup(); + if (group) + { + for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) + { + Player* member = itr->getSource(); + if (member && member->IsInWorld() && member->IsAlive()) + { + ApplyWorldBuffsToPlayer(member, creature); + } + } + player->GetSession()->SendNotification("Your group has been buffed."); + } + else + { + // No group, buff just the player + ApplyWorldBuffsToPlayer(player, creature); + player->GetSession()->SendNotification("You have been buffed."); + } + player->CLOSE_GOSSIP_MENU(); + break; + } + + case 2: // Buff myself + { + ApplyWorldBuffsToPlayer(player, creature); + player->GetSession()->SendNotification("You have been buffed."); + player->CLOSE_GOSSIP_MENU(); + break; + } + + case 3: // Fire Resistance + { + Group* group = player->GetGroup(); + if (group) + { + for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) + { + Player* member = itr->getSource(); + if (member && member->IsInWorld() && member->IsAlive()) + { + member->AddAura(15123, 0, nullptr); + } + } + player->GetSession()->SendNotification("Your group has been buffed."); + } + else + { + // No group, buff just the player + player->AddAura(15123, 0, nullptr); + player->GetSession()->SendNotification("You have been buffed."); + } + player->CLOSE_GOSSIP_MENU(); + break; + } + + case 4: // Windfury (Only you) + { + // Get the player's main hand weapon + Item* pItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND); + + if (!pItem) + { + player->GetSession()->SendNotification("You need a weapon in your main hand to receive this enchantment!"); + return false; + } + // Clear existing temporary enchantments first to prevent errors + player->ApplyEnchantment(pItem, TEMP_ENCHANTMENT_SLOT, false); + + // 1669: Windfury Weapon (Rank 4) + // 1800000: Duration (30 minutes in milliseconds for Vanilla) + pItem->SetEnchantment(TEMP_ENCHANTMENT_SLOT, 1669, 1800000, 0); + + // Refresh the item to the client so the visual/tooltip appears + player->ApplyEnchantment(pItem, TEMP_ENCHANTMENT_SLOT, true); + player->GetSession()->SendNotification("I have a dream."); + player->CLOSE_GOSSIP_MENU(); + break; + } + + } + return true; +} + /* * Custom training dummy script */ @@ -1251,6 +1645,12 @@ void AddSC_custom_creatures() newscript->pGossipSelect = &GossipSelect_PremadeSpecNPC; newscript->RegisterSelf(false); + newscript = new Script; + newscript->Name = "custom_world_buffs_npc"; + newscript->pGossipHello = &GossipHello_WorldBuffsNPC; + newscript->pGossipSelect = &GossipSelect_WorldBuffsNPC; + newscript->RegisterSelf(false); + newscript = new Script; newscript->Name = "custom_npc_training_dummy"; newscript->GetAI = &GetAI_npc_training_dummy; From 56cadbe60dd36a7d243e91a9fd66bc7f6b2162d6 Mon Sep 17 00:00:00 2001 From: IamTirion Date: Thu, 26 Mar 2026 07:35:55 +0800 Subject: [PATCH 2/2] Modifying the World Buffs NPC to use the custom script --- .../repack/Custom-ADD_GM_ISLAND_VENDORS.sql | 72 ++++++++++--------- src/scripts/custom/custom_creatures.cpp | 3 + 2 files changed, 40 insertions(+), 35 deletions(-) diff --git a/sql/custom/repack/Custom-ADD_GM_ISLAND_VENDORS.sql b/sql/custom/repack/Custom-ADD_GM_ISLAND_VENDORS.sql index 4c44e514f81..c16205b2396 100644 --- a/sql/custom/repack/Custom-ADD_GM_ISLAND_VENDORS.sql +++ b/sql/custom/repack/Custom-ADD_GM_ISLAND_VENDORS.sql @@ -1,40 +1,40 @@ -- GM Island Vendors for VMaNGOS by brotalnia. -- CREATURE_TEMPLATE -INSERT INTO `creature_template` (`entry`, `patch`, `display_id1`, `display_id2`, `display_id3`, `display_id4`, `name`, `subname`, `gossip_menu_id`, `level_min`, `level_max`, `health_min`, `health_max`, `mana_min`, `mana_max`, `armor`, `faction`, `npc_flags`, `speed_walk`, `speed_run`, `display_scale1`, `detection_range`, `call_for_help_range`, `leash_range`, `rank`, `xp_multiplier`, `dmg_min`, `dmg_max`, `dmg_school`, `attack_power`, `dmg_multiplier`, `base_attack_time`, `ranged_attack_time`, `unit_class`, `unit_flags`, `dynamic_flags`, `beast_family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `ranged_dmg_min`, `ranged_dmg_max`, `ranged_attack_power`, `type`, `type_flags`, `loot_id`, `pickpocket_loot_id`, `skinning_loot_id`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `spell_id1`, `spell_id2`, `spell_id3`, `spell_id4`, `spell_list_id`, `pet_spell_list_id`, `gold_min`, `gold_max`, `ai_name`, `movement_type`, `inhabit_type`, `civilian`, `racial_leader`, `regeneration`, `equipment_id`, `trainer_id`, `vendor_id`, `mechanic_immune_mask`, `school_immune_mask`, `flags_extra`, `script_name`) VALUES -(20008, 0, 15251, 15251, 0, 0, 'Teleportman', 'Player Test Realm', 0, 50, 50, 4000, 5000, 200, 300, 200, 35, 1, 1, 1.14286, 1.5, 20, 5, 0, 1, 1, 687, 967, 0, 226, 1, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 2, 'custom_teleport_npc'), -(90000, 0, 7249, 0, 0, 0, 'Druid Sets', 'Druid Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 8, 2, 0, 0, 0, 0, 11, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90001, 0, 15976, 0, 0, 0, 'Shaman Sets', 'Shaman Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 8, 2, 0, 0, 0, 0, 7, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90002, 0, 15834, 0, 0, 0, 'Mage Sets', 'Mage Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 8, 2, 0, 0, 0, 0, 8, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90003, 0, 11325, 0, 0, 0, 'Warlock Sets', 'Warlock Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 8, 2, 0, 0, 0, 0, 9, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90004, 0, 15725, 0, 0, 0, 'Priest Sets', 'Priest Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 8, 2, 0, 0, 0, 0, 5, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90005, 0, 16027, 0, 0, 0, 'Hunter Sets', 'Hunter Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 8, 2, 0, 0, 0, 0, 3, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90006, 0, 4617, 0, 0, 0, 'Rogue Sets', 'Rogue Trainer', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 4, 2, 0, 0, 0, 0, 4, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90007, 0, 15843, 0, 0, 0, 'Paladin Sets', 'Paladin Trainer', 0, 60, 60, 1337, 1337, 420, 420, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 2, 2, 0, 0, 0, 0, 2, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90008, 0, 16012, 0, 0, 0, 'Warrior Sets', 'Warrior Trainer', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 1, 1, 110, 142, 0, 272, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 1, 0, 74.448, 102.366, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90009, 0, 911, 0, 0, 0, 'Impy', 'Demon Trainer', 0, 60, 60, 420, 420, 0, 0, 3252, 35, 4, 1, 1.14286, 0, 20, 5, 0, 0, 1, 12, 14, 0, 64, 1, 2000, 2000, 8, 2, 0, 0, 3, 0, 3, 0, 18.392, 25.289, 100, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90010, 0, 2041, 0, 0, 0, 'Weapon Skills', 'Weapon Master', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 17, 1, 1.14286, 0, 20, 5, 0, 0, 1, 292, 333, 0, 226, 1, 1500, 2000, 1, 2, 0, 0, 2, 0, 0, 0, 55.36, 76.12, 100, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90011, 0, 7211, 0, 0, 0, 'Melee Weapons', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90012, 0, 7213, 0, 0, 0, 'Ranged Weapons', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90013, 0, 15998, 0, 0, 0, 'Caster Weapons', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90014, 0, 7171, 0, 0, 0, 'Offhands', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90015, 0, 7206, 0, 0, 0, 'Offsets', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90016, 0, 7176, 0, 0, 0, 'Jewelry', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90017, 0, 7209, 0, 0, 0, 'Miscellaneous', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90018, 0, 7138, 0, 0, 0, 'Poisons', '', 0, 60, 60, 420, 420, 0, 0, 3252, 35, 4, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90019, 0, 7993, 0, 0, 0, 'Trump', 'Auctioneer', 0, 60, 60, 420, 420, 0, 0, 3252, 35, 4096, 1, 1.14286, 0, 20, 5, 0, 0, 1, 77, 92, 0, 226, 1, 2000, 2000, 1, 36864, 0, 0, 0, 0, 0, 0, 61.9, 83.6, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90020, 0, 7337, 0, 0, 0, 'Scrooge', 'Banker', 0, 60, 60, 420, 420, 0, 0, 3252, 35, 256, 1, 1.14286, 0, 20, 5, 0, 0, 1, 96, 125, 0, 248, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 70.664, 97.163, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90021, 0, 9284, 0, 0, 0, 'Harambe', 'Stable Master', 0, 60, 60, 420, 420, 0, 0, 3252, 35, 8192, 1, 1.14286, 0, 20, 5, 0, 0, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90022, 0, 16075, 0, 0, 0, 'Mounts', 'Riding Trainer', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 21, 1, 1.14286, 0, 20, 5, 0, 0, 1, 9, 13, 0, 62, 1, 2000, 2000, 1, 2, 0, 0, 1, 0, 0, 0, 16.808, 23.111, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90023, 0, 3019, 0, 0, 0, 'Expert Training Dummy', '', 0, 60, 60, 1000000, 1000000, 0, 0, 3000, 914, 0, 1, 1.14286, 0, 20, 5, 0, 0, 1, 1, 2, 0, 0, 1, 2000, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 100, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 17, 0, 64, 'custom_npc_training_dummy'), -(90024, 0, 3019, 0, 0, 0, 'Heroic Training Dummy', '', 0, 63, 63, 1000000, 1000000, 0, 0, 5000, 914, 0, 1, 1.14286, 0, 20, 5, 0, 3, 1, 1, 2, 0, 0, 1, 2000, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 100, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 17, 0, 64, 'custom_npc_training_dummy'), -(90025, 0, 3019, 0, 0, 0, 'Apprentice Training Dummy', '', 0, 1, 1, 1000000, 1000000, 0, 0, 100, 914, 0, 1, 1.14286, 0, 20, 5, 0, 0, 1, 1, 2, 0, 0, 1, 2000, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 100, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 17, 0, 64, 'custom_npc_training_dummy'), -(90026, 0, 7209, 0, 0, 0, 'Frost Resistance', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 1, 20, 5, 0, 1, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90027, 0, 7209, 0, 0, 0, 'Enchants 1', '', 0, 60, 60, 1337, 1337, 0, 0, 3252, 35, 16388, 1, 1.14286, 1, 20, 5, 0, 1, 1, 42, 53, 0, 122, 1, 2000, 2000, 1, 2, 0, 0, 0, 0, 0, 0, 45.144, 62.073, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 64, ''), -(90028, 0, 7209, 0, 0, 0, 'Enchants 2', '', 0, 50, 50, 4000, 5000, 200, 300, 200, 35, 1, 1, 1.14286, 1, 20, 5, 0, 1, 1, 687, 967, 0, 226, 1, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 2, 'custom_enchant_npc'), -(90029, 0, 7209, 0, 0, 0, 'Professions', '', 0, 50, 50, 4000, 5000, 200, 300, 200, 35, 1, 1, 1.14286, 1, 20, 5, 0, 1, 1, 687, 967, 0, 226, 1, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 2, 'custom_professions_npc'), -(90030, 0, 104, 0, 0, 0, 'Premade Gear', '', 0, 50, 50, 4000, 5000, 200, 300, 200, 35, 1, 1, 1.14286, 1, 20, 5, 0, 1, 1, 687, 967, 0, 226, 1, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 2, 'custom_premade_gear_npc'), -(90031, 0, 18, 0, 0, 0, 'Premade Specs', '', 0, 50, 50, 4000, 5000, 200, 300, 200, 35, 1, 1, 1.14286, 1, 20, 5, 0, 1, 1, 687, 967, 0, 226, 1, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 2, 'custom_premade_spec_npc'), -(90032, 0, 108, 0, 0, 0, 'World Buffs', 'Player Test Realm', 13500, 50, 50, 4000, 5000, 200, 300, 200, 35, 1, 1, 1.14286, 1.5, 20, 5, 0, 1, 1, 687, 967, 0, 226, 1, 1000, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 2, ''); +INSERT INTO `creature_template` (`entry`, `patch`, `name`, `subname`, `level_min`, `level_max`, `faction`, `npc_flags`, `gossip_menu_id`, `display_id1`, `display_id2`, `display_id3`, `display_id4`, `display_scale1`, `display_scale2`, `display_scale3`, `display_scale4`, `display_probability1`, `display_probability2`, `display_probability3`, `display_probability4`, `display_total_probability`, `mount_display_id`, `speed_walk`, `speed_run`, `detection_range`, `call_for_help_range`, `leash_range`, `type`, `pet_family`, `rank`, `unit_class`, `xp_multiplier`, `health_multiplier`, `mana_multiplier`, `armor_multiplier`, `damage_multiplier`, `damage_variance`, `damage_school`, `base_attack_time`, `ranged_attack_time`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `loot_id`, `pickpocket_loot_id`, `skinning_loot_id`, `gold_min`, `gold_max`, `spell_id1`, `spell_id2`, `spell_id3`, `spell_id4`, `spell_list_id`, `pet_spell_list_id`, `spawn_spell_id`, `auras`, `ai_name`, `movement_type`, `inhabit_type`, `civilian`, `racial_leader`, `equipment_id`, `trainer_id`, `vendor_id`, `mechanic_immune_mask`, `school_immune_mask`, `immunity_flags`, `static_flags1`, `static_flags2`, `flags_extra`, `script_name`) VALUES +(20008, 0, 'Teleportman', NULL, 60, 60, 35, 1, 0, 15251, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'custom_teleport_npc'), +(90000, 0, 'Druid Sets', 'Druid Trainer', 60, 60, 35, 21, 0, 7249, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90001, 0, 'Shaman Sets', 'Shaman Trainer', 60, 60, 35, 21, 0, 15976, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90002, 0, 'Mage Sets', 'Mage Trainer', 60, 60, 35, 21, 0, 15834, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90003, 0, 'Warlock Sets', 'Warlock Trainer', 60, 60, 35, 21, 0, 11325, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90004, 0, 'Priest Sets', 'Priest Trainer', 60, 60, 35, 21, 0, 15725, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90005, 0, 'Hunter Sets', 'Hunter Trainer', 60, 60, 35, 21, 0, 16027, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90006, 0, 'Rogue Sets', 'Rogue Trainer', 60, 60, 35, 21, 0, 4617, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90007, 0, 'Paladin Sets', 'Paladin Trainer', 60, 60, 35, 21, 0, 15843, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90008, 0, 'Warrior Sets', 'Warrior Trainer', 60, 60, 35, 21, 0, 16012, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90009, 0, 'Impy', 'Demon Trainer', 60, 60, 35, 4, 0, 911, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90010, 0, 'Weapon Skills', 'Weapon Master', 60, 60, 35, 17, 0, 2041, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90011, 0, 'Melee Weapons', '', 60, 60, 35, 16388, 0, 7211, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90012, 0, 'Ranged Weapons', '', 60, 60, 35, 16388, 0, 7213, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90013, 0, 'Caster Weapons', '', 60, 60, 35, 16388, 0, 15998, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90014, 0, 'Offhands', '', 60, 60, 35, 16388, 0, 7171, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90015, 0, 'Offsets', '', 60, 60, 35, 16388, 0, 7206, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90016, 0, 'Jewelry', '', 60, 60, 35, 16388, 0, 7176, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90017, 0, 'Miscellaneous', '', 60, 60, 35, 16388, 0, 7209, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90018, 0, 'Poisons', '', 60, 60, 35, 4, 0, 7138, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90019, 0, 'Trump', 'Auctioneer', 60, 60, 35, 4096, 0, 7993, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90020, 0, 'Scrooge', 'Banker', 60, 60, 35, 256, 0, 7337, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90021, 0, 'Harambe', 'Stable Master', 60, 60, 35, 8192, 0, 9284, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90022, 0, 'Mounts', 'Riding Trainer', 60, 60, 35, 21, 0, 16075, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90023, 0, 'Expert Training Dummy', '', 60, 60, 914, 0, 0, 3019, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 'custom_npc_training_dummy'), +(90024, 0, 'Heroic Training Dummy', '', 63, 63, 914, 0, 0, 3019, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 'custom_npc_training_dummy'), +(90025, 0, 'Apprentice Training Dummy', '', 1, 1, 914, 0, 0, 3019, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 'custom_npc_training_dummy'), +(90026, 0, 'Frost Resistance', '', 60, 60, 35, 16388, 0, 7209, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90027, 0, 'Enchants 1', '', 60, 60, 35, 16388, 0, 7209, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, ''), +(90028, 0, 'Enchants 2', '', 60, 60, 35, 1, 0, 7209, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'custom_enchant_npc'), +(90029, 0, 'Professions', '', 60, 60, 35, 1, 0, 7209, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'custom_professions_npc'), +(90030, 0, 'Premade Gear', '', 60, 60, 35, 1, 0, 104, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'custom_premade_gear_npc'), +(90031, 0, 'Premade Specs', '', 60, 60, 35, 1, 0, 18, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'custom_premade_spec_npc'), +(90032, 0, 'World Buffs', '', 60, 60, 35, 1, 0, 108, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1.14286, 18, 5, 0, 7, 0, 0, 1, 1, 65, 1, 1, 1, 0.14, 0, 2000, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, '', 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 'custom_world_buffs_npc'); -- NPC_TRAINER INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90000, 499, 0, 0, 0, 20); INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90000, 1151, 0, 0, 0, 26); @@ -480,6 +480,7 @@ INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillv INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10056, 0, 0, 0, 58); INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10141, 0, 0, 0, 40); INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10142, 0, 0, 0, 50); +INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10143, 0, 0, 0, 60); INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10146, 0, 0, 0, 42); INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10147, 0, 0, 0, 52); INSERT INTO `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) VALUES (90002, 10152, 0, 0, 0, 42); @@ -2332,3 +2333,4 @@ INSERT INTO `npc_gossip` (`npc_guid`, `textid`) VALUES (2000029, 90001); INSERT INTO `npc_gossip` (`npc_guid`, `textid`) VALUES (2000030, 90002); INSERT INTO `npc_gossip` (`npc_guid`, `textid`) VALUES (2000031, 90003); INSERT INTO `npc_gossip` (`npc_guid`, `textid`) VALUES (2000032, 90004); +INSERT INTO `npc_gossip` (`npc_guid`, `textid`) VALUES (2000033, 90005); diff --git a/src/scripts/custom/custom_creatures.cpp b/src/scripts/custom/custom_creatures.cpp index 21d61223026..34bc16d1a68 100644 --- a/src/scripts/custom/custom_creatures.cpp +++ b/src/scripts/custom/custom_creatures.cpp @@ -1441,6 +1441,9 @@ bool GossipSelect_WorldBuffsNPC(Player* player, Creature* creature, uint32 sende } case 4: // Windfury (Only you) + // I know this may be a bit too custom, but I think if anyone is using the World Buffs NPC, + // They already are cheating. I wish to offer this option, because it's really a dream of + // Alliance Warriors to be able to use Windfury ^.^ { // Get the player's main hand weapon Item* pItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);