Last active
January 2, 2016 23:39
Revisions
-
Mortos revised this gist
Jan 11, 2014 . 2 changed files with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -310,4 +310,4 @@ class beastmaster_creaturescript : public CreatureScript { void AddSC_beastmaster_npc() { new beastmaster_creaturescript; } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -27,4 +27,4 @@ INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `Exte (@BEASTMASTER, 0, 4541, 0, 0, 0), -- Freshly Baked Bread (@BEASTMASTER, 0, 4607, 0, 0, 0), -- Delicious Cave Mold (@BEASTMASTER, 0, 4536, 0, 0, 0), -- Shiny Red Apple (@BEASTMASTER, 0, 33451, 0, 0, 0); -- Fillet of Icefin -
Mortos renamed this gist
Jan 11, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
Mortos created this gist
Jan 11, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ -- ----------------- -- BeastMasterNPC --- -- ----------------- SET @BEASTMASTER := 26307 ; -- TTR Beastmaster -- Clean before inserting data DELETE FROM `creature_template` WHERE `entry` = @BEASTMASTER ; DELETE FROM `npc_vendor` WHERE `entry` = @BEASTMASTER ; DELETE FROM `creature` WHERE `id` = @BEASTMASTER ; -- Create Beast Master INSERT INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`) VALUES (@BEASTMASTER, 0, 0, 0, 0, 0, 24028, 0, 0, 0, 'Beastmaster', '', '', 0, 80, 80, 0, 35, 35, 4194433, 1, 1.14286, 1, 0, 1755, 1755, 0, 1504, 1, 1500, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 'beastmaster_creaturescript', 0); -- Random Food INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES (@BEASTMASTER, 0, 3771, 0, 0, 0), -- Wild Hog Shank (@BEASTMASTER, 0, 3927, 0, 0, 0), -- Fine Aged Cheddar (@BEASTMASTER, 0, 4541, 0, 0, 0), -- Freshly Baked Bread (@BEASTMASTER, 0, 4607, 0, 0, 0), -- Delicious Cave Mold (@BEASTMASTER, 0, 4536, 0, 0, 0), -- Shiny Red Apple (@BEASTMASTER, 0, 33451, 0, 0, 0); -- Fillet of Icefin This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,313 @@ /* * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> * * Copyright (C) 2009-2014 DSS Mortos <[email protected]> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "Config.h" #include "Pet.h" enum GOSSIPS { GOSSIP_OPTION_MAINMENU = 20, //Main Menu entry GOSSIP_OPTION_NEWPET_EXOTIC = 21, //Exotic pet menu entry GOSSIP_OPTION_NEWPET = 22, //Normal pet menu entry GOSSIP_OPTION_CHIMERA = 23, //Cast Pet Chimera GOSSIP_OPTION_CORE_HOUND = 24, //Cast Pet Core Hound GOSSIP_OPTION_DEVILSAUR = 25, //Cast Pet Devilsaur GOSSIP_OPTION_RHINO = 26, //Cast Pet Rhino GOSSIP_OPTION_SILITHID = 27, //Cast Pet Silithid GOSSIP_OPTION_WORM = 28, //Cast Pet Worm GOSSIP_OPTION_SPIRIT_BEAST = 29, //Cast Pet SpiritBeast GOSSIP_OPTION_BAT = 30, //Cast Pet Bat GOSSIP_OPTION_BOAR = 31, //Cast Pet Boar GOSSIP_OPTION_BEAR = 32, //Cast Pet Bear GOSSIP_OPTION_CAT = 33, //Cast Pet Cat GOSSIP_OPTION_CARRION_BIRD = 34, //Cast Pet Carrion Bird GOSSIP_OPTION_CROCOLISK = 35, //Cast Pet Crocolisk GOSSIP_OPTION_CRAB = 36, //Cast Pet Crab GOSSIP_OPTION_DRAGONHAWK = 37, //Cast Pet Dragonhawk GOSSIP_OPTION_GORILLA = 38, //Cast Pet Gorilla GOSSIP_OPTION_HOUND = 39, //Cast Pet Hound GOSSIP_OPTION_HYENA = 40, //Cast Pet Hyena GOSSIP_OPTION_MOTH = 41, //Cast Pet Moth GOSSIP_OPTION_NETHER_RAY = 42, //Cast Pet Nether Ray GOSSIP_OPTION_OWL = 43, //Cast Pet Bird of Prey GOSSIP_OPTION_RAPTOR = 44, //Cast Pet Raptor GOSSIP_OPTION_RAVAGER = 45, //Cast Pet Ravager GOSSIP_OPTION_SCORPID = 46, //Cast Pet Scorpid GOSSIP_OPTION_SERPENT = 47, //Cast Pet Serpent GOSSIP_OPTION_SPIDER = 48, //Cast Pet Spider GOSSIP_OPTION_TURTLE = 49, //Cast Pet Turtle GOSSIP_OPTION_WASP = 50, //Cast Pet Wasp GOSSIP_OPTION_WARP_STALKER = 51, //Cast Pet Warp Stalker GOSSIP_OPTION_WIND_SERPENT = 52, //Cast Pet Wind Serpent GOSSIP_OPTION_WOLF = 53, //Cast Pet Wolf GOSSIP_OPTION_SPOREBAT = 55, //Cast Pet Sporebat GOSSIP_OPTION_TALLSTRIDER = 56, //Cast Pet Tallstriker }; enum NormalPetEntry { SPELL_PET_BAT = 46717, //Add Tamable Bat (26017) SPELL_PET_BOAR = 46718, //Add Tamable Boar (26020) SPELL_PET_BEAR = 64330, //Add Tamable Bear (34025) SPELL_PET_CAT = 46720, //Add Tamable Cat (26021) SPELL_PET_CARRION_BIRD = 46719, //Add Tamable Carrion Bird (26019) SPELL_PET_CROCOLISK = 64332, //Add Tamable Crocolisk (34027) SPELL_PET_CRAB = 64331, //Add Tamable Crab (34026) SPELL_PET_DRAGONHAWK = 46721, //Add Tamable Dragonhawk (26024) SPELL_PET_HOUND = 96234, //Add Tamable Dog (52010) SPELL_PET_GORILLA = 64333, //Add Tamable Gorilla (34028) SPELL_PET_HYENA = 64335, //Add Tamable Hyena (34019) SPELL_PET_MOTH = 64334, //Add Tamable Moth (34021) SPELL_PET_NETHER_RAY = 46722, //Add Tamable Nether Ray (26027) SPELL_PET_BIRD_OF_PREY = 46723, //Add Tamable Bird of Prey (26028) SPELL_PET_RAPTOR = 46724, //Add Tamable Raptor (26029) SPELL_PET_RAVAGER = 46725, //Add Tamable Ravager (26030) SPELL_PET_SCORPID = 46726, //Add Tamable Scorpid (26031) SPELL_PET_SERPENT = 46727, //Add Tamable Serpent (26032) SPELL_PET_SPIDER = 46728, //Add Tamable Spider (26033) SPELL_PET_SPOREBAT = 64336, //Add Tameable Sporebat (34018) SPELL_PET_TALLSTRIDER = 64337, //Add Tameable Tallstrider (34022) SPELL_PET_TURTLE = 64339, //Add Tamable Turtle (34029) SPELL_PET_WASP = 64338, //Add Tamable Wasp (34024) SPELL_PET_WARP_STALKER = 46716, //Add Tamable Warp Stalker (26037) SPELL_PET_WIND_SERPENT = 46729, //Add Tamable Wind Serpent (26038) SPELL_PET_WOLF = 46730, //Add Tamable Wolf (26016) }; enum ExoticPetEntry { SPELL_PET_CHIMAERA = 63177, //Add Tamable Chimaera (33504) SPELL_PET_CORE_HOUND = 63178, //Add Tamable Core Hound (33502) SPELL_PET_DEVILSAUR = 63179, //Add Tamable Devilsaur (33505) SPELL_PET_RHINO = 63180, //Add Tamable Rhino (33506) SPELL_PET_SILITHID = 63183, //Add Tamable Silithid (33508) SPELL_PET_WORM = 63185, //Add Tamable Worm (33511) SPELL_PET_SPIRIT_BEAST = 63184, //Add Tamable Spirit Beast (33510) }; class beastmaster_creaturescript : public CreatureScript { public: beastmaster_creaturescript() : CreatureScript("beastmaster_creaturescript") { } void CreateNewPet(Player* player, Creature* npc, uint32 entry) { //check for existing pets if (player->GetPet()) { ChatHandler(player->GetSession()).PSendSysMessage("You already have a pet."); player->PlayerTalkClass->SendCloseGossip(); return; } //add the new pet npc->CastSpell(player, entry); if (Pet* newpet = player->GetPet()) //because feed your pet is boring newpet->SetPower(POWER_HAPPINESS, 1048000); //we're done! player->PlayerTalkClass->SendCloseGossip(); } void DisplayMainMenu(Player* player, Creature* npc) { if (player->CanTameExoticPets()) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "What exotic pets do you have?", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_NEWPET_EXOTIC); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "I need a new pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_NEWPET); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Sell me some food for my pet.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Take me to the stable.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_STABLEPET); player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, npc->GetGUID()); } void DisplayExoticPetMenu(Player* player, Creature* npc) { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "Main Menu.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_MAINMENU); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Chimaera.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_CHIMERA); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Core Hound.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_CORE_HOUND); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Devilsaur.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_DEVILSAUR); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Rhino.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_RHINO); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Silithid.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_SILITHID); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Worm.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_WORM); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Spirit Beast", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_SPIRIT_BEAST); player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, npc->GetGUID()); } void DisplayNormalPetMenu(Player* player, Creature* npc) { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "Main Menu.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_MAINMENU); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Bat.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_BAT); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Boar.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_BOAR); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Bear.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_BEAR); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Cat.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_CAT); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Carrion Bird.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_CARRION_BIRD); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Crocolisk.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_CROCOLISK); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Crab.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_CRAB); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Dragonhawk.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_DRAGONHAWK); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Gorilla.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_GORILLA); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Hound.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_HOUND); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Hyena.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_HYENA); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Moth.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_MOTH); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Nether Ray.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_NETHER_RAY); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Owl.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_OWL); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Raptor.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_RAPTOR); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Ravager.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_RAVAGER); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Scorpid.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_SCORPID); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Serpent.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_SERPENT); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Spider.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_SPIDER); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Sporebat.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_SPIDER); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Tallstrider.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_TALLSTRIDER); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Turtle.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_TURTLE); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Warp Stalker.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_WARP_STALKER); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Wasp.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_WASP); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Wind Serpent.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_WIND_SERPENT); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "Wolf.", GOSSIP_SENDER_MAIN, GOSSIP_OPTION_WOLF); player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, npc->GetGUID()); } bool OnGossipHello(Player* player, Creature* npc) { if (player->getClass() != CLASS_HUNTER) { player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, npc->GetGUID()); return true; } DisplayMainMenu(player, npc); return true; } bool OnGossipSelect(Player* player, Creature* npc, uint32 sender, uint32 action) { if (!player) return false; player->PlayerTalkClass->ClearMenus(); switch (action) { //Display Main Menu case GOSSIP_OPTION_MAINMENU: DisplayMainMenu(player, npc); break; //Exotic Pets case GOSSIP_OPTION_NEWPET_EXOTIC: DisplayExoticPetMenu(player, npc); break; case GOSSIP_OPTION_CHIMERA: CreateNewPet(player, npc, SPELL_PET_CHIMAERA); break; case GOSSIP_OPTION_CORE_HOUND: CreateNewPet(player, npc, SPELL_PET_CORE_HOUND); break; case GOSSIP_OPTION_DEVILSAUR: CreateNewPet(player, npc, SPELL_PET_DEVILSAUR); break; case GOSSIP_OPTION_RHINO: CreateNewPet(player, npc, SPELL_PET_RHINO); break; case GOSSIP_OPTION_SILITHID: CreateNewPet(player, npc, SPELL_PET_SILITHID); break; case GOSSIP_OPTION_WORM: CreateNewPet(player, npc, SPELL_PET_WORM); break; case GOSSIP_OPTION_SPIRIT_BEAST: CreateNewPet(player, npc, SPELL_PET_SPIRIT_BEAST); break; //Normal pets case GOSSIP_OPTION_NEWPET: DisplayNormalPetMenu(player, npc); break; case GOSSIP_OPTION_BAT: CreateNewPet(player, npc, SPELL_PET_BAT); break; case GOSSIP_OPTION_BOAR: CreateNewPet(player, npc, SPELL_PET_BOAR); break; case GOSSIP_OPTION_BEAR: CreateNewPet(player, npc, SPELL_PET_BEAR); break; case GOSSIP_OPTION_CAT: CreateNewPet(player, npc, SPELL_PET_CAT); break; case GOSSIP_OPTION_CARRION_BIRD: CreateNewPet(player, npc, SPELL_PET_CARRION_BIRD); break; case GOSSIP_OPTION_CROCOLISK: CreateNewPet(player, npc, SPELL_PET_CARRION_BIRD); break; case GOSSIP_OPTION_CRAB: CreateNewPet(player, npc, SPELL_PET_CRAB); break; case GOSSIP_OPTION_DRAGONHAWK: CreateNewPet(player, npc, SPELL_PET_DRAGONHAWK); break; case GOSSIP_OPTION_GORILLA: CreateNewPet(player, npc, SPELL_PET_GORILLA); break; case GOSSIP_OPTION_HOUND: CreateNewPet(player, npc, SPELL_PET_HOUND); break; case GOSSIP_OPTION_HYENA: CreateNewPet(player, npc, SPELL_PET_HYENA); break; case GOSSIP_OPTION_MOTH: CreateNewPet(player, npc, SPELL_PET_MOTH); break; case GOSSIP_OPTION_NETHER_RAY: CreateNewPet(player, npc, SPELL_PET_NETHER_RAY); break; case GOSSIP_OPTION_OWL: CreateNewPet(player, npc, SPELL_PET_BIRD_OF_PREY); break; case GOSSIP_OPTION_RAPTOR: CreateNewPet(player, npc, SPELL_PET_RAPTOR); break; case GOSSIP_OPTION_RAVAGER: CreateNewPet(player, npc, SPELL_PET_RAVAGER); break; case GOSSIP_OPTION_SCORPID: CreateNewPet(player, npc, SPELL_PET_SCORPID); break; case GOSSIP_OPTION_SERPENT: CreateNewPet(player, npc, SPELL_PET_SERPENT); break; case GOSSIP_OPTION_SPIDER: CreateNewPet(player, npc, SPELL_PET_SPIDER); break; case GOSSIP_OPTION_TURTLE: CreateNewPet(player, npc, SPELL_PET_TURTLE); break; case GOSSIP_OPTION_WASP: CreateNewPet(player, npc, SPELL_PET_WASP); break; case GOSSIP_OPTION_WIND_SERPENT: CreateNewPet(player, npc, SPELL_PET_WIND_SERPENT); break; case GOSSIP_OPTION_WOLF: CreateNewPet(player, npc, SPELL_PET_WOLF); break; case GOSSIP_OPTION_SPOREBAT: CreateNewPet(player, npc, SPELL_PET_SPOREBAT); break; case GOSSIP_OPTION_TALLSTRIDER: CreateNewPet(player, npc, SPELL_PET_TALLSTRIDER); break; //Stable case GOSSIP_OPTION_STABLEPET: player->GetSession()->SendStablePet(npc->GetGUID()); break; //Food vendor case GOSSIP_OPTION_VENDOR: player->GetSession()->SendListInventory(npc->GetGUID()); break; } return true; } }; void AddSC_beastmaster_npc() { new beastmaster_creaturescript; }