Логин:
Пароль:
 
 
Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Beastmaster - Форум

Страница 1 из 11
Форум » TrinityCore » Патчи в ядро Trinity » Beastmaster
Beastmaster
Infе[R]noSДата: Вторник, 15.07.2014, 14:37 | Сообщение # 1



Infе[R]noS
Скаут
Группа: Пользователи
Сообщений: 11

Замечания:

Оффлайн
Цитата
From ec767487337f6ceda9d150d8b6a86b3ab2d228d3 Mon Sep 17 00:00:00 2001
From: LordPsyan <realmsofwarcraft@gmail.com>
Date: Tue, 24 Jun 2014 07:14:05 -0400
Subject: [PATCH] Beastmaster

---
.../beastmaster/2014_04_12-world-beastmaster.sql | 64 ++++
src/server/game/Scripting/ScriptLoader.cpp | 6 +-
src/server/scripts/Custom/CMakeLists.txt | 4 +-
src/server/scripts/Custom/beastmaster.cpp | 385 ++++++++++++++++++++
src/server/worldserver/worldserver.conf.dist | 29 ++
5 files changed, 485 insertions(+), 3 deletions(-)
create mode 100644 sql/TrinityCore-Patches/beastmaster/2014_04_12-world-beastmaster.sql
create mode 100644 src/server/scripts/Custom/beastmaster.cpp

diff --git a/sql/TrinityCore-Patches/beastmaster/2014_04_12-world-beastmaster.sql b/sql/TrinityCore-Patches/beastmaster/2014_04_12-world-beastmaster.sql
new file mode 100644
index 0000000..58c2512
--- /dev/null
+++ b/sql/TrinityCore-Patches/beastmaster/2014_04_12-world-beastmaster.sql
@@ -0,0 +1,64 @@
+DROP TABLE IF EXISTS `beastmaster`;
+
+CREATE TABLE `beastmaster` (
+ `entry` INT(5) NOT NULL DEFAULT '0' COMMENT 'Pet entry number',
+ `cat_number` INT(5) NOT NULL DEFAULT '0' COMMENT '0-normal pet 1-exotic pet 2-pet spell',
+ `tokenOrGold` TINYINT(1) DEFAULT '0' COMMENT '0 = gold 1 = token',
+ `cost` INT(10) NOT NULL DEFAULT '0' COMMENT 'Amount in copper if tokenOrGold is 0 else number of tokens',
+ `token` INT(10) NOT NULL DEFAULT '0' COMMENT 'Token entry number (item_template.entry)',
+ `name` VARCHAR(255) DEFAULT NULL COMMENT 'Name of pet or name of pet spell',
+ `spell` INT(10) NOT NULL DEFAULT '0' COMMENT 'Spell entry number.',
+ PRIMARY KEY (`entry`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Beastmaster System by LordPsyan';
+
+/*Data for the table `beastmaster` */
+
+INSERT INTO `beastmaster` (`entry`, `cat_number`, `tokenOrGold`, `cost`, `token`, `name`, `spell`) VALUES
+('1','0','1','1000','0','Spider','2349'),
+('2','0','0','1000','0','Bat','28233'),
+('3','0','0','1000','0','Bear','29319'),
+('4','0','0','1000','0','Boar','29996'),
+('5','0','0','1000','0','Cat','28097'),
+('6','0','0','1000','0','Carrion Bird','26838'),
+('7','0','0','1000','0','Crab','24478'),
+('8','0','0','1000','0','Crocolisk','1417'),
+('9','0','0','1000','0','Dragonhawk','27946'),
+('10','0','0','1000','0','Gorilla','28213'),
+('11','0','0','1000','0','Hyena','13036'),
+('12','0','0','1000','0','Moth','27421'),
+('13','0','0','1000','0','Owl','23136'),
+('14','0','0','1000','0','Raveger','17199'),
+('15','0','0','1000','0','Raptor','14821'),
+('16','0','0','1000','0','Serpent','28358'),
+('17','0','0','1000','0','Bug','28085'),
+('18','0','0','1000','0','Strider','22807'),
+('19','0','0','1000','0','Scorpid','9698'),
+('20','1','0','1000','0','Chimaera','21879'),
+('21','1','0','1000','0','Core Hound','21108'),
+('22','1','0','1000','0','Devilsaur','20931'),
+('23','1','0','1000','0','Rhino','30445'),
+('24','1','0','1000','0','Silithid','5460'),
+('25','1','0','1000','0','Worm','30148'),
+('26','1','0','1000','0','Loque\'nahak','32517'),
+('27','1','0','1000','0','Skoll','35189'),
+('28','1','0','1000','0','Gondria','33776'),
+('29','2','1','1000','0','Feed Pet','6991'),
+('30','2','0','1000','0','Call Pet','883'),
+('31','2','0','1000','0','Dismiss Pet','2641'),
+('32','2','0','1000','0','Mend Pet','136');
+
+-- Beastmaster NPC
+
+DELETE FROM `creature_template` WHERE `entry` = 99990;
+
+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`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `unit_flags2`, `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`, `HoverHeight`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `VerifiedBuild`) VALUES
+('99990','0','0','0','0','0','26789','0','0','0','LordPsyan','Beastmaster Service','','0','80','80','0','35','129','1','1.14286','0.75','1','1755','1755','0','1504','1','1500','0','1','0','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','1','0','0' ,'0','0','0','0','0','0','1','0','0','Npc_Beastmaster','0');
+
+-- Sample npc vendor data for beastmaster
+
+DELETE FROM `npc_vendor` WHERE `entry` = 99990;
+
+INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES
+('99990','0','4540','0','0','0'),
+('99990','0','4541','0','0','0'),
+('99990','0','4542','0','0','0');
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index f1359b7..9b7e535 100644
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -44,6 +44,10 @@ void AddSC_holiday_spell_scripts();

void AddSC_SmartScripts();

+
+// Custom
+void AddSC_Npc_Beastmaster();
+
//Commands
void AddSC_account_commandscript();
void AddSC_achievement_commandscript();
@@ -1447,6 +1451,6 @@ void AddCustomScripts()
{
#ifdef SCRIPTS
/* This is where custom scripts should be added. */
-
+ AddSC_Npc_Beastmaster();
#endif
}
diff --git a/src/server/scripts/Custom/CMakeLists.txt b/src/server/scripts/Custom/CMakeLists.txt
index 80ebe36..20c2bc9 100644
--- a/src/server/scripts/Custom/CMakeLists.txt
+++ b/src/server/scripts/Custom/CMakeLists.txt
@@ -8,11 +8,11 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-# file(GLOB_RECURSE sources_Custom Custom/*.cpp Custom/*.h)
+file(GLOB_RECURSE sources_Custom Custom/*.cpp Custom/*.h)

set(scripts_STAT_SRCS
${scripts_STAT_SRCS}
-# ${sources_Custom}
+ ${sources_Custom}
)

message(" -> Prepared: Custom")
diff --git a/src/server/scripts/Custom/beastmaster.cpp b/src/server/scripts/Custom/beastmaster.cpp
new file mode 100644
index 0000000..1261411
--- /dev/null
+++ b/src/server/scripts/Custom/beastmaster.cpp
@@ -0,0 +1,385 @@
+//Modified by Marcus rewritten by LordPsyan
+//original script created by ??
+#include "ScriptPCH.h"
+#include "Config.h"
+#include "Pet.h"
+#include "SystemConfig.h"
+
+#define GOSSIP_SENDER_MAIN 1000
+#define MSG_TYPE 100004
+#define MSG_PET 100005
+#define MAIN_MENU "<= [Main Menu]"
+
+class Npc_Beastmaster : public CreatureScript
+{
+public:
+ Npc_Beastmaster() : CreatureScript("Npc_Beastmaster") { }
+
+void CreatePet(Player *player, Creature * m_creature, uint32 entry) {
+
+ if(sConfigMgr->GetBoolDefault("BeastMaster.OnlyHunter", false)) // Checks to see if Only Hunters can have pets.
+ {
+ if(player->getClass() != CLASS_HUNTER) {
+ m_creature->MonsterWhisper("You are not a Hunter!", player);
+ return;
+ }
+ }
+
+ if(player->GetPet()) {
+ m_creature->MonsterWhisper("First you must abandon your Pet!", player);
+ return;
+ }
+
+ Creature *creatureTarget = m_creature->SummonCreature(entry, player->GetPositionX(), player->GetPositionY()+2, player->GetPositionZ(), player->GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 500);
+ if(!creatureTarget) return;
+
+ Pet* pet = player->CreateTamedPetFrom(creatureTarget, 0);
+
+ if(!pet) return;
+
+ // kill original creature
+ creatureTarget->setDeathState(JUST_DIED);
+ creatureTarget->RemoveCorpse();
+ creatureTarget->SetHealth(0); // just for nice GM-mode view
+
+ pet->SetPower(POWER_HAPPINESS, 1048000);
+
+ // prepare visual effect for levelup
+ pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel() - 1);
+ pet->GetMap()->AddToMap((Creature*)pet);
+ // visual effect for levelup
+ pet->SetUInt32Value(UNIT_FIELD_LEVEL, player->getLevel());
+
+ if(!pet->InitStatsForLevel(player->getLevel()))
+ TC_LOG_ERROR("scripts", "Pet Create fail: no init stats for entry %u", entry);
+ pet->UpdateAllStats();
+
+ // caster have pet now
+ player->SetMinion(pet, true);
+
+ pet->SavePetToDB(PET_SAVE_AS_CURRENT);
+ pet->InitTalentForLevel();
+ player->PetSpellInitialize();
+ //end
+ player->CLOSE_GOSSIP_MENU();
+ m_creature->MonsterWhisper("Pet added. You might want to feed it and name it somehow.", player);
+ return;
+ }
+
+bool OnGossipHello(Player* player, Creature* m_creature)
+{
+ bool EnableNormalPet = sConfigMgr->GetBoolDefault("BeastMaster.EnableNormalPet", true);
+ bool EnableExoticPet = sConfigMgr->GetBoolDefault("BeastMaster.EnableExoticPet", true);
+
+ // Main Menu
+
+ // Check config if "Normal Pet " is enabled or not
+ if(EnableNormalPet)
+ player->ADD_GOSSIP_ITEM( 7, "Normal Pets ->" , GOSSIP_SENDER_MAIN, 1000);
+ // Check if player can have an exotic pet, and check config if "Exotic" is enabled or not
+ if(player->CanTameExoticPets() && EnableExoticPet)
+ player->ADD_GOSSIP_ITEM( 7, "Exotic Pets ->" , GOSSIP_SENDER_MAIN, 2000);
+ // Now to add the spells, vendor, and stable stuffs
+ player->ADD_GOSSIP_ITEM(4, "Teach Me Pet spells ->" , GOSSIP_SENDER_MAIN, 3000);
+ player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, 6006);
+ player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, 6007);
+ player->SEND_GOSSIP_MENU(MSG_TYPE, m_creature->GetGUID());
+return true;
+}
+
+bool showNormalPet(Player *player, Creature *m_creature, uint32 showFromId = 0)
+{
+ QueryResult result;
+ result = WorldDatabase.PQuery("SELECT `entry`, `name` FROM `beastmaster` WHERE `cat_number` = 0 ORDER BY `entry` ASC");
+
+ if (result)
+ {
+ uint32 entryNum = 0;
+ std::string petName = "";
+ uint8 tokenOrGold = 0;
+ uint32 price = 0;
+ uint32 nToken = 0;
+
+ do
+ {
+ Field *fields = result->Fetch();
+ entryNum = fields[0].GetInt32();
+ petName = fields[1].GetString();
+
+ player->ADD_GOSSIP_ITEM(9, petName, GOSSIP_SENDER_MAIN, entryNum);
+}
+ while (result->NextRow());
+
+ player->SEND_GOSSIP_MENU(MSG_PET, m_creature->GetGUID());
+ return true;
+ }
+ else
+ {
+ if (showFromId = 0)
+ {
+ //you are too poor
+ m_creature->MonsterWhisper("You don't have enough money.", player);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ else
+ {
+
+ //show Spells from beginning
+ showNormalPet(player, m_creature, 0);
+ }
+ }
+
+ return false;
+}
+
+bool showExoticPet(Player *player, Creature *m_creature, uint32 showFromId = 0)
+{
+ QueryResult result;
+ result = WorldDatabase.PQuery("SELECT `entry`, `name` FROM `beastmaster` WHERE `cat_number` = 1 ORDER BY `entry` ASC");
+
+ if (result)
+ {
+ uint32 entryNum = 0;
+ std::string petName = "";
+ do
+ {
+ Field *fields = result->Fetch();
+ entryNum = fields[0].GetInt32();
+ petName = fields[1].GetString();
+
+ player->ADD_GOSSIP_ITEM(9, petName, GOSSIP_SENDER_MAIN, entryNum);
+}
+ while (result->NextRow());
+
+ player->SEND_GOSSIP_MENU(MSG_PET, m_creature->GetGUID());
+ return true;
+ }
+ else
+ {
+ if (showFromId = 0)
+ {
+ //you are too poor
+ //m_creature->MonsterWhisper("You don't have enough money.", player);
+ //player->CLOSE_GOSSIP_MENU();
+ }
+ else
+ {
+
+ //show Spells from beginning
+ showExoticPet(player, m_creature, 0);
+ }
+ }
+
+ return false;
+}
+
+bool showPetSpells(Player *player, Creature *m_creature, uint32 showFromId = 0)
+{
+ QueryResult result;
+ result = WorldDatabase.PQuery("SELECT `entry`, `name` FROM `beastmaster` WHERE `cat_number` = 2 ORDER BY `entry` ASC");
+
+ if (result)
+ {
+ uint32 entryNum = 0;
+ std::string petName = "";
+ uint8 tokenOrGold = 0;
+ uint32 price = 0;
+ uint32 nToken = 0;
+
+ do
+ {
+ Field *fields = result->Fetch();
+ entryNum = fields[0].GetInt32();
+ petName = fields[1].GetString();
+
+ player->ADD_GOSSIP_ITEM(9, petName, GOSSIP_SENDER_MAIN, entryNum);
+}
+ while (result->NextRow());
+
+ player->SEND_GOSSIP_MENU(MSG_PET, m_creature->GetGUID());
+ return true;
+ }
+ else
+ {
+ if (showFromId = 0)
+ {
+ //you are too poor
+ m_creature->MonsterWhisper("You don't have enough money.", player);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ else
+ {
+
+ //show Spells from beginning
+ showPetSpells(player, m_creature, 0);
+ }
+ }
+
+ return false;
+}
+
+void SendDefaultMenu(Player* player, Creature* m_creature, uint32 uiAction)
+{
+
+// Not allow in combat
+if (player->IsInCombat())
+{
+ player->CLOSE_GOSSIP_MENU();
+ m_creature->MonsterSay("You are in combat!", LANG_UNIVERSAL, NULL);
+ return;
+}
+
+ bool EnableNormalPet = sConfigMgr->GetBoolDefault("BeastMaster.EnableNormalPet", true);
+ bool EnableExoticPet = sConfigMgr->GetBoolDefault("BeastMaster.EnableExoticPet", true);
+
+ // send name as gossip item
+ QueryResult result;
+ uint32 spellId = 0;
+ uint32 catNumber = 0;
+ uint32 cost = 0;
+ std::string spellName = "";
+ uint32 token = 0;
+ bool tokenOrGold = true;
+
+ result = WorldDatabase.PQuery("SELECT * FROM `beastmaster` WHERE `entry` = %u LIMIT 1", uiAction);
+
+if (result)
+{
+ do {
+ Field *fields = result->Fetch();
+ catNumber = fields[1].GetInt32();
+ tokenOrGold = fields[2].GetBool();
+ cost = fields[3].GetInt32();
+ token = fields[4].GetInt32();
+ spellName = fields[5].GetString();
+ spellId = fields[6].GetInt32();
+
+ if (tokenOrGold)
+ {
+ if (!player->HasItemCount(token, cost))
+ {
+ m_creature->MonsterWhisper("You ain't gots no darn chips.", player);
+ player->CLOSE_GOSSIP_MENU();
+ return;
+ }
+ else if (uiAction != 1000 && uiAction != 2000 && uiAction != 3000 && catNumber != 2)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ CreatePet(player, m_creature, spellId);
+ player->DestroyItemCount(token, cost, true);
+ }
+ else if (catNumber = 2)
+ {
+ if (player->HasSpell(spellId))
+ {
+ m_creature->MonsterWhisper("You already know this spell.", player);
+ player->CLOSE_GOSSIP_MENU();
+ return;
+ } else {
+ player->CLOSE_GOSSIP_MENU();
+ player->learnSpell(spellId, false);
+ player->DestroyItemCount(token, cost, true);
+ }
+ }
+
+ } else {
+ if (player->GetMoney() < cost)
+ {
+ m_creature->MonsterWhisper("You dont have enough money!", player);
+ player->CLOSE_GOSSIP_MENU();
+ return;
+ }
+ else if (uiAction != 1000 && uiAction != 2000 && uiAction != 3000 && catNumber != 2)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ CreatePet(player, m_creature, spellId);
+ player->ModifyMoney(-int(cost));
+ }
+ else if (catNumber = 2)
+ {
+ if (player->HasSpell(spellId))
+ {
+ m_creature->MonsterWhisper("You already know this spell.", player);
+ player->CLOSE_GOSSIP_MENU();
+ return;
+ } else {
+ player->CLOSE_GOSSIP_MENU();
+ player->learnSpell(spellId, false);
+ player->ModifyMoney(-int(cost));
+ }
+ }
+ }
+} while (result->NextRow());
+} else {
+//player->ADD_GOSSIP_ITEM( 7, MAIN_MENU, GOSSIP_SENDER_MAIN, 5005);
+}
+
+ switch(uiAction)
+{
+
+case 1000: //Normal Pet
+ showNormalPet(player, m_creature, 0);
+ player->ADD_GOSSIP_ITEM( 7, "<- Main Menu" , GOSSIP_SENDER_MAIN, 5005);
+
+ player->SEND_GOSSIP_MENU(MSG_PET, m_creature->GetGUID());
+break;
+
+case 2000: //Exotic Pet
+ showExoticPet(player, m_creature, 0);
+ player->ADD_GOSSIP_ITEM( 7, "<- Main Menu" , GOSSIP_SENDER_MAIN, 5005);
+
+ player->SEND_GOSSIP_MENU(MSG_PET, m_creature->GetGUID());
+break;
+
+case 3000: //Pet Spells
+ showPetSpells(player, m_creature, 0);
+ player->ADD_GOSSIP_ITEM( 7, "<- Main Menu" , GOSSIP_SENDER_MAIN, 5005);
+
+ player->SEND_GOSSIP_MENU(MSG_PET, m_creature->GetGUID());
+break;
+
+case 5005: //Back To Main Menu
+ // Main Menu
+ // Check config if "Normal Pet " is enabled or not
+ if(EnableNormalPet)
+ player->ADD_GOSSIP_ITEM( 7, "Normal Pets ->" , GOSSIP_SENDER_MAIN, 1000);
+ // Check if player can have an exotic pet, and check config if "Exotic" is enabled or not
+ if(player->CanTameExoticPets() && EnableExoticPet)
+ player->ADD_GOSSIP_ITEM( 7, "Exotic Pets ->" , GOSSIP_SENDER_MAIN, 2000);
+ // Now to add the spells, vendor, and stable stuffs
+ player->ADD_GOSSIP_ITEM(4, "Teach Me Pet spells ->" , GOSSIP_SENDER_MAIN, 3000);
+ player->ADD_GOSSIP_ITEM(2, "Take me to the Stable.", GOSSIP_SENDER_MAIN, 6006);
+ player->ADD_GOSSIP_ITEM(6, "Sell me some Food for my Pet.", GOSSIP_SENDER_MAIN, 6007);
+ player->SEND_GOSSIP_MENU(MSG_TYPE, m_creature->GetGUID());
+break;
+
+case 6006:
+ player->GetSession()->SendStablePet(m_creature->GetGUID());
+ player->CLOSE_GOSSIP_MENU();
+ break;
+
+case 6007:
+ player->GetSession()->SendListInventory(m_creature->GetGUID());
+ player->CLOSE_GOSSIP_MENU();
+ break;
+
+ player->CLOSE_GOSSIP_MENU();
+ }
+
+} //end of function
+
+bool OnGossipSelect(Player* player, Creature* m_creature, uint32 uiSender, uint32 uiAction)
+{
+ // Main menu
+ player->PlayerTalkClass->ClearMenus();
+ if (uiSender == GOSSIP_SENDER_MAIN)
+ SendDefaultMenu(player, m_creature, uiAction);
+
+return true;
+}
+};
+
+void AddSC_Npc_Beastmaster()
+{
+ new Npc_Beastmaster();
+}
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index f71b7bb..4c22890 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -2778,3 +2778,32 @@ PacketSpoof.BanDuration = 86400

#
###################################################################################################
+
+###################################################################################################
+#
+# BeastMaster Configuration
+#
+# BeastMaster Hunter Only
+# = 0 (Anyone can use)
+# default = 1 (Hunter only)
+
+BeastMaster.OnlyHunter = 1
+
+#
+# BeastMaster Enable Normal Pets
+# = 0 (Normal pets disabled)
+# default = 1 (Normal Pets enabled)
+#
+
+BeastMaster.EnableNormalPet = 1
+
+#
+# BeastMaster Enable Exotic Pets
+# = 0 (Anyone Can get Exotic pets)
+# default = 1 (Can only get Exotic Pets if you know how)
+#
+
+BeastMaster.EnableExoticPet = 1
+
+#
+###################################################################################################
\ No newline at end of file
--
1.7.10.4


Skype - infernos-5
 
Форум » TrinityCore » Патчи в ядро Trinity » Beastmaster
Страница 1 из 11
Поиск:

Новые сообщения в темах
Новейший баг на дамаг ханта · (Баги WoW)
Автор: Act1mel
Последнее сообщение в 15:57
Циркуль магазин в ЛК опять отл... · (Баги WoW)
Автор: ADRE[N]ALINE
Последнее сообщение в 15:57
баг с голдом · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:56
Баг на хонор(РАБОЧИЙ) · (Баги WoW)
Автор: Poltorushka
Последнее сообщение в 15:56
Положить сервер за пару минут · (Баги WoW)
Автор: CoBa
Последнее сообщение в 15:56
Баг на фарм очков доблести / 4... · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:56
Фарм голдов (3.3.5а) · (Баги WoW)
Автор: imfamous
Последнее сообщение в 15:56
Баг на бесплатную смену имени ... · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:45
:: Фармим хонор :: (почти любо... · (Баги WoW)
Автор: ADRE[N]ALINE
Последнее сообщение в 15:24
Баг на Дк WowCircl 4.0.6 · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:24
Баг на ледянные баджи на uwow · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:24
Бесконечный сокет · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:24
100к в сек - 3.2.2 · (Баги WoW)
Автор: imfamous
Последнее сообщение в 15:24
Инженерный баг! [3.3.5a] · (Баги WoW)
Автор: SHYRA
Последнее сообщение в 15:23
Хочешь круто одеться в dark-wo... · (Баги WoW)
Автор: Act1mel
Последнее сообщение в 15:23
Неуязвимость · (Баги WoW)
Автор: Darkensand
Последнее сообщение в 15:23

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2017 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Создать бесплатный сайт с uCoz