summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehonal <yehonal.azeroth@gmail.com>2017-08-20 04:59:52 +0200
committerGitHub <noreply@github.com>2017-08-20 04:59:52 +0200
commitc854b658828f66f69b13eb62c6a984de8e345b45 (patch)
tree0118efcdd8898db4857961009f8eac79ca27b4d4
parentfa147d84d29b6ebd99af6f8eb9eb39476d2f0228 (diff)
parent0dd68dfbee97eb7ed2c9bd4109ba3f2aed697860 (diff)
Merge branch 'master' into master
-rw-r--r--README.md1
-rw-r--r--conf/config.cmake.dist5
-rw-r--r--data/sql/updates/db_auth/2017_08_19_00.sql27
-rw-r--r--data/sql/updates/db_world/2017_08_18_00.sql27
-rw-r--r--data/sql/updates/db_world/2017_08_18_01.sql34
-rw-r--r--data/sql/updates/db_world/2017_08_18_02.sql30
-rw-r--r--data/sql/updates/db_world/2017_08_18_03.sql135
-rw-r--r--data/sql/updates/db_world/2017_08_19_00.sql37
-rw-r--r--data/sql/updates/db_world/2017_08_19_01.sql29
-rw-r--r--data/sql/updates/db_world/2017_08_19_02.sql214
-rw-r--r--data/sql/updates/db_world/2017_08_19_03.sql39
-rw-r--r--data/sql/updates/db_world/2017_08_19_04.sql39
-rw-r--r--data/sql/updates/db_world/2017_08_19_05.sql48
-rw-r--r--data/sql/updates/db_world/2017_08_19_06.sql122
-rw-r--r--data/sql/updates/db_world/2017_08_19_07.sql253
-rw-r--r--data/sql/updates/db_world/2017_08_19_08.sql30
-rw-r--r--data/sql/updates/db_world/2017_08_19_09.sql26
-rw-r--r--data/sql/updates/db_world/2017_08_19_10.sql26
-rw-r--r--data/sql/updates/db_world/2017_08_19_11.sql69
-rw-r--r--data/sql/updates/db_world/2017_08_19_12.sql31
-rw-r--r--data/sql/updates/db_world/2017_08_19_13.sql48
-rw-r--r--data/sql/updates/db_world/2017_08_19_14.sql49
-rw-r--r--data/sql/updates/db_world/2017_08_19_15.sql173
-rw-r--r--data/sql/updates/db_world/2017_08_19_16.sql104
-rw-r--r--data/sql/updates/db_world/2017_08_19_17.sql305
-rw-r--r--data/sql/updates/db_world/2017_08_19_18.sql29
-rw-r--r--data/sql/updates/db_world/2017_08_19_19.sql305
-rw-r--r--modules/acore/extractors/mmaps_generator/MapBuilder.cpp5
-rw-r--r--modules/acore/startup-scripts/conf.sh.dist28
-rw-r--r--modules/acore/startup-scripts/run-engine11
-rw-r--r--modules/worldengine/lib-collision/src/Management/MMapManager.cpp56
-rw-r--r--modules/worldengine/lib-collision/src/Management/VMapManager2.cpp18
-rw-r--r--modules/worldengine/lib-collision/src/Maps/MapTree.cpp18
-rw-r--r--modules/worldengine/nucleus/src/Database/MySQLConnection.cpp4
-rw-r--r--src/authserver/Server/AuthSocket.cpp146
-rw-r--r--src/authserver/Thumbs.dbbin17408 -> 0 bytes
-rw-r--r--src/cmake/showoptions.cmake23
-rw-r--r--src/game/AI/CoreAI/CombatAI.cpp4
-rw-r--r--src/game/AI/CoreAI/GuardAI.cpp4
-rw-r--r--src/game/AI/CoreAI/PetAI.cpp12
-rw-r--r--src/game/AI/CreatureAI.cpp4
-rw-r--r--src/game/AI/CreatureAISelector.cpp10
-rw-r--r--src/game/AI/ScriptedAI/ScriptedEscortAI.cpp32
-rw-r--r--src/game/AI/ScriptedAI/ScriptedFollowerAI.cpp36
-rw-r--r--src/game/AI/SmartScripts/SmartAI.cpp8
-rw-r--r--src/game/AI/SmartScripts/SmartScript.cpp5942
-rw-r--r--src/game/AI/SmartScripts/SmartScriptMgr.h4
-rw-r--r--src/game/Achievements/AchievementMgr.cpp16
-rw-r--r--src/game/AuctionHouse/AuctionHouseMgr.cpp16
-rw-r--r--src/game/Battlefield/Battlefield.cpp4
-rw-r--r--src/game/Battlefield/BattlefieldMgr.cpp16
-rw-r--r--src/game/Battlegrounds/ArenaTeam.cpp16
-rw-r--r--src/game/Battlegrounds/Battleground.cpp11
-rw-r--r--src/game/Battlegrounds/Zones/BattlegroundAV.cpp120
-rw-r--r--src/game/Calendar/CalendarMgr.cpp4
-rw-r--r--src/game/Chat/Channels/Channel.cpp10
-rw-r--r--src/game/Chat/ChatLink.cpp200
-rw-r--r--src/game/Conditions/ConditionMgr.cpp33
-rw-r--r--src/game/DungeonFinding/LFGMgr.cpp101
-rw-r--r--src/game/DungeonFinding/LFGScripts.cpp29
-rw-r--r--src/game/Entities/Creature/Creature.cpp20
-rw-r--r--src/game/Entities/Creature/CreatureGroups.cpp32
-rw-r--r--src/game/Entities/Creature/GossipDef.cpp24
-rw-r--r--src/game/Entities/GameObject/GameObject.cpp12
-rw-r--r--src/game/Entities/Item/Item.cpp12
-rw-r--r--src/game/Entities/Pet/Pet.cpp16
-rw-r--r--src/game/Entities/Player/Player.cpp589
-rw-r--r--src/game/Entities/Player/SocialMgr.cpp4
-rw-r--r--src/game/Entities/Unit/Unit.cpp220
-rw-r--r--src/game/Entities/Vehicle/Vehicle.cpp33
-rw-r--r--src/game/Events/GameEventMgr.cpp12
-rw-r--r--src/game/Globals/ObjectAccessor.cpp4
-rw-r--r--src/game/Globals/ObjectMgr.cpp16
-rw-r--r--src/game/Grids/ObjectGridLoader.cpp4
-rw-r--r--src/game/Groups/Group.cpp12
-rw-r--r--src/game/Guilds/Guild.cpp103
-rw-r--r--src/game/Handlers/AddonHandler.cpp8
-rw-r--r--src/game/Handlers/ArenaTeamHandler.cpp52
-rw-r--r--src/game/Handlers/AuctionHouseHandler.cpp64
-rw-r--r--src/game/Handlers/BattleGroundHandler.cpp32
-rw-r--r--src/game/Handlers/ChannelHandler.cpp113
-rw-r--r--src/game/Handlers/CharacterHandler.cpp81
-rw-r--r--src/game/Handlers/ChatHandler.cpp4
-rw-r--r--src/game/Handlers/CombatHandler.cpp4
-rw-r--r--src/game/Handlers/DuelHandler.cpp12
-rw-r--r--src/game/Handlers/GroupHandler.cpp72
-rw-r--r--src/game/Handlers/GuildHandler.cpp161
-rw-r--r--src/game/Handlers/ItemHandler.cpp120
-rw-r--r--src/game/Handlers/LFGHandler.cpp114
-rw-r--r--src/game/Handlers/LootHandler.cpp28
-rw-r--r--src/game/Handlers/MailHandler.cpp13
-rw-r--r--src/game/Handlers/MiscHandler.cpp323
-rw-r--r--src/game/Handlers/MovementHandler.cpp40
-rw-r--r--src/game/Handlers/NPCHandler.cpp117
-rw-r--r--src/game/Handlers/PetHandler.cpp61
-rw-r--r--src/game/Handlers/PetitionsHandler.cpp105
-rw-r--r--src/game/Handlers/QueryHandler.cpp51
-rw-r--r--src/game/Handlers/QuestHandler.cpp81
-rw-r--r--src/game/Handlers/ReferAFriendHandler.cpp8
-rw-r--r--src/game/Handlers/SkillHandler.cpp12
-rw-r--r--src/game/Handlers/SpellHandler.cpp36
-rw-r--r--src/game/Handlers/TaxiHandler.cpp64
-rw-r--r--src/game/Handlers/TradeHandler.cpp24
-rw-r--r--src/game/Handlers/VehicleHandler.cpp12
-rw-r--r--src/game/Handlers/VoiceChatHandler.cpp12
-rw-r--r--src/game/Instances/InstanceScript.cpp16
-rw-r--r--src/game/Instances/InstanceScript.h16
-rw-r--r--src/game/Maps/Map.cpp60
-rw-r--r--src/game/Maps/MapInstanced.cpp8
-rw-r--r--src/game/Maps/MapManager.cpp16
-rw-r--r--src/game/Movement/MotionMaster.cpp166
-rw-r--r--src/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp16
-rw-r--r--src/game/Movement/Spline/MovementTypedefs.h6
-rw-r--r--src/game/OutdoorPvP/OutdoorPvP.cpp16
-rw-r--r--src/game/OutdoorPvP/OutdoorPvPMgr.cpp8
-rw-r--r--src/game/Pools/PoolMgr.cpp12
-rw-r--r--src/game/Scripting/ScriptMgr.cpp15
-rw-r--r--src/game/Scripting/ScriptMgr.h9
-rw-r--r--src/game/Server/WorldSession.cpp45
-rw-r--r--src/game/Server/WorldSocket.cpp35
-rw-r--r--src/game/Server/WorldSocketMgr.cpp8
-rw-r--r--src/game/Spells/Auras/SpellAuraEffects.cpp94
-rw-r--r--src/game/Spells/Auras/SpellAuras.cpp16
-rw-r--r--src/game/Spells/Spell.cpp69
-rw-r--r--src/game/Spells/SpellEffects.cpp88
-rw-r--r--src/game/Spells/SpellInfo.cpp4
-rw-r--r--src/game/Spells/SpellMgr.cpp24
-rw-r--r--src/game/Texts/CreatureTextMgr.cpp8
-rw-r--r--src/game/Warden/Warden.cpp32
-rw-r--r--src/game/Warden/WardenMac.cpp60
-rw-r--r--src/game/Warden/WardenWin.cpp143
-rw-r--r--src/game/Weather/Weather.cpp12
-rw-r--r--src/game/World/World.cpp24
-rw-r--r--src/scripts/Commands/cs_misc.cpp8
-rw-r--r--src/scripts/Commands/cs_modify.cpp12
-rw-r--r--src/scripts/Commands/cs_wp.cpp2
-rw-r--r--src/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp8
-rw-r--r--src/scripts/EasternKingdoms/Karazhan/karazhan.cpp4
-rw-r--r--src/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp4
-rw-r--r--src/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp2
-rw-r--r--src/scripts/EasternKingdoms/zone_hinterlands.cpp2
-rw-r--r--src/scripts/Events/midsummer.cpp56
-rw-r--r--src/scripts/Kalimdor/zone_feralas.cpp6
-rw-r--r--src/scripts/Northrend/zone_dalaran.cpp2
-rw-r--r--src/scripts/Outland/zone_netherstorm.cpp4
-rw-r--r--src/scripts/ScriptLoader.cpp2
-rw-r--r--src/scripts/Spells/spell_generic.cpp10
-rw-r--r--src/scripts/World/CMakeLists.txt1
-rw-r--r--src/scripts/World/character_creation.cpp56
-rw-r--r--src/scripts/World/npc_professions.cpp4
-rw-r--r--src/worldserver/RemoteAccess/RARunnable.cpp4
-rw-r--r--src/worldserver/TCSoap/TCSoap.cpp24
152 files changed, 9041 insertions, 4309 deletions
diff --git a/README.md b/README.md
index 31012fda1f..6c64677402 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
# ![logo](https://raw.githubusercontent.com/azerothcore/azerothcore.github.io/master/images/logo-github.png) AzerothCore
+[![GetBadges Game](https://azerothcore-azerothcore-wotlk.getbadges.io/shield/company/azerothcore-azerothcore-wotlk)](https://azerothcore-azerothcore-wotlk.getbadges.io/?ref=shield-game)
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=40032087)](https://www.bountysource.com/teams/azerothcore/bounties) [![Master Build Status](https://travis-ci.org/azerothcore/azerothcore-wotlk.svg)](https://travis-ci.org/azerothcore/azerothcore-wotlk) [![Issue Stats](http://www.issuestats.com/github/AzerothCore/azerothcore-wotlk/badge/issue)](http://www.issuestats.com/github/AzerothCore/azerothcore-wotlk) [![Issue Stats](http://www.issuestats.com/github/AzerothCore/azerothcore-wotlk/badge/pr)](http://www.issuestats.com/github/AzerothCore/azerothcore-wotlk)
## Introduction
diff --git a/conf/config.cmake.dist b/conf/config.cmake.dist
index d76098095d..5884963ac7 100644
--- a/conf/config.cmake.dist
+++ b/conf/config.cmake.dist
@@ -8,5 +8,6 @@ option(WITH_COREDEBUG "Include additional debug-code in core"
option(WITH_PERFTOOLS "Enable compilation with gperftools libraries included" 0)
option(WITH_MESHEXTRACTOR "Build meshextractor (alpha)" 0)
option(WITHOUT_GIT "Disable the GIT testing routines" 0)
-option(DISABLE_EXTRAS "Set to 1 to disable extra features optimizing performances" 0)
-option(DISABLE_VMAP_CHECKS "Remove DisableMgr Checks on vmap" 0)
+option(ENABLE_EXTRAS "Set to 0 to disable extra features optimizing performances" 1)
+option(ENABLE_VMAP_CHECKS "Enable Checks relative to DisableMgr system on vmap" 1)
+option(ENABLE_EXTRA_LOGS "Enable extra log functions that can be CPU intensive" 0)
diff --git a/data/sql/updates/db_auth/2017_08_19_00.sql b/data/sql/updates/db_auth/2017_08_19_00.sql
new file mode 100644
index 0000000000..9facbfff45
--- /dev/null
+++ b/data/sql/updates/db_auth/2017_08_19_00.sql
@@ -0,0 +1,27 @@
+-- DB update 2016_11_19_00 -> 2017_08_19_00
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_auth' AND COLUMN_NAME = '2016_11_19_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_auth CHANGE COLUMN 2016_11_19_00 2017_08_19_00 bit;
+SELECT sql_rev INTO OK FROM version_db_auth WHERE sql_rev = '1503135763068847900'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_auth (`sql_rev`) VALUES ('1503135763068847900');
+
+ALTER TABLE `account` CHANGE `expansion` `expansion` TINYINT(3) UNSIGNED DEFAULT 2 NOT NULL;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_18_00.sql b/data/sql/updates/db_world/2017_08_18_00.sql
new file mode 100644
index 0000000000..bee4471ca1
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_18_00.sql
@@ -0,0 +1,27 @@
+-- DB update 2017_06_29_00 -> 2017_08_18_00
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_06_29_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_06_29_00 2017_08_18_00 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1498835613715251400'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1498835613715251400');
+
+UPDATE `creature_template` SET `modelid1` = '6485' WHERE `entry` = '7780';
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_18_01.sql b/data/sql/updates/db_world/2017_08_18_01.sql
new file mode 100644
index 0000000000..e2479f25f4
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_18_01.sql
@@ -0,0 +1,34 @@
+-- DB update 2017_08_18_00 -> 2017_08_18_01
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_18_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_18_00 2017_08_18_01 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1499101625045878500'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1499101625045878500');
+
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (46337, 'spell_gen_crab_disguise');
+UPDATE `creature_template` SET `unit_class` = 8 WHERE `entry` = 25863;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(25863, 0, 0, 0, 4, 0, 100, 0, 1000, 1000, 1800000, 1800000, 11, 184, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Twilight Firesworn - On Aggro - Cast \'Fire Shield\''),
+(25863, 0, 1, 0, 0, 0, 100, 0, 0, 0, 3400, 5400, 11, 20793, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Twilight Firesworn - In Combat CMC - Cast \'Fireball\''),
+(25863, 0, 2, 0, 2, 0, 100, 1, 0, 15, 0, 0, 25, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Twilight Firesworn - Between 0-15% Health - Flee For Assist (No Repeat)');
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_18_02.sql b/data/sql/updates/db_world/2017_08_18_02.sql
new file mode 100644
index 0000000000..6dea4971f9
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_18_02.sql
@@ -0,0 +1,30 @@
+-- DB update 2017_08_18_01 -> 2017_08_18_02
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_18_01';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_18_01 2017_08_18_02 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1499115152422618300'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1499115152422618300');
+
+UPDATE `quest_template_addon` SET `SpecialFlags` = '0' WHERE `ID` = '338';
+UPDATE `quest_template_addon` SET `SpecialFlags` = '0' WHERE `ID` = '339';
+UPDATE `quest_template_addon` SET `SpecialFlags` = '0' WHERE `ID` = '340';
+UPDATE `quest_template_addon` SET `SpecialFlags` = '0' WHERE `ID` = '341';
+UPDATE `quest_template_addon` SET `SpecialFlags` = '0' WHERE `ID` = '342';--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_18_03.sql b/data/sql/updates/db_world/2017_08_18_03.sql
new file mode 100644
index 0000000000..01aa65afdd
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_18_03.sql
@@ -0,0 +1,135 @@
+-- DB update 2017_08_18_02 -> 2017_08_18_03
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_18_02';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_18_02 2017_08_18_03 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1499118515042687600'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1499118515042687600');
+
+-- D.E.T.H.A TEXT AND SAI
+DELETE FROM `creature_text` WHERE `entry` IN (25808, 25809, 25819, 25812, 25811, 25810, 25838) AND `groupid` = 0;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(25808,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25808,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25808,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,''),
+--
+(25809,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25809,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25809,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,''),
+--
+(25812,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25812,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25812,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,''),
+--
+(25811,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25811,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25811,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,''),
+--
+(25810,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25810,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25810,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,''),
+--
+(25838,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25838,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25838,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,''),
+--
+(25819,0,0,' Do you think us fools! You\'re covered in animal blood!',12,0,100,5,4000,0,0,0,''),
+(25819,0,1,' BUTCHER! DIE!',12,0,100,5,4000,0,0,0,''),
+(25819,0,2,' Calf killer! Murderer! You will pay for this!',12,0,100,5,4000,0,0,0,'');
+
+SET @ENTRY := 25808;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"D.E.H.T.A. Enforcer - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,10,0,100,0,1,20,0,0,49,2,0,0,0,0,0,25,20,1,0,0,0,0,0,"D.E.H.T.A. Enforcer - Within 1-20 Range Out of Combat LoS - Start Attacking");
+
+DELETE FROM `creature_formations` WHERE `leaderGUID`= 132974;
+INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
+(132974,132974,0,0,2,0,0),
+(132974,132976,0,0,2,0,0);
+
+SET @ENTRY := 25819;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"D.E.H.T.A. Enforcer - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,10,0,100,0,1,20,0,0,49,0,0,0,0,0,0,25,20,1,0,0,0,0,0,"D.E.H.T.A. Enforcer - Within 1-20 Range Out of Combat LoS - Start Attacking"),
+(@ENTRY,0,2,0,4,0,100,0,0,0,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"D.E.H.T.A. Enforcer - On Aggro - Remove Flag Standstate Sit Down"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,90,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"D.E.H.T.A. Enforcer - On Reset - Set Flag Standstate Sit Down");
+
+SET @ENTRY := 25809;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arch Druid Lathorius - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,83,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arch Druid Lathorius - On Aggro - Remove Npc Flags Gossip & Questgiver"),
+(@ENTRY,0,2,0,10,0,100,0,1,20,0,0,49,0,0,0,0,0,0,25,20,1,0,0,0,0,0,"Arch Druid Lathorius - Within 1-20 Range Out of Combat LoS - Start Attacking"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,81,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arch Druid Lathorius - On Reset - Set Npc Flags Gossip & Questgiver");
+
+SET @ENTRY := 25811;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Zaza - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Zaza - On Aggro - Remove Npc Flag Questgiver"),
+(@ENTRY,0,2,0,10,0,100,0,1,20,0,0,49,0,0,0,0,0,0,25,20,1,0,0,0,0,0,"Zaza - Within 1-20 Range Out of Combat LoS - Start Attacking"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Zaza - On Reset - Set Npc Flag Questgiver");
+
+SET @ENTRY := 25810;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Cenius - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Cenius - On Aggro - Remove Npc Flag Questgiver"),
+(@ENTRY,0,2,0,10,0,100,0,1,20,0,0,49,0,0,0,0,0,0,25,20,1,0,0,0,0,0,"Hierophant Cenius - Within 1-20 Range Out of Combat LoS - Start Attacking"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Cenius - On Reset - Set Npc Flag Questgiver");
+
+SET @ENTRY := 25812;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Killinger the Den Watcher - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Killinger the Den Watcher - On Aggro - Remove Npc Flag Questgiver"),
+(@ENTRY,0,2,0,10,0,100,0,1,20,0,0,49,0,0,0,0,0,0,25,20,1,0,0,0,0,0,"Killinger the Den Watcher - Within 1-20 Range Out of Combat LoS - Start Attacking"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Killinger the Den Watcher - On Reset - Set Npc Flag Questgiver");
+
+SET @ENTRY := 25838;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Liandra - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Liandra - On Aggro - Remove Npc Flag Questgiver"),
+(@ENTRY,0,2,0,10,0,100,0,1,25,0,0,49,0,0,0,0,0,0,25,25,1,0,0,0,0,0,"Hierophant Liandra - Within 1-25 Range Out of Combat LoS - Start Attacking"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Liandra - On Reset - Set Npc Flag Questgiver"),
+(@ENTRY,0,4,0,4,0,100,0,0,0,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Liandra - On Aggro - Remove Flag Standstate Sit Down"),
+(@ENTRY,0,5,0,25,0,100,0,0,0,0,0,90,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hierophant Liandra - On Reset - Set Flag Standstate Sit Down");
+
+SET @ENTRY := 25839;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,5000,8000,60000,65000,11,5915,0,0,0,0,0,1,0,0,0,0,0,0,0,"Northsea Mercenary - In Combat - Cast 'Crazed'");
+
+SET @ENTRY := 25844;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,5000,8000,60000,65000,11,5915,0,0,0,0,0,1,0,0,0,0,0,0,0,"Northsea Thug - In Combat - Cast 'Crazed'");--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_00.sql b/data/sql/updates/db_world/2017_08_19_00.sql
new file mode 100644
index 0000000000..d171c2fe26
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_00.sql
@@ -0,0 +1,37 @@
+-- DB update 2017_08_18_03 -> 2017_08_19_00
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_18_03';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_18_03 2017_08_19_00 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1503072683748672200'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1503072683748672200');
+-- 'Clues in the Thicket' (Quest ID 9971) RewardText typo (Is it was/Is it what)
+UPDATE `quest_template`
+ SET `OfferRewardText`="So, I was right. That was the corpse of one of the Broken? And you can confirm that there was a strange object on the ground next to him?$B$BThis doesn't make any sense. What would one of the Broken be doing here? And what is that thing it had with him?$B$BIs it what caused all of this death?"
+ WHERE `ID`=9971;
+-- `An Unseen Hand` (Quest ID 10013) RewardText typo (2x "it to me")
+UPDATE `quest_template`
+ SET `OfferRewardText`="<Rokag takes the plans from you and looks them over.>$B$BSo Kaide was right! Those fel orc scum are up to something. I never would've guessed they were colluding with the blood elves, though.$B$BAccording to this map, the fel orcs are to keep us busy... but why? This is disturbing news, $N. You were correct in bringing it to me right away."
+ WHERE `ID` = 10013;
+-- 'Evil Draws Near' (Quest ID 10923) Progress typo (ben/been)
+UPDATE `quest_template`
+ SET `RequestItemsText` = "Has Teribus the Cursed been purged from the skies of Terokkar?"
+ WHERE `ID` = 10923;
+ --
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_01.sql b/data/sql/updates/db_world/2017_08_19_01.sql
new file mode 100644
index 0000000000..7ded5a4442
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_01.sql
@@ -0,0 +1,29 @@
+-- DB update 2017_08_19_00 -> 2017_08_19_01
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_00';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_00 2017_08_19_01 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1495461970084153283'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1495461970084153283');
+
+-- set Warbear Matriarch (NPC 29918) AI to PetAI
+UPDATE `creature_template` SET `AIName`= 'PetAI', `mindmg`=1360, `maxdmg`=1840, `dmg_multiplier`=1 WHERE `entry`= 29918;
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_02.sql b/data/sql/updates/db_world/2017_08_19_02.sql
new file mode 100644
index 0000000000..a3e5ae1846
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_02.sql
@@ -0,0 +1,214 @@
+-- DB update 2017_08_19_01 -> 2017_08_19_02
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_01';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_01 2017_08_19_02 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1500226875532818300'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1500226875532818300');
+
+-- Brewfest Building
+DELETE FROM `gameobject` WHERE `id`=186737;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(66860, 186737, 0, 1, 1, -5188.76, -594.416, 397.176, -1.18682, 0, 0, -0.559193, 0.829038, 120, 255, 1, 12340),
+(66861, 186737, 0, 1, 1, -5140.78, -578.32, 397.176, -2.35619, 0, 0, -0.923879, 0.382686, 120, 255, 1, 12340),
+(66862, 186737, 0, 1, 1, -5155.75, -635.502, 397.177, 1.79769, 0, 0, 0.782608, 0.622515, 120, 255, 1, 12340);
+
+DELETE FROM `gameobject` WHERE `id`=186717;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(31406, 186717, 0, 1, 1, -5668.71, -475.584, 396.357, -1.67552, 0, 0, -0.743146, 0.669129, 180, 100, 1, 0),
+(31404, 186717, 0, 1, 1, -5620.1, -473.021, 396.96, -0.244346, 0, 0, -0.121869, 0.992546, 180, 100, 1, 0),
+(31403, 186717, 0, 1, 1, -5610.05, -457.484, 405.302, -0.366519, 0, 0, -0.182235, 0.983255, 180, 100, 1, 0),
+(31416, 186717, 0, 1, 1, -5218.61, -491.613, 387.889, 1.76278, 0, 0, 0.771624, 0.636079, 180, 100, 1, 0),
+(31415, 186717, 0, 1, 1, -5252.01, -477.25, 386.624, -1.37881, 0, 0, -0.636078, 0.771625, 180, 100, 1, 0),
+(31417, 186717, 0, 1, 1, -5236.78, -635.825, 421.801, 0.558505, 0, 0, 0.275637, 0.961262, 180, 100, 1, 0),
+(31418, 186717, 0, 1, 1, -5207.18, -535.754, 393.795, 1.78024, 0, 0, 0.777147, 0.629319, 180, 100, 1, 0),
+(31420, 186717, 0, 1, 1, -5205.45, -479.062, 389.146, 2.09439, 0, 0, 0.866024, 0.500002, 180, 100, 1, 0),
+(31422, 186717, 0, 1, 1, -5214.63, -514.152, 389.732, 1.74533, 0, 0, 0.766045, 0.642787, 180, 100, 1, 0),
+(31428, 186717, 0, 1, 1, -5189.3, -525.506, 392.525, 1.98968, 0, 0, 0.838672, 0.544637, 180, 100, 1, 0),
+(31429, 186717, 0, 1, 1, -5199.62, -432.817, 386.331, 2.72271, 0, 0, 0.978147, 0.207914, 180, 100, 1, 0),
+(31434, 186717, 0, 1, 1, -5197.21, -505.307, 388.598, 2.00713, 0, 0, 0.843392, 0.537299, 180, 100, 1, 0),
+(31438, 186717, 0, 1, 1, -5180.2, -615.989, 397.176, 0.418879, 0, 0, 0.207912, 0.978148, 180, 100, 1, 0),
+(31452, 186717, 0, 1, 1, -5134.11, -586.723, 397.176, -2.80998, 0, 0, -0.986286, 0.165048, 180, 100, 1, 0),
+(31455, 186717, 0, 1, 1, -5132.81, -616.437, 397.362, 2.49582, 0, 0, 0.948324, 0.317305, 180, 100, 1, 0),
+(31463, 186717, 0, 1, 1, -5139.14, -632.325, 397.179, 1.69297, 0, 0, 0.748956, 0.66262, 180, 100, 1, 0),
+(31467, 186717, 0, 1, 1, -5137.49, -622.278, 397.399, 2.33874, 0, 0, 0.920505, 0.390732, 180, 100, 1, 0),
+(31472, 186717, 0, 1, 1, -5191.74, -736.322, 447.284, 0.837758, 0, 0, 0.406737, 0.913545, 180, 100, 1, 0),
+(31512, 186717, 0, 1, 1, -5091.12, -734.743, 469.91, -1.48353, 0, 0, -0.67559, 0.737277, 180, 100, 1, 0),
+(31603, 186717, 0, 1, 1, -4920.19, -940.244, 501.572, -1.50098, 0, 0, -0.681997, 0.731355, 180, 100, 1, 0),
+(31604, 186717, 0, 1, 1, -4905.16, -956.521, 501.47, 2.9147, 0, 0, 0.993572, 0.113203, 180, 100, 1, 0),
+(31610, 186717, 0, 1, 1, -4960.08, -1200.38, 501.659, 0.680678, 0, 0, 0.333807, 0.942642, 180, 100, 1, 0),
+(31611, 186717, 0, 1, 1, -4983.49, -1204.28, 501.669, 2.32129, 0, 0, 0.91706, 0.398748, 180, 100, 1, 0),
+(31612, 186717, 0, 1, 1, -4969.79, -1222.8, 501.67, -0.785398, 0, 0, -0.382683, 0.92388, 180, 100, 1, 0),
+(31613, 186717, 0, 1, 1, -4678.11, -968.152, 501.659, -2.49582, 0, 0, -0.948324, 0.317305, 180, 100, 1, 0),
+(31614, 186717, 0, 1, 1, -4673.02, -935.651, 501.659, 2.23402, 0, 0, 0.898794, 0.438372, 180, 100, 1, 0),
+(31615, 186717, 0, 1, 1, -4649.49, -972.011, 501.66, -0.872665, 0, 0, -0.422618, 0.906308, 180, 100, 1, 0),
+(31616, 186717, 0, 1, 1, -4712.87, -1213.87, 501.659, 2.35619, 0, 0, 0.923879, 0.382686, 180, 100, 1, 0),
+(31617, 186717, 0, 1, 1, -4698.13, -1246.37, 501.659, -2.3911, 0, 0, -0.930417, 0.366502, 180, 100, 1, 0),
+(31618, 186717, 0, 1, 1, -4675.36, -1228.17, 501.659, 0.663225, 0, 0, 0.325568, 0.945519, 180, 100, 1, 0),
+(31620, 186717, 0, 1, 1, -9114.49, 342.775, 93.6672, 3.00197, 0, 0, 0.997564, 0.0697546, 180, 100, 1, 0),
+(31621, 186717, 0, 1, 1, -9137.06, 372.115, 90.5726, 1.46608, 0, 0, 0.669132, 0.743144, 180, 100, 1, 0),
+(31622, 186717, 0, 1, 1, -9137.36, 389.879, 90.9751, 0.366519, 0, 0, 0.182235, 0.983255, 180, 100, 1, 0),
+(31623, 186717, 0, 1, 1, -9124.61, 357.999, 92.9819, -2.37365, 0, 0, -0.927184, 0.374606, 180, 100, 1, 0),
+(31624, 186717, 0, 1, 1, -9150.72, 357.5, 89.9023, 2.80998, 0, 0, 0.986286, 0.165048, 180, 100, 1, 0),
+(31625, 186717, 0, 1, 1, -9128.24, 325.459, 93.502, 1.85005, 0, 0, 0.798636, 0.601815, 180, 100, 1, 0),
+(31626, 186717, 0, 1, 1, -9184.33, 335, 82.3169, -1.25664, 0, 0, -0.587786, 0.809016, 180, 100, 1, 0),
+(26217, 186717, 1, 1, 1, 1959.5, -4694.7, 26.7062, 2.67035, 0, 0, 0.972369, 0.233447, 180, 100, 1, 0),
+(26223, 186717, 1, 1, 1, 1934.4, -4678.79, 27.6517, 2.00713, 0, 0, 0.843392, 0.537299, 180, 100, 1, 0),
+(30370, 186717, 1, 1, 1, 1629.97, -4407.76, 16.2626, -3.10669, 0, 0, -0.999848, 0.0174505, 180, 100, 1, 0),
+(30382, 186717, 1, 1, 1, 1653.43, -4426.82, 16.7964, 2.26893, 0, 0, 0.906308, 0.422617, 180, 100, 1, 0),
+(31120, 186717, 1, 1, 1, 1655.14, -4395.29, 21.8413, 0.279253, 0, 0, 0.139173, 0.990268, 180, 100, 1, 0),
+(31637, 186717, 1, 1, 1, 1906.31, -4287.08, 30.3921, 2.46091, 0, 0, 0.942641, 0.333809, 180, 100, 1, 0),
+(31638, 186717, 1, 1, 1, 1938.49, -4297.15, 24.7353, -2.14675, 0, 0, -0.878816, 0.477161, 180, 100, 1, 0),
+(31639, 186717, 1, 1, 1, 1925.98, -4299.09, 24.9998, -1.29154, 0, 0, -0.601814, 0.798637, 180, 100, 1, 0),
+(31663, 186717, 1, 1, 1, 1571.62, -4201.77, 42.7313, -0.907571, 0, 0, -0.438371, 0.898794, 180, 100, 1, 0),
+(31664, 186717, 1, 1, 1, 1584.6, -4197.95, 41.3191, -1.55334, 0, 0, -0.700908, 0.713252, 180, 100, 1, 0),
+(31665, 186717, 1, 1, 1, 1555.37, -4175.87, 40.5492, 2.77507, 0, 0, 0.983255, 0.182237, 180, 100, 1, 0),
+(31688, 186717, 1, 1, 1, 1349.71, -4357.94, 26.9592, -0.593412, 0, 0, -0.292372, 0.956305, 120, 255, 1, 0),
+(31704, 186717, 1, 1, 1, 1294.07, -4439.13, 27.457, 1.8675, 0, 0, 0.803856, 0.594824, 180, 100, 1, 0),
+(31706, 186717, 1, 1, 1, 1294.49, -4412.17, 26.6057, 1.01229, 0, 0, 0.484809, 0.87462, 180, 100, 1, 0),
+(31710, 186717, 1, 1, 1, 1305.78, -4408.33, 26.0013, -1.309, 0, 0, -0.608763, 0.793352, 180, 100, 1, 0),
+(31711, 186717, 1, 1, 1, 1308.47, -4448.67, 26.1855, -1.27409, 0, 0, -0.594823, 0.803857, 180, 100, 1, 0),
+(31714, 186717, 1, 1, 1, 1309.91, -4371.14, 27.8511, -0.820305, 0, 0, -0.398749, 0.91706, 180, 100, 1, 0),
+(31716, 186717, 1, 1, 1, 1318.33, -4549.21, 23.3389, -1.53589, 0, 0, -0.694658, 0.71934, 180, 100, 1, 0),
+(31717, 186717, 1, 1, 1, 1314.64, -4599.17, 24.5226, -1.11701, 0, 0, -0.529919, 0.848048, 180, 100, 1, 0),
+(31719, 186717, 1, 1, 1, 1277.15, -4417.56, 26.4655, 2.75762, 0, 0, 0.981627, 0.190809, 180, 100, 1, 0),
+(31720, 186717, 1, 1, 1, 1227.34, -4433.46, 24.402, 1.81514, 0, 0, 0.78801, 0.615662, 180, 100, 1, 0),
+(31735, 186717, 1, 1, 1, 1161.78, -4398.23, 25.272, -1.71042, 0, 0, -0.754709, 0.65606, 180, 100, 1, 0),
+(31737, 186717, 1, 1, 1, 1176.38, -4300.89, 21.1914, 0.383972, 0, 0, 0.190809, 0.981627, 180, 100, 1, 0),
+(31742, 186717, 1, 1, 1, 1212.8, -4272.35, 21.0265, -2.14675, 0, 0, -0.878816, 0.477161, 180, 100, 1, 0),
+(31752, 186717, 1, 1, 1, 1218.07, -4278.28, 21.0851, -2.44346, 0, 0, -0.939692, 0.342021, 180, 100, 1, 0),
+(31754, 186717, 1, 1, 1, 1205.74, -4268.39, 21.0905, -1.88496, 0, 0, -0.809018, 0.587783, 180, 100, 1, 0),
+(31755, 186717, 1, 1, 1, 1198.63, -4266.14, 21.1134, -1.51844, 0, 0, -0.688356, 0.725373, 180, 100, 1, 0),
+(31764, 186717, 1, 1, 1, 1100.76, -4429.74, 20.5644, 2.21657, 0, 0, 0.894935, 0.446197, 180, 100, 1, 0),
+(31873, 186717, 1, 1, 1, -1418.73, 102.123, 14.946, -2.05949, 0, 0, -0.857168, 0.515037, 180, 100, 1, 0),
+(31880, 186717, 1, 1, 1, -1284.12, 120.319, 131.312, -0.907571, 0, 0, -0.438371, 0.898794, 180, 100, 1, 0),
+(31881, 186717, 1, 1, 1, -1291.39, 153.72, 129.813, -1.39626, 0, 0, -0.642786, 0.766046, 180, 100, 1, 0),
+(31882, 186717, 1, 1, 1, -1319.69, 185.807, 59.8067, 2.75762, 0, 0, 0.981627, 0.190809, 180, 100, 1, 0),
+(31883, 186717, 1, 1, 1, -1273.6, 211.756, 59.5917, 0.506145, 0, 0, 0.25038, 0.968148, 180, 100, 1, 0),
+(31884, 186717, 1, 1, 1, -1296.11, 219.047, 58.7385, -1.29154, 0, 0, -0.601814, 0.798637, 180, 100, 1, 0),
+(31885, 186717, 1, 1, 1, -1250.5, 232.533, 41.1638, 1.43117, 0, 0, 0.656059, 0.75471, 180, 100, 1, 0),
+(31920, 186717, 0, 1, 1, 1701.79, 242.017, 62.5471, -2.63545, 0, 0, -0.968148, 0.250379, 180, 100, 1, 0),
+(31921, 186717, 0, 1, 1, 1838.35, 235.119, 60.4209, 1.6057, 0, 0, 0.719339, 0.694659, 180, 100, 1, 0),
+(31922, 186717, 0, 1, 1, 1822.31, 259.144, 59.8849, -2.1293, 0, 0, -0.874619, 0.48481, 180, 100, 1, 0),
+(31923, 186717, 0, 1, 1, 1815.78, 218.117, 59.7101, 1.50098, 0, 0, 0.681997, 0.731355, 180, 100, 1, 0),
+(31924, 186717, 0, 1, 1, 1919.1, 246.858, 49.9504, 0.698132, 0, 0, 0.34202, 0.939693, 180, 100, 1, 0),
+(31925, 186717, 0, 1, 1, 1889.78, 227.193, 56.9169, 0.20944, 0, 0, 0.104529, 0.994522, 180, 100, 1, 0),
+(32290, 186717, 0, 1, 1, 1811.14, 316.887, 70.8147, 1.81514, 0, 0, 0.78801, 0.615662, 180, 100, 1, 0),
+(81075, 186717, 530, 1, 1, -1756.52, 5499.92, -12.4281, -2.07694, 0, 0, -0.861629, 0.507539, 180, 255, 1, 0),
+(81076, 186717, 530, 1, 1, -1791.72, 5550.14, -12.4281, -1.22173, 0, 0, -0.573576, 0.819152, 180, 255, 1, 0),
+(81077, 186717, 530, 1, 1, -1996.52, 5442.87, -12.4281, -1.83259, 0, 0, -0.793352, 0.608764, 180, 255, 1, 0),
+(81078, 186717, 530, 1, 1, -1884.83, 5488.84, -12.4281, -1.309, 0, 0, -0.608763, 0.793352, 180, 255, 1, 0),
+(81079, 186717, 530, 1, 1, -1869.96, 5574.38, -12.4281, -2.05949, 0, 0, -0.857168, 0.515037, 180, 255, 1, 0),
+(81080, 186717, 530, 1, 1, -1911.65, 5571.59, -12.4281, -1.39626, 0, 0, -0.642786, 0.766046, 180, 255, 1, 0),
+(81081, 186717, 530, 1, 1, -1932.64, 5562.31, -12.4281, -1.309, 0, 0, -0.608763, 0.793352, 180, 255, 1, 0),
+(59177, 186717, 530, 1, 1, -4008.29, -11857.1, 0.135722, 5.47893, 0, 0, 0.391377, -0.92023, 300, 0, 1, 0),
+(59178, 186717, 530, 1, 1, -4002.56, -11851, 0.205429, 5.13728, 0, 0, 0.542116, -0.840304, 300, 0, 1, 0),
+(59179, 186717, 1, 1, 1, 9962.87, 2218.32, 1329.82, 1.77101, 0, 0, 0.774235, 0.632899, 300, 0, 1, 0),
+(59180, 186717, 1, 1, 1, 9963.64, 2192.59, 1328.52, 4.74374, 0, 0, 0.695936, -0.718104, 300, 0, 1, 0),
+(59183, 186717, 530, 1, 1, 9319.23, -7265.19, 13.7578, 2.02761, 0, 0, 0.848849, 0.528635, 300, 0, 1, 0),
+(59184, 186717, 530, 1, 1, 9310.25, -7291.41, 14.4908, 2.53027, 0, 0, 0.953648, 0.300924, 300, 0, 1, 0),
+(66863, 186717, 0, 1, 1, -5209.84, -459.363, 386.537, 2.56563, 0, 0, 0.958819, 0.284016, 120, 255, 1, 12340),
+(66864, 186717, 0, 1, 1, -5226.54, -479.026, 386.534, 2.23402, 0, 0, 0.898793, 0.438373, 120, 255, 1, 12340),
+(66865, 186717, 0, 1, 1, -5233.38, -482.264, 386.337, 1.91986, 0, 0, 0.819152, 0.573577, 120, 255, 1, 12340),
+(66866, 186717, 0, 1, 1, -5206.92, -452.243, 386.808, 3.01941, 0, 0, 0.998135, 0.0610518, 120, 255, 1, 12340);
+
+DELETE FROM `gameobject` WHERE `id`=180052;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(13840, 180052, 0, 1, 1, -9583.73, 38.0032, 60.1551, 0.139626, 0, 0, 0.0697563, 0.997564, 180, 100, 1, 0),
+(66867, 180052, 0, 1, 1, -5175.3, -625.165, 397.176, 2.91469, 0, 0, 0.993571, 0.113208, 120, 255, 1, 12340);
+
+DELETE FROM `gameobject` WHERE `id`=186217;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(66868, 186217, 0, 1, 1, -5208.21, -456.072, 386.746, 2.70526, 0, 0, 0.976295, 0.216442, 120, 255, 1, 12340),
+(66869, 186217, 0, 1, 1, -5230.03, -480.293, 386.4, 2.1293, 0, 0, 0.874619, 0.48481, 120, 255, 1, 12340);
+
+DELETE FROM `gameobject` WHERE `id`=180026;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(13895, 180026, 0, 1, 1, -9515.77, 144.288, 59.698, -0.575959, 0, 0, -0.284016, 0.95882, 180, 100, 1, 0),
+(13829, 180026, 0, 1, 1, -9525.46, 71.1421, 58.898, 2.96706, 0, 0, 0.996195, 0.0871556, 180, 100, 1, 0),
+(31878, 180026, 1, 1, 1, -1461.98, 170.177, -7.74639, -0.122173, 0, 0, -0.0610485, 0.998135, 180, 100, 1, 0),
+(31914, 180026, 1, 1, 1, -1589.68, 101.771, -10.5788, -1.64061, 0, 0, -0.731354, 0.681998, 180, 100, 1, 0),
+(66870, 180026, 0, 1, 1, -5208.1, -455.96, 386.515, -2.9845, 0, 0, -0.996917, 0.0784664, 120, 255, 1, 12340),
+(66871, 180026, 0, 1, 1, -5229.86, -480.288, 386.363, 2.68781, 0, 0, 0.97437, 0.224951, 120, 255, 1, 12340);
+
+
+DELETE FROM `gameobject` WHERE `id`=180052;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(13840, 180052, 0, 1, 1, -9583.73, 38.0032, 60.1551, 0.139626, 0, 0, 0.0697563, 0.997564, 180, 100, 1, 0),
+(66867, 180052, 0, 1, 1, -5175.3, -625.165, 397.176, 2.91469, 0, 0, 0.993571, 0.113208, 120, 255, 1, 12340);
+
+DELETE FROM `gameobject` WHERE `id`=186217;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(66868, 186217, 0, 1, 1, -5208.21, -456.072, 386.746, 2.70526, 0, 0, 0.976295, 0.216442, 120, 255, 1, 12340),
+(66869, 186217, 0, 1, 1, -5230.03, -480.293, 386.4, 2.1293, 0, 0, 0.874619, 0.48481, 120, 255, 1, 12340);
+
+DELETE FROM `gameobject` WHERE `id`=180026;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`,`VerifiedBuild`) VALUES
+(13895, 180026, 0, 1, 1, -9515.77, 144.288, 59.698, -0.575959, 0, 0, -0.284016, 0.95882, 180, 100, 1, 0),
+(13829, 180026, 0, 1, 1, -9525.46, 71.1421, 58.898, 2.96706, 0, 0, 0.996195, 0.0871556, 180, 100, 1, 0),
+(31878, 180026, 1, 1, 1, -1461.98, 170.177, -7.74639, -0.122173, 0, 0, -0.0610485, 0.998135, 180, 100, 1, 0),
+(31914, 180026, 1, 1, 1, -1589.68, 101.771, -10.5788, -1.64061, 0, 0, -0.731354, 0.681998, 180, 100, 1, 0),
+(66870, 180026, 0, 1, 1, -5208.1, -455.96, 386.515, -2.9845, 0, 0, -0.996917, 0.0784664, 120, 255, 1, 12340),
+(66871, 180026, 0, 1, 1, -5229.86, -480.288, 386.363, 2.68781, 0, 0, 0.97437, 0.224951, 120, 255, 1, 12340);
+
+DELETE FROM `game_event` WHERE `eventEntry`=70;
+INSERT INTO `game_event` (`eventEntry`, `start_time`, `end_time`, `occurence`, `length`, `holiday`, `description`, `world_event`) VALUES (70, '2016-09-20 01:01:00', '2020-12-31 06:00:00', 525600, 4320, 0, 'Brewfest Building (Iron Forge)', 0);
+
+DELETE FROM `game_event_creature` WHERE abs(`eventEntry`) = 70;
+DELETE FROM `game_event_gameobject` WHERE abs(`eventEntry`) = 70;
+INSERT INTO `game_event_gameobject` (`guid`, `eventEntry`) VALUES
+(66860,70),
+(66861,70),
+(66862,70),
+(66863,70),
+(66864,70),
+(66865,70),
+(66866,70),
+(66867,70),
+(66868,70),
+(66869,70),
+(66870,70),
+(66871,70);
+
+-- Darkmoon Faire Building
+DELETE FROM `game_event` WHERE `eventEntry`=71;
+INSERT INTO `game_event` (`eventEntry`, `start_time`, `end_time`, `occurence`, `length`, `holiday`, `description`, `world_event`) VALUES (71, '2013-01-06 01:01:00', '2020-12-31 06:00:00', 131040, 8639, 0, 'Darkmoon Faire Building (Mulgore)', 0);
+
+DELETE FROM `game_event_creature` WHERE abs(`eventEntry`) = 71;
+INSERT INTO `game_event_creature` (`guid`, `eventEntry`) VALUES
+(54395,71);
+
+DELETE FROM `game_event_gameobject` WHERE abs(`eventEntry`) = 71;
+INSERT INTO `game_event_gameobject` (`guid`, `eventEntry`) VALUES
+(31872,71),
+(31874,71),
+(31875,71),
+(31876,71),
+(31877,71),
+(31878,71),
+(31879,71),
+(31912,71),
+(31913,71),
+(31914,71),
+(31915,71),
+(31916,71),
+(31918,71),
+(31919,71);
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_03.sql b/data/sql/updates/db_world/2017_08_19_03.sql
new file mode 100644
index 0000000000..2e5df34ea1
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_03.sql
@@ -0,0 +1,39 @@
+-- DB update 2017_08_19_02 -> 2017_08_19_03
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_02';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_02 2017_08_19_03 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493320243875599900'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493320243875599900');
+
+SET @R3D0 := 21690;
+
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@R3D0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@R3D0, @R3D0*100);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(@R3D0, 0, 0, 0, 64, 0, 100, 0, 0, 0, 0, 0, 80, 2169000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "R-3D0 - On Gossip Hello - Call Actionlist"),
+(@R3D0*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 91, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "R-3D0 - On Script - Remove Standstate Sleep"),
+(@R3D0*100, 9, 1, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "R-3D0 - On Script - Talk"),
+(@R3D0*100, 9, 2, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 90, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "R-3D0 - On Gossip Hello - Set Standstate Sleep");
+
+DELETE FROM `creature_text` WHERE `entry`=@R3D0;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(@R3D0, 0, 0, "WARNING! WARNING! AWAY HOSTILE BEINGS! DO NOT HEAD UP THE RIDGE TO TOSHLEY'S STATION!", 12, 0, 100, 35, 0, 0, 19311, 0, "R-3D0");
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_04.sql b/data/sql/updates/db_world/2017_08_19_04.sql
new file mode 100644
index 0000000000..97256b2455
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_04.sql
@@ -0,0 +1,39 @@
+-- DB update 2017_08_19_03 -> 2017_08_19_04
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_03';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_03 2017_08_19_04 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493320702119541800'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493320702119541800');
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=1476;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=1476;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(1476, 0, 0, 0, 1, 0, 100, 0, 5000, 30000, 300000, 600000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Hargin Mundar - Out Of Combat - Talk"),
+(1476, 0, 1, 2, 1, 0, 100, 0, 35000, 45000, 300000, 600000, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Hargin Mundar - Out Of Combat - Talk"),
+(1476, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 41995, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Hargin Mundar - Out Of Combat - Cast Vomit");
+
+DELETE FROM `creature_text` WHERE `entry`=1476;
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(1476, 0, 0, "Stormy seas out there. The sea spirits must be restless....hic!", 12, 6, 100, 0, 0, 0, 318, 0, "Hargin Mundar"),
+(1476, 0, 1, "I saw a Sea Giant once. It's not something I would care to see again. Burp!", 12, 6, 100, 0, 0, 0, 319, 0, "Hargin Mundar"),
+(1476, 0, 2, "I'd go out and clear out some of those gnolls, but this leg has seen better days and I am afraid I'd just wind up dead.", 12, 6, 100, 0, 0, 0, 320, 0, "Hargin Mundar"),
+(1476, 0, 3, "Watch your step out there. Many an adventure seeker has not returned from the marsh. hic!", 12, 6, 100, 0, 0, 0, 321, 0, "Hargin Mundar"),
+(1476, 1, 0, "Huuup...Huuup...Bleeeeehh!", 12, 0, 100, 0, 0, 0, 397, 0, "Hargin Mundar");
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_05.sql b/data/sql/updates/db_world/2017_08_19_05.sql
new file mode 100644
index 0000000000..22288d84d7
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_05.sql
@@ -0,0 +1,48 @@
+-- DB update 2017_08_19_04 -> 2017_08_19_05
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_04';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_04 2017_08_19_05 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493321166929502700'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493321166929502700');
+SET @BETHOR := 1498;
+SET @GUNTHER := 5666;
+
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@BETHOR, @GUNTHER);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@BETHOR, @BETHOR*100, @GUNTHER, @GUNTHER*100);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(@BETHOR, 0, 0, 0, 20, 0, 100, 0, 411, 0, 0, 0, 80, @BETHOR*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Bethor Iceshard - On Quest 'The Prodigal Lich Returns' Rewarded - Run Script"),
+(@BETHOR*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 7762, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Bethor Iceshard - On Script - Cast Summon Gunther's Visage"),
+(@BETHOR*100, 9, 1, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 12, @GUNTHER, 1, 22000, 0, 0, 0, 8, 0, 0, 0, 1766.0415, 62.8454, -46.3213, 1.5910, "Bethor Iceshard - On Script - Summon Gunther's Visage"),
+(@BETHOR*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Bethor Iceshard - On Script - Store Targetlist"),
+(@BETHOR*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 100, 1, 0, 0, 0, 0, 0, 19, @GUNTHER, 0, 0, 0, 0, 0, 0, "Bethor Iceshard - On Script - Send Targetlist to Guther's Visage"),
+(@GUNTHER, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 80, @GUNTHER*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Gunther's Visage - On Just Summoned - Run Script"),
+(@GUNTHER*100, 9, 0, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Gunther's Visage - On Script - Talk 0"),
+(@GUNTHER*100, 9, 1, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Gunther's Visage - On Script - Talk 1"),
+(@GUNTHER*100, 9, 2, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, "Gunther's Visage - On Script - Talk 2"),
+(@GUNTHER*100, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 1498, 0, 0, 0, 0, 0, 0, "Gunther's Visage - On Script - Talk 0 (Bethor Iceshard)");
+
+DELETE FROM `creature_text` WHERE `entry` IN (1498, 5666);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(@GUNTHER, 0, 0, "It has been a long time, Bethor, my friend.", 12, 0, 100, 1, 0, 0, 1973, 0, "Gunther's Visage"),
+(@GUNTHER, 1, 0, "When time permits, we must speak at length. For we have much to discuss.", 12, 0, 100, 1, 0, 0, 1974, 0, "Gunther's Visage"),
+(@GUNTHER, 2, 0, "And thank you, $n. Without your aid I may never have found my way to the Forsaken.", 12, 0, 100, 1, 0, 0, 1975, 0, "Gunther's Visage"),
+(@BETHOR, 0, 0, "Farewell, my friend.", 12, 0, 100, 1, 0, 0, 1976, 0, "Bethor Iceshard");
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_06.sql b/data/sql/updates/db_world/2017_08_19_06.sql
new file mode 100644
index 0000000000..18cdb92dfb
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_06.sql
@@ -0,0 +1,122 @@
+-- DB update 2017_08_19_05 -> 2017_08_19_06
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_05';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_05 2017_08_19_06 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493321428049355400'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493321428049355400');
+-- Tranquillien RP event
+SET @AURIFEROUS :=16231;
+SET @SCRIPT := 1623100;
+SET @MALTENDIS :=16251;
+SET @MAVREN := 16252;
+SET @VALWYN := 16289;
+
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@AURIFEROUS, @MAVREN, @VALWYN, @MALTENDIS);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@AURIFEROUS, @SCRIPT, @MAVREN, @VALWYN, @MALTENDIS);
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@AURIFEROUS,0, 0, 0, 1, 0, 100, 0, 10000, 60000, 580000, 620000, 80, @SCRIPT, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Aureous - Out Of Combat - Run Script"),
+(@SCRIPT, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 0 (Advisor Valwyn)"),
+(@SCRIPT, 9, 1, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 0"),
+(@SCRIPT, 9, 2, 0, 0, 0, 100, 0, 60000, 70000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Face High Executor Mavren"),
+(@SCRIPT, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 1"),
+(@SCRIPT, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 1 1 (High Executor Mavren)"),
+(@SCRIPT, 9, 5, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 0 (Deathstalker Maltendis)"),
+(@SCRIPT, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Reset Orientation"),
+(@SCRIPT, 9, 7, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 0 (High Executor Mavren)"),
+(@SCRIPT, 9, 8, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 1 (Advisor Valwyn)"),
+(@SCRIPT, 9, 9, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 2 2 (High Executor Mavren)"),
+(@SCRIPT, 9, 10, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 2"),
+(@SCRIPT, 9, 11, 0, 0, 0, 100, 0, 50000, 70000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Face High Executor Mavren"),
+(@SCRIPT, 9, 12, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 3"),
+(@SCRIPT, 9, 13, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 1 1 (High Executor Mavren)"),
+(@SCRIPT, 9, 14, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 0 (Deathstalker Maltendis)"),
+(@SCRIPT, 9, 15, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Reset Orientation"),
+(@SCRIPT, 9, 16, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 1 (High Executor Mavren)"),
+(@SCRIPT, 9, 17, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 1 (Advisor Valwyn)"),
+(@SCRIPT, 9, 18, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 2 2 (High Executor Mavren"),
+(@SCRIPT, 9, 19, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 4"),
+(@SCRIPT, 9, 20, 0, 0, 0, 100, 0, 50000, 70000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Face High Executor Mavren"),
+(@SCRIPT, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 5"),
+(@SCRIPT, 9, 22, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 1 1 (High Executor Mavren)"),
+(@SCRIPT, 9, 23, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 0 (Deathstalker Maltendis)"),
+(@SCRIPT, 9, 24, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Reset Orientation"),
+(@SCRIPT, 9, 25, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 2 (High Executor Mavren)"),
+(@SCRIPT, 9, 26, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 1 (Advisor Valwyn)"),
+(@SCRIPT, 9, 27, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, @MAVREN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 2 2 (High Executor Mavren"),
+(@SCRIPT, 9, 28, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 6"),
+(@SCRIPT, 9, 29, 0, 0, 0, 100, 0, 150000, 190000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 1 1 (Deathstalker Maltendis)"),
+(@SCRIPT, 9, 30, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 1 (Deathstalker Maltendis)"),
+(@SCRIPT, 9, 31, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 1 1 (Advisor Valwyn)"),
+(@SCRIPT, 9, 32, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Talk 2 (Advisor Valwyn)"),
+(@SCRIPT, 9, 33, 0, 0, 0, 100, 0, 0, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 2 2 (Deathstalker Maltendis)"),
+(@SCRIPT, 9, 34, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 2 2 (Advisor Valwyn)"),
+(@SCRIPT, 9, 35, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 45, 3, 3, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Dame Auriferous - On Script - Set Data 3 3 (Deathstalker Maltendis)"),
+(@VALWYN, 0, 0, 0, 38, 0, 100, 0, 1, 1, 1000, 1000, 66, 0, 0, 0, 0, 0, 0, 19, @MALTENDIS, 0, 0, 0, 0, 0, 0, "Advisor Valwyn - On Data 1 1 Set - Face Deathstalker Maltendis"),
+(@VALWYN, 0, 1, 0, 38, 0, 100, 0, 2, 2, 1000, 1000, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Advisor Valwyn - On Data 2 2 Set - Reset Orientation"),
+(@MAVREN, 0, 0, 0, 38, 0, 100, 0, 1, 1, 1000, 1000, 66, 0, 0, 0, 0, 0, 0, 19, 16231, 0, 0, 0, 0, 0, 0, "High Executor Mavren - On Data 1 1 Set - Face Dame Auriferious"),
+(@MAVREN, 0, 1, 0, 38, 0, 100, 0, 2, 2, 1000, 1000, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "High Executor Mavren - On Data 2 2 Set - Reset Orientation"),
+(@MALTENDIS, 0, 0, 0, 38, 0, 100, 0, 1, 1, 1000, 1000, 66, 0, 0, 0, 0, 0, 0, 19, @VALWYN, 0, 0, 0, 0, 0, 0, "Deathstalker Maltendis - On Data 1 1 Set - Face Advisor Valwyn"),
+(@MALTENDIS, 0, 1, 0, 38, 0, 100, 0, 2, 2, 1000, 1000, 5, 153, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Deathstalker Maltendis - On Data 2 2 Set - Emote Laugh"),
+(@MALTENDIS, 0, 2, 0, 38, 0, 100, 0, 3, 3, 1000, 1000, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Deathstalker Maltendis - On Data 3 3 Set - Reset Orientation");
+
+DELETE FROM `creature_text` WHERE `entry` IN (@AURIFEROUS, @MAVREN, @VALWYN, @MALTENDIS);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(@AURIFEROUS, 0, 0, "%s nods her head yes at what her advisor has to say.", 16, 0, 100, 273, 0, 0, 13362, 0, "Dame Auriferous"),
+(@AURIFEROUS, 0, 1, "%s disagrees with whatever it is that Valwyn has whispered to her.", 16, 0, 100, 274, 0, 0, 13363, 0, "Dame Auriferous"),
+(@AURIFEROUS, 0, 2, "%s seems nonplussed by whatever it is that her advisor has whispered in her ear.", 16, 0, 100, 6, 0, 0, 13365, 0, "Dame Auriferous"),
+(@AURIFEROUS, 1, 0, "Executor, your direct assault approach will cost us more lives than I am comfortable with. A more nuanced strategy is called for; one that involves us reclaiming the surrounding territory, starting with the villages so as to cut off all points of reinforcement to Deatholme.", 12, 1, 100, 0, 0, 0, 12552, 0, "Dame Auriferous"),
+(@AURIFEROUS, 2, 0, "I hear what you are saying, Mavren. Nevertheless, the final decision is mine. I appreciate your assistance, but the majority of the lives on the line are blood elf. I will not have those lives carelessly thrown away!", 12, 1, 100, 0, 0, 0, 12571, 0, "Dame Auriferous"),
+(@AURIFEROUS, 3, 0, "How long until Forsaken reinforcements arrive? Our position here is tenuous. Your Lady promised us more soldiers. We must be able to concentrate solely on Deatholme and the Scourge!", 12, 1, 100, 0, 0, 0, 12557, 0, "Dame Auriferous"),
+(@AURIFEROUS, 4, 0, "Mavren, I don't want excuses, I want results! The Farstriders aren't available and we've received all that we're going to get from Silvermoon for now. I cannot ignore the Shadowpine trolls and Zul'Aman... they're arrayed across our eastern border!", 12, 1, 100, 0, 0, 0, 12572, 0, "Dame Auriferous"),
+(@AURIFEROUS, 5, 0, "No, I was right to begin with. Deatholme must come last. We must secure all of the Ghostlands first. I will not commit the forces here to a battle against Dar'khan with enemies to our flank and rear!", 12, 1, 100, 0, 0, 0, 12562, 0, "Dame Auriferous"),
+(@AURIFEROUS, 6, 0, "Disagree with me all you like, High Executor. I will weigh your counsel, and then we will take the steps to free all of Quel'Thalas as I deem necessary. We shall continue this discussion anon.", 12, 1, 100, 0, 0, 0, 12573, 0, "Dame Auriferous"),
+(@MAVREN, 0, 0, "With all due respect, milady, you have not fought the Scourge as I have. The Lady appointed me to assist you in defeating Dar'khan because of that, and you would do well to consider what I have to say.", 12, 1, 100, 0, 0, 0, 12553, 0, "High Executor Mavren"),
+(@MAVREN, 0, 1, "I strongly disagree. Dar'khan is not going to get reinforcements because he'll be bottlenecked. Deatholme has only one way in and out. Your traitor was a fool to corner himself there, and I intend to exploit that weakness!", 12, 1, 100, 0, 0, 0, 12554, 0, "High Executor Mavren"),
+(@MAVREN, 0, 2, "This is war, Dame Auriferous, and in any war lives will be lost! The only areas that we need to secure are the two ziggurats. We will turtle in and take the Tower of the Damned and its master by brute force. Then you will have your Quel'Thalas.", 12, 1, 100, 0, 0, 0, 12555, 0, "High Executor Mavren"),
+(@MAVREN, 0, 3, "And if your Farstriders were here to reinforce us, I might agree. But, they are busying themselves instead with the Shadowpine trolls on your eastern border. The longer we wait for them, the stronger the Scourge will become.", 12, 1, 100, 0, 0, 0, 12556, 0, "High Executor Mavren"),
+(@MAVREN, 1, 0, "I believe that you're making my argument for me, but yes it would be nice if we had more reinforcements. I would counter that it would be faster to pull the Farstriders from their senseless skirmishing with the trolls.", 12, 1, 100, 0, 0, 0, 12558, 0, "High Executor Mavren"),
+(@MAVREN, 1, 1, "Dame Auriferous, we are the reinforcements. It may come to pass that The Lady will send more men in time. Better that you convince Silvermoon City to muster all of its forces and put them at our disposal here.", 12, 1, 100, 0, 0, 0, 12559, 0, "High Executor Mavren"),
+(@MAVREN, 1, 2, "You are correct; we must concentrate on the Scourge. Ignore the trolls and the villages, and focus our attentions on Deatholme! With Dar'khan defeated you will find that the rest of the Scourge 'body' will fall quickly, lacking their 'head'.", 12, 1, 100, 0, 0, 0, 12560, 0, "High Executor Mavren"),
+(@MAVREN, 1, 3, "Forsaken reinforcements? Undercity is stretched thin with the Scourge on all sides. No, this will be a matter largely dealt with by the blood elves. We Forsaken are here as backup and advisors.", 12, 1, 100, 0, 0, 0, 12561, 0, "High Executor Mavren"),
+(@MAVREN, 2, 0, "Again I strongly disagree with your view of the strategic situation. Your plan will spread our forces too thin. It will leave us with only a small force to assault Deatholme. I cannot in good conscience execute such a strategy.", 12, 1, 100, 0, 0, 0, 12567, 0, "High Executor Mavren"),
+(@MAVREN, 2, 1, "Spread throughout the Ghostlands, our forces will be of little use in an assault on Deatholme. No, milady, I am here to kill Dar'khan and that is what I intend to do!", 12, 1, 100, 0, 0, 0, 12568, 0, "High Executor Mavren"),
+(@MAVREN, 2, 2, "We've been over this before. Only a focused assault upon Deatholme will meet with success. These other targets are distractions that we can ill afford. I suggest that you inform your Captain Helios that he is to leave off his campaign against the Shadowpine trolls and focus solely on the Scourge.", 12, 1, 100, 0, 0, 0, 12569, 0, "High Executor Mavren"),
+(@MAVREN, 2, 3, "Perhaps we should let the matter rest for the time being until your chef has prepared your meal? You look a bit piqued if you don't mind my saying. We can resume our discussion when you are feeling more yourself.", 12, 1, 100, 0, 0, 0, 12570, 0, "High Executor Mavren"),
+(@VALWYN, 0, 0, "%s whispers something in the Dame's ear.", 16, 0, 100, 0, 0, 0, 13361, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 0, "%s looks appalled at the Executor's tone!", 16, 0, 100, 0, 0, 0, 12574, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 1, "%s tries to busy herself with other matters.", 16, 0, 100, 0, 0, 0, 12575, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 2, "%s glares daggers in the direction of High Executor Mavren and Deathstalker Maltendis.", 16, 0, 100, 0, 0, 0, 12576, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 3, "%s lifts her nose and sniffs in response to the High Executor's reply.", 16, 0, 100, 0, 0, 0, 12577, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 4, "%s shakes her head in disbelief at what she is hearing out of the Forsaken's mouth.", 16, 0, 100, 0, 0, 0, 12578, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 5, "%s blanches as much of the blood drains from her face.", 16, 0, 100, 0, 0, 0, 12579, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 6, "%s reddens furiously at what she is hearing in response to her lady's question.", 16, 0, 100, 0, 0, 0, 12580, 0, "Advisor Valwyn"),
+(@VALWYN, 1, 7, "%s concentrates on the wall opposite her, clearly ignoring the looks of the Executor and his assistant.", 16, 0, 100, 0, 0, 0, 12581, 0, "Advisor Valwyn"),
+(@VALWYN, 2, 0, "%s looks disgusted at the deathstalker's flirtations.", 16, 0, 100, 274, 0, 0, 13367, 0, "Advisor Valwyn"),
+(@MALTENDIS, 0, 0, "%s nods in agreement.", 16, 0, 100, 0, 0, 0, 12582, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 1, "%s opens his mouth as if to add something, and then apparently thinks the better of it.", 16, 0, 100, 0, 0, 0, 12583, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 2, "%s looks over at Advisor Valwyn with a smirk on his face.", 16, 0, 100, 0, 0, 0, 12584, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 3, "%s grins at the High Executor's words.", 16, 0, 100, 0, 0, 0, 12585, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 4, "%s appears bored with the whole discussion.", 16, 0, 100, 0, 0, 0, 12586, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 5, "%s winks slyly at Advisor Valwyn.", 16, 0, 100, 0, 0, 0, 12587, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 6, "%s fidgets with his armor, clearly uncomfortable at the tone of the discussion.", 16, 0, 100, 0, 0, 0, 12588, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 0, 7, "%s looks like he'd rather be anywhere else but here.", 16, 0, 100, 0, 0, 0, 12589, 0, "Deathstalker Maltendis"),
+(@MALTENDIS, 1, 0, "%s turns to Advisor Valwyn and winks lasciviously in her direction.", 16, 0, 100, 2, 0, 0, 13366, 0, "Deathstalker Maltendis");
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_07.sql b/data/sql/updates/db_world/2017_08_19_07.sql
new file mode 100644
index 0000000000..e8a0e22f98
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_07.sql
@@ -0,0 +1,253 @@
+-- DB update 2017_08_19_06 -> 2017_08_19_07
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_06';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_06 2017_08_19_07 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493321989278173500'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493321989278173500');
+SET @GUID := 131324;
+DELETE FROM `creature` WHERE `guid` BETWEEN @GUID + 1 AND @GUID + 23;
+INSERT INTO `creature` (`guid`, `id`, `map`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `npcflag`, `MovementType`) VALUES
+(@GUID + 1, 11277, 0, 1093.95, -2528.63, 61.2475, 5.74213, 0, 0, 0, 484, 0, 0, 0),
+(@GUID + 2, 11277, 0, 1095.56, -2529.47, 61.1291, 2.37365, 0, 0, 0, 484, 0, 0, 0),
+(@GUID + 3, 11277, 0, 1148.08, -2559.31, 60.1493, 4.15388, 0, 0, 0, 484, 0, 0, 0),
+(@GUID + 4, 11277, 0, 1146.79, -2561.22, 60.1145, 0.959931, 0, 0, 0, 484, 0, 0, 0),
+(@GUID + 5, 11279, 0, 1064.06, -2519.78, 60.2259, 3.19395, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 6, 11279, 0, 1056.5, -2536.54, 59.9694, 2.35619, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 7, 11279, 0, 1245.02, -2597.47, 90.3675, 3.52556, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 8, 11280, 0, 1180.07, -2536.72, 85.3681, 1.0821, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 9, 11280, 0, 1187.12, -2532.58, 85.3681, 2.16421, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 10, 11280, 0, 1208.19, -2583.32, 98.2479, 2.72271, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 11, 11282, 0, 1113.59, -2555.59, 59.2532, 3.50681, 0, 0, 0, 42, 0, 0, 0),
+(@GUID + 12, 11283, 0, 1111.49, -2556.4, 59.2532, 0.365222, 0, 0, 0, 42, 0, 0, 0),
+(@GUID + 13, 11316, 0, 1223.27, -2506.41, 72.9261, 4.10152, 0, 0, 0, 3500, 0, 0, 0),
+(@GUID + 14, 11277, 0, 1155.4, -2383.73, 60.304, 5.43574, 300, 0, 0, 2784, 0, 0, 0),
+(@GUID + 15, 11281, 0, 1098.49, -2523.82, 61.3707, 4.6691, 1272, 0, 0, 2371, 0, 0, 0),
+(@GUID + 16, 11281, 0, 1031.16, -2498.27, 59.177, 4.73616, 1272, 0, 0, 2371, 0, 0, 2),
+(@GUID + 17, 11281, 0, 1090.52, -2541.25, 59.2419, 2.70896, 1272, 0, 0, 2371, 0, 0, 2),
+(@GUID + 18, 11279, 0, 1238.9929, -2586.8103, 90.3722, 3.695799, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 19, 11277, 0, 1100.1054, -2589.2932, 60.624, 0.555778, 0, 0, 0, 3632, 0, 0, 0),
+(@GUID + 20, 11277, 0, 1127.81, -2387.71, 59.264, 1.72159, 300, 0, 0, 2784, 0, 0, 0),
+(@GUID + 21, 11287, 0, 1081.91, -2574, 59.957, 0.301, 360, 0, 0, 1536, 0, 0, 0),
+(@GUID + 22, 11277, 0, 1090.52, -2541.25, 59.2419, 2.70896, 1272, 0, 0, 2784, 0, 0, 2),
+(@GUID + 23, 11277, 0, 1231.62939, -2558.7126, 91.04164, 4.410, 1272, 0, 0, 2784, 0, 0, 2);
+
+SET @NPC := 131340;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,5228,0,1,0, '17622');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`, `delay`) VALUES
+(@PATH, 1, 1031.16, -2498.27, 59.177, 10000),
+(@PATH, 2, 1034.48, -2468.77, 59.9844, 0),
+(@PATH, 3, 1043.48, -2458.4, 60.4699, 0),
+(@PATH, 4, 1071.23, -2443.23, 61.1634, 5000),
+(@PATH, 5, 1101.41, -2409.45, 59.8655, 0),
+(@PATH, 6, 1125.81, -2397.36, 59.4695, 0),
+(@PATH, 7, 1183.61, -2397.16, 60.1768, 10000),
+(@PATH, 8, 1126.2, -2397.42, 59.4867, 0),
+(@PATH, 9, 1101.19, -2409.67, 59.8831, 0),
+(@PATH, 10, 1070.91, -2443.54, 61.1405, 5000),
+(@PATH, 11, 1043.16, -2458.72, 60.4674, 0),
+(@PATH, 12, 1034.42, -2468.71, 59.9897, 0);
+
+SET @NPC := 131341;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,5228,0,1,0, '17622');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`, `delay`) VALUES
+(@PATH, 1, 1090.52, -2541.25, 59.1419, 10000),
+(@PATH, 2, 1095.36, -2543.49, 59.1418, 0),
+(@PATH, 3, 1118.02, -2601.04, 59.4689, 0),
+(@PATH, 4, 1132.05, -2612.48, 63.1381, 0),
+(@PATH, 5, 1161.32, -2620.66, 70.9007, 0),
+(@PATH, 6, 1193.38, -2629.62, 74.0911, 0),
+(@PATH, 7, 1214.63, -2616.73, 83.1397, 0),
+(@PATH, 8, 1221.01, -2604.11, 86.3537, 0),
+(@PATH, 9, 1237.11, -2595.52, 90.1566, 10000),
+(@PATH, 10, 1221.38, -2603.91, 86.4882, 0),
+(@PATH, 11, 1214.67, -2616.99, 83.1357, 0),
+(@PATH, 12, 1193.52, -2629.6, 74.1169, 0),
+(@PATH, 13, 1161.14, -2620.61, 70.8684, 0),
+(@PATH, 14, 1131.64, -2612.35, 63.038, 0),
+(@PATH, 15, 1117.74, -2600.92, 59.4468, 0),
+(@PATH, 16, 1095.2, -2543.02, 59.1423, 0);
+
+DELETE FROM `creature_formations` WHERE `leaderGUID` IN (131341);
+INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`,`point_1`,`point_2`) VALUES
+(131341,131341,0,0,2,0,0),
+(131341,131339,9,360,2,9,19);
+
+SET @NPC := @GUID + 23;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '17622 10848');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
+(@PATH, 1, 1235.24, -2562.57, 91.3431, 0, 0, 0, 0, 100, 0),
+(@PATH, 2, 1236.63, -2570.77, 91.5426, 0, 0, 0, 0, 100, 0),
+(@PATH, 3, 1237.19, -2580.81, 90.9381, 0, 0, 0, 0, 100, 0),
+(@PATH, 4, 1238.05, -2593.67, 90.1927, 0, 0, 0, 0, 100, 0),
+(@PATH, 5, 1228.63, -2599.66, 88.6386, 0, 0, 0, 0, 100, 0),
+(@PATH, 6, 1220.7, -2604.7, 86.2027, 0, 0, 0, 0, 100, 0),
+(@PATH, 7, 1212.85, -2601.35, 83.4549, 0, 0, 0, 0, 100, 0),
+(@PATH, 8, 1201.85, -2595.01, 78.5496, 0, 0, 0, 0, 100, 0),
+(@PATH, 9, 1191.01, -2590.97, 74.6417, 0, 0, 0, 0, 100, 0),
+(@PATH, 10, 1180.71, -2595.16, 72.9315, 0, 0, 0, 0, 100, 0),
+(@PATH, 11, 1176.2, -2606.29, 72.8323, 0, 0, 0, 0, 100, 0),
+(@PATH, 12, 1168.01, -2620.18, 71.895, 0, 0, 0, 0, 100, 0),
+(@PATH, 13, 1173.01, -2612.22, 72.7501, 0, 0, 0, 0, 100, 0),
+(@PATH, 14, 1182.33, -2592.46, 72.9574, 0, 0, 0, 0, 100, 0),
+(@PATH, 15, 1197.4, -2592.45, 76.7622, 0, 0, 0, 0, 100, 0),
+(@PATH, 16, 1219.52, -2604.41, 85.8084, 0, 0, 0, 0, 100, 0),
+(@PATH, 17, 1237.83, -2592.45, 90.193, 0, 0, 0, 0, 100, 0),
+(@PATH, 18, 1237.96, -2574.51, 91.5436, 0, 0, 0, 0, 100, 0),
+(@PATH, 19, 1233.04, -2561.64, 90.6976, 0, 0, 0, 0, 100, 0),
+(@PATH, 20, 1232.37, -2553.62, 91.4351, 0, 0, 0, 0, 100, 0);
+
+SET @NPC := 131346;
+UPDATE `creature` SET `position_x`=1127.81, `position_y`=-2387.71, `position_z`=59.264, `orientation`=1.72159 WHERE `guid`=@NPC;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '17622 10848');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
+(@PATH, 1, 1130.21, -2395.8, 59.6262, 0, 0, 0, 0, 100, 0),
+(@PATH, 2, 1137.21, -2395.91, 59.8531, 0, 0, 0, 0, 100, 0),
+(@PATH, 3, 1158.21, -2396.22, 59.8991, 0, 0, 0, 0, 100, 0),
+(@PATH, 4, 1179.21, -2396.51, 60.0552, 0, 0, 0, 0, 100, 0),
+(@PATH, 5, 1203.92, -2392.72, 60.0587, 0, 0, 0, 0, 100, 0),
+(@PATH, 6, 1190.1, -2394.95, 60.1484, 0, 0, 0, 0, 100, 0),
+(@PATH, 7, 1169.22, -2396.95, 59.9472, 0, 0, 0, 0, 100, 0),
+(@PATH, 8, 1155.23, -2396.77, 59.9844, 0, 0, 0, 0, 100, 0),
+(@PATH, 9, 1124.17, -2397.18, 59.405, 0, 0, 0, 0, 100, 0),
+(@PATH, 10, 1099.73, -2410.8, 59.9901, 0, 0, 0, 0, 100, 0),
+(@PATH, 11, 1090.4, -2420.13, 60.9123, 0, 0, 0, 0, 100, 0),
+(@PATH, 12, 1072.48, -2441.64, 61.2209, 0, 0, 0, 0, 100, 0),
+(@PATH, 13, 1043.13, -2458.38, 60.4831, 0, 0, 0, 0, 100, 0),
+(@PATH, 14, 1035.92, -2468.81, 59.9447, 0, 0, 0, 0, 100, 0),
+(@PATH, 15, 1032.07, -2486.29, 59.3631, 0, 0, 0, 0, 100, 0),
+(@PATH, 16, 1024.47, -2514.34, 59.1417, 0, 0, 0, 0, 100, 0),
+(@PATH, 17, 1037.54, -2519.32, 59.1867, 0, 0, 0, 0, 100, 0),
+(@PATH, 18, 1063.46, -2529.89, 59.1418, 0, 0, 0, 0, 100, 0),
+(@PATH, 19, 1097.75, -2544.71, 59.1428, 0, 0, 0, 0, 100, 0),
+(@PATH, 20, 1102.49, -2557.88, 59.1428, 0, 0, 0, 0, 100, 0),
+(@PATH, 21, 1111.76, -2584.3, 59.1743, 0, 0, 0, 0, 100, 0),
+(@PATH, 22, 1123.54, -2607.25, 61.0399, 0, 0, 0, 0, 100, 0),
+(@PATH, 23, 1136.36, -2612.87, 64.1442, 0, 0, 0, 0, 100, 0),
+(@PATH, 24, 1163.16, -2620.89, 71.2108, 0, 0, 0, 0, 100, 0),
+(@PATH, 25, 1182.45, -2627.27, 72.8355, 0, 0, 0, 0, 100, 0),
+(@PATH, 26, 1196.35, -2625.69, 74.9546, 0, 0, 0, 0, 100, 0),
+(@PATH, 27, 1205.57, -2623.11, 78.4216, 0, 0, 0, 0, 100, 0),
+(@PATH, 28, 1218.12, -2611.44, 84.922, 0, 0, 0, 0, 100, 0),
+(@PATH, 29, 1232.4, -2596.93, 89.4579, 0, 0, 0, 0, 100, 0),
+(@PATH, 30, 1218.97, -2605.37, 85.534, 0, 0, 0, 0, 100, 0),
+(@PATH, 31, 1207.03, -2598.07, 80.8431, 0, 0, 0, 0, 100, 0),
+(@PATH, 32, 1184.18, -2591.84, 73.0826, 0, 0, 0, 0, 100, 0),
+(@PATH, 33, 1180.16, -2598.08, 72.8645, 0, 0, 0, 0, 100, 0),
+(@PATH, 34, 1167.55, -2620.42, 71.8289, 0, 0, 0, 0, 100, 0),
+(@PATH, 35, 1148.76, -2617.4, 67.9948, 0, 0, 0, 0, 100, 0),
+(@PATH, 36, 1128.96, -2610.55, 62.3378, 0, 0, 0, 0, 100, 0),
+(@PATH, 37, 1114.88, -2592.68, 59.2346, 0, 0, 0, 0, 100, 0),
+(@PATH, 38, 1112, -2586.3, 59.1568, 0, 0, 0, 0, 100, 0),
+(@PATH, 39, 1102.92, -2559.83, 59.142, 0, 0, 0, 0, 100, 0),
+(@PATH, 40, 1093.84, -2542.81, 59.1414, 0, 0, 0, 0, 100, 0),
+(@PATH, 41, 1067.78, -2532.62, 59.1415, 0, 0, 0, 0, 100, 0),
+(@PATH, 42, 1035.69, -2518.67, 59.1449, 0, 0, 0, 0, 100, 0),
+(@PATH, 43, 1022.34, -2513.6, 59.1417, 0, 0, 0, 0, 100, 0),
+(@PATH, 44, 1029.52, -2499.31, 59.1618, 0, 0, 0, 0, 100, 0),
+(@PATH, 45, 1032.82, -2480.03, 59.4609, 0, 0, 0, 0, 100, 0),
+(@PATH, 46, 1040.28, -2461.78, 60.4131, 0, 0, 0, 0, 100, 0),
+(@PATH, 47, 1068.44, -2444.34, 60.9293, 0, 0, 0, 0, 100, 0),
+(@PATH, 48, 1089.28, -2422.64, 61.0531, 0, 0, 0, 0, 100, 0),
+(@PATH, 49, 1110.43, -2404.84, 59.3954, 0, 0, 0, 0, 100, 0),
+(@PATH, 50, 1125.89, -2397.4, 59.473, 0, 0, 0, 0, 100, 0);
+
+UPDATE `creature_template_addon` SET `mount` = 5228 WHERE `entry` = 11281;
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (11282, 11283, 11287, 11279, 11286, 11316, 11280);
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(11282, 0, 0, 0, 0, 0, '17622 10848'),
+(11283, 0, 0, 0, 0, 0, '17622 10848'),
+(11287, 0, 0, 0, 0, 0, '17622 10848'),
+(11279, 0, 0, 0, 0, 0, '17622 10848'),
+(11286, 0, 0, 0, 0, 0, '17622 10848'),
+(11316, 0, 0, 0, 69, 0, '17622 10848'),
+(11280, 0, 0, 0, 69, 0, '17622 10848');
+
+UPDATE `creature_template_addon` SET `auras` = '17622 10848' WHERE `entry` = 11277;
+UPDATE `creature_addon` SET `bytes1`=0, `auras` = '17622 10848' WHERE `guid` = 200140;
+
+-- Melia SAI
+SET @ENTRY := 11282;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,53,1,11282,1,0,0,0,1,0,0,0,0,0,0,0,"Melia - On Reset - Start Waypoint"),
+(@ENTRY,0,1,0,40,0,100,0,5,11282,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Melia - On Waypoint 5 Reached - Run Script");
+
+-- Actionlist SAI
+SET @ENTRY := 1128200;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,54,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melia - On Script - Pause Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,6000,6000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,3.495,"Melia - On Script - Set Orientation 3.495"),
+(@ENTRY,9,2,0,0,0,100,0,3000,3000,0,0,1,0,2000,0,0,0,0,1,0,0,0,0,0,0,0,"Melia - On Script - Say Line 0"),
+(@ENTRY,9,3,0,0,0,100,0,5000,5000,0,0,1,0,2000,0,0,0,0,19,11283,100,0,0,0,0,0,"Melia - On Script - Say Line 0"),
+(@ENTRY,9,4,0,0,0,100,0,2000,2000,0,0,1,1,2000,0,0,0,0,1,0,0,0,0,0,0,0,"Melia - On Script - Say Line 1"),
+(@ENTRY,9,5,0,0,0,100,0,14000,14000,0,0,1,2,2000,0,0,0,0,1,0,0,0,0,0,0,0,"Melia - On Script - Say Line 2"),
+(@ENTRY,9,6,0,0,0,100,0,1000,1000,0,0,1,1,2000,0,0,0,0,19,11283,100,0,0,0,0,0,"Melia - On Script - Say Line 1");
+
+-- Sammy SAI
+SET @ENTRY := 11283;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,53,1,11283,1,0,0,0,1,0,0,0,0,0,0,0,"Sammy - On Reset - Start Waypoint"),
+(@ENTRY,0,1,0,40,0,100,0,5,11283,0,0,54,30000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sammy - On Waypoint 5 Reached - Pause Waypoint");
+
+DELETE FROM `creature_text` WHERE `entry` IN (11282, 11283);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES
+(11282, 0, 0, 'I win!', 12, 0, 100, 0, 2000, 0, 6808, 'Melia'),
+(11282, 1, 0, 'Wanna race again? Best two out of three!', 12, 0, 100, 0, 2000, 0, 6809, 'Melia'),
+(11282, 2, 0, 'Ready. Set. GO!', 12, 0, 100, 0, 2000, 0, 6806, 'Melia'),
+(11283, 0, 0, 'You cheated!', 12, 0, 100, 0, 2000, 0, 6810, 'Sammy'),
+(11283, 1, 0, 'HEY! No fair!', 12, 0, 100, 0, 2000, 0, 6807, 'Sammy');
+
+DELETE FROM `waypoints` WHERE `entry` IN (11282, 11283);
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(11282, 1, 1120.09, -2547.57, 59.2532, 'Melia'),
+(11282, 2, 1111.05, -2537.9, 59.2532, 'Melia'),
+(11282, 3, 1100.43, -2547.73, 59.2532, 'Melia'),
+(11282, 4, 1109.6, -2558.2, 59.2532, 'Melia'),
+(11282, 5, 1113.59, -2555.59, 59.2532, 'Melia'),
+(11282, 6, 1113.59, -2555.59, 59.2532, 'Melia'),
+(11283, 1, 1120.72, -2548.21, 59.2532, 'Sammy'),
+(11283, 2, 1110.95, -2538.51, 59.2532, 'Sammy'),
+(11283, 3, 1100.73, -2547.23, 59.2532, 'Sammy'),
+(11283, 4, 1109.56, -2557.59, 59.2532, 'Sammy'),
+(11283, 5, 1111.49, -2556.4, 59.2532, 'Sammy'),
+(11283, 6, 1111.49, -2556.4, 59.2532, 'Sammy');
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_08.sql b/data/sql/updates/db_world/2017_08_19_08.sql
new file mode 100644
index 0000000000..bd5c05c96e
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_08.sql
@@ -0,0 +1,30 @@
+-- DB update 2017_08_19_07 -> 2017_08_19_08
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_07';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_07 2017_08_19_08 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493343523138941000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493343523138941000');
+-- replace "Mac" with actual player name ($N) in the reward text
+UPDATE `quest_template`
+SET `OfferRewardText`= "Great Spirit Totem! This is dire news indeed. I must begin to plan for whatever may come.$b$b$N, as promised, here is your reward for your brave service.$b$b"
+WHERE `ID`= 5064;
+--
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_09.sql b/data/sql/updates/db_world/2017_08_19_09.sql
new file mode 100644
index 0000000000..2650ba0ff5
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_09.sql
@@ -0,0 +1,26 @@
+-- DB update 2017_08_19_08 -> 2017_08_19_09
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_08';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_08 2017_08_19_09 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493344470069156600'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493344470069156600');
+UPDATE `spell_dbc` SET `RangeIndex`=4 WHERE `Id`=61698;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_10.sql b/data/sql/updates/db_world/2017_08_19_10.sql
new file mode 100644
index 0000000000..918ed81123
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_10.sql
@@ -0,0 +1,26 @@
+-- DB update 2017_08_19_09 -> 2017_08_19_10
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_09';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_09 2017_08_19_10 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493344929793898700'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493344929793898700');
+UPDATE `creature_template` SET `faction` = 1873 WHERE `entry` = 16927;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_11.sql b/data/sql/updates/db_world/2017_08_19_11.sql
new file mode 100644
index 0000000000..a2488b627c
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_11.sql
@@ -0,0 +1,69 @@
+-- DB update 2017_08_19_10 -> 2017_08_19_11
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_10';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_10 2017_08_19_11 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493346808800720600'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493346808800720600');
+-- Quest 27418, Challenge Overlord Mok'Morokk
+
+SET @OMM := 4500; -- Overlord Mok'Morokk
+
+UPDATE `quest_template_addon` SET `SpecialFlags`=2 WHERE `ID`=1173;
+
+DELETE FROM `creature_text` WHERE `entry`= @OMM;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(@OMM, 0,0,'Puny $r wanna fight Overlord Mok''Morokk? Me beat you! Me boss here!',12,0,100,0,0,0,1515,0,'Overlord Mok''Morokk - on Quest Accept'),
+(@OMM, 1,0,'Me scared! Me run now!', 14,0,100,0,0,0,1523,0,'Overlord Mok''Morokk - on Health 0%-25%');
+
+DELETE FROM `waypoints` WHERE `entry` = @OMM;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(@OMM, 1, -3138.49, -2864.64, 34.76, 'Overlord Mok''Morokk'),
+(@OMM, 2, -3128.08, -2847.37, 34.72, 'Overlord Mok''Morokk'),
+(@OMM, 3, -3108.94, -2839.60, 34.28, 'Overlord Mok''Morokk');
+
+UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = '' WHERE `entry` = @OMM;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@OMM, @OMM*100, @OMM*100+1);
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@OMM, 0, 0,0, 0,0,100,0, 1000,3000,7000,10000, 11, 6749, 2, 0,0,0,0, 2, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - In Combat Update - cast ''Wide Swipe'''),
+(@OMM, 0, 1,2, 19,0,100,1, 1173, 0, 0, 0, 64, 1, 0, 0,0,0,0, 16, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Quest Accept - Store players (No repeat)'),
+(@OMM, 0, 2,0, 61,0,100,0, 0, 0, 0, 0, 80, @OMM*100, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Quest Accept - Run Actionlist 450000'),
+(@OMM*100, 9, 0,0, 0,0,100,0, 3000,3000, 0, 0, 1, 0, 0, 0,0,0,0, 12, 1,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Say text 0'),
+(@OMM*100, 9, 1,0, 0,0,100,0, 0, 0, 0, 0, 2, 16, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Set faction (Monster)'),
+(@OMM*100, 9, 2,0, 0,0,100,0, 0, 0, 0, 0, 83, 2, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Remove npcflag Quest Giver'),
+(@OMM*100, 9, 3,0, 0,0,100,0, 0, 0, 0, 0, 19, 768, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Remove Unit Flags immune to NPC & immune to PC'),
+(@OMM*100, 9, 4,0, 0,0,100,0, 0, 0, 0, 0, 49, 0, 0, 0,0,0,0, 12, 1,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Attack stored player'),
+(@OMM, 0, 3,0, 2,0,100,1, 0, 25, 0, 0, 80,@OMM*100+1, 2, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Health 0%-25% - Run Actionlist 450001 (No repeat)'),
+(@OMM, 0, 4,0, 0,0,100,1, 0, 0, 0, 0, 42, 0, 1, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - In Combat - Set invincibility hp level (No repeat)'),
+(@OMM*100+1,9, 0,0, 0,0,100,0, 0, 0, 0, 0, 18, 768, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Set Unit Flags immune to NPC & immune to PC'),
+(@OMM*100+1,9, 1,0, 0,0,100,0, 0, 0, 0, 0, 28, 0, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Remove all auras'),
+(@OMM*100+1,9, 2,0, 0,0,100,0, 0, 0, 0, 0, 2, 29, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Set faction (Orgrimmar)'),
+(@OMM*100+1,9, 3,0, 0,0,100,0, 0, 0, 0, 0, 24, 0, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Evade'),
+(@OMM*100+1,9, 4,0, 0,0,100,0, 0, 0, 0, 0, 15, 1173, 0, 0,0,0,0, 12, 1,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Credit Quest ''Challenge Overlord Mok''Morokk'''),
+(@OMM*100+1,9, 5,0, 0,0,100,0, 500, 500, 0, 0, 1, 1, 0, 0,0,0,0, 12, 1,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Say text 1'),
+(@OMM*100+1,9, 6,0, 0,0,100,0, 0, 0, 0, 0, 53, 1,@OMM, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - Actionlist - Start Waypoint'),
+(@OMM, 0, 5,0, 58,0,100,0, 0,@OMM, 0, 0, 41, 0, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on WP End - Despawn'),
+(@OMM, 0, 6,7, 25,0,100,0, 0, 0, 0, 0, 18, 768, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Reset - Set Unit Flags immune to NPC & immune to PC'),
+(@OMM, 0, 7,8, 61,0,100,0, 0, 0, 0, 0, 82, 2, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Reset - Remove all auras'),
+(@OMM, 0, 8,0, 61,0,100,0, 0, 0, 0, 0, 2, 29, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Reset - Set faction (Orgrimmar)'),
+(@OMM, 0, 9,0, 11,0,100,0, 0, 0, 0, 0, 42, 1, 0, 0,0,0,0, 1, 0,0,0,0,0,0,0,'Overlord Mok''Morokk - on Spawn - Set Invincibility at 1 HP');
+--
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_12.sql b/data/sql/updates/db_world/2017_08_19_12.sql
new file mode 100644
index 0000000000..0ae38e1d48
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_12.sql
@@ -0,0 +1,31 @@
+-- DB update 2017_08_19_11 -> 2017_08_19_12
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_11';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_11 2017_08_19_12 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493347575872142000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493347575872142000');
+-- Verifonix <The Surveyor>
+UPDATE `creature_template` SET `faction`=47 WHERE `entry`=14492;
+
+DELETE FROM `creature_onkill_reputation` WHERE `creature_id`=14492;
+INSERT INTO `creature_onkill_reputation` (`creature_id`,`RewOnKillRepFaction1`,`RewOnKillRepFaction2`,`MaxStanding1`,`IsTeamAward1`,`RewOnKillRepValue1`,`MaxStanding2`,`IsTeamAward2`,`RewOnKillRepValue2`,`TeamDependent`) VALUES
+(14492, 21, 0, 5, 0, 5, 0, 0, 0, 0);
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_13.sql b/data/sql/updates/db_world/2017_08_19_13.sql
new file mode 100644
index 0000000000..ce8e5b1ed6
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_13.sql
@@ -0,0 +1,48 @@
+-- DB update 2017_08_19_12 -> 2017_08_19_13
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_12';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_12 2017_08_19_13 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1493349239278044600'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1493349239278044600');
+--
+DELETE FROM conditions WHERE SourceTypeOrReferenceId=13 AND SourceEntry=45872;
+INSERT INTO conditions (SourceTypeOrReferenceId, SourceGroup, SourceEntry, SourceId, ElseGroup, ConditionTypeOrReference, ConditionTarget, ConditionValue1, ConditionValue2, ConditionValue3, NegativeCondition, ErrorType, ErrorTextId, ScriptName, COMMENT) VALUES
+(13, 1, 45872, 0, 0, 31, 0, 3, 23837, 0, 0, 0, 0, '', 'Defibrillate');
+
+SET @ENTRY := 25678;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Doctor Razorgin - On Aggro - Say Line 0 (random)'),
+(@ENTRY,0,1,2,1,0,100,0,3000,3000,30000,30000,11,45872,0,0,0,0,0,1,0,0,0,0,0,0,0,'Doctor Razorgin - OOC - Cast Defibrillate'),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Doctor Razorgin - Ooc - Say Line 1 (random)');
+
+DELETE FROM `creature_text` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES
+(@ENTRY,0,0,'Ah, good... more parts!',14,0,100,0,0,0,'Part of the Doctor Razorgin on aggro lines',24872),
+(@ENTRY,0,1,'Fresh meat!',14,0,100,0,0,0,'Part of the Doctor Razorgin on aggro lines',24871),
+(@ENTRY,0,2,'The doctor is in!',14,0,100,0,0,0,'Part of the Doctor Razorgin on aggro lines',24870),
+(@ENTRY,0,3,'I recommened evisceration!',14,0,100,0,0,0,'Part of the Doctor Razorgin on aggro lines',24873),
+(@ENTRY,1,0,'Clear!',14,0,100,0,0,0,'Part of the Doctor Razorgin ooc lines',24867),
+(@ENTRY,1,1,'It''s no good... you need more work first.',14,0,100,0,0,0,'Part of the Doctor Razorgin ooc lines',24869),
+(@ENTRY,1,2,'Live, damn you!',14,0,100,0,0,0,'Part of the Doctor Razorgin ooc lines',24868);
+
+UPDATE `creature` SET `position_x`=4402.431152, `position_y`=4554.557129, `position_z`=88.743332, `orientation`=0.395920, `MovementType`=0, `spawndist`=0 WHERE `id`=@ENTRY;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_14.sql b/data/sql/updates/db_world/2017_08_19_14.sql
new file mode 100644
index 0000000000..a2042bb155
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_14.sql
@@ -0,0 +1,49 @@
+-- DB update 2017_08_19_13 -> 2017_08_19_14
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_13';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_13 2017_08_19_14 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1494230753178074480'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1494230753178074480');
+
+-- The boar hunter requires 12 kills, not 8
+UPDATE `quest_template` SET `RequiredNpcOrGoCount1` = 12 where `ID` = 183;
+
+-- Quest Westbrook Garrison Needs Help! has The Jasperlode Mine as prequest
+UPDATE `quest_template_addon` SET `PrevQuestID` = 76 WHERE `ID` = 239;
+
+-- The Everstill Bridge has The Lost Tools as prequest
+UPDATE `quest_template_addon` SET `PrevQuestID` = 125 WHERE `ID` = 89;
+
+-- Kurzen's Mystery follows Bad Medicine, not Colonel Kurzen
+UPDATE `quest_template_addon` SET `PrevQuestId` = 204 WHERE `ID` = 207;
+
+-- Spirits of the Stonemaul Hold follows The Essence of Enmity
+UPDATE `quest_template_addon` SET `PrevQuestId` = 11161 WHERE `ID` = 11159;
+
+-- Bungle in the jungle follows March of the Silithid (alliance: 4493, horde:4494), which follow Rise of the Silithid (alliance: 162, horde: 32)
+UPDATE `quest_template_addon` SET `PrevQuestID` = 162, `NextQuestID` = 4496, `ExclusiveGroup` = 4493 WHERE `ID` = 4493;
+UPDATE `quest_template_addon` SET `PrevQuestID` = 32, `NextQuestID` = 4496, `ExclusiveGroup` = 4493 WHERE `ID` = 4494;
+
+-- Salve via hunting first time quest for alliance was not rewarding money or xp
+UPDATE `quest_template` SET RewardXPDifficulty = 4, RewardBonusMoney = 3600 WHERE ID = 4103;
+-- Salve via hunting repeatable quest for horde WAS!
+UPDATE `quest_template` SET RewardXPDifficulty = 0, RewardBonusMoney = 0 WHERE ID = 5887;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_15.sql b/data/sql/updates/db_world/2017_08_19_15.sql
new file mode 100644
index 0000000000..7f933125e5
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_15.sql
@@ -0,0 +1,173 @@
+-- DB update 2017_08_19_14 -> 2017_08_19_15
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_14';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_14 2017_08_19_15 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1495464409315344160'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1495464409315344160');
+
+-- The Troll Cave requires 14 kills, not 10.
+UPDATE `quest_template` SET `RequiredNpcOrGoCount1` = 14 where `ID` = 182;
+
+-- Make The Grizzled Den more tolerable.
+DELETE FROM `creature` WHERE `guid` IN (3137,3255,3261,3262,3548,3551,3554,3558,3583,3239,3243,3246,3257,3258,3552,3565,3566,3567,3570,3573,3574,3578);
+
+-- The Perfect Stout does not require Rejold's New Brew, it's the otherway around.
+UPDATE `quest_template_addon` SET `NextQuestID` = 0, `PrevQuestID` = 315 WHERE `ID` = 415;
+
+-- All Tunnel Rats should be able to drop ears, not just 1 out of 6 types.
+DELETE FROM `creature_loot_template` WHERE `entry` in (1172,1174,1175,1176,1177) and `item` = 3110;
+INSERT INTO `creature_loot_template` VALUES
+(1172, 3110,-38,1,0,1,1),
+(1174, 3110,-80,1,0,1,1),
+(1175, 3110,-80,1,0,1,1),
+(1176, 3110,-38,1,0,1,1),
+(1177, 3110,-80,1,0,1,1);
+
+-- Red Silk Bandanas needs The Defias Brotherhood (6), not Red Leather Bandanas.
+UPDATE `quest_template_addon` SET `PrevQuestID` = 155 WHERE `ID` = 214;
+
+-- Letter to Stormpike follows Encrypted Letter
+UPDATE `quest_template_addon` SET `PrevQuestID` = 511 WHERE `ID` = 514;
+
+-- Kurzen Jungle Fighter also drops Jungle Remedy
+DELETE FROM `creature_loot_template` WHERE `entry` = 937 AND `item` = 2633;
+INSERT INTO `creature_loot_template` VALUES (937,2633,-33,1,0,1,1);
+
+-- Inspecting the ruins requires either They Call Him Smilling Jim or James Hyal
+UPDATE `quest_template_addon` SET `NextQuestID` = 11123 WHERE `ID` = 1282;
+UPDATE `quest_template_addon` SET `NextQuestID` = 11123 WHERE `ID` = 1302;
+UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE `ID` = 11123;
+
+-- Raising the drop rate on Forked Mudrock Tongues
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = -40 WHERE `entry` = 4397 AND `item` = 5883;
+
+-- Trouble in Winterspring! is a breadcrumb quest, not prequest.
+UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE `ID` = 5082;
+
+-- Raising the drop rate of Thick Yeti Fur
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = -71 WHERE `entry` = 7457 AND `item` = 12366;
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = -41 WHERE `entry` = 7458 AND `item` = 12366;
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = -43 WHERE `entry` = 7459 AND `item` = 12366;
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = -45 WHERE `entry` = 7460 AND `item` = 12366;
+
+-- Flesh Eating Worm adjustment
+UPDATE `creature_template` SET `mindmg` = 16, `maxdmg` = 25, `scale`=0.4 WHERE `entry` = 2462;
+
+-- Rotting Worm adjustment
+UPDATE `creature_template` SET `mindmg` = 41, `maxdmg` = 66, `scale`=0.4 WHERE `entry` = 10925;
+
+-- Fool's stout follows Report Back to Fizzlebub
+UPDATE `quest_template_addon` SET `PrevQuestID` = 1122 WHERE `ID` = 1127;
+
+-- Fixing Half-Buried Bottle loot table, it's not a raptor.
+DELETE FROM `gameobject_loot_template` WHERE `entry` = 2032;
+INSERT INTO `gameobject_loot_template` VALUES
+(2032,1477,2.5,1,0,1,1),
+(2032,1711,4.2,1,0,1,1),
+(2032,2289,2.7,1,0,1,1),
+(2032,2290,4.4,1,0,1,1),
+(2032,3608,0.02,1,0,1,1),
+(2032,4098,25,1,1,1,1),
+(2032,4100,25,1,1,1,1),
+(2032,4101,25,1,1,1,1),
+(2032,4102,25,1,1,1,1),
+(2032,4298,0.02,1,0,1,1),
+(2032,4299,0.02,1,0,1,1),
+(2032,4350,0.02,1,0,1,1),
+(2032,4351,0.02,1,0,1,1),
+(2032,4352,0.02,1,0,1,1),
+(2032,4412,0.02,1,0,1,1),
+(2032,4414,0.02,1,0,1,1),
+(2032,4416,0.02,1,0,1,1),
+(2032,4417,0.02,1,0,1,1),
+(2032,5543,0.02,1,0,1,1),
+(2032,5774,0.02,1,0,1,1),
+(2032,6045,0.02,1,0,1,1),
+(2032,6454,0.02,1,0,1,1),
+(2032,7085,0.02,1,0,1,1),
+(2032,7090,0.02,1,0,1,1),
+(2032,7360,0.02,1,0,1,1),
+(2032,7363,0.02,1,0,1,1),
+(2032,7364,0.02,1,0,1,1),
+(2032,7449,0.02,1,0,1,1),
+(2032,7450,0.02,1,0,1,1),
+(2032,7975,0.1,1,0,1,1),
+(2032,7992,0.0508056,1,0,1,1),
+(2032,8029,0.0508056,1,0,1,1),
+(2032,8385,0.0508056,1,0,1,1),
+(2032,8386,0.0580636,1,0,1,1),
+(2032,8387,0.0725795,1,0,1,1),
+(2032,9293,0.0435477,1,0,1,1),
+(2032,10300,0.1,1,0,1,1),
+(2032,10301,0.1,1,0,1,1),
+(2032,10302,0.0653215,1,0,1,1),
+(2032,10312,0.0290318,1,0,1,1),
+(2032,10424,0.02,1,0,1,1),
+(2032,10601,0.02,1,0,1,1),
+(2032,10603,0.0362897,1,0,1,1),
+(2032,10604,0.0653215,1,0,1,1),
+(2032,10606,0.1,1,0,1,1),
+(2032,11098,0.02,1,0,1,1),
+(2032,11164,0.02,1,0,1,1),
+(2032,11165,0.02,1,0,1,1),
+(2032,11167,0.02,1,0,1,1),
+(2032,11202,0.0290318,1,0,1,1),
+(2032,11204,0.1,1,0,1,1);
+
+-- Atal'ai Artifacts (and 1 mithril deposit) are underground
+UPDATE `gameobject` SET `position_z`=-15.29 WHERE `guid`=30371;
+UPDATE `gameobject` SET `position_z`= 14.5 WHERE `guid`=30374;
+UPDATE `gameobject` SET `position_z`= 31.63 WHERE `guid`=30380;
+UPDATE `gameobject` SET `position_z`=-16.75 WHERE `guid`=30381;
+UPDATE `gameobject` SET `position_z`= 19.57 WHERE `guid`=30383;
+UPDATE `gameobject` SET `position_z`= 10.58 WHERE `guid`=30541;
+UPDATE `gameobject` SET `position_z`=-19 WHERE `guid`=30542;
+UPDATE `gameobject` SET `position_z`=-16.9 WHERE `guid`=30543;
+UPDATE `gameobject` SET `position_z`= 20.2 WHERE `guid`=30546;
+UPDATE `gameobject` SET `position_z`=-2.2 WHERE `guid`=30547;
+UPDATE `gameobject` SET `position_z`= 10.5 WHERE `guid`=30550;
+UPDATE `gameobject` SET `position_z`=-11.9 WHERE `guid`=30551;
+UPDATE `gameobject` SET `position_z`= 10.91 WHERE `guid`=30554;
+UPDATE `gameobject` SET `position_z`=-3.56 WHERE `guid`=30556;
+UPDATE `gameobject` SET `position_z`= 18.70 WHERE `guid`=30558;
+UPDATE `gameobject` SET `position_z`= 19.1 WHERE `guid`=30559;
+UPDATE `gameobject` SET `position_z`= 18.66 WHERE `guid`=30561;
+UPDATE `gameobject` SET `position_z`=-19 WHERE `guid`=30643;
+UPDATE `gameobject` SET `position_z`=-6 WHERE `guid`=30646;
+UPDATE `gameobject` SET `position_z`=-10.4 WHERE `guid`=30375;
+UPDATE `gameobject` SET `position_z`=-8.5 WHERE `guid`=30378;
+UPDATE `gameobject` SET `position_z`= 19 WHERE `guid`=31029;
+
+-- Atal'ai Artifact twin spawn
+DELETE FROM `gameobject` WHERE `guid`=30593;
+DELETE FROM `gameobject` WHERE `guid`=30594;
+DELETE FROM `gameobject` WHERE `guid`=30587;
+
+-- Blue Pearls do not drop from giant clams outside of the Vile Reef in STV.
+DELETE FROM `gameobject_loot_template` WHERE `entry` IN ( 2954, 2959) and `item` = 4611;
+-- Blue Pearls do not drop from Small Barnacle Clam or Thick Shell Clam items.
+DELETE FROM `spell_loot_template` WHERE `entry` IN (58168,58172) and `item` = 4611;
+
+-- Black Dragonflight Molt is a guaranteed drop from Hoard of the Black Dragonflight
+UPDATE `item_loot_template` SET `ChanceOrQuestChance` = 100 WHERE `entry` = 10569 AND `item` = 10575;
+
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_16.sql b/data/sql/updates/db_world/2017_08_19_16.sql
new file mode 100644
index 0000000000..73d1ba7d90
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_16.sql
@@ -0,0 +1,104 @@
+-- DB update 2017_08_19_15 -> 2017_08_19_16
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_15';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_15 2017_08_19_16 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1495729610203623150'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1495729610203623150');
+
+-- Bael'Gar's Fiery Essence requires Bael'Gar's Corpse, borrowed from TrinityCore/sql/old/3.3.5a/world/61_2016_10_17/2016_08_23_00_world.sql
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN(17) AND `SourceEntry`=13982;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17,0,13982,0,0,29,0,9016,10,1,0,0,0,'',"Spell 'Bael'Gar's Fiery Essence' requires Bael'Gar's corpse");
+
+-- Crimson Crysal Shard is a guaranteed drop
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = 100 WHERE `entry` = 19188 AND `item` = 29476;
+
+-- Kurenai
+UPDATE `quest_template` SET `RewardFactionValue1` = 7 WHERE `ID` IN (9924,9954, 9917, 10476, 9923, 11502, 10477, 9871, 9873, 9878, 9874, 9921, 9936, 9940, 10116, 10115, 9835, 9833, 9905, 9834,9839,9830, 9902);
+UPDATE `quest_template` SET `RewardFactionOverride1` = 70000 WHERE `ID` IN (9955,9933,9956,9879,9922,9938);
+UPDATE `quest_template` SET `RewardFactionValue1` = 8 WHERE `ID` IN (9918);
+
+-- Mag'har
+UPDATE `quest_template` SET `RewardFactionValue1` = 7 WHERE `ID` IN (9867, 9442,10102,10085, 9447, 9891, 9916, 11503, 9441, 9906, 10478, 9872, 9865, 10479, 9910, 10082, 9888, 10175, 9863, 9935, 9939, 9945, 10101);
+UPDATE `quest_template` SET `RewardFactionOverride1` = 70000 WHERE `ID` IN (9410, 9907, 10167, 9946, 9948, 10045, 9934, 9868, 9937, 10168);
+UPDATE `quest_template` SET `RewardFactionValue1` = 8 WHERE `ID` IN (9889);
+UPDATE `quest_template` SET `RewardFactionOverride1` = 200000 WHERE `ID` IN (10212);
+
+-- Sporeggar
+UPDATE `quest_template` SET `RewardFactionOverride1` = 75000 WHERE `ID` in (9739, 9743, 9742, 9744, 9919, 9806, 9808, 9807, 9809,9726, 9727, 9714, 9715);
+UPDATE `quest_template` SET `RewardFactionOverride1` = 105000 WHERE `ID` in (9719, 9717, 9729);
+
+-- Diaphanous wing droprate
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = -40 WHERE `item` = 24372 AND `entry` IN (18132, 18133, 20197, 20198, 18283);
+
+-- Greater and Young Sporebat also drop eyes.
+DELETE FROM `creature_loot_template` WHERE `entry` IN (20387, 18129) AND `item` = 24426;
+INSERT INTO `creature_loot_template` VALUES
+(18129, 24426,-20,1,0,1,1),
+(20387, 24426,-20,1,0,1,1);
+
+
+-- Added vengeful draenei, from Trinity
+DELETE FROM `creature` WHERE `id` = 21636;
+INSERT INTO `creature` (`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES
+(21636,530,1,1,0,0,-2981.75,4378.62,-49.227, 6.20934,600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,0,-2962.8, 4378.18,-49.227, 3.08974,600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,0,-2961.98,4363.85,-49.227, 1.88651,600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,0,-2980.05,4363.27,-49.227, 1.61633,600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,0,-3049.06,4495.87,-42.944, 6.09074,600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,1,-2974.29,4441.98,-47.2117,1.43117,600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,1,-3013.52,4510.81,-42.8637,5.0091, 600,0,0,5914,0,0,0,0,0),
+(21636,530,1,1,0,1,-2898.17,4497.22,-42.8615,2.9147, 600,0,0,5914,0,0,0,0,0);
+
+
+-- Escaping the Tomb was missing it's goal
+UPDATE `quest_template` SET `AreaDescription` = 'Escort Akuno' WHERE `ID` = 10887;
+
+
+-- Redone Slain Sha'tar Vindicator
+DELETE FROM `creature` WHERE id = 21859;
+INSERT INTO `creature` (`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES
+(21859,530,1,1,0,1,-3736, 5333.73,-12.50,2.1171,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3750.4, 5301.33,-17.10,3.6650,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3649.6, 5322.93,-18.15,5.3430,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3779.2, 5225.73,-22.75,2.7725,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3714.4, 5214.93,-21.00,4.2144,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3750.4, 5171.73,-22.15,2.0036,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3764.8, 5128.53,-22.30,3.0938,150,0,0,6986,0,0,0,0,0),
+(21859,530,1,1,0,1,-3750.4, 5085.33,-18.40,0.6098,150,0,0,6986,0,0,0,0,0);
+
+-- Redone Slain Auchenai Warrior
+DELETE FROM `creature` WHERE `id` = 21846;
+INSERT INTO `creature` (`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES
+(21846,530,1,1,0,1,-3714.4, 5290.53,-18.75,3.3858,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3714.4, 5225.73,-22.60,4.8247,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3692.8, 5344.53,-13.85,4.8579,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3642.4, 5290.53,-21.35,1.1159,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3750.4, 5268.93,-15.30,0.4874,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3772, 5214.93,-22.70,2.7571,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3736, 5160.93,-22.25,2.7343,150,0,0,6986,0,0,0,0,0),
+(21846,530,1,1,0,1,-3764.8, 5106.93,-19.80,0.6078,150,0,0,6986,0,0,0,0,0);
+
+-- Drop chance howling wind
+UPDATE `creature_loot_template` SET `ChanceOrQuestChance` = 15 WHERE `item` = 24504 AND `entry` IN (17158,17159,17160);
+
+
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_17.sql b/data/sql/updates/db_world/2017_08_19_17.sql
new file mode 100644
index 0000000000..75e791cb54
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_17.sql
@@ -0,0 +1,305 @@
+-- DB update 2017_08_19_16 -> 2017_08_19_17
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_16';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_16 2017_08_19_17 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1503138647187080900'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1503138647187080900');
+
+-- Instructor Razuvious - Event with Acherus Necromancer and Death Knight Initiate -- http://wow.gamepedia.com/Death_Knight_Initiate
+-- Instructor Razuvious
+SET @NPC := 129307;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`, `orientation`, `delay`) VALUES
+(@PATH, 1, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 2, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 3, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 4, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 5, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 6, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 7, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 8, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 9, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 10, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 11, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 12, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 13, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 14, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 15, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 16, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 17, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 18, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 19, 2481.1, -5560.54, 420.493, 5.58, 0),
+(@PATH, 20, 2482.32, -5552.39, 420.641, 1.51, 70000),
+(@PATH, 21, 2491.86, -5571.77, 420.459, 5.351, 0),
+(@PATH, 22, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 23, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 24, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 25, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 26, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 27, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 28, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 29, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 30, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 31, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 32, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 33, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 34, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 35, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 36, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 37, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 38, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 39, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 40, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 41, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 42, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 43, 2510.38, -5592.75, 420.643, 6.19, 75000),
+(@PATH, 44, 2492.94, -5573.05, 420.475, 2.147, 0),
+(@PATH, 45, 2475.93, -5558.57, 420.485, 2.79, 0),
+(@PATH, 46, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 47, 2472.56, -5558.04, 420.453, 6.06788, 0);
+
+-- Instructor Razuvious SAI
+SET @ENTRY := 28357;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,34,0,100,0,2,19,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Instructor Razuvious - On Reached Point 19 - Run Script"),
+(@ENTRY,0,1,0,34,0,100,0,2,42,0,0,80,@ENTRY*100+01,0,0,0,0,0,1,0,0,0,0,0,0,0,"Instructor Razuvious - On Reached Point 42 - Run Script"),
+(@ENTRY,0,2,0,38,0,100,0,1,1,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,2.78367,"Instructor Razuvious - On Data Set 1 1 - Set Orientation 2.78367"),
+(@ENTRY,0,3,0,38,0,100,0,2,2,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.50472,"Instructor Razuvious - On Data Set 2 2 - Set Orientation 1.50472"),
+(@ENTRY,0,4,0,38,0,100,0,3,3,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.26755,"Instructor Razuvious - On Data Set 3 3 - Set Orientation 1.26755"),
+(@ENTRY,0,5,0,38,0,100,0,4,4,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,6.19669,"Instructor Razuvious - On Data Set 4 4 - Set Orientation 6,19669");
+
+-- Actionlist SAI
+SET @ENTRY := 2835700;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Active On"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,129391,28383,0,0,0,0,0,"On Script - Set Data 1 1");
+
+-- Actionlist SAI
+SET @ENTRY := 2835701;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Active On"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,129390,28383,0,0,0,0,0,"On Script - Set Data 1 1");
+
+-- Acherus Necromancer SAI
+SET @GUID := -129391;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=28383;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@GUID,0,0,1,38,0,100,0,1,1,0,0,80,12939100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Run Script"),
+(@GUID,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Set Active On");
+
+UPDATE `creature` SET `id`=28391, `spawntimesecs`=1, `modelid`=25361 WHERE `guid` IN (130292);
+UPDATE `creature` SET `position_x`=2477.361328, `position_y`=-5538.785156, `position_z`=420.645264, `orientation`=4.889500 WHERE `guid`=129458;
+DELETE FROM `creature` WHERE `guid`=129452;
+UPDATE `creature` SET `spawntimesecs`=1 WHERE `guid`=129459;
+
+-- Actionlist SAI
+SET @ENTRY := 12939100;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,3000,3000,0,0,11,51516,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cast 'Raise Dead'"),
+(@ENTRY,9,1,0,0,0,100,0,4000,4000,0,0,86,51517,0,10,130292,28391,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Raise Dead'"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,28,29266,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Aura 'Permanent Feign Death'"),
+(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,96,32,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Dynamic Flag Dead"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,19,537165824,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Stunned"),
+(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,19,1,1,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Server Controlled"),
+(@ENTRY,9,6,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Standstate Dead"),
+(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,91,257,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag <Unknown bytes1 (UnitStandStateType)>"),
+(@ENTRY,9,8,0,0,0,100,0,2000,2000,0,0,2,1770,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Faction 1770"),
+(@ENTRY,9,9,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 1 1"),
+(@ENTRY,9,10,0,0,0,100,0,0,0,0,0,90,8,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Flag Standstate Kneel"),
+(@ENTRY,9,11,0,0,0,100,0,4000,4000,0,0,1,0,5000,0,0,0,0,26,28391,50,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,12,0,0,0,100,0,5000,5000,0,0,1,1,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 1"),
+(@ENTRY,9,13,0,0,0,100,0,5000,5000,0,0,45,1,1,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 1 1"),
+(@ENTRY,9,14,0,0,0,100,0,3000,3000,0,0,1,2,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 2"),
+(@ENTRY,9,15,0,0,0,100,0,3000,3000,0,0,45,2,2,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 2 2"),
+(@ENTRY,9,16,0,0,0,100,0,0,0,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,17,0,0,0,100,0,4000,4000,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Run Off"),
+(@ENTRY,9,18,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,2482.23,-5546.44,420.644,0.761266,"Acherus Necromancer - On Script - Move To Position"),
+(@ENTRY,9,19,0,0,0,100,0,4000,4000,0,0,17,133,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Emote State 133"),
+(@ENTRY,9,20,0,0,0,100,0,5000,5000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Emote State 0"),
+(@ENTRY,9,21,0,0,0,100,0,0,0,0,0,86,51537,0,10,130292,28391,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Death Knight Initiate (Female, Dwarf)'"),
+(@ENTRY,9,22,0,0,0,100,0,0,0,0,0,3,0,25406,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Morph To Model 25406"),
+(@ENTRY,9,23,0,0,0,100,0,2000,2000,0,0,86,51519,0,10,130292,28391,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Death Knight Initiate Visual'"),
+(@ENTRY,9,24,0,0,0,100,0,2000,2000,0,0,91,8,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Standstate Kneel"),
+(@ENTRY,9,25,0,0,0,100,0,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,2477.37,-5551,420.647,0.77,"Acherus Necromancer - On Script - Move To Position"),
+(@ENTRY,9,26,0,0,0,100,0,4000,4000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0.746414,"Acherus Necromancer - On Script - Set Orientation 0.746414"),
+(@ENTRY,9,27,0,0,0,100,0,1000,1000,0,0,1,3,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 3"),
+(@ENTRY,9,28,0,0,0,100,0,5000,5000,0,0,1,1,5000,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 1"),
+(@ENTRY,9,29,0,0,0,100,0,1000,1000,0,0,48,1,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Active On"),
+(@ENTRY,9,30,0,0,0,100,0,0,0,0,0,45,2,2,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 2 2"),
+(@ENTRY,9,31,0,0,0,100,0,1000,1000,0,0,48,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Active Off");
+
+-- Acherus Necromancer SAI
+SET @GUID := -129390;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=28383;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@GUID,0,0,1,38,0,100,0,1,1,0,0,80,12939000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Run Script"),
+(@GUID,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Set Active On");
+
+-- Actionlist SAI
+SET @ENTRY := 12939000;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,3000,3000,0,0,11,51516,0,1,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Raise Dead'"),
+(@ENTRY,9,1,0,0,0,100,0,4000,4000,0,0,86,51517,0,10,129459,28394,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Raise Dead'"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,28,29266,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Aura 'Permanent Feign Death'"),
+(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,96,32,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Dynamic Flag Dead"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,19,537165824,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Stunned"),
+(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,19,1,1,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Server Controlled"),
+(@ENTRY,9,6,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Standstate Dead"),
+(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,91,257,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Dead"),
+(@ENTRY,9,8,0,0,0,100,0,2000,2000,0,0,2,1770,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Set Faction 1770"),
+(@ENTRY,9,9,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 1 1"),
+(@ENTRY,9,10,0,0,0,100,0,0,0,0,0,90,8,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Set Flag Standstate Kneel"),
+(@ENTRY,9,11,0,0,0,100,0,4000,4000,0,0,1,0,5000,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,12,0,0,0,100,0,5000,5000,0,0,1,4,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 4"),
+(@ENTRY,9,13,0,0,0,100,0,6000,6000,0,0,1,5,6000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 5"),
+(@ENTRY,9,14,0,0,0,100,0,5000,5000,0,0,45,3,3,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 3 3"),
+(@ENTRY,9,15,0,0,0,100,0,4000,4000,0,0,1,6,6000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 6"),
+(@ENTRY,9,16,0,0,0,100,0,6000,6000,0,0,45,4,4,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 4 4"),
+(@ENTRY,9,17,0,0,0,100,0,0,0,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,18,0,0,0,100,0,5000,5000,0,0,1,1,5000,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 1"),
+(@ENTRY,9,19,0,0,0,100,0,4000,4000,0,0,12,28405,3,19000,0,0,0,8,0,0,0,2520.44,-5593.01,420.727,3.4383,"Acherus Necromancer - On Script - Summon Creature 'Acherus Ghoul'"),
+(@ENTRY,9,20,0,0,0,100,0,0,0,0,0,12,28405,3,19000,0,0,0,8,0,0,0,2516.65,-5596.68,420.727,1.39626,"Acherus Necromancer - On Script - Summon Creature 'Acherus Ghoul'"),
+(@ENTRY,9,21,0,0,0,100,0,0,0,0,0,12,28405,3,19000,0,0,0,8,0,0,0,2515.93,-5589.89,420.727,4.92183,"Acherus Necromancer - On Script - Summon Creature 'Acherus Ghoul'"),
+(@ENTRY,9,22,0,0,0,100,0,20000,20000,0,0,48,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Active Off");
+
+DELETE FROM `creature_text` WHERE `entry` IN (28357, 28383, 28391, 28394);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES
+-- Instructor Razuvious
+(28357, 0, 0, 'This one...', 12, 0, 100, 25, 0, 0, 27876, 'Instructor Razuvious'),
+(28357, 1, 0, 'The Lich King will be pleased with this initiate.', 12, 0, 100, 5, 0, 0, 27869, 'Instructor Razuvious'),
+(28357, 1, 1, 'Amidst the wretch, a champion has been found.', 12, 0, 100, 5, 0, 0, 27870, 'Instructor Razuvious'),
+(28357, 1, 2, 'CHAOS! DOOM! DESTRUCTION! This one will claim them all!', 12, 0, 100, 5, 0, 0, 27871, 'Instructor Razuvious'),
+(28357, 1, 3, 'Marvel at its tenacity and vigor! A champion has been found!', 12, 0, 100, 5, 0, 0, 27868, 'Instructor Razuvious'),
+(28357, 1, 4, 'A harbinger of death is reborn...', 12, 0, 100, 5, 0, 0, 27872, 'Instructor Razuvious'),
+(28357, 2, 0, 'Place upon it the trappings befitting a herald of Arthas.', 12, 0, 100, 1, 0, 0, 27873, 'Instructor Razuvious'),
+(28357, 3, 0, 'Stand and be measured! Rise, for your master awaits your arrival. Go now!', 12, 0, 100, 5, 0, 0, 27883, 'Instructor Razuvious'),
+(28357, 3, 1, 'Listen, death knight... Listen for the voice of your master. He calls to you now.', 12, 0, 100, 5, 0, 0, 27884, 'Instructor Razuvious'),
+(28357, 4, 0, 'Pathetic...', 12, 0, 100, 1, 0, 0, 27865, 'Instructor Razuvious'),
+(28357, 4, 1, 'Useless...', 12, 0, 100, 1, 0, 0, 27862, 'Instructor Razuvious'),
+(28357, 4, 2, 'Another failure...', 12, 0, 100, 1, 0, 0, 27861, 'Instructor Razuvious'),
+(28357, 4, 3, 'This one has awoken too soon. It retains emotion and memory...', 12, 0, 100, 1, 0, 0, 27864, 'Instructor Razuvious'),
+(28357, 5, 0, 'You have been measured and found wanting...', 12, 0, 100, 25, 0, 0, 27866, 'Instructor Razuvious'),
+(28357, 6, 0, 'Dispose of it...', 12, 0, 100, 1, 0, 0, 27867, 'Instructor Razuvious'),
+-- Acherus Necromancer
+(28383, 0, 0, 'Yes, instructor.', 12, 0, 100, 1, 0, 0, 27874, 'Acherus Necromancer'),
+(28383, 0, 1, 'Right away, instructor.', 12, 0, 100, 1, 0, 0, 27881, 'Acherus Necromancer'),
+(28383, 1, 0, 'Rise, minions. Rise and feast upon the weak!', 12, 0, 100, 22, 0, 0, 27875, 'Acherus Necromancer'),
+-- Death Knight Initiate 1
+(28391, 0, 0, 'I return from the grave to do my master\'s bidding.', 12, 0, 100, 0, 0, 0, 27880, 'Death Knight Initiate'),
+(28391, 0, 1, 'The voice... such splendor... Arthas... My king....', 12, 0, 100, 0, 0, 0, 27879, 'Death Knight Initiate'),
+(28391, 0, 2, 'Reborn, I shall become an instrument of doom...', 12, 0, 100, 0, 0, 0, 27878, 'Death Knight Initiate'),
+(28391, 0, 3, 'Dark energy courses through me... Such power! I hunger for more!', 12, 0, 100, 0, 0, 0, 27877, 'Death Knight Initiate'),
+(28391, 1, 0, 'Death to all that oppose us!', 12, 0, 100, 66, 0, 0, 27888, 'Death Knight Initiate'),
+(28391, 1, 1, 'Victory to the Scourge!', 12, 0, 100, 66, 0, 0, 27887, 'Death Knight Initiate'),
+(28391, 1, 2, 'I live only to serve the Lich King!', 12, 0, 100, 66, 0, 0, 27886, 'Death Knight Initiate'),
+(28391, 1, 3, 'As you command, instructor!', 12, 0, 100, 66, 0, 0, 27885, 'Death Knight Initiate'),
+(28391, 2, 0, 'Woe unto those that dare oppose the Scourge!', 12, 0, 100, 66, 0, 0, 30176, 'Death Knight Initiate'),
+(28391, 2, 1, 'I am reborn, my king, only to serve you.', 12, 0, 100, 66, 0, 0, 30179, 'Death Knight Initiate'),
+(28391, 2, 2, 'I am an instrument of your destruction, my king! Command me!', 12, 0, 100, 66, 0, 0, 30175, 'Death Knight Initiate'),
+(28391, 2, 3, 'Our enemies will be annihilated!', 12, 0, 100, 66, 0, 0, 30177, 'Death Knight Initiate'),
+(28391, 2, 4, 'A thousand-thousand lives I will sacrifice for you, my lord.', 12, 0, 100, 66, 0, 0, 30172, 'Death Knight Initiate'),
+(28391, 2, 5, 'I am yours to command, my king!', 12, 0, 100, 66, 0, 0, 30173, 'Death Knight Initiate'),
+(28391, 2, 6, 'There will be no survivors, my lord.', 12, 0, 100, 66, 0, 0, 30180, 'Death Knight Initiate'),
+(28391, 2, 7, 'My king, the world will tremble in reverence...', 12, 0, 100, 66, 0, 0, 30174, 'Death Knight Initiate'),
+-- Death Knight Initiate 2
+(28394, 0, 0, 'Where am I? What is this place?', 12, 0, 100, 0, 0, 0, 27856, 'Death Knight Initiate'),
+(28394, 0, 1, 'Who... who are you? Who... what am I?', 12, 0, 100, 0, 0, 0, 27858, 'Death Knight Initiate'),
+(28394, 0, 2, 'I hurt... suffering unbearable... end my pain... I beg of you!', 12, 0, 100, 0, 0, 0, 27859, 'Death Knight Initiate'),
+(28394, 0, 3, 'I... I have awoken to a nightmare?', 12, 0, 100, 0, 0, 0, 27857, 'Death Knight Initiate');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry` IN (51516);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 51516, 0, 0, 31, 0, 3, 28394, 0, 0, 0, 0, '', 'Rise dead only targets Death Knight Initiate'),
+(13, 1, 51516, 0, 1, 31, 0, 3, 28391, 0, 0, 0, 0, '', 'Rise dead only targets Death Knight Initiate');
+
+-- Death Knight Initiate SAI
+SET @ENTRY := 28391;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,38,0,100,0,1,1,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.16204,"Death Knight Initiate - On Data Set 1 1 - Set Orientation 4.16204"),
+(@ENTRY,0,1,6,38,0,100,0,2,2,0,0,53,1,28391,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Data Set 2 2 - Start Waypoint"),
+(@ENTRY,0,2,3,40,0,100,0,7,28391,0,0,54,11000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Waypoint 7 Reached - Pause Waypoint"),
+(@ENTRY,0,3,0,61,0,100,0,7,28391,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Waypoint 7 Reached - Run Script"),
+(@ENTRY,0,4,0,40,0,100,0,9,28391,0,0,41,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Waypoint 9 Reached - Despawn In 2000 ms"),
+(@ENTRY,0,5,0,25,0,100,0,0,0,0,0,18,295170,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Reset - Set Flags Not Attackable & Immune To Players & Stunned"),
+(@ENTRY,0,6,0,61,0,100,0,2,2,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Data Set 2 2 - Set Active On");
+
+-- Actionlist SAI
+SET @ENTRY := 2839100;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,1000,1000,0,0,5,66,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Script - Play Emote 66"),
+(@ENTRY,9,1,0,0,0,100,0,2000,2000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Script - Say Line 2"),
+(@ENTRY,9,2,0,0,0,100,0,6000,6000,0,0,5,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Script - Play Emote 2");
+
+DELETE FROM `waypoints` WHERE `entry`=28391;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(28391,1,2453.87,-5545.37,420.643,'Death Knight Initiate'),
+(28391,2,2423.38,-5574.52,420.631,'Death Knight Initiate'),
+(28391,3,2423.38,-5610.59,420.6,'Death Knight Initiate'),
+(28391,4,2410.19,-5626.02,420.654,'Death Knight Initiate'),
+(28391,5,2381.18,-5637.17,420.858,'Death Knight Initiate'),
+(28391,6,2372.68,-5645.34,426.017,'Death Knight Initiate'),
+(28391,7,2348.248,-5666.514,426.029,'Death Knight Initiate'),
+(28391,8,2373.07,-5652.69,426.126,'Death Knight Initiate'),
+(28391,9,2382.63,-5645.56,421.512,'Death Knight Initiate');
+
+-- Death Knight Initiate SAI
+SET @ENTRY := 28394;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,38,0,100,0,1,1,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,3.07005,"Death Knight Initiate - On Data Set 1 1 - Set Orientation 3.07005"),
+(@ENTRY,0,1,0,25,0,100,0,0,0,0,0,18,295170,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Reset - Set Flags Not Attackable & Immune To Players & Stunned");
+
+-- Acherus Ghoul SAI
+SET @ENTRY := 28405;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,63,0,100,0,0,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Just Created - Run Script");
+
+-- Actionlist SAI
+SET @ENTRY := 2840500;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,17,373,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Set Emote State 373"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,11,26047,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Cast 'Birth'"),
+(@ENTRY,9,2,0,0,0,100,0,2000,2000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Set Emote State 0"),
+(@ENTRY,9,3,0,0,0,100,0,1000,1000,0,0,2,2093,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Set Faction 2093"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,19,514,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Ghoul - On Script - Remove Flags Not Attackable & Immune To NPC's"),
+(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Ghoul - On Script - Start Attacking");
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_18.sql b/data/sql/updates/db_world/2017_08_19_18.sql
new file mode 100644
index 0000000000..e17f62ffdc
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_18.sql
@@ -0,0 +1,29 @@
+-- DB update 2017_08_19_17 -> 2017_08_19_18
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_17';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_17 2017_08_19_18 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1503138789369120900'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1503138789369120900');
+
+-- Scarlet Infantryman
+UPDATE creature_equip_template SET ItemID1= 38721, ItemID2= 12932 WHERE CreatureID= 28609;
+UPDATE creature_equip_template SET ItemID1= 38723, ItemID2= 12932 WHERE CreatureID= 28896;
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/data/sql/updates/db_world/2017_08_19_19.sql b/data/sql/updates/db_world/2017_08_19_19.sql
new file mode 100644
index 0000000000..ac2056bd8f
--- /dev/null
+++ b/data/sql/updates/db_world/2017_08_19_19.sql
@@ -0,0 +1,305 @@
+-- DB update 2017_08_19_18 -> 2017_08_19_19
+DROP PROCEDURE IF EXISTS `updateDb`;
+DELIMITER //
+CREATE PROCEDURE updateDb ()
+proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';
+SELECT COUNT(*) INTO @COLEXISTS
+FROM information_schema.COLUMNS
+WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_08_19_18';
+IF @COLEXISTS = 0 THEN LEAVE proc; END IF;
+START TRANSACTION;
+ALTER TABLE version_db_world CHANGE COLUMN 2017_08_19_18 2017_08_19_19 bit;
+SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1503139021197350000'; IF OK <> 'FALSE' THEN LEAVE proc; END IF;
+--
+-- START UPDATING QUERIES
+--
+INSERT INTO version_db_world (`sql_rev`) VALUES ('1503139021197350000');
+
+-- Instructor Razuvious - Event with Acherus Necromancer and Death Knight Initiate -- http://wow.gamepedia.com/Death_Knight_Initiate
+-- Instructor Razuvious
+SET @NPC := 129307;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`, `orientation`, `delay`) VALUES
+(@PATH, 1, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 2, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 3, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 4, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 5, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 6, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 7, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 8, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 9, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 10, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 11, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 12, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 13, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 14, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 15, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 16, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 17, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 18, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 19, 2481.1, -5560.54, 420.493, 5.58, 0),
+(@PATH, 20, 2482.32, -5552.39, 420.641, 1.51, 70000),
+(@PATH, 21, 2491.86, -5571.77, 420.459, 5.351, 0),
+(@PATH, 22, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 23, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 24, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 25, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 26, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 27, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 28, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 29, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 30, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 31, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 32, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 33, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 34, 2492.94, -5573.05, 420.475, 2.14717, 0),
+(@PATH, 35, 2475.93, -5558.57, 420.485, 2.79199, 0),
+(@PATH, 36, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 37, 2472.56, -5558.04, 420.453, 6.06788, 0),
+(@PATH, 38, 2481.1, -5560.54, 420.493, 5.58015, 0),
+(@PATH, 39, 2491.86, -5571.77, 420.459, 5.3508, 0),
+(@PATH, 40, 2497.91, -5588.32, 420.462, 4.9212, 0),
+(@PATH, 41, 2494.03, -5612.09, 420.491, 1.24868, 0),
+(@PATH, 42, 2498.68, -5591.69, 420.494, 1.78118, 0),
+(@PATH, 43, 2510.38, -5592.75, 420.643, 6.19, 75000),
+(@PATH, 44, 2492.94, -5573.05, 420.475, 2.147, 0),
+(@PATH, 45, 2475.93, -5558.57, 420.485, 2.79, 0),
+(@PATH, 46, 2455.66, -5554.78, 420.508, 0.040735, 0),
+(@PATH, 47, 2472.56, -5558.04, 420.453, 6.06788, 0);
+
+-- Instructor Razuvious SAI
+SET @ENTRY := 28357;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,34,0,100,0,2,19,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Instructor Razuvious - On Reached Point 19 - Run Script"),
+(@ENTRY,0,1,0,34,0,100,0,2,42,0,0,80,@ENTRY*100+01,0,0,0,0,0,1,0,0,0,0,0,0,0,"Instructor Razuvious - On Reached Point 42 - Run Script"),
+(@ENTRY,0,2,0,38,0,100,0,1,1,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,2.78367,"Instructor Razuvious - On Data Set 1 1 - Set Orientation 2.78367"),
+(@ENTRY,0,3,0,38,0,100,0,2,2,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.50472,"Instructor Razuvious - On Data Set 2 2 - Set Orientation 1.50472"),
+(@ENTRY,0,4,0,38,0,100,0,3,3,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.26755,"Instructor Razuvious - On Data Set 3 3 - Set Orientation 1.26755"),
+(@ENTRY,0,5,0,38,0,100,0,4,4,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,6.19669,"Instructor Razuvious - On Data Set 4 4 - Set Orientation 6,19669");
+
+-- Actionlist SAI
+SET @ENTRY := 2835700;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Active On"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,129391,28383,0,0,0,0,0,"On Script - Set Data 1 1");
+
+-- Actionlist SAI
+SET @ENTRY := 2835701;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Active On"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 0"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,129390,28383,0,0,0,0,0,"On Script - Set Data 1 1");
+
+-- Acherus Necromancer SAI
+SET @GUID := -129391;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=28383;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@GUID,0,0,1,38,0,100,0,1,1,0,0,80,12939100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Run Script"),
+(@GUID,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Set Active On");
+
+UPDATE `creature` SET `id`=28391, `spawntimesecs`=1, `modelid`=25361 WHERE `guid` IN (130292);
+UPDATE `creature` SET `position_x`=2477.361328, `position_y`=-5538.785156, `position_z`=420.645264, `orientation`=4.889500 WHERE `guid`=129458;
+DELETE FROM `creature` WHERE `guid`=129452;
+UPDATE `creature` SET `spawntimesecs`=1 WHERE `guid`=129459;
+
+-- Actionlist SAI
+SET @ENTRY := 12939100;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,3000,3000,0,0,11,51516,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cast 'Raise Dead'"),
+(@ENTRY,9,1,0,0,0,100,0,4000,4000,0,0,86,51517,0,10,130292,28391,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Raise Dead'"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,28,29266,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Aura 'Permanent Feign Death'"),
+(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,96,32,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Dynamic Flag Dead"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,19,537165824,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Stunned"),
+(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,19,1,1,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Server Controlled"),
+(@ENTRY,9,6,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Standstate Dead"),
+(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,91,257,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag <Unknown bytes1 (UnitStandStateType)>"),
+(@ENTRY,9,8,0,0,0,100,0,2000,2000,0,0,2,1770,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Faction 1770"),
+(@ENTRY,9,9,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 1 1"),
+(@ENTRY,9,10,0,0,0,100,0,0,0,0,0,90,8,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Flag Standstate Kneel"),
+(@ENTRY,9,11,0,0,0,100,0,4000,4000,0,0,1,0,5000,0,0,0,0,26,28391,50,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,12,0,0,0,100,0,5000,5000,0,0,1,1,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 1"),
+(@ENTRY,9,13,0,0,0,100,0,5000,5000,0,0,45,1,1,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 1 1"),
+(@ENTRY,9,14,0,0,0,100,0,3000,3000,0,0,1,2,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 2"),
+(@ENTRY,9,15,0,0,0,100,0,3000,3000,0,0,45,2,2,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 2 2"),
+(@ENTRY,9,16,0,0,0,100,0,0,0,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,17,0,0,0,100,0,4000,4000,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Run Off"),
+(@ENTRY,9,18,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,2482.23,-5546.44,420.644,0.761266,"Acherus Necromancer - On Script - Move To Position"),
+(@ENTRY,9,19,0,0,0,100,0,4000,4000,0,0,17,133,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Emote State 133"),
+(@ENTRY,9,20,0,0,0,100,0,5000,5000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Emote State 0"),
+(@ENTRY,9,21,0,0,0,100,0,0,0,0,0,86,51537,0,10,130292,28391,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Death Knight Initiate (Female, Dwarf)'"),
+(@ENTRY,9,22,0,0,0,100,0,0,0,0,0,3,0,25406,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Morph To Model 25406"),
+(@ENTRY,9,23,0,0,0,100,0,2000,2000,0,0,86,51519,0,10,130292,28391,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Death Knight Initiate Visual'"),
+(@ENTRY,9,24,0,0,0,100,0,2000,2000,0,0,91,8,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Standstate Kneel"),
+(@ENTRY,9,25,0,0,0,100,0,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,2477.37,-5551,420.647,0.77,"Acherus Necromancer - On Script - Move To Position"),
+(@ENTRY,9,26,0,0,0,100,0,4000,4000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0.746414,"Acherus Necromancer - On Script - Set Orientation 0.746414"),
+(@ENTRY,9,27,0,0,0,100,0,1000,1000,0,0,1,3,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 3"),
+(@ENTRY,9,28,0,0,0,100,0,5000,5000,0,0,1,1,5000,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 1"),
+(@ENTRY,9,29,0,0,0,100,0,1000,1000,0,0,48,1,0,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Active On"),
+(@ENTRY,9,30,0,0,0,100,0,0,0,0,0,45,2,2,0,0,0,0,10,130292,28391,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 2 2"),
+(@ENTRY,9,31,0,0,0,100,0,1000,1000,0,0,48,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Active Off");
+
+-- Acherus Necromancer SAI
+SET @GUID := -129390;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=28383;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@GUID,0,0,1,38,0,100,0,1,1,0,0,80,12939000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Run Script"),
+(@GUID,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Data Set 1 1 - Set Active On");
+
+-- Actionlist SAI
+SET @ENTRY := 12939000;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,3000,3000,0,0,11,51516,0,1,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Raise Dead'"),
+(@ENTRY,9,1,0,0,0,100,0,4000,4000,0,0,86,51517,0,10,129459,28394,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Cross Cast 'Raise Dead'"),
+(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,28,29266,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Aura 'Permanent Feign Death'"),
+(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,96,32,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Dynamic Flag Dead"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,19,537165824,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Stunned"),
+(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,19,1,1,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Server Controlled"),
+(@ENTRY,9,6,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Standstate Dead"),
+(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,91,257,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Remove Flag Dead"),
+(@ENTRY,9,8,0,0,0,100,0,2000,2000,0,0,2,1770,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Set Faction 1770"),
+(@ENTRY,9,9,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 1 1"),
+(@ENTRY,9,10,0,0,0,100,0,0,0,0,0,90,8,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Set Flag Standstate Kneel"),
+(@ENTRY,9,11,0,0,0,100,0,4000,4000,0,0,1,0,5000,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,12,0,0,0,100,0,5000,5000,0,0,1,4,5000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 4"),
+(@ENTRY,9,13,0,0,0,100,0,6000,6000,0,0,1,5,6000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 5"),
+(@ENTRY,9,14,0,0,0,100,0,5000,5000,0,0,45,3,3,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 3 3"),
+(@ENTRY,9,15,0,0,0,100,0,4000,4000,0,0,1,6,6000,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 6"),
+(@ENTRY,9,16,0,0,0,100,0,6000,6000,0,0,45,4,4,0,0,0,0,10,129307,28357,0,0,0,0,0,"Acherus Necromancer - On Script - Set Data 4 4"),
+(@ENTRY,9,17,0,0,0,100,0,0,0,0,0,1,0,5000,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 0"),
+(@ENTRY,9,18,0,0,0,100,0,5000,5000,0,0,1,1,5000,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Say Line 1"),
+(@ENTRY,9,19,0,0,0,100,0,4000,4000,0,0,12,28405,3,19000,0,0,0,8,0,0,0,2520.44,-5593.01,420.727,3.4383,"Acherus Necromancer - On Script - Summon Creature 'Acherus Ghoul'"),
+(@ENTRY,9,20,0,0,0,100,0,0,0,0,0,12,28405,3,19000,0,0,0,8,0,0,0,2516.65,-5596.68,420.727,1.39626,"Acherus Necromancer - On Script - Summon Creature 'Acherus Ghoul'"),
+(@ENTRY,9,21,0,0,0,100,0,0,0,0,0,12,28405,3,19000,0,0,0,8,0,0,0,2515.93,-5589.89,420.727,4.92183,"Acherus Necromancer - On Script - Summon Creature 'Acherus Ghoul'"),
+(@ENTRY,9,22,0,0,0,100,0,20000,20000,0,0,48,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Necromancer - On Script - Set Active Off");
+
+DELETE FROM `creature_text` WHERE `entry` IN (28357, 28383, 28391, 28394);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES
+-- Instructor Razuvious
+(28357, 0, 0, 'This one...', 12, 0, 100, 25, 0, 0, 27876, 'Instructor Razuvious'),
+(28357, 1, 0, 'The Lich King will be pleased with this initiate.', 12, 0, 100, 5, 0, 0, 27869, 'Instructor Razuvious'),
+(28357, 1, 1, 'Amidst the wretch, a champion has been found.', 12, 0, 100, 5, 0, 0, 27870, 'Instructor Razuvious'),
+(28357, 1, 2, 'CHAOS! DOOM! DESTRUCTION! This one will claim them all!', 12, 0, 100, 5, 0, 0, 27871, 'Instructor Razuvious'),
+(28357, 1, 3, 'Marvel at its tenacity and vigor! A champion has been found!', 12, 0, 100, 5, 0, 0, 27868, 'Instructor Razuvious'),
+(28357, 1, 4, 'A harbinger of death is reborn...', 12, 0, 100, 5, 0, 0, 27872, 'Instructor Razuvious'),
+(28357, 2, 0, 'Place upon it the trappings befitting a herald of Arthas.', 12, 0, 100, 1, 0, 0, 27873, 'Instructor Razuvious'),
+(28357, 3, 0, 'Stand and be measured! Rise, for your master awaits your arrival. Go now!', 12, 0, 100, 5, 0, 0, 27883, 'Instructor Razuvious'),
+(28357, 3, 1, 'Listen, death knight... Listen for the voice of your master. He calls to you now.', 12, 0, 100, 5, 0, 0, 27884, 'Instructor Razuvious'),
+(28357, 4, 0, 'Pathetic...', 12, 0, 100, 1, 0, 0, 27865, 'Instructor Razuvious'),
+(28357, 4, 1, 'Useless...', 12, 0, 100, 1, 0, 0, 27862, 'Instructor Razuvious'),
+(28357, 4, 2, 'Another failure...', 12, 0, 100, 1, 0, 0, 27861, 'Instructor Razuvious'),
+(28357, 4, 3, 'This one has awoken too soon. It retains emotion and memory...', 12, 0, 100, 1, 0, 0, 27864, 'Instructor Razuvious'),
+(28357, 5, 0, 'You have been measured and found wanting...', 12, 0, 100, 25, 0, 0, 27866, 'Instructor Razuvious'),
+(28357, 6, 0, 'Dispose of it...', 12, 0, 100, 1, 0, 0, 27867, 'Instructor Razuvious'),
+-- Acherus Necromancer
+(28383, 0, 0, 'Yes, instructor.', 12, 0, 100, 1, 0, 0, 27874, 'Acherus Necromancer'),
+(28383, 0, 1, 'Right away, instructor.', 12, 0, 100, 1, 0, 0, 27881, 'Acherus Necromancer'),
+(28383, 1, 0, 'Rise, minions. Rise and feast upon the weak!', 12, 0, 100, 22, 0, 0, 27875, 'Acherus Necromancer'),
+-- Death Knight Initiate 1
+(28391, 0, 0, 'I return from the grave to do my master\'s bidding.', 12, 0, 100, 0, 0, 0, 27880, 'Death Knight Initiate'),
+(28391, 0, 1, 'The voice... such splendor... Arthas... My king....', 12, 0, 100, 0, 0, 0, 27879, 'Death Knight Initiate'),
+(28391, 0, 2, 'Reborn, I shall become an instrument of doom...', 12, 0, 100, 0, 0, 0, 27878, 'Death Knight Initiate'),
+(28391, 0, 3, 'Dark energy courses through me... Such power! I hunger for more!', 12, 0, 100, 0, 0, 0, 27877, 'Death Knight Initiate'),
+(28391, 1, 0, 'Death to all that oppose us!', 12, 0, 100, 66, 0, 0, 27888, 'Death Knight Initiate'),
+(28391, 1, 1, 'Victory to the Scourge!', 12, 0, 100, 66, 0, 0, 27887, 'Death Knight Initiate'),
+(28391, 1, 2, 'I live only to serve the Lich King!', 12, 0, 100, 66, 0, 0, 27886, 'Death Knight Initiate'),
+(28391, 1, 3, 'As you command, instructor!', 12, 0, 100, 66, 0, 0, 27885, 'Death Knight Initiate'),
+(28391, 2, 0, 'Woe unto those that dare oppose the Scourge!', 12, 0, 100, 66, 0, 0, 30176, 'Death Knight Initiate'),
+(28391, 2, 1, 'I am reborn, my king, only to serve you.', 12, 0, 100, 66, 0, 0, 30179, 'Death Knight Initiate'),
+(28391, 2, 2, 'I am an instrument of your destruction, my king! Command me!', 12, 0, 100, 66, 0, 0, 30175, 'Death Knight Initiate'),
+(28391, 2, 3, 'Our enemies will be annihilated!', 12, 0, 100, 66, 0, 0, 30177, 'Death Knight Initiate'),
+(28391, 2, 4, 'A thousand-thousand lives I will sacrifice for you, my lord.', 12, 0, 100, 66, 0, 0, 30172, 'Death Knight Initiate'),
+(28391, 2, 5, 'I am yours to command, my king!', 12, 0, 100, 66, 0, 0, 30173, 'Death Knight Initiate'),
+(28391, 2, 6, 'There will be no survivors, my lord.', 12, 0, 100, 66, 0, 0, 30180, 'Death Knight Initiate'),
+(28391, 2, 7, 'My king, the world will tremble in reverence...', 12, 0, 100, 66, 0, 0, 30174, 'Death Knight Initiate'),
+-- Death Knight Initiate 2
+(28394, 0, 0, 'Where am I? What is this place?', 12, 0, 100, 0, 0, 0, 27856, 'Death Knight Initiate'),
+(28394, 0, 1, 'Who... who are you? Who... what am I?', 12, 0, 100, 0, 0, 0, 27858, 'Death Knight Initiate'),
+(28394, 0, 2, 'I hurt... suffering unbearable... end my pain... I beg of you!', 12, 0, 100, 0, 0, 0, 27859, 'Death Knight Initiate'),
+(28394, 0, 3, 'I... I have awoken to a nightmare?', 12, 0, 100, 0, 0, 0, 27857, 'Death Knight Initiate');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry` IN (51516);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 1, 51516, 0, 0, 31, 0, 3, 28394, 0, 0, 0, 0, '', 'Rise dead only targets Death Knight Initiate'),
+(13, 1, 51516, 0, 1, 31, 0, 3, 28391, 0, 0, 0, 0, '', 'Rise dead only targets Death Knight Initiate');
+
+-- Death Knight Initiate SAI
+SET @ENTRY := 28391;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,38,0,100,0,1,1,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.16204,"Death Knight Initiate - On Data Set 1 1 - Set Orientation 4.16204"),
+(@ENTRY,0,1,6,38,0,100,0,2,2,0,0,53,1,28391,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Data Set 2 2 - Start Waypoint"),
+(@ENTRY,0,2,3,40,0,100,0,7,28391,0,0,54,11000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Waypoint 7 Reached - Pause Waypoint"),
+(@ENTRY,0,3,0,61,0,100,0,7,28391,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Waypoint 7 Reached - Run Script"),
+(@ENTRY,0,4,0,40,0,100,0,9,28391,0,0,41,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Waypoint 9 Reached - Despawn In 2000 ms"),
+(@ENTRY,0,5,0,25,0,100,0,0,0,0,0,18,295170,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Reset - Set Flags Not Attackable & Immune To Players & Stunned"),
+(@ENTRY,0,6,0,61,0,100,0,2,2,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Data Set 2 2 - Set Active On");
+
+-- Actionlist SAI
+SET @ENTRY := 2839100;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,1000,1000,0,0,5,66,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Script - Play Emote 66"),
+(@ENTRY,9,1,0,0,0,100,0,2000,2000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Script - Say Line 2"),
+(@ENTRY,9,2,0,0,0,100,0,6000,6000,0,0,5,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Script - Play Emote 2");
+
+DELETE FROM `waypoints` WHERE `entry`=28391;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(28391,1,2453.87,-5545.37,420.643,'Death Knight Initiate'),
+(28391,2,2423.38,-5574.52,420.631,'Death Knight Initiate'),
+(28391,3,2423.38,-5610.59,420.6,'Death Knight Initiate'),
+(28391,4,2410.19,-5626.02,420.654,'Death Knight Initiate'),
+(28391,5,2381.18,-5637.17,420.858,'Death Knight Initiate'),
+(28391,6,2372.68,-5645.34,426.017,'Death Knight Initiate'),
+(28391,7,2348.248,-5666.514,426.029,'Death Knight Initiate'),
+(28391,8,2373.07,-5652.69,426.126,'Death Knight Initiate'),
+(28391,9,2382.63,-5645.56,421.512,'Death Knight Initiate');
+
+-- Death Knight Initiate SAI
+SET @ENTRY := 28394;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,38,0,100,0,1,1,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,3.07005,"Death Knight Initiate - On Data Set 1 1 - Set Orientation 3.07005"),
+(@ENTRY,0,1,0,25,0,100,0,0,0,0,0,18,295170,0,0,0,0,0,1,0,0,0,0,0,0,0,"Death Knight Initiate - On Reset - Set Flags Not Attackable & Immune To Players & Stunned");
+
+-- Acherus Ghoul SAI
+SET @ENTRY := 28405;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,63,0,100,0,0,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Just Created - Run Script");
+
+-- Actionlist SAI
+SET @ENTRY := 2840500;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,17,373,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Set Emote State 373"),
+(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,11,26047,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Cast 'Birth'"),
+(@ENTRY,9,2,0,0,0,100,0,2000,2000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Set Emote State 0"),
+(@ENTRY,9,3,0,0,0,100,0,1000,1000,0,0,2,2093,0,0,0,0,0,1,0,0,0,0,0,0,0,"Acherus Ghoul - On Script - Set Faction 2093"),
+(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,19,514,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Ghoul - On Script - Remove Flags Not Attackable & Immune To NPC's"),
+(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,10,129459,28394,0,0,0,0,0,"Acherus Ghoul - On Script - Start Attacking");
+--
+-- END UPDATING QUERIES
+--
+COMMIT;
+END;
+//
+DELIMITER ;
+CALL updateDb();
+DROP PROCEDURE IF EXISTS `updateDb`;
diff --git a/modules/acore/extractors/mmaps_generator/MapBuilder.cpp b/modules/acore/extractors/mmaps_generator/MapBuilder.cpp
index cea205cefe..e5edd4a611 100644
--- a/modules/acore/extractors/mmaps_generator/MapBuilder.cpp
+++ b/modules/acore/extractors/mmaps_generator/MapBuilder.cpp
@@ -14,9 +14,14 @@
#include "DetourNavMesh.h"
#include "DetourCommon.h"
+#include "DisableMgr.h"
#include <ace/OS_NS_unistd.h>
uint32 GetLiquidFlags(uint32 /*liquidType*/) { return 0; }
+namespace DisableMgr
+{
+ bool IsDisabledFor(DisableType /*type*/, uint32 /*entry*/, Unit const* /*unit*/, uint8 /*flags*/ /*= 0*/) { return false; }
+}
#define MMAP_MAGIC 0x4d4d4150 // 'MMAP'
#define MMAP_VERSION 3
diff --git a/modules/acore/startup-scripts/conf.sh.dist b/modules/acore/startup-scripts/conf.sh.dist
index fbf31e3cab..774a7c01ce 100644
--- a/modules/acore/startup-scripts/conf.sh.dist
+++ b/modules/acore/startup-scripts/conf.sh.dist
@@ -1,36 +1,50 @@
# enable/disable GDB execution
export GDB_ENABLED=0
-# gdb file
+# [optional] gdb file
+# default: gdb.txt
export GDB=""
# directory where binary are stored
export BINPATH=""
- ### Put here the pid you configured on your worldserver.conf file ###
+# Put here the pid you configured on your worldserver.conf file
+# needed when GDB_ENABLED=1
export SERVERPID=""
-# path to conf file
+# path to configuration file (including the file name)
+# ex: /home/user/azerothcore/etc/worldserver.conf
export CONFIG=""
# path of log files
+# needed by restarter to store its logs
export LOGS_PATH="";
# exec name
+# ex: worldserver
export SERVERBIN=""
# prefix name for log files
+# to avoid collision with other restarters
export LOG_PREFIX_NAME=""
-# name of screen service ( for restarter )
+# [optional] name of screen service
# if no specified, screen util won't be used
export SCREEN_NAME=""
-# overwrite default screen options: -A -m -d -S
+# [optional] overwrite default screen options: -A -m -d -S
+# WARNING: if you are running it under a systemd service
+# please do not remove -m -d arguments from screen if are you using it,
+# or keep WITH_CONSOLE=0 .
+# otherwise the journald-logging system will take 100% of CPU slowing
+# down the whole machine. It's because a systemd service should have
+# low console output.
export SCREEN_OPTIONS=""
-# enable it to show the output
-# within console
+# enable/disable it to show the output
+# within console, if disable the output will be redirect to
+# logging files
+#
export WITH_CONSOLE=0
diff --git a/modules/acore/startup-scripts/run-engine b/modules/acore/startup-scripts/run-engine
index a12ebbc3b2..86391f02a7 100644
--- a/modules/acore/startup-scripts/run-engine
+++ b/modules/acore/startup-scripts/run-engine
@@ -5,6 +5,16 @@ if [ -e "$RUN_ENGINE_PATH/conf.dist" ]; then
source "$RUN_ENGINE_PATH/conf.sh.dist"
fi
+function finish {
+ if [ ! -z "$SCREEN_NAME" ]; then
+ screen -X -S "$SCREEN_NAME" quit
+ fi
+}
+
+# disabled for now, but could be useful if we want
+# shutdown the process if restarter crashes for some reason
+# trap finish EXIT
+
function configureFiles() {
TRACE_BEGIN_STRING="SIGSEGV"
TRACE_FILE="$LOGS_PATH/"$LOG_PREFIX_NAME"_trace.log"
@@ -100,3 +110,4 @@ function restarter() {
sleep 10
done
}
+
diff --git a/modules/worldengine/lib-collision/src/Management/MMapManager.cpp b/modules/worldengine/lib-collision/src/Management/MMapManager.cpp
index 722a8321ff..26fa9fb594 100644
--- a/modules/worldengine/lib-collision/src/Management/MMapManager.cpp
+++ b/modules/worldengine/lib-collision/src/Management/MMapManager.cpp
@@ -34,7 +34,9 @@ namespace MMAP
FILE* file = fopen(fileName, "rb");
if (!file)
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMapData: Error: Could not open mmap file '%s'", fileName);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMapData: Error: Could not open mmap file '%s'", fileName);
+#endif
delete [] fileName;
return false;
}
@@ -61,7 +63,9 @@ namespace MMAP
delete [] fileName;
- ;//sLog->outDetail("MMAP:loadMapData: Loaded %03i.mmap", mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:loadMapData: Loaded %03i.mmap", mapId);
+#endif
// store inside our map list
MMapData* mmap_data = new MMapData(mesh);
@@ -115,7 +119,9 @@ namespace MMAP
FILE *file = fopen(fileName, "rb");
if (!file)
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMap: Could not open mmtile file '%s'", fileName);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMap: Could not open mmtile file '%s'", fileName);
+#endif
delete [] fileName;
return false;
}
@@ -165,7 +171,9 @@ namespace MMAP
{
mmap->mmapLoadedTiles.insert(std::pair<uint32, dtTileRef>(packedGridPos, tileRef));
++loadedTiles;
- ;//sLog->outDetail("MMAP:loadMap: Loaded mmtile %03i[%02i,%02i] into %03i[%02i,%02i]", mapId, x, y, mapId, header->x, header->y);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:loadMap: Loaded mmtile %03i[%02i,%02i] into %03i[%02i,%02i]", mapId, x, y, mapId, header->x, header->y);
+#endif
return true;
}
else
@@ -186,7 +194,9 @@ namespace MMAP
if (loadedMMaps.find(mapId) == loadedMMaps.end())
{
// file may not exist, therefore not loaded
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map. %03u%02i%02i.mmtile", mapId, x, y);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map. %03u%02i%02i.mmtile", mapId, x, y);
+#endif
return false;
}
@@ -197,7 +207,9 @@ namespace MMAP
if (mmap->mmapLoadedTiles.find(packedGridPos) == mmap->mmapLoadedTiles.end())
{
// file may not exist, therefore not loaded
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh tile. %03u%02i%02i.mmtile", mapId, x, y);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh tile. %03u%02i%02i.mmtile", mapId, x, y);
+#endif
return false;
}
@@ -222,7 +234,9 @@ namespace MMAP
{
mmap->mmapLoadedTiles.erase(packedGridPos);
--loadedTiles;
- ;//sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId);
+#endif
return true;
}
@@ -236,7 +250,9 @@ namespace MMAP
if (loadedMMaps.find(mapId) == loadedMMaps.end())
{
// file may not exist, therefore not loaded
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map %03u", mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map %03u", mapId);
+#endif
return false;
}
@@ -258,13 +274,17 @@ namespace MMAP
else
{
--loadedTiles;
- ;//sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId);
+#endif
}
}
delete mmap;
loadedMMaps.erase(mapId);
- ;//sLog->outDetail("MMAP:unloadMap: Unloaded %03i.mmap", mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:unloadMap: Unloaded %03i.mmap", mapId);
+#endif
return true;
}
@@ -277,14 +297,18 @@ namespace MMAP
if (loadedMMaps.find(mapId) == loadedMMaps.end())
{
// file may not exist, therefore not loaded
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded navmesh map %03u", mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded navmesh map %03u", mapId);
+#endif
return false;
}
MMapData* mmap = loadedMMaps[mapId];
if (mmap->navMeshQueries.find(instanceId) == mmap->navMeshQueries.end())
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded dtNavMeshQuery mapId %03u instanceId %u", mapId, instanceId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded dtNavMeshQuery mapId %03u instanceId %u", mapId, instanceId);
+#endif
return false;
}
@@ -292,7 +316,9 @@ namespace MMAP
dtFreeNavMeshQuery(query);
mmap->navMeshQueries.erase(instanceId);
- ;//sLog->outDetail("MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId);
+#endif
return true;
}
@@ -334,7 +360,9 @@ namespace MMAP
return NULL;
}
- ;//sLog->outDetail("MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId);
+#endif
mmap->navMeshQueries.insert(std::pair<uint32, dtNavMeshQuery*>(instanceId, query));
}
}
diff --git a/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp b/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp
index d67b465ae9..2751db4ea9 100644
--- a/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp
+++ b/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp
@@ -124,7 +124,7 @@ namespace VMAP
bool VMapManager2::isInLineOfSight(unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2)
{
-#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS)
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS)
if (!isLineOfSightCalcEnabled() || DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_LOS))
return true;
#endif
@@ -149,7 +149,7 @@ namespace VMAP
*/
bool VMapManager2::getObjectHitPos(unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float &ry, float& rz, float modifyDist)
{
-#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS)
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS)
if (isLineOfSightCalcEnabled() && !DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_LOS))
#endif
{
@@ -181,7 +181,7 @@ namespace VMAP
float VMapManager2::getHeight(unsigned int mapId, float x, float y, float z, float maxSearchDist)
{
-#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS)
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS)
if (isHeightCalcEnabled() && !DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_HEIGHT))
#endif
{
@@ -202,7 +202,7 @@ namespace VMAP
bool VMapManager2::getAreaInfo(unsigned int mapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const
{
-#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS)
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS)
if (!DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_AREAFLAG))
#endif
{
@@ -222,7 +222,7 @@ namespace VMAP
bool VMapManager2::GetLiquidLevel(uint32 mapId, float x, float y, float z, uint8 reqLiquidType, float& level, float& floor, uint32& type) const
{
-#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS)
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS)
if (!DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_LIQUIDSTATUS))
#endif
{
@@ -262,7 +262,9 @@ namespace VMAP
delete worldmodel;
return NULL;
}
- ;//sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: loading file '%s%s'", basepath.c_str(), filename.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: loading file '%s%s'", basepath.c_str(), filename.c_str());
+#endif
model = iLoadedModelFiles.insert(std::pair<std::string, ManagedModel>(filename, ManagedModel())).first;
model->second.setModel(worldmodel);
}
@@ -283,7 +285,9 @@ namespace VMAP
}
if (model->second.decRefCount() == 0)
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: unloading file '%s'", filename.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: unloading file '%s'", filename.c_str());
+#endif
delete model->second.getModel();
iLoadedModelFiles.erase(model);
}*/
diff --git a/modules/worldengine/lib-collision/src/Maps/MapTree.cpp b/modules/worldengine/lib-collision/src/Maps/MapTree.cpp
index ebd8656f4e..c2056c90b9 100644
--- a/modules/worldengine/lib-collision/src/Maps/MapTree.cpp
+++ b/modules/worldengine/lib-collision/src/Maps/MapTree.cpp
@@ -44,8 +44,8 @@ namespace VMAP
AreaInfoCallback(ModelInstance* val): prims(val) {}
void operator()(const Vector3& point, uint32 entry)
{
-#ifdef VMAP_DEBUG
- ;//sLog->outDebug(LOG_FILTER_MAPS, "AreaInfoCallback: trying to intersect '%s'", prims[entry].name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG)
+ sLog->outDebug(LOG_FILTER_MAPS, "AreaInfoCallback: trying to intersect '%s'", prims[entry].name.c_str());
#endif
prims[entry].intersectPoint(point, aInfo);
}
@@ -60,8 +60,8 @@ namespace VMAP
LocationInfoCallback(ModelInstance* val, LocationInfo &info): prims(val), locInfo(info), result(false) {}
void operator()(const Vector3& point, uint32 entry)
{
-#ifdef VMAP_DEBUG
- ;//sLog->outDebug(LOG_FILTER_MAPS, "LocationInfoCallback: trying to intersect '%s'", prims[entry].name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG)
+ sLog->outDebug(LOG_FILTER_MAPS, "LocationInfoCallback: trying to intersect '%s'", prims[entry].name.c_str());
#endif
if (prims[entry].GetLocationInfo(point, locInfo))
result = true;
@@ -373,10 +373,10 @@ namespace VMAP
{
if (!iLoadedSpawns.count(referencedVal))
{
-#ifdef VMAP_DEBUG
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG)
if (referencedVal > iNTreeValues)
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues);
+ sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues);
continue;
}
#endif
@@ -386,11 +386,11 @@ namespace VMAP
else
{
++iLoadedSpawns[referencedVal];
-#ifdef VMAP_DEBUG
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG)
if (iTreeValues[referencedVal].ID != spawn.ID)
- ;//sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : trying to load wrong spawn in node");
+ sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : trying to load wrong spawn in node");
else if (iTreeValues[referencedVal].name != spawn.name)
- ;//sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : name collision on GUID=%u", spawn.ID);
+ sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : name collision on GUID=%u", spawn.ID);
#endif
}
}
diff --git a/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp b/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp
index b11f161be8..6b554ce8e7 100644
--- a/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp
+++ b/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp
@@ -121,7 +121,9 @@ bool MySQLConnection::Open()
// sLog->outInfo(LOG_FILTER_SQL, "[WARNING] MySQL client/server version mismatch; may conflict with behaviour of prepared statements.");
}
- ;//sLog->outDetail("Connected to MySQL database at %s", m_connectionInfo.host.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Connected to MySQL database at %s", m_connectionInfo.host.c_str());
+#endif
mysql_autocommit(m_Mysql, 1);
// set connection properties to UTF8 to properly handle locales for different
diff --git a/src/authserver/Server/AuthSocket.cpp b/src/authserver/Server/AuthSocket.cpp
index 6905f3b569..0df9deb6c9 100644
--- a/src/authserver/Server/AuthSocket.cpp
+++ b/src/authserver/Server/AuthSocket.cpp
@@ -197,7 +197,9 @@ void AuthSocket::OnAccept(void)
void AuthSocket::OnClose(void)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "AuthSocket::OnClose");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "AuthSocket::OnClose");
+#endif
}
// Read the packet from the client
@@ -229,11 +231,15 @@ void AuthSocket::OnRead()
{
if ((uint8)table[i].cmd == _cmd && (table[i].status == _status))
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Got data for cmd %u recv length %u", (uint32)_cmd, (uint32)socket().recv_len());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Got data for cmd %u recv length %u", (uint32)_cmd, (uint32)socket().recv_len());
+#endif
if (!(*this.*table[i].handler)())
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Command handler failed for cmd %u recv length %u", (uint32)_cmd, (uint32)socket().recv_len());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Command handler failed for cmd %u recv length %u", (uint32)_cmd, (uint32)socket().recv_len());
+#endif
return;
}
break;
@@ -243,7 +249,9 @@ void AuthSocket::OnRead()
// Report unknown packets in the error log
if (i == AUTH_TOTAL_COMMANDS)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Got unknown packet from '%s'", socket().getRemoteAddress().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Got unknown packet from '%s'", socket().getRemoteAddress().c_str());
+#endif
socket().shutdown();
return;
}
@@ -296,7 +304,9 @@ ACE_Thread_Mutex LastLoginAttemptMutex;
// Logon Challenge command handler
bool AuthSocket::_HandleLogonChallenge()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleLogonChallenge");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleLogonChallenge");
+#endif
if (socket().recv_len() < sizeof(sAuthLogonChallenge_C))
return false;
@@ -336,7 +346,9 @@ bool AuthSocket::_HandleLogonChallenge()
EndianConvertPtr<uint16>(&buf[0]);
uint16 remaining = ((sAuthLogonChallenge_C *)&buf[0])->size;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] got header, body is %#04x bytes", remaining);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] got header, body is %#04x bytes", remaining);
+#endif
if ((remaining < sizeof(sAuthLogonChallenge_C) - buf.size()) || (socket().recv_len() < remaining))
return false;
@@ -348,8 +360,10 @@ bool AuthSocket::_HandleLogonChallenge()
// Read the remaining of the packet
socket().recv((char *)&buf[4], remaining);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] got full packet, %#04x bytes", ch->size);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] name(%d): '%s'", ch->I_len, ch->I);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] got full packet, %#04x bytes", ch->size);
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] name(%d): '%s'", ch->I_len, ch->I);
+#endif
// BigEndian code, nop in little endian case
// size already converted
@@ -387,7 +401,9 @@ bool AuthSocket::_HandleLogonChallenge()
if (result)
{
pkt << uint8(WOW_FAIL_BANNED);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] Banned ip tries to login!",socket().getRemoteAddress().c_str(), socket().getRemotePort());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] Banned ip tries to login!",socket().getRemoteAddress().c_str(), socket().getRemotePort());
+#endif
}
else
{
@@ -405,24 +421,32 @@ bool AuthSocket::_HandleLogonChallenge()
bool locked = false;
if (fields[2].GetUInt8() == 1) // if ip is locked
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is locked to IP - '%s'", _login.c_str(), fields[3].GetCString());
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Player address is '%s'", ip_address.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is locked to IP - '%s'", _login.c_str(), fields[3].GetCString());
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Player address is '%s'", ip_address.c_str());
+#endif
if (strcmp(fields[4].GetCString(), ip_address.c_str()) != 0)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account IP differs");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account IP differs");
+#endif
pkt << uint8(WOW_FAIL_LOCKED_ENFORCED);
locked = true;
}
else
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account IP matches");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account IP matches");
+#endif
}
else
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is not locked to ip", _login.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is not locked to ip", _login.c_str());
+#endif
std::string accountCountry = fields[3].GetString();
if (accountCountry.empty() || accountCountry == "00")
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is not locked to country", _login.c_str());
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is not locked to country", _login.c_str());
else if (!accountCountry.empty())
{
uint32 ip = inet_addr(ip_address.c_str());
@@ -433,18 +457,18 @@ bool AuthSocket::_HandleLogonChallenge()
if (PreparedQueryResult sessionCountryQuery = LoginDatabase.Query(stmt))
{
std::string loginCountry = (*sessionCountryQuery)[0].GetString();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is locked to country: '%s' Player country is '%s'", _login.c_str(), accountCountry.c_str(), loginCountry.c_str());
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account '%s' is locked to country: '%s' Player country is '%s'", _login.c_str(), accountCountry.c_str(), loginCountry.c_str());
if (loginCountry != accountCountry)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account country differs.");
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account country differs.");
pkt << uint8(WOW_FAIL_UNLOCKABLE_LOCK);
locked = true;
}
else
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account country matches");
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] Account country matches");
}
else
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] IP2NATION Table empty");
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[AuthChallenge] IP2NATION Table empty");
}
}
@@ -462,12 +486,16 @@ bool AuthSocket::_HandleLogonChallenge()
if ((*banresult)[0].GetUInt32() == (*banresult)[1].GetUInt32())
{
pkt << uint8(WOW_FAIL_BANNED);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] Banned account %s tried to login!", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str ());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] Banned account %s tried to login!", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str ());
+#endif
}
else
{
pkt << uint8(WOW_FAIL_SUSPENDED);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] Temporarily banned account %s tried to login!", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str ());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] Temporarily banned account %s tried to login!", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str ());
+#endif
}
}
else
@@ -479,7 +507,9 @@ bool AuthSocket::_HandleLogonChallenge()
std::string databaseV = fields[6].GetString();
std::string databaseS = fields[7].GetString();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "database authentication values: v='%s' s='%s'", databaseV.c_str(), databaseS.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "database authentication values: v='%s' s='%s'", databaseV.c_str(), databaseS.c_str());
+#endif
// multiply with 2 since bytes are stored as hexstring
if (databaseV.size() != s_BYTE_SIZE * 2 || databaseS.size() != s_BYTE_SIZE * 2)
@@ -541,9 +571,10 @@ bool AuthSocket::_HandleLogonChallenge()
for (int i = 0; i < 4; ++i)
_localizationName[i] = ch->country[4-i-1];
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] account %s is using '%c%c%c%c' locale (%u)", socket().getRemoteAddress().c_str(), socket().getRemotePort(),
- // _login.c_str (), ch->country[3], ch->country[2], ch->country[1], ch->country[0], GetLocaleByName(_localizationName)
- // );
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug( LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] account %s is using '%c%c%c%c' locale (%u)", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str (), ch->country[3], ch->country[2], ch->country[1], ch->country[0], GetLocaleByName(_localizationName) );
+#endif
///- All good, await client's proof
_status = STATUS_LOGON_PROOF;
@@ -561,7 +592,9 @@ bool AuthSocket::_HandleLogonChallenge()
// Logon Proof command handler
bool AuthSocket::_HandleLogonProof()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleLogonProof");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleLogonProof");
+#endif
// Read the packet
sAuthLogonProof_C lp;
@@ -574,7 +607,9 @@ bool AuthSocket::_HandleLogonProof()
if (_expversion == NO_VALID_EXP_FLAG)
{
// Check if we have the appropriate patch on the disk
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Client with invalid version, patching is not implemented");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Client with invalid version, patching is not implemented");
+#endif
socket().shutdown();
return true;
}
@@ -658,7 +693,9 @@ bool AuthSocket::_HandleLogonProof()
// Check if SRP6 results match (password is correct), else send an error
if (!memcmp(M.AsByteArray().get(), lp.M1, 20))
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' User '%s' successfully authenticated", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' User '%s' successfully authenticated", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str());
+#endif
// Update the sessionkey, last_ip, last login time and reset number of failed logins in the account table for this account
// No SQL injection (escaped user name) and IP address as received by socket
@@ -708,7 +745,9 @@ bool AuthSocket::_HandleLogonProof()
char data[4] = { AUTH_LOGON_PROOF, WOW_FAIL_UNKNOWN_ACCOUNT, 3, 0 };
socket().send(data, sizeof(data));
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] account %s tried to login with invalid password!", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str ());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] account %s tried to login with invalid password!", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str ());
+#endif
uint32 MaxWrongPassCount = sConfigMgr->GetIntDefault("WrongPass.MaxCount", 0);
if (MaxWrongPassCount > 0)
@@ -738,8 +777,9 @@ bool AuthSocket::_HandleLogonProof()
stmt->setUInt32(1, WrongPassBanTime);
LoginDatabase.Execute(stmt);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] account %s got banned for '%u' seconds because it failed to authenticate '%u' times",
- // socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str(), WrongPassBanTime, failed_logins);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] account %s got banned for '%u' seconds because it failed to authenticate '%u' times", socket().getRemoteAddress().c_str(), socket().getRemotePort(), _login.c_str(), WrongPassBanTime, failed_logins);
+#endif
}
else
{
@@ -748,8 +788,10 @@ bool AuthSocket::_HandleLogonProof()
stmt->setUInt32(1, WrongPassBanTime);
LoginDatabase.Execute(stmt);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] IP %s got banned for '%u' seconds because account %s failed to authenticate '%u' times",
- // socket().getRemoteAddress().c_str(), socket().getRemotePort(), socket().getRemoteAddress().c_str(), WrongPassBanTime, _login.c_str(), failed_logins);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "'%s:%d' [AuthChallenge] IP %s got banned for '%u' seconds because account %s failed to authenticate '%u' times",
+ socket().getRemoteAddress().c_str(), socket().getRemotePort(), socket().getRemoteAddress().c_str(), WrongPassBanTime, _login.c_str(), failed_logins);
+#endif
}
}
}
@@ -762,7 +804,9 @@ bool AuthSocket::_HandleLogonProof()
// Reconnect Challenge command handler
bool AuthSocket::_HandleReconnectChallenge()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleReconnectChallenge");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleReconnectChallenge");
+#endif
if (socket().recv_len() < sizeof(sAuthLogonChallenge_C))
return false;
@@ -775,7 +819,9 @@ bool AuthSocket::_HandleReconnectChallenge()
EndianConvertPtr<uint16>(&buf[0]);
uint16 remaining = ((sAuthLogonChallenge_C *)&buf[0])->size;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[ReconnectChallenge] got header, body is %#04x bytes", remaining);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[ReconnectChallenge] got header, body is %#04x bytes", remaining);
+#endif
if ((remaining < sizeof(sAuthLogonChallenge_C) - buf.size()) || (socket().recv_len() < remaining))
return false;
@@ -790,8 +836,10 @@ bool AuthSocket::_HandleReconnectChallenge()
// Read the remaining of the packet
socket().recv((char *)&buf[4], remaining);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[ReconnectChallenge] got full packet, %#04x bytes", ch->size);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "[ReconnectChallenge] name(%d): '%s'", ch->I_len, ch->I);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[ReconnectChallenge] got full packet, %#04x bytes", ch->size);
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "[ReconnectChallenge] name(%d): '%s'", ch->I_len, ch->I);
+#endif
_login = (const char*)ch->I;
@@ -841,7 +889,9 @@ bool AuthSocket::_HandleReconnectChallenge()
// Reconnect Proof command handler
bool AuthSocket::_HandleReconnectProof()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleReconnectProof");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleReconnectProof");
+#endif
// Read the packet
sAuthReconnectProof_C lp;
if (!socket().recv((char *)&lp, sizeof(sAuthReconnectProof_C)))
@@ -908,7 +958,9 @@ ACE_INET_Addr const& AuthSocket::GetAddressForClient(Realm const& realm, ACE_INE
// Realm List command handler
bool AuthSocket::_HandleRealmList()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleRealmList");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleRealmList");
+#endif
if (socket().recv_len() < 5)
return false;
@@ -1038,7 +1090,9 @@ bool AuthSocket::_HandleRealmList()
// Resume patch transfer
bool AuthSocket::_HandleXferResume()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleXferResume");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleXferResume");
+#endif
// Check packet length and patch existence
if (socket().recv_len() < 9 || !pPatch) // FIXME: pPatch is never used
{
@@ -1059,7 +1113,9 @@ bool AuthSocket::_HandleXferResume()
// Cancel patch transfer
bool AuthSocket::_HandleXferCancel()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleXferCancel");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleXferCancel");
+#endif
// Close and delete the socket
socket().recv_skip(1); //clear input buffer
@@ -1071,7 +1127,9 @@ bool AuthSocket::_HandleXferCancel()
// Accept patch transfer
bool AuthSocket::_HandleXferAccept()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleXferAccept");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Entering _HandleXferAccept");
+#endif
// Check packet length and patch existence
if (!pPatch)
@@ -1157,7 +1215,9 @@ void Patcher::LoadPatchMD5(char *szFileName)
std::string path = "./patches/";
path += szFileName;
FILE* pPatch = fopen(path.c_str(), "rb");
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Loading patch info from %s\n", path.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Loading patch info from %s\n", path.c_str());
+#endif
if (!pPatch)
{
diff --git a/src/authserver/Thumbs.db b/src/authserver/Thumbs.db
deleted file mode 100644
index a7bf7199aa..0000000000
--- a/src/authserver/Thumbs.db
+++ /dev/null
Binary files differ
diff --git a/src/cmake/showoptions.cmake b/src/cmake/showoptions.cmake
index 5199d7b14f..1ec0e87549 100644
--- a/src/cmake/showoptions.cmake
+++ b/src/cmake/showoptions.cmake
@@ -107,18 +107,25 @@ endif()
# Performance optimization options:
-if( DISABLE_EXTRAS )
- message("* Disable extra features : Yes")
- add_definitions(-DDISABLE_EXTRAS)
+if( ENABLE_EXTRAS )
+ message("* Enable extra features : Yes (default)")
+ add_definitions(-DENABLE_EXTRAS)
else()
- message("* Disable extra features : No (default)")
+ message("* Enable extra features : No")
endif()
-if( DISABLE_VMAP_CHECKS )
- message("* Disable vmap DisableMgr checks : Yes")
- add_definitions(-DDISABLE_VMAP_CHECKS)
+if( ENABLE_VMAP_CHECKS )
+ message("* Enable vmap DisableMgr checks : Yes (default)")
+ add_definitions(-DENABLE_VMAP_CHECKS)
else()
- message("* Disable vmap DisableMgr checks : No (default)")
+ message("* Enable vmap DisableMgr checks : No")
+endif()
+
+if( ENABLE_EXTRA_LOGS )
+ message("* Enable extra logging functions : Yes")
+ add_definitions(-DENABLE_EXTRA_LOGS)
+else()
+ message("* Enable extra logging functions : No (default)")
endif()
message("")
diff --git a/src/game/AI/CoreAI/CombatAI.cpp b/src/game/AI/CoreAI/CombatAI.cpp
index f69ae84878..989d3d0076 100644
--- a/src/game/AI/CoreAI/CombatAI.cpp
+++ b/src/game/AI/CoreAI/CombatAI.cpp
@@ -281,7 +281,9 @@ void VehicleAI::LoadConditions()
{
conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE, me->GetEntry());
//if (!conditions.empty())
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "VehicleAI::LoadConditions: loaded %u conditions", uint32(conditions.size()));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "VehicleAI::LoadConditions: loaded %u conditions", uint32(conditions.size()));
+#endif
}
void VehicleAI::CheckConditions(uint32 diff)
diff --git a/src/game/AI/CoreAI/GuardAI.cpp b/src/game/AI/CoreAI/GuardAI.cpp
index fe3b8103fc..59ee6932f9 100644
--- a/src/game/AI/CoreAI/GuardAI.cpp
+++ b/src/game/AI/CoreAI/GuardAI.cpp
@@ -39,7 +39,9 @@ void GuardAI::EnterEvadeMode()
return;
}
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Guard entry: %u enters evade mode.", me->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Guard entry: %u enters evade mode.", me->GetEntry());
+#endif
me->RemoveAllAuras();
me->DeleteThreatList();
diff --git a/src/game/AI/CoreAI/PetAI.cpp b/src/game/AI/CoreAI/PetAI.cpp
index 66edbc5418..8a0b979513 100644
--- a/src/game/AI/CoreAI/PetAI.cpp
+++ b/src/game/AI/CoreAI/PetAI.cpp
@@ -61,7 +61,9 @@ void PetAI::_stopAttack()
{
if (!me->IsAlive())
{
- ;//sLog->outStaticDebug("Creature stoped attacking cuz his dead [guid=%u]", me->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature stoped attacking cuz his dead [guid=%u]", me->GetGUIDLow());
+#endif
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
me->CombatStop();
@@ -99,6 +101,10 @@ void PetAI::UpdateAI(uint32 diff)
Unit* owner = me->GetCharmerOrOwner();
+ //if Pet is in combat put player in combat
+ if (me->IsInCombat())
+ owner->IsInCombat();
+
if (m_updateAlliesTimer <= diff)
// UpdateAllies self set update timer
UpdateAllies();
@@ -116,7 +122,9 @@ void PetAI::UpdateAI(uint32 diff)
if (_needToStop())
{
- ;//sLog->outStaticDebug("Pet AI stopped attacking [guid=%u]", me->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Pet AI stopped attacking [guid=%u]", me->GetGUIDLow());
+#endif
_stopAttack();
return;
}
diff --git a/src/game/AI/CreatureAI.cpp b/src/game/AI/CreatureAI.cpp
index f611f6d3c2..981ff1b5ff 100644
--- a/src/game/AI/CreatureAI.cpp
+++ b/src/game/AI/CreatureAI.cpp
@@ -132,7 +132,9 @@ void CreatureAI::EnterEvadeMode()
if (!_EnterEvadeMode())
return;
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Creature %u enters evade mode.", me->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Creature %u enters evade mode.", me->GetEntry());
+#endif
if (!me->GetVehicle()) // otherwise me will be in evade mode forever
{
diff --git a/src/game/AI/CreatureAISelector.cpp b/src/game/AI/CreatureAISelector.cpp
index d76c624f49..3970ee9e46 100644
--- a/src/game/AI/CreatureAISelector.cpp
+++ b/src/game/AI/CreatureAISelector.cpp
@@ -86,7 +86,9 @@ namespace FactorySelector
// xinef: unused
// ainame = (ai_factory == NULL) ? "NullCreatureAI" : ai_factory->key();
- ;//sLog->outDebug(LOG_FILTER_TSCR, "Creature %u used AI is %s.", creature->GetGUIDLow(), ainame.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "Creature %u used AI is %s.", creature->GetGUIDLow(), ainame.c_str());
+#endif
return (ai_factory == NULL ? new NullCreatureAI(creature) : ai_factory->Create(creature));
}
@@ -132,9 +134,11 @@ namespace FactorySelector
//future goAI types go here
// xinef: unused
- //std::string ainame = (ai_factory == NULL || go->GetScriptId()) ? "NullGameObjectAI" : ai_factory->key();
+ std::string ainame = (ai_factory == NULL || go->GetScriptId()) ? "NullGameObjectAI" : ai_factory->key();
- ;//sLog->outDebug(LOG_FILTER_TSCR, "GameObject %u used AI is %s.", go->GetGUIDLow(), ainame.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "GameObject %u used AI is %s.", go->GetGUIDLow(), ainame.c_str());
+#endif
return (ai_factory == NULL ? new NullGameObjectAI(go) : ai_factory->Create(go));
}
diff --git a/src/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index cd7f0cea9b..fd2de72178 100644
--- a/src/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -156,7 +156,9 @@ void npc_escortAI::EnterEvadeMode()
{
AddEscortState(STATE_ESCORT_RETURNING);
ReturnToLastPoint();
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has left combat and is now returning to last point");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has left combat and is now returning to last point");
+#endif
}
else
{
@@ -282,7 +284,9 @@ void npc_escortAI::MovementInform(uint32 moveType, uint32 pointId)
//Combat start position reached, continue waypoint movement
if (pointId == POINT_LAST_POINT)
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has returned to original position before combat");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has returned to original position before combat");
+#endif
me->SetWalk(!m_bIsRunning);
RemoveEscortState(STATE_ESCORT_RETURNING);
@@ -292,7 +296,9 @@ void npc_escortAI::MovementInform(uint32 moveType, uint32 pointId)
}
else if (pointId == POINT_HOME)
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has returned to original home location and will continue from beginning of waypoint list.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has returned to original home location and will continue from beginning of waypoint list.");
+#endif
CurrentWP = WaypointList.begin();
m_uiWPWaitTimer = 1;
@@ -380,14 +386,18 @@ void npc_escortAI::SetRun(bool on)
if (!m_bIsRunning)
me->SetWalk(false);
else
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI attempt to set run mode, but is already running.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI attempt to set run mode, but is already running.");
+#endif
}
else
{
if (m_bIsRunning)
me->SetWalk(true);
else
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI attempt to set walk mode, but is already walking.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI attempt to set walk mode, but is already walking.");
+#endif
}
m_bIsRunning = on;
@@ -433,13 +443,17 @@ void npc_escortAI::Start(bool isActiveAttacker /* = true*/, bool run /* = false
m_bCanReturnToStart = canLoopPath;
//if (m_bCanReturnToStart && m_bCanInstantRespawn)
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI is set to return home after waypoint end and instant respawn at waypoint end. Creature will never despawn.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI is set to return home after waypoint end and instant respawn at waypoint end. Creature will never despawn.");
+#endif
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE)
{
me->GetMotionMaster()->MovementExpired();
me->GetMotionMaster()->MoveIdle();
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI start with WAYPOINT_MOTION_TYPE, changed to MoveIdle.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI start with WAYPOINT_MOTION_TYPE, changed to MoveIdle.");
+#endif
}
//disable npcflags
@@ -450,7 +464,9 @@ void npc_escortAI::Start(bool isActiveAttacker /* = true*/, bool run /* = false
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC);
}
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI started with " UI64FMTD " waypoints. ActiveAttacker = %d, Run = %d, PlayerGUID = " UI64FMTD "", uint64(WaypointList.size()), m_bIsActiveAttacker, m_bIsRunning, m_uiPlayerGUID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI started with " UI64FMTD " waypoints. ActiveAttacker = %d, Run = %d, PlayerGUID = " UI64FMTD "", uint64(WaypointList.size()), m_bIsActiveAttacker, m_bIsRunning, m_uiPlayerGUID);
+#endif
CurrentWP = WaypointList.begin();
diff --git a/src/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
index 37210250ab..b44ec3ca0f 100644
--- a/src/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
+++ b/src/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -141,7 +141,9 @@ void FollowerAI::EnterEvadeMode()
if (HasFollowState(STATE_FOLLOW_INPROGRESS))
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI left combat, returning to CombatStartPosition.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI left combat, returning to CombatStartPosition.");
+#endif
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
{
@@ -167,7 +169,9 @@ void FollowerAI::UpdateAI(uint32 uiDiff)
{
if (HasFollowState(STATE_FOLLOW_COMPLETE) && !HasFollowState(STATE_FOLLOW_POSTEVENT))
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI is set completed, despawns.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI is set completed, despawns.");
+#endif
me->DespawnOrUnsummon();
return;
}
@@ -178,7 +182,9 @@ void FollowerAI::UpdateAI(uint32 uiDiff)
{
if (HasFollowState(STATE_FOLLOW_RETURNING))
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI is returning to leader.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI is returning to leader.");
+#endif
RemoveFollowState(STATE_FOLLOW_RETURNING);
me->GetMotionMaster()->MoveFollow(player, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
@@ -207,7 +213,9 @@ void FollowerAI::UpdateAI(uint32 uiDiff)
if (bIsMaxRangeExceeded)
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI failed because player/group was to far away or not found");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI failed because player/group was to far away or not found");
+#endif
me->DespawnOrUnsummon();
return;
}
@@ -250,7 +258,9 @@ void FollowerAI::StartFollow(Player* player, uint32 factionForFollower, const Qu
{
if (me->GetVictim())
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI attempt to StartFollow while in combat.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI attempt to StartFollow while in combat.");
+#endif
return;
}
@@ -272,7 +282,9 @@ void FollowerAI::StartFollow(Player* player, uint32 factionForFollower, const Qu
{
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI start with WAYPOINT_MOTION_TYPE, set to MoveIdle.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI start with WAYPOINT_MOTION_TYPE, set to MoveIdle.");
+#endif
}
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
@@ -281,7 +293,9 @@ void FollowerAI::StartFollow(Player* player, uint32 factionForFollower, const Qu
me->GetMotionMaster()->MoveFollow(player, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI start follow %s (GUID " UI64FMTD ")", player->GetName().c_str(), m_uiLeaderGUID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI start follow %s (GUID " UI64FMTD ")", player->GetName().c_str(), m_uiLeaderGUID);
+#endif
}
Player* FollowerAI::GetLeaderForFollower()
@@ -300,7 +314,9 @@ Player* FollowerAI::GetLeaderForFollower()
if (member && me->IsWithinDistInMap(member, MAX_PLAYER_DISTANCE) && member->IsAlive())
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI GetLeader changed and returned new leader.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI GetLeader changed and returned new leader.");
+#endif
m_uiLeaderGUID = member->GetGUID();
return member;
}
@@ -309,7 +325,9 @@ Player* FollowerAI::GetLeaderForFollower()
}
}
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI GetLeader can not find suitable leader.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: FollowerAI GetLeader can not find suitable leader.");
+#endif
return NULL;
}
diff --git a/src/game/AI/SmartScripts/SmartAI.cpp b/src/game/AI/SmartScripts/SmartAI.cpp
index 40dea991e5..f8e6f26248 100644
--- a/src/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/game/AI/SmartScripts/SmartAI.cpp
@@ -1096,7 +1096,9 @@ void SmartGameObjectAI::Reset()
// Called when a player opens a gossip dialog with the gameobject.
bool SmartGameObjectAI::GossipHello(Player* player, bool reportUse)
{
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartGameObjectAI::GossipHello");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartGameObjectAI::GossipHello");
+#endif
GetScript()->ProcessEventsFor(SMART_EVENT_GOSSIP_HELLO, player, (uint32)reportUse, 0, false, NULL, go);
return false;
}
@@ -1177,7 +1179,9 @@ class SmartTrigger : public AreaTriggerScript
if (!player->IsAlive())
return false;
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "AreaTrigger %u is using SmartTrigger script", trigger->id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "AreaTrigger %u is using SmartTrigger script", trigger->id);
+#endif
SmartScript script;
script.OnInitialize(NULL, trigger);
script.ProcessEventsFor(SMART_EVENT_AREATRIGGER_ONTRIGGER, player, trigger->id);
diff --git a/src/game/AI/SmartScripts/SmartScript.cpp b/src/game/AI/SmartScripts/SmartScript.cpp
index 99a410f18a..7951d39de9 100644
--- a/src/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/game/AI/SmartScripts/SmartScript.cpp
@@ -1,8 +1,8 @@
/*
- * Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license: http://github.com/azerothcore/azerothcore-wotlk/LICENSE-GPL2
- * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- */
+* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license: http://github.com/azerothcore/azerothcore-wotlk/LICENSE-GPL2
+* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
+*/
#include "Chat.h"
#include "Cell.h"
@@ -29,23 +29,23 @@
class TrinityStringTextBuilder
{
- public:
- TrinityStringTextBuilder(WorldObject* obj, ChatMsg msgtype, int32 id, uint32 language, WorldObject* target)
- : _source(obj), _msgType(msgtype), _textId(id), _language(language), _target(target)
- {
- }
+public:
+ TrinityStringTextBuilder(WorldObject* obj, ChatMsg msgtype, int32 id, uint32 language, WorldObject* target)
+ : _source(obj), _msgType(msgtype), _textId(id), _language(language), _target(target)
+ {
+ }
- size_t operator()(WorldPacket* data, LocaleConstant locale) const
- {
- std::string text = sObjectMgr->GetTrinityString(_textId, locale);
- return ChatHandler::BuildChatPacket(*data, _msgType, Language(_language), _source, _target, text, 0, "", locale);
- }
+ size_t operator()(WorldPacket* data, LocaleConstant locale) const
+ {
+ std::string text = sObjectMgr->GetTrinityString(_textId, locale);
+ return ChatHandler::BuildChatPacket(*data, _msgType, Language(_language), _source, _target, text, 0, "", locale);
+ }
- WorldObject* _source;
- ChatMsg _msgType;
- int32 _textId;
- uint32 _language;
- WorldObject* _target;
+ WorldObject* _source;
+ ChatMsg _msgType;
+ int32 _textId;
+ uint32 _language;
+ WorldObject* _target;
};
SmartScript::SmartScript()
@@ -144,2620 +144,2691 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (unit)
mLastInvoker = unit->GetGUID();
- //if (Unit* tempInvoker = GetLastInvoker())
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: Invoker: %s (guidlow: %u)", tempInvoker->GetName().c_str(), tempInvoker->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ if (Unit* tempInvoker = GetLastInvoker())
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: Invoker: %s (guidlow: %u)", tempInvoker->GetName().c_str(), tempInvoker->GetGUIDLow());
+#endif
switch (e.GetActionType())
{
- case SMART_ACTION_TALK:
+ case SMART_ACTION_TALK:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ Creature* talker = e.target.type == 0 ? me : NULL; // xinef: tc retardness fix
+ Unit* talkTarget = NULL;
+ if (targets)
{
- ObjectList* targets = GetTargets(e, unit);
- Creature* talker = e.target.type == 0 ? me : NULL; // xinef: tc retardness fix
- Unit* talkTarget = NULL;
- if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature((*itr)) && !(*itr)->ToCreature()->IsPet()) // Prevented sending text to pets.
{
- if (IsCreature((*itr)) && !(*itr)->ToCreature()->IsPet()) // Prevented sending text to pets.
+ if (e.action.talk.useTalkTarget)
{
- if (e.action.talk.useTalkTarget)
- {
- talker = me;
- talkTarget = (*itr)->ToCreature();
- }
- else
- talker = (*itr)->ToCreature();
- break;
- }
- else if (IsPlayer((*itr)))
- {
- talker = me; // xinef: added
- talkTarget = (*itr)->ToPlayer();
- break;
+ talker = me;
+ talkTarget = (*itr)->ToCreature();
}
+ else
+ talker = (*itr)->ToCreature();
+ break;
+ }
+ else if (IsPlayer((*itr)))
+ {
+ talker = me; // xinef: added
+ talkTarget = (*itr)->ToPlayer();
+ break;
}
-
- delete targets;
}
- if (!talkTarget)
- talkTarget = GetLastInvoker();
+ delete targets;
+ }
- if (!talker)
- break;
+ if (!talkTarget)
+ talkTarget = GetLastInvoker();
- mTalkerEntry = talker->GetEntry();
- mLastTextID = e.action.talk.textGroupID;
- mTextTimer = e.action.talk.duration;
- mUseTextTimer = true;
- sCreatureTextMgr->SendChat(talker, uint8(e.action.talk.textGroupID), talkTarget);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_TALK: talker: %s (GuidLow: %u), textGuid: %u",
- // talker->GetName().c_str(), talker->GetGUIDLow(), GUID_LOPART(mTextGUID));
+ if (!talker)
break;
- }
- case SMART_ACTION_SIMPLE_TALK:
+
+ mTalkerEntry = talker->GetEntry();
+ mLastTextID = e.action.talk.textGroupID;
+ mTextTimer = e.action.talk.duration;
+ mUseTextTimer = true;
+ sCreatureTextMgr->SendChat(talker, uint8(e.action.talk.textGroupID), talkTarget);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_TALK: talker: %s (GuidLow: %u), textId: %u", talker->GetName().c_str(), talker->GetGUIDLow(), mLastTextID);
+#endif
+ break;
+ }
+ case SMART_ACTION_SIMPLE_TALK:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ sCreatureTextMgr->SendChat((*itr)->ToCreature(), uint8(e.action.talk.textGroupID), IsPlayer(GetLastInvoker()) ? GetLastInvoker() : 0);
+ else if (IsPlayer(*itr) && me)
{
- if (IsCreature(*itr))
- sCreatureTextMgr->SendChat((*itr)->ToCreature(), uint8(e.action.talk.textGroupID), IsPlayer(GetLastInvoker())? GetLastInvoker() : 0);
- else if (IsPlayer(*itr) && me)
- {
- Unit* templastInvoker = GetLastInvoker();
- sCreatureTextMgr->SendChat(me, uint8(e.action.talk.textGroupID), IsPlayer(templastInvoker) ? templastInvoker : 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_NEUTRAL, false, (*itr)->ToPlayer());
- }
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SIMPLE_TALK: talker: %s (GuidLow: %u), textGroupId: %u",
- // (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), uint8(e.action.talk.textGroupID));
+ Unit* templastInvoker = GetLastInvoker();
+ sCreatureTextMgr->SendChat(me, uint8(e.action.talk.textGroupID), IsPlayer(templastInvoker) ? templastInvoker : 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_NEUTRAL, false, (*itr)->ToPlayer());
}
-
- delete targets;
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SIMPLE_TALK: talker: %s (GuidLow: %u), textGroupId: %u",
+ (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), uint8(e.action.talk.textGroupID));
+#endif
}
- break;
+
+ delete targets;
}
- case SMART_ACTION_PLAY_EMOTE:
+ break;
+ }
+ case SMART_ACTION_PLAY_EMOTE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
- {
- (*itr)->ToUnit()->HandleEmoteCommand(e.action.emote.emote);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_PLAY_EMOTE: target: %s (GuidLow: %u), emote: %u",
- // (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), e.action.emote.emote);
- }
+ (*itr)->ToUnit()->HandleEmoteCommand(e.action.emote.emote);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_PLAY_EMOTE: target: %s (GuidLow: %u), emote: %u",
+ (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), e.action.emote.emote);
+#endif
}
-
- delete targets;
}
- break;
+
+ delete targets;
}
- case SMART_ACTION_SOUND:
+ break;
+ }
+ case SMART_ACTION_SOUND:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
- {
- (*itr)->SendPlaySound(e.action.sound.sound, e.action.sound.onlySelf > 0);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SOUND: target: %s (GuidLow: %u), sound: %u, onlyself: %u",
- // (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), e.action.sound.sound, e.action.sound.range);
- }
+ (*itr)->SendPlaySound(e.action.sound.sound, e.action.sound.onlySelf > 0);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SOUND: target: %s (GuidLow: %u), sound: %u, onlyself: %u",
+ (*itr)->GetName().c_str(), (*itr)->GetGUIDLow(), e.action.sound.sound);
+#endif
}
-
- delete targets;
}
- break;
+
+ delete targets;
}
- case SMART_ACTION_SET_FACTION:
+ break;
+ }
+ case SMART_ACTION_SET_FACTION:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
{
- if (IsCreature(*itr))
+ if (e.action.faction.factionID)
{
- if (e.action.faction.factionID)
- {
- (*itr)->ToCreature()->setFaction(e.action.faction.factionID);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_FACTION: Creature entry %u, GuidLow %u set faction to %u",
- // (*itr)->GetEntry(), (*itr)->GetGUIDLow(), e.action.faction.factionID);
- }
- else
+ (*itr)->ToCreature()->setFaction(e.action.faction.factionID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_FACTION: Creature entry %u, GuidLow %u set faction to %u",
+ (*itr)->GetEntry(), (*itr)->GetGUIDLow(), e.action.faction.factionID);
+#endif
+ }
+ else
+ {
+ if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate((*itr)->ToCreature()->GetEntry()))
{
- if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate((*itr)->ToCreature()->GetEntry()))
+ if ((*itr)->ToCreature()->getFaction() != ci->faction)
{
- if ((*itr)->ToCreature()->getFaction() != ci->faction)
- {
- (*itr)->ToCreature()->setFaction(ci->faction);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_FACTION: Creature entry %u, GuidLow %u set faction to %u",
- // (*itr)->GetEntry(), (*itr)->GetGUIDLow(), ci->faction);
- }
+ (*itr)->ToCreature()->setFaction(ci->faction);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_FACTION: Creature entry %u, GuidLow %u set faction to %u",
+ (*itr)->GetEntry(), (*itr)->GetGUIDLow(), ci->faction);
+#endif
}
}
}
}
-
- delete targets;
}
- break;
+
+ delete targets;
}
- case SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL:
+ break;
+ }
+ case SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (!IsCreature(*itr))
+ continue;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (e.action.morphOrMount.creature || e.action.morphOrMount.model)
{
- if (!IsCreature(*itr))
- continue;
-
- if (e.action.morphOrMount.creature || e.action.morphOrMount.model)
+ //set model based on entry from creature_template
+ if (e.action.morphOrMount.creature)
{
- //set model based on entry from creature_template
- if (e.action.morphOrMount.creature)
+ if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(e.action.morphOrMount.creature))
{
- if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(e.action.morphOrMount.creature))
- {
- uint32 displayId = ObjectMgr::ChooseDisplayId(ci);
- (*itr)->ToCreature()->SetDisplayId(displayId);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL: Creature entry %u, GuidLow %u set displayid to %u",
- // (*itr)->GetEntry(), (*itr)->GetGUIDLow(), display_id);
- }
- }
- //if no param1, then use value from param2 (modelId)
- else
- {
- (*itr)->ToCreature()->SetDisplayId(e.action.morphOrMount.model);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL: Creature entry %u, GuidLow %u set displayid to %u",
- // (*itr)->GetEntry(), (*itr)->GetGUIDLow(), e.action.morphOrMount.model);
+ uint32 displayId = ObjectMgr::ChooseDisplayId(ci);
+ (*itr)->ToCreature()->SetDisplayId(displayId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL: Creature entry %u, GuidLow %u set displayid to %u",
+ (*itr)->GetEntry(), (*itr)->GetGUIDLow(), displayId);
+#endif
}
}
+ //if no param1, then use value from param2 (modelId)
else
{
- (*itr)->ToCreature()->DeMorph();
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL: Creature entry %u, GuidLow %u demorphs.",
- // (*itr)->GetEntry(), (*itr)->GetGUIDLow());
+ (*itr)->ToCreature()->SetDisplayId(e.action.morphOrMount.model);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL: Creature entry %u, GuidLow %u set displayid to %u",
+ (*itr)->GetEntry(), (*itr)->GetGUIDLow(), e.action.morphOrMount.model);
+#endif
}
}
+ else
+ {
+ (*itr)->ToCreature()->DeMorph();
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL: Creature entry %u, GuidLow %u demorphs.",
+ (*itr)->GetEntry(), (*itr)->GetGUIDLow());
+#endif
+ }
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_FAIL_QUEST:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_FAIL_QUEST:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsPlayer(*itr))
{
- if (IsPlayer(*itr))
- {
- (*itr)->ToPlayer()->FailQuest(e.action.quest.quest);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_FAIL_QUEST: Player guidLow %u fails quest %u",
- // (*itr)->GetGUIDLow(), e.action.quest.quest);
- }
+ (*itr)->ToPlayer()->FailQuest(e.action.quest.quest);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_FAIL_QUEST: Player guidLow %u fails quest %u",
+ (*itr)->GetGUIDLow(), e.action.quest.quest);
+#endif
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_QUEST:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ADD_QUEST:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsPlayer(*itr))
{
- if (IsPlayer(*itr))
+ if (Quest const* q = sObjectMgr->GetQuestTemplate(e.action.quest.quest))
{
- if (Quest const* q = sObjectMgr->GetQuestTemplate(e.action.quest.quest))
- {
- (*itr)->ToPlayer()->AddQuestAndCheckCompletion(q, NULL);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ADD_QUEST: Player guidLow %u add quest %u",
- // (*itr)->GetGUIDLow(), e.action.quest.quest);
- }
+ (*itr)->ToPlayer()->AddQuestAndCheckCompletion(q, NULL);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ADD_QUEST: Player guidLow %u add quest %u",
+ (*itr)->GetGUIDLow(), e.action.quest.quest);
+#endif
}
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_REACT_STATE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_REACT_STATE:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (!IsCreature(*itr))
+ continue;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (!IsCreature(*itr))
- continue;
+ (*itr)->ToCreature()->SetReactState(ReactStates(e.action.react.state));
+ }
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_RANDOM_EMOTE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- (*itr)->ToCreature()->SetReactState(ReactStates(e.action.react.state));
+ uint32 emotes[SMART_ACTION_PARAM_COUNT];
+ emotes[0] = e.action.randomEmote.emote1;
+ emotes[1] = e.action.randomEmote.emote2;
+ emotes[2] = e.action.randomEmote.emote3;
+ emotes[3] = e.action.randomEmote.emote4;
+ emotes[4] = e.action.randomEmote.emote5;
+ emotes[5] = e.action.randomEmote.emote6;
+ uint32 temp[SMART_ACTION_PARAM_COUNT];
+ uint32 count = 0;
+ for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
+ {
+ if (emotes[i])
+ {
+ temp[count] = emotes[i];
+ ++count;
}
+ }
+ if (count == 0)
+ {
delete targets;
break;
}
- case SMART_ACTION_RANDOM_EMOTE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- uint32 emotes[SMART_ACTION_PARAM_COUNT];
- emotes[0] = e.action.randomEmote.emote1;
- emotes[1] = e.action.randomEmote.emote2;
- emotes[2] = e.action.randomEmote.emote3;
- emotes[3] = e.action.randomEmote.emote4;
- emotes[4] = e.action.randomEmote.emote5;
- emotes[5] = e.action.randomEmote.emote6;
- uint32 temp[SMART_ACTION_PARAM_COUNT];
- uint32 count = 0;
- for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit(*itr))
{
- if (emotes[i])
- {
- temp[count] = emotes[i];
- ++count;
- }
+ uint32 emote = temp[urand(0, count - 1)];
+ (*itr)->ToUnit()->HandleEmoteCommand(emote);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_RANDOM_EMOTE: Creature guidLow %u handle random emote %u",
+ (*itr)->GetGUIDLow(), emote);
+#endif
}
+ }
- if (count == 0)
- {
- delete targets;
- break;
- }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_THREAT_ALL_PCT:
+ {
+ if (!me)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ ThreatContainer::StorageType threatList = me->getThreatManager().getThreatList();
+ for (ThreatContainer::StorageType::const_iterator i = threatList.begin(); i != threatList.end(); ++i)
+ {
+ if (Unit* target = ObjectAccessor::GetUnit(*me, (*i)->getUnitGuid()))
{
- if (IsUnit(*itr))
- {
- uint32 emote = temp[urand(0, count - 1)];
- (*itr)->ToUnit()->HandleEmoteCommand(emote);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_RANDOM_EMOTE: Creature guidLow %u handle random emote %u",
- // (*itr)->GetGUIDLow(), emote);
- }
+ me->getThreatManager().modifyThreatPercent(target, e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_THREAT_ALL_PCT: Creature guidLow %u modify threat for unit %u, value %i",
+ me->GetGUIDLow(), target->GetGUIDLow(), e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
+#endif
}
+ }
+ break;
+ }
+ case SMART_ACTION_THREAT_SINGLE_PCT:
+ {
+ if (!me)
+ break;
- delete targets;
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_THREAT_ALL_PCT:
- {
- if (!me)
- break;
- ThreatContainer::StorageType threatList = me->getThreatManager().getThreatList();
- for (ThreatContainer::StorageType::const_iterator i = threatList.begin(); i != threatList.end(); ++i)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit(*itr))
{
- if (Unit* target = ObjectAccessor::GetUnit(*me, (*i)->getUnitGuid()))
- {
- me->getThreatManager().modifyThreatPercent(target, e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_THREAT_ALL_PCT: Creature guidLow %u modify threat for unit %u, value %i",
- // me->GetGUIDLow(), target->GetGUIDLow(), e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
- }
+ me->getThreatManager().modifyThreatPercent((*itr)->ToUnit(), e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_THREAT_SINGLE_PCT: Creature guidLow %u modify threat for unit %u, value %i",
+ me->GetGUIDLow(), (*itr)->GetGUIDLow(), e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
+#endif
}
- break;
}
- case SMART_ACTION_THREAT_SINGLE_PCT:
- {
- if (!me)
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ // Special handling for vehicles
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
+ if (Vehicle* vehicle = (*itr)->ToUnit()->GetVehicleKit())
+ for (SeatMap::iterator it = vehicle->Seats.begin(); it != vehicle->Seats.end(); ++it)
+ if (Player* player = ObjectAccessor::GetPlayer(*(*itr), it->second.Passenger.Guid))
+ player->AreaExploredOrEventHappens(e.action.quest.quest);
+
+ if (Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself())
{
- me->getThreatManager().modifyThreatPercent((*itr)->ToUnit(), e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_THREAT_SINGLE_PCT: Creature guidLow %u modify threat for unit %u, value %i",
- // me->GetGUIDLow(), (*itr)->GetGUIDLow(), e.action.threatPCT.threatINC ? (int32)e.action.threatPCT.threatINC : -(int32)e.action.threatPCT.threatDEC);
+ player->GroupEventHappens(e.action.quest.quest, me);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS: Player guidLow %u credited quest %u",
+ (*itr)->GetGUIDLow(), e.action.quest.quest);
+#endif
}
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_CAST:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- // Special handling for vehicles
- if (IsUnit(*itr))
- {
- if (Vehicle* vehicle = (*itr)->ToUnit()->GetVehicleKit())
- for (SeatMap::iterator it = vehicle->Seats.begin(); it != vehicle->Seats.end(); ++it)
- if (Player* player = ObjectAccessor::GetPlayer(*(*itr), it->second.Passenger.Guid))
- player->AreaExploredOrEventHappens(e.action.quest.quest);
+ Unit* caster = me;
+ // Areatrigger Cast!
+ if (e.GetScriptType() == SMART_SCRIPT_TYPE_AREATRIGGER)
+ caster = unit->SummonTrigger(unit->GetPositionX(), unit->GetPositionY(), unit->GetPositionZ(), unit->GetOrientation(), 5000);
- if (Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself())
- {
- player->GroupEventHappens(e.action.quest.quest, me);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS: Player guidLow %u credited quest %u",
- // (*itr)->GetGUIDLow(), e.action.quest.quest);
- }
- }
- }
+ if (e.action.cast.targetsLimit > 0 && targets->size() > e.action.cast.targetsLimit)
+ Trinity::Containers::RandomResizeList(*targets, e.action.cast.targetsLimit);
- delete targets;
- break;
- }
- case SMART_ACTION_CAST:
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- Unit* caster = me;
- // Areatrigger Cast!
- if (e.GetScriptType() == SMART_SCRIPT_TYPE_AREATRIGGER)
- caster = unit->SummonTrigger(unit->GetPositionX(), unit->GetPositionY(), unit->GetPositionZ(), unit->GetOrientation(), 5000);
+ if (go)
+ {
+ // Xinef: may be NULL!
+ go->CastSpell((*itr)->ToUnit(), e.action.cast.spell);
+ }
- if (e.action.cast.targetsLimit > 0 && targets->size() > e.action.cast.targetsLimit)
- Trinity::Containers::RandomResizeList(*targets, e.action.cast.targetsLimit);
+ if (!IsUnit(*itr))
+ continue;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (caster && caster != me) // Areatrigger cast
{
- if (go)
- {
- // Xinef: may be NULL!
- go->CastSpell((*itr)->ToUnit(), e.action.cast.spell);
- }
-
- if (!IsUnit(*itr))
- continue;
+ caster->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
+ }
+ else if (me && (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*itr)->ToUnit()->HasAura(e.action.cast.spell)))
+ {
+ if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
+ me->InterruptNonMeleeSpells(false);
- if (caster && caster != me) // Areatrigger cast
- {
- caster->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
- }
- else if (me && (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*itr)->ToUnit()->HasAura(e.action.cast.spell)))
+ // Xinef: flag usable only if caster has max dist set
+ if ((e.action.cast.flags & SMARTCAST_COMBAT_MOVE) && GetCasterMaxDist() > 0.0f && me->GetMaxPower(GetCasterPowerType()) > 0)
{
- if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
- me->InterruptNonMeleeSpells(false);
-
- // Xinef: flag usable only if caster has max dist set
- if ((e.action.cast.flags & SMARTCAST_COMBAT_MOVE) && GetCasterMaxDist() > 0.0f && me->GetMaxPower(GetCasterPowerType()) > 0)
+ // Xinef: check mana case only and operate movement accordingly, LoS and range is checked in targetet movement generator
+ if (me->GetPowerPct(GetCasterPowerType()) < 15.0f)
{
- // Xinef: check mana case only and operate movement accordingly, LoS and range is checked in targetet movement generator
- if (me->GetPowerPct(GetCasterPowerType()) < 15.0f)
- {
- SetCasterActualDist(0);
- CAST_AI(SmartAI, me->AI())->SetForcedCombatMove(0);
- }
- else if (GetCasterActualDist() == 0.0f && me->GetPowerPct(GetCasterPowerType()) > 30.0f)
- {
- RestoreCasterMaxDist();
- CAST_AI(SmartAI, me->AI())->SetForcedCombatMove(GetCasterActualDist());
- }
+ SetCasterActualDist(0);
+ CAST_AI(SmartAI, me->AI())->SetForcedCombatMove(0);
+ }
+ else if (GetCasterActualDist() == 0.0f && me->GetPowerPct(GetCasterPowerType()) > 30.0f)
+ {
+ RestoreCasterMaxDist();
+ CAST_AI(SmartAI, me->AI())->SetForcedCombatMove(GetCasterActualDist());
}
-
- me->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
}
+
+ me->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_INVOKER_CAST:
+ {
+ Unit* tempLastInvoker = GetLastInvoker(unit); // xinef: can be used for area triggers cast
+ if (!tempLastInvoker)
break;
- }
- case SMART_ACTION_INVOKER_CAST:
- {
- Unit* tempLastInvoker = GetLastInvoker(unit); // xinef: can be used for area triggers cast
- if (!tempLastInvoker)
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- if (e.action.cast.targetsLimit > 0 && targets->size() > e.action.cast.targetsLimit)
- Trinity::Containers::RandomResizeList(*targets, e.action.cast.targetsLimit);
+ if (e.action.cast.targetsLimit > 0 && targets->size() > e.action.cast.targetsLimit)
+ Trinity::Containers::RandomResizeList(*targets, e.action.cast.targetsLimit);
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (!IsUnit(*itr))
- continue;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (!IsUnit(*itr))
+ continue;
- if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*itr)->ToUnit()->HasAura(e.action.cast.spell))
- {
- if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
- tempLastInvoker->InterruptNonMeleeSpells(false);
+ if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*itr)->ToUnit()->HasAura(e.action.cast.spell))
+ {
+ if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
+ tempLastInvoker->InterruptNonMeleeSpells(false);
- tempLastInvoker->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
- }
+ tempLastInvoker->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_AURA:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ADD_AURA:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
- {
- (*itr)->ToUnit()->AddAura(e.action.cast.spell, (*itr)->ToUnit());
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ADD_AURA: Adding aura %u to unit %u",
- // e.action.cast.spell, (*itr)->GetGUIDLow());
- }
+ (*itr)->ToUnit()->AddAura(e.action.cast.spell, (*itr)->ToUnit());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ADD_AURA: Adding aura %u to unit %u",
+ e.action.cast.spell, (*itr)->GetGUIDLow());
+#endif
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ACTIVATE_GOBJECT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ACTIVATE_GOBJECT:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsGameObject(*itr))
{
- if (IsGameObject(*itr))
- {
- // Activate
- // xinef: wtf is this shit?
- (*itr)->ToGameObject()->SetLootState(GO_READY);
- (*itr)->ToGameObject()->UseDoorOrButton(0, e.action.activateObject.alternative ? true : false, unit);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ACTIVATE_GOBJECT. Gameobject %u (entry: %u) activated",
- // (*itr)->GetGUIDLow(), (*itr)->GetEntry());
- }
+ // Activate
+ // xinef: wtf is this shit?
+ (*itr)->ToGameObject()->SetLootState(GO_READY);
+ (*itr)->ToGameObject()->UseDoorOrButton(0, e.action.activateObject.alternative ? true : false, unit);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ACTIVATE_GOBJECT. Gameobject %u (entry: %u) activated",
+ (*itr)->GetGUIDLow(), (*itr)->GetEntry());
+#endif
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_RESET_GOBJECT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_RESET_GOBJECT:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsGameObject(*itr))
{
- if (IsGameObject(*itr))
- {
- (*itr)->ToGameObject()->ResetDoorOrButton();
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_RESET_GOBJECT. Gameobject %u (entry: %u) reset",
- // (*itr)->GetGUIDLow(), (*itr)->GetEntry());
- }
+ (*itr)->ToGameObject()->ResetDoorOrButton();
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_RESET_GOBJECT. Gameobject %u (entry: %u) reset",
+ (*itr)->GetGUIDLow(), (*itr)->GetEntry());
+#endif
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_EMOTE_STATE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_EMOTE_STATE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
- {
- (*itr)->ToUnit()->SetUInt32Value(UNIT_NPC_EMOTESTATE, e.action.emote.emote);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_EMOTE_STATE. Unit %u set emotestate to %u",
- // (*itr)->GetGUIDLow(), e.action.emote.emote);
- }
+ (*itr)->ToUnit()->SetUInt32Value(UNIT_NPC_EMOTESTATE, e.action.emote.emote);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_EMOTE_STATE. Unit %u set emotestate to %u",
+ (*itr)->GetGUIDLow(), e.action.emote.emote);
+#endif
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_UNIT_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_UNIT_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
+ if (!e.action.unitFlag.type)
{
- if (!e.action.unitFlag.type)
- {
- (*itr)->ToUnit()->SetFlag(UNIT_FIELD_FLAGS, e.action.unitFlag.flag);
- //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_UNIT_FLAG. Unit %u added flag %u to UNIT_FIELD_FLAGS",
- //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
- }
- else
- {
- (*itr)->ToUnit()->SetFlag(UNIT_FIELD_FLAGS_2, e.action.unitFlag.flag);
- //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_UNIT_FLAG. Unit %u added flag %u to UNIT_FIELD_FLAGS_2",
- //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
- }
+ (*itr)->ToUnit()->SetFlag(UNIT_FIELD_FLAGS, e.action.unitFlag.flag);
+ //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_UNIT_FLAG. Unit %u added flag %u to UNIT_FIELD_FLAGS",
+ //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
+ }
+ else
+ {
+ (*itr)->ToUnit()->SetFlag(UNIT_FIELD_FLAGS_2, e.action.unitFlag.flag);
+ //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_UNIT_FLAG. Unit %u added flag %u to UNIT_FIELD_FLAGS_2",
+ //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
}
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_UNIT_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_REMOVE_UNIT_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit(*itr))
{
- if (IsUnit(*itr))
+ if (!e.action.unitFlag.type)
{
- if (!e.action.unitFlag.type)
- {
- (*itr)->ToUnit()->RemoveFlag(UNIT_FIELD_FLAGS, e.action.unitFlag.flag);
- //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_REMOVE_UNIT_FLAG. Unit %u removed flag %u to UNIT_FIELD_FLAGS",
- //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
- }
- else
- {
- (*itr)->ToUnit()->RemoveFlag(UNIT_FIELD_FLAGS_2, e.action.unitFlag.flag);
- //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_REMOVE_UNIT_FLAG. Unit %u removed flag %u to UNIT_FIELD_FLAGS_2",
- //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
- }
+ (*itr)->ToUnit()->RemoveFlag(UNIT_FIELD_FLAGS, e.action.unitFlag.flag);
+ //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_REMOVE_UNIT_FLAG. Unit %u removed flag %u to UNIT_FIELD_FLAGS",
+ //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
+ }
+ else
+ {
+ (*itr)->ToUnit()->RemoveFlag(UNIT_FIELD_FLAGS_2, e.action.unitFlag.flag);
+ //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_REMOVE_UNIT_FLAG. Unit %u removed flag %u to UNIT_FIELD_FLAGS_2",
+ //(*itr)->GetGUIDLow(), e.action.unitFlag.flag);
}
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_AUTO_ATTACK:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_AUTO_ATTACK:
- {
- if (!IsSmart())
- break;
- CAST_AI(SmartAI, me->AI())->SetAutoAttack(e.action.autoAttack.attack);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_AUTO_ATTACK: Creature: %u bool on = %u",
- // me->GetGUIDLow(), e.action.autoAttack.attack);
+ CAST_AI(SmartAI, me->AI())->SetAutoAttack(e.action.autoAttack.attack);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_AUTO_ATTACK: Creature: %u bool on = %u",
+ me->GetGUIDLow(), e.action.autoAttack.attack);
+#endif
+ break;
+ }
+ case SMART_ACTION_ALLOW_COMBAT_MOVEMENT:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_ALLOW_COMBAT_MOVEMENT:
+
+ // Xinef: Fix Combat Movement
+ bool move = e.action.combatMove.move;
+ if (move && GetMaxCombatDist() && e.GetEventType() == SMART_EVENT_MANA_PCT)
{
- if (!IsSmart())
- break;
+ SetActualCombatDist(0);
+ CAST_AI(SmartAI, me->AI())->SetForcedCombatMove(0);
+ }
+ else
+ CAST_AI(SmartAI, me->AI())->SetCombatMove(move);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ALLOW_COMBAT_MOVEMENT: Creature %u bool on = %u",
+ me->GetGUIDLow(), e.action.combatMove.move);
+#endif
+ break;
+ }
+ case SMART_ACTION_SET_EVENT_PHASE:
+ {
+ if (!GetBaseObject())
+ break;
- // Xinef: Fix Combat Movement
- bool move = e.action.combatMove.move;
- if (move && GetMaxCombatDist() && e.GetEventType() == SMART_EVENT_MANA_PCT)
- {
- SetActualCombatDist(0);
- CAST_AI(SmartAI, me->AI())->SetForcedCombatMove(0);
- }
- else
- CAST_AI(SmartAI, me->AI())->SetCombatMove(move);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ALLOW_COMBAT_MOVEMENT: Creature %u bool on = %u",
- // me->GetGUIDLow(), e.action.combatMove.move);
+ SetPhase(e.action.setEventPhase.phase);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_EVENT_PHASE: Creature %u set event phase %u",
+ GetBaseObject()->GetGUIDLow(), e.action.setEventPhase.phase);
+#endif
+ break;
+ }
+ case SMART_ACTION_INC_EVENT_PHASE:
+ {
+ if (!GetBaseObject())
break;
- }
- case SMART_ACTION_SET_EVENT_PHASE:
- {
- if (!GetBaseObject())
- break;
- SetPhase(e.action.setEventPhase.phase);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SET_EVENT_PHASE: Creature %u set event phase %u",
- // GetBaseObject()->GetGUIDLow(), e.action.setEventPhase.phase);
+ IncPhase(e.action.incEventPhase.inc);
+ DecPhase(e.action.incEventPhase.dec);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_INC_EVENT_PHASE: Creature %u inc event phase by %u, "
+ "decrease by %u", GetBaseObject()->GetGUIDLow(), e.action.incEventPhase.inc, e.action.incEventPhase.dec);
+#endif
+ break;
+ }
+ case SMART_ACTION_EVADE:
+ {
+ if (!GetBaseObject())
break;
- }
- case SMART_ACTION_INC_EVENT_PHASE:
- {
- if (!GetBaseObject())
- break;
- IncPhase(e.action.incEventPhase.inc);
- DecPhase(e.action.incEventPhase.dec);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_INC_EVENT_PHASE: Creature %u inc event phase by %u, "
- // "decrease by %u", GetBaseObject()->GetGUIDLow(), e.action.incEventPhase.inc, e.action.incEventPhase.dec);
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_EVADE:
- {
- if (!GetBaseObject())
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature((*itr)))
+ if ((*itr)->ToCreature()->IsAIEnabled)
+ (*itr)->ToCreature()->AI()->EnterEvadeMode();
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature((*itr)))
- if ((*itr)->ToCreature()->IsAIEnabled)
- (*itr)->ToCreature()->AI()->EnterEvadeMode();
-
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_FLEE_FOR_ASSIST:
+ {
+ // Xinef: do not allow to flee without control (stun, fear etc)
+ if (!me || me->HasUnitState(UNIT_STATE_LOST_CONTROL) || me->GetSpeed(MOVE_RUN) < 0.1f)
break;
- }
- case SMART_ACTION_FLEE_FOR_ASSIST:
- {
- // Xinef: do not allow to flee without control (stun, fear etc)
- if (!me || me->HasUnitState(UNIT_STATE_LOST_CONTROL) || me->GetSpeed(MOVE_RUN) < 0.1f)
- break;
- me->DoFleeToGetAssistance();
- if (e.action.flee.withEmote)
- {
- TrinityStringTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, LANG_FLEE, LANG_UNIVERSAL, NULL);
- sCreatureTextMgr->SendChatPacket(me, builder, CHAT_MSG_MONSTER_EMOTE);
- }
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_FLEE_FOR_ASSIST: Creature %u DoFleeToGetAssistance", me->GetGUIDLow());
- break;
- }
- case SMART_ACTION_COMBAT_STOP:
+ me->DoFleeToGetAssistance();
+ if (e.action.flee.withEmote)
{
- if (!me)
- break;
+ TrinityStringTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, LANG_FLEE, LANG_UNIVERSAL, NULL);
+ sCreatureTextMgr->SendChatPacket(me, builder, CHAT_MSG_MONSTER_EMOTE);
+ }
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_FLEE_FOR_ASSIST: Creature %u DoFleeToGetAssistance", me->GetGUIDLow());
+#endif
+ break;
+ }
+ case SMART_ACTION_COMBAT_STOP:
+ {
+ if (!me)
+ break;
- me->CombatStop(true);
+ me->CombatStop(true);
+ break;
+ }
+ case SMART_ACTION_CALL_GROUPEVENTHAPPENS:
+ {
+ if (!GetBaseObject())
break;
- }
- case SMART_ACTION_CALL_GROUPEVENTHAPPENS:
- {
- if (!GetBaseObject())
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit((*itr)))
{
- if (IsUnit((*itr)))
- {
- if (Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself())
- player->GroupEventHappens(e.action.quest.quest, GetBaseObject());
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_GROUPEVENTHAPPENS: Player %u, group credit for quest %u",
- // (*itr)->GetGUIDLow(), e.action.quest.quest);
- }
+ if (Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself())
+ player->GroupEventHappens(e.action.quest.quest, GetBaseObject());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_GROUPEVENTHAPPENS: Player %u, group credit for quest %u",
+ (*itr)->GetGUIDLow(), e.action.quest.quest);
+#endif
}
-
- delete targets;
- break;
}
- case SMART_ACTION_REMOVEAURASFROMSPELL:
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVEAURASFROMSPELL:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (!IsUnit((*itr)))
+ continue;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (e.action.removeAura.spell)
{
- if (!IsUnit((*itr)))
- continue;
-
- if (e.action.removeAura.spell)
+ if (e.action.removeAura.charges)
{
- if (e.action.removeAura.charges)
- {
- if (Aura* aur = (*itr)->ToUnit()->GetAura(e.action.removeAura.spell))
- aur->ModCharges(-static_cast<int32>(e.action.removeAura.charges), AURA_REMOVE_BY_EXPIRE);
- }
- else
- (*itr)->ToUnit()->RemoveAurasDueToSpell(e.action.removeAura.spell);
+ if (Aura* aur = (*itr)->ToUnit()->GetAura(e.action.removeAura.spell))
+ aur->ModCharges(-static_cast<int32>(e.action.removeAura.charges), AURA_REMOVE_BY_EXPIRE);
}
else
- (*itr)->ToUnit()->RemoveAllAuras();
-
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_REMOVEAURASFROMSPELL: Unit %u, spell %u",
- // (*itr)->GetGUIDLow(), e.action.removeAura.spell);
+ (*itr)->ToUnit()->RemoveAurasDueToSpell(e.action.removeAura.spell);
}
+ else
+ (*itr)->ToUnit()->RemoveAllAuras();
- delete targets;
- break;
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_REMOVEAURASFROMSPELL: Unit %u, spell %u",
+ (*itr)->GetGUIDLow(), e.action.removeAura.spell);
+#endif
}
- case SMART_ACTION_FOLLOW:
- {
- if (!IsSmart())
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- {
- CAST_AI(SmartAI, me->AI())->StopFollow(false);
- break;
- }
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsUnit((*itr)))
- {
- float angle = e.action.follow.angle > 6 ? (e.action.follow.angle * M_PI / 180.0f) : e.action.follow.angle;
- CAST_AI(SmartAI, me->AI())->SetFollow((*itr)->ToUnit(), float(int32(e.action.follow.dist))+0.1f, angle, e.action.follow.credit, e.action.follow.entry, e.action.follow.creditType, e.action.follow.aliveState);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_FOLLOW: Creature %u following target %u",
- // me->GetGUIDLow(), (*itr)->GetGUIDLow());
- break;
- }
- }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_FOLLOW:
+ {
+ if (!IsSmart())
+ break;
- delete targets;
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ {
+ CAST_AI(SmartAI, me->AI())->StopFollow(false);
break;
}
- case SMART_ACTION_RANDOM_PHASE:
- {
- if (!GetBaseObject())
- break;
- uint32 phases[SMART_ACTION_PARAM_COUNT];
- phases[0] = e.action.randomPhase.phase1;
- phases[1] = e.action.randomPhase.phase2;
- phases[2] = e.action.randomPhase.phase3;
- phases[3] = e.action.randomPhase.phase4;
- phases[4] = e.action.randomPhase.phase5;
- phases[5] = e.action.randomPhase.phase6;
- uint32 temp[SMART_ACTION_PARAM_COUNT];
- uint32 count = 0;
- for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsUnit((*itr)))
{
- if (phases[i] > 0)
- {
- temp[count] = phases[i];
- ++count;
- }
- }
-
- if (count == 0)
+ float angle = e.action.follow.angle > 6 ? (e.action.follow.angle * M_PI / 180.0f) : e.action.follow.angle;
+ CAST_AI(SmartAI, me->AI())->SetFollow((*itr)->ToUnit(), float(int32(e.action.follow.dist)) + 0.1f, angle, e.action.follow.credit, e.action.follow.entry, e.action.follow.creditType, e.action.follow.aliveState);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_FOLLOW: Creature %u following target %u",
+ me->GetGUIDLow(), (*itr)->GetGUIDLow());
+#endif
break;
-
- uint32 phase = temp[urand(0, count - 1)];
- SetPhase(phase);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_RANDOM_PHASE: Creature %u sets event phase to %u",
- // GetBaseObject()->GetGUIDLow(), phase);
- break;
+ }
}
- case SMART_ACTION_RANDOM_PHASE_RANGE:
- {
- if (!GetBaseObject())
- break;
- uint32 phase = urand(e.action.randomPhaseRange.phaseMin, e.action.randomPhaseRange.phaseMax);
- SetPhase(phase);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_RANDOM_PHASE_RANGE: Creature %u sets event phase to %u",
- // GetBaseObject()->GetGUIDLow(), phase);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_RANDOM_PHASE:
+ {
+ if (!GetBaseObject())
break;
- }
- case SMART_ACTION_CALL_KILLEDMONSTER:
+
+ uint32 phases[SMART_ACTION_PARAM_COUNT];
+ phases[0] = e.action.randomPhase.phase1;
+ phases[1] = e.action.randomPhase.phase2;
+ phases[2] = e.action.randomPhase.phase3;
+ phases[3] = e.action.randomPhase.phase4;
+ phases[4] = e.action.randomPhase.phase5;
+ phases[5] = e.action.randomPhase.phase6;
+ uint32 temp[SMART_ACTION_PARAM_COUNT];
+ uint32 count = 0;
+ for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
{
- if (trigger && IsPlayer(unit))
- {
- unit->ToPlayer()->RewardPlayerAndGroupAtEvent(e.action.killedMonster.creature, unit);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_KILLEDMONSTER: (trigger == true) Player %u, Killcredit: %u",
- // unit->GetGUIDLow(), e.action.killedMonster.creature);
- }
- else if (e.target.type == SMART_TARGET_NONE || e.target.type == SMART_TARGET_SELF) // Loot recipient and his group members
+ if (phases[i] > 0)
{
- if (!me)
- break;
-
- if (Player* player = me->GetLootRecipient())
- {
- player->RewardPlayerAndGroupAtEvent(e.action.killedMonster.creature, player);
- //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_KILLEDMONSTER: Player %u, Killcredit: %u",
- // player->GetGUIDLow(), e.action.killedMonster.creature);
- }
+ temp[count] = phases[i];
+ ++count;
}
- else // Specific target type
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (!IsUnit(*itr))
- continue;
-
- Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself();
- if (!player)
- continue;
+ }
- player->RewardPlayerAndGroupAtEvent(e.action.killedMonster.creature, player);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_KILLEDMONSTER: Player %u, Killcredit: %u",
- // (*itr)->GetGUIDLow(), e.action.killedMonster.creature);
- }
+ if (count == 0)
+ break;
- delete targets;
- }
+ uint32 phase = temp[urand(0, count - 1)];
+ SetPhase(phase);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_RANDOM_PHASE: Creature %u sets event phase to %u",
+ GetBaseObject()->GetGUIDLow(), phase);
+#endif
+ break;
+ }
+ case SMART_ACTION_RANDOM_PHASE_RANGE:
+ {
+ if (!GetBaseObject())
break;
+
+ uint32 phase = urand(e.action.randomPhaseRange.phaseMin, e.action.randomPhaseRange.phaseMax);
+ SetPhase(phase);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_RANDOM_PHASE_RANGE: Creature %u sets event phase to %u",
+ GetBaseObject()->GetGUIDLow(), phase);
+#endif
+ break;
+ }
+ case SMART_ACTION_CALL_KILLEDMONSTER:
+ {
+ if (trigger && IsPlayer(unit))
+ {
+ unit->ToPlayer()->RewardPlayerAndGroupAtEvent(e.action.killedMonster.creature, unit);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_KILLEDMONSTER: (trigger == true) Player %u, Killcredit: %u",
+ unit->GetGUIDLow(), e.action.killedMonster.creature);
+#endif
}
- case SMART_ACTION_SET_INST_DATA:
+ else if (e.target.type == SMART_TARGET_NONE || e.target.type == SMART_TARGET_SELF) // Loot recipient and his group members
{
- WorldObject* obj = GetBaseObject();
- if (!obj)
- obj = unit;
-
- if (!obj)
+ if (!me)
break;
- InstanceScript* instance = obj->GetInstanceScript();
- if (!instance)
+ if (Player* player = me->GetLootRecipient())
{
- sLog->outErrorDb("SmartScript: Event %u attempt to set instance data without instance script. EntryOrGuid %d", e.GetEventType(), e.entryOrGuid);
- break;
+ player->RewardPlayerAndGroupAtEvent(e.action.killedMonster.creature, player);
+ //TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_KILLEDMONSTER: Player %u, Killcredit: %u",
+ // player->GetGUIDLow(), e.action.killedMonster.creature);
}
-
- instance->SetData(e.action.setInstanceData.field, e.action.setInstanceData.data);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_SET_INST_DATA: Field: %u, data: %u",
- // e.action.setInstanceData.field, e.action.setInstanceData.data);
- break;
}
- case SMART_ACTION_SET_INST_DATA64:
+ else // Specific target type
{
- WorldObject* obj = GetBaseObject();
- if (!obj)
- obj = unit;
-
- if (!obj)
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- InstanceScript* instance = obj->GetInstanceScript();
- if (!instance)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- sLog->outErrorDb("SmartScript: Event %u attempt to set instance data without instance script. EntryOrGuid %d", e.GetEventType(), e.entryOrGuid);
- break;
- }
+ if (!IsUnit(*itr))
+ continue;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself();
+ if (!player)
+ continue;
- instance->SetData64(e.action.setInstanceData64.field, targets->front()->GetGUID());
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_SET_INST_DATA64: Field: %u, data: "UI64FMTD,
- // e.action.setInstanceData64.field, targets->front()->GetGUID());
+ player->RewardPlayerAndGroupAtEvent(e.action.killedMonster.creature, player);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_CALL_KILLEDMONSTER: Player %u, Killcredit: %u",
+ (*itr)->GetGUIDLow(), e.action.killedMonster.creature);
+#endif
+ }
delete targets;
- break;
}
- case SMART_ACTION_UPDATE_TEMPLATE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature, NULL, !e.action.updateTemplate.doNotChangeLevel);
+ break;
+ }
+ case SMART_ACTION_SET_INST_DATA:
+ {
+ WorldObject* obj = GetBaseObject();
+ if (!obj)
+ obj = unit;
- delete targets;
+ if (!obj)
break;
- }
- case SMART_ACTION_DIE:
+
+ InstanceScript* instance = obj->GetInstanceScript();
+ if (!instance)
{
- if (me && !me->isDead())
- {
- Unit::Kill(me, me);
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_DIE: Creature %u", me->GetGUIDLow());
- }
+ sLog->outErrorDb("SmartScript: Event %u attempt to set instance data without instance script. EntryOrGuid %d", e.GetEventType(), e.entryOrGuid);
break;
}
- case SMART_ACTION_SET_IN_COMBAT_WITH_ZONE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->SetInCombatWithZone();
+ instance->SetData(e.action.setInstanceData.field, e.action.setInstanceData.data);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_SET_INST_DATA: Field: %u, data: %u",
+ e.action.setInstanceData.field, e.action.setInstanceData.data);
+#endif
+ break;
+ }
+ case SMART_ACTION_SET_INST_DATA64:
+ {
+ WorldObject* obj = GetBaseObject();
+ if (!obj)
+ obj = unit;
- delete targets;
+ if (!obj)
break;
- }
- case SMART_ACTION_CALL_FOR_HELP:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- {
- (*itr)->ToCreature()->CallForHelp((float)e.action.callHelp.range);
- if (e.action.callHelp.withEmote)
- {
- TrinityStringTextBuilder builder(*itr, CHAT_MSG_MONSTER_EMOTE, LANG_CALL_FOR_HELP, LANG_UNIVERSAL, NULL);
- sCreatureTextMgr->SendChatPacket(*itr, builder, CHAT_MSG_MONSTER_EMOTE);
- }
- }
-
- delete targets;
- break;
- }
- case SMART_ACTION_SET_SHEATH:
+ InstanceScript* instance = obj->GetInstanceScript();
+ if (!instance)
{
- if (me)
- {
- me->SetSheath(SheathState(e.action.setSheath.sheath));
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_SET_SHEATH: Creature %u, State: %u",
- // me->GetGUIDLow(), e.action.setSheath.sheath);
- }
+ sLog->outErrorDb("SmartScript: Event %u attempt to set instance data without instance script. EntryOrGuid %d", e.GetEventType(), e.entryOrGuid);
break;
}
- case SMART_ACTION_FORCE_DESPAWN:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsCreature(*itr))
- (*itr)->ToCreature()->DespawnOrUnsummon(e.action.forceDespawn.delay + 1);
- else if (IsGameObject(*itr))
- (*itr)->ToGameObject()->Delete();
- }
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- delete targets;
+ instance->SetData64(e.action.setInstanceData64.field, targets->front()->GetGUID());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_SET_INST_DATA64: Field: %u, data: %u",
+ e.action.setInstanceData64.field, targets->front()->GetGUID());
+#endif
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_UPDATE_TEMPLATE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_INGAME_PHASE_MASK:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature, NULL, !e.action.updateTemplate.doNotChangeLevel);
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_DIE:
+ {
+ if (me && !me->isDead())
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ Unit::Kill(me, me);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_DIE: Creature %u", me->GetGUIDLow());
+#endif
+ }
+ break;
+ }
+ case SMART_ACTION_SET_IN_COMBAT_WITH_ZONE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
- else if (IsGameObject(*itr))
- (*itr)->ToGameObject()->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->SetInCombatWithZone();
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_CALL_FOR_HELP:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
{
- if (!IsUnit(*itr))
- continue;
-
- if (e.action.morphOrMount.creature || e.action.morphOrMount.model)
+ (*itr)->ToCreature()->CallForHelp((float)e.action.callHelp.range);
+ if (e.action.callHelp.withEmote)
{
- if (e.action.morphOrMount.creature > 0)
- {
- if (CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(e.action.morphOrMount.creature))
- (*itr)->ToUnit()->Mount(ObjectMgr::ChooseDisplayId(cInfo));
- }
- else
- (*itr)->ToUnit()->Mount(e.action.morphOrMount.model);
+ TrinityStringTextBuilder builder(*itr, CHAT_MSG_MONSTER_EMOTE, LANG_CALL_FOR_HELP, LANG_UNIVERSAL, NULL);
+ sCreatureTextMgr->SendChatPacket(*itr, builder, CHAT_MSG_MONSTER_EMOTE);
}
- else
- (*itr)->ToUnit()->Dismount();
}
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_SHEATH:
+ {
+ if (me)
+ {
+ me->SetSheath(SheathState(e.action.setSheath.sheath));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction: SMART_ACTION_SET_SHEATH: Creature %u, State: %u",
+ me->GetGUIDLow(), e.action.setSheath.sheath);
+#endif
+ }
+ break;
+ }
+ case SMART_ACTION_FORCE_DESPAWN:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->DespawnOrUnsummon(e.action.forceDespawn.delay + 1);
+ else if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->Delete();
}
- case SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL:
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_INGAME_PHASE_MASK:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
+ else if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetPhaseMask(e.action.ingamePhaseMask.mask, true);
+ }
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (!IsUnit(*itr))
+ continue;
+
+ if (e.action.morphOrMount.creature || e.action.morphOrMount.model)
{
- if (IsCreature(*itr))
+ if (e.action.morphOrMount.creature > 0)
{
- SmartAI* ai = CAST_AI(SmartAI, (*itr)->ToCreature()->AI());
- if (!ai)
- continue;
-
- if (e.action.invincHP.percent)
- ai->SetInvincibilityHpLevel((*itr)->ToCreature()->CountPctFromMaxHealth(e.action.invincHP.percent));
- else
- ai->SetInvincibilityHpLevel(e.action.invincHP.minHP);
+ if (CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(e.action.morphOrMount.creature))
+ (*itr)->ToUnit()->Mount(ObjectMgr::ChooseDisplayId(cInfo));
}
+ else
+ (*itr)->ToUnit()->Mount(e.action.morphOrMount.model);
}
+ else
+ (*itr)->ToUnit()->Dismount();
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_DATA:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsCreature(*itr))
{
- if (IsCreature(*itr))
- (*itr)->ToCreature()->AI()->SetData(e.action.setData.field, e.action.setData.data);
- else if (IsGameObject(*itr))
- (*itr)->ToGameObject()->AI()->SetData(e.action.setData.field, e.action.setData.data);
- }
+ SmartAI* ai = CAST_AI(SmartAI, (*itr)->ToCreature()->AI());
+ if (!ai)
+ continue;
- delete targets;
- break;
+ if (e.action.invincHP.percent)
+ ai->SetInvincibilityHpLevel((*itr)->ToCreature()->CountPctFromMaxHealth(e.action.invincHP.percent));
+ else
+ ai->SetInvincibilityHpLevel(e.action.invincHP.minHP);
+ }
}
- case SMART_ACTION_MOVE_FORWARD:
- {
- if (!me)
- break;
- float x, y, z;
- me->GetClosePoint(x, y, z, me->GetObjectSize() / 3, (float)e.action.moveRandom.distance);
- me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, x, y, z);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_DATA:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_RISE_UP:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (!me)
- break;
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->AI()->SetData(e.action.setData.field, e.action.setData.data);
+ else if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->AI()->SetData(e.action.setData.field, e.action.setData.data);
+ }
- me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + (float)e.action.moveRandom.distance);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_MOVE_FORWARD:
+ {
+ if (!me)
break;
- }
- case SMART_ACTION_SET_VISIBILITY:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetVisible(e.action.visibility.state ? true : false);
+ float x, y, z;
+ me->GetClosePoint(x, y, z, me->GetObjectSize() / 3, (float)e.action.moveRandom.distance);
+ me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, x, y, z);
+ break;
+ }
+ case SMART_ACTION_RISE_UP:
+ {
+ if (!me)
+ break;
- delete targets;
+ me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + (float)e.action.moveRandom.distance);
+ break;
+ }
+ case SMART_ACTION_SET_VISIBILITY:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_ACTIVE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- (*itr)->setActive(e.action.setActive.state ? true : false);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetVisible(e.action.visibility.state ? true : false);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_ACTIVE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ATTACK_START:
- {
- if (!me)
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- // xinef: attack random target
- if (Unit* target = Trinity::Containers::SelectRandomContainerElement(*targets)->ToUnit())
- me->AI()->AttackStart(target);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ (*itr)->setActive(e.action.setActive.state ? true : false);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ATTACK_START:
+ {
+ if (!me)
break;
- }
- case SMART_ACTION_SUMMON_CREATURE:
- {
- ObjectList* targets = GetTargets(e, unit);
- WorldObject* summoner = GetBaseObject() ? GetBaseObject() : unit;
- if (!summoner)
- break;
- if (targets)
- {
- float x, y, z, o;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- (*itr)->GetPosition(x, y, z, o);
- x += e.target.x;
- y += e.target.y;
- z += e.target.z;
- o += e.target.o;
- if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, x, y, z, o, (TempSummonType)e.action.summonCreature.type, e.action.summonCreature.duration))
- {
- if (e.action.summonCreature.attackInvoker == 2) // pussywizard: proper attackInvoker implementation, but not spoiling tc shitness
- summon->AI()->AttackStart(unit);
- else if (e.action.summonCreature.attackInvoker)
- summon->AI()->AttackStart((*itr)->ToUnit());
- else if (me && e.action.summonCreature.attackScriptOwner)
- summon->AI()->AttackStart(me);
- }
- }
-
- delete targets;
- }
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- if (e.GetTargetType() != SMART_TARGET_POSITION)
- break;
+ // xinef: attack random target
+ if (Unit* target = Trinity::Containers::SelectRandomContainerElement(*targets)->ToUnit())
+ me->AI()->AttackStart(target);
- if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, e.target.x, e.target.y, e.target.z, e.target.o, (TempSummonType)e.action.summonCreature.type, e.action.summonCreature.duration))
- {
- if (unit && e.action.summonCreature.attackInvoker)
- summon->AI()->AttackStart(unit);
- else if (me && e.action.summonCreature.attackScriptOwner)
- summon->AI()->AttackStart(me);
- }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SUMMON_CREATURE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ WorldObject* summoner = GetBaseObject() ? GetBaseObject() : unit;
+ if (!summoner)
break;
- }
- case SMART_ACTION_SUMMON_GO:
- {
- if (!GetBaseObject())
- break;
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ if (targets)
+ {
+ float x, y, z, o;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- float x, y, z, o;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ (*itr)->GetPosition(x, y, z, o);
+ x += e.target.x;
+ y += e.target.y;
+ z += e.target.z;
+ o += e.target.o;
+ if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, x, y, z, o, (TempSummonType)e.action.summonCreature.type, e.action.summonCreature.duration))
{
- // xinef: allow gameobjects to summon gameobjects!
- //if(!IsUnit((*itr)))
- // continue;
-
- (*itr)->GetPosition(x, y, z, o);
- x += e.target.x;
- y += e.target.y;
- z += e.target.z;
- o += e.target.o;
- if (!e.action.summonGO.targetsummon)
- GetBaseObject()->SummonGameObject(e.action.summonGO.entry, x, y, z, o, 0, 0, 0, 0, e.action.summonGO.despawnTime);
- else
- (*itr)->SummonGameObject(e.action.summonGO.entry, GetBaseObject()->GetPositionX(), GetBaseObject()->GetPositionY(), GetBaseObject()->GetPositionZ(), GetBaseObject()->GetOrientation(), 0, 0, 0, 0, e.action.summonGO.despawnTime);
+ if (e.action.summonCreature.attackInvoker == 2) // pussywizard: proper attackInvoker implementation, but not spoiling tc shitness
+ summon->AI()->AttackStart(unit);
+ else if (e.action.summonCreature.attackInvoker)
+ summon->AI()->AttackStart((*itr)->ToUnit());
+ else if (me && e.action.summonCreature.attackScriptOwner)
+ summon->AI()->AttackStart(me);
}
-
- delete targets;
}
- if (e.GetTargetType() != SMART_TARGET_POSITION)
- break;
+ delete targets;
+ }
- GetBaseObject()->SummonGameObject(e.action.summonGO.entry, e.target.x, e.target.y, e.target.z, e.target.o, 0, 0, 0, 0, e.action.summonGO.despawnTime);
+ if (e.GetTargetType() != SMART_TARGET_POSITION)
break;
- }
- case SMART_ACTION_KILL_UNIT:
+
+ if (Creature* summon = summoner->SummonCreature(e.action.summonCreature.creature, e.target.x, e.target.y, e.target.z, e.target.o, (TempSummonType)e.action.summonCreature.type, e.action.summonCreature.duration))
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (unit && e.action.summonCreature.attackInvoker)
+ summon->AI()->AttackStart(unit);
+ else if (me && e.action.summonCreature.attackScriptOwner)
+ summon->AI()->AttackStart(me);
+ }
+ break;
+ }
+ case SMART_ACTION_SUMMON_GO:
+ {
+ if (!GetBaseObject())
+ break;
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
+ {
+ float x, y, z, o;
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (!IsUnit(*itr))
- continue;
-
- Unit::Kill((*itr)->ToUnit(), (*itr)->ToUnit());
+ // xinef: allow gameobjects to summon gameobjects!
+ //if(!IsUnit((*itr)))
+ // continue;
+
+ (*itr)->GetPosition(x, y, z, o);
+ x += e.target.x;
+ y += e.target.y;
+ z += e.target.z;
+ o += e.target.o;
+ if (!e.action.summonGO.targetsummon)
+ GetBaseObject()->SummonGameObject(e.action.summonGO.entry, x, y, z, o, 0, 0, 0, 0, e.action.summonGO.despawnTime);
+ else
+ (*itr)->SummonGameObject(e.action.summonGO.entry, GetBaseObject()->GetPositionX(), GetBaseObject()->GetPositionY(), GetBaseObject()->GetPositionZ(), GetBaseObject()->GetOrientation(), 0, 0, 0, 0, e.action.summonGO.despawnTime);
}
delete targets;
- break;
}
- case SMART_ACTION_INSTALL_AI_TEMPLATE:
- {
- InstallTemplate(e);
+
+ if (e.GetTargetType() != SMART_TARGET_POSITION)
break;
- }
- case SMART_ACTION_ADD_ITEM:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (!IsPlayer(*itr))
- continue;
+ GetBaseObject()->SummonGameObject(e.action.summonGO.entry, e.target.x, e.target.y, e.target.z, e.target.o, 0, 0, 0, 0, e.action.summonGO.despawnTime);
+ break;
+ }
+ case SMART_ACTION_KILL_UNIT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- (*itr)->ToPlayer()->AddItem(e.action.item.entry, e.action.item.count);
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (!IsUnit(*itr))
+ continue;
- delete targets;
- break;
+ Unit::Kill((*itr)->ToUnit(), (*itr)->ToUnit());
}
- case SMART_ACTION_REMOVE_ITEM:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (!IsPlayer(*itr))
- continue;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_INSTALL_AI_TEMPLATE:
+ {
+ InstallTemplate(e);
+ break;
+ }
+ case SMART_ACTION_ADD_ITEM:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- (*itr)->ToPlayer()->DestroyItemCount(e.action.item.entry, e.action.item.count, true);
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (!IsPlayer(*itr))
+ continue;
- delete targets;
- break;
+ (*itr)->ToPlayer()->AddItem(e.action.item.entry, e.action.item.count);
}
- case SMART_ACTION_STORE_TARGET_LIST:
- {
- ObjectList* targets = GetTargets(e, unit);
- StoreTargetList(targets, e.action.storeTargets.id);
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_ITEM:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_TELEPORT:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (!IsPlayer(*itr))
+ continue;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsPlayer(*itr))
- (*itr)->ToPlayer()->TeleportTo(e.action.teleport.mapID, e.target.x, e.target.y, e.target.z, e.target.o);
- else if (IsUnit(*itr))
- (*itr)->ToUnit()->NearTeleportTo(e.target.x, e.target.y, e.target.z, e.target.o);
- }
+ (*itr)->ToPlayer()->DestroyItemCount(e.action.item.entry, e.action.item.count, true);
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_STORE_TARGET_LIST:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ StoreTargetList(targets, e.action.storeTargets.id);
+ break;
+ }
+ case SMART_ACTION_TELEPORT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_FLY:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (!IsSmart())
- break;
+ if (IsPlayer(*itr))
+ (*itr)->ToPlayer()->TeleportTo(e.action.teleport.mapID, e.target.x, e.target.y, e.target.z, e.target.o);
+ else if (IsUnit(*itr))
+ (*itr)->ToUnit()->NearTeleportTo(e.target.x, e.target.y, e.target.z, e.target.o);
+ }
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_FLY:
+ {
+ if (!IsSmart())
+ break;
- CAST_AI(SmartAI, me->AI())->SetFly(e.action.setFly.fly);
- // Xinef: Set speed if any
- if (e.action.setFly.speed)
- me->SetSpeed(MOVE_RUN, float(e.action.setFly.speed/100.0f), true);
+ CAST_AI(SmartAI, me->AI())->SetFly(e.action.setFly.fly);
+ // Xinef: Set speed if any
+ if (e.action.setFly.speed)
+ me->SetSpeed(MOVE_RUN, float(e.action.setFly.speed / 100.0f), true);
- // Xinef: this wil be executed only if state is different
- me->SetDisableGravity(e.action.setFly.disableGravity);
+ // Xinef: this wil be executed only if state is different
+ me->SetDisableGravity(e.action.setFly.disableGravity);
+ break;
+ }
+ case SMART_ACTION_SET_RUN:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_RUN:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (IsCreature(*itr))
+ {
+ if (IsSmart((*itr)->ToCreature()))
+ CAST_AI(SmartAI, (*itr)->ToCreature()->AI())->SetRun(e.action.setRun.run);
+ else
+ (*itr)->ToCreature()->SetWalk(e.action.setRun.run ? false : true); // Xinef: reversed
+ }
+ }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_SWIM:
+ {
+ if (!IsSmart())
+ break;
+
+ CAST_AI(SmartAI, me->AI())->SetSwim(e.action.setSwim.swim);
+ break;
+ }
+ case SMART_ACTION_SET_COUNTER:
+ {
+ if (ObjectList* targets = GetTargets(e, unit))
+ {
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
if (IsCreature(*itr))
{
- if (IsSmart((*itr)->ToCreature()))
- CAST_AI(SmartAI, (*itr)->ToCreature()->AI())->SetRun(e.action.setRun.run);
+ if (SmartAI* ai = CAST_AI(SmartAI, (*itr)->ToCreature()->AI()))
+ ai->GetScript()->StoreCounter(e.action.setCounter.counterId, e.action.setCounter.value, e.action.setCounter.reset);
+ else
+ sLog->outError("SmartScript: Action target for SMART_ACTION_SET_COUNTER is not using SmartAI, skipping");
+ }
+ else if (IsGameObject(*itr))
+ {
+ if (SmartGameObjectAI* ai = CAST_AI(SmartGameObjectAI, (*itr)->ToGameObject()->AI()))
+ ai->GetScript()->StoreCounter(e.action.setCounter.counterId, e.action.setCounter.value, e.action.setCounter.reset);
else
- (*itr)->ToCreature()->SetWalk(e.action.setRun.run ? false : true); // Xinef: reversed
+ sLog->outError("SmartScript: Action target for SMART_ACTION_SET_COUNTER is not using SmartGameObjectAI, skipping");
}
}
delete targets;
- break;
}
- case SMART_ACTION_SET_SWIM:
- {
- if (!IsSmart())
- break;
+ else
+ StoreCounter(e.action.setCounter.counterId, e.action.setCounter.value, e.action.setCounter.reset);
- CAST_AI(SmartAI, me->AI())->SetSwim(e.action.setSwim.swim);
+ break;
+ }
+ case SMART_ACTION_WP_START:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_SET_COUNTER:
- {
- if (ObjectList* targets = GetTargets(e, unit))
- {
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsCreature(*itr))
- {
- if (SmartAI* ai = CAST_AI(SmartAI, (*itr)->ToCreature()->AI()))
- ai->GetScript()->StoreCounter(e.action.setCounter.counterId, e.action.setCounter.value, e.action.setCounter.reset);
- else
- sLog->outError("SmartScript: Action target for SMART_ACTION_SET_COUNTER is not using SmartAI, skipping");
- }
- else if (IsGameObject(*itr))
- {
- if (SmartGameObjectAI* ai = CAST_AI(SmartGameObjectAI, (*itr)->ToGameObject()->AI()))
- ai->GetScript()->StoreCounter(e.action.setCounter.counterId, e.action.setCounter.value, e.action.setCounter.reset);
- else
- sLog->outError("SmartScript: Action target for SMART_ACTION_SET_COUNTER is not using SmartGameObjectAI, skipping");
- }
- }
- delete targets;
- }
- else
- StoreCounter(e.action.setCounter.counterId, e.action.setCounter.value, e.action.setCounter.reset);
+ bool run = e.action.wpStart.run;
+ uint32 entry = e.action.wpStart.pathID;
+ bool repeat = e.action.wpStart.repeat;
- break;
- }
- case SMART_ACTION_WP_START:
+ // Xinef: ensure that SMART_ESCORT_TARGETS contains at least one player reference
+ bool stored = false;
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- if (!IsSmart())
- break;
-
- bool run = e.action.wpStart.run;
- uint32 entry = e.action.wpStart.pathID;
- bool repeat = e.action.wpStart.repeat;
-
- // Xinef: ensure that SMART_ESCORT_TARGETS contains at least one player reference
- bool stored = false;
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsPlayer(*itr))
{
- if (IsPlayer(*itr))
- {
- stored = true;
- StoreTargetList(targets, SMART_ESCORT_TARGETS);
- break;
- }
+ stored = true;
+ StoreTargetList(targets, SMART_ESCORT_TARGETS);
+ break;
}
- if (!stored)
- delete targets;
}
+ if (!stored)
+ delete targets;
+ }
- me->SetReactState((ReactStates)e.action.wpStart.reactState);
- CAST_AI(SmartAI, me->AI())->StartPath(run, entry, repeat, unit);
+ me->SetReactState((ReactStates)e.action.wpStart.reactState);
+ CAST_AI(SmartAI, me->AI())->StartPath(run, entry, repeat, unit);
- uint32 quest = e.action.wpStart.quest;
- uint32 DespawnTime = e.action.wpStart.despawnTime;
- CAST_AI(SmartAI, me->AI())->mEscortQuestID = quest;
- CAST_AI(SmartAI, me->AI())->SetDespawnTime(DespawnTime);
+ uint32 quest = e.action.wpStart.quest;
+ uint32 DespawnTime = e.action.wpStart.despawnTime;
+ CAST_AI(SmartAI, me->AI())->mEscortQuestID = quest;
+ CAST_AI(SmartAI, me->AI())->SetDespawnTime(DespawnTime);
+ break;
+ }
+ case SMART_ACTION_WP_PAUSE:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_WP_PAUSE:
- {
- if (!IsSmart())
- break;
- uint32 delay = e.action.wpPause.delay;
- CAST_AI(SmartAI, me->AI())->PausePath(delay, e.GetEventType() == SMART_EVENT_WAYPOINT_REACHED ? false : true);
+ uint32 delay = e.action.wpPause.delay;
+ CAST_AI(SmartAI, me->AI())->PausePath(delay, e.GetEventType() == SMART_EVENT_WAYPOINT_REACHED ? false : true);
+ break;
+ }
+ case SMART_ACTION_WP_STOP:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_WP_STOP:
- {
- if (!IsSmart())
- break;
- uint32 DespawnTime = e.action.wpStop.despawnTime;
- uint32 quest = e.action.wpStop.quest;
- bool fail = e.action.wpStop.fail;
- CAST_AI(SmartAI, me->AI())->StopPath(DespawnTime, quest, fail);
+ uint32 DespawnTime = e.action.wpStop.despawnTime;
+ uint32 quest = e.action.wpStop.quest;
+ bool fail = e.action.wpStop.fail;
+ CAST_AI(SmartAI, me->AI())->StopPath(DespawnTime, quest, fail);
+ break;
+ }
+ case SMART_ACTION_WP_RESUME:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_WP_RESUME:
- {
- if (!IsSmart())
- break;
- CAST_AI(SmartAI, me->AI())->SetWPPauseTimer(0);
+ CAST_AI(SmartAI, me->AI())->SetWPPauseTimer(0);
+ break;
+ }
+ case SMART_ACTION_SET_ORIENTATION:
+ {
+ if (!me)
break;
+
+ if (e.GetTargetType() == SMART_TARGET_SELF)
+ {
+ me->SetFacingTo((me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && me->GetTransGUID() ? me->GetTransportHomePosition() : me->GetHomePosition()).GetOrientation());
+ if (e.action.orientation.quickChange)
+ me->SetOrientation((me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && me->GetTransGUID() ? me->GetTransportHomePosition() : me->GetHomePosition()).GetOrientation());
}
- case SMART_ACTION_SET_ORIENTATION:
+ else if (e.GetTargetType() == SMART_TARGET_POSITION)
{
- if (!me)
- break;
-
- if (e.GetTargetType() == SMART_TARGET_SELF)
- {
- me->SetFacingTo((me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && me->GetTransGUID() ? me->GetTransportHomePosition() : me->GetHomePosition()).GetOrientation());
- if (e.action.orientation.quickChange)
- me->SetOrientation((me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && me->GetTransGUID() ? me->GetTransportHomePosition() : me->GetHomePosition()).GetOrientation());
- }
- else if (e.GetTargetType() == SMART_TARGET_POSITION)
+ me->SetFacingTo(e.target.o);
+ if (e.action.orientation.quickChange)
+ me->SetOrientation(e.target.o);
+ }
+ else if (ObjectList* targets = GetTargets(e, unit))
+ {
+ if (!targets->empty())
{
- me->SetFacingTo(e.target.o);
+ me->SetFacingToObject(*targets->begin());
if (e.action.orientation.quickChange)
- me->SetOrientation(e.target.o);
+ me->SetInFront(*targets->begin());
}
- else if (ObjectList* targets = GetTargets(e, unit))
- {
- if (!targets->empty())
- {
- me->SetFacingToObject(*targets->begin());
- if (e.action.orientation.quickChange)
- me->SetInFront(*targets->begin());
- }
- delete targets;
- }
+ delete targets;
+ }
+ break;
+ }
+ case SMART_ACTION_PLAYMOVIE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_PLAYMOVIE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (!IsPlayer(*itr))
- continue;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (!IsPlayer(*itr))
+ continue;
- (*itr)->ToPlayer()->SendMovieStart(e.action.movie.entry);
- }
+ (*itr)->ToPlayer()->SendMovieStart(e.action.movie.entry);
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_MOVE_TO_POS:
+ {
+ if (!IsSmart())
break;
- }
- case SMART_ACTION_MOVE_TO_POS:
- {
- if (!IsSmart())
- break;
- WorldObject* target = NULL;
+ WorldObject* target = NULL;
- /*if (e.GetTargetType() == SMART_TARGET_CREATURE_RANGE || e.GetTargetType() == SMART_TARGET_CREATURE_GUID ||
- e.GetTargetType() == SMART_TARGET_CREATURE_DISTANCE || e.GetTargetType() == SMART_TARGET_GAMEOBJECT_RANGE ||
- e.GetTargetType() == SMART_TARGET_GAMEOBJECT_GUID || e.GetTargetType() == SMART_TARGET_GAMEOBJECT_DISTANCE ||
- e.GetTargetType() == SMART_TARGET_CLOSEST_CREATURE || e.GetTargetType() == SMART_TARGET_CLOSEST_GAMEOBJECT ||
- e.GetTargetType() == SMART_TARGET_OWNER_OR_SUMMONER || e.GetTargetType() == SMART_TARGET_ACTION_INVOKER ||
- e.GetTargetType() == SMART_TARGET_CLOSEST_ENEMY || e.GetTargetType() == SMART_TARGET_CLOSEST_FRIENDLY ||
- e.GetTargetType() == SMART_TARGET_SELF || e.GetTargetType() == SMART_TARGET_STORED) // Xinef: bieda i rozpierdol TC)*/
+ /*if (e.GetTargetType() == SMART_TARGET_CREATURE_RANGE || e.GetTargetType() == SMART_TARGET_CREATURE_GUID ||
+ e.GetTargetType() == SMART_TARGET_CREATURE_DISTANCE || e.GetTargetType() == SMART_TARGET_GAMEOBJECT_RANGE ||
+ e.GetTargetType() == SMART_TARGET_GAMEOBJECT_GUID || e.GetTargetType() == SMART_TARGET_GAMEOBJECT_DISTANCE ||
+ e.GetTargetType() == SMART_TARGET_CLOSEST_CREATURE || e.GetTargetType() == SMART_TARGET_CLOSEST_GAMEOBJECT ||
+ e.GetTargetType() == SMART_TARGET_OWNER_OR_SUMMONER || e.GetTargetType() == SMART_TARGET_ACTION_INVOKER ||
+ e.GetTargetType() == SMART_TARGET_CLOSEST_ENEMY || e.GetTargetType() == SMART_TARGET_CLOSEST_FRIENDLY ||
+ e.GetTargetType() == SMART_TARGET_SELF || e.GetTargetType() == SMART_TARGET_STORED) // Xinef: bieda i rozpierdol TC)*/
+ {
+ if (ObjectList* targets = GetTargets(e, unit))
{
- if (ObjectList* targets = GetTargets(e, unit))
- {
- // xinef: we want to move to random element
- target = Trinity::Containers::SelectRandomContainerElement(*targets);
- delete targets;
- }
+ // xinef: we want to move to random element
+ target = Trinity::Containers::SelectRandomContainerElement(*targets);
+ delete targets;
}
+ }
- if (!target)
- {
- G3D::Vector3 dest(e.target.x, e.target.y, e.target.z);
- if (e.action.MoveToPos.transport)
- if (TransportBase* trans = me->GetDirectTransport())
- trans->CalculatePassengerPosition(dest.x, dest.y, dest.z);
-
- me->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, dest.x, dest.y, dest.z, true, true, e.action.MoveToPos.controlled ? MOTION_SLOT_CONTROLLED : MOTION_SLOT_ACTIVE);
- }
- else // Xinef: we can use dest.x, dest.y, dest.z to make offset :)
- me->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, target->GetPositionX()+e.target.x, target->GetPositionY()+e.target.y, target->GetPositionZ()+e.target.z, true, true, e.action.MoveToPos.controlled ? MOTION_SLOT_CONTROLLED : MOTION_SLOT_ACTIVE);
+ if (!target)
+ {
+ G3D::Vector3 dest(e.target.x, e.target.y, e.target.z);
+ if (e.action.MoveToPos.transport)
+ if (TransportBase* trans = me->GetDirectTransport())
+ trans->CalculatePassengerPosition(dest.x, dest.y, dest.z);
- break;
+ me->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, dest.x, dest.y, dest.z, true, true, e.action.MoveToPos.controlled ? MOTION_SLOT_CONTROLLED : MOTION_SLOT_ACTIVE);
}
- case SMART_ACTION_MOVE_TO_POS_TARGET:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- return;
+ else // Xinef: we can use dest.x, dest.y, dest.z to make offset :)
+ me->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, target->GetPositionX() + e.target.x, target->GetPositionY() + e.target.y, target->GetPositionZ() + e.target.z, true, true, e.action.MoveToPos.controlled ? MOTION_SLOT_CONTROLLED : MOTION_SLOT_ACTIVE);
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ break;
+ }
+ case SMART_ACTION_MOVE_TO_POS_TARGET:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ return;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsCreature(*itr))
{
- if (IsCreature(*itr))
- {
- Creature* target = (*itr)->ToCreature();
- target->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, e.target.x, e.target.y , e.target.z, true, true, e.action.MoveToPos.controlled ? MOTION_SLOT_CONTROLLED : MOTION_SLOT_ACTIVE);
- }
+ Creature* target = (*itr)->ToCreature();
+ target->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, e.target.x, e.target.y, e.target.z, true, true, e.action.MoveToPos.controlled ? MOTION_SLOT_CONTROLLED : MOTION_SLOT_ACTIVE);
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_RESPAWN_TARGET:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_RESPAWN_TARGET:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->Respawn(e.action.RespawnTarget.goRespawnTime);
+ else if (IsGameObject(*itr))
{
- if (IsCreature(*itr))
- (*itr)->ToCreature()->Respawn(e.action.RespawnTarget.goRespawnTime);
- else if (IsGameObject(*itr))
- {
- // Xinef: do not modify respawndelay of already spawned gameobjects QQ
- if ((*itr)->ToGameObject()->isSpawnedByDefault())
- (*itr)->ToGameObject()->Respawn();
- else
- (*itr)->ToGameObject()->SetRespawnTime(e.action.RespawnTarget.goRespawnTime);
- }
+ // Xinef: do not modify respawndelay of already spawned gameobjects QQ
+ if ((*itr)->ToGameObject()->isSpawnedByDefault())
+ (*itr)->ToGameObject()->Respawn();
+ else
+ (*itr)->ToGameObject()->SetRespawnTime(e.action.RespawnTarget.goRespawnTime);
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_CLOSE_GOSSIP:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_CLOSE_GOSSIP:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsPlayer(*itr))
- (*itr)->ToPlayer()->PlayerTalkClass->SendCloseGossip();
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsPlayer(*itr))
+ (*itr)->ToPlayer()->PlayerTalkClass->SendCloseGossip();
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_EQUIP:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_EQUIP:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (Creature* npc = (*itr)->ToCreature())
{
- if (Creature* npc = (*itr)->ToCreature())
+ uint32 slot[3];
+ int8 equipId = (int8)e.action.equip.entry;
+ if (equipId)
{
- uint32 slot[3];
- int8 equipId = (int8)e.action.equip.entry;
- if (equipId)
- {
- EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(npc->GetEntry(), equipId);
- if (!einfo)
- {
- sLog->outError("SmartScript: SMART_ACTION_EQUIP uses non-existent equipment info id %u for creature %u", equipId, npc->GetEntry());
- break;
- }
- npc->SetCurrentEquipmentId(equipId);
- slot[0] = einfo->ItemEntry[0];
- slot[1] = einfo->ItemEntry[1];
- slot[2] = einfo->ItemEntry[2];
- }
- else
+ EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(npc->GetEntry(), equipId);
+ if (!einfo)
{
- slot[0] = e.action.equip.slot1;
- slot[1] = e.action.equip.slot2;
- slot[2] = e.action.equip.slot3;
+ sLog->outError("SmartScript: SMART_ACTION_EQUIP uses non-existent equipment info id %u for creature %u", equipId, npc->GetEntry());
+ break;
}
- if (!e.action.equip.mask || (e.action.equip.mask & 1))
- npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, slot[0]);
- if (!e.action.equip.mask || (e.action.equip.mask & 2))
- npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, slot[1]);
- if (!e.action.equip.mask || (e.action.equip.mask & 4))
- npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, slot[2]);
+ npc->SetCurrentEquipmentId(equipId);
+ slot[0] = einfo->ItemEntry[0];
+ slot[1] = einfo->ItemEntry[1];
+ slot[2] = einfo->ItemEntry[2];
}
+ else
+ {
+ slot[0] = e.action.equip.slot1;
+ slot[1] = e.action.equip.slot2;
+ slot[2] = e.action.equip.slot3;
+ }
+ if (!e.action.equip.mask || (e.action.equip.mask & 1))
+ npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, slot[0]);
+ if (!e.action.equip.mask || (e.action.equip.mask & 2))
+ npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, slot[1]);
+ if (!e.action.equip.mask || (e.action.equip.mask & 4))
+ npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, slot[2]);
}
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_CREATE_TIMED_EVENT:
+ {
+ SmartEvent ne = SmartEvent();
+ ne.type = (SMART_EVENT)SMART_EVENT_UPDATE;
+ ne.event_chance = e.action.timeEvent.chance;
+ if (!ne.event_chance) ne.event_chance = 100;
+
+ ne.minMaxRepeat.min = e.action.timeEvent.min;
+ ne.minMaxRepeat.max = e.action.timeEvent.max;
+ ne.minMaxRepeat.repeatMin = e.action.timeEvent.repeatMin;
+ ne.minMaxRepeat.repeatMax = e.action.timeEvent.repeatMax;
+
+ ne.event_flags = 0;
+ if (!ne.minMaxRepeat.repeatMin && !ne.minMaxRepeat.repeatMax)
+ ne.event_flags |= SMART_EVENT_FLAG_NOT_REPEATABLE;
+
+ SmartAction ac = SmartAction();
+ ac.type = (SMART_ACTION)SMART_ACTION_TRIGGER_TIMED_EVENT;
+ ac.timeEvent.id = e.action.timeEvent.id;
+
+ SmartScriptHolder ev = SmartScriptHolder();
+ ev.event = ne;
+ ev.event_id = e.action.timeEvent.id;
+ ev.target = e.target;
+ ev.action = ac;
+ InitTimer(ev);
+ mStoredEvents.push_back(ev);
+ break;
+ }
+ case SMART_ACTION_TRIGGER_TIMED_EVENT:
+ ProcessEventsFor((SMART_EVENT)SMART_EVENT_TIMED_EVENT_TRIGGERED, NULL, e.action.timeEvent.id);
+
+ // xinef: remove this event if not repeatable
+ if (e.event.event_flags & SMART_EVENT_FLAG_NOT_REPEATABLE)
+ mRemIDs.push_back(e.action.timeEvent.id);
+ break;
+ case SMART_ACTION_REMOVE_TIMED_EVENT:
+ mRemIDs.push_back(e.action.timeEvent.id);
+ break;
+ case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_CREATE_TIMED_EVENT:
+
+ for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- SmartEvent ne = SmartEvent();
- ne.type = (SMART_EVENT)SMART_EVENT_UPDATE;
- ne.event_chance = e.action.timeEvent.chance;
- if (!ne.event_chance) ne.event_chance = 100;
+ if (IsCreature(*itr))
+ {
+ if (!meOrigGUID)
+ meOrigGUID = me ? me->GetGUID() : 0;
+ if (!goOrigGUID)
+ goOrigGUID = go ? go->GetGUID() : 0;
+ go = NULL;
+ me = (*itr)->ToCreature();
+ break;
+ }
+ else if (IsGameObject(*itr))
+ {
+ if (!meOrigGUID)
+ meOrigGUID = me ? me->GetGUID() : 0;
+ if (!goOrigGUID)
+ goOrigGUID = go ? go->GetGUID() : 0;
+ go = (*itr)->ToGameObject();
+ me = NULL;
+ break;
+ }
+ }
- ne.minMaxRepeat.min = e.action.timeEvent.min;
- ne.minMaxRepeat.max = e.action.timeEvent.max;
- ne.minMaxRepeat.repeatMin = e.action.timeEvent.repeatMin;
- ne.minMaxRepeat.repeatMax = e.action.timeEvent.repeatMax;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT:
+ ResetBaseObject();
+ break;
+ case SMART_ACTION_CALL_SCRIPT_RESET:
+ OnReset();
+ break;
+ case SMART_ACTION_SET_RANGED_MOVEMENT:
+ {
+ if (!IsSmart())
+ break;
- ne.event_flags = 0;
- if (!ne.minMaxRepeat.repeatMin && !ne.minMaxRepeat.repeatMax)
- ne.event_flags |= SMART_EVENT_FLAG_NOT_REPEATABLE;
+ float attackDistance = float(e.action.setRangedMovement.distance);
+ float attackAngle = float(e.action.setRangedMovement.angle) / 180.0f * M_PI;
- SmartAction ac = SmartAction();
- ac.type = (SMART_ACTION)SMART_ACTION_TRIGGER_TIMED_EVENT;
- ac.timeEvent.id = e.action.timeEvent.id;
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
+ {
+ for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (Creature* target = (*itr)->ToCreature())
+ if (IsSmart(target) && target->GetVictim())
+ if (CAST_AI(SmartAI, target->AI())->CanCombatMove())
+ target->GetMotionMaster()->MoveChase(target->GetVictim(), attackDistance, attackAngle);
- SmartScriptHolder ev = SmartScriptHolder();
- ev.event = ne;
- ev.event_id = e.action.timeEvent.id;
- ev.target = e.target;
- ev.action = ac;
- InitTimer(ev);
- mStoredEvents.push_back(ev);
+ delete targets;
+ }
+ break;
+ }
+ case SMART_ACTION_CALL_TIMED_ACTIONLIST:
+ {
+ if (e.GetTargetType() == SMART_TARGET_NONE)
+ {
+ sLog->outErrorDb("SmartScript: Entry %d SourceType %u Event %u Action %u is using TARGET_NONE(0) for Script9 target. Please correct target_type in database.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
break;
}
- case SMART_ACTION_TRIGGER_TIMED_EVENT:
- ProcessEventsFor((SMART_EVENT)SMART_EVENT_TIMED_EVENT_TRIGGERED, NULL, e.action.timeEvent.id);
- // xinef: remove this event if not repeatable
- if (e.event.event_flags & SMART_EVENT_FLAG_NOT_REPEATABLE)
- mRemIDs.push_back(e.action.timeEvent.id);
- break;
- case SMART_ACTION_REMOVE_TIMED_EVENT:
- mRemIDs.push_back(e.action.timeEvent.id);
- break;
- case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT:
+ if (ObjectList* targets = GetTargets(e, unit))
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (IsCreature(*itr))
+ if (Creature* target = (*itr)->ToCreature())
{
- if (!meOrigGUID)
- meOrigGUID = me ? me->GetGUID() : 0;
- if (!goOrigGUID)
- goOrigGUID = go ? go->GetGUID() : 0;
- go = NULL;
- me = (*itr)->ToCreature();
- break;
+ if (IsSmart(target))
+ CAST_AI(SmartAI, target->AI())->SetScript9(e, e.action.timedActionList.id, GetLastInvoker());
}
- else if (IsGameObject(*itr))
+ else if (GameObject* goTarget = (*itr)->ToGameObject())
{
- if (!meOrigGUID)
- meOrigGUID = me ? me->GetGUID() : 0;
- if (!goOrigGUID)
- goOrigGUID = go ? go->GetGUID() : 0;
- go = (*itr)->ToGameObject();
- me = NULL;
- break;
+ if (IsSmartGO(goTarget))
+ CAST_AI(SmartGameObjectAI, goTarget->AI())->SetScript9(e, e.action.timedActionList.id, GetLastInvoker());
}
}
delete targets;
- break;
}
- case SMART_ACTION_RESET_SCRIPT_BASE_OBJECT:
- ResetBaseObject();
- break;
- case SMART_ACTION_CALL_SCRIPT_RESET:
- OnReset();
+ break;
+ }
+ case SMART_ACTION_SET_NPC_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- case SMART_ACTION_SET_RANGED_MOVEMENT:
- {
- if (!IsSmart())
- break;
-
- float attackDistance = float(e.action.setRangedMovement.distance);
- float attackAngle = float(e.action.setRangedMovement.angle) / 180.0f * M_PI;
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
- {
- for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (Creature* target = (*itr)->ToCreature())
- if (IsSmart(target) && target->GetVictim())
- if (CAST_AI(SmartAI, target->AI())->CanCombatMove())
- target->GetMotionMaster()->MoveChase(target->GetVictim(), attackDistance, attackAngle);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToUnit()->SetUInt32Value(UNIT_NPC_FLAGS, e.action.unitFlag.flag);
- delete targets;
- }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_NPC_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_CALL_TIMED_ACTIONLIST:
- {
- if (e.GetTargetType() == SMART_TARGET_NONE)
- {
- sLog->outErrorDb("SmartScript: Entry %d SourceType %u Event %u Action %u is using TARGET_NONE(0) for Script9 target. Please correct target_type in database.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
- break;
- }
- if (ObjectList* targets = GetTargets(e, unit))
- {
- for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (Creature* target = (*itr)->ToCreature())
- {
- if (IsSmart(target))
- CAST_AI(SmartAI, target->AI())->SetScript9(e, e.action.timedActionList.id, GetLastInvoker());
- }
- else if (GameObject* goTarget = (*itr)->ToGameObject())
- {
- if (IsSmartGO(goTarget))
- CAST_AI(SmartGameObjectAI, goTarget->AI())->SetScript9(e, e.action.timedActionList.id, GetLastInvoker());
- }
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToUnit()->SetFlag(UNIT_NPC_FLAGS, e.action.unitFlag.flag);
- delete targets;
- }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_NPC_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_NPC_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToUnit()->SetUInt32Value(UNIT_NPC_FLAGS, e.action.unitFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToUnit()->RemoveFlag(UNIT_NPC_FLAGS, e.action.unitFlag.flag);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_CROSS_CAST:
+ {
+ ObjectList* casters = GetTargets(CreateEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, 0, 0, SMART_ACTION_NONE, 0, 0, 0, 0, 0, 0, (SMARTAI_TARGETS)e.action.crossCast.targetType, e.action.crossCast.targetParam1, e.action.crossCast.targetParam2, e.action.crossCast.targetParam3, 0), unit);
+ if (!casters)
break;
- }
- case SMART_ACTION_ADD_NPC_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToUnit()->SetFlag(UNIT_NPC_FLAGS, e.action.unitFlag.flag);
-
- delete targets;
- break;
- }
- case SMART_ACTION_REMOVE_NPC_FLAG:
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToUnit()->RemoveFlag(UNIT_NPC_FLAGS, e.action.unitFlag.flag);
-
- delete targets;
+ delete casters; // casters already validated, delete now
break;
}
- case SMART_ACTION_CROSS_CAST:
+
+ for (ObjectList::const_iterator itr = casters->begin(); itr != casters->end(); ++itr)
{
- ObjectList* casters = GetTargets(CreateEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, 0, 0, SMART_ACTION_NONE, 0, 0, 0, 0, 0, 0, (SMARTAI_TARGETS)e.action.crossCast.targetType, e.action.crossCast.targetParam1, e.action.crossCast.targetParam2, e.action.crossCast.targetParam3, 0), unit);
- if (!casters)
- break;
+ if (!IsUnit(*itr))
+ continue;
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- {
- delete casters; // casters already validated, delete now
- break;
- }
+ bool interruptedSpell = false;
- for (ObjectList::const_iterator itr = casters->begin(); itr != casters->end(); ++itr)
+ for (ObjectList::const_iterator it = targets->begin(); it != targets->end(); ++it)
{
- if (!IsUnit(*itr))
+ if (!IsUnit(*it))
continue;
- bool interruptedSpell = false;
-
- for (ObjectList::const_iterator it = targets->begin(); it != targets->end(); ++it)
+ if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*it)->ToUnit()->HasAura(e.action.cast.spell))
{
- if (!IsUnit(*it))
- continue;
-
- if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*it)->ToUnit()->HasAura(e.action.cast.spell))
+ if (!interruptedSpell && e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
{
- if (!interruptedSpell && e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
- {
- (*itr)->ToUnit()->InterruptNonMeleeSpells(false);
- interruptedSpell = true;
- }
-
- (*itr)->ToUnit()->CastSpell((*it)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
+ (*itr)->ToUnit()->InterruptNonMeleeSpells(false);
+ interruptedSpell = true;
}
- //else
- // TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "Spell %u not casted because it has flag SMARTCAST_AURA_NOT_PRESENT and the target (Guid: " UI64FMTD " Entry: %u Type: %u) already has the aura", e.action.cast.spell, (*it)->GetGUID(), (*it)->GetEntry(), uint32((*it)->GetTypeId()));
+
+ (*itr)->ToUnit()->CastSpell((*it)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
}
+ //else
+ // TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "Spell %u not casted because it has flag SMARTCAST_AURA_NOT_PRESENT and the target (Guid: " UI64FMTD " Entry: %u Type: %u) already has the aura", e.action.cast.spell, (*it)->GetGUID(), (*it)->GetEntry(), uint32((*it)->GetTypeId()));
}
-
- delete targets;
- delete casters;
- break;
}
- case SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST:
+
+ delete targets;
+ delete casters;
+ break;
+ }
+ case SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST:
+ {
+ uint32 actions[SMART_ACTION_PARAM_COUNT];
+ actions[0] = e.action.randTimedActionList.entry1;
+ actions[1] = e.action.randTimedActionList.entry2;
+ actions[2] = e.action.randTimedActionList.entry3;
+ actions[3] = e.action.randTimedActionList.entry4;
+ actions[4] = e.action.randTimedActionList.entry5;
+ actions[5] = e.action.randTimedActionList.entry6;
+ uint32 temp[SMART_ACTION_PARAM_COUNT];
+ uint32 count = 0;
+ for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
{
- uint32 actions[SMART_ACTION_PARAM_COUNT];
- actions[0] = e.action.randTimedActionList.entry1;
- actions[1] = e.action.randTimedActionList.entry2;
- actions[2] = e.action.randTimedActionList.entry3;
- actions[3] = e.action.randTimedActionList.entry4;
- actions[4] = e.action.randTimedActionList.entry5;
- actions[5] = e.action.randTimedActionList.entry6;
- uint32 temp[SMART_ACTION_PARAM_COUNT];
- uint32 count = 0;
- for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
+ if (actions[i] > 0)
{
- if (actions[i] > 0)
- {
- temp[count] = actions[i];
- ++count;
- }
+ temp[count] = actions[i];
+ ++count;
}
+ }
- if (count == 0)
- break;
+ if (count == 0)
+ break;
- uint32 id = temp[urand(0, count - 1)];
- if (e.GetTargetType() == SMART_TARGET_NONE)
- {
- sLog->outErrorDb("SmartScript: Entry %d SourceType %u Event %u Action %u is using TARGET_NONE(0) for Script9 target. Please correct target_type in database.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
- break;
- }
+ uint32 id = temp[urand(0, count - 1)];
+ if (e.GetTargetType() == SMART_TARGET_NONE)
+ {
+ sLog->outErrorDb("SmartScript: Entry %d SourceType %u Event %u Action %u is using TARGET_NONE(0) for Script9 target. Please correct target_type in database.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
+ break;
+ }
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
+ {
+ for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (Creature* target = (*itr)->ToCreature())
{
- if (Creature* target = (*itr)->ToCreature())
- {
- if (IsSmart(target))
- CAST_AI(SmartAI, target->AI())->SetScript9(e, id, GetLastInvoker());
- }
- else if (GameObject* goTarget = (*itr)->ToGameObject())
- {
- if (IsSmartGO(goTarget))
- CAST_AI(SmartGameObjectAI, goTarget->AI())->SetScript9(e, id, GetLastInvoker());
- }
+ if (IsSmart(target))
+ CAST_AI(SmartAI, target->AI())->SetScript9(e, id, GetLastInvoker());
+ }
+ else if (GameObject* goTarget = (*itr)->ToGameObject())
+ {
+ if (IsSmartGO(goTarget))
+ CAST_AI(SmartGameObjectAI, goTarget->AI())->SetScript9(e, id, GetLastInvoker());
}
-
- delete targets;
}
- break;
+
+ delete targets;
}
- case SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST:
+ break;
+ }
+ case SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST:
+ {
+ uint32 id = urand(e.action.randTimedActionList.entry1, e.action.randTimedActionList.entry2);
+ if (e.GetTargetType() == SMART_TARGET_NONE)
{
- uint32 id = urand(e.action.randTimedActionList.entry1, e.action.randTimedActionList.entry2);
- if (e.GetTargetType() == SMART_TARGET_NONE)
- {
- sLog->outErrorDb("SmartScript: Entry %d SourceType %u Event %u Action %u is using TARGET_NONE(0) for Script9 target. Please correct target_type in database.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
- break;
- }
+ sLog->outErrorDb("SmartScript: Entry %d SourceType %u Event %u Action %u is using TARGET_NONE(0) for Script9 target. Please correct target_type in database.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
+ break;
+ }
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
+ {
+ for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (Creature* target = (*itr)->ToCreature())
{
- if (Creature* target = (*itr)->ToCreature())
- {
- if (IsSmart(target))
- CAST_AI(SmartAI, target->AI())->SetScript9(e, id, GetLastInvoker());
- }
- else if (GameObject* goTarget = (*itr)->ToGameObject())
- {
- if (IsSmartGO(goTarget))
- CAST_AI(SmartGameObjectAI, goTarget->AI())->SetScript9(e, id, GetLastInvoker());
- }
+ if (IsSmart(target))
+ CAST_AI(SmartAI, target->AI())->SetScript9(e, id, GetLastInvoker());
+ }
+ else if (GameObject* goTarget = (*itr)->ToGameObject())
+ {
+ if (IsSmartGO(goTarget))
+ CAST_AI(SmartGameObjectAI, goTarget->AI())->SetScript9(e, id, GetLastInvoker());
}
-
- delete targets;
}
- break;
- }
- case SMART_ACTION_ACTIVATE_TAXI:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsPlayer(*itr))
- (*itr)->ToPlayer()->ActivateTaxiPathTo(e.action.taxi.id);
delete targets;
- break;
}
- case SMART_ACTION_RANDOM_MOVE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ break;
+ }
+ case SMART_ACTION_ACTIVATE_TAXI:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- bool foundTarget = false;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsPlayer(*itr))
+ (*itr)->ToPlayer()->ActivateTaxiPathTo(e.action.taxi.id);
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsCreature((*itr)))
- {
- foundTarget = true;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_RANDOM_MOVE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- if (e.action.moveRandom.distance)
- (*itr)->ToCreature()->GetMotionMaster()->MoveRandom((float)e.action.moveRandom.distance);
- else
- (*itr)->ToCreature()->GetMotionMaster()->MoveIdle();
- }
- }
+ bool foundTarget = false;
- if (!foundTarget && me && IsCreature(me))
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ {
+ if (IsCreature((*itr)))
{
+ foundTarget = true;
+
if (e.action.moveRandom.distance)
- me->GetMotionMaster()->MoveRandom((float)e.action.moveRandom.distance);
+ (*itr)->ToCreature()->GetMotionMaster()->MoveRandom((float)e.action.moveRandom.distance);
else
- me->GetMotionMaster()->MoveIdle();
+ (*itr)->ToCreature()->GetMotionMaster()->MoveIdle();
}
-
- delete targets;
- break;
}
- case SMART_ACTION_SET_UNIT_FIELD_BYTES_1:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetByteFlag(UNIT_FIELD_BYTES_1, e.action.setunitByte.type, e.action.setunitByte.byte1);
- delete targets;
- break;
- }
- case SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1:
+ if (!foundTarget && me && IsCreature(me))
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->RemoveByteFlag(UNIT_FIELD_BYTES_1, e.action.delunitByte.type, e.action.delunitByte.byte1);
-
- delete targets;
- break;
+ if (e.action.moveRandom.distance)
+ me->GetMotionMaster()->MoveRandom((float)e.action.moveRandom.distance);
+ else
+ me->GetMotionMaster()->MoveIdle();
}
- case SMART_ACTION_INTERRUPT_SPELL:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->InterruptNonMeleeSpells(e.action.interruptSpellCasting.withDelayed, e.action.interruptSpellCasting.spell_id, e.action.interruptSpellCasting.withInstant);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_UNIT_FIELD_BYTES_1:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetByteFlag(UNIT_FIELD_BYTES_1, e.action.setunitByte.type, e.action.setunitByte.byte1);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SEND_GO_CUSTOM_ANIM:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsGameObject(*itr))
- (*itr)->ToGameObject()->SendCustomAnim(e.action.sendGoCustomAnim.anim);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->RemoveByteFlag(UNIT_FIELD_BYTES_1, e.action.delunitByte.type, e.action.delunitByte.byte1);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_INTERRUPT_SPELL:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_DYNAMIC_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetUInt32Value(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->InterruptNonMeleeSpells(e.action.interruptSpellCasting.withDelayed, e.action.interruptSpellCasting.spell_id, e.action.interruptSpellCasting.withInstant);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SEND_GO_CUSTOM_ANIM:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ADD_DYNAMIC_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetFlag(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SendCustomAnim(e.action.sendGoCustomAnim.anim);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_DYNAMIC_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_REMOVE_DYNAMIC_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->RemoveFlag(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetUInt32Value(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_DYNAMIC_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_JUMP_TO_POS:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- // xinef: my implementation
- if (e.action.jump.selfJump)
- {
- if (WorldObject* target = Trinity::Containers::SelectRandomContainerElement(*targets))
- if (me)
- me->GetMotionMaster()->MoveJump(target->GetPositionX() + e.target.x, target->GetPositionY() + e.target.y, target->GetPositionZ() + e.target.z, (float)e.action.jump.speedxy, (float)e.action.jump.speedz);
- }
- else
- {
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (WorldObject* obj = (*itr))
- {
- if (Creature* creature = obj->ToCreature())
- creature->GetMotionMaster()->MoveJump(e.target.x, e.target.y, e.target.z, (float)e.action.jump.speedxy, (float)e.action.jump.speedz);
- }
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetFlag(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_DYNAMIC_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_GO_SET_LOOT_STATE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsGameObject(*itr))
- (*itr)->ToGameObject()->SetLootState((LootState)e.action.setGoLootState.state);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->RemoveFlag(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_JUMP_TO_POS:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
+
+ // xinef: my implementation
+ if (e.action.jump.selfJump)
+ {
+ if (WorldObject* target = Trinity::Containers::SelectRandomContainerElement(*targets))
+ if (me)
+ me->GetMotionMaster()->MoveJump(target->GetPositionX() + e.target.x, target->GetPositionY() + e.target.y, target->GetPositionZ() + e.target.z, (float)e.action.jump.speedxy, (float)e.action.jump.speedz);
}
- case SMART_ACTION_SEND_TARGET_TO_TARGET:
+ else
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- ObjectList* storedTargets = GetTargetList(e.action.sendTargetToTarget.id);
- if (!storedTargets)
- {
- delete targets;
- break;
- }
-
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- {
- if (IsCreature(*itr))
+ if (WorldObject* obj = (*itr))
{
- if (SmartAI* ai = CAST_AI(SmartAI, (*itr)->ToCreature()->AI()))
- ai->GetScript()->StoreTargetList(new ObjectList(*storedTargets), e.action.sendTargetToTarget.id); // store a copy of target list
- else
- sLog->outErrorDb("SmartScript: Action target for SMART_ACTION_SEND_TARGET_TO_TARGET is not using SmartAI, skipping");
- }
- else if (IsGameObject(*itr))
- {
- if (SmartGameObjectAI* ai = CAST_AI(SmartGameObjectAI, (*itr)->ToGameObject()->AI()))
- ai->GetScript()->StoreTargetList(new ObjectList(*storedTargets), e.action.sendTargetToTarget.id); // store a copy of target list
- else
- sLog->outErrorDb("SmartScript: Action target for SMART_ACTION_SEND_TARGET_TO_TARGET is not using SmartGameObjectAI, skipping");
+ if (Creature* creature = obj->ToCreature())
+ creature->GetMotionMaster()->MoveJump(e.target.x, e.target.y, e.target.z, (float)e.action.jump.speedxy, (float)e.action.jump.speedz);
}
- }
-
- delete targets;
- break;
}
- case SMART_ACTION_SEND_GOSSIP_MENU:
- {
- if (!GetBaseObject())
- break;
-
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SEND_GOSSIP_MENU: gossipMenuId %d, gossipNpcTextId %d",
- // e.action.sendGossipMenu.gossipMenuId, e.action.sendGossipMenu.gossipNpcTextId);
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_GO_SET_LOOT_STATE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (Player* player = (*itr)->ToPlayer())
- {
- if (e.action.sendGossipMenu.gossipMenuId)
- player->PrepareGossipMenu(GetBaseObject(), e.action.sendGossipMenu.gossipMenuId, true);
- else
- player->PlayerTalkClass->ClearMenus();
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetLootState((LootState)e.action.setGoLootState.state);
- player->SEND_GOSSIP_MENU(e.action.sendGossipMenu.gossipNpcTextId, GetBaseObject()->GetGUID());
- }
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SEND_TARGET_TO_TARGET:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+ ObjectList* storedTargets = GetTargetList(e.action.sendTargetToTarget.id);
+ if (!storedTargets)
+ {
delete targets;
break;
}
- case SMART_ACTION_SET_HOME_POS:
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ if (IsCreature(*itr))
{
- float x, y, z, o;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- {
- if (e.action.setHomePos.spawnPos)
- {
- (*itr)->ToCreature()->GetRespawnPosition(x, y, z, &o);
- (*itr)->ToCreature()->SetHomePosition(x, y, z, o);
- }
- else
- (*itr)->ToCreature()->SetHomePosition((*itr)->GetPositionX(), (*itr)->GetPositionY(), (*itr)->GetPositionZ(), (*itr)->GetOrientation());
-
- }
- delete targets;
+ if (SmartAI* ai = CAST_AI(SmartAI, (*itr)->ToCreature()->AI()))
+ ai->GetScript()->StoreTargetList(new ObjectList(*storedTargets), e.action.sendTargetToTarget.id); // store a copy of target list
+ else
+ sLog->outErrorDb("SmartScript: Action target for SMART_ACTION_SEND_TARGET_TO_TARGET is not using SmartAI, skipping");
}
- else if (me && e.GetTargetType() == SMART_TARGET_POSITION)
+ else if (IsGameObject(*itr))
{
- if (e.action.setHomePos.spawnPos)
- {
- float x, y, z, o;
- me->GetRespawnPosition(x, y, z, &o);
- me->SetHomePosition(x, y, z, o);
- }
+ if (SmartGameObjectAI* ai = CAST_AI(SmartGameObjectAI, (*itr)->ToGameObject()->AI()))
+ ai->GetScript()->StoreTargetList(new ObjectList(*storedTargets), e.action.sendTargetToTarget.id); // store a copy of target list
else
- me->SetHomePosition(e.target.x, e.target.y, e.target.z, e.target.o);
+ sLog->outErrorDb("SmartScript: Action target for SMART_ACTION_SEND_TARGET_TO_TARGET is not using SmartGameObjectAI, skipping");
}
- break;
}
- /*{
- ObjectList* movers = GetTargets(CreateEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, 0, 0, SMART_ACTION_NONE, 0, 0, 0, 0, 0, 0, (SMARTAI_TARGETS)e.action.sethome.targetType, e.action.sethome.targetParam1, e.action.sethome.targetParam2, e.action.sethome.targetParam3, 0), unit);
- if (!movers)
- break;
- if (e.GetTargetType() == SMART_TARGET_POSITION)
- {
- for (ObjectList::const_iterator itr = movers->begin(); itr != movers->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->SetHomePosition(e.target.x, e.target.y, e.target.z, e.target.o);
- }
- else if (ObjectList* targets = GetTargets(e, unit))
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SEND_GOSSIP_MENU:
+ {
+ if (!GetBaseObject())
+ break;
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_SEND_GOSSIP_MENU: gossipMenuId %d, gossipNpcTextId %d",
+ e.action.sendGossipMenu.gossipMenuId, e.action.sendGossipMenu.gossipNpcTextId);
+#endif
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (Player* player = (*itr)->ToPlayer())
{
- if (WorldObject* target = targets->front())
- for (ObjectList::const_iterator itr = movers->begin(); itr != movers->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->SetHomePosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation());
+ if (e.action.sendGossipMenu.gossipMenuId)
+ player->PrepareGossipMenu(GetBaseObject(), e.action.sendGossipMenu.gossipMenuId, true);
+ else
+ player->PlayerTalkClass->ClearMenus();
- delete targets;
+ player->SEND_GOSSIP_MENU(e.action.sendGossipMenu.gossipNpcTextId, GetBaseObject()->GetGUID());
}
- delete movers;
- break;
- }*/
- case SMART_ACTION_SET_HEALTH_REGEN:
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_HOME_POS:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
+ float x, y, z, o;
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
if (IsCreature(*itr))
- (*itr)->ToCreature()->SetRegeneratingHealth(e.action.setHealthRegen.regenHealth);
+ {
+ if (e.action.setHomePos.spawnPos)
+ {
+ (*itr)->ToCreature()->GetRespawnPosition(x, y, z, &o);
+ (*itr)->ToCreature()->SetHomePosition(x, y, z, o);
+ }
+ else
+ (*itr)->ToCreature()->SetHomePosition((*itr)->GetPositionX(), (*itr)->GetPositionY(), (*itr)->GetPositionZ(), (*itr)->GetOrientation());
+ }
delete targets;
- break;
}
- case SMART_ACTION_SET_ROOT:
+ else if (me && e.GetTargetType() == SMART_TARGET_POSITION)
{
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ if (e.action.setHomePos.spawnPos)
+ {
+ float x, y, z, o;
+ me->GetRespawnPosition(x, y, z, &o);
+ me->SetHomePosition(x, y, z, o);
+ }
+ else
+ me->SetHomePosition(e.target.x, e.target.y, e.target.z, e.target.o);
+ }
+ break;
+ }
+ /*{
+ ObjectList* movers = GetTargets(CreateEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, 0, 0, SMART_ACTION_NONE, 0, 0, 0, 0, 0, 0, (SMARTAI_TARGETS)e.action.sethome.targetType, e.action.sethome.targetParam1, e.action.sethome.targetParam2, e.action.sethome.targetParam3, 0), unit);
+ if (!movers)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->SetControlled(e.action.setRoot.root, UNIT_STATE_ROOT);
+ if (e.GetTargetType() == SMART_TARGET_POSITION)
+ {
+ for (ObjectList::const_iterator itr = movers->begin(); itr != movers->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->SetHomePosition(e.target.x, e.target.y, e.target.z, e.target.o);
+ }
+ else if (ObjectList* targets = GetTargets(e, unit))
+ {
+ if (WorldObject* target = targets->front())
+ for (ObjectList::const_iterator itr = movers->begin(); itr != movers->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->SetHomePosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation());
- delete targets;
+ delete targets;
+ }
+
+ delete movers;
+ break;
+ }*/
+ case SMART_ACTION_SET_HEALTH_REGEN:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_GO_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsGameObject(*itr))
- (*itr)->ToGameObject()->SetUInt32Value(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->SetRegeneratingHealth(e.action.setHealthRegen.regenHealth);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_ROOT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ADD_GO_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsGameObject(*itr))
- (*itr)->ToGameObject()->SetFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->SetControlled(e.action.setRoot.root, UNIT_STATE_ROOT);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_GO_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_REMOVE_GO_FLAG:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsGameObject(*itr))
- (*itr)->ToGameObject()->RemoveFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetUInt32Value(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_GO_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SUMMON_CREATURE_GROUP:
- {
- std::list<TempSummon*> summonList;
- GetBaseObject()->SummonCreatureGroup(e.action.creatureGroup.group, &summonList);
- for (std::list<TempSummon*>::const_iterator itr = summonList.begin(); itr != summonList.end(); ++itr)
- {
- if (unit && e.action.creatureGroup.attackInvoker)
- (*itr)->AI()->AttackStart(unit);
- else if (me && e.action.creatureGroup.attackScriptOwner)
- (*itr)->AI()->AttackStart(me);
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_GO_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_POWER:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetPower(Powers(e.action.power.powerType), e.action.power.newPower);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->RemoveFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
- delete targets;
- break;
- }
- case SMART_ACTION_ADD_POWER:
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SUMMON_CREATURE_GROUP:
+ {
+ std::list<TempSummon*> summonList;
+ GetBaseObject()->SummonCreatureGroup(e.action.creatureGroup.group, &summonList);
+
+ for (std::list<TempSummon*>::const_iterator itr = summonList.begin(); itr != summonList.end(); ++itr)
{
- ObjectList* targets = GetTargets(e, unit);
+ if (unit && e.action.creatureGroup.attackInvoker)
+ (*itr)->AI()->AttackStart(unit);
+ else if (me && e.action.creatureGroup.attackScriptOwner)
+ (*itr)->AI()->AttackStart(me);
+ }
- if (targets)
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetPower(Powers(e.action.power.powerType), (*itr)->ToUnit()->GetPower(Powers(e.action.power.powerType)) + e.action.power.newPower);
+ break;
+ }
+ case SMART_ACTION_SET_POWER:
+ {
+ ObjectList* targets = GetTargets(e, unit);
- delete targets;
- break;
- }
- case SMART_ACTION_REMOVE_POWER:
- {
- ObjectList* targets = GetTargets(e, unit);
+ if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetPower(Powers(e.action.power.powerType), e.action.power.newPower);
- if (targets)
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetPower(Powers(e.action.power.powerType), (*itr)->ToUnit()->GetPower(Powers(e.action.power.powerType)) - e.action.power.newPower);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_POWER:
+ {
+ ObjectList* targets = GetTargets(e, unit);
- delete targets;
- break;
- }
- case SMART_ACTION_GAME_EVENT_STOP:
+ if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetPower(Powers(e.action.power.powerType), (*itr)->ToUnit()->GetPower(Powers(e.action.power.powerType)) + e.action.power.newPower);
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_POWER:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+
+ if (targets)
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetPower(Powers(e.action.power.powerType), (*itr)->ToUnit()->GetPower(Powers(e.action.power.powerType)) - e.action.power.newPower);
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_GAME_EVENT_STOP:
+ {
+ uint32 eventId = e.action.gameEventStop.id;
+ if (!sGameEventMgr->IsActiveEvent(eventId))
{
- uint32 eventId = e.action.gameEventStop.id;
- if (!sGameEventMgr->IsActiveEvent(eventId))
- {
- sLog->outError("SmartScript::ProcessAction: At case SMART_ACTION_GAME_EVENT_STOP, inactive event (id: %u)", eventId);
- break;
- }
- sGameEventMgr->StopEvent(eventId, true);
+ sLog->outError("SmartScript::ProcessAction: At case SMART_ACTION_GAME_EVENT_STOP, inactive event (id: %u)", eventId);
break;
}
- case SMART_ACTION_GAME_EVENT_START:
+ sGameEventMgr->StopEvent(eventId, true);
+ break;
+ }
+ case SMART_ACTION_GAME_EVENT_START:
+ {
+ uint32 eventId = e.action.gameEventStart.id;
+ if (sGameEventMgr->IsActiveEvent(eventId))
{
- uint32 eventId = e.action.gameEventStart.id;
- if (sGameEventMgr->IsActiveEvent(eventId))
- {
- sLog->outError("SmartScript::ProcessAction: At case SMART_ACTION_GAME_EVENT_START, already activated event (id: %u)", eventId);
- break;
- }
- sGameEventMgr->StartEvent(eventId, true);
+ sLog->outError("SmartScript::ProcessAction: At case SMART_ACTION_GAME_EVENT_START, already activated event (id: %u)", eventId);
break;
}
- case SMART_ACTION_START_CLOSEST_WAYPOINT:
+ sGameEventMgr->StartEvent(eventId, true);
+ break;
+ }
+ case SMART_ACTION_START_CLOSEST_WAYPOINT:
+ {
+ uint32 waypoints[SMART_ACTION_PARAM_COUNT];
+ waypoints[0] = e.action.closestWaypointFromList.wp1;
+ waypoints[1] = e.action.closestWaypointFromList.wp2;
+ waypoints[2] = e.action.closestWaypointFromList.wp3;
+ waypoints[3] = e.action.closestWaypointFromList.wp4;
+ waypoints[4] = e.action.closestWaypointFromList.wp5;
+ waypoints[5] = e.action.closestWaypointFromList.wp6;
+ float distanceToClosest = std::numeric_limits<float>::max();
+ WayPoint* closestWp = NULL;
+
+ ObjectList* targets = GetTargets(e, unit);
+ if (targets)
{
- uint32 waypoints[SMART_ACTION_PARAM_COUNT];
- waypoints[0] = e.action.closestWaypointFromList.wp1;
- waypoints[1] = e.action.closestWaypointFromList.wp2;
- waypoints[2] = e.action.closestWaypointFromList.wp3;
- waypoints[3] = e.action.closestWaypointFromList.wp4;
- waypoints[4] = e.action.closestWaypointFromList.wp5;
- waypoints[5] = e.action.closestWaypointFromList.wp6;
- float distanceToClosest = std::numeric_limits<float>::max();
- WayPoint* closestWp = NULL;
-
- ObjectList* targets = GetTargets(e, unit);
- if (targets)
+ for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- for (ObjectList::iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (Creature* target = (*itr)->ToCreature())
{
- if (Creature* target = (*itr)->ToCreature())
+ if (IsSmart(target))
{
- if (IsSmart(target))
+ for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
{
- for (uint8 i = 0; i < SMART_ACTION_PARAM_COUNT; i++)
- {
- if (!waypoints[i])
- continue;
+ if (!waypoints[i])
+ continue;
- WPPath* path = sSmartWaypointMgr->GetPath(waypoints[i]);
+ WPPath* path = sSmartWaypointMgr->GetPath(waypoints[i]);
- if (!path || path->empty())
- continue;
+ if (!path || path->empty())
+ continue;
- WPPath::const_iterator itrWp = path->find(0);
+ WPPath::const_iterator itrWp = path->find(0);
- if (itrWp != path->end())
+ if (itrWp != path->end())
+ {
+ if (WayPoint* wp = itrWp->second)
{
- if (WayPoint* wp = itrWp->second)
- {
- float distToThisPath = target->GetDistance(wp->x, wp->y, wp->z);
+ float distToThisPath = target->GetDistance(wp->x, wp->y, wp->z);
- if (distToThisPath < distanceToClosest)
- {
- distanceToClosest = distToThisPath;
- closestWp = wp;
- }
+ if (distToThisPath < distanceToClosest)
+ {
+ distanceToClosest = distToThisPath;
+ closestWp = wp;
}
}
}
-
- if (closestWp)
- CAST_AI(SmartAI, target->AI())->StartPath(false, closestWp->id, true);
}
+
+ if (closestWp)
+ CAST_AI(SmartAI, target->AI())->StartPath(false, closestWp->id, true);
}
}
-
- delete targets;
}
- break;
- }
- case SMART_ACTION_SET_GO_STATE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
-
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsGameObject(*itr))
- (*itr)->ToGameObject()->SetGoState((GOState)e.action.goState.state);
delete targets;
- break;
}
- case SMART_ACTION_EXIT_VEHICLE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ break;
+ }
+ case SMART_ACTION_SET_GO_STATE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->ExitVehicle();
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetGoState((GOState)e.action.goState.state);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_EXIT_VEHICLE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- {
- (*itr)->ToUnit()->SetUnitMovementFlags(e.action.movementFlag.flag);
- (*itr)->ToUnit()->SendMovementFlagUpdate();
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->ExitVehicle();
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_COMBAT_DISTANCE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->m_CombatDistance = e.action.combatDistance.dist;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ {
+ (*itr)->ToUnit()->SetUnitMovementFlags(e.action.movementFlag.flag);
+ (*itr)->ToUnit()->SendMovementFlagUpdate();
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_COMBAT_DISTANCE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_CASTER_COMBAT_DIST:
- {
- if (e.action.casterDistance.reset)
- RestoreCasterMaxDist();
- else
- SetCasterActualDist(e.action.casterDistance.dist);
- if (me->GetVictim() && me->GetMotionMaster()->GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
- me->GetMotionMaster()->MoveChase(me->GetVictim(), GetCasterActualDist());
- break;
- }
- case SMART_ACTION_SET_SIGHT_DIST:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->m_CombatDistance = e.action.combatDistance.dist;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->m_SightDistance = e.action.sightDistance.dist;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_CASTER_COMBAT_DIST:
+ {
+ if (e.action.casterDistance.reset)
+ RestoreCasterMaxDist();
+ else
+ SetCasterActualDist(e.action.casterDistance.dist);
- delete targets;
+ if (me->GetVictim() && me->GetMotionMaster()->GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
+ me->GetMotionMaster()->MoveChase(me->GetVictim(), GetCasterActualDist());
+ break;
+ }
+ case SMART_ACTION_SET_SIGHT_DIST:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_FLEE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->GetMotionMaster()->MoveFleeing(me, e.action.flee.withEmote);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->m_SightDistance = e.action.sightDistance.dist;
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_FLEE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ADD_THREAT:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- me->AddThreat((*itr)->ToUnit(), (float)e.action.threatPCT.threatINC - (float)e.action.threatPCT.threatDEC);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->GetMotionMaster()->MoveFleeing(me, e.action.flee.withEmote);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_THREAT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_LOAD_EQUIPMENT:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsCreature(*itr))
- (*itr)->ToCreature()->LoadEquipment(e.action.loadEquipment.id, e.action.loadEquipment.force);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ me->AddThreat((*itr)->ToUnit(), (float)e.action.threatPCT.threatINC - (float)e.action.threatPCT.threatDEC);
- delete targets;
- break;
- }
- case SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT:
- {
- uint32 eventId = urand(e.action.randomTimedEvent.minId, e.action.randomTimedEvent.maxId);
- ProcessEventsFor((SMART_EVENT)SMART_EVENT_TIMED_EVENT_TRIGGERED, NULL, eventId);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_LOAD_EQUIPMENT:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_SET_HOVER:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->SetHover(e.action.setHover.state);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsCreature(*itr))
+ (*itr)->ToCreature()->LoadEquipment(e.action.loadEquipment.id, e.action.loadEquipment.force);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT:
+ {
+ uint32 eventId = urand(e.action.randomTimedEvent.minId, e.action.randomTimedEvent.maxId);
+ ProcessEventsFor((SMART_EVENT)SMART_EVENT_TIMED_EVENT_TRIGGERED, NULL, eventId);
+ break;
+ }
+ case SMART_ACTION_SET_HOVER:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ADD_IMMUNITY:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->ApplySpellImmune(e.action.immunity.id, e.action.immunity.type, e.action.immunity.value, true);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->SetHover(e.action.setHover.state);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_IMMUNITY:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_REMOVE_IMMUNITY:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->ApplySpellImmune(e.action.immunity.id, e.action.immunity.type, e.action.immunity.value, false);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->ApplySpellImmune(e.action.immunity.id, e.action.immunity.type, e.action.immunity.value, true);
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_IMMUNITY:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_FALL:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->GetMotionMaster()->MoveFall();
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->ApplySpellImmune(e.action.immunity.id, e.action.immunity.type, e.action.immunity.value, false);
- delete targets;
- break;
- }
- case SMART_ACTION_SET_EVENT_FLAG_RESET:
- {
- SetPhaseReset(e.action.setActive.state);
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_FALL:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_REMOVE_ALL_GAMEOBJECTS:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->RemoveAllGameObjects();
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->GetMotionMaster()->MoveFall();
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_SET_EVENT_FLAG_RESET:
+ {
+ SetPhaseReset(e.action.setActive.state);
+ break;
+ }
+ case SMART_ACTION_REMOVE_ALL_GAMEOBJECTS:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_STOP_MOTION:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- {
- if (e.action.stopMotion.stopMovement)
- (*itr)->ToUnit()->StopMoving();
- if (e.action.stopMotion.movementExpired)
- (*itr)->ToUnit()->GetMotionMaster()->MovementExpired();
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->RemoveAllGameObjects();
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_STOP_MOTION:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_NO_ENVIRONMENT_UPDATE:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- (*itr)->ToUnit()->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ {
+ if (e.action.stopMotion.stopMovement)
+ (*itr)->ToUnit()->StopMoving();
+ if (e.action.stopMotion.movementExpired)
+ (*itr)->ToUnit()->GetMotionMaster()->MovementExpired();
+ }
- delete targets;
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_NO_ENVIRONMENT_UPDATE:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
- }
- case SMART_ACTION_ZONE_UNDER_ATTACK:
- {
- ObjectList* targets = GetTargets(e, unit);
- if (!targets)
- break;
- for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
- if (IsUnit(*itr))
- if (Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself())
- {
- me->SendZoneUnderAttackMessage(player);
- break;
- }
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ (*itr)->ToUnit()->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
- delete targets;
- break;
- }
- case SMART_ACTION_LOAD_GRID:
- {
- if (me && me->FindMap())
- me->FindMap()->LoadGrid(e.target.x, e.target.y);
- break;
- }
- default:
- sLog->outErrorDb("SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Unhandled Action type %u", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ZONE_UNDER_ATTACK:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsUnit(*itr))
+ if (Player* player = (*itr)->ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself())
+ {
+ me->SendZoneUnderAttackMessage(player);
+ break;
+ }
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_LOAD_GRID:
+ {
+ if (me && me->FindMap())
+ me->FindMap()->LoadGrid(e.target.x, e.target.y);
+ break;
+ }
+ default:
+ sLog->outErrorDb("SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Unhandled Action type %u", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
+ break;
}
if (e.link && e.link != e.event_id)
@@ -2797,65 +2868,65 @@ void SmartScript::InstallTemplate(SmartScriptHolder const& e)
mTemplate = (SMARTAI_TEMPLATE)e.action.installTtemplate.id;
switch ((SMARTAI_TEMPLATE)e.action.installTtemplate.id)
{
- case SMARTAI_TEMPLATE_CASTER:
- {
- AddEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, e.action.installTtemplate.param2, e.action.installTtemplate.param3, SMART_ACTION_CAST, e.action.installTtemplate.param1, e.target.raw.param1, 0, 0, 0, 0, SMART_TARGET_VICTIM, 0, 0, 0, 1);
- AddEvent(SMART_EVENT_RANGE, 0, e.action.installTtemplate.param4, 300, 0, 0, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
- AddEvent(SMART_EVENT_RANGE, 0, 0, e.action.installTtemplate.param4>10?e.action.installTtemplate.param4-10:0, 0, 0, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 0, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
- AddEvent(SMART_EVENT_MANA_PCT, 0, e.action.installTtemplate.param5-15>100?100:e.action.installTtemplate.param5+15, 100, 1000, 1000, SMART_ACTION_SET_EVENT_PHASE, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- AddEvent(SMART_EVENT_MANA_PCT, 0, 0, e.action.installTtemplate.param5, 1000, 1000, SMART_ACTION_SET_EVENT_PHASE, 0, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- AddEvent(SMART_EVENT_MANA_PCT, 0, 0, e.action.installTtemplate.param5, 1000, 1000, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- break;
- }
- case SMARTAI_TEMPLATE_TURRET:
- {
- AddEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, e.action.installTtemplate.param2, e.action.installTtemplate.param3, SMART_ACTION_CAST, e.action.installTtemplate.param1, e.target.raw.param1, 0, 0, 0, 0, SMART_TARGET_VICTIM, 0, 0, 0, 0);
- AddEvent(SMART_EVENT_JUST_CREATED, 0, 0, 0, 0, 0, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 0, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- break;
- }
- case SMARTAI_TEMPLATE_CAGED_NPC_PART:
- {
- if (!me)
- return;
- //store cage as id1
- AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_STORE_TARGET_LIST, 1, 0, 0, 0, 0, 0, SMART_TARGET_CLOSEST_GAMEOBJECT, e.action.installTtemplate.param1, 10, 0, 0);
+ case SMARTAI_TEMPLATE_CASTER:
+ {
+ AddEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, e.action.installTtemplate.param2, e.action.installTtemplate.param3, SMART_ACTION_CAST, e.action.installTtemplate.param1, e.target.raw.param1, 0, 0, 0, 0, SMART_TARGET_VICTIM, 0, 0, 0, 1);
+ AddEvent(SMART_EVENT_RANGE, 0, e.action.installTtemplate.param4, 300, 0, 0, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
+ AddEvent(SMART_EVENT_RANGE, 0, 0, e.action.installTtemplate.param4>10 ? e.action.installTtemplate.param4 - 10 : 0, 0, 0, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 0, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
+ AddEvent(SMART_EVENT_MANA_PCT, 0, e.action.installTtemplate.param5 - 15>100 ? 100 : e.action.installTtemplate.param5 + 15, 100, 1000, 1000, SMART_ACTION_SET_EVENT_PHASE, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ AddEvent(SMART_EVENT_MANA_PCT, 0, 0, e.action.installTtemplate.param5, 1000, 1000, SMART_ACTION_SET_EVENT_PHASE, 0, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ AddEvent(SMART_EVENT_MANA_PCT, 0, 0, e.action.installTtemplate.param5, 1000, 1000, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ break;
+ }
+ case SMARTAI_TEMPLATE_TURRET:
+ {
+ AddEvent(SMART_EVENT_UPDATE_IC, 0, 0, 0, e.action.installTtemplate.param2, e.action.installTtemplate.param3, SMART_ACTION_CAST, e.action.installTtemplate.param1, e.target.raw.param1, 0, 0, 0, 0, SMART_TARGET_VICTIM, 0, 0, 0, 0);
+ AddEvent(SMART_EVENT_JUST_CREATED, 0, 0, 0, 0, 0, SMART_ACTION_ALLOW_COMBAT_MOVEMENT, 0, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ break;
+ }
+ case SMARTAI_TEMPLATE_CAGED_NPC_PART:
+ {
+ if (!me)
+ return;
+ //store cage as id1
+ AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_STORE_TARGET_LIST, 1, 0, 0, 0, 0, 0, SMART_TARGET_CLOSEST_GAMEOBJECT, e.action.installTtemplate.param1, 10, 0, 0);
- //reset(close) cage on hostage(me) respawn
- AddEvent(SMART_EVENT_UPDATE, SMART_EVENT_FLAG_NOT_REPEATABLE, 0, 0, 0, 0, SMART_ACTION_RESET_GOBJECT, 0, 0, 0, 0, 0, 0, SMART_TARGET_GAMEOBJECT_DISTANCE, e.action.installTtemplate.param1, 5, 0, 0);
+ //reset(close) cage on hostage(me) respawn
+ AddEvent(SMART_EVENT_UPDATE, SMART_EVENT_FLAG_NOT_REPEATABLE, 0, 0, 0, 0, SMART_ACTION_RESET_GOBJECT, 0, 0, 0, 0, 0, 0, SMART_TARGET_GAMEOBJECT_DISTANCE, e.action.installTtemplate.param1, 5, 0, 0);
- AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_SET_RUN, e.action.installTtemplate.param3, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_SET_EVENT_PHASE, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_SET_RUN, e.action.installTtemplate.param3, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_SET_EVENT_PHASE, 1, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- AddEvent(SMART_EVENT_UPDATE, SMART_EVENT_FLAG_NOT_REPEATABLE, 1000, 1000, 0, 0, SMART_ACTION_MOVE_FORWARD, e.action.installTtemplate.param4, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
- //phase 1: give quest credit on movepoint reached
- AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, SMART_ACTION_SET_DATA, 0, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 1, 0, 0, 1);
- //phase 1: despawn after time on movepoint reached
- AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, SMART_ACTION_FORCE_DESPAWN, e.action.installTtemplate.param2, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
+ AddEvent(SMART_EVENT_UPDATE, SMART_EVENT_FLAG_NOT_REPEATABLE, 1000, 1000, 0, 0, SMART_ACTION_MOVE_FORWARD, e.action.installTtemplate.param4, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
+ //phase 1: give quest credit on movepoint reached
+ AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, SMART_ACTION_SET_DATA, 0, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 1, 0, 0, 1);
+ //phase 1: despawn after time on movepoint reached
+ AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, SMART_ACTION_FORCE_DESPAWN, e.action.installTtemplate.param2, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
- if (sCreatureTextMgr->TextExist(me->GetEntry(), (uint8)e.action.installTtemplate.param5))
- AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, SMART_ACTION_TALK, e.action.installTtemplate.param5, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
- break;
- }
- case SMARTAI_TEMPLATE_CAGED_GO_PART:
- {
- if (!go)
- return;
- //store hostage as id1
- AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_STORE_TARGET_LIST, 1, 0, 0, 0, 0, 0, SMART_TARGET_CLOSEST_CREATURE, e.action.installTtemplate.param1, 10, 0, 0);
- //store invoker as id2
- AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_STORE_TARGET_LIST, 2, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
- //signal hostage
- AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_SET_DATA, 0, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 1, 0, 0, 0);
- //when hostage raeched end point, give credit to invoker
- if (e.action.installTtemplate.param2)
- AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_CALL_KILLEDMONSTER, e.action.installTtemplate.param1, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 2, 0, 0, 0);
- else
- AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_CALL_KILLEDMONSTER, e.action.installTtemplate.param1, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 2, 0, 0, 0);
- break;
- }
- case SMARTAI_TEMPLATE_BASIC:
- default:
+ if (sCreatureTextMgr->TextExist(me->GetEntry(), (uint8)e.action.installTtemplate.param5))
+ AddEvent(SMART_EVENT_MOVEMENTINFORM, 0, POINT_MOTION_TYPE, SMART_RANDOM_POINT, 0, 0, SMART_ACTION_TALK, e.action.installTtemplate.param5, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 1);
+ break;
+ }
+ case SMARTAI_TEMPLATE_CAGED_GO_PART:
+ {
+ if (!go)
return;
+ //store hostage as id1
+ AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_STORE_TARGET_LIST, 1, 0, 0, 0, 0, 0, SMART_TARGET_CLOSEST_CREATURE, e.action.installTtemplate.param1, 10, 0, 0);
+ //store invoker as id2
+ AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_STORE_TARGET_LIST, 2, 0, 0, 0, 0, 0, SMART_TARGET_NONE, 0, 0, 0, 0);
+ //signal hostage
+ AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_SET_DATA, 0, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 1, 0, 0, 0);
+ //when hostage raeched end point, give credit to invoker
+ if (e.action.installTtemplate.param2)
+ AddEvent(SMART_EVENT_DATA_SET, 0, 0, 0, 0, 0, SMART_ACTION_CALL_KILLEDMONSTER, e.action.installTtemplate.param1, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 2, 0, 0, 0);
+ else
+ AddEvent(SMART_EVENT_GO_STATE_CHANGED, 0, 2, 0, 0, 0, SMART_ACTION_CALL_KILLEDMONSTER, e.action.installTtemplate.param1, 0, 0, 0, 0, 0, SMART_TARGET_STORED, 2, 0, 0, 0);
+ break;
+ }
+ case SMARTAI_TEMPLATE_BASIC:
+ default:
+ return;
}
}
@@ -2907,361 +2978,361 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /*
ObjectList* l = new ObjectList();
switch (e.GetTargetType())
{
- case SMART_TARGET_SELF:
- if (baseObject)
- l->push_back(baseObject);
- break;
- case SMART_TARGET_VICTIM:
- if (me && me->GetVictim())
- l->push_back(me->GetVictim());
- break;
- case SMART_TARGET_HOSTILE_SECOND_AGGRO:
- if (me)
- {
- if (e.target.hostilRandom.powerType)
- {
- if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_TOPAGGRO, 1, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType-1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
- l->push_back(u);
- }
- else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_TOPAGGRO, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ case SMART_TARGET_SELF:
+ if (baseObject)
+ l->push_back(baseObject);
+ break;
+ case SMART_TARGET_VICTIM:
+ if (me && me->GetVictim())
+ l->push_back(me->GetVictim());
+ break;
+ case SMART_TARGET_HOSTILE_SECOND_AGGRO:
+ if (me)
+ {
+ if (e.target.hostilRandom.powerType)
+ {
+ if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_TOPAGGRO, 1, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
l->push_back(u);
}
- break;
- case SMART_TARGET_HOSTILE_LAST_AGGRO:
- if (me)
- {
- if (e.target.hostilRandom.powerType)
- {
- if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_BOTTOMAGGRO, 0, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType-1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
- l->push_back(u);
- }
- else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_BOTTOMAGGRO, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
- l->push_back(u);
- }
- break;
- case SMART_TARGET_HOSTILE_RANDOM:
- if (me)
+ else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_TOPAGGRO, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ l->push_back(u);
+ }
+ break;
+ case SMART_TARGET_HOSTILE_LAST_AGGRO:
+ if (me)
+ {
+ if (e.target.hostilRandom.powerType)
{
- if (e.target.hostilRandom.powerType)
- {
- if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType-1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
- l->push_back(u);
- }
- else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_BOTTOMAGGRO, 0, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
l->push_back(u);
}
- break;
- case SMART_TARGET_HOSTILE_RANDOM_NOT_TOP:
- if (me)
+ else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_BOTTOMAGGRO, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ l->push_back(u);
+ }
+ break;
+ case SMART_TARGET_HOSTILE_RANDOM:
+ if (me)
+ {
+ if (e.target.hostilRandom.powerType)
{
- if (e.target.hostilRandom.powerType)
- {
- if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType-1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
- l->push_back(u);
- }
- else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
l->push_back(u);
}
- break;
- case SMART_TARGET_FARTHEST:
- if (me)
+ else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ l->push_back(u);
+ }
+ break;
+ case SMART_TARGET_HOSTILE_RANDOM_NOT_TOP:
+ if (me)
+ {
+ if (e.target.hostilRandom.powerType)
{
- if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_FARTHEST, 0, FarthestTargetSelector(me, e.target.farthest.maxDist, e.target.farthest.playerOnly, e.target.farthest.isInLos)))
+ if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, PowerUsersSelector(me, Powers(e.target.hostilRandom.powerType - 1), (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly)))
l->push_back(u);
}
- break;
- case SMART_TARGET_ACTION_INVOKER:
- if (scriptTrigger)
- l->push_back(scriptTrigger);
- break;
- case SMART_TARGET_ACTION_INVOKER_VEHICLE:
- if (scriptTrigger && scriptTrigger->GetVehicle() && scriptTrigger->GetVehicle()->GetBase())
- l->push_back(scriptTrigger->GetVehicle()->GetBase());
- break;
- case SMART_TARGET_INVOKER_PARTY:
- if (scriptTrigger)
+ else if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1, (float)e.target.hostilRandom.maxDist, e.target.hostilRandom.playerOnly))
+ l->push_back(u);
+ }
+ break;
+ case SMART_TARGET_FARTHEST:
+ if (me)
+ {
+ if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_FARTHEST, 0, FarthestTargetSelector(me, e.target.farthest.maxDist, e.target.farthest.playerOnly, e.target.farthest.isInLos)))
+ l->push_back(u);
+ }
+ break;
+ case SMART_TARGET_ACTION_INVOKER:
+ if (scriptTrigger)
+ l->push_back(scriptTrigger);
+ break;
+ case SMART_TARGET_ACTION_INVOKER_VEHICLE:
+ if (scriptTrigger && scriptTrigger->GetVehicle() && scriptTrigger->GetVehicle()->GetBase())
+ l->push_back(scriptTrigger->GetVehicle()->GetBase());
+ break;
+ case SMART_TARGET_INVOKER_PARTY:
+ if (scriptTrigger)
+ {
+ if (Player* player = scriptTrigger->ToPlayer())
{
- if (Player* player = scriptTrigger->ToPlayer())
+ if (Group* group = player->GetGroup())
{
- if (Group* group = player->GetGroup())
- {
- for (GroupReference* groupRef = group->GetFirstMember(); groupRef != NULL; groupRef = groupRef->next())
- if (Player* member = groupRef->GetSource())
- if (member->IsInMap(player))
- l->push_back(member);
- }
- // We still add the player to the list if there is no group. If we do
- // this even if there is a group (thus the else-check), it will add the
- // same player to the list twice. We don't want that to happen.
- else
- l->push_back(scriptTrigger);
+ for (GroupReference* groupRef = group->GetFirstMember(); groupRef != NULL; groupRef = groupRef->next())
+ if (Player* member = groupRef->GetSource())
+ if (member->IsInMap(player))
+ l->push_back(member);
}
+ // We still add the player to the list if there is no group. If we do
+ // this even if there is a group (thus the else-check), it will add the
+ // same player to the list twice. We don't want that to happen.
+ else
+ l->push_back(scriptTrigger);
}
- break;
- case SMART_TARGET_CREATURE_RANGE:
+ }
+ break;
+ case SMART_TARGET_CREATURE_RANGE:
+ {
+ // will always return a valid pointer, even if empty list
+ ObjectList* units = GetWorldObjectsInDist((float)e.target.unitRange.maxDist);
+ for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
{
- // will always return a valid pointer, even if empty list
- ObjectList* units = GetWorldObjectsInDist((float)e.target.unitRange.maxDist);
- for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
+ if (!IsCreature(*itr))
+ continue;
+
+ if (me && me->GetGUID() == (*itr)->GetGUID())
+ continue;
+
+ // check alive state - 1 alive, 2 dead, 0 both
+ if (uint32 state = e.target.unitRange.livingState)
{
- if (!IsCreature(*itr))
+ if ((*itr)->ToCreature()->IsAlive() && state == 2)
continue;
-
- if (me && me->GetGUID() == (*itr)->GetGUID())
+ if (!(*itr)->ToCreature()->IsAlive() && state == 1)
continue;
-
- // check alive state - 1 alive, 2 dead, 0 both
- if (uint32 state = e.target.unitRange.livingState)
- {
- if ((*itr)->ToCreature()->IsAlive() && state == 2)
- continue;
- if (!(*itr)->ToCreature()->IsAlive() && state == 1)
- continue;
- }
-
- if (((e.target.unitRange.creature && (*itr)->ToCreature()->GetEntry() == e.target.unitRange.creature) || !e.target.unitRange.creature) && baseObject->IsInRange(*itr, (float)e.target.unitRange.minDist, (float)e.target.unitRange.maxDist))
- l->push_back(*itr);
}
- delete units;
- break;
+ if (((e.target.unitRange.creature && (*itr)->ToCreature()->GetEntry() == e.target.unitRange.creature) || !e.target.unitRange.creature) && baseObject->IsInRange(*itr, (float)e.target.unitRange.minDist, (float)e.target.unitRange.maxDist))
+ l->push_back(*itr);
}
- case SMART_TARGET_CREATURE_DISTANCE:
+
+ delete units;
+ break;
+ }
+ case SMART_TARGET_CREATURE_DISTANCE:
+ {
+ // will always return a valid pointer, even if empty list
+ ObjectList* units = GetWorldObjectsInDist((float)e.target.unitDistance.dist);
+ for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
{
- // will always return a valid pointer, even if empty list
- ObjectList* units = GetWorldObjectsInDist((float)e.target.unitDistance.dist);
- for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
+ if (!IsCreature(*itr))
+ continue;
+
+ if (me && me->GetGUID() == (*itr)->GetGUID())
+ continue;
+
+ // check alive state - 1 alive, 2 dead, 0 both
+ if (uint32 state = e.target.unitDistance.livingState)
{
- if (!IsCreature(*itr))
+ if ((*itr)->ToCreature()->IsAlive() && state == 2)
continue;
-
- if (me && me->GetGUID() == (*itr)->GetGUID())
+ if (!(*itr)->ToCreature()->IsAlive() && state == 1)
continue;
-
- // check alive state - 1 alive, 2 dead, 0 both
- if (uint32 state = e.target.unitDistance.livingState)
- {
- if ((*itr)->ToCreature()->IsAlive() && state == 2)
- continue;
- if (!(*itr)->ToCreature()->IsAlive() && state == 1)
- continue;
- }
-
- if ((e.target.unitDistance.creature && (*itr)->ToCreature()->GetEntry() == e.target.unitDistance.creature) || !e.target.unitDistance.creature)
- l->push_back(*itr);
}
- delete units;
- break;
+ if ((e.target.unitDistance.creature && (*itr)->ToCreature()->GetEntry() == e.target.unitDistance.creature) || !e.target.unitDistance.creature)
+ l->push_back(*itr);
}
- case SMART_TARGET_GAMEOBJECT_DISTANCE:
- {
- // will always return a valid pointer, even if empty list
- ObjectList* units = GetWorldObjectsInDist((float)e.target.goDistance.dist);
- for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
- {
- if (!IsGameObject(*itr))
- continue;
- if (go && go->GetGUID() == (*itr)->GetGUID())
- continue;
+ delete units;
+ break;
+ }
+ case SMART_TARGET_GAMEOBJECT_DISTANCE:
+ {
+ // will always return a valid pointer, even if empty list
+ ObjectList* units = GetWorldObjectsInDist((float)e.target.goDistance.dist);
+ for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
+ {
+ if (!IsGameObject(*itr))
+ continue;
- if ((e.target.goDistance.entry && (*itr)->ToGameObject()->GetEntry() == e.target.goDistance.entry) || !e.target.goDistance.entry)
- l->push_back(*itr);
- }
+ if (go && go->GetGUID() == (*itr)->GetGUID())
+ continue;
- delete units;
- break;
+ if ((e.target.goDistance.entry && (*itr)->ToGameObject()->GetEntry() == e.target.goDistance.entry) || !e.target.goDistance.entry)
+ l->push_back(*itr);
}
- case SMART_TARGET_GAMEOBJECT_RANGE:
+
+ delete units;
+ break;
+ }
+ case SMART_TARGET_GAMEOBJECT_RANGE:
+ {
+ // will always return a valid pointer, even if empty list
+ ObjectList* units = GetWorldObjectsInDist((float)e.target.goRange.maxDist);
+ for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
{
- // will always return a valid pointer, even if empty list
- ObjectList* units = GetWorldObjectsInDist((float)e.target.goRange.maxDist);
- for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
- {
- if (!IsGameObject(*itr))
- continue;
+ if (!IsGameObject(*itr))
+ continue;
- if (go && go->GetGUID() == (*itr)->GetGUID())
- continue;
+ if (go && go->GetGUID() == (*itr)->GetGUID())
+ continue;
- if (((e.target.goRange.entry && IsGameObject(*itr) && (*itr)->ToGameObject()->GetEntry() == e.target.goRange.entry) || !e.target.goRange.entry) && baseObject->IsInRange((*itr), (float)e.target.goRange.minDist, (float)e.target.goRange.maxDist))
- l->push_back(*itr);
- }
+ if (((e.target.goRange.entry && IsGameObject(*itr) && (*itr)->ToGameObject()->GetEntry() == e.target.goRange.entry) || !e.target.goRange.entry) && baseObject->IsInRange((*itr), (float)e.target.goRange.minDist, (float)e.target.goRange.maxDist))
+ l->push_back(*itr);
+ }
- delete units;
+ delete units;
+ break;
+ }
+ case SMART_TARGET_CREATURE_GUID:
+ {
+ Creature* target = NULL;
+ if (!scriptTrigger && !baseObject)
+ {
+ sLog->outError("SMART_TARGET_CREATURE_GUID can not be used without invoker");
break;
}
- case SMART_TARGET_CREATURE_GUID:
- {
- Creature* target = NULL;
- if (!scriptTrigger && !baseObject)
- {
- sLog->outError("SMART_TARGET_CREATURE_GUID can not be used without invoker");
- break;
- }
- // xinef: my addition
- if (e.target.unitGUID.getFromHashMap)
- {
- if (target = ObjectAccessor::GetCreature(scriptTrigger ? *scriptTrigger : *GetBaseObject(), MAKE_NEW_GUID(e.target.unitGUID.dbGuid, e.target.unitGUID.entry, HIGHGUID_UNIT)))
- l->push_back(target);
- }
- else
- {
- target = FindCreatureNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.unitGUID.dbGuid);
- if (target && (!e.target.unitGUID.entry || target->GetEntry() == e.target.unitGUID.entry))
- l->push_back(target);
- }
- break;
+ // xinef: my addition
+ if (e.target.unitGUID.getFromHashMap)
+ {
+ if (target = ObjectAccessor::GetCreature(scriptTrigger ? *scriptTrigger : *GetBaseObject(), MAKE_NEW_GUID(e.target.unitGUID.dbGuid, e.target.unitGUID.entry, HIGHGUID_UNIT)))
+ l->push_back(target);
}
- case SMART_TARGET_GAMEOBJECT_GUID:
+ else
{
- GameObject* target = NULL;
- if (!scriptTrigger && !GetBaseObject())
- {
- sLog->outError("SMART_TARGET_GAMEOBJECT_GUID can not be used without invoker");
- break;
- }
-
- // xinef: my addition
- if (e.target.goGUID.getFromHashMap)
- {
- if (target = ObjectAccessor::GetGameObject(scriptTrigger ? *scriptTrigger : *GetBaseObject(), MAKE_NEW_GUID(e.target.goGUID.dbGuid, e.target.goGUID.entry, HIGHGUID_GAMEOBJECT)))
- l->push_back(target);
- }
- else
- {
- target = FindGameObjectNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.goGUID.dbGuid);
- if (target && (!e.target.goGUID.entry || target->GetEntry() == e.target.goGUID.entry))
- l->push_back(target);
- }
- break;
+ target = FindCreatureNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.unitGUID.dbGuid);
+ if (target && (!e.target.unitGUID.entry || target->GetEntry() == e.target.unitGUID.entry))
+ l->push_back(target);
}
- case SMART_TARGET_PLAYER_RANGE:
+ break;
+ }
+ case SMART_TARGET_GAMEOBJECT_GUID:
+ {
+ GameObject* target = NULL;
+ if (!scriptTrigger && !GetBaseObject())
{
- uint32 count = 0;
- // will always return a valid pointer, even if empty list
- ObjectList* units = GetWorldObjectsInDist((float)e.target.playerRange.maxDist);
- if (!units->empty() && GetBaseObject())
- for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
- if (IsPlayer(*itr) && GetBaseObject()->IsInRange(*itr, (float)e.target.playerRange.minDist, (float)e.target.playerRange.maxDist))
- {
- l->push_back(*itr);
- if (e.target.playerRange.maxCount && ++count >= e.target.playerRange.maxCount)
- break;
- }
-
- delete units;
+ sLog->outError("SMART_TARGET_GAMEOBJECT_GUID can not be used without invoker");
break;
}
- case SMART_TARGET_PLAYER_DISTANCE:
+
+ // xinef: my addition
+ if (e.target.goGUID.getFromHashMap)
{
- // will always return a valid pointer, even if empty list
- ObjectList* units = GetWorldObjectsInDist((float)e.target.playerDistance.dist);
+ if (target = ObjectAccessor::GetGameObject(scriptTrigger ? *scriptTrigger : *GetBaseObject(), MAKE_NEW_GUID(e.target.goGUID.dbGuid, e.target.goGUID.entry, HIGHGUID_GAMEOBJECT)))
+ l->push_back(target);
+ }
+ else
+ {
+ target = FindGameObjectNear(scriptTrigger ? scriptTrigger : GetBaseObject(), e.target.goGUID.dbGuid);
+ if (target && (!e.target.goGUID.entry || target->GetEntry() == e.target.goGUID.entry))
+ l->push_back(target);
+ }
+ break;
+ }
+ case SMART_TARGET_PLAYER_RANGE:
+ {
+ uint32 count = 0;
+ // will always return a valid pointer, even if empty list
+ ObjectList* units = GetWorldObjectsInDist((float)e.target.playerRange.maxDist);
+ if (!units->empty() && GetBaseObject())
for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
- if (IsPlayer(*itr))
+ if (IsPlayer(*itr) && GetBaseObject()->IsInRange(*itr, (float)e.target.playerRange.minDist, (float)e.target.playerRange.maxDist))
+ {
l->push_back(*itr);
+ if (e.target.playerRange.maxCount && ++count >= e.target.playerRange.maxCount)
+ break;
+ }
- delete units;
- break;
- }
- case SMART_TARGET_STORED:
+ delete units;
+ break;
+ }
+ case SMART_TARGET_PLAYER_DISTANCE:
+ {
+ // will always return a valid pointer, even if empty list
+ ObjectList* units = GetWorldObjectsInDist((float)e.target.playerDistance.dist);
+ for (ObjectList::const_iterator itr = units->begin(); itr != units->end(); ++itr)
+ if (IsPlayer(*itr))
+ l->push_back(*itr);
+
+ delete units;
+ break;
+ }
+ case SMART_TARGET_STORED:
+ {
+ ObjectListMap::iterator itr = mTargetStorage->find(e.target.stored.id);
+ if (itr != mTargetStorage->end())
{
- ObjectListMap::iterator itr = mTargetStorage->find(e.target.stored.id);
- if (itr != mTargetStorage->end())
- {
- ObjectList* objectList = itr->second->GetObjectList();
- l->assign(objectList->begin(), objectList->end());
- }
-
- // xinef: return l, retardness... what if list is empty? will return empty list instead of null pointer
- break;
+ ObjectList* objectList = itr->second->GetObjectList();
+ l->assign(objectList->begin(), objectList->end());
}
- case SMART_TARGET_CLOSEST_CREATURE:
+
+ // xinef: return l, retardness... what if list is empty? will return empty list instead of null pointer
+ break;
+ }
+ case SMART_TARGET_CLOSEST_CREATURE:
+ {
+ Creature* target = GetClosestCreatureWithEntry(GetBaseObject(), e.target.closest.entry, (float)(e.target.closest.dist ? e.target.closest.dist : 100), !e.target.closest.dead);
+ if (target)
+ l->push_back(target);
+ break;
+ }
+ case SMART_TARGET_CLOSEST_GAMEOBJECT:
+ {
+ GameObject* target = GetClosestGameObjectWithEntry(GetBaseObject(), e.target.closest.entry, (float)(e.target.closest.dist ? e.target.closest.dist : 100));
+ if (target)
+ l->push_back(target);
+ break;
+ }
+ case SMART_TARGET_CLOSEST_PLAYER:
+ {
+ if (WorldObject* obj = GetBaseObject())
{
- Creature* target = GetClosestCreatureWithEntry(GetBaseObject(), e.target.closest.entry, (float)(e.target.closest.dist ? e.target.closest.dist : 100), !e.target.closest.dead);
+ Player* target = obj->SelectNearestPlayer((float)e.target.playerDistance.dist);
if (target)
l->push_back(target);
- break;
}
- case SMART_TARGET_CLOSEST_GAMEOBJECT:
+ break;
+ }
+ case SMART_TARGET_OWNER_OR_SUMMONER:
+ {
+ if (me)
{
- GameObject* target = GetClosestGameObjectWithEntry(GetBaseObject(), e.target.closest.entry, (float)(e.target.closest.dist ? e.target.closest.dist : 100));
- if (target)
- l->push_back(target);
- break;
+ if (Unit* owner = ObjectAccessor::GetUnit(*me, me->GetCharmerOrOwnerGUID()))
+ l->push_back(owner);
+ // Xinef: dont add same unit twice
+ else if (me->IsSummon() && me->ToTempSummon()->GetSummoner())
+ l->push_back(me->ToTempSummon()->GetSummoner());
}
- case SMART_TARGET_CLOSEST_PLAYER:
+ else if (go)
{
- if (WorldObject* obj = GetBaseObject())
- {
- Player* target = obj->SelectNearestPlayer((float)e.target.playerDistance.dist);
- if (target)
- l->push_back(target);
- }
- break;
+ if (Unit* owner = ObjectAccessor::GetUnit(*go, go->GetOwnerGUID()))
+ l->push_back(owner);
}
- case SMART_TARGET_OWNER_OR_SUMMONER:
- {
- if (me)
- {
- if (Unit* owner = ObjectAccessor::GetUnit(*me, me->GetCharmerOrOwnerGUID()))
- l->push_back(owner);
- // Xinef: dont add same unit twice
- else if (me->IsSummon() && me->ToTempSummon()->GetSummoner())
- l->push_back(me->ToTempSummon()->GetSummoner());
- }
- else if (go)
- {
- if (Unit* owner = ObjectAccessor::GetUnit(*go, go->GetOwnerGUID()))
- l->push_back(owner);
- }
- // xinef: Get owner of owner
- if (e.target.owner.useCharmerOrOwner && !l->empty())
- {
- Unit* owner = l->front()->ToUnit();
- l->clear();
+ // xinef: Get owner of owner
+ if (e.target.owner.useCharmerOrOwner && !l->empty())
+ {
+ Unit* owner = l->front()->ToUnit();
+ l->clear();
- if (Unit* base = ObjectAccessor::GetUnit(*owner, owner->GetCharmerOrOwnerGUID()))
- l->push_back(base);
- }
- break;
+ if (Unit* base = ObjectAccessor::GetUnit(*owner, owner->GetCharmerOrOwnerGUID()))
+ l->push_back(base);
}
- case SMART_TARGET_THREAT_LIST:
+ break;
+ }
+ case SMART_TARGET_THREAT_LIST:
+ {
+ if (me)
{
- if (me)
- {
- ThreatContainer::StorageType threatList = me->getThreatManager().getThreatList();
- for (ThreatContainer::StorageType::const_iterator i = threatList.begin(); i != threatList.end(); ++i)
- if (Unit* temp = ObjectAccessor::GetUnit(*me, (*i)->getUnitGuid()))
- // Xinef: added distance check
- if (e.target.hostilRandom.maxDist == 0 || me->IsWithinCombatRange(temp, (float)e.target.hostilRandom.maxDist))
- l->push_back(temp);
- }
- break;
+ ThreatContainer::StorageType threatList = me->getThreatManager().getThreatList();
+ for (ThreatContainer::StorageType::const_iterator i = threatList.begin(); i != threatList.end(); ++i)
+ if (Unit* temp = ObjectAccessor::GetUnit(*me, (*i)->getUnitGuid()))
+ // Xinef: added distance check
+ if (e.target.hostilRandom.maxDist == 0 || me->IsWithinCombatRange(temp, (float)e.target.hostilRandom.maxDist))
+ l->push_back(temp);
}
- case SMART_TARGET_CLOSEST_ENEMY:
- {
- if (me)
- if (Unit* target = me->SelectNearestTarget(e.target.closestAttackable.maxDist, e.target.closestAttackable.playerOnly))
- l->push_back(target);
+ break;
+ }
+ case SMART_TARGET_CLOSEST_ENEMY:
+ {
+ if (me)
+ if (Unit* target = me->SelectNearestTarget(e.target.closestAttackable.maxDist, e.target.closestAttackable.playerOnly))
+ l->push_back(target);
- break;
- }
- case SMART_TARGET_CLOSEST_FRIENDLY:
- {
- if (me)
- if (Unit* target = DoFindClosestFriendlyInRange(e.target.closestFriendly.maxDist, e.target.closestFriendly.playerOnly))
- l->push_back(target);
+ break;
+ }
+ case SMART_TARGET_CLOSEST_FRIENDLY:
+ {
+ if (me)
+ if (Unit* target = DoFindClosestFriendlyInRange(e.target.closestFriendly.maxDist, e.target.closestFriendly.playerOnly))
+ l->push_back(target);
- break;
- }
- case SMART_TARGET_NONE:
- case SMART_TARGET_POSITION:
- default:
- break;
+ break;
+ }
+ case SMART_TARGET_NONE:
+ case SMART_TARGET_POSITION:
+ default:
+ break;
}
if (l->empty())
@@ -3296,548 +3367,550 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
switch (e.GetEventType())
{
- case SMART_EVENT_LINK://special handling
- ProcessAction(e, unit, var0, var1, bvar, spell, gob);
- break;
+ case SMART_EVENT_LINK://special handling
+ ProcessAction(e, unit, var0, var1, bvar, spell, gob);
+ break;
//called from Update tick
- case SMART_EVENT_UPDATE:
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
- break;
- case SMART_EVENT_UPDATE_OOC:
- if (me && me->IsInCombat())
- return;
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
- break;
- case SMART_EVENT_UPDATE_IC:
- if (!me || !me->IsInCombat())
- return;
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
- break;
- case SMART_EVENT_HEALTH_PCT:
- {
- if (!me || !me->IsInCombat() || !me->GetMaxHealth())
- return;
- uint32 perc = (uint32)me->GetHealthPct();
- if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
- return;
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
- break;
- }
- case SMART_EVENT_TARGET_HEALTH_PCT:
- {
- if (!me || !me->IsInCombat() || !me->GetVictim() || !me->GetVictim()->GetMaxHealth())
- return;
- uint32 perc = (uint32)me->GetVictim()->GetHealthPct();
- if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
- return;
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
- break;
- }
- case SMART_EVENT_MANA_PCT:
- {
- if (!me || !me->IsInCombat() || !me->GetMaxPower(POWER_MANA))
- return;
- uint32 perc = uint32(me->GetPowerPct(POWER_MANA));
- if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
- return;
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
- break;
- }
- case SMART_EVENT_TARGET_MANA_PCT:
- {
- if (!me || !me->IsInCombat() || !me->GetVictim() || !me->GetVictim()->GetMaxPower(POWER_MANA))
- return;
- uint32 perc = uint32(me->GetVictim()->GetPowerPct(POWER_MANA));
- if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
- return;
+ case SMART_EVENT_UPDATE:
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
+ break;
+ case SMART_EVENT_UPDATE_OOC:
+ if (me && me->IsInCombat())
+ return;
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
+ break;
+ case SMART_EVENT_UPDATE_IC:
+ if (!me || !me->IsInCombat())
+ return;
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
+ break;
+ case SMART_EVENT_HEALTH_PCT:
+ {
+ if (!me || !me->IsInCombat() || !me->GetMaxHealth())
+ return;
+ uint32 perc = (uint32)me->GetHealthPct();
+ if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
+ return;
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
+ break;
+ }
+ case SMART_EVENT_TARGET_HEALTH_PCT:
+ {
+ if (!me || !me->IsInCombat() || !me->GetVictim() || !me->GetVictim()->GetMaxHealth())
+ return;
+ uint32 perc = (uint32)me->GetVictim()->GetHealthPct();
+ if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
+ return;
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
+ break;
+ }
+ case SMART_EVENT_MANA_PCT:
+ {
+ if (!me || !me->IsInCombat() || !me->GetMaxPower(POWER_MANA))
+ return;
+ uint32 perc = uint32(me->GetPowerPct(POWER_MANA));
+ if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
+ return;
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
+ break;
+ }
+ case SMART_EVENT_TARGET_MANA_PCT:
+ {
+ if (!me || !me->IsInCombat() || !me->GetVictim() || !me->GetVictim()->GetMaxPower(POWER_MANA))
+ return;
+ uint32 perc = uint32(me->GetVictim()->GetPowerPct(POWER_MANA));
+ if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
+ return;
+ ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
+ break;
+ }
+ case SMART_EVENT_RANGE:
+ {
+ if (!me || !me->IsInCombat() || !me->GetVictim())
+ return;
+
+ if (me->IsInRange(me->GetVictim(), (float)e.event.minMaxRepeat.min, (float)e.event.minMaxRepeat.max))
ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
- break;
- }
- case SMART_EVENT_RANGE:
- {
- if (!me || !me->IsInCombat() || !me->GetVictim())
- return;
+ else // xinef: make it predictable
+ RecalcTimer(e, 500, 500);
+ break;
+ }
+ case SMART_EVENT_VICTIM_CASTING:
+ {
+ if (!me || !me->IsInCombat())
+ return;
- if (me->IsInRange(me->GetVictim(), (float)e.event.minMaxRepeat.min, (float)e.event.minMaxRepeat.max))
- ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
- else // xinef: make it predictable
- RecalcTimer(e, 500, 500);
- break;
- }
- case SMART_EVENT_VICTIM_CASTING:
- {
- if (!me || !me->IsInCombat())
- return;
+ Unit* victim = me->GetVictim();
- Unit* victim = me->GetVictim();
+ if (!victim || !victim->IsNonMeleeSpellCast(false, false, true))
+ return;
- if (!victim || !victim->IsNonMeleeSpellCast(false, false, true))
- return;
+ if (e.event.targetCasting.spellId > 0)
+ if (Spell* currSpell = victim->GetCurrentSpell(CURRENT_GENERIC_SPELL))
+ if (currSpell->m_spellInfo->Id != e.event.targetCasting.spellId)
+ return;
- if (e.event.targetCasting.spellId > 0)
- if (Spell* currSpell = victim->GetCurrentSpell(CURRENT_GENERIC_SPELL))
- if (currSpell->m_spellInfo->Id != e.event.targetCasting.spellId)
- return;
+ ProcessTimedAction(e, e.event.targetCasting.repeatMin, e.event.targetCasting.repeatMax, me->GetVictim());
+ break;
+ }
+ case SMART_EVENT_FRIENDLY_HEALTH:
+ {
+ if (!me || !me->IsInCombat())
+ return;
- ProcessTimedAction(e, e.event.targetCasting.repeatMin, e.event.targetCasting.repeatMax, me->GetVictim());
- break;
- }
- case SMART_EVENT_FRIENDLY_HEALTH:
+ Unit* target = DoSelectLowestHpFriendly((float)e.event.friendlyHealth.radius, e.event.friendlyHealth.hpDeficit);
+ if (!target || !target->IsInCombat())
{
- if (!me || !me->IsInCombat())
- return;
-
- Unit* target = DoSelectLowestHpFriendly((float)e.event.friendlyHealth.radius, e.event.friendlyHealth.hpDeficit);
- if (!target || !target->IsInCombat())
- {
- // Xinef: if there are at least two same npcs, they will perform the same action immediately even if this is useless...
- RecalcTimer(e, 1000, 3000);
- return;
- }
- ProcessTimedAction(e, e.event.friendlyHealth.repeatMin, e.event.friendlyHealth.repeatMax, target);
- break;
+ // Xinef: if there are at least two same npcs, they will perform the same action immediately even if this is useless...
+ RecalcTimer(e, 1000, 3000);
+ return;
}
- case SMART_EVENT_FRIENDLY_IS_CC:
- {
- if (!me || !me->IsInCombat())
- return;
+ ProcessTimedAction(e, e.event.friendlyHealth.repeatMin, e.event.friendlyHealth.repeatMax, target);
+ break;
+ }
+ case SMART_EVENT_FRIENDLY_IS_CC:
+ {
+ if (!me || !me->IsInCombat())
+ return;
- std::list<Creature*> pList;
- DoFindFriendlyCC(pList, (float)e.event.friendlyCC.radius);
- if (pList.empty())
- {
- // Xinef: if there are at least two same npcs, they will perform the same action immediately even if this is useless...
- RecalcTimer(e, 1000, 3000);
- return;
- }
- ProcessTimedAction(e, e.event.friendlyCC.repeatMin, e.event.friendlyCC.repeatMax, Trinity::Containers::SelectRandomContainerElement(pList));
- break;
- }
- case SMART_EVENT_FRIENDLY_MISSING_BUFF:
+ std::list<Creature*> pList;
+ DoFindFriendlyCC(pList, (float)e.event.friendlyCC.radius);
+ if (pList.empty())
{
- std::list<Creature*> pList;
- DoFindFriendlyMissingBuff(pList, (float)e.event.missingBuff.radius, e.event.missingBuff.spell);
+ // Xinef: if there are at least two same npcs, they will perform the same action immediately even if this is useless...
+ RecalcTimer(e, 1000, 3000);
+ return;
+ }
+ ProcessTimedAction(e, e.event.friendlyCC.repeatMin, e.event.friendlyCC.repeatMax, Trinity::Containers::SelectRandomContainerElement(pList));
+ break;
+ }
+ case SMART_EVENT_FRIENDLY_MISSING_BUFF:
+ {
+ std::list<Creature*> pList;
+ DoFindFriendlyMissingBuff(pList, (float)e.event.missingBuff.radius, e.event.missingBuff.spell);
- if (pList.empty())
- return;
+ if (pList.empty())
+ return;
- ProcessTimedAction(e, e.event.missingBuff.repeatMin, e.event.missingBuff.repeatMax, Trinity::Containers::SelectRandomContainerElement(pList));
- break;
- }
- case SMART_EVENT_HAS_AURA:
- {
- if (!me)
- return;
- uint32 count = me->GetAuraCount(e.event.aura.spell);
- if ((!e.event.aura.count && !count) || (e.event.aura.count && count >= e.event.aura.count))
- ProcessTimedAction(e, e.event.aura.repeatMin, e.event.aura.repeatMax);
- break;
- }
- case SMART_EVENT_TARGET_BUFFED:
- {
- if (!me || !me->GetVictim())
- return;
- uint32 count = me->GetVictim()->GetAuraCount(e.event.aura.spell);
- if (count < e.event.aura.count)
- return;
+ ProcessTimedAction(e, e.event.missingBuff.repeatMin, e.event.missingBuff.repeatMax, Trinity::Containers::SelectRandomContainerElement(pList));
+ break;
+ }
+ case SMART_EVENT_HAS_AURA:
+ {
+ if (!me)
+ return;
+ uint32 count = me->GetAuraCount(e.event.aura.spell);
+ if ((!e.event.aura.count && !count) || (e.event.aura.count && count >= e.event.aura.count))
ProcessTimedAction(e, e.event.aura.repeatMin, e.event.aura.repeatMax);
- break;
- }
- //no params
- case SMART_EVENT_AGGRO:
- case SMART_EVENT_DEATH:
- case SMART_EVENT_EVADE:
- case SMART_EVENT_REACHED_HOME:
- case SMART_EVENT_CHARMED:
- case SMART_EVENT_CHARMED_TARGET:
- case SMART_EVENT_CORPSE_REMOVED:
- case SMART_EVENT_AI_INIT:
- case SMART_EVENT_TRANSPORT_ADDPLAYER:
- case SMART_EVENT_TRANSPORT_REMOVE_PLAYER:
- case SMART_EVENT_QUEST_ACCEPTED:
- case SMART_EVENT_QUEST_OBJ_COPLETETION:
- case SMART_EVENT_QUEST_COMPLETION:
- case SMART_EVENT_QUEST_REWARDED:
- case SMART_EVENT_QUEST_FAIL:
- case SMART_EVENT_JUST_SUMMONED:
- case SMART_EVENT_RESET:
- case SMART_EVENT_JUST_CREATED:
- case SMART_EVENT_FOLLOW_COMPLETED:
- case SMART_EVENT_ON_SPELLCLICK:
- ProcessAction(e, unit, var0, var1, bvar, spell, gob);
- break;
+ break;
+ }
+ case SMART_EVENT_TARGET_BUFFED:
+ {
+ if (!me || !me->GetVictim())
+ return;
+ uint32 count = me->GetVictim()->GetAuraCount(e.event.aura.spell);
+ if (count < e.event.aura.count)
+ return;
+ ProcessTimedAction(e, e.event.aura.repeatMin, e.event.aura.repeatMax);
+ break;
+ }
+ //no params
+ case SMART_EVENT_AGGRO:
+ case SMART_EVENT_DEATH:
+ case SMART_EVENT_EVADE:
+ case SMART_EVENT_REACHED_HOME:
+ case SMART_EVENT_CHARMED:
+ case SMART_EVENT_CHARMED_TARGET:
+ case SMART_EVENT_CORPSE_REMOVED:
+ case SMART_EVENT_AI_INIT:
+ case SMART_EVENT_TRANSPORT_ADDPLAYER:
+ case SMART_EVENT_TRANSPORT_REMOVE_PLAYER:
+ case SMART_EVENT_QUEST_ACCEPTED:
+ case SMART_EVENT_QUEST_OBJ_COPLETETION:
+ case SMART_EVENT_QUEST_COMPLETION:
+ case SMART_EVENT_QUEST_REWARDED:
+ case SMART_EVENT_QUEST_FAIL:
+ case SMART_EVENT_JUST_SUMMONED:
+ case SMART_EVENT_RESET:
+ case SMART_EVENT_JUST_CREATED:
+ case SMART_EVENT_FOLLOW_COMPLETED:
+ case SMART_EVENT_ON_SPELLCLICK:
+ ProcessAction(e, unit, var0, var1, bvar, spell, gob);
+ break;
// Xinef: added no report use distinction for gameobjects
- case SMART_EVENT_GOSSIP_HELLO:
- if (e.event.gossipHello.noReportUse && var0)
- return;
- ProcessAction(e, unit, var0, var1, bvar, spell, gob);
- break;
- case SMART_EVENT_IS_BEHIND_TARGET:
- {
- if (!me)
- return;
+ case SMART_EVENT_GOSSIP_HELLO:
+ if (e.event.gossipHello.noReportUse && var0)
+ return;
+ ProcessAction(e, unit, var0, var1, bvar, spell, gob);
+ break;
+ case SMART_EVENT_IS_BEHIND_TARGET:
+ {
+ if (!me)
+ return;
- if (Unit* victim = me->GetVictim())
- {
- if (!victim->HasInArc(static_cast<float>(M_PI), me))
- ProcessTimedAction(e, e.event.behindTarget.cooldownMin, e.event.behindTarget.cooldownMax, victim);
- }
- break;
- }
- case SMART_EVENT_RECEIVE_EMOTE:
- if (e.event.emote.emote == var0)
- {
- ProcessAction(e, unit);
- RecalcTimer(e, e.event.emote.cooldownMin, e.event.emote.cooldownMax);
- }
- break;
- case SMART_EVENT_KILL:
+ if (Unit* victim = me->GetVictim())
{
- if (!me || !unit)
- return;
- if (e.event.kill.playerOnly && unit->GetTypeId() != TYPEID_PLAYER)
- return;
- if (e.event.kill.creature && unit->GetEntry() != e.event.kill.creature)
- return;
- RecalcTimer(e, e.event.kill.cooldownMin, e.event.kill.cooldownMax);
- ProcessAction(e, unit);
- break;
+ if (!victim->HasInArc(static_cast<float>(M_PI), me))
+ ProcessTimedAction(e, e.event.behindTarget.cooldownMin, e.event.behindTarget.cooldownMax, victim);
}
- case SMART_EVENT_SPELLHIT_TARGET:
- case SMART_EVENT_SPELLHIT:
+ break;
+ }
+ case SMART_EVENT_RECEIVE_EMOTE:
+ if (e.event.emote.emote == var0)
{
- if (!spell)
- return;
- if ((!e.event.spellHit.spell || spell->Id == e.event.spellHit.spell) &&
- (!e.event.spellHit.school || (spell->SchoolMask & e.event.spellHit.school)))
- {
- RecalcTimer(e, e.event.spellHit.cooldownMin, e.event.spellHit.cooldownMax);
- ProcessAction(e, unit, 0, 0, bvar, spell);
- }
- break;
+ ProcessAction(e, unit);
+ RecalcTimer(e, e.event.emote.cooldownMin, e.event.emote.cooldownMax);
}
- case SMART_EVENT_OOC_LOS:
+ break;
+ case SMART_EVENT_KILL:
+ {
+ if (!me || !unit)
+ return;
+ if (e.event.kill.playerOnly && unit->GetTypeId() != TYPEID_PLAYER)
+ return;
+ if (e.event.kill.creature && unit->GetEntry() != e.event.kill.creature)
+ return;
+ RecalcTimer(e, e.event.kill.cooldownMin, e.event.kill.cooldownMax);
+ ProcessAction(e, unit);
+ break;
+ }
+ case SMART_EVENT_SPELLHIT_TARGET:
+ case SMART_EVENT_SPELLHIT:
+ {
+ if (!spell)
+ return;
+ if ((!e.event.spellHit.spell || spell->Id == e.event.spellHit.spell) &&
+ (!e.event.spellHit.school || (spell->SchoolMask & e.event.spellHit.school)))
{
- if (!me || me->IsInCombat())
- return;
- //can trigger if closer than fMaxAllowedRange
- float range = (float)e.event.los.maxDist;
+ RecalcTimer(e, e.event.spellHit.cooldownMin, e.event.spellHit.cooldownMax);
+ ProcessAction(e, unit, 0, 0, bvar, spell);
+ }
+ break;
+ }
+ case SMART_EVENT_OOC_LOS:
+ {
+ if (!me || me->IsInCombat())
+ return;
+ //can trigger if closer than fMaxAllowedRange
+ float range = (float)e.event.los.maxDist;
- //if range is ok and we are actually in LOS
- if (me->IsWithinDistInMap(unit, range) && me->IsWithinLOSInMap(unit))
+ //if range is ok and we are actually in LOS
+ if (me->IsWithinDistInMap(unit, range) && me->IsWithinLOSInMap(unit))
+ {
+ //if friendly event&&who is not hostile OR hostile event&&who is hostile
+ if ((e.event.los.noHostile && !me->IsHostileTo(unit)) ||
+ (!e.event.los.noHostile && me->IsHostileTo(unit)))
{
- //if friendly event&&who is not hostile OR hostile event&&who is hostile
- if ((e.event.los.noHostile && !me->IsHostileTo(unit)) ||
- (!e.event.los.noHostile && me->IsHostileTo(unit)))
- {
- RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
- ProcessAction(e, unit);
- }
+ RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
+ ProcessAction(e, unit);
}
- break;
}
- case SMART_EVENT_IC_LOS:
- {
- if (!me || !me->IsInCombat())
- return;
- //can trigger if closer than fMaxAllowedRange
- float range = (float)e.event.los.maxDist;
+ break;
+ }
+ case SMART_EVENT_IC_LOS:
+ {
+ if (!me || !me->IsInCombat())
+ return;
+ //can trigger if closer than fMaxAllowedRange
+ float range = (float)e.event.los.maxDist;
- //if range is ok and we are actually in LOS
- if (me->IsWithinDistInMap(unit, range) && me->IsWithinLOSInMap(unit))
+ //if range is ok and we are actually in LOS
+ if (me->IsWithinDistInMap(unit, range) && me->IsWithinLOSInMap(unit))
+ {
+ //if friendly event&&who is not hostile OR hostile event&&who is hostile
+ if ((e.event.los.noHostile && !me->IsHostileTo(unit)) ||
+ (!e.event.los.noHostile && me->IsHostileTo(unit)))
{
- //if friendly event&&who is not hostile OR hostile event&&who is hostile
- if ((e.event.los.noHostile && !me->IsHostileTo(unit)) ||
- (!e.event.los.noHostile && me->IsHostileTo(unit)))
- {
- RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
- ProcessAction(e, unit);
- }
+ RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
+ ProcessAction(e, unit);
}
- break;
- }
- case SMART_EVENT_RESPAWN:
- {
- if (!GetBaseObject())
- return;
- if (e.event.respawn.type == SMART_SCRIPT_RESPAWN_CONDITION_MAP && GetBaseObject()->GetMapId() != e.event.respawn.map)
- return;
- if (e.event.respawn.type == SMART_SCRIPT_RESPAWN_CONDITION_AREA && GetBaseObject()->GetZoneId() != e.event.respawn.area)
- return;
- ProcessAction(e);
- break;
- }
- case SMART_EVENT_SUMMONED_UNIT:
- {
- if (!IsCreature(unit))
- return;
- if (e.event.summoned.creature && unit->GetEntry() != e.event.summoned.creature)
- return;
- RecalcTimer(e, e.event.summoned.cooldownMin, e.event.summoned.cooldownMax);
- ProcessAction(e, unit);
- break;
- }
- case SMART_EVENT_RECEIVE_HEAL:
- case SMART_EVENT_DAMAGED:
- case SMART_EVENT_DAMAGED_TARGET:
- {
- if (var0 > e.event.minMaxRepeat.max || var0 < e.event.minMaxRepeat.min)
- return;
- RecalcTimer(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
- ProcessAction(e, unit);
- break;
- }
- case SMART_EVENT_MOVEMENTINFORM:
- {
- if ((e.event.movementInform.type && var0 != e.event.movementInform.type) || (e.event.movementInform.id && var1 != e.event.movementInform.id))
- return;
- ProcessAction(e, unit, var0, var1);
- break;
}
- case SMART_EVENT_TRANSPORT_RELOCATE:
- case SMART_EVENT_WAYPOINT_START:
- {
- if (e.event.waypoint.pathID && var0 != e.event.waypoint.pathID)
- return;
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_WAYPOINT_REACHED:
- case SMART_EVENT_WAYPOINT_RESUMED:
- case SMART_EVENT_WAYPOINT_PAUSED:
- case SMART_EVENT_WAYPOINT_STOPPED:
- case SMART_EVENT_WAYPOINT_ENDED:
- {
- if (!me || (e.event.waypoint.pointID && var0 != e.event.waypoint.pointID) || (e.event.waypoint.pathID && GetPathId() != e.event.waypoint.pathID))
- return;
- ProcessAction(e, unit);
- break;
- }
- case SMART_EVENT_SUMMON_DESPAWNED:
- {
- if (e.event.summoned.creature && e.event.summoned.creature != var0)
- return;
- RecalcTimer(e, e.event.summoned.cooldownMin, e.event.summoned.cooldownMax);
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_INSTANCE_PLAYER_ENTER:
- {
- if (e.event.instancePlayerEnter.team && var0 != e.event.instancePlayerEnter.team)
- return;
- RecalcTimer(e, e.event.instancePlayerEnter.cooldownMin, e.event.instancePlayerEnter.cooldownMax);
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_ACCEPTED_QUEST:
- case SMART_EVENT_REWARD_QUEST:
- {
- if (e.event.quest.quest && var0 != e.event.quest.quest)
- return;
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_TRANSPORT_ADDCREATURE:
- {
- if (e.event.transportAddCreature.creature && var0 != e.event.transportAddCreature.creature)
- return;
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_AREATRIGGER_ONTRIGGER:
- {
- if (e.event.areatrigger.id && var0 != e.event.areatrigger.id)
- return;
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_TEXT_OVER:
- {
- if (var0 != e.event.textOver.textGroupID || (e.event.textOver.creatureEntry && e.event.textOver.creatureEntry != var1))
- return;
- ProcessAction(e, unit, var0);
- break;
- }
- case SMART_EVENT_DATA_SET:
- {
- if (e.event.dataSet.id != var0 || e.event.dataSet.value != var1)
- return;
- RecalcTimer(e, e.event.dataSet.cooldownMin, e.event.dataSet.cooldownMax);
- ProcessAction(e, unit, var0, var1);
- break;
- }
- case SMART_EVENT_PASSENGER_REMOVED:
- case SMART_EVENT_PASSENGER_BOARDED:
- {
- if (!unit)
- return;
- RecalcTimer(e, e.event.minMax.repeatMin, e.event.minMax.repeatMax);
+ break;
+ }
+ case SMART_EVENT_RESPAWN:
+ {
+ if (!GetBaseObject())
+ return;
+ if (e.event.respawn.type == SMART_SCRIPT_RESPAWN_CONDITION_MAP && GetBaseObject()->GetMapId() != e.event.respawn.map)
+ return;
+ if (e.event.respawn.type == SMART_SCRIPT_RESPAWN_CONDITION_AREA && GetBaseObject()->GetZoneId() != e.event.respawn.area)
+ return;
+ ProcessAction(e);
+ break;
+ }
+ case SMART_EVENT_SUMMONED_UNIT:
+ {
+ if (!IsCreature(unit))
+ return;
+ if (e.event.summoned.creature && unit->GetEntry() != e.event.summoned.creature)
+ return;
+ RecalcTimer(e, e.event.summoned.cooldownMin, e.event.summoned.cooldownMax);
+ ProcessAction(e, unit);
+ break;
+ }
+ case SMART_EVENT_RECEIVE_HEAL:
+ case SMART_EVENT_DAMAGED:
+ case SMART_EVENT_DAMAGED_TARGET:
+ {
+ if (var0 > e.event.minMaxRepeat.max || var0 < e.event.minMaxRepeat.min)
+ return;
+ RecalcTimer(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax);
+ ProcessAction(e, unit);
+ break;
+ }
+ case SMART_EVENT_MOVEMENTINFORM:
+ {
+ if ((e.event.movementInform.type && var0 != e.event.movementInform.type) || (e.event.movementInform.id && var1 != e.event.movementInform.id))
+ return;
+ ProcessAction(e, unit, var0, var1);
+ break;
+ }
+ case SMART_EVENT_TRANSPORT_RELOCATE:
+ case SMART_EVENT_WAYPOINT_START:
+ {
+ if (e.event.waypoint.pathID && var0 != e.event.waypoint.pathID)
+ return;
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_WAYPOINT_REACHED:
+ case SMART_EVENT_WAYPOINT_RESUMED:
+ case SMART_EVENT_WAYPOINT_PAUSED:
+ case SMART_EVENT_WAYPOINT_STOPPED:
+ case SMART_EVENT_WAYPOINT_ENDED:
+ {
+ if (!me || (e.event.waypoint.pointID && var0 != e.event.waypoint.pointID) || (e.event.waypoint.pathID && GetPathId() != e.event.waypoint.pathID))
+ return;
+ ProcessAction(e, unit);
+ break;
+ }
+ case SMART_EVENT_SUMMON_DESPAWNED:
+ {
+ if (e.event.summoned.creature && e.event.summoned.creature != var0)
+ return;
+ RecalcTimer(e, e.event.summoned.cooldownMin, e.event.summoned.cooldownMax);
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_INSTANCE_PLAYER_ENTER:
+ {
+ if (e.event.instancePlayerEnter.team && var0 != e.event.instancePlayerEnter.team)
+ return;
+ RecalcTimer(e, e.event.instancePlayerEnter.cooldownMin, e.event.instancePlayerEnter.cooldownMax);
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_ACCEPTED_QUEST:
+ case SMART_EVENT_REWARD_QUEST:
+ {
+ if (e.event.quest.quest && var0 != e.event.quest.quest)
+ return;
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_TRANSPORT_ADDCREATURE:
+ {
+ if (e.event.transportAddCreature.creature && var0 != e.event.transportAddCreature.creature)
+ return;
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_AREATRIGGER_ONTRIGGER:
+ {
+ if (e.event.areatrigger.id && var0 != e.event.areatrigger.id)
+ return;
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_TEXT_OVER:
+ {
+ if (var0 != e.event.textOver.textGroupID || (e.event.textOver.creatureEntry && e.event.textOver.creatureEntry != var1))
+ return;
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_DATA_SET:
+ {
+ if (e.event.dataSet.id != var0 || e.event.dataSet.value != var1)
+ return;
+ RecalcTimer(e, e.event.dataSet.cooldownMin, e.event.dataSet.cooldownMax);
+ ProcessAction(e, unit, var0, var1);
+ break;
+ }
+ case SMART_EVENT_PASSENGER_REMOVED:
+ case SMART_EVENT_PASSENGER_BOARDED:
+ {
+ if (!unit)
+ return;
+ RecalcTimer(e, e.event.minMax.repeatMin, e.event.minMax.repeatMax);
+ ProcessAction(e, unit);
+ break;
+ }
+ case SMART_EVENT_TIMED_EVENT_TRIGGERED:
+ {
+ if (e.event.timedEvent.id == var0)
ProcessAction(e, unit);
- break;
- }
- case SMART_EVENT_TIMED_EVENT_TRIGGERED:
- {
- if (e.event.timedEvent.id == var0)
- ProcessAction(e, unit);
- break;
- }
- case SMART_EVENT_GOSSIP_SELECT:
- {
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript: Gossip Select: menu %u action %u", var0, var1);//little help for scripters
- if (e.event.gossip.sender != var0 || e.event.gossip.action != var1)
- return;
- ProcessAction(e, unit, var0, var1);
- break;
- }
- case SMART_EVENT_GAME_EVENT_START:
- case SMART_EVENT_GAME_EVENT_END:
- {
- if (e.event.gameEvent.gameEventId != var0)
- return;
- ProcessAction(e, NULL, var0);
- break;
- }
- case SMART_EVENT_GO_STATE_CHANGED:
- {
- if (e.event.goStateChanged.state != var0)
- return;
- ProcessAction(e, unit, var0, var1);
- break;
- }
- case SMART_EVENT_GO_EVENT_INFORM:
- {
- if (e.event.eventInform.eventId != var0)
- return;
- ProcessAction(e, NULL, var0);
- break;
- }
- case SMART_EVENT_ACTION_DONE:
+ break;
+ }
+ case SMART_EVENT_GOSSIP_SELECT:
+ {
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript: Gossip Select: menu %u action %u", var0, var1); //little help for scripters
+#endif
+ if (e.event.gossip.sender != var0 || e.event.gossip.action != var1)
+ return;
+ ProcessAction(e, unit, var0, var1);
+ break;
+ }
+ case SMART_EVENT_GAME_EVENT_START:
+ case SMART_EVENT_GAME_EVENT_END:
+ {
+ if (e.event.gameEvent.gameEventId != var0)
+ return;
+ ProcessAction(e, NULL, var0);
+ break;
+ }
+ case SMART_EVENT_GO_STATE_CHANGED:
+ {
+ if (e.event.goStateChanged.state != var0)
+ return;
+ ProcessAction(e, unit, var0, var1);
+ break;
+ }
+ case SMART_EVENT_GO_EVENT_INFORM:
+ {
+ if (e.event.eventInform.eventId != var0)
+ return;
+ ProcessAction(e, NULL, var0);
+ break;
+ }
+ case SMART_EVENT_ACTION_DONE:
+ {
+ if (e.event.doAction.eventId != var0)
+ return;
+ ProcessAction(e, unit, var0);
+ break;
+ }
+ case SMART_EVENT_FRIENDLY_HEALTH_PCT:
+ {
+ if (!me || !me->IsInCombat())
+ return;
+
+ ObjectList* _targets = NULL;
+
+ switch (e.GetTargetType())
{
- if (e.event.doAction.eventId != var0)
- return;
- ProcessAction(e, unit, var0);
+ case SMART_TARGET_CREATURE_RANGE:
+ case SMART_TARGET_CREATURE_GUID:
+ case SMART_TARGET_CREATURE_DISTANCE:
+ case SMART_TARGET_CLOSEST_CREATURE:
+ case SMART_TARGET_CLOSEST_PLAYER:
+ case SMART_TARGET_PLAYER_RANGE:
+ case SMART_TARGET_PLAYER_DISTANCE:
+ _targets = GetTargets(e);
break;
+ default:
+ return;
}
- case SMART_EVENT_FRIENDLY_HEALTH_PCT:
- {
- if (!me || !me->IsInCombat())
- return;
- ObjectList* _targets = NULL;
+ if (!_targets)
+ return;
+
+ Unit* target = NULL;
- switch (e.GetTargetType())
+ for (ObjectList::const_iterator itr = _targets->begin(); itr != _targets->end(); ++itr)
+ {
+ if (IsUnit(*itr) && me->IsFriendlyTo((*itr)->ToUnit()) && (*itr)->ToUnit()->IsAlive() && (*itr)->ToUnit()->IsInCombat())
{
- case SMART_TARGET_CREATURE_RANGE:
- case SMART_TARGET_CREATURE_GUID:
- case SMART_TARGET_CREATURE_DISTANCE:
- case SMART_TARGET_CLOSEST_CREATURE:
- case SMART_TARGET_CLOSEST_PLAYER:
- case SMART_TARGET_PLAYER_RANGE:
- case SMART_TARGET_PLAYER_DISTANCE:
- _targets = GetTargets(e);
- break;
- default:
- return;
- }
+ uint32 healthPct = uint32((*itr)->ToUnit()->GetHealthPct());
- if (!_targets)
- return;
+ if (healthPct > e.event.friendlyHealthPct.maxHpPct || healthPct < e.event.friendlyHealthPct.minHpPct)
+ continue;
- Unit* target = NULL;
+ target = (*itr)->ToUnit();
+ break;
+ }
+ }
- for (ObjectList::const_iterator itr = _targets->begin(); itr != _targets->end(); ++itr)
- {
- if (IsUnit(*itr) && me->IsFriendlyTo((*itr)->ToUnit()) && (*itr)->ToUnit()->IsAlive() && (*itr)->ToUnit()->IsInCombat())
- {
- uint32 healthPct = uint32((*itr)->ToUnit()->GetHealthPct());
+ delete _targets;
- if (healthPct > e.event.friendlyHealthPct.maxHpPct || healthPct < e.event.friendlyHealthPct.minHpPct)
- continue;
+ if (!target)
+ return;
- target = (*itr)->ToUnit();
- break;
- }
- }
+ ProcessTimedAction(e, e.event.friendlyHealthPct.repeatMin, e.event.friendlyHealthPct.repeatMax, target);
+ break;
+ }
+ case SMART_EVENT_DISTANCE_CREATURE:
+ {
+ if (!me)
+ return;
- delete _targets;
+ WorldObject* creature = NULL;
+
+ if (e.event.distance.guid != 0)
+ {
+ creature = FindCreatureNear(me, e.event.distance.guid);
- if (!target)
+ if (!creature)
return;
- ProcessTimedAction(e, e.event.friendlyHealthPct.repeatMin, e.event.friendlyHealthPct.repeatMax, target);
- break;
+ if (!me->IsInRange(creature, 0, (float)e.event.distance.dist))
+ return;
}
- case SMART_EVENT_DISTANCE_CREATURE:
+ else if (e.event.distance.entry != 0)
{
- if (!me)
- return;
+ std::list<Creature*> list;
+ me->GetCreatureListWithEntryInGrid(list, e.event.distance.entry, (float)e.event.distance.dist);
- WorldObject* creature = NULL;
+ if (!list.empty())
+ creature = list.front();
+ }
- if (e.event.distance.guid != 0)
- {
- creature = FindCreatureNear(me, e.event.distance.guid);
+ if (creature)
+ ProcessTimedAction(e, e.event.distance.repeat, e.event.distance.repeat);
- if (!creature)
- return;
+ break;
+ }
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ {
+ if (!me)
+ return;
- if (!me->IsInRange(creature, 0, (float)e.event.distance.dist))
- return;
- }
- else if (e.event.distance.entry != 0)
- {
- std::list<Creature*> list;
- me->GetCreatureListWithEntryInGrid(list, e.event.distance.entry, (float)e.event.distance.dist);
+ WorldObject* gameobject = NULL;
- if (!list.empty())
- creature = list.front();
- }
+ if (e.event.distance.guid != 0)
+ {
+ gameobject = FindGameObjectNear(me, e.event.distance.guid);
- if (creature)
- ProcessTimedAction(e, e.event.distance.repeat, e.event.distance.repeat);
+ if (!gameobject)
+ return;
- break;
+ if (!me->IsInRange(gameobject, 0, (float)e.event.distance.dist))
+ return;
}
- case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ else if (e.event.distance.entry != 0)
{
- if (!me)
- return;
-
- WorldObject* gameobject = NULL;
+ std::list<GameObject*> list;
+ me->GetGameObjectListWithEntryInGrid(list, e.event.distance.entry, (float)e.event.distance.dist);
- if (e.event.distance.guid != 0)
- {
- gameobject = FindGameObjectNear(me, e.event.distance.guid);
-
- if (!gameobject)
- return;
-
- if (!me->IsInRange(gameobject, 0, (float)e.event.distance.dist))
- return;
- }
- else if (e.event.distance.entry != 0)
- {
- std::list<GameObject*> list;
- me->GetGameObjectListWithEntryInGrid(list, e.event.distance.entry, (float)e.event.distance.dist);
-
- if (!list.empty())
- gameobject = list.front();
- }
+ if (!list.empty())
+ gameobject = list.front();
+ }
- if (gameobject)
- ProcessTimedAction(e, e.event.distance.repeat, e.event.distance.repeat);
+ if (gameobject)
+ ProcessTimedAction(e, e.event.distance.repeat, e.event.distance.repeat);
- break;
- }
- case SMART_EVENT_COUNTER_SET:
- if (e.event.counter.id != var0 || GetCounterValue(e.event.counter.id) != e.event.counter.value)
- return;
+ break;
+ }
+ case SMART_EVENT_COUNTER_SET:
+ if (e.event.counter.id != var0 || GetCounterValue(e.event.counter.id) != e.event.counter.value)
+ return;
- ProcessTimedAction(e, e.event.counter.cooldownMin, e.event.counter.cooldownMax);
- break;
- default:
- sLog->outErrorDb("SmartScript::ProcessEvent: Unhandled Event type %u", e.GetEventType());
- break;
+ ProcessTimedAction(e, e.event.counter.cooldownMin, e.event.counter.cooldownMax);
+ break;
+ default:
+ sLog->outErrorDb("SmartScript::ProcessEvent: Unhandled Event type %u", e.GetEventType());
+ break;
}
}
@@ -3846,23 +3919,23 @@ void SmartScript::InitTimer(SmartScriptHolder& e)
switch (e.GetEventType())
{
//set only events which have initial timers
- case SMART_EVENT_UPDATE:
- case SMART_EVENT_UPDATE_IC:
- case SMART_EVENT_UPDATE_OOC:
- RecalcTimer(e, e.event.minMaxRepeat.min, e.event.minMaxRepeat.max);
- break;
- case SMART_EVENT_OOC_LOS:
- case SMART_EVENT_IC_LOS:
- // Xinef: wtf is this bullshit? cooldown should be processed AFTER action is done, not before...
- //RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
- //break;
- case SMART_EVENT_DISTANCE_CREATURE:
- case SMART_EVENT_DISTANCE_GAMEOBJECT:
- RecalcTimer(e, e.event.distance.repeat, e.event.distance.repeat);
- break;
- default:
- e.active = true;
- break;
+ case SMART_EVENT_UPDATE:
+ case SMART_EVENT_UPDATE_IC:
+ case SMART_EVENT_UPDATE_OOC:
+ RecalcTimer(e, e.event.minMaxRepeat.min, e.event.minMaxRepeat.max);
+ break;
+ case SMART_EVENT_OOC_LOS:
+ case SMART_EVENT_IC_LOS:
+ // Xinef: wtf is this bullshit? cooldown should be processed AFTER action is done, not before...
+ //RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
+ //break;
+ case SMART_EVENT_DISTANCE_CREATURE:
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ RecalcTimer(e, e.event.distance.repeat, e.event.distance.repeat);
+ break;
+ default:
+ e.active = true;
+ break;
}
}
void SmartScript::RecalcTimer(SmartScriptHolder& e, uint32 min, uint32 max)
@@ -3904,41 +3977,41 @@ void SmartScript::UpdateTimer(SmartScriptHolder& e, uint32 const diff)
e.active = true;//activate events with cooldown
switch (e.GetEventType())//process ONLY timed events
{
- case SMART_EVENT_UPDATE:
- case SMART_EVENT_UPDATE_OOC:
- case SMART_EVENT_UPDATE_IC:
- case SMART_EVENT_HEALTH_PCT:
- case SMART_EVENT_TARGET_HEALTH_PCT:
- case SMART_EVENT_MANA_PCT:
- case SMART_EVENT_TARGET_MANA_PCT:
- case SMART_EVENT_RANGE:
- case SMART_EVENT_VICTIM_CASTING:
- case SMART_EVENT_FRIENDLY_HEALTH:
- case SMART_EVENT_FRIENDLY_IS_CC:
- case SMART_EVENT_FRIENDLY_MISSING_BUFF:
- case SMART_EVENT_HAS_AURA:
- case SMART_EVENT_TARGET_BUFFED:
- case SMART_EVENT_IS_BEHIND_TARGET:
- case SMART_EVENT_FRIENDLY_HEALTH_PCT:
- case SMART_EVENT_DISTANCE_CREATURE:
- case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ case SMART_EVENT_UPDATE:
+ case SMART_EVENT_UPDATE_OOC:
+ case SMART_EVENT_UPDATE_IC:
+ case SMART_EVENT_HEALTH_PCT:
+ case SMART_EVENT_TARGET_HEALTH_PCT:
+ case SMART_EVENT_MANA_PCT:
+ case SMART_EVENT_TARGET_MANA_PCT:
+ case SMART_EVENT_RANGE:
+ case SMART_EVENT_VICTIM_CASTING:
+ case SMART_EVENT_FRIENDLY_HEALTH:
+ case SMART_EVENT_FRIENDLY_IS_CC:
+ case SMART_EVENT_FRIENDLY_MISSING_BUFF:
+ case SMART_EVENT_HAS_AURA:
+ case SMART_EVENT_TARGET_BUFFED:
+ case SMART_EVENT_IS_BEHIND_TARGET:
+ case SMART_EVENT_FRIENDLY_HEALTH_PCT:
+ case SMART_EVENT_DISTANCE_CREATURE:
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ {
+ ProcessEvent(e);
+ if (e.GetScriptType() == SMART_SCRIPT_TYPE_TIMED_ACTIONLIST)
{
- ProcessEvent(e);
- if (e.GetScriptType() == SMART_SCRIPT_TYPE_TIMED_ACTIONLIST)
+ e.enableTimed = false;//disable event if it is in an ActionList and was processed once
+ for (SmartAIEventList::iterator i = mTimedActionList.begin(); i != mTimedActionList.end(); ++i)
{
- e.enableTimed = false;//disable event if it is in an ActionList and was processed once
- for (SmartAIEventList::iterator i = mTimedActionList.begin(); i != mTimedActionList.end(); ++i)
+ //find the first event which is not the current one and enable it
+ if (i->event_id > e.event_id)
{
- //find the first event which is not the current one and enable it
- if (i->event_id > e.event_id)
- {
- i->enableTimed = true;
- break;
- }
+ i->enableTimed = true;
+ break;
}
}
- break;
}
+ break;
+ }
}
}
else
@@ -4002,7 +4075,7 @@ void SmartScript::OnUpdate(uint32 const diff)
if (!mRemIDs.empty())
{
for (std::list<uint32>::const_iterator i = mRemIDs.begin(); i != mRemIDs.end(); ++i)
- RemoveStoredEvent(*i);
+ RemoveStoredEvent(*i);
// xinef: clear list after cleaning...
mRemIDs.clear();
@@ -4018,7 +4091,8 @@ void SmartScript::OnUpdate(uint32 const diff)
mTextTimer = 0;
mUseTextTimer = false;
ProcessEventsFor(SMART_EVENT_TEXT_OVER, NULL, textID, entry);
- } else mTextTimer -= diff;
+ }
+ else mTextTimer -= diff;
}
}
@@ -4026,24 +4100,29 @@ void SmartScript::FillScript(SmartAIEventList e, WorldObject* obj, AreaTriggerEn
{
if (e.empty())
{
- //if (obj)
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript: EventMap for Entry %u is empty but is using SmartScript.", obj->GetEntry());
- //if (at)
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript: EventMap for AreaTrigger %u is empty but is using SmartScript.", at->id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ if (obj)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript: EventMap for Entry %u is empty but is using SmartScript.", obj->GetEntry());
+#endif
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ if (at)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript: EventMap for AreaTrigger %u is empty but is using SmartScript.", at->id);
+#endif
return;
}
for (SmartAIEventList::iterator i = e.begin(); i != e.end(); ++i)
{
- #ifndef TRINITY_DEBUG
- if ((*i).event.event_flags & SMART_EVENT_FLAG_DEBUG_ONLY)
- continue;
- #endif
+#ifndef TRINITY_DEBUG
+ if ((*i).event.event_flags & SMART_EVENT_FLAG_DEBUG_ONLY)
+ continue;
+#endif
if ((*i).event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_ALL)//if has instance flag add only if in it
{
if (obj && obj->GetMap()->IsDungeon())
{
- if ((1 << (obj->GetMap()->GetSpawnMode()+1)) & (*i).event.event_flags)
+ if ((1 << (obj->GetMap()->GetSpawnMode() + 1)) & (*i).event.event_flags)
{
mEvents.push_back((*i));
}
@@ -4088,25 +4167,32 @@ void SmartScript::OnInitialize(WorldObject* obj, AreaTriggerEntry const* at)
{
switch (obj->GetTypeId())
{
- case TYPEID_UNIT:
- mScriptType = SMART_SCRIPT_TYPE_CREATURE;
- me = obj->ToCreature();
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::OnInitialize: source is Creature %u", me->GetEntry());
- break;
- case TYPEID_GAMEOBJECT:
- mScriptType = SMART_SCRIPT_TYPE_GAMEOBJECT;
- go = obj->ToGameObject();
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::OnInitialize: source is GameObject %u", go->GetEntry());
- break;
- default:
- sLog->outError("SmartScript::OnInitialize: Unhandled TypeID !WARNING!");
- return;
+ case TYPEID_UNIT:
+ mScriptType = SMART_SCRIPT_TYPE_CREATURE;
+ me = obj->ToCreature();
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::OnInitialize: source is Creature %u", me->GetEntry());
+#endif
+ break;
+ case TYPEID_GAMEOBJECT:
+ mScriptType = SMART_SCRIPT_TYPE_GAMEOBJECT;
+ go = obj->ToGameObject();
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::OnInitialize: source is GameObject %u", go->GetEntry());
+#endif
+ break;
+ default:
+ sLog->outError("SmartScript::OnInitialize: Unhandled TypeID !WARNING!");
+ return;
}
- } else if (at)
+ }
+ else if (at)
{
mScriptType = SMART_SCRIPT_TYPE_AREATRIGGER;
trigger = at;
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::OnInitialize: source is AreaTrigger %u", trigger->id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartScript::OnInitialize: source is AreaTrigger %u", trigger->id);
+#endif
}
else
{
@@ -4173,7 +4259,7 @@ void SmartScript::DoAction(int32 param)
uint32 SmartScript::GetData(uint32 id)
{
- return 0;
+return 0;
}
void SmartScript::SetData(uint32 id, uint32 value)
@@ -4186,7 +4272,7 @@ void SmartScript::SetGUID(uint64 guid, int32 id)
uint64 SmartScript::GetGUID(int32 id)
{
- return 0;
+return 0;
}
void SmartScript::MovepointStart(uint32 id)
@@ -4203,7 +4289,7 @@ void SmartScript::SetMovePathEndAction(SMART_ACTION action)
uint32 SmartScript::DoChat(int8 id, uint64 whisperGuid)
{
- return 0;
+return 0;
}*/
// SmartScript end
diff --git a/src/game/AI/SmartScripts/SmartScriptMgr.h b/src/game/AI/SmartScripts/SmartScriptMgr.h
index b53f3851cd..ecacd1b211 100644
--- a/src/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/game/AI/SmartScripts/SmartScriptMgr.h
@@ -1635,7 +1635,9 @@ class SmartAIMgr
else
{
//if (entry > 0)//first search is for guid (negative), do not drop error if not found
- ;//sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartAIMgr::GetScript: Could not load Script for Entry %d ScriptType %u.", entry, uint32(type));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_DATABASE_AI, "SmartAIMgr::GetScript: Could not load Script for Entry %d ScriptType %u.", entry, uint32(type));
+#endif
return temp;
}
}
diff --git a/src/game/Achievements/AchievementMgr.cpp b/src/game/Achievements/AchievementMgr.cpp
index a5461a7edc..7d009b3524 100644
--- a/src/game/Achievements/AchievementMgr.cpp
+++ b/src/game/Achievements/AchievementMgr.cpp
@@ -649,8 +649,8 @@ void AchievementMgr::SendAchievementEarned(AchievementEntry const* achievement)
if (achievement->flags & ACHIEVEMENT_FLAG_HIDDEN)
return;
- #ifdef TRINITY_DEBUG
- ;//sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::SendAchievementEarned(%u)", achievement->ID);
+ #if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(TRINITY_DEBUG)
+ sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::SendAchievementEarned(%u)", achievement->ID);
#endif
if (Guild* guild = sGuildMgr->GetGuildById(GetPlayer()->GetGuildId()))
@@ -739,7 +739,9 @@ static const uint32 achievIdForDungeon[][4] =
*/
void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1 /*= 0*/, uint32 miscValue2 /*= 0*/, Unit* unit /*= NULL*/)
{
- ;//sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::UpdateAchievementCriteria(%u, %u, %u)", type, miscValue1, miscValue2);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::UpdateAchievementCriteria(%u, %u, %u)", type, miscValue1, miscValue2);
+#endif
// disable for gamemasters with GM-mode enabled
if (m_player->IsGameMaster())
@@ -1973,7 +1975,9 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry,
if (entry->timeLimit && timedIter == m_timedAchievements.end())
return;
- ;//sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::SetCriteriaProgress(%u, %u) for (GUID:%u)", entry->ID, changeValue, m_player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::SetCriteriaProgress(%u, %u) for (GUID:%u)", entry->ID, changeValue, m_player->GetGUIDLow());
+#endif
CriteriaProgress* progress = GetCriteriaProgress(entry);
if (!progress)
@@ -2118,7 +2122,9 @@ void AchievementMgr::RemoveTimedAchievement(AchievementCriteriaTimedTypes type,
void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
{
- ;//sLog->outDetail("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
+#endif
// disable for gamemasters with GM-mode enabled
if (m_player->IsGameMaster())
diff --git a/src/game/AuctionHouse/AuctionHouseMgr.cpp b/src/game/AuctionHouse/AuctionHouseMgr.cpp
index 9d977d17c1..f9b4a90491 100644
--- a/src/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -65,10 +65,18 @@ uint32 AuctionHouseMgr::GetAuctionDeposit(AuctionHouseEntry const* entry, uint32
uint32 timeHr = (((time / 60) / 60) / 12);
uint32 deposit = uint32(((multiplier * MSV * count / 3) * timeHr * 3) * sWorld->getRate(RATE_AUCTION_DEPOSIT));
- ;//sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "MSV: %u", MSV);
- ;//sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "Items: %u", count);
- ;//sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "Multiplier: %f", multiplier);
- ;//sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "Deposit: %u", deposit);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "MSV: %u", MSV);
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "Items: %u", count);
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "Multiplier: %f", multiplier);
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_AUCTIONHOUSE, "Deposit: %u", deposit);
+#endif
if (deposit < AH_MINIMUM_DEPOSIT)
return AH_MINIMUM_DEPOSIT;
diff --git a/src/game/Battlefield/Battlefield.cpp b/src/game/Battlefield/Battlefield.cpp
index ff26c07837..b457743c0f 100644
--- a/src/game/Battlefield/Battlefield.cpp
+++ b/src/game/Battlefield/Battlefield.cpp
@@ -899,7 +899,9 @@ bool BfCapturePoint::SetCapturePointData(GameObject* capturePoint)
{
ASSERT(capturePoint);
- ;//sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Creating capture point %u", capturePoint->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Creating capture point %u", capturePoint->GetEntry());
+#endif
m_capturePoint = capturePoint->GetGUID();
diff --git a/src/game/Battlefield/BattlefieldMgr.cpp b/src/game/Battlefield/BattlefieldMgr.cpp
index 9e92967565..32a452a626 100644
--- a/src/game/Battlefield/BattlefieldMgr.cpp
+++ b/src/game/Battlefield/BattlefieldMgr.cpp
@@ -44,13 +44,17 @@ void BattlefieldMgr::InitBattlefield()
// respawn, init variables
if(!pBf->SetupBattlefield())
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Battlefield : Tol Barad init failed.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Battlefield : Tol Barad init failed.");
+#endif
delete pBf;
}
else
{
m_BattlefieldSet.push_back(pBf);
- ;//sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Battlefield : Tol Barad successfully initiated.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Battlefield : Tol Barad successfully initiated.");
+#endif
} */
}
@@ -69,7 +73,9 @@ void BattlefieldMgr::HandlePlayerEnterZone(Player * player, uint32 zoneid)
return;
itr->second->HandlePlayerEnterZone(player, zoneid);
- ;//sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Player %u entered outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Player %u entered outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#endif
}
void BattlefieldMgr::HandlePlayerLeaveZone(Player * player, uint32 zoneid)
@@ -82,7 +88,9 @@ void BattlefieldMgr::HandlePlayerLeaveZone(Player * player, uint32 zoneid)
if (!itr->second->HasPlayer(player))
return;
itr->second->HandlePlayerLeaveZone(player, zoneid);
- ;//sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Player %u left outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEFIELD, "Player %u left outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#endif
}
Battlefield *BattlefieldMgr::GetBattlefieldToZoneId(uint32 zoneid)
diff --git a/src/game/Battlegrounds/ArenaTeam.cpp b/src/game/Battlegrounds/ArenaTeam.cpp
index c855f032bd..1a5370b49b 100644
--- a/src/game/Battlegrounds/ArenaTeam.cpp
+++ b/src/game/Battlegrounds/ArenaTeam.cpp
@@ -256,7 +256,9 @@ bool ArenaTeam::LoadMembersFromDB(QueryResult result)
if (Empty() || !captainPresentInTeam)
{
// Arena team is empty or captain is not in team, delete from db
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "ArenaTeam %u does not have any members or its captain is not in team, disbanding it...", TeamId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "ArenaTeam %u does not have any members or its captain is not in team, disbanding it...", TeamId);
+#endif
return false;
}
@@ -389,7 +391,9 @@ void ArenaTeam::Roster(WorldSession* session)
}
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_ROSTER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_ROSTER");
+#endif
}
void ArenaTeam::Query(WorldSession* session)
@@ -404,7 +408,9 @@ void ArenaTeam::Query(WorldSession* session)
data << uint32(BorderStyle); // border style
data << uint32(BorderColor); // border color
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_QUERY_RESPONSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_QUERY_RESPONSE");
+#endif
}
void ArenaTeam::SendStats(WorldSession* session)
@@ -514,7 +520,9 @@ void ArenaTeam::BroadcastEvent(ArenaTeamEvents event, uint64 guid, uint8 strCoun
BroadcastPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_EVENT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_EVENT");
+#endif
}
void ArenaTeam::MassInviteToEvent(WorldSession* session)
diff --git a/src/game/Battlegrounds/Battleground.cpp b/src/game/Battlegrounds/Battleground.cpp
index 87ebfe2a27..92ea2721ee 100644
--- a/src/game/Battlegrounds/Battleground.cpp
+++ b/src/game/Battlegrounds/Battleground.cpp
@@ -289,6 +289,7 @@ inline void Battleground::_CheckSafePositions(uint32 diff)
m_ValidStartPositionTimer = 0;
Position pos;
+ Player* player;
float x, y, z, o;
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
{
@@ -296,7 +297,9 @@ inline void Battleground::_CheckSafePositions(uint32 diff)
GetTeamStartLoc(itr->second->GetBgTeamId(), x, y, z, o);
if (pos.GetExactDistSq(x, y, z) > maxDist)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BATTLEGROUND: Sending %s back to start location (map: %u) (possible exploit)", player->GetName().c_str(), GetMapId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BATTLEGROUND: Sending %s back to start location (map: %u) (possible exploit)", itr->second->GetName().c_str(), GetMapId());
+#endif
itr->second->TeleportTo(GetMapId(), x, y, z, o);
}
}
@@ -1236,7 +1239,9 @@ void Battleground::AddPlayer(Player* player)
AddOrSetPlayerToCorrectBgGroup(player, teamId);
// Log
- ;//sLog->outDetail("BATTLEGROUND: Player %s joined the battle.", player->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("BATTLEGROUND: Player %s joined the battle.", player->GetName().c_str());
+#endif
}
// this method adds player to his team's bg group, or sets his correct group if player is already in bg group
@@ -1915,4 +1920,4 @@ void Battleground::RewardXPAtKill(Player* killer, Player* victim)
uint8 Battleground::GetUniqueBracketId() const
{
return GetMinLevel() / 10;
-} \ No newline at end of file
+}
diff --git a/src/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/game/Battlegrounds/Zones/BattlegroundAV.cpp
index deb4d4af88..f035bd5dcc 100644
--- a/src/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -59,7 +59,9 @@ void BattlegroundAV::HandleKillPlayer(Player* player, Player* killer)
void BattlegroundAV::HandleKillUnit(Creature* unit, Player* killer)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av HandleKillUnit %i", unit->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av HandleKillUnit %i", unit->GetEntry());
+#endif
if (GetStatus() != STATUS_IN_PROGRESS)
return;
uint32 entry = unit->GetEntry();
@@ -140,7 +142,9 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
return;//maybe we should log this, cause this must be a cheater or a big bug
TeamId teamId = player->GetTeamId();
//TODO add reputation, events (including quest not available anymore, next quest availabe, go/npc de/spawning)and maybe honor
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed", questid);
+#endif
switch (questid)
{
case AV_QUEST_A_SCRAPS1:
@@ -150,7 +154,9 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
m_Team_QuestStatus[teamId][0]+=20;
if (m_Team_QuestStatus[teamId][0] == 500 || m_Team_QuestStatus[teamId][0] == 1000 || m_Team_QuestStatus[teamId][0] == 1500) //25, 50, 75 turn ins
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed starting with unit upgrading..", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed starting with unit upgrading..", questid);
+#endif
for (BG_AV_Nodes i = BG_AV_NODES_FIRSTAID_STATION; i <= BG_AV_NODES_FROSTWOLF_HUT; ++i)
if (m_Nodes[i].OwnerId == player->GetTeamId() && m_Nodes[i].State == POINT_CONTROLED)
{
@@ -165,21 +171,27 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
m_Team_QuestStatus[teamId][1]++;
RewardReputationToTeam(teamId, 1, teamId);
//if (m_Team_QuestStatus[team][1] == 30)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
break;
case AV_QUEST_A_COMMANDER2:
case AV_QUEST_H_COMMANDER2:
m_Team_QuestStatus[teamId][2]++;
RewardReputationToTeam(teamId, 1, teamId);
//if (m_Team_QuestStatus[team][2] == 60)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
break;
case AV_QUEST_A_COMMANDER3:
case AV_QUEST_H_COMMANDER3:
m_Team_QuestStatus[teamId][3]++;
RewardReputationToTeam(teamId, 1, teamId);
//if (m_Team_QuestStatus[team][3] == 120)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
break;
case AV_QUEST_A_BOSS1:
case AV_QUEST_H_BOSS1:
@@ -188,16 +200,22 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
case AV_QUEST_H_BOSS2:
m_Team_QuestStatus[teamId][4]++;
//if (m_Team_QuestStatus[team][4] >= 200)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
break;
case AV_QUEST_A_NEAR_MINE:
case AV_QUEST_H_NEAR_MINE:
m_Team_QuestStatus[teamId][5]++;
if (m_Team_QuestStatus[teamId][5] == 28)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
//if (m_Team_QuestStatus[team][6] == 7)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - ground assault ready", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - ground assault ready", questid);
+#endif
}
break;
case AV_QUEST_A_OTHER_MINE:
@@ -205,9 +223,13 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
m_Team_QuestStatus[teamId][6]++;
if (m_Team_QuestStatus[teamId][6] == 7)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
//if (m_Team_QuestStatus[team][5] == 20)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - ground assault ready", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - ground assault ready", questid);
+#endif
}
break;
case AV_QUEST_A_RIDER_HIDE:
@@ -215,9 +237,13 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
m_Team_QuestStatus[teamId][7]++;
if (m_Team_QuestStatus[teamId][7] == 25)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
//if (m_Team_QuestStatus[team][8] == 25)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - rider assault ready", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - rider assault ready", questid);
+#endif
}
break;
case AV_QUEST_A_RIDER_TAME:
@@ -225,13 +251,19 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
m_Team_QuestStatus[teamId][8]++;
if (m_Team_QuestStatus[teamId][8] == 25)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here", questid);
+#endif
//if (m_Team_QuestStatus[team][7] == 25)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - rider assault ready", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed (need to implement some events here - rider assault ready", questid);
+#endif
}
break;
default:
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed but is not interesting at all", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed but is not interesting at all", questid);
+#endif
return; //was no interesting quest at all
break;
}
@@ -414,7 +446,9 @@ void BattlegroundAV::StartingEventCloseDoors()
void BattlegroundAV::StartingEventOpenDoors()
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning mine stuff");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning mine stuff");
+#endif
for (uint16 i= BG_AV_OBJECT_MINE_SUPPLY_N_MIN; i <= BG_AV_OBJECT_MINE_SUPPLY_N_MAX; i++)
SpawnBGObject(i, RESPAWN_IMMEDIATELY);
for (uint16 i= BG_AV_OBJECT_MINE_SUPPLY_S_MIN; i <= BG_AV_OBJECT_MINE_SUPPLY_S_MAX; i++)
@@ -561,7 +595,9 @@ void BattlegroundAV::UpdatePlayerScore(Player* player, uint32 type, uint32 value
void BattlegroundAV::EventPlayerDestroyedPoint(BG_AV_Nodes node)
{
uint32 object = GetObjectThroughNode(node);
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av: player destroyed point node %i object %i", node, object);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av: player destroyed point node %i object %i", node, object);
+#endif
//despawn banner
SpawnBGObject(object, RESPAWN_ONE_DAY);
@@ -634,7 +670,9 @@ void BattlegroundAV::ChangeMineOwner(uint8 mine, TeamId teamId, bool initial)
if (!initial)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av depopulating mine %i (0=north, 1=south)", mine);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av depopulating mine %i (0=north, 1=south)", mine);
+#endif
if (mine == AV_SOUTH_MINE)
for (uint16 i=AV_CPLACE_MINE_S_S_MIN; i <= AV_CPLACE_MINE_S_S_MAX; i++)
if (BgCreatures[i])
@@ -645,7 +683,9 @@ void BattlegroundAV::ChangeMineOwner(uint8 mine, TeamId teamId, bool initial)
}
SendMineWorldStates(mine);
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av populating mine %i (0=north, 1=south)", mine);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av populating mine %i (0=north, 1=south)", mine);
+#endif
uint16 miner;
//also neutral team exists.. after a big time, the neutral team tries to conquer the mine
if (mine == AV_NORTH_MINE)
@@ -667,7 +707,9 @@ void BattlegroundAV::ChangeMineOwner(uint8 mine, TeamId teamId, bool initial)
else
miner = AV_NPC_S_MINE_N_1;
//vermin
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "spawning vermin");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "spawning vermin");
+#endif
if (teamId == TEAM_ALLIANCE)
cinfo = AV_NPC_S_MINE_A_3;
else if (teamId == TEAM_HORDE)
@@ -785,7 +827,9 @@ void BattlegroundAV::DePopulateNode(BG_AV_Nodes node)
BG_AV_Nodes BattlegroundAV::GetNodeThroughObject(uint32 object)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_AV getnodethroughobject %i", object);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_AV getnodethroughobject %i", object);
+#endif
if (object <= BG_AV_OBJECT_FLAG_A_STONEHEART_BUNKER)
return BG_AV_Nodes(object);
if (object <= BG_AV_OBJECT_FLAG_C_A_FROSTWOLF_HUT)
@@ -807,7 +851,9 @@ BG_AV_Nodes BattlegroundAV::GetNodeThroughObject(uint32 object)
uint32 BattlegroundAV::GetObjectThroughNode(BG_AV_Nodes node)
{ //this function is the counterpart to GetNodeThroughObject()
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_AV GetObjectThroughNode %i", node);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_AV GetObjectThroughNode %i", node);
+#endif
if (m_Nodes[node].OwnerId == TEAM_ALLIANCE)
{
if (m_Nodes[node].State == POINT_ASSAULTED)
@@ -888,7 +934,9 @@ void BattlegroundAV::EventPlayerDefendsPoint(Player* player, uint32 object)
EventPlayerAssaultsPoint(player, object);
return;
}
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "player defends point object: %i node: %i", object, node);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "player defends point object: %i node: %i", object, node);
+#endif
if (m_Nodes[node].PrevOwnerId != teamId)
{
sLog->outError("BG_AV: player defends point which doesn't belong to his team %i", node);
@@ -950,7 +998,9 @@ void BattlegroundAV::EventPlayerAssaultsPoint(Player* player, uint32 object)
BG_AV_Nodes node = GetNodeThroughObject(object);
TeamId prevOwnerId = m_Nodes[node].OwnerId;
TeamId teamId = player->GetTeamId();
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av: player assaults point object %i node %i", object, node);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "bg_av: player assaults point object %i node %i", object, node);
+#endif
if (prevOwnerId == teamId || teamId == m_Nodes[node].TotalOwnerId)
return; //surely a gm used this object
@@ -1304,7 +1354,9 @@ bool BattlegroundAV::SetupBattleground()
}
uint16 i;
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Alterac Valley: entering state STATUS_WAIT_JOIN ...");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Alterac Valley: entering state STATUS_WAIT_JOIN ...");
+#endif
// Initial Nodes
for (i = 0; i < BG_AV_OBJECT_MAX; i++)
SpawnBGObject(i, RESPAWN_ONE_DAY);
@@ -1353,22 +1405,30 @@ bool BattlegroundAV::SetupBattleground()
SpawnBGObject(BG_AV_OBJECT_STORMPIKE_BANNER, RESPAWN_IMMEDIATELY);
//creatures
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV start poputlating nodes");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV start poputlating nodes");
+#endif
for (i = BG_AV_NODES_FIRSTAID_STATION; i < BG_AV_NODES_MAX; ++i)
{
if (m_Nodes[i].OwnerId != TEAM_NEUTRAL)
PopulateNode(BG_AV_Nodes(i));
}
//all creatures which don't get despawned through the script are static
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning static creatures");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning static creatures");
+#endif
for (i = 0; i < AV_STATICCPLACE_MAX; i++)
AddAVCreature(0, i + AV_CPLACE_MAX);
//mainspiritguides:
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning spiritguides creatures");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning spiritguides creatures");
+#endif
AddSpiritGuide(7, BG_AV_CreaturePos[7][0], BG_AV_CreaturePos[7][1], BG_AV_CreaturePos[7][2], BG_AV_CreaturePos[7][3], TEAM_ALLIANCE);
AddSpiritGuide(8, BG_AV_CreaturePos[8][0], BG_AV_CreaturePos[8][1], BG_AV_CreaturePos[8][2], BG_AV_CreaturePos[8][3], TEAM_HORDE);
//spawn the marshals (those who get deleted, if a tower gets destroyed)
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning marshal creatures");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV: start spawning marshal creatures");
+#endif
for (i = AV_NPC_A_MARSHAL_SOUTH; i <= AV_NPC_H_MARSHAL_WTOWER; i++)
AddAVCreature(i, AV_CPLACE_A_MARSHAL_SOUTH + (i - AV_NPC_A_MARSHAL_SOUTH));
AddAVCreature(AV_NPC_HERALD, AV_CPLACE_HERALD);
diff --git a/src/game/Calendar/CalendarMgr.cpp b/src/game/Calendar/CalendarMgr.cpp
index 10295c156f..a0031fdc7f 100644
--- a/src/game/Calendar/CalendarMgr.cpp
+++ b/src/game/Calendar/CalendarMgr.cpp
@@ -306,7 +306,9 @@ CalendarInvite* CalendarMgr::GetInvite(uint64 inviteId) const
if ((*itr2)->GetInviteId() == inviteId)
return *itr2;
- ;//sLog->outDebug(LOG_FILTER_CALENDAR, "CalendarMgr::GetInvite: [" UI64FMTD "] not found!", inviteId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "CalendarMgr::GetInvite: [" UI64FMTD "] not found!", inviteId);
+#endif
return NULL;
}
diff --git a/src/game/Chat/Channels/Channel.cpp b/src/game/Chat/Channels/Channel.cpp
index f7facedaf1..f4f634c2b7 100644
--- a/src/game/Chat/Channels/Channel.cpp
+++ b/src/game/Chat/Channels/Channel.cpp
@@ -96,7 +96,9 @@ void Channel::UpdateChannelInDB() const
stmt->setUInt32(2, _channelDBId);
CharacterDatabase.Execute(stmt);
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "Channel(%s) updated in database", _name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "Channel(%s) updated in database", _name.c_str());
+#endif
}
}
@@ -682,9 +684,9 @@ void Channel::List(Player const* player)
return;
}
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "SMSG_CHANNEL_LIST %s Channel: %s",
- // player->GetSession()->GetPlayerInfo().c_str(), GetName().c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "SMSG_CHANNEL_LIST %s Channel: %s", player->GetSession()->GetPlayerInfo().c_str(), GetName().c_str());
+#endif
WorldPacket data(SMSG_CHANNEL_LIST, 1+(GetName().size()+1)+1+4+playersStore.size()*(8+1));
data << uint8(1); // channel type?
data << GetName(); // channel name
diff --git a/src/game/Chat/ChatLink.cpp b/src/game/Chat/ChatLink.cpp
index 61e6e0e4d8..b82fc1af9f 100644
--- a/src/game/Chat/ChatLink.cpp
+++ b/src/game/Chat/ChatLink.cpp
@@ -64,7 +64,9 @@ inline bool CheckDelimiter(std::istringstream& iss, char delimiter, const char*
char c = iss.peek();
if (c != delimiter)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid %s link structure ('%c' expected, '%c' found)", iss.str().c_str(), context, delimiter, c);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid %s link structure ('%c' expected, '%c' found)", iss.str().c_str(), context, delimiter, c);
+#endif
return false;
}
iss.ignore(1);
@@ -98,20 +100,26 @@ bool ItemChatLink::Initialize(std::istringstream& iss)
uint32 itemEntry = 0;
if (!ReadUInt32(iss, itemEntry))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading item entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading item entry", iss.str().c_str());
+#endif
return false;
}
// Validate item
_item = sObjectMgr->GetItemTemplate(itemEntry);
if (!_item)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid itemEntry %u in |item command", iss.str().c_str(), itemEntry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid itemEntry %u in |item command", iss.str().c_str(), itemEntry);
+#endif
return false;
}
// Validate item's color
if (_color != ItemQualityColors[_item->Quality])
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked item has color %u, but user claims %u", iss.str().c_str(), ItemQualityColors[_item->Quality], _color);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked item has color %u, but user claims %u", iss.str().c_str(), ItemQualityColors[_item->Quality], _color);
+#endif
return false;
}
// Number of various item properties after item entry
@@ -125,7 +133,9 @@ bool ItemChatLink::Initialize(std::istringstream& iss)
int32 id = 0;
if (!ReadInt32(iss, id))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading item property (%u)", iss.str().c_str(), index);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading item property (%u)", iss.str().c_str(), index);
+#endif
return false;
}
if (id && (index == randomPropertyPosition))
@@ -136,7 +146,9 @@ bool ItemChatLink::Initialize(std::istringstream& iss)
_property = sItemRandomPropertiesStore.LookupEntry(id);
if (!_property)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid item property id %u in |item command", iss.str().c_str(), id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid item property id %u in |item command", iss.str().c_str(), id);
+#endif
return false;
}
}
@@ -145,7 +157,9 @@ bool ItemChatLink::Initialize(std::istringstream& iss)
_suffix = sItemRandomSuffixStore.LookupEntry(-id);
if (!_suffix)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid item suffix id %u in |item command", iss.str().c_str(), -id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid item suffix id %u in |item command", iss.str().c_str(), -id);
+#endif
return false;
}
}
@@ -188,7 +202,9 @@ bool ItemChatLink::ValidateName(char* buffer, const char* context)
}
}
//if (!res)
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked item (id: %u) name wasn't found in any localization", context, _item->ItemId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked item (id: %u) name wasn't found in any localization", context, _item->ItemId);
+#endif
return res;
}
@@ -200,14 +216,18 @@ bool QuestChatLink::Initialize(std::istringstream& iss)
uint32 questId = 0;
if (!ReadUInt32(iss, questId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading quest entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading quest entry", iss.str().c_str());
+#endif
return false;
}
// Validate quest
_quest = sObjectMgr->GetQuestTemplate(questId);
if (!_quest)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): quest template %u not found", iss.str().c_str(), questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): quest template %u not found", iss.str().c_str(), questId);
+#endif
return false;
}
// Check delimiter
@@ -216,13 +236,17 @@ bool QuestChatLink::Initialize(std::istringstream& iss)
// Read quest level
if (!ReadInt32(iss, _questLevel))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading quest level", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading quest level", iss.str().c_str());
+#endif
return false;
}
// Validate quest level
if (_questLevel >= STRONG_MAX_LEVEL)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): quest level %d is too big", iss.str().c_str(), _questLevel);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): quest level %d is too big", iss.str().c_str(), _questLevel);
+#endif
return false;
}
return true;
@@ -235,7 +259,9 @@ bool QuestChatLink::ValidateName(char* buffer, const char* context)
bool res = (_quest->GetTitle() == buffer);
//if (!res)
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked quest (id: %u) title wasn't found in any localization", context, _quest->GetQuestId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked quest (id: %u) title wasn't found in any localization", context, _quest->GetQuestId());
+#endif
return res;
}
@@ -249,14 +275,18 @@ bool SpellChatLink::Initialize(std::istringstream& iss)
uint32 spellId = 0;
if (!ReadUInt32(iss, spellId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading spell entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading spell entry", iss.str().c_str());
+#endif
return false;
}
// Validate spell
_spell = sSpellMgr->GetSpellInfo(spellId);
if (!_spell)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |spell command", iss.str().c_str(), spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |spell command", iss.str().c_str(), spellId);
+#endif
return false;
}
return true;
@@ -272,19 +302,25 @@ bool SpellChatLink::ValidateName(char* buffer, const char* context)
SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(_spell->Id);
if (bounds.first == bounds.second)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): skill line not found for spell %u", context, _spell->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): skill line not found for spell %u", context, _spell->Id);
+#endif
return false;
}
SkillLineAbilityEntry const* skillInfo = bounds.first->second;
if (!skillInfo)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): skill line ability not found for spell %u", context, _spell->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): skill line ability not found for spell %u", context, _spell->Id);
+#endif
return false;
}
SkillLineEntry const* skillLine = sSkillLineStore.LookupEntry(skillInfo->skillId);
if (!skillLine)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): skill line not found for skill %u", context, skillInfo->skillId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): skill line not found for skill %u", context, skillInfo->skillId);
+#endif
return false;
}
@@ -311,7 +347,9 @@ bool SpellChatLink::ValidateName(char* buffer, const char* context)
}
//if (!res)
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked spell (id: %u) name wasn't found in any localization", context, _spell->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked spell (id: %u) name wasn't found in any localization", context, _spell->Id);
+#endif
return res;
}
@@ -325,14 +363,18 @@ bool AchievementChatLink::Initialize(std::istringstream& iss)
uint32 achievementId = 0;
if (!ReadUInt32(iss, achievementId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement entry", iss.str().c_str());
+#endif
return false;
}
// Validate achievement
_achievement = sAchievementStore.LookupEntry(achievementId);
if (!_achievement)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid achivement id %u in |achievement command", iss.str().c_str(), achievementId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid achivement id %u in |achievement command", iss.str().c_str(), achievementId);
+#endif
return false;
}
// Check delimiter
@@ -341,7 +383,9 @@ bool AchievementChatLink::Initialize(std::istringstream& iss)
// Read HEX
if (!ReadHex(iss, _guid, 0))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid hexadecimal number while reading char's guid", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid hexadecimal number while reading char's guid", iss.str().c_str());
+#endif
return false;
}
// Skip progress
@@ -353,7 +397,9 @@ bool AchievementChatLink::Initialize(std::istringstream& iss)
if (!ReadUInt32(iss, _data[index]))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement property (%u)", iss.str().c_str(), index);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement property (%u)", iss.str().c_str(), index);
+#endif
return false;
}
}
@@ -373,7 +419,9 @@ bool AchievementChatLink::ValidateName(char* buffer, const char* context)
}
//if (!res)
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked achievement (id: %u) name wasn't found in any localization", context, _achievement->ID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): linked achievement (id: %u) name wasn't found in any localization", context, _achievement->ID);
+#endif
return res;
}
@@ -387,14 +435,18 @@ bool TradeChatLink::Initialize(std::istringstream& iss)
uint32 spellId = 0;
if (!ReadUInt32(iss, spellId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement entry", iss.str().c_str());
+#endif
return false;
}
// Validate spell
_spell = sSpellMgr->GetSpellInfo(spellId);
if (!_spell)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |trade command", iss.str().c_str(), spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |trade command", iss.str().c_str(), spellId);
+#endif
return false;
}
// Check delimiter
@@ -403,7 +455,9 @@ bool TradeChatLink::Initialize(std::istringstream& iss)
// Minimum talent level
if (!ReadInt32(iss, _minSkillLevel))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading minimum talent level", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading minimum talent level", iss.str().c_str());
+#endif
return false;
}
// Check delimiter
@@ -412,7 +466,9 @@ bool TradeChatLink::Initialize(std::istringstream& iss)
// Maximum talent level
if (!ReadInt32(iss, _maxSkillLevel))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading maximum talent level", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading maximum talent level", iss.str().c_str());
+#endif
return false;
}
// Check delimiter
@@ -421,7 +477,9 @@ bool TradeChatLink::Initialize(std::istringstream& iss)
// Something hexadecimal
if (!ReadHex(iss, _guid, 0))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement's owner guid", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading achievement's owner guid", iss.str().c_str());
+#endif
return false;
}
// Skip base64 encoded stuff
@@ -438,21 +496,27 @@ bool TalentChatLink::Initialize(std::istringstream& iss)
// Read talent entry
if (!ReadUInt32(iss, _talentId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading talent entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading talent entry", iss.str().c_str());
+#endif
return false;
}
// Validate talent
TalentEntry const* talentInfo = sTalentStore.LookupEntry(_talentId);
if (!talentInfo)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid talent id %u in |talent command", iss.str().c_str(), _talentId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid talent id %u in |talent command", iss.str().c_str(), _talentId);
+#endif
return false;
}
// Validate talent's spell
_spell = sSpellMgr->GetSpellInfo(talentInfo->RankID[0]);
if (!_spell)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |trade command", iss.str().c_str(), talentInfo->RankID[0]);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |trade command", iss.str().c_str(), talentInfo->RankID[0]);
+#endif
return false;
}
// Delimiter
@@ -461,7 +525,9 @@ bool TalentChatLink::Initialize(std::istringstream& iss)
// Rank
if (!ReadInt32(iss, _rankId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading talent rank", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading talent rank", iss.str().c_str());
+#endif
return false;
}
return true;
@@ -477,14 +543,18 @@ bool EnchantmentChatLink::Initialize(std::istringstream& iss)
uint32 spellId = 0;
if (!ReadUInt32(iss, spellId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading enchantment spell entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading enchantment spell entry", iss.str().c_str());
+#endif
return false;
}
// Validate spell
_spell = sSpellMgr->GetSpellInfo(spellId);
if (!_spell)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |enchant command", iss.str().c_str(), spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |enchant command", iss.str().c_str(), spellId);
+#endif
return false;
}
return true;
@@ -499,7 +569,9 @@ bool GlyphChatLink::Initialize(std::istringstream& iss)
// Slot
if (!ReadUInt32(iss, _slotId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading slot id", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading slot id", iss.str().c_str());
+#endif
return false;
}
// Check delimiter
@@ -509,21 +581,27 @@ bool GlyphChatLink::Initialize(std::istringstream& iss)
uint32 glyphId = 0;
if (!ReadUInt32(iss, glyphId))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading glyph entry", iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly while reading glyph entry", iss.str().c_str());
+#endif
return false;
}
// Validate glyph
_glyph = sGlyphPropertiesStore.LookupEntry(glyphId);
if (!_glyph)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid glyph id %u in |glyph command", iss.str().c_str(), glyphId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid glyph id %u in |glyph command", iss.str().c_str(), glyphId);
+#endif
return false;
}
// Validate glyph's spell
_spell = sSpellMgr->GetSpellInfo(_glyph->SpellId);
if (!_spell)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |glyph command", iss.str().c_str(), _glyph->SpellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid spell id %u in |glyph command", iss.str().c_str(), _glyph->SpellId);
+#endif
return false;
}
return true;
@@ -561,14 +639,18 @@ bool LinkExtractor::IsValidMessage()
}
else if (_iss.get() != PIPE_CHAR)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence aborted unexpectedly", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence aborted unexpectedly", _iss.str().c_str());
+#endif
return false;
}
// pipe has always to be followed by at least one char
if (_iss.peek() == '\0')
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): pipe followed by '\\0'", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): pipe followed by '\\0'", _iss.str().c_str());
+#endif
return false;
}
@@ -591,14 +673,18 @@ bool LinkExtractor::IsValidMessage()
}
else
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid sequence, expected '%c' but got '%c'", _iss.str().c_str(), *validSequenceIterator, commandChar);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid sequence, expected '%c' but got '%c'", _iss.str().c_str(), *validSequenceIterator, commandChar);
+#endif
return false;
}
}
else if (validSequence != validSequenceIterator)
{
// no escaped pipes in sequences
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got escaped pipe in sequence", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got escaped pipe in sequence", _iss.str().c_str());
+#endif
return false;
}
@@ -607,7 +693,9 @@ bool LinkExtractor::IsValidMessage()
case 'c':
if (!ReadHex(_iss, color, 8))
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid hexadecimal number while reading color", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): invalid hexadecimal number while reading color", _iss.str().c_str());
+#endif
return false;
}
break;
@@ -616,7 +704,9 @@ bool LinkExtractor::IsValidMessage()
_iss.getline(buffer, 256, DELIMITER);
if (_iss.eof())
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly", _iss.str().c_str());
+#endif
return false;
}
@@ -638,7 +728,9 @@ bool LinkExtractor::IsValidMessage()
link = new GlyphChatLink();
else
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): user sent unsupported link type '%s'", _iss.str().c_str(), buffer);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): user sent unsupported link type '%s'", _iss.str().c_str(), buffer);
+#endif
return false;
}
_links.push_back(link);
@@ -653,13 +745,17 @@ bool LinkExtractor::IsValidMessage()
// links start with '['
if (_iss.get() != '[')
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): link caption doesn't start with '['", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): link caption doesn't start with '['", _iss.str().c_str());
+#endif
return false;
}
_iss.getline(buffer, 256, ']');
if (_iss.eof())
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): sequence finished unexpectedly", _iss.str().c_str());
+#endif
return false;
}
@@ -677,7 +773,9 @@ bool LinkExtractor::IsValidMessage()
// no further payload
break;
default:
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid command |%c", _iss.str().c_str(), commandChar);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): got invalid command |%c", _iss.str().c_str(), commandChar);
+#endif
return false;
}
}
@@ -685,7 +783,9 @@ bool LinkExtractor::IsValidMessage()
// check if every opened sequence was also closed properly
if (validSequence != validSequenceIterator)
{
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): EOF in active sequence", _iss.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "ChatHandler::isValidChatMessage('%s'): EOF in active sequence", _iss.str().c_str());
+#endif
return false;
}
diff --git a/src/game/Conditions/ConditionMgr.cpp b/src/game/Conditions/ConditionMgr.cpp
index 038c8bef99..9b50e65c51 100644
--- a/src/game/Conditions/ConditionMgr.cpp
+++ b/src/game/Conditions/ConditionMgr.cpp
@@ -26,7 +26,9 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo)
// object not present, return false
if (!object)
{
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "Condition object not found for condition (Entry: %u Type: %u Group: %u)", SourceEntry, SourceType, SourceGroup);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "Condition object not found for condition (Entry: %u Type: %u Group: %u)", SourceEntry, SourceType, SourceGroup);
+#endif
return false;
}
bool condMeets = false;
@@ -632,7 +634,9 @@ bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo,
std::map<uint32, bool> ElseGroupStore;
for (ConditionList::const_iterator i = conditions.begin(); i != conditions.end(); ++i)
{
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "ConditionMgr::IsPlayerMeetToConditionList condType: %u val1: %u", (*i)->ConditionType, (*i)->ConditionValue1);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "ConditionMgr::IsPlayerMeetToConditionList condType: %u val1: %u", (*i)->ConditionType, (*i)->ConditionValue1);
+#endif
if ((*i)->isLoaded())
{
//! Find ElseGroup in ElseGroupStore
@@ -653,8 +657,9 @@ bool ConditionMgr::IsObjectMeetToConditionList(ConditionSourceInfo& sourceInfo,
}
else
{
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "IsPlayerMeetToConditionList: Reference template -%u not found",
- // (*i)->ReferenceId);//checked at loading, should never happen
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "IsPlayerMeetToConditionList: Reference template -%u not found", (*i)->ReferenceId);
+#endif
}
}
@@ -689,7 +694,9 @@ bool ConditionMgr::IsObjectMeetToConditions(ConditionSourceInfo& sourceInfo, Con
if (conditions.empty())
return true;
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "ConditionMgr::IsObjectMeetToConditions");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "ConditionMgr::IsObjectMeetToConditions");
+#endif
return IsObjectMeetToConditionList(sourceInfo, conditions);
}
@@ -733,7 +740,9 @@ ConditionList ConditionMgr::GetConditionsForNotGroupedEntry(ConditionSourceType
if (i != (*itr).second.end())
{
spellCond = (*i).second;
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForNotGroupedEntry: found conditions for type %u and entry %u", uint32(sourceType), entry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForNotGroupedEntry: found conditions for type %u and entry %u", uint32(sourceType), entry);
+#endif
}
}
}
@@ -750,7 +759,9 @@ ConditionList ConditionMgr::GetConditionsForSpellClickEvent(uint32 creatureId, u
if (i != (*itr).second.end())
{
cond = (*i).second;
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForSpellClickEvent: found conditions for Vehicle entry %u spell %u", creatureId, spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForSpellClickEvent: found conditions for Vehicle entry %u spell %u", creatureId, spellId);
+#endif
}
}
return cond;
@@ -766,7 +777,9 @@ ConditionList ConditionMgr::GetConditionsForVehicleSpell(uint32 creatureId, uint
if (i != (*itr).second.end())
{
cond = (*i).second;
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForVehicleSpell: found conditions for Vehicle entry %u spell %u", creatureId, spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForVehicleSpell: found conditions for Vehicle entry %u spell %u", creatureId, spellId);
+#endif
}
}
return cond;
@@ -782,7 +795,9 @@ ConditionList ConditionMgr::GetConditionsForSmartEvent(int32 entryOrGuid, uint32
if (i != (*itr).second.end())
{
cond = (*i).second;
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForSmartEvent: found conditions for Smart Event entry or guid %d event_id %u", entryOrGuid, eventId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "GetConditionsForSmartEvent: found conditions for Smart Event entry or guid %d event_id %u", entryOrGuid, eventId);
+#endif
}
}
return cond;
diff --git a/src/game/DungeonFinding/LFGMgr.cpp b/src/game/DungeonFinding/LFGMgr.cpp
index 497eeeee7c..836cac77e4 100644
--- a/src/game/DungeonFinding/LFGMgr.cpp
+++ b/src/game/DungeonFinding/LFGMgr.cpp
@@ -419,6 +419,9 @@ void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */)
lockData = LFG_LOCKSTATUS_MISSING_ITEM;
}
+
+ sScriptMgr->OnInitializeLockedDungeons(player, level, lockData);
+
/* TODO VoA closed if WG is not under team control (LFG_LOCKSTATUS_RAID_LOCKED)
lockData = LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE;
lockData = LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE;
@@ -429,6 +432,9 @@ void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */)
if (lockData)
lock[dungeon->Entry()] = lockData;
}
+
+ sScriptMgr->OnAfterInitializeLockedDungeons(player);
+
SetLockedDungeons(guid, lock);
}
@@ -610,7 +616,9 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
// Can't join. Send result
if (joinData.result != LFG_JOIN_OK)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::Join: [" UI64FMTD "] joining with %u members. result: %u", guid, grp ? grp->GetMembersCount() : 1, joinData.result);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::Join: [" UI64FMTD "] joining with %u members. result: %u", guid, grp ? grp->GetMembersCount() : 1, joinData.result);
+#endif
if (!dungeons.empty()) // Only should show lockmap when have no dungeons available
joinData.lockmap.clear();
player->GetSession()->SendLfgJoinResult(joinData);
@@ -701,7 +709,9 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
std::ostringstream o;
o << "LFGMgr::Join: [" << guid << "] joined (" << (grp ? "group" : "player") << ") Members: " << debugNames.c_str()
<< ". Dungeons (" << uint32(dungeons.size()) << "): " << ConcatenateDungeons(dungeons);
- ;//sLog->outDebug((LOG_FILTER_LFG, "%s", o.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug((LOG_FILTER_LFG, "%s", o.str().c_str());
+#endif
}*/
}
@@ -713,8 +723,7 @@ void LFGMgr::JoinLfg(Player* player, uint8 roles, LfgDungeonSet& dungeons, const
*/
void LFGMgr::LeaveLfg(uint64 guid)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::Leave: [" UI64FMTD "]", guid);
-
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::Leave: [" UI64FMTD "]", guid);
uint64 gguid = IS_GROUP_GUID(guid) ? guid : GetGroup(guid);
LfgState state = GetState(guid);
switch (state)
@@ -1595,7 +1604,9 @@ void LFGMgr::UpdateProposal(uint32 proposalId, uint64 guid, bool accept)
LfgProposalPlayer& player = itProposalPlayer->second;
player.accept = LfgAnswer(accept);
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::UpdateProposal: Player [" UI64FMTD "] of proposal %u selected: %u", guid, proposalId, accept);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::UpdateProposal: Player [" UI64FMTD "] of proposal %u selected: %u", guid, proposalId, accept);
+#endif
if (!accept)
{
RemoveProposal(itProposal, LFG_UPDATETYPE_PROPOSAL_DECLINED);
@@ -1686,7 +1697,9 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
LfgProposal& proposal = itProposal->second;
proposal.state = LFG_PROPOSAL_FAILED;
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::RemoveProposal: Proposal %u, state FAILED, UpdateType %u", itProposal->first, type);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::RemoveProposal: Proposal %u, state FAILED, UpdateType %u", itProposal->first, type);
+#endif
// Mark all people that didn't answered as no accept
if (type == LFG_UPDATETYPE_PROPOSAL_FAILED)
for (LfgProposalPlayerContainer::iterator it = proposal.players.begin(); it != proposal.players.end(); ++it)
@@ -1730,12 +1743,16 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
if (it->second.accept == LFG_ANSWER_DENY)
{
updateData.updateType = type;
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::RemoveProposal: [" UI64FMTD "] didn't accept. Removing from queue and compatible cache", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::RemoveProposal: [" UI64FMTD "] didn't accept. Removing from queue and compatible cache", guid);
+#endif
}
else
{
updateData.updateType = LFG_UPDATETYPE_REMOVED_FROM_QUEUE;
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::RemoveProposal: [" UI64FMTD "] in same group that someone that didn't accept. Removing from queue and compatible cache", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::RemoveProposal: [" UI64FMTD "] in same group that someone that didn't accept. Removing from queue and compatible cache", guid);
+#endif
}
RestoreState(guid, "Proposal Fail (didn't accepted or in group with someone that didn't accept");
@@ -1749,7 +1766,9 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
}
else
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::RemoveProposal: Readding [" UI64FMTD "] to queue.", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::RemoveProposal: Readding [" UI64FMTD "] to queue.", guid);
+#endif
SetState(guid, LFG_STATE_QUEUED);
if (gguid != guid)
{
@@ -2125,7 +2144,9 @@ LfgState LFGMgr::GetState(uint64 guid)
else
state = PlayersStore[guid].GetState();
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetState: [" UI64FMTD "] = %u", guid, state);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetState: [" UI64FMTD "] = %u", guid, state);
+#endif
return state;
}
@@ -2137,14 +2158,18 @@ LfgState LFGMgr::GetOldState(uint64 guid)
else
state = PlayersStore[guid].GetOldState();
- ;//sLog->outTrace(LOG_FILTER_LFG, "LFGMgr::GetOldState: [" UI64FMTD "] = %u", guid, state);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetOldState: [" UI64FMTD "] = %u", guid, state);
+#endif
return state;
}
uint32 LFGMgr::GetDungeon(uint64 guid, bool asId /*= true */)
{
uint32 dungeon = GroupsStore[guid].GetDungeon(asId);
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetDungeon: [" UI64FMTD "] asId: %u = %u", guid, asId, dungeon);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetDungeon: [" UI64FMTD "] asId: %u = %u", guid, asId, dungeon);
+#endif
return dungeon;
}
@@ -2156,39 +2181,51 @@ uint32 LFGMgr::GetDungeonMapId(uint64 guid)
if (LFGDungeonData const* dungeon = GetLFGDungeon(dungeonId))
mapId = dungeon->map;
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetDungeonMapId: [" UI64FMTD "] = %u (DungeonId = %u)", guid, mapId, dungeonId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetDungeonMapId: [" UI64FMTD "] = %u (DungeonId = %u)", guid, mapId, dungeonId);
+#endif
return mapId;
}
uint8 LFGMgr::GetRoles(uint64 guid)
{
uint8 roles = PlayersStore[guid].GetRoles();
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetRoles: [" UI64FMTD "] = %u", guid, roles);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetRoles: [" UI64FMTD "] = %u", guid, roles);
+#endif
return roles;
}
const std::string& LFGMgr::GetComment(uint64 guid)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetComment: [" UI64FMTD "] = %s", guid, PlayersStore[guid].GetComment().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetComment: [" UI64FMTD "] = %s", guid, PlayersStore[guid].GetComment().c_str());
+#endif
return PlayersStore[guid].GetComment();
}
LfgDungeonSet const& LFGMgr::GetSelectedDungeons(uint64 guid)
{
- ;//sLog->outTrace(LOG_FILTER_LFG, "LFGMgr::GetSelectedDungeons: [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetSelectedDungeons: [" UI64FMTD "]", guid);
+#endif
return PlayersStore[guid].GetSelectedDungeons();
}
LfgLockMap const& LFGMgr::GetLockedDungeons(uint64 guid)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetLockedDungeons: [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetLockedDungeons: [" UI64FMTD "]", guid);
+#endif
return PlayersStore[guid].GetLockedDungeons();
}
uint8 LFGMgr::GetKicksLeft(uint64 guid)
{
uint8 kicks = GroupsStore[guid].GetKicksLeft();
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::GetKicksLeft: [" UI64FMTD "] = %u", guid, kicks);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::GetKicksLeft: [" UI64FMTD "] = %u", guid, kicks);
+#endif
return kicks;
}
@@ -2250,19 +2287,25 @@ void LFGMgr::SetCanOverrideRBState(uint64 guid, bool val)
void LFGMgr::SetDungeon(uint64 guid, uint32 dungeon)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::SetDungeon: [" UI64FMTD "] dungeon %u", guid, dungeon);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::SetDungeon: [" UI64FMTD "] dungeon %u", guid, dungeon);
+#endif
GroupsStore[guid].SetDungeon(dungeon);
}
void LFGMgr::SetRoles(uint64 guid, uint8 roles)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::SetRoles: [" UI64FMTD "] roles: %u", guid, roles);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::SetRoles: [" UI64FMTD "] roles: %u", guid, roles);
+#endif
PlayersStore[guid].SetRoles(roles);
}
void LFGMgr::SetComment(uint64 guid, std::string const& comment)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::SetComment: [" UI64FMTD "] comment: %s", guid, comment.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::SetComment: [" UI64FMTD "] comment: %s", guid, comment.c_str());
+#endif
PlayersStore[guid].SetComment(comment);
}
@@ -2281,25 +2324,33 @@ void LFGMgr::LfrSetComment(Player* p, std::string comment)
void LFGMgr::SetSelectedDungeons(uint64 guid, LfgDungeonSet const& dungeons)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::SetSelectedDungeons: [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::SetLockedDungeons: [" UI64FMTD "]", guid);
+#endif
PlayersStore[guid].SetSelectedDungeons(dungeons);
}
void LFGMgr::SetLockedDungeons(uint64 guid, LfgLockMap const& lock)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::SetLockedDungeons: [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::SetLockedDungeons: [" UI64FMTD "]", guid);
+#endif
PlayersStore[guid].SetLockedDungeons(lock);
}
void LFGMgr::DecreaseKicksLeft(uint64 guid)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::DecreaseKicksLeft: [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::DecreaseKicksLeft: [" UI64FMTD "]", guid);
+#endif
GroupsStore[guid].DecreaseKicksLeft();
}
void LFGMgr::RemoveGroupData(uint64 guid)
{
- ;//sLog->outDebug((LOG_FILTER_LFG, "LFGMgr::RemoveGroupData: [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGMgr::RemoveGroupData: [" UI64FMTD "]", guid);
+#endif
LfgGroupDataContainer::iterator it = GroupsStore.find(guid);
if (it == GroupsStore.end())
return;
diff --git a/src/game/DungeonFinding/LFGScripts.cpp b/src/game/DungeonFinding/LFGScripts.cpp
index c14f76a220..e6153d9b81 100644
--- a/src/game/DungeonFinding/LFGScripts.cpp
+++ b/src/game/DungeonFinding/LFGScripts.cpp
@@ -102,8 +102,9 @@ void LFGPlayerScript::OnMapChanged(Player* player)
sLFGMgr->LeaveAllLfgQueues(player->GetGUID(), true);
player->RemoveAurasDueToSpell(LFG_SPELL_LUCK_OF_THE_DRAW);
player->TeleportTo(player->m_homebindMapId, player->m_homebindX, player->m_homebindY, player->m_homebindZ, 0.0f);
- ;//sLog->outError(LOG_FILTER_LFG, "LFGPlayerScript::OnMapChanged, Player %s (%u) is in LFG dungeon map but does not have a valid group! "
- // "Teleporting to homebind.", player->GetName().c_str(), player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGPlayerScript::OnMapChanged, Player %s (%u) is in LFG dungeon map but does not have a valid group! Teleporting to homebind.", player->GetName().c_str(), player->GetGUIDLow());
+#endif
return;
}
@@ -139,14 +140,18 @@ void LFGGroupScript::OnAddMember(Group* group, uint64 guid)
if (leader == guid)
{
- ;//sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnAddMember [" UI64FMTD "]: added [" UI64FMTD "] leader " UI64FMTD "]", gguid, guid, leader);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnAddMember [" UI64FMTD "]: added [" UI64FMTD "] leader " UI64FMTD "]", gguid, guid, leader);
+#endif
sLFGMgr->SetLeader(gguid, guid);
}
else
{
LfgState gstate = sLFGMgr->GetState(gguid);
LfgState state = sLFGMgr->GetState(guid);
- ;//sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnAddMember [" UI64FMTD "]: added [" UI64FMTD "] leader " UI64FMTD "] gstate: %u, state: %u", gguid, guid, leader, gstate, state);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnAddMember [" UI64FMTD "]: added [" UI64FMTD "] leader " UI64FMTD "] gstate: %u, state: %u", gguid, guid, leader, gstate, state);
+#endif
if (state == LFG_STATE_QUEUED)
sLFGMgr->LeaveLfg(guid);
@@ -175,7 +180,9 @@ void LFGGroupScript::OnRemoveMember(Group* group, uint64 guid, RemoveMethod meth
return;
uint64 gguid = group->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnRemoveMember [" UI64FMTD "]: remove [" UI64FMTD "] Method: %d Kicker: [" UI64FMTD "] Reason: %s", gguid, guid, method, kicker, (reason ? reason : ""));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnRemoveMember [" UI64FMTD "]: remove [" UI64FMTD "] Method: %d Kicker: [" UI64FMTD "] Reason: %s", gguid, guid, method, kicker, (reason ? reason : ""));
+#endif
bool isLFG = group->isLFGGroup();
LfgState state = sLFGMgr->GetState(gguid);
@@ -234,7 +241,9 @@ void LFGGroupScript::OnDisband(Group* group)
return;
uint64 gguid = group->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnDisband [" UI64FMTD "]", gguid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnDisband [" UI64FMTD "]", gguid);
+#endif
// pussywizard: after all necessary actions handle raid browser
if (sLFGMgr->GetState(group->GetLeaderGUID()) == LFG_STATE_RAIDBROWSER)
@@ -250,7 +259,9 @@ void LFGGroupScript::OnChangeLeader(Group* group, uint64 newLeaderGuid, uint64 o
uint64 gguid = group->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnChangeLeader [" UI64FMTD "]: old [" UI64FMTD "] new [" UI64FMTD "]", gguid, newLeaderGuid, oldLeaderGuid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnChangeLeader [" UI64FMTD "]: old [" UI64FMTD "] new [" UI64FMTD "]", gguid, newLeaderGuid, oldLeaderGuid);
+#endif
sLFGMgr->SetLeader(gguid, newLeaderGuid);
// pussywizard: after all necessary actions handle raid browser
@@ -265,7 +276,9 @@ void LFGGroupScript::OnInviteMember(Group* group, uint64 guid)
uint64 gguid = group->GetGUID();
uint64 leader = group->GetLeaderGUID();
- ;//sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnInviteMember [" UI64FMTD "]: invite [" UI64FMTD "] leader [" UI64FMTD "]", gguid, guid, leader);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "LFGScripts::OnInviteMember [" UI64FMTD "]: invite [" UI64FMTD "] leader [" UI64FMTD "]", gguid, guid, leader);
+#endif
// No gguid == new group being formed
// No leader == after group creation first invite is new leader
// leader and no gguid == first invite after leader is added to new group (this is the real invite)
diff --git a/src/game/Entities/Creature/Creature.cpp b/src/game/Entities/Creature/Creature.cpp
index 4949c78ce5..cd3beff0e7 100644
--- a/src/game/Entities/Creature/Creature.cpp
+++ b/src/game/Entities/Creature/Creature.cpp
@@ -542,7 +542,9 @@ void Creature::Update(uint32 diff)
else if (m_corpseRemoveTime <= time(NULL))
{
RemoveCorpse(false);
- ;//sLog->outStaticDebug("Removing corpse... %u ", GetUInt32Value(OBJECT_FIELD_ENTRY));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Removing corpse... %u ", GetUInt32Value(OBJECT_FIELD_ENTRY));
+#endif
}
break;
}
@@ -768,7 +770,9 @@ bool Creature::AIM_Initialize(CreatureAI* ai)
// make sure nothing can change the AI during AI update
if (m_AI_locked)
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "AIM_Initialize: failed to init, locked.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "AIM_Initialize: failed to init, locked.");
+#endif
return false;
}
@@ -1604,7 +1608,9 @@ void Creature::Respawn(bool force)
if (m_DBTableGuid)
GetMap()->RemoveCreatureRespawnTime(m_DBTableGuid);
- ;//sLog->outStaticDebug("Respawning creature %s (GuidLow: %u, Full GUID: " UI64FMTD " Entry: %u)", GetName().c_str(), GetGUIDLow(), GetGUID(), GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Respawning creature %s (GuidLow: %u, Full GUID: " UI64FMTD " Entry: %u)", GetName().c_str(), GetGUIDLow(), GetGUID(), GetEntry());
+#endif
m_respawnTime = 0;
ResetPickPocketLootTime();
@@ -1882,7 +1888,9 @@ void Creature::SendAIReaction(AiReaction reactionType)
((WorldObject*)this)->SendMessageToSet(&data, true);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_AI_REACTION, type %u.", reactionType);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_AI_REACTION, type %u.", reactionType);
+#endif
}
void Creature::CallAssistance()
@@ -2210,7 +2218,9 @@ bool Creature::LoadCreaturesAddon(bool reload)
}
AddAura(*itr, this);
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Spell: %u added to creature (GUID: %u Entry: %u)", *itr, GetGUIDLow(), GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Spell: %u added to creature (GUID: %u Entry: %u)", *itr, GetGUIDLow(), GetEntry());
+#endif
}
}
diff --git a/src/game/Entities/Creature/CreatureGroups.cpp b/src/game/Entities/Creature/CreatureGroups.cpp
index e808e1228d..90527ca7ff 100644
--- a/src/game/Entities/Creature/CreatureGroups.cpp
+++ b/src/game/Entities/Creature/CreatureGroups.cpp
@@ -28,13 +28,17 @@ void FormationMgr::AddCreatureToGroup(uint32 groupId, Creature* member)
//Add member to an existing group
if (itr != map->CreatureGroupHolder.end())
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Group found: %u, inserting creature GUID: %u, Group InstanceID %u", groupId, member->GetGUIDLow(), member->GetInstanceId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Group found: %u, inserting creature GUID: %u, Group InstanceID %u", groupId, member->GetGUIDLow(), member->GetInstanceId());
+#endif
itr->second->AddMember(member);
}
//Create new group
else
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Group not found: %u. Creating new group.", groupId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Group not found: %u. Creating new group.", groupId);
+#endif
CreatureGroup* group = new CreatureGroup(groupId);
map->CreatureGroupHolder[groupId] = group;
group->AddMember(member);
@@ -43,7 +47,9 @@ void FormationMgr::AddCreatureToGroup(uint32 groupId, Creature* member)
void FormationMgr::RemoveCreatureFromGroup(CreatureGroup* group, Creature* member)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Deleting member pointer to GUID: %u from group %u", group->GetId(), member->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Deleting member pointer to GUID: %u from group %u", group->GetId(), member->GetDBTableGUIDLow());
+#endif
group->RemoveMember(member);
if (group->isEmpty())
@@ -52,7 +58,9 @@ void FormationMgr::RemoveCreatureFromGroup(CreatureGroup* group, Creature* membe
if (!map)
return;
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Deleting group with InstanceID %u", member->GetInstanceId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Deleting group with InstanceID %u", member->GetInstanceId());
+#endif
map->CreatureGroupHolder.erase(group->GetId());
delete group;
}
@@ -131,12 +139,16 @@ void FormationMgr::LoadCreatureFormations()
void CreatureGroup::AddMember(Creature* member)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "CreatureGroup::AddMember: Adding unit GUID: %u.", member->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "CreatureGroup::AddMember: Adding unit GUID: %u.", member->GetGUIDLow());
+#endif
//Check if it is a leader
if (member->GetDBTableGUIDLow() == m_groupID)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Unit GUID: %u is formation leader. Adding group.", member->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Unit GUID: %u is formation leader. Adding group.", member->GetGUIDLow());
+#endif
m_leader = member;
}
@@ -165,7 +177,9 @@ void CreatureGroup::MemberAttackStart(Creature* member, Unit* target)
for (CreatureGroupMemberType::iterator itr = m_members.begin(); itr != m_members.end(); ++itr)
{
//if (m_leader) // avoid crash if leader was killed and reset.
- ;//sLog->outDebug(LOG_FILTER_UNITS, "GROUP ATTACK: group instance id %u calls member instid %u", m_leader->GetInstanceId(), member->GetInstanceId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "GROUP ATTACK: group instance id %u calls member instid %u", m_leader->GetInstanceId(), member->GetInstanceId());
+#endif
//Skip one check
if (itr->first == member)
@@ -195,7 +209,9 @@ void CreatureGroup::FormationReset(bool dismiss)
itr->first->GetMotionMaster()->Initialize();
else
itr->first->GetMotionMaster()->MoveIdle();
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Set %s movement for member GUID: %u", dismiss ? "default" : "idle", itr->first->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Set %s movement for member GUID: %u", dismiss ? "default" : "idle", itr->first->GetGUIDLow());
+#endif
}
}
m_Formed = !dismiss;
diff --git a/src/game/Entities/Creature/GossipDef.cpp b/src/game/Entities/Creature/GossipDef.cpp
index 93d295c21e..b685e2654b 100644
--- a/src/game/Entities/Creature/GossipDef.cpp
+++ b/src/game/Entities/Creature/GossipDef.cpp
@@ -326,7 +326,9 @@ void PlayerMenu::SendQuestGiverQuestList(QEmote const& eEmote, const std::string
data.put<uint8>(count_pos, count);
_session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_LIST NPC Guid=%u", GUID_LOPART(npcGUID));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_LIST NPC Guid=%u", GUID_LOPART(npcGUID));
+#endif
}
void PlayerMenu::SendQuestGiverStatus(uint8 questStatus, uint64 npcGUID) const
@@ -336,7 +338,9 @@ void PlayerMenu::SendQuestGiverStatus(uint8 questStatus, uint64 npcGUID) const
data << uint8(questStatus);
_session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_STATUS NPC Guid=%u, status=%u", GUID_LOPART(npcGUID), questStatus);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_STATUS NPC Guid=%u, status=%u", GUID_LOPART(npcGUID), questStatus);
+#endif
}
void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, uint64 npcGUID, bool activateAccept) const
@@ -441,7 +445,9 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, uint64 npcGUID,
}
_session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_DETAILS NPCGuid=%u, questid=%u", GUID_LOPART(npcGUID), quest->GetQuestId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_DETAILS NPCGuid=%u, questid=%u", GUID_LOPART(npcGUID), quest->GetQuestId());
+#endif
}
void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
@@ -575,7 +581,9 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
data << questObjectiveText[i];
_session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUEST_QUERY_RESPONSE questid=%u", quest->GetQuestId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUEST_QUERY_RESPONSE questid=%u", quest->GetQuestId());
+#endif
}
void PlayerMenu::SendQuestGiverOfferReward(Quest const* quest, uint64 npcGUID, bool enableNext) const
@@ -666,7 +674,9 @@ void PlayerMenu::SendQuestGiverOfferReward(Quest const* quest, uint64 npcGUID, b
data << uint32(quest->RewardFactionValueIdOverride[i]);
_session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_OFFER_REWARD NPCGuid=%u, questid=%u", GUID_LOPART(npcGUID), quest->GetQuestId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_OFFER_REWARD NPCGuid=%u, questid=%u", GUID_LOPART(npcGUID), quest->GetQuestId());
+#endif
}
void PlayerMenu::SendQuestGiverRequestItems(Quest const* quest, uint64 npcGUID, bool canComplete, bool closeOnCancel) const
@@ -760,5 +770,7 @@ void PlayerMenu::SendQuestGiverRequestItems(Quest const* quest, uint64 npcGUID,
data << uint32(0x10);
_session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_REQUEST_ITEMS NPCGuid=%u, questid=%u", GUID_LOPART(npcGUID), quest->GetQuestId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_REQUEST_ITEMS NPCGuid=%u, questid=%u", GUID_LOPART(npcGUID), quest->GetQuestId());
+#endif
}
diff --git a/src/game/Entities/GameObject/GameObject.cpp b/src/game/Entities/GameObject/GameObject.cpp
index 58a476e5f1..9628a7f10e 100644
--- a/src/game/Entities/GameObject/GameObject.cpp
+++ b/src/game/Entities/GameObject/GameObject.cpp
@@ -1389,7 +1389,9 @@ void GameObject::Use(Unit* user)
if (info->goober.eventId)
{
- ;//sLog->outDebug(LOG_FILTER_MAPSCRIPTS, "Goober ScriptStart id %u for GO entry %u (GUID %u).", info->goober.eventId, GetEntry(), GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPSCRIPTS, "Goober ScriptStart id %u for GO entry %u (GUID %u).", info->goober.eventId, GetEntry(), GetDBTableGUIDLow());
+#endif
GetMap()->ScriptsStart(sEventScripts, info->goober.eventId, player, this);
EventInform(info->goober.eventId);
}
@@ -1489,7 +1491,9 @@ void GameObject::Use(Unit* user)
int32 roll = irand(1, 100);
- ;//sLog->outStaticDebug("Fishing check (skill: %i zone min skill: %i chance %i roll: %i", skill, zone_skill, chance, roll);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Fishing check (skill: %i zone min skill: %i chance %i roll: %i", skill, zone_skill, chance, roll);
+#endif
// but you will likely cause junk in areas that require a high fishing skill (not yet implemented)
if (chance >= roll)
@@ -1771,7 +1775,9 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER || !sOutdoorPvPMgr->HandleCustomSpell(user->ToPlayer(), spellId, this))
sLog->outError("WORLD: unknown spell id %u at use action for gameobject (Entry: %u GoType: %u)", spellId, GetEntry(), GetGoType());
else
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "WORLD: %u non-dbc spell was handled by OutdoorPvP", spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "WORLD: %u non-dbc spell was handled by OutdoorPvP", spellId);
+#endif
return;
}
diff --git a/src/game/Entities/Item/Item.cpp b/src/game/Entities/Item/Item.cpp
index e4148240ea..9a5e5531bc 100644
--- a/src/game/Entities/Item/Item.cpp
+++ b/src/game/Entities/Item/Item.cpp
@@ -283,7 +283,9 @@ void Item::UpdateDuration(Player* owner, uint32 diff)
if (!GetUInt32Value(ITEM_FIELD_DURATION))
return;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)", GetEntry(), GetUInt32Value(ITEM_FIELD_DURATION), diff);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)", GetEntry(), GetUInt32Value(ITEM_FIELD_DURATION), diff);
+#endif
if (GetUInt32Value(ITEM_FIELD_DURATION) <= diff)
{
@@ -676,7 +678,9 @@ void Item::AddToUpdateQueueOf(Player* player)
if (player->GetGUID() != GetOwnerGUID())
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item::AddToUpdateQueueOf - Owner's guid (%u) and player's guid (%u) don't match!", GUID_LOPART(GetOwnerGUID()), player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item::AddToUpdateQueueOf - Owner's guid (%u) and player's guid (%u) don't match!", GUID_LOPART(GetOwnerGUID()), player->GetGUIDLow());
+#endif
return;
}
@@ -696,7 +700,9 @@ void Item::RemoveFromUpdateQueueOf(Player* player)
if (player->GetGUID() != GetOwnerGUID())
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item::RemoveFromUpdateQueueOf - Owner's guid (%u) and player's guid (%u) don't match!", GUID_LOPART(GetOwnerGUID()), player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item::RemoveFromUpdateQueueOf - Owner's guid (%u) and player's guid (%u) don't match!", GUID_LOPART(GetOwnerGUID()), player->GetGUIDLow());
+#endif
return;
}
diff --git a/src/game/Entities/Pet/Pet.cpp b/src/game/Entities/Pet/Pet.cpp
index d405b118fc..1e89b1905f 100644
--- a/src/game/Entities/Pet/Pet.cpp
+++ b/src/game/Entities/Pet/Pet.cpp
@@ -625,7 +625,9 @@ bool Pet::CreateBaseAtCreatureInfo(CreatureTemplate const* cinfo, Unit* owner)
bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map, uint32 phaseMask)
{
- ;//sLog->outDebug(LOG_FILTER_PETS, "Pet::CreateBaseForTamed");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PETS, "Pet::CreateBaseForTamed");
+#endif
uint32 guid=sObjectMgr->GenerateLowGuid(HIGHGUID_PET);
uint32 pet_number = sObjectMgr->GeneratePetNumber();
if (!Create(guid, map, phaseMask, cinfo->Entry, pet_number))
@@ -1080,7 +1082,9 @@ void Pet::_LoadSpellCooldowns(PreparedQueryResult result)
cooldowns[spell_id] = cooldown;
_AddCreatureSpellCooldown(spell_id, cooldown);
- ;//sLog->outDebug(LOG_FILTER_PETS, "Pet (Number: %u) spell %u cooldown loaded (%u secs).", m_charmInfo->GetPetNumber(), spell_id, uint32(db_time-curTime));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PETS, "Pet (Number: %u) spell %u cooldown loaded (%u secs).", m_charmInfo->GetPetNumber(), spell_id, uint32(db_time-curTime));
+#endif
}
while (result->NextRow());
@@ -1187,7 +1191,9 @@ void Pet::_SaveSpells(SQLTransaction& trans)
void Pet::_LoadAuras(PreparedQueryResult result, uint32 timediff)
{
- ;//sLog->outDebug(LOG_FILTER_PETS, "Loading auras for pet %u", GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PETS, "Loading auras for pet %u", GetGUIDLow());
+#endif
if (result)
{
@@ -1257,7 +1263,9 @@ void Pet::_LoadAuras(PreparedQueryResult result, uint32 timediff)
}
aura->SetLoadedState(maxduration, remaintime, remaincharges, stackcount, recalculatemask, &damage[0]);
aura->ApplyForTargets();
- ;//sLog->outDetail("Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
+#endif
}
}
while (result->NextRow());
diff --git a/src/game/Entities/Player/Player.cpp b/src/game/Entities/Player/Player.cpp
index f08cb57b79..3b972158b2 100644
--- a/src/game/Entities/Player/Player.cpp
+++ b/src/game/Entities/Player/Player.cpp
@@ -1251,7 +1251,9 @@ bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo)
bool Player::StoreNewItemInBestSlots(uint32 titem_id, uint32 titem_amount)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: Creating initial item, itemId = %u, count = %u", titem_id, titem_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: Creating initial item, itemId = %u, count = %u", titem_id, titem_amount);
+#endif
// attempt equip by one
while (titem_amount > 0)
@@ -1347,7 +1349,9 @@ uint32 Player::EnvironmentalDamage(EnviromentalDamage type, uint32 damage)
{
if (type == DAMAGE_FALL) // DealDamage not apply item durability loss at self damage
{
- ;//sLog->outStaticDebug("We are fall to death, loosing 10 percents durability");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("We are fall to death, loosing 10 percents durability");
+#endif
DurabilityLossAll(0.10f, false);
// durability lost message
WorldPacket data2(SMSG_DURABILITY_DAMAGE_DEATH, 0);
@@ -2217,7 +2221,9 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
// client without expansion support
if (GetSession()->Expansion() < mEntry->Expansion())
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "Player %s using client without required expansion tried teleport to non accessible map %u", GetName().c_str(), mapid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "Player %s using client without required expansion tried teleport to non accessible map %u", GetName().c_str(), mapid);
+#endif
if (GetTransport())
{
@@ -2233,7 +2239,9 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
return false; // normal client can't teleport to this map...
}
else
- ;//sLog->outDebug(LOG_FILTER_MAPS, "Player %s is being teleported to map %u", GetName().c_str(), mapid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "Player %s is being teleported to map %u", GetName().c_str(), mapid);
+#endif
// xinef: do this here in case teleport failed in above checks
if (!(options & TELE_TO_NOT_LEAVE_TAXI) && IsInFlight())
@@ -2908,8 +2916,9 @@ GameObject* Player::GetGameObjectIfCanInteractWith(uint64 guid, GameobjectTypes
if (go->IsWithinDistInMap(this, go->GetInteractionDistance()))
return go;
- ;//sLog->outDebug(LOG_FILTER_MAPS, "IsGameObjectOfTypeInRange: GameObject '%s' [GUID: %u] is too far away from player %s [GUID: %u] to be used by him (distance=%f, maximal 10 is allowed)", go->GetGOInfo()->name.c_str(),
- // go->GetGUIDLow(), GetName().c_str(), GetGUIDLow(), go->GetDistance(this));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "IsGameObjectOfTypeInRange: GameObject '%s' [GUID: %u] is too far away from player %s [GUID: %u] to be used by him (distance=%f, maximal 10 is allowed)", go->GetGOInfo()->name.c_str(), go->GetGUIDLow(), GetName().c_str(), GetGUIDLow(), go->GetDistance(this));
+#endif
}
}
return NULL;
@@ -4341,7 +4350,9 @@ void Player::_LoadSpellCooldowns(PreparedQueryResult result)
AddSpellCooldown(spell_id, item_id, (db_time-curTime)*IN_MILLISECONDS, needSend);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player (GUID: %u) spell %u, item %u cooldown loaded (%u secs).", GetGUIDLow(), spell_id, item_id, uint32(db_time-curTime));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player (GUID: %u) spell %u, item %u cooldown loaded (%u secs).", GetGUIDLow(), spell_id, item_id, uint32(db_time-curTime));
+#endif
}
while (result->NextRow());
}
@@ -5523,7 +5534,9 @@ uint32 Player::DurabilityRepair(uint16 pos, bool cost, float discountMod, bool g
{
if (GetGuildId() == 0)
{
- ;//sLog->outStaticDebug("You are not member of a guild");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("You are not member of a guild");
+#endif
return TotalCost;
}
@@ -5538,7 +5551,9 @@ uint32 Player::DurabilityRepair(uint16 pos, bool cost, float discountMod, bool g
}
else if (!HasEnoughMoney(costs))
{
- ;//sLog->outStaticDebug("You do not have enough money");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("You do not have enough money");
+#endif
return TotalCost;
}
else
@@ -6160,7 +6175,9 @@ inline int SkillGainChance(uint32 SkillValue, uint32 GrayLevel, uint32 GreenLeve
bool Player::UpdateCraftSkill(uint32 spellid)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateCraftSkill spellid %d", spellid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateCraftSkill spellid %d", spellid);
+#endif
SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spellid);
@@ -6192,7 +6209,9 @@ bool Player::UpdateCraftSkill(uint32 spellid)
bool Player::UpdateGatherSkill(uint32 SkillId, uint32 SkillValue, uint32 RedLevel, uint32 Multiplicator)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateGatherSkill(SkillId %d SkillLevel %d RedLevel %d)", SkillId, SkillValue, RedLevel);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateGatherSkill(SkillId %d SkillLevel %d RedLevel %d)", SkillId, SkillValue, RedLevel);
+#endif
uint32 gathering_skill_gain = sWorld->getIntConfig(CONFIG_SKILL_GAIN_GATHERING);
@@ -6220,7 +6239,9 @@ bool Player::UpdateGatherSkill(uint32 SkillId, uint32 SkillValue, uint32 RedLeve
bool Player::UpdateFishingSkill()
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateFishingSkill");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateFishingSkill");
+#endif
uint32 SkillValue = GetPureSkillValue(SKILL_FISHING);
@@ -6239,13 +6260,17 @@ static const size_t bonusSkillLevelsSize = sizeof(bonusSkillLevels) / sizeof(uin
bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateSkillPro(SkillId %d, Chance %3.1f%%)", SkillId, Chance / 10.0f);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "UpdateSkillPro(SkillId %d, Chance %3.1f%%)", SkillId, Chance / 10.0f);
+#endif
if (!SkillId)
return false;
if (Chance <= 0) // speedup in 0 chance case
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "Player::UpdateSkillPro Chance=%3.1f%% missed", Chance / 10.0f);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "Player::UpdateSkillPro Chance=%3.1f%% missed", Chance / 10.0f);
+#endif
return false;
}
@@ -6285,11 +6310,15 @@ bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step)
}
UpdateSkillEnchantments(SkillId, SkillValue, new_value);
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, SkillId);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "Player::UpdateSkillPro Chance=%3.1f%% taken", Chance / 10.0f);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "Player::UpdateSkillPro Chance=%3.1f%% taken", Chance / 10.0f);
+#endif
return true;
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "Player::UpdateSkillPro Chance=%3.1f%% missed", Chance / 10.0f);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_SKILLS, "Player::UpdateSkillPro Chance=%3.1f%% missed", Chance / 10.0f);
+#endif
return false;
}
@@ -6668,7 +6697,9 @@ int16 Player::GetSkillTempBonusValue(uint32 skill) const
void Player::SendActionButtons(uint32 state) const
{
- ;//sLog->outDetail("Sending Action Buttons for '%u' spec '%u'", GetGUIDLow(), m_activeSpec);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Sending Action Buttons for '%u' spec '%u'", GetGUIDLow(), m_activeSpec);
+#endif
WorldPacket data(SMSG_ACTION_BUTTONS, 1+(MAX_ACTION_BUTTONS*4));
data << uint8(state);
@@ -6691,7 +6722,9 @@ void Player::SendActionButtons(uint32 state) const
}
GetSession()->SendPacket(&data);
- ;//sLog->outDetail("Action Buttons for '%u' spec '%u' Sent", GetGUIDLow(), m_activeSpec);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Action Buttons for '%u' spec '%u' Sent", GetGUIDLow(), m_activeSpec);
+#endif
}
bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type)
@@ -6719,7 +6752,9 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type)
if (!HasSpell(action))
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::IsActionButtonDataValid Spell action %u not added into button %u for player %s: player don't known this spell", action, button, GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::IsActionButtonDataValid Spell action %u not added into button %u for player %s: player don't known this spell", action, button, GetName().c_str());
+#endif
return false;
}
break;
@@ -6748,7 +6783,9 @@ ActionButton* Player::addActionButton(uint8 button, uint32 action, uint8 type)
// set data and update to CHANGED if not NEW
ab.SetActionAndType(action, ActionButtonType(type));
- ;//sLog->outDetail("Player '%u' Added Action '%u' (type %u) to Button '%u'", GetGUIDLow(), action, type, button);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Player '%u' Added Action '%u' (type %u) to Button '%u'", GetGUIDLow(), action, type, button);
+#endif
return &ab;
}
@@ -6763,7 +6800,9 @@ void Player::removeActionButton(uint8 button)
else
buttonItr->second.uState = ACTIONBUTTON_DELETED; // saved, will deleted at next save
- ;//sLog->outDetail("Action Button '%u' Removed from Player '%u'", button, GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Action Button '%u' Removed from Player '%u'", button, GetGUIDLow());
+#endif
}
ActionButton const* Player::GetActionButton(uint8 button)
@@ -6862,7 +6901,9 @@ void Player::CheckAreaExploreAndOutdoor()
if (offset >= PLAYER_EXPLORED_ZONES_SIZE)
{
- ;//sLog->outError("Wrong area flag %u in map data for (X: %f Y: %f) point to field PLAYER_EXPLORED_ZONES_1 + %u ( %u must be < %u ).", areaFlag, GetPositionX(), GetPositionY(), offset, offset, PLAYER_EXPLORED_ZONES_SIZE);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outError("Wrong area flag %u in map data for (X: %f Y: %f) point to field PLAYER_EXPLORED_ZONES_1 + %u ( %u must be < %u ).", areaFlag, GetPositionX(), GetPositionY(), offset, offset, PLAYER_EXPLORED_ZONES_SIZE);
+#endif
return;
}
@@ -6915,7 +6956,9 @@ void Player::CheckAreaExploreAndOutdoor()
GiveXP(XP, NULL);
SendExplorationExperience(area, XP);
}
- ;//sLog->outDetail("Player %u discovered a new area: %u", GetGUIDLow(), area);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Player %u discovered a new area: %u", GetGUIDLow(), area);
+#endif
}
}
}
@@ -7716,7 +7759,9 @@ void Player::DuelComplete(DuelCompleteType type)
if (!duel)
return;
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Duel Complete %s %s", GetName().c_str(), duel->opponent->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Duel Complete %s %s", GetName().c_str(), duel->opponent->GetName().c_str());
+#endif
WorldPacket data(SMSG_DUEL_COMPLETE, (1));
data << (uint8)((type != DUEL_INTERRUPTED) ? 1 : 0);
@@ -7839,7 +7884,9 @@ void Player::_ApplyItemMods(Item* item, uint8 slot, bool apply)
if (item->IsBroken())
return;
- ;//sLog->outDetail("applying mods for item %u ", item->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("applying mods for item %u ", item->GetGUIDLow());
+#endif
uint8 attacktype = Player::GetAttackBySlot(slot);
@@ -7857,7 +7904,9 @@ void Player::_ApplyItemMods(Item* item, uint8 slot, bool apply)
ApplyItemEquipSpell(item, apply);
ApplyEnchantment(item, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_ApplyItemMods complete.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_ApplyItemMods complete.");
+#endif
}
void Player::_ApplyItemBonuses(ItemTemplate const* proto, uint8 slot, bool apply, bool only_level_scale /*= false*/)
@@ -8336,7 +8385,9 @@ void Player::ApplyEquipSpell(SpellInfo const* spellInfo, Item* item, bool apply,
return;
}
- ;//sLog->outStaticDebug("WORLD: cast %s Equip spellId - %i", (item ? "item" : "itemset"), spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: cast %s Equip spellId - %i", (item ? "item" : "itemset"), spellInfo->Id);
+#endif
CastSpell(this, spellInfo, true, item);
}
@@ -8687,7 +8738,9 @@ void Player::CastItemUseSpell(Item* item, SpellCastTargets const& targets, uint8
void Player::_RemoveAllItemMods()
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_RemoveAllItemMods start.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_RemoveAllItemMods start.");
+#endif
for (uint8 i = 0; i < INVENTORY_SLOT_BAG_END; ++i)
{
@@ -8730,12 +8783,16 @@ void Player::_RemoveAllItemMods()
}
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_RemoveAllItemMods complete.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_RemoveAllItemMods complete.");
+#endif
}
void Player::_ApplyAllItemMods()
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_ApplyAllItemMods start.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_ApplyAllItemMods start.");
+#endif
for (uint8 i = 0; i < INVENTORY_SLOT_BAG_END; ++i)
{
@@ -8779,7 +8836,9 @@ void Player::_ApplyAllItemMods()
}
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_ApplyAllItemMods complete.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "_ApplyAllItemMods complete.");
+#endif
}
void Player::_ApplyAllLevelScaleItemMods(bool apply)
@@ -8904,10 +8963,14 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
Loot* loot = 0;
PermissionTypes permission = ALL_PERMISSION;
- ;//sLog->outDebug(LOG_FILTER_LOOT, "Player::SendLoot");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LOOT, "Player::SendLoot");
+#endif
if (IS_GAMEOBJECT_GUID(guid))
{
- ;//sLog->outDebug(LOG_FILTER_LOOT, "IS_GAMEOBJECT_GUID(guid)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LOOT, "IS_GAMEOBJECT_GUID(guid)");
+#endif
GameObject* go = GetMap()->GetGameObject(guid);
// not check distance for GO in case owned GO (fishing bobber case, for example)
@@ -9300,7 +9363,9 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid)
InstanceScript* instance = GetInstanceScript();
Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(zoneid);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Sending SMSG_INIT_WORLD_STATES to Map: %u, Zone: %u", mapid, zoneid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Sending SMSG_INIT_WORLD_STATES to Map: %u, Zone: %u", mapid, zoneid);
+#endif
WorldPacket data(SMSG_INIT_WORLD_STATES, (4+4+4+2+(12*8)));
data << uint32(mapid); // mapid
@@ -9965,7 +10030,9 @@ uint32 Player::GetXPRestBonus(uint32 xp)
SetRestBonus(GetRestBonus() - rested_bonus);
- ;//sLog->outDetail("Player gain %u xp (+ %u Rested Bonus). Rested points=%f", xp+rested_bonus, rested_bonus, GetRestBonus());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Player gain %u xp (+ %u Rested Bonus). Rested points=%f", xp+rested_bonus, rested_bonus, GetRestBonus());
+#endif
return rested_bonus;
}
@@ -11036,7 +11103,9 @@ InventoryResult Player::CanStoreItem_InInventorySlots(uint8 slot_begin, uint8 sl
InventoryResult Player::CanStoreItem(uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 entry, uint32 count, Item* pItem, bool swap, uint32* no_space_count) const
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanStoreItem bag = %u, slot = %u, item = %u, count = %u", bag, slot, entry, count);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanStoreItem bag = %u, slot = %u, item = %u, count = %u", bag, slot, entry, count);
+#endif
ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(entry);
if (!pProto)
@@ -11526,7 +11595,9 @@ InventoryResult Player::CanStoreItems(Item** pItems, int count) const
if (!pItem)
continue;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanStoreItems %i. item = %u, count = %u", k + 1, pItem->GetEntry(), pItem->GetCount());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanStoreItems %i. item = %u, count = %u", k + 1, pItem->GetEntry(), pItem->GetCount());
+#endif
ItemTemplate const* pProto = pItem->GetTemplate();
// strange item
@@ -11743,7 +11814,9 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16 &dest, Item* pItem, bool
dest = 0;
if (pItem)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanEquipItem slot = %u, item = %u, count = %u", slot, pItem->GetEntry(), pItem->GetCount());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanEquipItem slot = %u, item = %u, count = %u", slot, pItem->GetEntry(), pItem->GetCount());
+#endif
ItemTemplate const* pProto = pItem->GetTemplate();
if (pProto)
{
@@ -11918,7 +11991,9 @@ InventoryResult Player::CanUnequipItem(uint16 pos, bool swap) const
if (!pItem)
return EQUIP_ERR_OK;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanUnequipItem slot = %u, item = %u, count = %u", pos, pItem->GetEntry(), pItem->GetCount());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanUnequipItem slot = %u, item = %u, count = %u", pos, pItem->GetEntry(), pItem->GetCount());
+#endif
ItemTemplate const* pProto = pItem->GetTemplate();
if (!pProto)
@@ -11958,7 +12033,9 @@ InventoryResult Player::CanBankItem(uint8 bag, uint8 slot, ItemPosCountVec &dest
uint32 count = pItem->GetCount();
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanBankItem bag = %u, slot = %u, item = %u, count = %u", bag, slot, pItem->GetEntry(), pItem->GetCount());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanBankItem bag = %u, slot = %u, item = %u, count = %u", bag, slot, pItem->GetEntry(), pItem->GetCount());
+#endif
ItemTemplate const* pProto = pItem->GetTemplate();
if (!pProto)
return swap ? EQUIP_ERR_ITEMS_CANT_BE_SWAPPED : EQUIP_ERR_ITEM_NOT_FOUND;
@@ -12142,7 +12219,9 @@ InventoryResult Player::CanUseItem(Item* pItem, bool not_loading) const
{
if (pItem)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanUseItem item = %u", pItem->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanUseItem item = %u", pItem->GetEntry());
+#endif
if (!IsAlive() && not_loading)
return EQUIP_ERR_YOU_ARE_DEAD;
@@ -12315,7 +12394,9 @@ InventoryResult Player::CanRollForItemInLFG(ItemTemplate const* proto, WorldObje
InventoryResult Player::CanUseAmmo(uint32 item) const
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanUseAmmo item = %u", item);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: CanUseAmmo item = %u", item);
+#endif
if (!IsAlive())
return EQUIP_ERR_YOU_ARE_DEAD;
//if (isStunned())
@@ -12472,7 +12553,9 @@ Item* Player::_StoreItem(uint16 pos, Item* pItem, uint32 count, bool clone, bool
uint8 bag = pos >> 8;
uint8 slot = pos & 255;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: StoreItem bag = %u, slot = %u, item = %u, count = %u, guid = %u", bag, slot, pItem->GetEntry(), count, pItem->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: StoreItem bag = %u, slot = %u, item = %u, count = %u, guid = %u", bag, slot, pItem->GetEntry(), count, pItem->GetGUIDLow());
+#endif
Item* pItem2 = GetItemByPos(bag, slot);
@@ -12733,7 +12816,9 @@ void Player::VisualizeItem(uint8 slot, Item* pItem)
if (pItem->GetTemplate()->Bonding == BIND_WHEN_EQUIPED || pItem->GetTemplate()->Bonding == BIND_WHEN_PICKED_UP || pItem->GetTemplate()->Bonding == BIND_QUEST_ITEM)
pItem->SetBinding(true);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: EquipItem slot = %u, item = %u", slot, pItem->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: EquipItem slot = %u, item = %u", slot, pItem->GetEntry());
+#endif
m_items[slot] = pItem;
SetUInt64Value(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 2), pItem->GetGUID());
@@ -12758,7 +12843,9 @@ void Player::RemoveItem(uint8 bag, uint8 slot, bool update, bool swap)
Item* pItem = GetItemByPos(bag, slot);
if (pItem)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: RemoveItem bag = %u, slot = %u, item = %u", bag, slot, pItem->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: RemoveItem bag = %u, slot = %u, item = %u", bag, slot, pItem->GetEntry());
+#endif
RemoveEnchantmentDurations(pItem);
RemoveItemDurations(pItem);
@@ -12882,7 +12969,9 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update)
Item* pItem = GetItemByPos(bag, slot);
if (pItem)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItem bag = %u, slot = %u, item = %u", bag, slot, pItem->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItem bag = %u, slot = %u, item = %u", bag, slot, pItem->GetEntry());
+#endif
// Also remove all contained items if the item is a bag.
// This if () prevents item saving crashes if the condition for a bag to be empty before being destroyed was bypassed somehow.
if (pItem->IsNotEmptyBag())
@@ -12977,7 +13066,9 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update)
void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool unequip_check)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItemCount item = %u, count = %u", itemEntry, count);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItemCount item = %u, count = %u", itemEntry, count);
+#endif
uint32 remcount = 0;
// in inventory
@@ -13168,7 +13259,9 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
void Player::DestroyZoneLimitedItem(bool update, uint32 new_zone)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyZoneLimitedItem in map %u and area %u", GetMapId(), new_zone);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyZoneLimitedItem in map %u and area %u", GetMapId(), new_zone);
+#endif
// in inventory
for (uint8 i = INVENTORY_SLOT_ITEM_START; i < INVENTORY_SLOT_ITEM_END; i++)
@@ -13200,7 +13293,9 @@ void Player::DestroyConjuredItems(bool update)
{
// used when entering arena
// destroys all conjured items
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyConjuredItems");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyConjuredItems");
+#endif
// in inventory
for (uint8 i = INVENTORY_SLOT_ITEM_START; i < INVENTORY_SLOT_ITEM_END; i++)
@@ -13256,7 +13351,9 @@ void Player::DestroyItemCount(Item* pItem, uint32 &count, bool update)
if (!pItem)
return;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItemCount item (GUID: %u, Entry: %u) count = %u", pItem->GetGUIDLow(), pItem->GetEntry(), count);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItemCount item (GUID: %u, Entry: %u) count = %u", pItem->GetGUIDLow(), pItem->GetEntry(), count);
+#endif
if (pItem->GetCount() <= count)
{
@@ -13319,7 +13416,9 @@ void Player::SplitItem(uint16 src, uint16 dst, uint32 count)
return;
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: SplitItem bag = %u, slot = %u, item = %u, count = %u", dstbag, dstslot, pSrcItem->GetEntry(), count);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: SplitItem bag = %u, slot = %u, item = %u, count = %u", dstbag, dstslot, pSrcItem->GetEntry(), count);
+#endif
Item* pNewItem = pSrcItem->CloneItem(count, this);
if (!pNewItem)
{
@@ -13404,7 +13503,9 @@ void Player::SwapItem(uint16 src, uint16 dst)
if (!pSrcItem)
return;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: SwapItem bag = %u, slot = %u, item = %u", dstbag, dstslot, pSrcItem->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: SwapItem bag = %u, slot = %u, item = %u", dstbag, dstslot, pSrcItem->GetEntry());
+#endif
if (!IsAlive())
{
@@ -13795,7 +13896,9 @@ void Player::AddItemToBuyBackSlot(Item* pItem)
}
RemoveItemFromBuyBackSlot(slot, true);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: AddItemToBuyBackSlot item = %u, slot = %u", pItem->GetEntry(), slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: AddItemToBuyBackSlot item = %u, slot = %u", pItem->GetEntry(), slot);
+#endif
m_items[slot] = pItem;
time_t base = time(NULL);
@@ -13817,7 +13920,9 @@ void Player::AddItemToBuyBackSlot(Item* pItem)
Item* Player::GetItemFromBuyBackSlot(uint32 slot)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: GetItemFromBuyBackSlot slot = %u", slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: GetItemFromBuyBackSlot slot = %u", slot);
+#endif
if (slot >= BUYBACK_SLOT_START && slot < BUYBACK_SLOT_END)
return m_items[slot];
return NULL;
@@ -13825,7 +13930,9 @@ Item* Player::GetItemFromBuyBackSlot(uint32 slot)
void Player::RemoveItemFromBuyBackSlot(uint32 slot, bool del)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: RemoveItemFromBuyBackSlot slot = %u", slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: RemoveItemFromBuyBackSlot slot = %u", slot);
+#endif
if (slot >= BUYBACK_SLOT_START && slot < BUYBACK_SLOT_END)
{
Item* pItem = m_items[slot];
@@ -13851,7 +13958,9 @@ void Player::RemoveItemFromBuyBackSlot(uint32 slot, bool del)
void Player::SendEquipError(InventoryResult msg, Item* pItem, Item* pItem2, uint32 itemid)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_INVENTORY_CHANGE_FAILURE (%u)", msg);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_INVENTORY_CHANGE_FAILURE (%u)", msg);
+#endif
WorldPacket data(SMSG_INVENTORY_CHANGE_FAILURE, (msg == EQUIP_ERR_CANT_EQUIP_LEVEL_I ? 22 : 18));
data << uint8(msg);
@@ -13894,7 +14003,9 @@ void Player::SendEquipError(InventoryResult msg, Item* pItem, Item* pItem2, uint
void Player::SendBuyError(BuyResult msg, Creature* creature, uint32 item, uint32 param)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_BUY_FAILED");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_BUY_FAILED");
+#endif
WorldPacket data(SMSG_BUY_FAILED, (8+4+4+1));
data << uint64(creature ? creature->GetGUID() : 0);
data << uint32(item);
@@ -13906,7 +14017,9 @@ void Player::SendBuyError(BuyResult msg, Creature* creature, uint32 item, uint32
void Player::SendSellError(SellResult msg, Creature* creature, uint64 guid, uint32 param)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_SELL_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_SELL_ITEM");
+#endif
WorldPacket data(SMSG_SELL_ITEM, (8+8+(param?4:0)+1)); // last check 2.0.10
data << uint64(creature ? creature->GetGUID() : 0);
data << uint64(guid);
@@ -13978,7 +14091,9 @@ void Player::UpdateItemDuration(uint32 time, bool realtimeonly)
if (m_itemDuration.empty())
return;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Player::UpdateItemDuration(%u, %u)", time, realtimeonly);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Player::UpdateItemDuration(%u, %u)", time, realtimeonly);
+#endif
for (ItemDurationList::const_iterator itr = m_itemDuration.begin(); itr != m_itemDuration.end();)
{
@@ -14261,81 +14376,117 @@ void Player::ApplyEnchantment(Item* item, EnchantmentSlot slot, bool apply, bool
}
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Adding %u to stat nb %u", enchant_amount, enchant_spell_id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Adding %u to stat nb %u", enchant_amount, enchant_spell_id);
+#endif
switch (enchant_spell_id)
{
case ITEM_MOD_MANA:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MANA", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MANA", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_MANA, BASE_VALUE, float(enchant_amount), apply);
break;
case ITEM_MOD_HEALTH:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HEALTH", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HEALTH", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_HEALTH, BASE_VALUE, float(enchant_amount), apply);
break;
case ITEM_MOD_AGILITY:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u AGILITY", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u AGILITY", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_STAT_AGILITY, TOTAL_VALUE, float(enchant_amount), apply);
ApplyStatBuffMod(STAT_AGILITY, (float)enchant_amount, apply);
break;
case ITEM_MOD_STRENGTH:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u STRENGTH", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u STRENGTH", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_STAT_STRENGTH, TOTAL_VALUE, float(enchant_amount), apply);
ApplyStatBuffMod(STAT_STRENGTH, (float)enchant_amount, apply);
break;
case ITEM_MOD_INTELLECT:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u INTELLECT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u INTELLECT", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_STAT_INTELLECT, TOTAL_VALUE, float(enchant_amount), apply);
ApplyStatBuffMod(STAT_INTELLECT, (float)enchant_amount, apply);
break;
case ITEM_MOD_SPIRIT:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPIRIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPIRIT", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_STAT_SPIRIT, TOTAL_VALUE, float(enchant_amount), apply);
ApplyStatBuffMod(STAT_SPIRIT, (float)enchant_amount, apply);
break;
case ITEM_MOD_STAMINA:
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u STAMINA", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u STAMINA", enchant_amount);
+#endif
HandleStatModifier(UNIT_MOD_STAT_STAMINA, TOTAL_VALUE, float(enchant_amount), apply);
ApplyStatBuffMod(STAT_STAMINA, (float)enchant_amount, apply);
break;
case ITEM_MOD_DEFENSE_SKILL_RATING:
ApplyRatingMod(CR_DEFENSE_SKILL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u DEFENCE", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u DEFENCE", enchant_amount);
+#endif
break;
case ITEM_MOD_DODGE_RATING:
ApplyRatingMod(CR_DODGE, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u DODGE", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u DODGE", enchant_amount);
+#endif
break;
case ITEM_MOD_PARRY_RATING:
ApplyRatingMod(CR_PARRY, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u PARRY", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u PARRY", enchant_amount);
+#endif
break;
case ITEM_MOD_BLOCK_RATING:
ApplyRatingMod(CR_BLOCK, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SHIELD_BLOCK", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SHIELD_BLOCK", enchant_amount);
+#endif
break;
case ITEM_MOD_HIT_MELEE_RATING:
ApplyRatingMod(CR_HIT_MELEE, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MELEE_HIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MELEE_HIT", enchant_amount);
+#endif
break;
case ITEM_MOD_HIT_RANGED_RATING:
ApplyRatingMod(CR_HIT_RANGED, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RANGED_HIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RANGED_HIT", enchant_amount);
+#endif
break;
case ITEM_MOD_HIT_SPELL_RATING:
ApplyRatingMod(CR_HIT_SPELL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_HIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_HIT", enchant_amount);
+#endif
break;
case ITEM_MOD_CRIT_MELEE_RATING:
ApplyRatingMod(CR_CRIT_MELEE, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MELEE_CRIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MELEE_CRIT", enchant_amount);
+#endif
break;
case ITEM_MOD_CRIT_RANGED_RATING:
ApplyRatingMod(CR_CRIT_RANGED, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RANGED_CRIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RANGED_CRIT", enchant_amount);
+#endif
break;
case ITEM_MOD_CRIT_SPELL_RATING:
ApplyRatingMod(CR_CRIT_SPELL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_CRIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_CRIT", enchant_amount);
+#endif
break;
// Values from ITEM_STAT_MELEE_HA_RATING to ITEM_MOD_HASTE_RANGED_RATING are never used
// in Enchantments
@@ -14370,13 +14521,17 @@ void Player::ApplyEnchantment(Item* item, EnchantmentSlot slot, bool apply, bool
ApplyRatingMod(CR_HIT_MELEE, enchant_amount, apply);
ApplyRatingMod(CR_HIT_RANGED, enchant_amount, apply);
ApplyRatingMod(CR_HIT_SPELL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HIT", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HIT", enchant_amount);
+#endif
break;
case ITEM_MOD_CRIT_RATING:
ApplyRatingMod(CR_CRIT_MELEE, enchant_amount, apply);
ApplyRatingMod(CR_CRIT_RANGED, enchant_amount, apply);
ApplyRatingMod(CR_CRIT_SPELL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u CRITICAL", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u CRITICAL", enchant_amount);
+#endif
break;
// Values ITEM_MOD_HIT_TAKEN_RATING and ITEM_MOD_CRIT_TAKEN_RATING are never used in Enchantment
// case ITEM_MOD_HIT_TAKEN_RATING:
@@ -14393,54 +14548,78 @@ void Player::ApplyEnchantment(Item* item, EnchantmentSlot slot, bool apply, bool
ApplyRatingMod(CR_CRIT_TAKEN_MELEE, enchant_amount, apply);
ApplyRatingMod(CR_CRIT_TAKEN_RANGED, enchant_amount, apply);
ApplyRatingMod(CR_CRIT_TAKEN_SPELL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RESILIENCE", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RESILIENCE", enchant_amount);
+#endif
break;
case ITEM_MOD_HASTE_RATING:
ApplyRatingMod(CR_HASTE_MELEE, enchant_amount, apply);
ApplyRatingMod(CR_HASTE_RANGED, enchant_amount, apply);
ApplyRatingMod(CR_HASTE_SPELL, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HASTE", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HASTE", enchant_amount);
+#endif
break;
case ITEM_MOD_EXPERTISE_RATING:
ApplyRatingMod(CR_EXPERTISE, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u EXPERTISE", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u EXPERTISE", enchant_amount);
+#endif
break;
case ITEM_MOD_ATTACK_POWER:
HandleStatModifier(UNIT_MOD_ATTACK_POWER, TOTAL_VALUE, float(enchant_amount), apply);
HandleStatModifier(UNIT_MOD_ATTACK_POWER_RANGED, TOTAL_VALUE, float(enchant_amount), apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u ATTACK_POWER", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u ATTACK_POWER", enchant_amount);
+#endif
break;
case ITEM_MOD_RANGED_ATTACK_POWER:
HandleStatModifier(UNIT_MOD_ATTACK_POWER_RANGED, TOTAL_VALUE, float(enchant_amount), apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RANGED_ATTACK_POWER", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u RANGED_ATTACK_POWER", enchant_amount);
+#endif
break;
// case ITEM_MOD_FERAL_ATTACK_POWER:
// ApplyFeralAPBonus(enchant_amount, apply);
-// ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u FERAL_ATTACK_POWER", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+// sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u FERAL_ATTACK_POWER", enchant_amount);
+#endif
// break;
case ITEM_MOD_MANA_REGENERATION:
ApplyManaRegenBonus(enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MANA_REGENERATION", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u MANA_REGENERATION", enchant_amount);
+#endif
break;
case ITEM_MOD_ARMOR_PENETRATION_RATING:
ApplyRatingMod(CR_ARMOR_PENETRATION, enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u ARMOR PENETRATION", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u ARMOR PENETRATION", enchant_amount);
+#endif
break;
case ITEM_MOD_SPELL_POWER:
ApplySpellPowerBonus(enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_POWER", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_POWER", enchant_amount);
+#endif
break;
case ITEM_MOD_HEALTH_REGEN:
ApplyHealthRegenBonus(enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HEALTH_REGENERATION", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u HEALTH_REGENERATION", enchant_amount);
+#endif
break;
case ITEM_MOD_SPELL_PENETRATION:
ApplySpellPenetrationBonus(enchant_amount, apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_PENETRATION", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u SPELL_PENETRATION", enchant_amount);
+#endif
break;
case ITEM_MOD_BLOCK_VALUE:
HandleBaseModValue(SHIELD_BLOCK_VALUE, FLAT_MOD, float(enchant_amount), apply);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u BLOCK_VALUE", enchant_amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "+ %u BLOCK_VALUE", enchant_amount);
+#endif
break;
case ITEM_MOD_SPELL_HEALING_DONE: // deprecated
case ITEM_MOD_SPELL_DAMAGE_DONE: // deprecated
@@ -15822,7 +16001,9 @@ bool Player::SatisfyQuestLog(bool msg)
{
WorldPacket data(SMSG_QUESTLOG_FULL, 0);
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTLOG_FULL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTLOG_FULL");
+#endif
}
return false;
}
@@ -15994,7 +16175,9 @@ bool Player::SatisfyQuestConditions(Quest const* qInfo, bool msg)
{
if (msg)
SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ);
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "Player::SatisfyQuestConditions: conditions not met for quest %u", qInfo->GetQuestId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "Player::SatisfyQuestConditions: conditions not met for quest %u", qInfo->GetQuestId());
+#endif
return false;
}
return true;
@@ -17056,14 +17239,18 @@ void Player::SendQuestComplete(uint32 quest_id)
WorldPacket data(SMSG_QUESTUPDATE_COMPLETE, 4);
data << uint32(quest_id);
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_COMPLETE quest = %u", quest_id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_COMPLETE quest = %u", quest_id);
+#endif
}
}
void Player::SendQuestReward(Quest const* quest, uint32 XP)
{
uint32 questid = quest->GetQuestId();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_COMPLETE quest = %u", questid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_COMPLETE quest = %u", questid);
+#endif
sGameEventMgr->HandleQuestComplete(questid);
WorldPacket data(SMSG_QUESTGIVER_QUEST_COMPLETE, (4+4+4+4+4));
data << uint32(questid);
@@ -17093,7 +17280,9 @@ void Player::SendQuestFailed(uint32 questId, InventoryResult reason)
data << uint32(questId);
data << uint32(reason); // failed reason (valid reasons: 4, 16, 50, 17, 74, other values show default message)
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_FAILED");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_FAILED");
+#endif
}
}
@@ -17104,7 +17293,9 @@ void Player::SendQuestTimerFailed(uint32 quest_id)
WorldPacket data(SMSG_QUESTUPDATE_FAILEDTIMER, 4);
data << uint32(quest_id);
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_FAILEDTIMER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_FAILEDTIMER");
+#endif
}
}
@@ -17113,7 +17304,9 @@ void Player::SendCanTakeQuestResponse(uint32 msg) const
WorldPacket data(SMSG_QUESTGIVER_QUEST_INVALID, 4);
data << uint32(msg);
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_INVALID");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTGIVER_QUEST_INVALID");
+#endif
}
void Player::SendQuestConfirmAccept(const Quest* quest, Player* pReceiver)
@@ -17134,7 +17327,9 @@ void Player::SendQuestConfirmAccept(const Quest* quest, Player* pReceiver)
data << uint64(GetGUID());
pReceiver->GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUEST_CONFIRM_ACCEPT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUEST_CONFIRM_ACCEPT");
+#endif
}
}
@@ -17146,14 +17341,18 @@ void Player::SendPushToPartyResponse(Player* player, uint8 msg)
data << uint64(player->GetGUID());
data << uint8(msg); // valid values: 0-8
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent MSG_QUEST_PUSH_RESULT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent MSG_QUEST_PUSH_RESULT");
+#endif
}
}
void Player::SendQuestUpdateAddItem(Quest const* /*quest*/, uint32 /*item_idx*/, uint16 /*count*/)
{
WorldPacket data(SMSG_QUESTUPDATE_ADD_ITEM, 0);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_ADD_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_ADD_ITEM");
+#endif
//data << quest->RequiredItemId[item_idx];
//data << count;
GetSession()->SendPacket(&data);
@@ -17169,7 +17368,9 @@ void Player::SendQuestUpdateAddCreatureOrGo(Quest const* quest, uint64 guid, uin
entry = (-entry) | 0x80000000;
WorldPacket data(SMSG_QUESTUPDATE_ADD_KILL, (4*4+8));
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_ADD_KILL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_ADD_KILL");
+#endif
data << uint32(quest->GetQuestId());
data << uint32(entry);
data << uint32(old_count + add_count);
@@ -17187,7 +17388,9 @@ void Player::SendQuestUpdateAddPlayer(Quest const* quest, uint16 old_count, uint
ASSERT(old_count + add_count < 65536 && "player count store in 16 bits");
WorldPacket data(SMSG_QUESTUPDATE_ADD_PVP_KILL, (3*4));
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_ADD_PVP_KILL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_QUESTUPDATE_ADD_PVP_KILL");
+#endif
data << uint32(quest->GetQuestId());
data << uint32(old_count + add_count);
data << uint32(quest->GetPlayersSlain());
@@ -17499,7 +17702,9 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
m_items[slot] = NULL;
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Load Basic value of player %s is: ", m_name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Load Basic value of player %s is: ", m_name.c_str());
+#endif
outDebugValues();
//Need to call it to initialize m_team (m_team can be calculated from race)
@@ -17680,7 +17885,9 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
{
if (GetSession()->Expansion() < mapEntry->Expansion())
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player %s using client without required expansion tried login at non accessible map %u", GetName().c_str(), mapId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player %s using client without required expansion tried login at non accessible map %u", GetName().c_str(), mapId);
+#endif
RelocateToHomebind();
}
@@ -17936,7 +18143,9 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
SetPower(Powers(i), savedPower > GetMaxPower(Powers(i)) ? GetMaxPower(Powers(i)) : savedPower);
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "The value of player %s after load item and aura is: ", m_name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "The value of player %s after load item and aura is: ", m_name.c_str());
+#endif
outDebugValues();
// GM state
@@ -18101,7 +18310,9 @@ void Player::_LoadActions(PreparedQueryResult result)
ab->uState = ACTIONBUTTON_UNCHANGED;
else
{
- ;//sLog->outError("ActionButton loading problem, will be deleted from db...");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outError("ActionButton loading problem, will be deleted from db...");
+#endif
// Will deleted in DB at next save (it can create data until save but marked as deleted)
m_actionButtons[button].uState = ACTIONBUTTON_DELETED;
@@ -18112,7 +18323,9 @@ void Player::_LoadActions(PreparedQueryResult result)
void Player::_LoadAuras(PreparedQueryResult result, uint32 timediff)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Loading auras for player %u", GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Loading auras for player %u", GetGUIDLow());
+#endif
/* 0 1 2 3 4 5 6 7 8 9 10
QueryResult* result = CharacterDatabase.PQuery("SELECT casterGuid, spell, effectMask, recalculateMask, stackCount, amount0, amount1, amount2, base_amount0, base_amount1, base_amount2,
@@ -18186,7 +18399,9 @@ void Player::_LoadAuras(PreparedQueryResult result, uint32 timediff)
aura->SetLoadedState(maxduration, remaintime, remaincharges, stackcount, recalculatemask, &damage[0]);
aura->ApplyForTargets();
- ;//sLog->outDetail("Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
+#endif
}
}
while (result->NextRow());
@@ -18386,24 +18601,29 @@ Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, F
// Do not allow to have item limited to another map/zone in alive state
if (IsAlive() && item->IsLimitedToAnotherMapOrZone(GetMapId(), zoneId))
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s', map: %u) has item (GUID: %u, entry: %u) limited to another map (%u). Deleting item.",
- // GetGUIDLow(), GetName().c_str(), GetMapId(), item->GetGUIDLow(), item->GetEntry(), zoneId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s', map: %u) has item (GUID: %u, entry: %u) limited to another map (%u). Deleting item.",
+ GetGUIDLow(), GetName().c_str(), GetMapId(), item->GetGUIDLow(), item->GetEntry(), zoneId);
+#endif
remove = true;
}
// "Conjured items disappear if you are logged out for more than 15 minutes"
else if (timeDiff > 15 * MINUTE && proto->Flags & ITEM_PROTO_FLAG_CONJURED)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s', diff: %u) has conjured item (GUID: %u, entry: %u) with expired lifetime (15 minutes). Deleting item.",
- // GetGUIDLow(), GetName().c_str(), timeDiff, item->GetGUIDLow(), item->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s', diff: %u) has conjured item (GUID: %u, entry: %u) with expired lifetime (15 minutes). Deleting item.",
+ GetGUIDLow(), GetName().c_str(), timeDiff, item->GetGUIDLow(), item->GetEntry());
+#endif
remove = true;
}
else if (item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_REFUNDABLE))
{
if (item->GetPlayedTime() > (2 * HOUR))
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s') has item (GUID: %u, entry: %u) with expired refund time (%u). Deleting refund data and removing refundable flag.",
- // GetGUIDLow(), GetName().c_str(), item->GetGUIDLow(), item->GetEntry(), item->GetPlayedTime());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s') has item (GUID: %u, entry: %u) with expired refund time (%u). Deleting refund data and removing refundable flag.",
+ GetGUIDLow(), GetName().c_str(), item->GetGUIDLow(), item->GetEntry(), item->GetPlayedTime());
+#endif
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE);
stmt->setUInt32(0, item->GetGUIDLow());
trans->Append(stmt);
@@ -18425,8 +18645,10 @@ Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, F
}
else
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s') has item (GUID: %u, entry: %u) with refundable flags, but without data in item_refund_instance. Removing flag.",
- // GetGUIDLow(), GetName().c_str(), item->GetGUIDLow(), item->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s') has item (GUID: %u, entry: %u) with refundable flags, but without data in item_refund_instance. Removing flag.",
+ GetGUIDLow(), GetName().c_str(), item->GetGUIDLow(), item->GetEntry());
+#endif
item->RemoveFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_REFUNDABLE);
}
}
@@ -18453,8 +18675,10 @@ Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, F
}
else
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s') has item (GUID: %u, entry: %u) with ITEM_FLAG_BOP_TRADEABLE flag, but without data in item_soulbound_trade_data. Removing flag.",
- // GetGUIDLow(), GetName().c_str(), item->GetGUIDLow(), item->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Player::_LoadInventory: player (GUID: %u, name: '%s') has item (GUID: %u, entry: %u) with ITEM_FLAG_BOP_TRADEABLE flag, but without data in item_soulbound_trade_data. Removing flag.",
+ GetGUIDLow(), GetName().c_str(), item->GetGUIDLow(), item->GetEntry());
+#endif
item->RemoveFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_BOP_TRADEABLE);
}
}
@@ -18800,7 +19024,9 @@ void Player::_LoadQuestStatus(PreparedQueryResult result)
++slot;
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Quest status is {%u} for quest {%u} for player (GUID: %u)", questStatusData.Status, quest_id, GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Quest status is {%u} for quest {%u} for player (GUID: %u)", questStatusData.Status, quest_id, GetGUIDLow());
+#endif
}
}
while (result->NextRow());
@@ -18891,7 +19117,9 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result)
SetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx, quest_id);
++quest_daily_idx;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Daily quest (%u) cooldown for player (GUID: %u)", quest_id, GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Daily quest (%u) cooldown for player (GUID: %u)", quest_id, GetGUIDLow());
+#endif
}
while (result->NextRow());
}
@@ -18914,7 +19142,9 @@ void Player::_LoadWeeklyQuestStatus(PreparedQueryResult result)
continue;
m_weeklyquests.insert(quest_id);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Weekly quest {%u} cooldown for player (GUID: %u)", quest_id, GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Weekly quest {%u} cooldown for player (GUID: %u)", quest_id, GetGUIDLow());
+#endif
}
while (result->NextRow());
}
@@ -18938,7 +19168,9 @@ void Player::_LoadSeasonalQuestStatus(PreparedQueryResult result)
continue;
m_seasonalquests[event_id].insert(quest_id);
- ;//sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Seasonal quest {%u} cooldown for player (GUID: %u)", quest_id, GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Seasonal quest {%u} cooldown for player (GUID: %u)", quest_id, GetGUIDLow());
+#endif
}
while (result->NextRow());
}
@@ -19254,9 +19486,10 @@ bool Player::_LoadHomeBind(PreparedQueryResult result)
CharacterDatabase.Execute(stmt);
}
- ;//sLog->outStaticDebug("Setting player home position - mapid: %u, areaid: %u, X: %f, Y: %f, Z: %f",
- // m_homebindMapId, m_homebindAreaId, m_homebindX, m_homebindY, m_homebindZ);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Setting player home position - mapid: %u, areaid: %u, X: %f, Y: %f, Z: %f",
+ m_homebindMapId, m_homebindAreaId, m_homebindX, m_homebindY, m_homebindZ);
+#endif
return true;
}
@@ -19280,7 +19513,9 @@ void Player::SaveToDB(bool create, bool logout)
// first save/honor gain after midnight will also update the player's honor fields
UpdateHonorFields();
- ;//sLog->outDebug(LOG_FILTER_UNITS, "The value of player %s at save: ", m_name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "The value of player %s at save: ", m_name.c_str());
+#endif
outDebugValues();
SQLTransaction trans = CharacterDatabase.BeginTransaction();
@@ -19989,18 +20224,20 @@ void Player::outDebugValues() const
if (!sLog->IsOutDebug()) // optimize disabled debug output
return;
- ;//sLog->outDebug(LOG_FILTER_UNITS, "HP is: \t\t\t%u\t\tMP is: \t\t\t%u", GetMaxHealth(), GetMaxPower(POWER_MANA));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "AGILITY is: \t\t%f\t\tSTRENGTH is: \t\t%f", GetStat(STAT_AGILITY), GetStat(STAT_STRENGTH));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "INTELLECT is: \t\t%f\t\tSPIRIT is: \t\t%f", GetStat(STAT_INTELLECT), GetStat(STAT_SPIRIT));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "STAMINA is: \t\t%f", GetStat(STAT_STAMINA));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Armor is: \t\t%u\t\tBlock is: \t\t%f", GetArmor(), GetFloatValue(PLAYER_BLOCK_PERCENTAGE));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "HolyRes is: \t\t%u\t\tFireRes is: \t\t%u", GetResistance(SPELL_SCHOOL_HOLY), GetResistance(SPELL_SCHOOL_FIRE));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "NatureRes is: \t\t%u\t\tFrostRes is: \t\t%u", GetResistance(SPELL_SCHOOL_NATURE), GetResistance(SPELL_SCHOOL_FROST));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "ShadowRes is: \t\t%u\t\tArcaneRes is: \t\t%u", GetResistance(SPELL_SCHOOL_SHADOW), GetResistance(SPELL_SCHOOL_ARCANE));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "MIN_DAMAGE is: \t\t%f\tMAX_DAMAGE is: \t\t%f", GetFloatValue(UNIT_FIELD_MINDAMAGE), GetFloatValue(UNIT_FIELD_MAXDAMAGE));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "MIN_OFFHAND_DAMAGE is: \t%f\tMAX_OFFHAND_DAMAGE is: \t%f", GetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE), GetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "MIN_RANGED_DAMAGE is: \t%f\tMAX_RANGED_DAMAGE is: \t%f", GetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE), GetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE));
- ;//sLog->outDebug(LOG_FILTER_UNITS, "ATTACK_TIME is: \t%u\t\tRANGE_ATTACK_TIME is: \t%u", GetAttackTime(BASE_ATTACK), GetAttackTime(RANGED_ATTACK));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "HP is: \t\t\t%u\t\tMP is: \t\t\t%u", GetMaxHealth(), GetMaxPower(POWER_MANA));
+ sLog->outDebug(LOG_FILTER_UNITS, "AGILITY is: \t\t%f\t\tSTRENGTH is: \t\t%f", GetStat(STAT_AGILITY), GetStat(STAT_STRENGTH));
+ sLog->outDebug(LOG_FILTER_UNITS, "INTELLECT is: \t\t%f\t\tSPIRIT is: \t\t%f", GetStat(STAT_INTELLECT), GetStat(STAT_SPIRIT));
+ sLog->outDebug(LOG_FILTER_UNITS, "STAMINA is: \t\t%f", GetStat(STAT_STAMINA));
+ sLog->outDebug(LOG_FILTER_UNITS, "Armor is: \t\t%u\t\tBlock is: \t\t%f", GetArmor(), GetFloatValue(PLAYER_BLOCK_PERCENTAGE));
+ sLog->outDebug(LOG_FILTER_UNITS, "HolyRes is: \t\t%u\t\tFireRes is: \t\t%u", GetResistance(SPELL_SCHOOL_HOLY), GetResistance(SPELL_SCHOOL_FIRE));
+ sLog->outDebug(LOG_FILTER_UNITS, "NatureRes is: \t\t%u\t\tFrostRes is: \t\t%u", GetResistance(SPELL_SCHOOL_NATURE), GetResistance(SPELL_SCHOOL_FROST));
+ sLog->outDebug(LOG_FILTER_UNITS, "ShadowRes is: \t\t%u\t\tArcaneRes is: \t\t%u", GetResistance(SPELL_SCHOOL_SHADOW), GetResistance(SPELL_SCHOOL_ARCANE));
+ sLog->outDebug(LOG_FILTER_UNITS, "MIN_DAMAGE is: \t\t%f\tMAX_DAMAGE is: \t\t%f", GetFloatValue(UNIT_FIELD_MINDAMAGE), GetFloatValue(UNIT_FIELD_MAXDAMAGE));
+ sLog->outDebug(LOG_FILTER_UNITS, "MIN_OFFHAND_DAMAGE is: \t%f\tMAX_OFFHAND_DAMAGE is: \t%f", GetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE), GetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE));
+ sLog->outDebug(LOG_FILTER_UNITS, "MIN_RANGED_DAMAGE is: \t%f\tMAX_RANGED_DAMAGE is: \t%f", GetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE), GetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE));
+ sLog->outDebug(LOG_FILTER_UNITS, "ATTACK_TIME is: \t%u\t\tRANGE_ATTACK_TIME is: \t%u", GetAttackTime(BASE_ATTACK), GetAttackTime(RANGED_ATTACK));
+#endif
}
/*********************************************************/
@@ -20398,7 +20635,9 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent)
if (!pet->IsAlive() && mode == PET_SAVE_AS_CURRENT && pet->getPetType() == HUNTER_PET)
mode = PET_SAVE_NOT_IN_SLOT;
- ;//sLog->outDebug(LOG_FILTER_PETS, "RemovePet %u, %u, %u", pet->GetEntry(), mode, returnreagent);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PETS, "RemovePet %u, %u, %u", pet->GetEntry(), mode, returnreagent);
+#endif
if (pet->m_removed)
return;
}
@@ -20561,7 +20800,9 @@ void Player::PetSpellInitialize()
if (!pet)
return;
- ;//sLog->outDebug(LOG_FILTER_PETS, "Pet Spells Groups");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PETS, "Pet Spells Groups");
+#endif
CharmInfo* charmInfo = pet->GetCharmInfo();
@@ -20673,7 +20914,9 @@ void Player::VehicleSpellInitialize()
ConditionList conditions = sConditionMgr->GetConditionsForVehicleSpell(vehicle->GetEntry(), spellId);
if (!sConditionMgr->IsObjectMeetToConditions(this, vehicle, conditions))
{
- ;//sLog->outDebug(LOG_FILTER_CONDITIONSYS, "VehicleSpellInitialize: conditions not met for Vehicle entry %u spell %u", vehicle->ToCreature()->GetEntry(), spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "VehicleSpellInitialize: conditions not met for Vehicle entry %u spell %u", vehicle->ToCreature()->GetEntry(), spellId);
+#endif
data << uint16(0) << uint8(0) << uint8(i+8);
continue;
}
@@ -20821,7 +21064,9 @@ class MageSpellModPred
void Player::AddSpellMod(SpellModifier* mod, bool apply)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Player::AddSpellMod %d", mod->spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Player::AddSpellMod %d", mod->spellId);
+#endif
uint16 Opcode = (mod->type == SPELLMOD_FLAT) ? SMSG_SET_FLAT_SPELL_MODIFIER : SMSG_SET_PCT_SPELL_MODIFIER;
int i = 0;
@@ -21382,7 +21627,9 @@ void Player::ContinueTaxiFlight()
if (!sourceNode)
return;
- ;//sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Restart character %u taxi flight", GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Restart character %u taxi flight", GetGUIDLow());
+#endif
uint32 mountDisplayId = sObjectMgr->GetTaxiMountDisplayId(sourceNode, GetTeamId(true), true);
if (!mountDisplayId)
@@ -21637,7 +21884,9 @@ bool Player::BuyItemFromVendorSlot(uint64 vendorguid, uint32 vendorslot, uint32
Creature* creature = GetNPCIfCanInteractWith(vendorguid, UNIT_NPC_FLAG_VENDOR);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: BuyItemFromVendor - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(vendorguid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: BuyItemFromVendor - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(vendorguid)));
+#endif
SendBuyError(BUY_ERR_DISTANCE_TOO_FAR, NULL, item, 0);
return false;
}
@@ -21829,7 +22078,9 @@ void Player::UpdateHomebindTime(uint32 time)
data << uint32(m_HomebindTimer);
data << uint32(1);
GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_MAPS, "PLAYER: Player '%s' (GUID: %u) will be teleported to homebind in 60 seconds", GetName().c_str(), GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "PLAYER: Player '%s' (GUID: %u) will be teleported to homebind in 60 seconds", GetName().c_str(), GetGUIDLow());
+#endif
}
}
@@ -22144,7 +22395,9 @@ bool Player::EnchantmentFitsRequirements(uint32 enchantmentcondition, int8 slot)
}
}
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Checking Condition %u, there are %u Meta Gems, %u Red Gems, %u Yellow Gems and %u Blue Gems, Activate:%s", enchantmentcondition, curcount[0], curcount[1], curcount[2], curcount[3], activate ? "yes" : "no");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Checking Condition %u, there are %u Meta Gems, %u Red Gems, %u Yellow Gems and %u Blue Gems, Activate:%s", enchantmentcondition, curcount[0], curcount[1], curcount[2], curcount[3], activate ? "yes" : "no");
+#endif
return activate;
}
@@ -24230,7 +24483,9 @@ void Player::SetViewpoint(WorldObject* target, bool apply)
if (!IsInWorld() || IsDuringRemoveFromWorld())
return;
- ;//sLog->outDebug(LOG_FILTER_MAPS, "Player::CreateViewpoint: Player %s create seer %u (TypeId: %u).", GetName().c_str(), target->GetEntry(), target->GetTypeId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "Player::CreateViewpoint: Player %s create seer %u (TypeId: %u).", GetName().c_str(), target->GetEntry(), target->GetTypeId());
+#endif
if (!AddUInt64Value(PLAYER_FARSIGHT, target->GetGUID()))
{
@@ -24249,7 +24504,9 @@ void Player::SetViewpoint(WorldObject* target, bool apply)
//must immediately set seer back otherwise may crash
m_seer = this;
- ;//sLog->outDebug(LOG_FILTER_MAPS, "Player::CreateViewpoint: Player %s remove seer", GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "Player::CreateViewpoint: Player %s remove seer", GetName().c_str());
+#endif
if (target->isType(TYPEMASK_UNIT) && !GetVehicle())
((Unit*)target)->RemovePlayerFromVision(this);
@@ -25086,7 +25343,9 @@ void Player::HandleFall(MovementInfo const& movementInfo)
}
//Z given by moveinfo, LastZ, FallTime, WaterZ, MapZ, Damage, Safefall reduction
- ;//sLog->outStaticDebug("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d", movementInfo.pos.GetPositionZ(), height, GetPositionZ(), movementInfo.fallTime, height, damage, safe_fall);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d", movementInfo.pos.GetPositionZ(), GetPositionZ(), movementInfo.fallTime, damage, safe_fall);
+#endif
}
// recheck alive, might have died of EnvironmentalDamage, avoid cases when player die in fact like Spirit of Redemption case
@@ -25384,7 +25643,9 @@ void Player::LearnPetTalent(uint64 petGuid, uint32 talentId, uint32 talentRank)
// learn! (other talent ranks will unlearned at learning)
pet->learnSpell(spellid);
- ;//sLog->outDetail("PetTalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PetTalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid);
+#endif
// update free talent points
pet->SetFreeTalentPoints(CurTalentPoints - (talentRank - curtalent_maxrank + 1));
@@ -26662,13 +26923,17 @@ void Player::SendRefundInfo(Item* item)
if (!item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_REFUNDABLE))
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item not refundable!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item not refundable!");
+#endif
return;
}
if (GetGUIDLow() != item->GetRefundRecipient()) // Formerly refundable item got traded
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item was traded!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item was traded!");
+#endif
item->SetNotRefundable(this);
return;
}
@@ -26676,7 +26941,9 @@ void Player::SendRefundInfo(Item* item)
ItemExtendedCostEntry const* iece = sItemExtendedCostStore.LookupEntry(item->GetPaidExtendedCost());
if (!iece)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: cannot find extendedcost data.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: cannot find extendedcost data.");
+#endif
return;
}
@@ -26722,7 +26989,9 @@ void Player::RefundItem(Item* item)
{
if (!item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_REFUNDABLE))
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item not refundable!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item not refundable!");
+#endif
return;
}
@@ -26738,7 +27007,9 @@ void Player::RefundItem(Item* item)
if (GetGUIDLow() != item->GetRefundRecipient()) // Formerly refundable item got traded
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item was traded!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: item was traded!");
+#endif
item->SetNotRefundable(this);
return;
}
@@ -26746,7 +27017,9 @@ void Player::RefundItem(Item* item)
ItemExtendedCostEntry const* iece = sItemExtendedCostStore.LookupEntry(item->GetPaidExtendedCost());
if (!iece)
{
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: cannot find extendedcost data.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item refund: cannot find extendedcost data.");
+#endif
return;
}
diff --git a/src/game/Entities/Player/SocialMgr.cpp b/src/game/Entities/Player/SocialMgr.cpp
index eb96a0ff8e..7319dbcac3 100644
--- a/src/game/Entities/Player/SocialMgr.cpp
+++ b/src/game/Entities/Player/SocialMgr.cpp
@@ -167,7 +167,9 @@ void PlayerSocial::SendSocialList(Player* player)
}
player->GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_CONTACT_LIST");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_CONTACT_LIST");
+#endif
}
bool PlayerSocial::HasFriend(uint32 friend_guid) const
diff --git a/src/game/Entities/Unit/Unit.cpp b/src/game/Entities/Unit/Unit.cpp
index 164775656b..06c5e75c98 100644
--- a/src/game/Entities/Unit/Unit.cpp
+++ b/src/game/Entities/Unit/Unit.cpp
@@ -789,10 +789,14 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
return 0;
}
- ;//sLog->outStaticDebug("DealDamageStart");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("DealDamageStart");
+#endif
uint32 health = victim->GetHealth();
- ;//sLog->outDetail("deal dmg:%d to health:%d ", damage, health);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("deal dmg:%d to health:%d ", damage, health);
+#endif
// duel ends when player has 1 or less hp
bool duel_hasEnded = false;
@@ -856,7 +860,9 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
if (health <= damage)
{
- ;//sLog->outStaticDebug("DealDamage: victim just died");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("DealDamage: victim just died");
+#endif
//if (attacker && victim->GetTypeId() == TYPEID_PLAYER && victim != attacker)
//victim->ToPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED, health); // pussywizard: optimization
@@ -865,7 +871,9 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
}
else
{
- ;//sLog->outStaticDebug("DealDamageAlive");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("DealDamageAlive");
+#endif
//if (victim->GetTypeId() == TYPEID_PLAYER)
// victim->ToPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED, damage); // pussywizard: optimization
@@ -956,7 +964,9 @@ uint32 Unit::DealDamage(Unit* attacker, Unit* victim, uint32 damage, CleanDamage
}
}
- ;//sLog->outStaticDebug("DealDamageEnd returned %d damage", damage);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("DealDamageEnd returned %d damage", damage);
+#endif
return damage;
}
@@ -1216,7 +1226,9 @@ void Unit::DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss)
SpellInfo const* spellProto = sSpellMgr->GetSpellInfo(damageInfo->SpellID);
if (spellProto == NULL)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "Unit::DealSpellDamage has wrong damageInfo->SpellID: %u", damageInfo->SpellID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "Unit::DealSpellDamage has wrong damageInfo->SpellID: %u", damageInfo->SpellID);
+#endif
return;
}
@@ -2149,10 +2161,14 @@ void Unit::AttackerStateUpdate (Unit* victim, WeaponAttackType attType, bool ext
ProcDamageAndSpell(damageInfo.target, damageInfo.procAttacker, damageInfo.procVictim, damageInfo.procEx, damageInfo.damage, damageInfo.attackType);
/*if (GetTypeId() == TYPEID_PLAYER)
- ;//sLog->outStaticDebug("AttackerStateUpdate: (Player) %u attacked %u (TypeId: %u) for %u dmg, absorbed %u, blocked %u, resisted %u.",
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("AttackerStateUpdate: (Player) %u attacked %u (TypeId: %u) for %u dmg, absorbed %u, blocked %u, resisted %u.",
+#endif
GetGUIDLow(), victim->GetGUIDLow(), victim->GetTypeId(), damageInfo.damage, damageInfo.absorb, damageInfo.blocked_amount, damageInfo.resist);
else
- ;//sLog->outStaticDebug("AttackerStateUpdate: (NPC) %u attacked %u (TypeId: %u) for %u dmg, absorbed %u, blocked %u, resisted %u.",
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("AttackerStateUpdate: (NPC) %u attacked %u (TypeId: %u) for %u dmg, absorbed %u, blocked %u, resisted %u.",
+#endif
GetGUIDLow(), victim->GetGUIDLow(), victim->GetTypeId(), damageInfo.damage, damageInfo.absorb, damageInfo.blocked_amount, damageInfo.resist);*/
}
}
@@ -2223,7 +2239,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
// always crit against a sitting target (except 0 crit chance)
if (victim->GetTypeId() == TYPEID_PLAYER && crit_chance > 0 && !victim->IsStandState())
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRIT (sitting victim)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRIT (sitting victim)");
+#endif
return MELEE_HIT_CRIT;
}
@@ -2257,7 +2275,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
&& ((tmp -= skillBonus) > 0)
&& roll < (sum += tmp))
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: DODGE <%d, %d)", sum-tmp, sum);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: DODGE <%d, %d)", sum-tmp, sum);
+#endif
return MELEE_HIT_DODGE;
}
}
@@ -2266,7 +2286,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
// check if attack comes from behind, nobody can parry or block if attacker is behind
if (!victim->HasInArc(M_PI, this) && !victim->HasAuraType(SPELL_AURA_IGNORE_HIT_DIRECTION))
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: attack came from behind.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: attack came from behind.");
+#endif
else
{
// Reduce parry chance by attacker expertise rating
@@ -2287,7 +2309,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
&& (tmp -= skillBonus) > 0
&& roll < (sum += tmp))
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: PARRY <%d, %d)", sum-tmp2, sum);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: PARRY <%d, %d)", sum-tmp, sum);
+#endif
return MELEE_HIT_PARRY;
}
}
@@ -2304,7 +2328,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
&& (tmp -= skillBonus) > 0
&& roll < (sum += tmp))
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: BLOCK <%d, %d)", sum-tmp, sum);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: BLOCK <%d, %d)", sum-tmp, sum);
+#endif
return MELEE_HIT_BLOCK;
}
}
@@ -2325,7 +2351,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
tmp = tmp > 4000 ? 4000 : tmp;
if (roll < (sum += tmp))
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: GLANCING <%d, %d)", sum-4000, sum);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: GLANCING <%d, %d)", sum-4000, sum);
+#endif
return MELEE_HIT_GLANCING;
}
}
@@ -2349,7 +2377,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
tmp = tmp * 200 - 1500;
if (roll < (sum += tmp))
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRUSHING <%d, %d)", sum-tmp, sum);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRUSHING <%d, %d)", sum-tmp, sum);
+#endif
return MELEE_HIT_CRUSHING;
}
}
@@ -2360,14 +2390,20 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(const Unit* victim, WeaponAttackTy
if (tmp > 0 && roll < (sum += tmp))
{
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRIT <%d, %d)", sum-tmp, sum);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRIT <%d, %d)", sum-tmp, sum);
+#endif
if (GetTypeId() == TYPEID_UNIT && (ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_CRIT))
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRIT DISABLED)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: CRIT DISABLED)");
+#endif
else
return MELEE_HIT_CRIT;
}
- ;//sLog->outStaticDebug ("RollMeleeOutcomeAgainst: NORMAL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("RollMeleeOutcomeAgainst: NORMAL");
+#endif
return MELEE_HIT_NORMAL;
}
@@ -2439,7 +2475,9 @@ void Unit::SendMeleeAttackStart(Unit* victim, Player* sendTo)
sendTo->SendDirectMessage(&data);
else
SendMessageToSet(&data, true);
- ;//sLog->outStaticDebug("WORLD: Sent SMSG_ATTACKSTART");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Sent SMSG_ATTACKSTART");
+#endif
}
void Unit::SendMeleeAttackStop(Unit* victim)
@@ -2453,12 +2491,19 @@ void Unit::SendMeleeAttackStop(Unit* victim)
data.append(victim ? victim->GetPackGUID() : 0);
data << uint32(0); //! Can also take the value 0x01, which seems related to updating rotation
SendMessageToSet(&data, true);
- ;//sLog->outStaticDebug("WORLD: Sent SMSG_ATTACKSTOP");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Sent SMSG_ATTACKSTOP");
+#endif
/*if (victim)
- ;//sLog->outDetail("%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow());
+#endif
else
- ;//sLog->outDetail("%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow());*/
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow());
+#endif
+*/
}
bool Unit::isSpellBlocked(Unit* victim, SpellInfo const* spellProto, WeaponAttackType attackType)
@@ -2617,7 +2662,9 @@ SpellMissInfo Unit::MeleeSpellHitResult(Unit* victim, SpellInfo const* spell)
case MELEE_HIT_BLOCK: canBlock = false; break;
case MELEE_HIT_PARRY: canParry = false; break;
default:
- ;//sLog->outStaticDebug("Spell %u SPELL_AURA_IGNORE_COMBAT_RESULT has unhandled state %d", (*i)->GetId(), (*i)->GetMiscValue());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Spell %u SPELL_AURA_IGNORE_COMBAT_RESULT has unhandled state %d", (*i)->GetId(), (*i)->GetMiscValue());
+#endif
break;
}
}
@@ -3899,7 +3946,9 @@ void Unit::_UnapplyAura(AuraApplicationMap::iterator &i, AuraRemoveMode removeMo
aurApp->SetRemoveMode(removeMode);
Aura* aura = aurApp->GetBase();
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura %u now is remove mode %d", aura->GetId(), removeMode);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura %u now is remove mode %d", aura->GetId(), removeMode);
+#endif
// dead loop is killing the server probably
ASSERT(m_removedAurasCount < 0xFFFFFFFF);
@@ -4734,7 +4783,9 @@ void Unit::DelayOwnedAuras(uint32 spellId, uint64 caster, int32 delaytime)
// update for out of range group members (on 1 slot use)
aura->SetNeedClientUpdateForTargets();
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura %u partially interrupted on unit %u, new duration: %u ms", aura->GetId(), GetGUIDLow(), aura->GetDuration());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura %u partially interrupted on unit %u, new duration: %u ms", aura->GetId(), GetGUIDLow(), aura->GetDuration());
+#endif
}
}
}
@@ -5642,7 +5693,9 @@ void Unit::SendSpellDamageImmune(Unit* target, uint32 spellId)
void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Sending SMSG_ATTACKERSTATEUPDATE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Sending SMSG_ATTACKERSTATEUPDATE");
+#endif
uint32 count = 1;
size_t maxsize = 4+5+5+4+4+1+4+4+4+4+4+1+4+4+4+4+4*12;
@@ -9686,7 +9739,9 @@ Unit* Unit::GetCharm() const
void Unit::SetMinion(Minion *minion, bool apply)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "SetMinion %u for %u, apply %u", minion->GetEntry(), GetEntry(), apply);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "SetMinion %u for %u, apply %u", minion->GetEntry(), GetEntry(), apply);
+#endif
if (apply)
{
@@ -13635,25 +13690,38 @@ int32 Unit::ModSpellDuration(SpellInfo const* spellProto, Unit const* target, in
return std::max(duration, 0);
}
-void Unit::ModSpellCastTime(SpellInfo const* spellProto, int32 & castTime, Spell* spell)
-{
- if (!spellProto || castTime < 0)
+void Unit::ModSpellCastTime(SpellInfo const* spellInfo, int32 & castTime, Spell* spell)
+{
+ if (!spellInfo || castTime < 0)
return;
+
+ if (spellInfo->IsChanneled() && !(spellInfo->AttributesEx5 & SPELL_ATTR5_HASTE_AFFECT_DURATION))
+ return;
+
// called from caster
if (Player* modOwner = GetSpellModOwner())
- modOwner->ApplySpellMod(spellProto->Id, SPELLMOD_CASTING_TIME, castTime, spell, bool(modOwner != this && !IsPet()));
+ // TODO:(MadAgos) Eventually check and delete the bool argument
+ modOwner->ApplySpellMod(spellInfo->Id, SPELLMOD_CASTING_TIME, castTime, spell, bool(modOwner != this && !IsPet()));
- if (!spellProto->HasAttribute(SpellAttr0(SPELL_ATTR0_ABILITY|SPELL_ATTR0_TRADESPELL)) && (spellProto->SpellFamilyName || GetTypeId() != TYPEID_PLAYER))
+ switch (spellInfo->DmgClass)
{
- if (CanInstantCast())
- castTime = 0;
- else
+ case SPELL_DAMAGE_CLASS_NONE:
+ if (spellInfo->AttributesEx5 & SPELL_ATTR5_HASTE_AFFECT_DURATION) // required double check
castTime = int32(float(castTime) * GetFloatValue(UNIT_MOD_CAST_SPEED));
- }
- else if (spellProto->HasAttribute(SPELL_ATTR0_REQ_AMMO) && !spellProto->HasAttribute(SPELL_ATTR2_AUTOREPEAT_FLAG))
+ else if (spellInfo->SpellVisual[0] == 3881 && HasAura(67556)) // cooking with Chef Hat.
+ castTime = 500;
+ break;
+ case SPELL_DAMAGE_CLASS_MELEE:
+ break; // no known cases
+ case SPELL_DAMAGE_CLASS_MAGIC:
+ castTime = int32(float(castTime) * GetFloatValue(UNIT_MOD_CAST_SPEED));
+ break;
+ case SPELL_DAMAGE_CLASS_RANGED:
castTime = int32(float(castTime) * m_modAttackSpeedPct[RANGED_ATTACK]);
- else if (spellProto->SpellVisual[0] == 3881 && HasAura(67556)) // cooking with Chef Hat.
- castTime = 500;
+ break;
+ default:
+ break;
+ }
}
DiminishingLevels Unit::GetDiminishing(DiminishingGroup group)
@@ -15013,7 +15081,9 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
// "handled" is needed as long as proc can be handled in multiple places
if (!handled && HandleAuraProc(target, damage, i->aura, procSpell, procFlag, procExtra, cooldown, &handled))
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell %u (triggered with value by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell %u (triggered with value by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), Id);
+#endif
takeCharges = true;
}
@@ -15037,7 +15107,9 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
{
case SPELL_AURA_PROC_TRIGGER_SPELL:
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell %u (triggered by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell %u (triggered by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#endif
// Don`t drop charge or add cooldown for not started trigger
if (HandleProcTriggerSpell(target, damage, triggeredByAura, procSpell, procFlag, procExtra, cooldown))
takeCharges = true;
@@ -15056,7 +15128,9 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
case SPELL_AURA_MANA_SHIELD:
case SPELL_AURA_DUMMY:
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell id %u (triggered by %s dummy aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell id %u (triggered by %s dummy aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#endif
if (HandleDummyAuraProc(target, damage, triggeredByAura, procSpell, procFlag, procExtra, cooldown))
takeCharges = true;
break;
@@ -15070,16 +15144,19 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
break;
case SPELL_AURA_OVERRIDE_CLASS_SCRIPTS:
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell id %u (triggered by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell id %u (triggered by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#endif
if (HandleOverrideClassScriptAuraProc(target, damage, triggeredByAura, procSpell, cooldown))
takeCharges = true;
break;
}
case SPELL_AURA_RAID_PROC_FROM_CHARGE_WITH_VALUE:
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting mending (triggered by %s dummy aura of spell %u)",
- // (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting mending (triggered by %s dummy aura of spell %u)",
+ (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#endif
if (damage > 0)
{
HandleAuraRaidProcFromChargeWithValue(triggeredByAura);
@@ -15089,16 +15166,19 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
}
case SPELL_AURA_RAID_PROC_FROM_CHARGE:
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting mending (triggered by %s dummy aura of spell %u)",
- // (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting mending (triggered by %s dummy aura of spell %u)",
+ (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#endif
HandleAuraRaidProcFromCharge(triggeredByAura);
takeCharges = true;
break;
}
case SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE:
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell %u (triggered with value by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "ProcDamageAndSpell: casting spell %u (triggered with value by %s aura of spell %u)", spellInfo->Id, (isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
+#endif
if (HandleProcTriggerSpell(target, damage, triggeredByAura, procSpell, procFlag, procExtra, cooldown))
takeCharges = true;
@@ -16072,7 +16152,9 @@ bool Unit::HandleAuraRaidProcFromChargeWithValue(AuraEffect* triggeredByAura)
// Currently only Prayer of Mending
if (!(spellProto->SpellFamilyName == SPELLFAMILY_PRIEST && spellProto->SpellFamilyFlags[1] & 0x20))
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Unit::HandleAuraRaidProcFromChargeWithValue, received not handled spell: %u", spellProto->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Unit::HandleAuraRaidProcFromChargeWithValue, received not handled spell: %u", spellProto->Id);
+#endif
return false;
}
@@ -16376,7 +16458,9 @@ void Unit::Kill(Unit* killer, Unit* victim, bool durabilityLoss, WeaponAttackTyp
if (!spiritOfRedemption)
{
- ;//sLog->outStaticDebug("SET JUST_DIED");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("SET JUST_DIED");
+#endif
victim->setDeathState(JUST_DIED);
}
@@ -16401,7 +16485,9 @@ void Unit::Kill(Unit* killer, Unit* victim, bool durabilityLoss, WeaponAttackTyp
// only if not player and not controlled by player pet. And not at BG
if ((durabilityLoss && !player && !plrVictim->InBattleground()) || (player && sWorld->getBoolConfig(CONFIG_DURABILITY_LOSS_IN_PVP)))
{
- ;//sLog->outStaticDebug("We are dead, losing %f percent durability", sWorld->getRate(RATE_DURABILITY_LOSS_ON_DEATH));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("We are dead, losing %f percent durability", sWorld->getRate(RATE_DURABILITY_LOSS_ON_DEATH));
+#endif
plrVictim->DurabilityLossAll(sWorld->getRate(RATE_DURABILITY_LOSS_ON_DEATH), false);
// durability lost message
WorldPacket data(SMSG_DURABILITY_DAMAGE_DEATH, 0);
@@ -16421,7 +16507,9 @@ void Unit::Kill(Unit* killer, Unit* victim, bool durabilityLoss, WeaponAttackTyp
}
else // creature died
{
- ;//sLog->outStaticDebug("DealDamageNotPlayer");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("DealDamageNotPlayer");
+#endif
if (!creature->IsPet() && creature->GetLootMode() > 0)
{
@@ -16822,7 +16910,9 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
throw 1;
ASSERT((type == CHARM_TYPE_VEHICLE) == IsVehicle());
- ;//sLog->outDebug(LOG_FILTER_UNITS, "SetCharmedBy: charmer %u (GUID %u), charmed %u (GUID %u), type %u.", charmer->GetEntry(), charmer->GetGUIDLow(), GetEntry(), GetGUIDLow(), uint32(type));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "SetCharmedBy: charmer %u (GUID %u), charmed %u (GUID %u), type %u.", charmer->GetEntry(), charmer->GetGUIDLow(), GetEntry(), GetGUIDLow(), uint32(type));
+#endif
if (this == charmer)
{
@@ -18030,7 +18120,9 @@ void Unit::_EnterVehicle(Vehicle* vehicle, int8 seatId, AuraApplication const* a
{
if (seatId >= 0 && seatId != GetTransSeat())
{
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "EnterVehicle: %u leave vehicle %u seat %d and enter %d.", GetEntry(), m_vehicle->GetBase()->GetEntry(), GetTransSeat(), seatId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "EnterVehicle: %u leave vehicle %u seat %d and enter %d.", GetEntry(), m_vehicle->GetBase()->GetEntry(), GetTransSeat(), seatId);
+#endif
ChangeSeat(seatId);
}
@@ -18038,7 +18130,9 @@ void Unit::_EnterVehicle(Vehicle* vehicle, int8 seatId, AuraApplication const* a
}
else
{
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "EnterVehicle: %u exit %u and enter %u.", GetEntry(), m_vehicle->GetBase()->GetEntry(), vehicle->GetBase()->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "EnterVehicle: %u exit %u and enter %u.", GetEntry(), m_vehicle->GetBase()->GetEntry(), vehicle->GetBase()->GetEntry());
+#endif
ExitVehicle();
}
}
@@ -18408,7 +18502,9 @@ void Unit::SendChangeCurrentVictimOpcode(HostileReference* pHostileReference)
{
uint32 count = getThreatManager().getThreatList().size();
- ;//sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Send SMSG_HIGHEST_THREAT_UPDATE Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Send SMSG_HIGHEST_THREAT_UPDATE Message");
+#endif
WorldPacket data(SMSG_HIGHEST_THREAT_UPDATE, 8 + 8 + count * 8);
data.append(GetPackGUID());
data.appendPackGUID(pHostileReference->getUnitGuid());
@@ -18425,7 +18521,9 @@ void Unit::SendChangeCurrentVictimOpcode(HostileReference* pHostileReference)
void Unit::SendClearThreatListOpcode()
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Send SMSG_THREAT_CLEAR Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Send SMSG_THREAT_CLEAR Message");
+#endif
WorldPacket data(SMSG_THREAT_CLEAR, 8);
data.append(GetPackGUID());
SendMessageToSet(&data, false);
@@ -18433,7 +18531,9 @@ void Unit::SendClearThreatListOpcode()
void Unit::SendRemoveFromThreatListOpcode(HostileReference* pHostileReference)
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Send SMSG_THREAT_REMOVE Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "WORLD: Send SMSG_THREAT_REMOVE Message");
+#endif
WorldPacket data(SMSG_THREAT_REMOVE, 8 + 8);
data.append(GetPackGUID());
data.appendPackGUID(pHostileReference->getUnitGuid());
diff --git a/src/game/Entities/Vehicle/Vehicle.cpp b/src/game/Entities/Vehicle/Vehicle.cpp
index d20b43171f..ef16117b2b 100644
--- a/src/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/game/Entities/Vehicle/Vehicle.cpp
@@ -100,7 +100,9 @@ void Vehicle::Uninstall()
return;
}
_status = STATUS_UNINSTALLING;
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Uninstall Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Uninstall Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+#endif
RemoveAllPassengers();
if (GetBase()->GetTypeId() == TYPEID_UNIT)
@@ -109,7 +111,9 @@ void Vehicle::Uninstall()
void Vehicle::Reset(bool evading /*= false*/)
{
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Reset Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Reset Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+#endif
if (_me->GetTypeId() == TYPEID_PLAYER)
{
if (_usableSeatNum)
@@ -193,7 +197,9 @@ void Vehicle::ApplyAllImmunities()
void Vehicle::RemoveAllPassengers()
{
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::RemoveAllPassengers. Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::RemoveAllPassengers. Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+#endif
// Passengers always cast an aura with SPELL_AURA_CONTROL_VEHICLE on the vehicle
// We just remove the aura and the unapply handler will make the target leave the vehicle.
@@ -262,7 +268,9 @@ void Vehicle::InstallAccessory(uint32 entry, int8 seatId, bool minion, uint8 typ
return;
}
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle: Installing accessory entry %u on vehicle entry %u (seat:%i)", entry, GetCreatureEntry(), seatId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle: Installing accessory entry %u on vehicle entry %u (seat:%i)", entry, GetCreatureEntry(), seatId);
+#endif
if (Unit* passenger = GetPassenger(seatId))
{
// already installed
@@ -301,9 +309,10 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
/// @Prevent adding passengers when vehicle is uninstalling. (Bad script in OnUninstall/OnRemovePassenger/PassengerBoarded hook.)
if (_status == STATUS_UNINSTALLING)
{
- ;//sLog->outError(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, attempting to board vehicle GuidLow: %u, Entry: %u during uninstall! SeatId: %i",
- // unit->GetGUIDLow(), unit->GetEntry(), _me->GetGUIDLow(), _me->GetEntry(), (int32)seatId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, attempting to board vehicle GuidLow: %u, Entry: %u during uninstall! SeatId: %i", unit->GetGUIDLow(), unit->GetEntry(), _me->GetGUIDLow(), _me->GetEntry(), (int32)seatId);
return false;
+#endif
}
if (unit->GetVehicle() != this)
@@ -336,7 +345,9 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
ASSERT(seat->second.IsEmpty());
}
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s enter vehicle entry %u id %u dbguid %u seat %d", unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s enter vehicle entry %u id %u dbguid %u seat %d", unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
+#endif
seat->second.Passenger.Guid = unit->GetGUID();
seat->second.Passenger.IsUnselectable = unit->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -445,7 +456,9 @@ void Vehicle::RemovePassenger(Unit* unit)
if (seat == Seats.end())
return;
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s exit vehicle entry %u id %u dbguid %u seat %d", unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s exit vehicle entry %u id %u dbguid %u seat %d", unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
+#endif
if (seat->second.SeatInfo->CanEnterOrExit() && ++_usableSeatNum)
_me->SetFlag(UNIT_NPC_FLAGS, (_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));
@@ -505,7 +518,9 @@ void Vehicle::Dismiss()
if (GetBase()->GetTypeId() != TYPEID_UNIT)
return;
- ;//sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Dismiss Entry: %u, GuidLow %u", _creatureEntry, _me->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Dismiss Entry: %u, GuidLow %u", _creatureEntry, _me->GetGUIDLow());
+#endif
Uninstall();
GetBase()->ToCreature()->DespawnOrUnsummon();
}
diff --git a/src/game/Events/GameEventMgr.cpp b/src/game/Events/GameEventMgr.cpp
index 5dc2c5158e..5092fa32c7 100644
--- a/src/game/Events/GameEventMgr.cpp
+++ b/src/game/Events/GameEventMgr.cpp
@@ -1096,13 +1096,17 @@ uint32 GameEventMgr::Update() // return the next e
nextEventDelay = 0;
for (std::set<uint16>::iterator itr = deactivate.begin(); itr != deactivate.end(); ++itr)
StopEvent(*itr);
- ;//sLog->outDetail("Next game event check in %u seconds.", nextEventDelay + 1);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Next game event check in %u seconds.", nextEventDelay + 1);
+#endif
return (nextEventDelay + 1) * IN_MILLISECONDS; // Add 1 second to be sure event has started/stopped at next call
}
void GameEventMgr::UnApplyEvent(uint16 event_id)
{
- ;//sLog->outDetail("GameEvent %u \"%s\" removed.", event_id, mGameEvent[event_id].description.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("GameEvent %u \"%s\" removed.", event_id, mGameEvent[event_id].description.c_str());
+#endif
//! Run SAI scripts with SMART_EVENT_GAME_EVENT_END
RunSmartAIScripts(event_id, false);
// un-spawn positive event tagged objects
@@ -1136,7 +1140,9 @@ void GameEventMgr::ApplyNewEvent(uint16 event_id)
break;
}
- ;//sLog->outDetail("GameEvent %u \"%s\" started.", event_id, mGameEvent[event_id].description.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("GameEvent %u \"%s\" started.", event_id, mGameEvent[event_id].description.c_str());
+#endif
//! Run SAI scripts with SMART_EVENT_GAME_EVENT_END
RunSmartAIScripts(event_id, true);
diff --git a/src/game/Globals/ObjectAccessor.cpp b/src/game/Globals/ObjectAccessor.cpp
index 03e1a856c3..904448bc65 100644
--- a/src/game/Globals/ObjectAccessor.cpp
+++ b/src/game/Globals/ObjectAccessor.cpp
@@ -313,7 +313,9 @@ Corpse* ObjectAccessor::ConvertCorpseForPlayer(uint64 player_guid, bool insignia
return NULL;
}
- ;//sLog->outStaticDebug("Deleting Corpse and spawned bones.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Deleting Corpse and spawned bones.");
+#endif
// Map can be NULL
Map* map = corpse->FindMap();
diff --git a/src/game/Globals/ObjectMgr.cpp b/src/game/Globals/ObjectMgr.cpp
index df975b2c23..f0e0b4a6c9 100644
--- a/src/game/Globals/ObjectMgr.cpp
+++ b/src/game/Globals/ObjectMgr.cpp
@@ -1865,7 +1865,9 @@ uint32 ObjectMgr::AddGOData(uint32 entry, uint32 mapId, float x, float y, float
}
}
- ;//sLog->outDebug(LOG_FILTER_MAPS, "AddGOData: dbguid %u entry %u map %u x %f y %f z %f o %f", guid, entry, mapId, x, y, z, o);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "AddGOData: dbguid %u entry %u map %u x %f y %f z %f o %f", guid, entry, mapId, x, y, z, o);
+#endif
return guid;
}
@@ -3108,7 +3110,9 @@ void ObjectMgr::LoadPetLevelInfo()
sLog->outErrorDb("Wrong (> %u) level %u in `pet_levelstats` table, ignoring.", STRONG_MAX_LEVEL, current_level);
else
{
- ;//sLog->outDetail("Unused (> MaxPlayerLevel in worldserver.conf) level %u in `pet_levelstats` table, ignoring.", current_level);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Unused (> MaxPlayerLevel in worldserver.conf) level %u in `pet_levelstats` table, ignoring.", current_level);
+#endif
++count; // make result loading percent "expected" correct in case disabled detail mode for example.
}
continue;
@@ -3609,7 +3613,9 @@ void ObjectMgr::LoadPlayerInfo()
sLog->outErrorDb("Wrong (> %u) level %u in `player_levelstats` table, ignoring.", STRONG_MAX_LEVEL, current_level);
else
{
- ;//sLog->outDetail("Unused (> MaxPlayerLevel in worldserver.conf) level %u in `player_levelstats` table, ignoring.", current_level);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Unused (> MaxPlayerLevel in worldserver.conf) level %u in `player_levelstats` table, ignoring.", current_level);
+#endif
++count; // make result loading percent "expected" correct in case disabled detail mode for example.
}
continue;
@@ -3711,7 +3717,9 @@ void ObjectMgr::LoadPlayerInfo()
sLog->outErrorDb("Wrong (> %u) level %u in `player_xp_for_level` table, ignoring.", STRONG_MAX_LEVEL, current_level);
else
{
- ;//sLog->outDetail("Unused (> MaxPlayerLevel in worldserver.conf) level %u in `player_xp_for_levels` table, ignoring.", current_level);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Unused (> MaxPlayerLevel in worldserver.conf) level %u in `player_xp_for_levels` table, ignoring.", current_level);
+#endif
++count; // make result loading percent "expected" correct in case disabled detail mode for example.
}
continue;
diff --git a/src/game/Grids/ObjectGridLoader.cpp b/src/game/Grids/ObjectGridLoader.cpp
index 013d2fc4e3..ca9748a84a 100644
--- a/src/game/Grids/ObjectGridLoader.cpp
+++ b/src/game/Grids/ObjectGridLoader.cpp
@@ -204,7 +204,9 @@ void ObjectGridLoader::LoadN(void)
}
}
}
- ;//sLog->outDebug(LOG_FILTER_MAPS, "%u GameObjects, %u Creatures, and %u Corpses/Bones loaded for grid %u on map %u", i_gameObjects, i_creatures, i_corpses, i_grid.GetGridId(), i_map->GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "%u GameObjects, %u Creatures, and %u Corpses/Bones loaded for grid %u on map %u", i_gameObjects, i_creatures, i_corpses, i_grid.GetGridId(), i_map->GetId());
+#endif
}
template<class T>
diff --git a/src/game/Groups/Group.cpp b/src/game/Groups/Group.cpp
index ebac30cfbd..1f1a16edd7 100644
--- a/src/game/Groups/Group.cpp
+++ b/src/game/Groups/Group.cpp
@@ -65,7 +65,9 @@ Group::~Group()
{
if (m_bgGroup)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Group::~Group: battleground group being deleted.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Group::~Group: battleground group being deleted.");
+#endif
if (m_bgGroup->GetBgRaid(TEAM_ALLIANCE) == this) m_bgGroup->SetBgRaid(TEAM_ALLIANCE, NULL);
else if (m_bgGroup->GetBgRaid(TEAM_HORDE) == this) m_bgGroup->SetBgRaid(TEAM_HORDE, NULL);
else sLog->outError("Group::~Group: battleground group is not linked to the correct battleground.");
@@ -1215,7 +1217,9 @@ void Group::NeedBeforeGreed(Loot* loot, WorldObject* lootedObject)
void Group::MasterLoot(Loot* loot, WorldObject* pLootedObject)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Group::MasterLoot (SMSG_LOOT_MASTER_LIST, 330)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Group::MasterLoot (SMSG_LOOT_MASTER_LIST, 330)");
+#endif
for (std::vector<LootItem>::iterator i = loot->items.begin(); i != loot->items.end(); ++i)
{
@@ -2009,7 +2013,9 @@ void Group::BroadcastGroupUpdate(void)
{
pp->ForceValuesUpdateAtIndex(UNIT_FIELD_BYTES_2);
pp->ForceValuesUpdateAtIndex(UNIT_FIELD_FACTIONTEMPLATE);
- ;//sLog->outStaticDebug("-- Forced group value update for '%s'", pp->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("-- Forced group value update for '%s'", pp->GetName().c_str());
+#endif
}
}
}
diff --git a/src/game/Guilds/Guild.cpp b/src/game/Guilds/Guild.cpp
index 325aa97592..9c3a093e24 100644
--- a/src/game/Guilds/Guild.cpp
+++ b/src/game/Guilds/Guild.cpp
@@ -92,8 +92,9 @@ void Guild::SendCommandResult(WorldSession* session, GuildCommandType type, Guil
data << uint32(errCode);
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_COMMAND_RESULT [%s]: Type: %u, code: %u, param: %s"
- // , session->GetPlayerInfo().c_str(), type, errCode, param.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_COMMAND_RESULT [%s]: Type: %u, code: %u, param: %s", session->GetPlayerInfo().c_str(), type, errCode, param.c_str());
+#endif
}
void Guild::SendSaveEmblemResult(WorldSession* session, GuildEmblemError errCode)
@@ -102,7 +103,9 @@ void Guild::SendSaveEmblemResult(WorldSession* session, GuildEmblemError errCode
data << uint32(errCode);
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_SAVE_GUILD_EMBLEM [%s] Code: %u", session->GetPlayerInfo().c_str(), errCode);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_SAVE_GUILD_EMBLEM [%s] Code: %u", session->GetPlayerInfo().c_str(), errCode);
+#endif
}
// LogHolder
@@ -561,13 +564,17 @@ void Guild::BankTab::SendText(Guild const* guild, WorldSession* session) const
if (session)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_QUERY_GUILD_BANK_TEXT [%s]: Tabid: %u, Text: %s"
- // , session->GetPlayerInfo().c_str(), m_tabId, m_text.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_QUERY_GUILD_BANK_TEXT [%s]: Tabid: %u, Text: %s"
+ , session->GetPlayerInfo().c_str(), m_tabId, m_text.c_str());
+#endif
session->SendPacket(&data);
}
else
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_QUERY_GUILD_BANK_TEXT [Broadcast]: Tabid: %u, Text: %s", m_tabId, m_text.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_QUERY_GUILD_BANK_TEXT [Broadcast]: Tabid: %u, Text: %s", m_tabId, m_text.c_str());
+#endif
guild->BroadcastPacket(&data);
}
}
@@ -953,8 +960,10 @@ Item* Guild::BankMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem)
ItemPosCount pos(*itr);
++itr;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "GUILD STORAGE: StoreItem tab = %u, slot = %u, item = %u, count = %u",
- // m_container, m_slotId, pItem->GetEntry(), pItem->GetCount());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "GUILD STORAGE: StoreItem tab = %u, slot = %u, item = %u, count = %u",
+ m_container, m_slotId, pItem->GetEntry(), pItem->GetCount());
+#endif
pLastItem = _StoreItem(trans, pTab, pItem, pos, itr != m_vec.end());
}
return pLastItem;
@@ -1056,9 +1065,10 @@ void Guild::BankMoveItemData::CanStoreItemInTab(Item* pItem, uint8 skipSlotId, b
InventoryResult Guild::BankMoveItemData::CanStore(Item* pItem, bool swap)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "GUILD STORAGE: CanStore() tab = %u, slot = %u, item = %u, count = %u",
- // m_container, m_slotId, pItem->GetEntry(), pItem->GetCount());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "GUILD STORAGE: CanStore() tab = %u, slot = %u, item = %u, count = %u",
+ m_container, m_slotId, pItem->GetEntry(), pItem->GetCount());
+#endif
uint32 count = pItem->GetCount();
// Soulbound items cannot be moved
if (pItem->IsSoulBound())
@@ -1154,9 +1164,10 @@ bool Guild::Create(Player* pLeader, std::string const& name)
m_createdDate = ::time(NULL);
_CreateLogHolders();
- ;//sLog->outDebug(LOG_FILTER_GUILD, "GUILD: creating guild [%s] for leader %s (%u)",
- // name.c_str(), pLeader->GetName().c_str(), GUID_LOPART(m_leaderGuid));
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "GUILD: creating guild [%s] for leader %s (%u)",
+ name.c_str(), pLeader->GetName().c_str(), GUID_LOPART(m_leaderGuid));
+#endif
SQLTransaction trans = CharacterDatabase.BeginTransaction();
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBERS);
@@ -1286,7 +1297,9 @@ void Guild::HandleRoster(WorldSession* session)
itr->second->WritePacket(data, _HasRankRight(session->GetPlayer(), GR_RIGHT_VIEWOFFNOTE));
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_ROSTER [%s]", session->GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_ROSTER [%s]", session->GetPlayerInfo().c_str());
+#endif
session->SendPacket(&data);
}
@@ -1309,7 +1322,9 @@ void Guild::HandleQuery(WorldSession* session)
data << uint32(_GetRanksSize()); // Number of ranks used
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_QUERY_RESPONSE [%s]", session->GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_QUERY_RESPONSE [%s]", session->GetPlayerInfo().c_str());
+#endif
}
void Guild::HandleSetMOTD(WorldSession* session, std::string const& motd)
@@ -1433,7 +1448,9 @@ void Guild::HandleSetRankInfo(WorldSession* session, uint8 rankId, std::string c
SendCommandResult(session, GUILD_COMMAND_CHANGE_RANK, ERR_GUILD_PERMISSIONS);
else if (RankInfo* rankInfo = GetRankInfo(rankId))
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "Changed RankName to '%s', rights to 0x%08X", name.c_str(), rights);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "Changed RankName to '%s', rights to 0x%08X", name.c_str(), rights);
+#endif
rankInfo->SetName(name);
rankInfo->SetRights(rights);
@@ -1519,7 +1536,9 @@ void Guild::HandleInviteMember(WorldSession* session, std::string const& name)
SendCommandResult(session, GUILD_COMMAND_INVITE, ERR_GUILD_COMMAND_SUCCESS, name);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "Player %s invited %s to join his Guild", player->GetName().c_str(), name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "Player %s invited %s to join his Guild", player->GetName().c_str(), name.c_str());
+#endif
pInvitee->SetGuildIdInvited(m_id);
_LogEvent(GUILD_EVENT_LOG_INVITE_PLAYER, player->GetGUIDLow(), pInvitee->GetGUIDLow());
@@ -1528,7 +1547,9 @@ void Guild::HandleInviteMember(WorldSession* session, std::string const& name)
data << player->GetName();
data << m_name;
pInvitee->GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_INVITE [%s]", pInvitee->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_INVITE [%s]", pInvitee->GetName().c_str());
+#endif
}
void Guild::HandleAcceptMember(WorldSession* session)
@@ -1787,7 +1808,9 @@ void Guild::HandleDisband(WorldSession* session)
if (_IsLeader(session->GetPlayer()))
{
Disband();
- ;//sLog->outDebug(LOG_FILTER_GUILD, "Guild Successfully Disbanded");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "Guild Successfully Disbanded");
+#endif
delete this;
}
}
@@ -1802,7 +1825,9 @@ void Guild::SendInfo(WorldSession* session) const
data << m_accountsNumber; // Number of accounts
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_INFO [%s]", session->GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_INFO [%s]", session->GetPlayerInfo().c_str());
+#endif
}
void Guild::SendEventLog(WorldSession* session) const
@@ -1810,7 +1835,9 @@ void Guild::SendEventLog(WorldSession* session) const
WorldPacket data(MSG_GUILD_EVENT_LOG_QUERY, 1 + m_eventLog->GetSize() * (1 + 8 + 4));
m_eventLog->WritePacket(data);
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_EVENT_LOG_QUERY [%s]", session->GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_EVENT_LOG_QUERY [%s]", session->GetPlayerInfo().c_str());
+#endif
}
void Guild::SendBankLog(WorldSession* session, uint8 tabId) const
@@ -1823,7 +1850,9 @@ void Guild::SendBankLog(WorldSession* session, uint8 tabId) const
data << uint8(tabId);
pLog->WritePacket(data);
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_LOG_QUERY [%s]", session->GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_LOG_QUERY [%s]", session->GetPlayerInfo().c_str());
+#endif
}
}
@@ -1864,7 +1893,9 @@ void Guild::SendPermissions(WorldSession* session) const
}
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_PERMISSIONS [%s] Rank: %u", session->GetPlayerInfo().c_str(), rankId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_PERMISSIONS [%s] Rank: %u", session->GetPlayerInfo().c_str(), rankId);
+#endif
}
void Guild::SendMoneyInfo(WorldSession* session) const
@@ -1877,7 +1908,9 @@ void Guild::SendMoneyInfo(WorldSession* session) const
WorldPacket data(MSG_GUILD_BANK_MONEY_WITHDRAWN, 4);
data << int32(amount);
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_MONEY_WITHDRAWN [%s] Money: %u", session->GetPlayerInfo().c_str(), amount);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_MONEY_WITHDRAWN [%s] Money: %u", session->GetPlayerInfo().c_str(), amount);
+#endif
}
void Guild::SendLoginInfo(WorldSession* session)
@@ -1888,7 +1921,9 @@ void Guild::SendLoginInfo(WorldSession* session)
data << m_motd;
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_EVENT [%s] MOTD", session->GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_EVENT [%s] MOTD", session->GetPlayerInfo().c_str());
+#endif
SendBankTabsInfo(session);
@@ -2825,7 +2860,9 @@ void Guild::_BroadcastEvent(GuildEvents guildEvent, uint64 guid, const char* par
data << uint64(guid);
BroadcastPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_EVENT [Broadcast] Event: %u", guildEvent);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_EVENT [Broadcast] Event: %u", guildEvent);
+#endif
}
void Guild::_SendBankList(WorldSession* session /* = NULL*/, uint8 tabId /*= 0*/, bool sendAllSlots /*= false*/, SlotIds *slots /*= NULL*/) const
@@ -2865,8 +2902,10 @@ void Guild::_SendBankList(WorldSession* session /* = NULL*/, uint8 tabId /*= 0*/
numSlots = _GetMemberRemainingSlots(member, tabId);
data.put<uint32>(rempos, numSlots);
session->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_BANK_LIST [%s]: TabId: %u, FullSlots: %u, slots: %d",
- // session->GetPlayerInfo().c_str(), tabId, sendAllSlots, numSlots);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_BANK_LIST [%s]: TabId: %u, FullSlots: %u, slots: %d",
+ session->GetPlayerInfo().c_str(), tabId, sendAllSlots, numSlots);
+#endif
}
else // TODO - Probably this is just sent to session + those that have sent CMSG_GUILD_BANKER_ACTIVATE
{
@@ -2881,8 +2920,10 @@ void Guild::_SendBankList(WorldSession* session /* = NULL*/, uint8 tabId /*= 0*/
uint32 numSlots = _GetMemberRemainingSlots(itr->second, tabId);
data.put<uint32>(rempos, numSlots);
player->GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_BANK_LIST [%s]: TabId: %u, FullSlots: %u, slots: %u"
- // , player->GetName().c_str(), tabId, sendAllSlots, numSlots);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "SMSG_GUILD_BANK_LIST [%s]: TabId: %u, FullSlots: %u, slots: %u"
+ , player->GetName().c_str(), tabId, sendAllSlots, numSlots);
+#endif
}
}
}
diff --git a/src/game/Handlers/AddonHandler.cpp b/src/game/Handlers/AddonHandler.cpp
index 697363e59a..452609d1b3 100644
--- a/src/game/Handlers/AddonHandler.cpp
+++ b/src/game/Handlers/AddonHandler.cpp
@@ -66,7 +66,9 @@ bool AddonHandler::BuildAddonPacket(WorldPacket* Source, WorldPacket* Target)
AddOnPacked >> enabled >> crc >> unk2;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk2);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk2);
+#endif
uint8 state = (enabled ? 2 : 1);
*Target << uint8(state);
@@ -120,7 +122,9 @@ bool AddonHandler::BuildAddonPacket(WorldPacket* Source, WorldPacket* Target)
*Target << uint32(count);
//if (AddOnPacked.rpos() != AddOnPacked.size())
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "packet under read!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "packet under read!");
+#endif
}
else
{
diff --git a/src/game/Handlers/ArenaTeamHandler.cpp b/src/game/Handlers/ArenaTeamHandler.cpp
index 3add4243b6..1095ff194c 100644
--- a/src/game/Handlers/ArenaTeamHandler.cpp
+++ b/src/game/Handlers/ArenaTeamHandler.cpp
@@ -19,11 +19,15 @@
void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_INSPECT_ARENA_TEAMS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_INSPECT_ARENA_TEAMS");
+#endif
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Inspect Arena stats (GUID: %u TypeId: %u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Inspect Arena stats (GUID: %u TypeId: %u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));
+#endif
if (Player* player = ObjectAccessor::FindPlayer(guid))
{
@@ -40,7 +44,9 @@ void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket & recvData)
void WorldSession::HandleArenaTeamQueryOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ARENA_TEAM_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ARENA_TEAM_QUERY");
+#endif
uint32 arenaTeamId;
recvData >> arenaTeamId;
@@ -54,7 +60,9 @@ void WorldSession::HandleArenaTeamQueryOpcode(WorldPacket & recvData)
void WorldSession::HandleArenaTeamRosterOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ARENA_TEAM_ROSTER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ARENA_TEAM_ROSTER");
+#endif
uint32 arenaTeamId; // arena team id
recvData >> arenaTeamId;
@@ -65,7 +73,9 @@ void WorldSession::HandleArenaTeamRosterOpcode(WorldPacket & recvData)
void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_INVITE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_INVITE");
+#endif
uint32 arenaTeamId; // arena team id
std::string invitedName;
@@ -135,7 +145,9 @@ void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket & recvData)
return;
}
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Player %s Invited %s to Join his ArenaTeam", GetPlayer()->GetName().c_str(), invitedName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Player %s Invited %s to Join his ArenaTeam", GetPlayer()->GetName().c_str(), invitedName.c_str());
+#endif
player->SetArenaTeamIdInvited(arenaTeam->GetId());
@@ -144,12 +156,16 @@ void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket & recvData)
data << arenaTeam->GetName();
player->GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_INVITE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ARENA_TEAM_INVITE");
+#endif
}
void WorldSession::HandleArenaTeamAcceptOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_ACCEPT"); // empty opcode
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_ACCEPT"); // empty opcode
+#endif
ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(_player->GetArenaTeamIdInvited());
if (!arenaTeam)
@@ -182,7 +198,9 @@ void WorldSession::HandleArenaTeamAcceptOpcode(WorldPacket & /*recvData*/)
void WorldSession::HandleArenaTeamDeclineOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_DECLINE"); // empty opcode
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_DECLINE"); // empty opcode
+#endif
// Remove invite from player
_player->SetArenaTeamIdInvited(0);
@@ -190,7 +208,9 @@ void WorldSession::HandleArenaTeamDeclineOpcode(WorldPacket & /*recvData*/)
void WorldSession::HandleArenaTeamLeaveOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_LEAVE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_LEAVE");
+#endif
uint32 arenaTeamId;
recvData >> arenaTeamId;
@@ -232,7 +252,9 @@ void WorldSession::HandleArenaTeamLeaveOpcode(WorldPacket & recvData)
void WorldSession::HandleArenaTeamDisbandOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_DISBAND");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_DISBAND");
+#endif
uint32 arenaTeamId;
recvData >> arenaTeamId;
@@ -254,7 +276,9 @@ void WorldSession::HandleArenaTeamDisbandOpcode(WorldPacket & recvData)
void WorldSession::HandleArenaTeamRemoveOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_REMOVE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_REMOVE");
+#endif
uint32 arenaTeamId;
std::string name;
@@ -304,7 +328,9 @@ void WorldSession::HandleArenaTeamRemoveOpcode(WorldPacket & recvData)
void WorldSession::HandleArenaTeamLeaderOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_LEADER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ARENA_TEAM_LEADER");
+#endif
uint32 arenaTeamId;
std::string name;
diff --git a/src/game/Handlers/AuctionHouseHandler.cpp b/src/game/Handlers/AuctionHouseHandler.cpp
index ad1ddce77d..d3d6a7446a 100644
--- a/src/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/game/Handlers/AuctionHouseHandler.cpp
@@ -29,7 +29,9 @@ void WorldSession::HandleAuctionHelloOpcode(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_AUCTIONEER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionHelloOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionHelloOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -141,7 +143,9 @@ void WorldSession::HandleAuctionSellItem(WorldPacket & recvData)
if (bid > MAX_MONEY_AMOUNT || buyout > MAX_MONEY_AMOUNT)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Player %s (GUID %u) attempted to sell item with higher price than max gold amount.", _player->GetName().c_str(), _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Player %s (GUID %u) attempted to sell item with higher price than max gold amount.", _player->GetName().c_str(), _player->GetGUIDLow());
+#endif
SendAuctionCommandResult(0, AUCTION_SELL_ITEM, ERR_AUCTION_DATABASE_ERROR);
return;
}
@@ -149,14 +153,18 @@ void WorldSession::HandleAuctionSellItem(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(auctioneer, UNIT_NPC_FLAG_AUCTIONEER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Unit (GUID: %u) not found or you can't interact with him.", GUID_LOPART(auctioneer));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Unit (GUID: %u) not found or you can't interact with him.", GUID_LOPART(auctioneer));
+#endif
return;
}
AuctionHouseEntry const* auctionHouseEntry = AuctionHouseMgr::GetAuctionHouseEntry(creature->getFaction());
if (!auctionHouseEntry)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Unit (GUID: %u) has wrong faction.", GUID_LOPART(auctioneer));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Unit (GUID: %u) has wrong faction.", GUID_LOPART(auctioneer));
+#endif
return;
}
@@ -274,7 +282,9 @@ void WorldSession::HandleAuctionSellItem(WorldPacket & recvData)
AH->deposit = deposit;
AH->auctionHouseEntry = auctionHouseEntry;
- ;//sLog->outDetail("CMSG_AUCTION_SELL_ITEM: Player %s (guid %d) is selling item %s entry %u (guid %d) to auctioneer %u with count %u with initial bid %u with buyout %u and with time %u (in sec) in auctionhouse %u", _player->GetName().c_str(), _player->GetGUIDLow(), item->GetTemplate()->Name1.c_str(), item->GetEntry(), item->GetGUIDLow(), AH->auctioneer, item->GetCount(), bid, buyout, auctionTime, AH->GetHouseId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("CMSG_AUCTION_SELL_ITEM: Player %s (guid %d) is selling item %s entry %u (guid %d) to auctioneer %u with count %u with initial bid %u with buyout %u and with time %u (in sec) in auctionhouse %u", _player->GetName().c_str(), _player->GetGUIDLow(), item->GetTemplate()->Name1.c_str(), item->GetEntry(), item->GetGUIDLow(), AH->auctioneer, item->GetCount(), bid, buyout, auctionTime, AH->GetHouseId());
+#endif
sAuctionMgr->AddAItem(item);
auctionHouse->AddAuction(AH);
@@ -314,7 +324,9 @@ void WorldSession::HandleAuctionSellItem(WorldPacket & recvData)
AH->deposit = deposit;
AH->auctionHouseEntry = auctionHouseEntry;
- ;//sLog->outDetail("CMSG_AUCTION_SELL_ITEM: Player %s (guid %d) is selling item %s entry %u (guid %d) to auctioneer %u with count %u with initial bid %u with buyout %u and with time %u (in sec) in auctionhouse %u", _player->GetName().c_str(), _player->GetGUIDLow(), newItem->GetTemplate()->Name1.c_str(), newItem->GetEntry(), newItem->GetGUIDLow(), AH->auctioneer, newItem->GetCount(), bid, buyout, auctionTime, AH->GetHouseId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("CMSG_AUCTION_SELL_ITEM: Player %s (guid %d) is selling item %s entry %u (guid %d) to auctioneer %u with count %u with initial bid %u with buyout %u and with time %u (in sec) in auctionhouse %u", _player->GetName().c_str(), _player->GetGUIDLow(), newItem->GetTemplate()->Name1.c_str(), newItem->GetEntry(), newItem->GetGUIDLow(), AH->auctioneer, newItem->GetCount(), bid, buyout, auctionTime, AH->GetHouseId());
+#endif
sAuctionMgr->AddAItem(newItem);
auctionHouse->AddAuction(AH);
@@ -363,7 +375,9 @@ void WorldSession::HandleAuctionSellItem(WorldPacket & recvData)
//this function is called when client bids or buys out auction
void WorldSession::HandleAuctionPlaceBid(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_PLACE_BID");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_PLACE_BID");
+#endif
uint64 auctioneer;
uint32 auctionId;
@@ -377,7 +391,9 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(auctioneer, UNIT_NPC_FLAG_AUCTIONEER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionPlaceBid - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(auctioneer)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionPlaceBid - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(auctioneer)));
+#endif
return;
}
@@ -489,7 +505,9 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket & recvData)
//this void is called when auction_owner cancels his auction
void WorldSession::HandleAuctionRemoveItem(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_REMOVE_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_REMOVE_ITEM");
+#endif
uint64 auctioneer;
uint32 auctionId;
@@ -500,7 +518,9 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(auctioneer, UNIT_NPC_FLAG_AUCTIONEER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionRemoveItem - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(auctioneer)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionRemoveItem - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(auctioneer)));
+#endif
return;
}
@@ -566,7 +586,9 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket & recvData)
//called when player lists his bids
void WorldSession::HandleAuctionListBidderItems(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_BIDDER_ITEMS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_BIDDER_ITEMS");
+#endif
uint64 guid; //NPC guid
uint32 listfrom; //page of auctions
@@ -584,7 +606,9 @@ void WorldSession::HandleAuctionListBidderItems(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_AUCTIONEER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionListBidderItems - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionListBidderItems - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
recvData.rfinish();
return;
}
@@ -638,7 +662,9 @@ void WorldSession::HandleAuctionListOwnerItems(WorldPacket & recvData)
void WorldSession::HandleAuctionListOwnerItemsEvent(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_OWNER_ITEMS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_OWNER_ITEMS");
+#endif
_lastAuctionListOwnerItemsMSTime = World::GetGameTimeMS(); // pussywizard
@@ -651,7 +677,9 @@ void WorldSession::HandleAuctionListOwnerItemsEvent(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_AUCTIONEER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionListOwnerItems - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionListOwnerItems - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -677,7 +705,9 @@ void WorldSession::HandleAuctionListOwnerItemsEvent(WorldPacket & recvData)
//this void is called when player clicks on search button
void WorldSession::HandleAuctionListItems(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_ITEMS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_ITEMS");
+#endif
std::string searchedname;
uint8 levelmin, levelmax, usable;
@@ -722,7 +752,9 @@ void WorldSession::HandleAuctionListItems(WorldPacket & recvData)
void WorldSession::HandleAuctionListPendingSales(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_PENDING_SALES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_AUCTION_LIST_PENDING_SALES");
+#endif
recvData.read_skip<uint64>();
diff --git a/src/game/Handlers/BattleGroundHandler.cpp b/src/game/Handlers/BattleGroundHandler.cpp
index 0a44ef087c..c1b10240c0 100644
--- a/src/game/Handlers/BattleGroundHandler.cpp
+++ b/src/game/Handlers/BattleGroundHandler.cpp
@@ -28,7 +28,9 @@ void WorldSession::HandleBattlemasterHelloOpcode(WorldPacket & recvData)
{
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_BATTLEMASTER_HELLO Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_BATTLEMASTER_HELLO Message from (GUID: %u TypeId:%u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));
+#endif
Creature* unit = GetPlayer()->GetMap()->GetCreature(guid);
if (!unit)
@@ -256,7 +258,9 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket & recvData)
void WorldSession::HandleBattlegroundPlayerPositionsOpcode(WorldPacket& /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd MSG_BATTLEGROUND_PLAYER_POSITIONS Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd MSG_BATTLEGROUND_PLAYER_POSITIONS Message");
+#endif
Battleground* bg = _player->GetBattleground();
if (!bg) // can't be received if player not in battleground
@@ -307,7 +311,9 @@ void WorldSession::HandleBattlegroundPlayerPositionsOpcode(WorldPacket& /*recvDa
void WorldSession::HandlePVPLogDataOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd MSG_PVP_LOG_DATA Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd MSG_PVP_LOG_DATA Message");
+#endif
Battleground* bg = _player->GetBattleground();
if (!bg)
@@ -321,12 +327,16 @@ void WorldSession::HandlePVPLogDataOpcode(WorldPacket & /*recvData*/)
sBattlegroundMgr->BuildPvpLogDataPacket(&data, bg);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent MSG_PVP_LOG_DATA Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent MSG_PVP_LOG_DATA Message");
+#endif
}
void WorldSession::HandleBattlefieldListOpcode(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_BATTLEFIELD_LIST Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_BATTLEFIELD_LIST Message");
+#endif
uint32 bgTypeId;
recvData >> bgTypeId; // id from DBC
@@ -469,7 +479,9 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket &recvData)
void WorldSession::HandleBattlefieldLeaveOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LEAVE_BATTLEFIELD Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LEAVE_BATTLEFIELD Message");
+#endif
recvData.read_skip<uint8>(); // unk1
recvData.read_skip<uint8>(); // unk2
@@ -772,11 +784,15 @@ void WorldSession::HandleReportPvPAFK(WorldPacket & recvData)
if (!reportedPlayer)
{
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "WorldSession::HandleReportPvPAFK: player not found");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "WorldSession::HandleReportPvPAFK: player not found");
+#endif
return;
}
- ;//sLog->outDebug(LOG_FILTER_BATTLEGROUND, "WorldSession::HandleReportPvPAFK: %s reported %s", _player->GetName().c_str(), reportedPlayer->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_BATTLEGROUND, "WorldSession::HandleReportPvPAFK: %s reported %s", _player->GetName().c_str(), reportedPlayer->GetName().c_str());
+#endif
reportedPlayer->ReportedAfkBy(_player);
}
diff --git a/src/game/Handlers/ChannelHandler.cpp b/src/game/Handlers/ChannelHandler.cpp
index d37402b226..9b0cddccfc 100644
--- a/src/game/Handlers/ChannelHandler.cpp
+++ b/src/game/Handlers/ChannelHandler.cpp
@@ -18,9 +18,9 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket)
recvPacket >> channelId >> unknown1 >> unknown2 >> channelName >> password;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_JOIN_CHANNEL %s Channel: %u, unk1: %u, unk2: %u, channel: %s, password: %s",
- // GetPlayerInfo().c_str(), channelId, unknown1, unknown2, channelName.c_str(), password.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_JOIN_CHANNEL %s Channel: %u, unk1: %u, unk2: %u, channel: %s, password: %s", GetPlayerInfo().c_str(), channelId, unknown1, unknown2, channelName.c_str(), password.c_str());
+#endif
if (channelId)
{
ChatChannelsEntry const* channel = sChatChannelsStore.LookupEntry(channelId);
@@ -56,9 +56,10 @@ void WorldSession::HandleLeaveChannel(WorldPacket& recvPacket)
std::string channelName;
recvPacket >> unk >> channelName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_LEAVE_CHANNEL %s Channel: %s, unk1: %u",
- // GetPlayerInfo().c_str(), channelName.c_str(), unk);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_LEAVE_CHANNEL %s Channel: %s, unk1: %u",
+ GetPlayerInfo().c_str(), channelName.c_str(), unk);
+#endif
if (channelName.empty())
return;
@@ -74,10 +75,11 @@ void WorldSession::HandleChannelList(WorldPacket& recvPacket)
std::string channelName;
recvPacket >> channelName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "%s %s Channel: %s",
- // recvPacket.GetOpcode() == CMSG_CHANNEL_DISPLAY_LIST ? "CMSG_CHANNEL_DISPLAY_LIST" : "CMSG_CHANNEL_LIST",
- // GetPlayerInfo().c_str(), channelName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "%s %s Channel: %s",
+ recvPacket.GetOpcode() == CMSG_CHANNEL_DISPLAY_LIST ? "CMSG_CHANNEL_DISPLAY_LIST" : "CMSG_CHANNEL_LIST",
+ GetPlayerInfo().c_str(), channelName.c_str());
+#endif
if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeamId()))
if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
channel->List(GetPlayer());
@@ -88,9 +90,10 @@ void WorldSession::HandleChannelPassword(WorldPacket& recvPacket)
std::string channelName, password;
recvPacket >> channelName >> password;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_PASSWORD %s Channel: %s, Password: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), password.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_PASSWORD %s Channel: %s, Password: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), password.c_str());
+#endif
if (password.length() > MAX_CHANNEL_PASS_STR)
return;
@@ -104,9 +107,10 @@ void WorldSession::HandleChannelSetOwner(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_SET_OWNER %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_SET_OWNER %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -120,9 +124,10 @@ void WorldSession::HandleChannelOwner(WorldPacket& recvPacket)
std::string channelName;
recvPacket >> channelName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_OWNER %s Channel: %s",
- // GetPlayerInfo().c_str(), channelName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_OWNER %s Channel: %s",
+ GetPlayerInfo().c_str(), channelName.c_str());
+#endif
if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeamId()))
if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
channel->SendWhoOwner(GetPlayer()->GetGUID());
@@ -133,9 +138,10 @@ void WorldSession::HandleChannelModerator(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_MODERATOR %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_MODERATOR %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -149,9 +155,10 @@ void WorldSession::HandleChannelUnmoderator(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_UNMODERATOR %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_UNMODERATOR %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -165,9 +172,10 @@ void WorldSession::HandleChannelMute(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_MUTE %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_MUTE %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -181,9 +189,10 @@ void WorldSession::HandleChannelUnmute(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_UNMUTE %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_UNMUTE %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -197,9 +206,10 @@ void WorldSession::HandleChannelInvite(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_INVITE %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_INVITE %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -213,9 +223,10 @@ void WorldSession::HandleChannelKick(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_KICK %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_KICK %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -229,9 +240,10 @@ void WorldSession::HandleChannelBan(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_BAN %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_BAN %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -245,9 +257,10 @@ void WorldSession::HandleChannelUnban(WorldPacket& recvPacket)
std::string channelName, targetName;
recvPacket >> channelName >> targetName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_UNBAN %s Channel: %s, Target: %s",
- // GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_UNBAN %s Channel: %s, Target: %s",
+ GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+#endif
if (!normalizePlayerName(targetName))
return;
@@ -261,9 +274,10 @@ void WorldSession::HandleChannelAnnouncements(WorldPacket& recvPacket)
std::string channelName;
recvPacket >> channelName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_ANNOUNCEMENTS %s Channel: %s",
- // GetPlayerInfo().c_str(), channelName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_CHANNEL_ANNOUNCEMENTS %s Channel: %s",
+ GetPlayerInfo().c_str(), channelName.c_str());
+#endif
if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeamId()))
if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
channel->Announce(GetPlayer());
@@ -280,9 +294,10 @@ void WorldSession::HandleGetChannelMemberCount(WorldPacket &recvPacket)
std::string channelName;
recvPacket >> channelName;
- ;//sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_GET_CHANNEL_MEMBER_COUNT %s Channel: %s",
- // GetPlayerInfo().c_str(), channelName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, "CMSG_GET_CHANNEL_MEMBER_COUNT %s Channel: %s",
+ GetPlayerInfo().c_str(), channelName.c_str());
+#endif
if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeamId()))
{
if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
diff --git a/src/game/Handlers/CharacterHandler.cpp b/src/game/Handlers/CharacterHandler.cpp
index 08e3017429..fb84c48af0 100644
--- a/src/game/Handlers/CharacterHandler.cpp
+++ b/src/game/Handlers/CharacterHandler.cpp
@@ -204,7 +204,9 @@ void WorldSession::HandleCharEnum(PreparedQueryResult result)
do
{
uint32 guidlow = (*result)[0].GetUInt32();
- ;//sLog->outDetail("Loading char guid %u from account %u.", guidlow, GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Loading char guid %u from account %u.", guidlow, GetAccountId());
+#endif
if (Player::BuildEnumData(result, &data))
{
_legitCharacters.insert(guidlow);
@@ -593,7 +595,9 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
{
uint8 unk;
createInfo->Data >> unk;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Character creation %s (account %u) has unhandled tail data: [%u]", createInfo->Name.c_str(), GetAccountId(), unk);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Character creation %s (account %u) has unhandled tail data: [%u]", createInfo->Name.c_str(), GetAccountId(), unk);
+#endif
}
// pussywizard:
@@ -651,7 +655,9 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
SendPacket(&data);
std::string IP_str = GetRemoteAddress();
- ;//sLog->outDetail("Account: %d (IP: %s) Create Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), createInfo->Name.c_str(), newChar.GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Account: %d (IP: %s) Create Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), createInfo->Name.c_str(), newChar.GetGUIDLow());
+#endif
sLog->outChar("Account: %d (IP: %s) Create Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), createInfo->Name.c_str(), newChar.GetGUIDLow());
sScriptMgr->OnPlayerCreate(&newChar);
sWorld->AddGlobalPlayerData(newChar.GetGUIDLow(), GetAccountId(), newChar.GetName(), newChar.getGender(), newChar.getRace(), newChar.getClass(), newChar.getLevel(), 0, 0);
@@ -710,7 +716,9 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket& recvData)
return;
std::string IP_str = GetRemoteAddress();
- ;//sLog->outDetail("Account: %d (IP: %s) Delete Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), name.c_str(), GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Account: %d (IP: %s) Delete Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), name.c_str(), GUID_LOPART(guid));
+#endif
sLog->outChar("Account: %d (IP: %s) Delete Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), name.c_str(), GUID_LOPART(guid));
sScriptMgr->OnPlayerDelete(guid);
@@ -916,13 +924,17 @@ void WorldSession::HandlePlayerLoginFromDB(LoginQueryHolder* holder)
data.put(0, linecount);
SendPacket(&data);
- ;//sLog->outStaticDebug("WORLD: Sent motd (SMSG_MOTD)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Sent motd (SMSG_MOTD)");
+#endif
// send server info
if (sWorld->getIntConfig(CONFIG_ENABLE_SINFO_LOGIN) == 1)
chH.PSendSysMessage(_FULLVERSION);
- ;//sLog->outStaticDebug("WORLD: Sent server info");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Sent server info");
+#endif
}
if (uint32 guildId = Player::GetGuildIdFromStorage(pCurrChar->GetGUIDLow()))
@@ -1072,9 +1084,12 @@ void WorldSession::HandlePlayerLoginFromDB(LoginQueryHolder* holder)
SendNotification(LANG_RESET_TALENTS);
}
- if (pCurrChar->HasAtLoginFlag(AT_LOGIN_FIRST))
+ if (pCurrChar->HasAtLoginFlag(AT_LOGIN_FIRST)) {
pCurrChar->RemoveAtLoginFlag(AT_LOGIN_FIRST);
+ sScriptMgr->OnFirstLogin(pCurrChar);
+ }
+
if (pCurrChar->HasAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS))
{
pCurrChar->RemoveAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS, true);
@@ -1211,13 +1226,17 @@ void WorldSession::HandlePlayerLoginToCharInWorld(Player* pCurrChar)
data.put(0, linecount);
SendPacket(&data);
- ;//sLog->outStaticDebug("WORLD: Sent motd (SMSG_MOTD)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Sent motd (SMSG_MOTD)");
+#endif
// send server info
if (sWorld->getIntConfig(CONFIG_ENABLE_SINFO_LOGIN) == 1)
chH.PSendSysMessage(_FULLVERSION);
- ;//sLog->outStaticDebug("WORLD: Sent server info");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Sent server info");
+#endif
}
data.Initialize(SMSG_LEARNED_DANCE_MOVES, 4+4);
@@ -1316,7 +1335,9 @@ void WorldSession::HandlePlayerLoginToCharOutOfWorld(Player* pCurrChar)
void WorldSession::HandleSetFactionAtWar(WorldPacket& recvData)
{
- ;//sLog->outStaticDebug("WORLD: Received CMSG_SET_FACTION_ATWAR");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Received CMSG_SET_FACTION_ATWAR");
+#endif
uint32 repListID;
uint8 flag;
@@ -1364,7 +1385,9 @@ void WorldSession::HandleTutorialReset(WorldPacket & /*recvData*/)
void WorldSession::HandleSetWatchedFactionOpcode(WorldPacket& recvData)
{
- ;//sLog->outStaticDebug("WORLD: Received CMSG_SET_WATCHED_FACTION");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Received CMSG_SET_WATCHED_FACTION");
+#endif
uint32 fact;
recvData >> fact;
GetPlayer()->SetUInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX, fact);
@@ -1372,7 +1395,9 @@ void WorldSession::HandleSetWatchedFactionOpcode(WorldPacket& recvData)
void WorldSession::HandleSetFactionInactiveOpcode(WorldPacket & recvData)
{
- ;//sLog->outStaticDebug("WORLD: Received CMSG_SET_FACTION_INACTIVE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WORLD: Received CMSG_SET_FACTION_INACTIVE");
+#endif
uint32 replistid;
uint8 inactive;
recvData >> replistid >> inactive;
@@ -1382,14 +1407,18 @@ void WorldSession::HandleSetFactionInactiveOpcode(WorldPacket & recvData)
void WorldSession::HandleShowingHelmOpcode(WorldPacket& recvData)
{
- ;//sLog->outStaticDebug("CMSG_SHOWING_HELM for %s", _player->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("CMSG_SHOWING_HELM for %s", _player->GetName().c_str());
+#endif
recvData.read_skip<uint8>(); // unknown, bool?
_player->ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_HELM);
}
void WorldSession::HandleShowingCloakOpcode(WorldPacket& recvData)
{
- ;//sLog->outStaticDebug("CMSG_SHOWING_CLOAK for %s", _player->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("CMSG_SHOWING_CLOAK for %s", _player->GetName().c_str());
+#endif
recvData.read_skip<uint8>(); // unknown, bool?
_player->ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_HIDE_CLOAK);
}
@@ -1607,7 +1636,9 @@ void WorldSession::HandleSetPlayerDeclinedNames(WorldPacket& recvData)
void WorldSession::HandleAlterAppearance(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ALTER_APPEARANCE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ALTER_APPEARANCE");
+#endif
uint32 Hair, Color, FacialHair, SkinColor;
recvData >> Hair >> Color >> FacialHair >> SkinColor;
@@ -1684,7 +1715,9 @@ void WorldSession::HandleRemoveGlyph(WorldPacket& recvData)
if (slot >= MAX_GLYPH_SLOT_INDEX)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Client sent wrong glyph slot number in opcode CMSG_REMOVE_GLYPH %u", slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Client sent wrong glyph slot number in opcode CMSG_REMOVE_GLYPH %u", slot);
+#endif
return;
}
@@ -1844,7 +1877,9 @@ void WorldSession::HandleCharCustomize(WorldPacket& recvData)
void WorldSession::HandleEquipmentSetSave(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_EQUIPMENT_SET_SAVE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_EQUIPMENT_SET_SAVE");
+#endif
uint64 setGuid;
recvData.readPackGUID(setGuid);
@@ -1903,7 +1938,9 @@ void WorldSession::HandleEquipmentSetSave(WorldPacket &recvData)
void WorldSession::HandleEquipmentSetDelete(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_EQUIPMENT_SET_DELETE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_EQUIPMENT_SET_DELETE");
+#endif
uint64 setGuid;
recvData.readPackGUID(setGuid);
@@ -1913,7 +1950,9 @@ void WorldSession::HandleEquipmentSetDelete(WorldPacket &recvData)
void WorldSession::HandleEquipmentSetUse(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_EQUIPMENT_SET_USE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_EQUIPMENT_SET_USE");
+#endif
for (uint32 i = 0; i < EQUIPMENT_SLOT_END; ++i)
{
@@ -1923,7 +1962,9 @@ void WorldSession::HandleEquipmentSetUse(WorldPacket &recvData)
uint8 srcbag, srcslot;
recvData >> srcbag >> srcslot;
- ;//sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item " UI64FMTD ": srcbag %u, srcslot %u", itemGuid, srcbag, srcslot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "Item " UI64FMTD ": srcbag %u, srcslot %u", itemGuid, srcbag, srcslot);
+#endif
// check if item slot is set to "ignored" (raw value == 1), must not be unequipped then
if (itemGuid == 1)
diff --git a/src/game/Handlers/ChatHandler.cpp b/src/game/Handlers/ChatHandler.cpp
index 1a4b973151..c0f9c26590 100644
--- a/src/game/Handlers/ChatHandler.cpp
+++ b/src/game/Handlers/ChatHandler.cpp
@@ -699,7 +699,9 @@ void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recvData)
void WorldSession::HandleChannelDeclineInvite(WorldPacket &recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Opcode %u", recvPacket.GetOpcode());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Opcode %u", recvPacket.GetOpcode());
+#endif
}
void WorldSession::SendPlayerNotFoundNotice(std::string const& name)
diff --git a/src/game/Handlers/CombatHandler.cpp b/src/game/Handlers/CombatHandler.cpp
index 0d91902687..c59d10bdbd 100644
--- a/src/game/Handlers/CombatHandler.cpp
+++ b/src/game/Handlers/CombatHandler.cpp
@@ -21,7 +21,9 @@ void WorldSession::HandleAttackSwingOpcode(WorldPacket& recvData)
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_ATTACKSWING Message guidlow:%u guidhigh:%u", GUID_LOPART(guid), GUID_HIPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_ATTACKSWING Message guidlow:%u guidhigh:%u", GUID_LOPART(guid), GUID_HIPART(guid));
+#endif
Unit* pEnemy = ObjectAccessor::GetUnit(*_player, guid);
diff --git a/src/game/Handlers/DuelHandler.cpp b/src/game/Handlers/DuelHandler.cpp
index c33bac3dfd..4dbdf494bc 100644
--- a/src/game/Handlers/DuelHandler.cpp
+++ b/src/game/Handlers/DuelHandler.cpp
@@ -30,8 +30,12 @@ void WorldSession::HandleDuelAcceptedOpcode(WorldPacket& recvPacket)
return;
//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: Received CMSG_DUEL_ACCEPTED");
- ;//sLog->outStaticDebug("Player 1 is: %u (%s)", player->GetGUIDLow(), player->GetName().c_str());
- ;//sLog->outStaticDebug("Player 2 is: %u (%s)", plTarget->GetGUIDLow(), plTarget->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player 1 is: %u (%s)", player->GetGUIDLow(), player->GetName().c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player 2 is: %u (%s)", plTarget->GetGUIDLow(), plTarget->GetName().c_str());
+#endif
time_t now = time(NULL);
player->duel->startTimer = now;
@@ -43,7 +47,9 @@ void WorldSession::HandleDuelAcceptedOpcode(WorldPacket& recvPacket)
void WorldSession::HandleDuelCancelledOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DUEL_CANCELLED");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DUEL_CANCELLED");
+#endif
uint64 guid;
recvPacket >> guid;
diff --git a/src/game/Handlers/GroupHandler.cpp b/src/game/Handlers/GroupHandler.cpp
index bac0073b6f..99bbfef0c5 100644
--- a/src/game/Handlers/GroupHandler.cpp
+++ b/src/game/Handlers/GroupHandler.cpp
@@ -47,7 +47,9 @@ void WorldSession::SendPartyResult(PartyOperation operation, const std::string&
void WorldSession::HandleGroupInviteOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_INVITE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_INVITE");
+#endif
std::string membername;
recvData >> membername;
@@ -196,7 +198,9 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupAcceptOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_ACCEPT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_ACCEPT");
+#endif
recvData.read_skip<uint32>();
Group* group = GetPlayer()->GetGroupInvite();
@@ -254,7 +258,9 @@ void WorldSession::HandleGroupAcceptOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupDeclineOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_DECLINE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_DECLINE");
+#endif
Group* group = GetPlayer()->GetGroupInvite();
if (!group)
@@ -277,7 +283,9 @@ void WorldSession::HandleGroupDeclineOpcode(WorldPacket & /*recvData*/)
void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_UNINVITE_GUID");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_UNINVITE_GUID");
+#endif
uint64 guid;
std::string reason, name;
@@ -335,7 +343,9 @@ void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupUninviteOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_UNINVITE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_UNINVITE");
+#endif
std::string membername;
recvData >> membername;
@@ -379,7 +389,9 @@ void WorldSession::HandleGroupUninviteOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupSetLeaderOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_SET_LEADER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_SET_LEADER");
+#endif
uint64 guid;
recvData >> guid;
@@ -400,7 +412,9 @@ void WorldSession::HandleGroupSetLeaderOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupDisbandOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_DISBAND");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_DISBAND");
+#endif
Group* grp = GetPlayer()->GetGroup();
if (!grp)
@@ -423,7 +437,9 @@ void WorldSession::HandleGroupDisbandOpcode(WorldPacket & /*recvData*/)
void WorldSession::HandleLootMethodOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_LOOT_METHOD");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_LOOT_METHOD");
+#endif
uint32 lootMethod;
uint64 lootMaster;
@@ -484,7 +500,9 @@ void WorldSession::HandleLootRoll(WorldPacket& recvData)
void WorldSession::HandleMinimapPingOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_MINIMAP_PING");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_MINIMAP_PING");
+#endif
if (!GetPlayer()->GetGroup())
return;
@@ -508,7 +526,9 @@ void WorldSession::HandleMinimapPingOpcode(WorldPacket& recvData)
void WorldSession::HandleRandomRollOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_RANDOM_ROLL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_RANDOM_ROLL");
+#endif
uint32 minimum, maximum, roll;
recvData >> minimum;
@@ -537,7 +557,9 @@ void WorldSession::HandleRandomRollOpcode(WorldPacket& recvData)
void WorldSession::HandleRaidTargetUpdateOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_RAID_TARGET_UPDATE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_RAID_TARGET_UPDATE");
+#endif
Group* group = GetPlayer()->GetGroup();
if (!group)
@@ -576,7 +598,9 @@ void WorldSession::HandleRaidTargetUpdateOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupRaidConvertOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_RAID_CONVERT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_RAID_CONVERT");
+#endif
Group* group = GetPlayer()->GetGroup();
if (!group)
@@ -597,7 +621,9 @@ void WorldSession::HandleGroupRaidConvertOpcode(WorldPacket & /*recvData*/)
void WorldSession::HandleGroupChangeSubGroupOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_CHANGE_SUB_GROUP");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_CHANGE_SUB_GROUP");
+#endif
// we will get correct pointer for group here, so we don't have to check if group is BG raid
Group* group = GetPlayer()->GetGroup();
@@ -636,7 +662,9 @@ void WorldSession::HandleGroupChangeSubGroupOpcode(WorldPacket& recvData)
void WorldSession::HandleGroupAssistantLeaderOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_ASSISTANT_LEADER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GROUP_ASSISTANT_LEADER");
+#endif
Group* group = GetPlayer()->GetGroup();
if (!group)
@@ -657,7 +685,9 @@ void WorldSession::HandleGroupAssistantLeaderOpcode(WorldPacket& recvData)
void WorldSession::HandlePartyAssignmentOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_PARTY_ASSIGNMENT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_PARTY_ASSIGNMENT");
+#endif
Group* group = GetPlayer()->GetGroup();
if (!group)
@@ -691,7 +721,9 @@ void WorldSession::HandlePartyAssignmentOpcode(WorldPacket& recvData)
void WorldSession::HandleRaidReadyCheckOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_RAID_READY_CHECK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_RAID_READY_CHECK");
+#endif
Group* group = GetPlayer()->GetGroup();
if (!group)
@@ -1065,12 +1097,16 @@ void WorldSession::HandleRequestPartyMemberStatsOpcode(WorldPacket &recvData)
/*void WorldSession::HandleGroupCancelOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug("WORLD: got CMSG_GROUP_CANCEL.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug("WORLD: got CMSG_GROUP_CANCEL.");
+#endif
}*/
void WorldSession::HandleOptOutOfLootOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_OPT_OUT_OF_LOOT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_OPT_OUT_OF_LOOT");
+#endif
uint32 passOnLoot;
recvData >> passOnLoot; // 1 always pass, 0 do not pass
diff --git a/src/game/Handlers/GuildHandler.cpp b/src/game/Handlers/GuildHandler.cpp
index 874c95d9f4..c76126ff02 100644
--- a/src/game/Handlers/GuildHandler.cpp
+++ b/src/game/Handlers/GuildHandler.cpp
@@ -21,7 +21,9 @@ void WorldSession::HandleGuildQueryOpcode(WorldPacket& recvPacket)
uint32 guildId;
recvPacket >> guildId;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_QUERY [%s]: Guild: %u", GetPlayerInfo().c_str(), guildId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_QUERY [%s]: Guild: %u", GetPlayerInfo().c_str(), guildId);
+#endif
if (!guildId)
return;
@@ -42,7 +44,9 @@ void WorldSession::HandleGuildInviteOpcode(WorldPacket& recvPacket)
std::string invitedName;
recvPacket >> invitedName;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_INVITE [%s]: Invited: %s", GetPlayerInfo().c_str(), invitedName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_INVITE [%s]: Invited: %s", GetPlayerInfo().c_str(), invitedName.c_str());
+#endif
if (normalizePlayerName(invitedName))
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleInviteMember(this, invitedName);
@@ -53,7 +57,9 @@ void WorldSession::HandleGuildRemoveOpcode(WorldPacket& recvPacket)
std::string playerName;
recvPacket >> playerName;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_REMOVE [%s]: Target: %s", GetPlayerInfo().c_str(), playerName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_REMOVE [%s]: Target: %s", GetPlayerInfo().c_str(), playerName.c_str());
+#endif
if (normalizePlayerName(playerName))
if (Guild* guild = GetPlayer()->GetGuild())
@@ -62,7 +68,9 @@ void WorldSession::HandleGuildRemoveOpcode(WorldPacket& recvPacket)
void WorldSession::HandleGuildAcceptOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_ACCEPT [%s]", GetPlayer()->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_ACCEPT [%s]", GetPlayer()->GetName().c_str());
+#endif
if (!GetPlayer()->GetGuildId())
if (Guild* guild = sGuildMgr->GetGuildById(GetPlayer()->GetGuildIdInvited()))
@@ -71,7 +79,9 @@ void WorldSession::HandleGuildAcceptOpcode(WorldPacket& /*recvPacket*/)
void WorldSession::HandleGuildDeclineOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DECLINE [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DECLINE [%s]", GetPlayerInfo().c_str());
+#endif
GetPlayer()->SetGuildIdInvited(0);
GetPlayer()->SetInGuild(0);
@@ -79,7 +89,9 @@ void WorldSession::HandleGuildDeclineOpcode(WorldPacket& /*recvPacket*/)
void WorldSession::HandleGuildInfoOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_INFO [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_INFO [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendInfo(this);
@@ -87,7 +99,9 @@ void WorldSession::HandleGuildInfoOpcode(WorldPacket& /*recvPacket*/)
void WorldSession::HandleGuildRosterOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_ROSTER [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_ROSTER [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleRoster(this);
@@ -100,7 +114,9 @@ void WorldSession::HandleGuildPromoteOpcode(WorldPacket& recvPacket)
std::string playerName;
recvPacket >> playerName;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_PROMOTE [%s]: Target: %s", GetPlayerInfo().c_str(), playerName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_PROMOTE [%s]: Target: %s", GetPlayerInfo().c_str(), playerName.c_str());
+#endif
if (normalizePlayerName(playerName))
if (Guild* guild = GetPlayer()->GetGuild())
@@ -112,7 +128,9 @@ void WorldSession::HandleGuildDemoteOpcode(WorldPacket& recvPacket)
std::string playerName;
recvPacket >> playerName;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DEMOTE [%s]: Target: %s", GetPlayerInfo().c_str(), playerName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DEMOTE [%s]: Target: %s", GetPlayerInfo().c_str(), playerName.c_str());
+#endif
if (normalizePlayerName(playerName))
if (Guild* guild = GetPlayer()->GetGuild())
@@ -121,7 +139,9 @@ void WorldSession::HandleGuildDemoteOpcode(WorldPacket& recvPacket)
void WorldSession::HandleGuildLeaveOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_LEAVE [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_LEAVE [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleLeaveMember(this);
@@ -129,7 +149,9 @@ void WorldSession::HandleGuildLeaveOpcode(WorldPacket& /*recvPacket*/)
void WorldSession::HandleGuildDisbandOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DISBAND [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DISBAND [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleDisband(this);
@@ -140,7 +162,9 @@ void WorldSession::HandleGuildLeaderOpcode(WorldPacket& recvPacket)
std::string name;
recvPacket >> name;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_LEADER [%s]: Target: %s", GetPlayerInfo().c_str(), name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_LEADER [%s]: Target: %s", GetPlayerInfo().c_str(), name.c_str());
+#endif
if (normalizePlayerName(name))
if (Guild* guild = GetPlayer()->GetGuild())
@@ -152,7 +176,9 @@ void WorldSession::HandleGuildMOTDOpcode(WorldPacket& recvPacket)
std::string motd;
recvPacket >> motd;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_MOTD [%s]: MOTD: %s", GetPlayerInfo().c_str(), motd.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_MOTD [%s]: MOTD: %s", GetPlayerInfo().c_str(), motd.c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleSetMOTD(this, motd);
@@ -164,9 +190,9 @@ void WorldSession::HandleGuildSetPublicNoteOpcode(WorldPacket& recvPacket)
std::string note;
recvPacket >> playerName >> note;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_SET_PUBLIC_NOTE [%s]: Target: %s, Note: %s",
- // GetPlayerInfo().c_str(), playerName.c_str(), note.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_SET_PUBLIC_NOTE [%s]: Target: %s, Note: %s", GetPlayerInfo().c_str(), playerName.c_str(), note.c_str());
+#endif
if (normalizePlayerName(playerName))
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleSetMemberNote(this, playerName, note, true);
@@ -178,9 +204,10 @@ void WorldSession::HandleGuildSetOfficerNoteOpcode(WorldPacket& recvPacket)
std::string note;
recvPacket >> playerName >> note;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_SET_OFFICER_NOTE [%s]: Target: %s, Note: %s",
- // GetPlayerInfo().c_str(), playerName.c_str(), note.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_SET_OFFICER_NOTE [%s]: Target: %s, Note: %s",
+ GetPlayerInfo().c_str(), playerName.c_str(), note.c_str());
+#endif
if (normalizePlayerName(playerName))
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleSetMemberNote(this, playerName, note, false);
@@ -200,7 +227,9 @@ void WorldSession::HandleGuildRankOpcode(WorldPacket& recvPacket)
uint32 money;
recvPacket >> money;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_RANK [%s]: Rank: %s (%u)", GetPlayerInfo().c_str(), rankName.c_str(), rankId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_RANK [%s]: Rank: %s (%u)", GetPlayerInfo().c_str(), rankName.c_str(), rankId);
+#endif
Guild* guild = GetPlayer()->GetGuild();
if (!guild)
@@ -230,7 +259,9 @@ void WorldSession::HandleGuildAddRankOpcode(WorldPacket& recvPacket)
std::string rankName;
recvPacket >> rankName;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_ADD_RANK [%s]: Rank: %s", GetPlayerInfo().c_str(), rankName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_ADD_RANK [%s]: Rank: %s", GetPlayerInfo().c_str(), rankName.c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleAddNewRank(this, rankName);
@@ -238,7 +269,9 @@ void WorldSession::HandleGuildAddRankOpcode(WorldPacket& recvPacket)
void WorldSession::HandleGuildDelRankOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DEL_RANK [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_DEL_RANK [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleRemoveLowestRank(this);
@@ -249,7 +282,9 @@ void WorldSession::HandleGuildChangeInfoTextOpcode(WorldPacket& recvPacket)
std::string info;
recvPacket >> info;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_INFO_TEXT [%s]: %s", GetPlayerInfo().c_str(), info.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_INFO_TEXT [%s]: %s", GetPlayerInfo().c_str(), info.c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleSetInfo(this, info);
@@ -263,12 +298,13 @@ void WorldSession::HandleSaveGuildEmblemOpcode(WorldPacket& recvPacket)
EmblemInfo emblemInfo;
emblemInfo.ReadPacket(recvPacket);
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_SAVE_GUILD_EMBLEM [%s]: Guid: [" UI64FMTD
- // "] Style: %d, Color: %d, BorderStyle: %d, BorderColor: %d, BackgroundColor: %d"
- // , GetPlayerInfo().c_str(), vendorGuid, emblemInfo.GetStyle()
- // , emblemInfo.GetColor(), emblemInfo.GetBorderStyle()
- // , emblemInfo.GetBorderColor(), emblemInfo.GetBackgroundColor());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_SAVE_GUILD_EMBLEM [%s]: Guid: [" UI64FMTD
+ "] Style: %d, Color: %d, BorderStyle: %d, BorderColor: %d, BackgroundColor: %d"
+ , GetPlayerInfo().c_str(), vendorGuid, emblemInfo.GetStyle()
+ , emblemInfo.GetColor(), emblemInfo.GetBorderStyle()
+ , emblemInfo.GetBorderColor(), emblemInfo.GetBackgroundColor());
+#endif
if (GetPlayer()->GetNPCIfCanInteractWith(vendorGuid, UNIT_NPC_FLAG_TABARDDESIGNER))
{
// Remove fake death
@@ -286,7 +322,9 @@ void WorldSession::HandleSaveGuildEmblemOpcode(WorldPacket& recvPacket)
void WorldSession::HandleGuildEventLogQueryOpcode(WorldPacket& /* recvPacket */)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_EVENT_LOG_QUERY [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_EVENT_LOG_QUERY [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendEventLog(this);
@@ -294,7 +332,9 @@ void WorldSession::HandleGuildEventLogQueryOpcode(WorldPacket& /* recvPacket */)
void WorldSession::HandleGuildBankMoneyWithdrawn(WorldPacket & /* recvData */)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_MONEY_WITHDRAWN [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_MONEY_WITHDRAWN [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendMoneyInfo(this);
@@ -302,7 +342,9 @@ void WorldSession::HandleGuildBankMoneyWithdrawn(WorldPacket & /* recvData */)
void WorldSession::HandleGuildPermissions(WorldPacket& /* recvData */)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_PERMISSIONS [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_PERMISSIONS [%s]", GetPlayerInfo().c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendPermissions(this);
@@ -315,9 +357,10 @@ void WorldSession::HandleGuildBankerActivate(WorldPacket& recvData)
bool sendAllSlots;
recvData >> guid >> sendAllSlots;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANKER_ACTIVATE [%s]: Go: [" UI64FMTD "] AllSlots: %u"
- // , GetPlayerInfo().c_str(), guid, sendAllSlots);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANKER_ACTIVATE [%s]: Go: [" UI64FMTD "] AllSlots: %u"
+ , GetPlayerInfo().c_str(), guid, sendAllSlots);
+#endif
Guild * const guild = GetPlayer()->GetGuild();
if (!guild)
{
@@ -337,9 +380,10 @@ void WorldSession::HandleGuildBankQueryTab(WorldPacket& recvData)
recvData >> guid >> tabId >> full;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_QUERY_TAB [%s]: Go: [" UI64FMTD "], TabId: %u, ShowTabs: %u"
- // , GetPlayerInfo().c_str(), guid, tabId, full);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_QUERY_TAB [%s]: Go: [" UI64FMTD "], TabId: %u, ShowTabs: %u"
+ , GetPlayerInfo().c_str(), guid, tabId, full);
+#endif
if (GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK))
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendBankTabData(this, tabId);
@@ -351,9 +395,10 @@ void WorldSession::HandleGuildBankDepositMoney(WorldPacket& recvData)
uint32 money;
recvData >> guid >> money;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_DEPOSIT_MONEY [%s]: Go: [" UI64FMTD "], money: %u",
- // GetPlayerInfo().c_str(), guid, money);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_DEPOSIT_MONEY [%s]: Go: [" UI64FMTD "], money: %u",
+ GetPlayerInfo().c_str(), guid, money);
+#endif
if (GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK))
if (money && GetPlayer()->HasEnoughMoney(money))
if (Guild* guild = GetPlayer()->GetGuild())
@@ -366,9 +411,10 @@ void WorldSession::HandleGuildBankWithdrawMoney(WorldPacket& recvData)
uint32 money;
recvData >> guid >> money;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_WITHDRAW_MONEY [%s]: Go: [" UI64FMTD "], money: %u",
- // GetPlayerInfo().c_str(), guid, money);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_WITHDRAW_MONEY [%s]: Go: [" UI64FMTD "], money: %u",
+ GetPlayerInfo().c_str(), guid, money);
+#endif
if (money && GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK))
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleMemberWithdrawMoney(this, money);
@@ -376,7 +422,9 @@ void WorldSession::HandleGuildBankWithdrawMoney(WorldPacket& recvData)
void WorldSession::HandleGuildBankSwapItems(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_SWAP_ITEMS [%s]", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_SWAP_ITEMS [%s]", GetPlayerInfo().c_str());
+#endif
uint64 GoGuid;
recvData >> GoGuid;
@@ -462,7 +510,9 @@ void WorldSession::HandleGuildBankBuyTab(WorldPacket& recvData)
recvData >> guid >> tabId;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_BUY_TAB [%s]: Go: [" UI64FMTD "], TabId: %u", GetPlayerInfo().c_str(), guid, tabId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_BUY_TAB [%s]: Go: [" UI64FMTD "], TabId: %u", GetPlayerInfo().c_str(), guid, tabId);
+#endif
if (GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK))
@@ -478,9 +528,10 @@ void WorldSession::HandleGuildBankUpdateTab(WorldPacket& recvData)
recvData >> guid >> tabId >> name >> icon;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_UPDATE_TAB [%s]: Go: [" UI64FMTD "], TabId: %u, Name: %s, Icon: %s"
- // , GetPlayerInfo().c_str(), guid, tabId, name.c_str(), icon.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_GUILD_BANK_UPDATE_TAB [%s]: Go: [" UI64FMTD "], TabId: %u, Name: %s, Icon: %s"
+ , GetPlayerInfo().c_str(), guid, tabId, name.c_str(), icon.c_str());
+#endif
if (!name.empty() && !icon.empty())
if (GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_GUILD_BANK))
if (Guild* guild = GetPlayer()->GetGuild())
@@ -492,7 +543,9 @@ void WorldSession::HandleGuildBankLogQuery(WorldPacket& recvData)
uint8 tabId;
recvData >> tabId;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_LOG_QUERY [%s]: TabId: %u", GetPlayerInfo().c_str(), tabId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_GUILD_BANK_LOG_QUERY [%s]: TabId: %u", GetPlayerInfo().c_str(), tabId);
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendBankLog(this, tabId);
@@ -503,7 +556,9 @@ void WorldSession::HandleQueryGuildBankTabText(WorldPacket &recvData)
uint8 tabId;
recvData >> tabId;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "MSG_QUERY_GUILD_BANK_TEXT [%s]: TabId: %u", GetPlayerInfo().c_str(), tabId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "MSG_QUERY_GUILD_BANK_TEXT [%s]: TabId: %u", GetPlayerInfo().c_str(), tabId);
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SendBankTabText(this, tabId);
@@ -515,7 +570,9 @@ void WorldSession::HandleSetGuildBankTabText(WorldPacket &recvData)
std::string text;
recvData >> tabId >> text;
- ;//sLog->outDebug(LOG_FILTER_GUILD, "CMSG_SET_GUILD_BANK_TEXT [%s]: TabId: %u, Text: %s", GetPlayerInfo().c_str(), tabId, text.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_GUILD, "CMSG_SET_GUILD_BANK_TEXT [%s]: TabId: %u, Text: %s", GetPlayerInfo().c_str(), tabId, text.c_str());
+#endif
if (Guild* guild = GetPlayer()->GetGuild())
guild->SetBankTabText(tabId, text);
diff --git a/src/game/Handlers/ItemHandler.cpp b/src/game/Handlers/ItemHandler.cpp
index 7573c4280d..b4aa9ef81c 100644
--- a/src/game/Handlers/ItemHandler.cpp
+++ b/src/game/Handlers/ItemHandler.cpp
@@ -428,7 +428,9 @@ void WorldSession::HandleItemQuerySingleOpcode(WorldPacket & recvData)
uint32 item;
recvData >> item;
- ;//sLog->outDetail("STORAGE: Item Query = %u", item);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("STORAGE: Item Query = %u", item);
+#endif
ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(item);
if (pProto)
@@ -574,7 +576,9 @@ void WorldSession::HandleItemQuerySingleOpcode(WorldPacket & recvData)
}
else
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_QUERY_SINGLE - NO item INFO! (ENTRY: %u)", item);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_QUERY_SINGLE - NO item INFO! (ENTRY: %u)", item);
+#endif
WorldPacket queryData(SMSG_ITEM_QUERY_SINGLE_RESPONSE, 4);
queryData << uint32(item | 0x80000000);
SendPacket(&queryData);
@@ -599,12 +603,16 @@ void WorldSession::HandleReadItem(WorldPacket & recvData)
if (msg == EQUIP_ERR_OK)
{
data.Initialize (SMSG_READ_ITEM_OK, 8);
- ;//sLog->outDetail("STORAGE: Item page sent");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("STORAGE: Item page sent");
+#endif
}
else
{
data.Initialize(SMSG_READ_ITEM_FAILED, 8);
- ;//sLog->outDetail("STORAGE: Unable to read item");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("STORAGE: Unable to read item");
+#endif
_player->SendEquipError(msg, pItem, NULL);
}
data << pItem->GetGUID();
@@ -616,7 +624,9 @@ void WorldSession::HandleReadItem(WorldPacket & recvData)
void WorldSession::HandleSellItemOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_SELL_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_SELL_ITEM");
+#endif
uint64 vendorguid, itemguid;
uint32 count;
@@ -628,7 +638,9 @@ void WorldSession::HandleSellItemOpcode(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(vendorguid, UNIT_NPC_FLAG_VENDOR);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleSellItemOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(vendorguid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleSellItemOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(vendorguid)));
+#endif
_player->SendSellError(SELL_ERR_CANT_FIND_VENDOR, NULL, itemguid, 0);
return;
}
@@ -731,7 +743,9 @@ void WorldSession::HandleSellItemOpcode(WorldPacket & recvData)
void WorldSession::HandleBuybackItem(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUYBACK_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUYBACK_ITEM");
+#endif
uint64 vendorguid;
uint32 slot;
@@ -740,7 +754,9 @@ void WorldSession::HandleBuybackItem(WorldPacket & recvData)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(vendorguid, UNIT_NPC_FLAG_VENDOR);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleBuybackItem - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(vendorguid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleBuybackItem - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(vendorguid)));
+#endif
_player->SendSellError(SELL_ERR_CANT_FIND_VENDOR, NULL, 0, 0);
return;
}
@@ -779,7 +795,9 @@ void WorldSession::HandleBuybackItem(WorldPacket & recvData)
void WorldSession::HandleBuyItemInSlotOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUY_ITEM_IN_SLOT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUY_ITEM_IN_SLOT");
+#endif
uint64 vendorguid, bagguid;
uint32 item, slot, count;
uint8 bagslot;
@@ -821,7 +839,9 @@ void WorldSession::HandleBuyItemInSlotOpcode(WorldPacket & recvData)
void WorldSession::HandleBuyItemOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUY_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUY_ITEM");
+#endif
uint64 vendorguid;
uint32 item, slot, count;
uint8 unk1;
@@ -846,19 +866,25 @@ void WorldSession::HandleListInventoryOpcode(WorldPacket & recvData)
if (!GetPlayer()->IsAlive())
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LIST_INVENTORY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LIST_INVENTORY");
+#endif
SendListInventory(guid);
}
void WorldSession::SendListInventory(uint64 vendorGuid)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_LIST_INVENTORY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_LIST_INVENTORY");
+#endif
Creature* vendor = GetPlayer()->GetNPCIfCanInteractWith(vendorGuid, UNIT_NPC_FLAG_VENDOR);
if (!vendor)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendListInventory - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(vendorGuid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendListInventory - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(vendorGuid)));
+#endif
_player->SendSellError(SELL_ERR_CANT_FIND_VENDOR, NULL, 0, 0);
return;
}
@@ -1001,7 +1027,9 @@ void WorldSession::HandleAutoStoreBagItemOpcode(WorldPacket & recvData)
void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_BUY_BANK_SLOT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_BUY_BANK_SLOT");
+#endif
uint64 guid;
recvPacket >> guid;
@@ -1017,7 +1045,9 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket)
// next slot
++slot;
- ;//sLog->outDetail("PLAYER: Buy bank bag slot, slot number = %u", slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PLAYER: Buy bank bag slot, slot number = %u", slot);
+#endif
BankBagSlotPricesEntry const* slotEntry = sBankBagSlotPricesStore.LookupEntry(slot);
@@ -1050,11 +1080,15 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket)
void WorldSession::HandleAutoBankItemOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AUTOBANK_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AUTOBANK_ITEM");
+#endif
uint8 srcbag, srcslot;
recvPacket >> srcbag >> srcslot;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "STORAGE: receive srcbag = %u, srcslot = %u", srcbag, srcslot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "STORAGE: receive srcbag = %u, srcslot = %u", srcbag, srcslot);
+#endif
if (!CanUseBank())
{
@@ -1088,11 +1122,15 @@ void WorldSession::HandleAutoBankItemOpcode(WorldPacket& recvPacket)
void WorldSession::HandleAutoStoreBankItemOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AUTOSTORE_BANK_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AUTOSTORE_BANK_ITEM");
+#endif
uint8 srcbag, srcslot;
recvPacket >> srcbag >> srcslot;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "STORAGE: receive srcbag = %u, srcslot = %u", srcbag, srcslot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "STORAGE: receive srcbag = %u, srcslot = %u", srcbag, srcslot);
+#endif
if (!CanUseBank())
{
@@ -1142,7 +1180,9 @@ void WorldSession::HandleSetAmmoOpcode(WorldPacket & recvData)
return;
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SET_AMMO");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SET_AMMO");
+#endif
uint32 item;
recvData >> item;
@@ -1188,7 +1228,9 @@ void WorldSession::HandleItemNameQueryOpcode(WorldPacket & recvData)
recvData >> itemid;
recvData.read_skip<uint64>(); // guid
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_NAME_QUERY %u", itemid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_NAME_QUERY %u", itemid);
+#endif
ItemSetNameEntry const* pName = sObjectMgr->GetItemSetNameEntry(itemid);
if (pName)
{
@@ -1208,14 +1250,18 @@ void WorldSession::HandleItemNameQueryOpcode(WorldPacket & recvData)
void WorldSession::HandleWrapItemOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_WRAP_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_WRAP_ITEM");
+#endif
uint8 gift_bag, gift_slot, item_bag, item_slot;
recvData >> gift_bag >> gift_slot; // paper
recvData >> item_bag >> item_slot; // item
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WRAP: receive gift_bag = %u, gift_slot = %u, item_bag = %u, item_slot = %u", gift_bag, gift_slot, item_bag, item_slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WRAP: receive gift_bag = %u, gift_slot = %u, item_bag = %u, item_slot = %u", gift_bag, gift_slot, item_bag, item_slot);
+#endif
Item* gift = _player->GetItemByPos(gift_bag, gift_slot);
if (!gift)
@@ -1323,7 +1369,9 @@ void WorldSession::HandleWrapItemOpcode(WorldPacket& recvData)
void WorldSession::HandleSocketOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SOCKET_GEMS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SOCKET_GEMS");
+#endif
uint64 item_guid;
uint64 gem_guids[MAX_GEM_SOCKETS];
@@ -1521,7 +1569,9 @@ void WorldSession::HandleSocketOpcode(WorldPacket& recvData)
void WorldSession::HandleCancelTempEnchantmentOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CANCEL_TEMP_ENCHANTMENT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CANCEL_TEMP_ENCHANTMENT");
+#endif
uint32 eslot;
@@ -1545,7 +1595,9 @@ void WorldSession::HandleCancelTempEnchantmentOpcode(WorldPacket& recvData)
void WorldSession::HandleItemRefundInfoRequest(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_REFUND_INFO");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_REFUND_INFO");
+#endif
uint64 guid;
recvData >> guid; // item guid
@@ -1553,7 +1605,9 @@ void WorldSession::HandleItemRefundInfoRequest(WorldPacket& recvData)
Item* item = _player->GetItemByGuid(guid);
if (!item)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Item refund: item not found!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Item refund: item not found!");
+#endif
return;
}
@@ -1562,14 +1616,18 @@ void WorldSession::HandleItemRefundInfoRequest(WorldPacket& recvData)
void WorldSession::HandleItemRefund(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_REFUND");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ITEM_REFUND");
+#endif
uint64 guid;
recvData >> guid; // item guid
Item* item = _player->GetItemByGuid(guid);
if (!item)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Item refund: item not found!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Item refund: item not found!");
+#endif
return;
}
@@ -1590,7 +1648,9 @@ void WorldSession::HandleItemTextQuery(WorldPacket & recvData )
uint64 itemGuid;
recvData >> itemGuid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ITEM_TEXT_QUERY item guid: %u", GUID_LOPART(itemGuid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_ITEM_TEXT_QUERY item guid: %u", GUID_LOPART(itemGuid));
+#endif
WorldPacket data(SMSG_ITEM_TEXT_QUERY_RESPONSE, 50); // guess size
diff --git a/src/game/Handlers/LFGHandler.cpp b/src/game/Handlers/LFGHandler.cpp
index 68ec86a049..0673e0b013 100644
--- a/src/game/Handlers/LFGHandler.cpp
+++ b/src/game/Handlers/LFGHandler.cpp
@@ -56,7 +56,9 @@ void WorldSession::HandleLfgJoinOpcode(WorldPacket& recvData)
recvData >> numDungeons;
if (!numDungeons)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_JOIN [" UI64FMTD "] no dungeons selected", GetPlayer()->GetGUID());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_JOIN [" UI64FMTD "] no dungeons selected", GetPlayer()->GetGUID());
+#endif
recvData.rfinish();
return;
}
@@ -75,7 +77,9 @@ void WorldSession::HandleLfgJoinOpcode(WorldPacket& recvData)
std::string comment;
recvData >> comment;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_JOIN [" UI64FMTD "] roles: %u, Dungeons: %u, Comment: %s", GetPlayer()->GetGUID(), roles, uint8(newDungeons.size()), comment.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_JOIN [" UI64FMTD "] roles: %u, Dungeons: %u, Comment: %s", GetPlayer()->GetGUID(), roles, uint8(newDungeons.size()), comment.c_str());
+#endif
sLFGMgr->JoinLfg(GetPlayer(), uint8(roles), newDungeons, comment);
}
@@ -86,7 +90,9 @@ void WorldSession::HandleLfgLeaveOpcode(WorldPacket& /*recvData*/)
uint64 guid = GetPlayer()->GetGUID();
uint64 gguid = group ? group->GetGUID() : guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_LEAVE [" UI64FMTD "] in group: %u", guid, grp ? 1 : 0);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_LEAVE [" UI64FMTD "] in group: %u", guid, group ? 1 : 0);
+#endif
// Check cheating - only leader can leave the queue
if (!group || group->GetLeaderGUID() == guid)
@@ -103,7 +109,9 @@ void WorldSession::HandleLfgProposalResultOpcode(WorldPacket& recvData)
recvData >> proposalID;
recvData >> accept;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_PROPOSAL_RESULT [" UI64FMTD "] proposal: %u accept: %u", GetPlayer()->GetGUID(), lfgGroupID, accept ? 1 : 0);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_PROPOSAL_RESULT [" UI64FMTD "] proposal: %u accept: %u", GetPlayer()->GetGUID(), proposalID, accept ? 1 : 0);
+#endif
sLFGMgr->UpdateProposal(proposalID, GetPlayer()->GetGUID(), accept);
}
@@ -115,19 +123,26 @@ void WorldSession::HandleLfgSetRolesOpcode(WorldPacket& recvData)
Group* group = GetPlayer()->GetGroup();
if (!group)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_ROLES [" UI64FMTD "] Not in group", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_ROLES [" UI64FMTD "] Not in group", guid);
+#endif
return;
}
uint64 gguid = group->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_ROLES: Group [" UI64FMTD "], Player [" UI64FMTD "], Roles: %u", gguid, guid, roles);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_ROLES: Group [" UI64FMTD "], Player [" UI64FMTD "], Roles: %u", gguid, guid, roles);
+#endif
sLFGMgr->UpdateRoleCheck(gguid, guid, roles);
}
void WorldSession::HandleLfgSetCommentOpcode(WorldPacket& recvData)
{
+ uint64 guid = GetPlayer()->GetGUID();
std::string comment;
recvData >> comment;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_COMMENT [" UI64FMTD "] comment: %s", guid, comment.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_COMMENT [" UI64FMTD "] comment: %s", guid, comment.c_str());
+#endif
sLFGMgr->SetComment(GetPlayer()->GetGUID(), comment);
sLFGMgr->LfrSetComment(GetPlayer(), comment);
@@ -139,7 +154,9 @@ void WorldSession::HandleLfgSetBootVoteOpcode(WorldPacket& recvData)
recvData >> agree;
uint64 guid = GetPlayer()->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_BOOT_VOTE [" UI64FMTD "] agree: %u", guid, agree ? 1 : 0);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_SET_BOOT_VOTE [" UI64FMTD "] agree: %u", guid, agree ? 1 : 0);
+#endif
sLFGMgr->UpdateBoot(guid, agree);
}
@@ -148,14 +165,18 @@ void WorldSession::HandleLfgTeleportOpcode(WorldPacket& recvData)
bool out;
recvData >> out;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_TELEPORT [" UI64FMTD "] out: %u", GetPlayer()->GetGUID(), out ? 1 : 0);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_TELEPORT [" UI64FMTD "] out: %u", GetPlayer()->GetGUID(), out ? 1 : 0);
+#endif
sLFGMgr->TeleportPlayer(GetPlayer(), out, true);
}
void WorldSession::HandleLfgPlayerLockInfoRequestOpcode(WorldPacket& /*recvData*/)
{
uint64 guid = GetPlayer()->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_PLAYER_LOCK_INFO_REQUEST [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_PLAYER_LOCK_INFO_REQUEST [" UI64FMTD "]", guid);
+#endif
// Get Random dungeons that can be done at a certain level and expansion
uint8 level = GetPlayer()->getLevel();
@@ -168,7 +189,9 @@ void WorldSession::HandleLfgPlayerLockInfoRequestOpcode(WorldPacket& /*recvData*
uint32 rsize = uint32(randomDungeons.size());
uint32 lsize = uint32(lock.size());
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_PLAYER_INFO [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_PLAYER_INFO [" UI64FMTD "]", guid);
+#endif
WorldPacket data(SMSG_LFG_PLAYER_INFO, 1 + rsize * (4 + 1 + 4 + 4 + 4 + 4 + 1 + 4 + 4 + 4) + 4 + lsize * (1 + 4 + 4 + 4 + 4 + 1 + 4 + 4 + 4));
data << uint8(randomDungeons.size()); // Random Dungeon count
@@ -226,7 +249,9 @@ void WorldSession::HandleLfgPlayerLockInfoRequestOpcode(WorldPacket& /*recvData*
void WorldSession::HandleLfgPartyLockInfoRequestOpcode(WorldPacket& /*recvData*/)
{
uint64 guid = GetPlayer()->GetGUID();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_PARTY_LOCK_INFO_REQUEST [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFG_PARTY_LOCK_INFO_REQUEST [" UI64FMTD "]", guid);
+#endif
Group* group = GetPlayer()->GetGroup();
if (!group)
@@ -252,7 +277,9 @@ void WorldSession::HandleLfgPartyLockInfoRequestOpcode(WorldPacket& /*recvData*
for (lfg::LfgLockPartyMap::const_iterator it = lockMap.begin(); it != lockMap.end(); ++it)
size += 8 + 4 + uint32(it->second.size()) * (4 + 4);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_PARTY_INFO [" UI64FMTD "]", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_PARTY_INFO [" UI64FMTD "]", guid);
+#endif
WorldPacket data(SMSG_LFG_PARTY_INFO, 1 + size);
BuildPartyLockDungeonBlock(data, lockMap);
SendPacket(&data);
@@ -276,7 +303,9 @@ void WorldSession::HandleLfrSearchLeaveOpcode(WorldPacket& recvData)
void WorldSession::HandleLfgGetStatus(WorldPacket& /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_LFG, "CMSG_LFG_GET_STATUS %s", GetPlayerInfo().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "CMSG_LFG_GET_STATUS %s", GetPlayerInfo().c_str());
+#endif
uint64 guid = GetPlayer()->GetGUID();
lfg::LfgUpdateData updateData = sLFGMgr->GetLfgStatus(guid);
@@ -313,8 +342,10 @@ void WorldSession::SendLfgUpdatePlayer(lfg::LfgUpdateData const& updateData)
break;
}
- ;//sLog->outDebug(LOG_FILTER_LFG, "SMSG_LFG_UPDATE_PLAYER %s updatetype: %u",
- // GetPlayerInfo().c_str(), updateData.updateType);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "SMSG_LFG_UPDATE_PLAYER %s updatetype: %u",
+ GetPlayerInfo().c_str(), updateData.updateType);
+#endif
WorldPacket data(SMSG_LFG_UPDATE_PLAYER, 1 + 1 + (size > 0 ? 1 : 0) * (1 + 1 + 1 + 1 + size * 4 + updateData.comment.length()));
data << uint8(updateData.updateType); // Lfg Update type
data << uint8(size > 0); // Extra info
@@ -354,8 +385,10 @@ void WorldSession::SendLfgUpdateParty(lfg::LfgUpdateData const& updateData)
break;
}
- ;//sLog->outDebug(LOG_FILTER_LFG, "SMSG_LFG_UPDATE_PARTY %s updatetype: %u",
- // GetPlayerInfo().c_str(), updateData.updateType);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LFG, "SMSG_LFG_UPDATE_PARTY %s updatetype: %u",
+ GetPlayerInfo().c_str(), updateData.updateType);
+#endif
WorldPacket data(SMSG_LFG_UPDATE_PARTY, 1 + 1 + (size > 0 ? 1 : 0) * (1 + 1 + 1 + 1 + 1 + size * 4 + updateData.comment.length()));
data << uint8(updateData.updateType); // Lfg Update type
data << uint8(size > 0); // Extra info
@@ -378,7 +411,9 @@ void WorldSession::SendLfgUpdateParty(lfg::LfgUpdateData const& updateData)
void WorldSession::SendLfgRoleChosen(uint64 guid, uint8 roles)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_ROLE_CHOSEN [" UI64FMTD "] guid: [" UI64FMTD "] roles: %u", GetPlayer()->GetGUID(), guid, roles);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_ROLE_CHOSEN [" UI64FMTD "] guid: [" UI64FMTD "] roles: %u", GetPlayer()->GetGUID(), guid, roles);
+#endif
WorldPacket data(SMSG_LFG_ROLE_CHOSEN, 8 + 1 + 4);
data << uint64(guid); // Guid
@@ -395,7 +430,9 @@ void WorldSession::SendLfgRoleCheckUpdate(lfg::LfgRoleCheck const& roleCheck)
else
dungeons = roleCheck.dungeons;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_ROLE_CHECK_UPDATE [" UI64FMTD "]", GetPlayer()->GetGUID());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_ROLE_CHECK_UPDATE [" UI64FMTD "]", GetPlayer()->GetGUID());
+#endif
WorldPacket data(SMSG_LFG_ROLE_CHECK_UPDATE, 4 + 1 + 1 + dungeons.size() * 4 + 1 + roleCheck.roles.size() * (8 + 1 + 4 + 1));
data << uint32(roleCheck.state); // Check result
@@ -440,7 +477,9 @@ void WorldSession::SendLfgJoinResult(lfg::LfgJoinResultData const& joinData)
for (lfg::LfgLockPartyMap::const_iterator it = joinData.lockmap.begin(); it != joinData.lockmap.end(); ++it)
size += 8 + 4 + uint32(it->second.size()) * (4 + 4);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_JOIN_RESULT [" UI64FMTD "] checkResult: %u checkValue: %u", GetPlayer()->GetGUID(), joinData.result, joinData.state);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_JOIN_RESULT [" UI64FMTD "] checkResult: %u checkValue: %u", GetPlayer()->GetGUID(), joinData.result, joinData.state);
+#endif
WorldPacket data(SMSG_LFG_JOIN_RESULT, 4 + 4 + size);
data << uint32(joinData.result); // Check Result
data << uint32(joinData.state); // Check Value
@@ -451,9 +490,10 @@ void WorldSession::SendLfgJoinResult(lfg::LfgJoinResultData const& joinData)
void WorldSession::SendLfgQueueStatus(lfg::LfgQueueStatusData const& queueData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_QUEUE_STATUS [" UI64FMTD "] dungeon: %u - waitTime: %d - avgWaitTime: %d - waitTimeTanks: %d - waitTimeHealer: %d - waitTimeDps: %d - queuedTime: %u - tanks: %u - healers: %u - dps: %u",
- // GetPlayer()->GetGUID(), queueData.dungeonId, queueData.waitTime, queueData.waitTimeAvg, queueData.waitTimeTank, queueData.waitTimeHealer, queueData.waitTimeDps, queueData.queuedTime, queueData.tanks, queueData.healers, queueData.dps);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_QUEUE_STATUS [" UI64FMTD "] dungeon: %u - waitTime: %d - avgWaitTime: %d - waitTimeTanks: %d - waitTimeHealer: %d - waitTimeDps: %d - queuedTime: %u - tanks: %u - healers: %u - dps: %u",
+ GetPlayer()->GetGUID(), queueData.dungeonId, queueData.waitTime, queueData.waitTimeAvg, queueData.waitTimeTank, queueData.waitTimeHealer, queueData.waitTimeDps, queueData.queuedTime, queueData.tanks, queueData.healers, queueData.dps);
+#endif
WorldPacket data(SMSG_LFG_QUEUE_STATUS, 4 + 4 + 4 + 4 + 4 +4 + 1 + 1 + 1 + 4);
data << uint32(queueData.dungeonId); // Dungeon
data << int32(queueData.waitTimeAvg); // Average Wait time
@@ -518,8 +558,10 @@ void WorldSession::SendLfgBootProposalUpdate(lfg::LfgPlayerBoot const& boot)
++agreeNum;
}
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_BOOT_PROPOSAL_UPDATE [" UI64FMTD "] inProgress: %u - didVote: %u - agree: %u - victim: [" UI64FMTD "] votes: %u - agrees: %u - left: %u - needed: %u - reason %s",
- // guid, uint8(boot.inProgress), uint8(playerVote != lfg::LFG_ANSWER_PENDING), uint8(playerVote == lfg::LFG_ANSWER_AGREE), boot.victim, votesNum, agreeNum, secsleft, lfg::LFG_GROUP_KICK_VOTES_NEEDED, boot.reason.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_BOOT_PROPOSAL_UPDATE [" UI64FMTD "] inProgress: %u - didVote: %u - agree: %u - victim: [" UI64FMTD "] votes: %u - agrees: %u - left: %u - needed: %u - reason %s",
+ guid, uint8(boot.inProgress), uint8(playerVote != lfg::LFG_ANSWER_PENDING), uint8(playerVote == lfg::LFG_ANSWER_AGREE), boot.victim, votesNum, agreeNum, secsleft, lfg::LFG_GROUP_KICK_VOTES_NEEDED, boot.reason.c_str());
+#endif
WorldPacket data(SMSG_LFG_BOOT_PROPOSAL_UPDATE, 1 + 1 + 1 + 8 + 4 + 4 + 4 + 4 + boot.reason.length());
data << uint8(boot.inProgress); // Vote in progress
data << uint8(playerVote != lfg::LFG_ANSWER_PENDING); // Did Vote
@@ -540,7 +582,9 @@ void WorldSession::SendLfgUpdateProposal(lfg::LfgProposal const& proposal)
bool silent = !proposal.isNew && gguid == proposal.group;
uint32 dungeonEntry = proposal.dungeonId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_PROPOSAL_UPDATE [" UI64FMTD "] state: %u", guid, proposal.state);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_PROPOSAL_UPDATE [" UI64FMTD "] state: %u", guid, proposal.state);
+#endif
// show random dungeon if player selected random dungeon and it's not lfg group
if (!silent)
@@ -583,7 +627,9 @@ void WorldSession::SendLfgUpdateProposal(lfg::LfgProposal const& proposal)
void WorldSession::SendLfgLfrList(bool update)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_LFR_LIST [" UI64FMTD "] update: %u", GetPlayer()->GetGUID(), update ? 1 : 0);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_LFR_LIST [" UI64FMTD "] update: %u", GetPlayer()->GetGUID(), update ? 1 : 0);
+#endif
WorldPacket data(SMSG_LFG_UPDATE_SEARCH, 1);
data << uint8(update); // In Lfg Queue?
SendPacket(&data);
@@ -591,14 +637,18 @@ void WorldSession::SendLfgLfrList(bool update)
void WorldSession::SendLfgDisabled()
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_DISABLED [" UI64FMTD "]", GetPlayer()->GetGUID());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_DISABLED [" UI64FMTD "]", GetPlayer()->GetGUID());
+#endif
WorldPacket data(SMSG_LFG_DISABLED, 0);
SendPacket(&data);
}
void WorldSession::SendLfgOfferContinue(uint32 dungeonEntry)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_OFFER_CONTINUE [" UI64FMTD "] dungeon entry: %u", GetPlayer()->GetGUID(), dungeonEntry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_OFFER_CONTINUE [" UI64FMTD "] dungeon entry: %u", GetPlayer()->GetGUID(), dungeonEntry);
+#endif
WorldPacket data(SMSG_LFG_OFFER_CONTINUE, 4);
data << uint32(dungeonEntry);
SendPacket(&data);
@@ -606,7 +656,9 @@ void WorldSession::SendLfgOfferContinue(uint32 dungeonEntry)
void WorldSession::SendLfgTeleportError(uint8 err)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_TELEPORT_DENIED [" UI64FMTD "] reason: %u", GetPlayer()->GetGUID(), err);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SMSG_LFG_TELEPORT_DENIED [" UI64FMTD "] reason: %u", GetPlayer()->GetGUID(), err);
+#endif
WorldPacket data(SMSG_LFG_TELEPORT_DENIED, 4);
data << uint32(err); // Error
SendPacket(&data);
diff --git a/src/game/Handlers/LootHandler.cpp b/src/game/Handlers/LootHandler.cpp
index 8b56e21507..1299042b0c 100644
--- a/src/game/Handlers/LootHandler.cpp
+++ b/src/game/Handlers/LootHandler.cpp
@@ -23,7 +23,9 @@
void WorldSession::HandleAutostoreLootItemOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AUTOSTORE_LOOT_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AUTOSTORE_LOOT_ITEM");
+#endif
Player* player = GetPlayer();
uint64 lguid = player->GetLootGUID();
Loot* loot = NULL;
@@ -93,7 +95,9 @@ void WorldSession::HandleAutostoreLootItemOpcode(WorldPacket& recvData)
void WorldSession::HandleLootMoneyOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_LOOT_MONEY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_LOOT_MONEY");
+#endif
Player* player = GetPlayer();
uint64 guid = player->GetLootGUID();
@@ -211,7 +215,9 @@ void WorldSession::HandleLootMoneyOpcode(WorldPacket & /*recvData*/)
void WorldSession::HandleLootOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_LOOT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_LOOT");
+#endif
uint64 guid;
recvData >> guid;
@@ -229,7 +235,9 @@ void WorldSession::HandleLootOpcode(WorldPacket& recvData)
void WorldSession::HandleLootReleaseOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_LOOT_RELEASE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_LOOT_RELEASE");
+#endif
// cheaters can modify lguid to prevent correct apply loot release code and re-loot
// use internal stored guid
@@ -288,7 +296,9 @@ void WorldSession::DoLootRelease(uint64 lguid)
// Xinef: prevents exploits with just opening GO and spawning bilions of npcs, which can crash core if you know what you're doin ;)
if (go->GetGoType() == GAMEOBJECT_TYPE_CHEST && go->GetGOInfo()->chest.eventId)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Chest ScriptStart id %u for GO %u", gameObjTarget->GetGOInfo()->chest.eventId, gameObjTarget->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Chest ScriptStart id %u for GO %u", go->GetGOInfo()->chest.eventId, go->GetDBTableGUIDLow());
+#endif
player->GetMap()->ScriptsStart(sEventScripts, go->GetGOInfo()->chest.eventId, player, go);
}
}
@@ -409,7 +419,9 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recvData)
return;
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WorldSession::HandleLootMasterGiveOpcode (CMSG_LOOT_MASTER_GIVE, 0x02A3) Target = [%s].", target->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WorldSession::HandleLootMasterGiveOpcode (CMSG_LOOT_MASTER_GIVE, 0x02A3) Target = [%s].", target->GetName().c_str());
+#endif
if (_player->GetLootGUID() != lootguid)
{
@@ -448,7 +460,9 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recvData)
if (slotid >= loot->items.size() + loot->quest_items.size())
{
- ;//sLog->outDebug(LOG_FILTER_LOOT, "MasterLootItem: Player %s might be using a hack! (slot %d, size %lu)", GetPlayer()->GetName().c_str(), slotid, (unsigned long)loot->items.size());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_LOOT, "MasterLootItem: Player %s might be using a hack! (slot %d, size %lu)", GetPlayer()->GetName().c_str(), slotid, (unsigned long)loot->items.size());
+#endif
return;
}
diff --git a/src/game/Handlers/MailHandler.cpp b/src/game/Handlers/MailHandler.cpp
index 3f52cb6781..24b213472b 100644
--- a/src/game/Handlers/MailHandler.cpp
+++ b/src/game/Handlers/MailHandler.cpp
@@ -101,13 +101,16 @@ void WorldSession::HandleSendMail(WorldPacket & recvData)
if (!rc)
{
- ;//sLog->outDetail("Player %u is sending mail to %s (GUID: not existed!) with subject %s and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u",
- // player->GetGUIDLow(), receiver.c_str(), subject.c_str(), body.c_str(), items_count, money, COD, unk1, unk2);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Player %u is sending mail to %s (GUID: not existed!) with subject %s and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u", player->GetGUIDLow(), receiver.c_str(), subject.c_str(), body.c_str(), items_count, money, COD, unk1, unk2);
+#endif
player->SendMailResult(0, MAIL_SEND, MAIL_ERR_RECIPIENT_NOT_FOUND);
return;
}
- ;//sLog->outDetail("Player %u is sending mail to %s (GUID: %u) with subject %s and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u", player->GetGUIDLow(), receiver.c_str(), GUID_LOPART(rc), subject.c_str(), body.c_str(), items_count, money, COD, unk1, unk2);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Player %u is sending mail to %s (GUID: %u) with subject %s and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u", player->GetGUIDLow(), receiver.c_str(), GUID_LOPART(rc), subject.c_str(), body.c_str(), items_count, money, COD, unk1, unk2);
+#endif
if (player->GetGUID() == rc)
{
@@ -718,7 +721,9 @@ void WorldSession::HandleMailCreateTextItem(WorldPacket & recvData)
bodyItem->SetUInt32Value(ITEM_FIELD_CREATOR, m->sender);
bodyItem->SetFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_MAIL_TEXT_MASK);
- ;//sLog->outDetail("HandleMailCreateTextItem mailid=%u", mailId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("HandleMailCreateTextItem mailid=%u", mailId);
+#endif
ItemPosCountVec dest;
uint8 msg = _player->CanStoreItem(NULL_BAG, NULL_SLOT, dest, bodyItem, false);
diff --git a/src/game/Handlers/MiscHandler.cpp b/src/game/Handlers/MiscHandler.cpp
index 708db524f2..1c7c30546c 100644
--- a/src/game/Handlers/MiscHandler.cpp
+++ b/src/game/Handlers/MiscHandler.cpp
@@ -46,7 +46,9 @@
void WorldSession::HandleRepopRequestOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_REPOP_REQUEST Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_REPOP_REQUEST Message");
+#endif
recv_data.read_skip<uint8>();
@@ -63,7 +65,9 @@ void WorldSession::HandleRepopRequestOpcode(WorldPacket & recv_data)
// release spirit after he's killed but before he is updated
if (GetPlayer()->getDeathState() == JUST_DIED)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleRepopRequestOpcode: got request after player %s(%d) was killed and before he was updated", GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleRepopRequestOpcode: got request after player %s(%d) was killed and before he was updated", GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow());
+#endif
GetPlayer()->KillPlayer();
}
@@ -75,7 +79,9 @@ void WorldSession::HandleRepopRequestOpcode(WorldPacket & recv_data)
void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GOSSIP_SELECT_OPTION");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GOSSIP_SELECT_OPTION");
+#endif
uint32 gossipListId;
uint32 menuId;
@@ -95,7 +101,9 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
}
@@ -104,7 +112,9 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
go = _player->GetMap()->GetGameObject(guid);
if (!go)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - GameObject (GUID: %u) not found.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - GameObject (GUID: %u) not found.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
}
@@ -127,7 +137,9 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
}
else
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - unsupported GUID type for highguid %u. lowpart %u.", uint32(GUID_HIPART(guid)), uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - unsupported GUID type for highguid %u. lowpart %u.", uint32(GUID_HIPART(guid)), uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -137,7 +149,9 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
if ((unit && unit->GetCreatureTemplate()->ScriptID != unit->LastUsedScriptID) || (go && go->GetGOInfo()->ScriptId != go->LastUsedScriptID))
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - Script reloaded while in use, ignoring and set new scipt id");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipSelectOptionOpcode - Script reloaded while in use, ignoring and set new scipt id");
+#endif
if (unit)
unit->LastUsedScriptID = unit->GetCreatureTemplate()->ScriptID;
if (go)
@@ -393,7 +407,9 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
void WorldSession::HandleLogoutRequestOpcode(WorldPacket & /*recv_data*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LOGOUT_REQUEST Message, security - %u", GetSecurity());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LOGOUT_REQUEST Message, security - %u", GetSecurity());
+#endif
if (uint64 lguid = GetPlayer()->GetLootGUID())
DoLootRelease(lguid);
@@ -447,7 +463,9 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket & /*recv_data*/)
void WorldSession::HandlePlayerLogoutOpcode(WorldPacket & /*recv_data*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_PLAYER_LOGOUT Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_PLAYER_LOGOUT Message");
+#endif
}
void WorldSession::HandleLogoutCancelOpcode(WorldPacket & /*recv_data*/)
@@ -496,7 +514,9 @@ void WorldSession::HandleZoneUpdateOpcode(WorldPacket & recv_data)
uint32 newZone;
recv_data >> newZone;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd ZONE_UPDATE: %u", newZone);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd ZONE_UPDATE: %u", newZone);
+#endif
// use server size data
uint32 newzone, newarea;
@@ -515,7 +535,9 @@ void WorldSession::HandleSetSelectionOpcode(WorldPacket & recv_data)
void WorldSession::HandleStandStateChangeOpcode(WorldPacket & recv_data)
{
- // ;//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: Received CMSG_STANDSTATECHANGE"); -- too many spam in log at lags/debug stop
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ // sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: Received CMSG_STANDSTATECHANGE"); -- too many spam in log at lags/debug stop
+#endif
uint32 animstate;
recv_data >> animstate;
@@ -526,13 +548,17 @@ void WorldSession::HandleContactListOpcode(WorldPacket & recv_data)
{
uint32 unk;
recv_data >> unk;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_CONTACT_LIST - Unk: %d", unk);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_CONTACT_LIST - Unk: %d", unk);
+#endif
_player->GetSocial()->SendSocialList(_player);
}
void WorldSession::HandleAddFriendOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ADD_FRIEND");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ADD_FRIEND");
+#endif
std::string friendName = GetTrinityString(LANG_FRIEND_IGNORE_UNKNOWN);
std::string friendNote;
@@ -544,7 +570,9 @@ void WorldSession::HandleAddFriendOpcode(WorldPacket & recv_data)
if (!normalizePlayerName(friendName))
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s asked to add friend : '%s'", GetPlayer()->GetName().c_str(), friendName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s asked to add friend : '%s'", GetPlayer()->GetName().c_str(), friendName.c_str());
+#endif
// xinef: Get Data From global storage
uint32 guidLow = sWorld->GetGlobalPlayerGUID(friendName);
@@ -580,7 +608,9 @@ void WorldSession::HandleAddFriendOpcode(WorldPacket & recv_data)
if (!GetPlayer()->GetSocial()->AddToSocialList(guidLow, false))
{
friendResult = FRIEND_LIST_FULL;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s's friend list is full.", GetPlayer()->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s's friend list is full.", GetPlayer()->GetName().c_str());
+#endif
}
}
GetPlayer()->GetSocial()->SetFriendNote(guidLow, friendNote);
@@ -589,14 +619,18 @@ void WorldSession::HandleAddFriendOpcode(WorldPacket & recv_data)
sSocialMgr->SendFriendStatus(GetPlayer(), friendResult, guidLow, false);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent (SMSG_FRIEND_STATUS)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent (SMSG_FRIEND_STATUS)");
+#endif
}
void WorldSession::HandleDelFriendOpcode(WorldPacket & recv_data)
{
uint64 FriendGUID;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DEL_FRIEND");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DEL_FRIEND");
+#endif
recv_data >> FriendGUID;
@@ -604,12 +638,16 @@ void WorldSession::HandleDelFriendOpcode(WorldPacket & recv_data)
sSocialMgr->SendFriendStatus(GetPlayer(), FRIEND_REMOVED, GUID_LOPART(FriendGUID), false);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent motd (SMSG_FRIEND_STATUS)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent motd (SMSG_FRIEND_STATUS)");
+#endif
}
void WorldSession::HandleAddIgnoreOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ADD_IGNORE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ADD_IGNORE");
+#endif
std::string ignoreName = GetTrinityString(LANG_FRIEND_IGNORE_UNKNOWN);
@@ -618,9 +656,9 @@ void WorldSession::HandleAddIgnoreOpcode(WorldPacket & recv_data)
if (!normalizePlayerName(ignoreName))
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s asked to Ignore: '%s'",
- // GetPlayer()->GetName().c_str(), ignoreName.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s asked to Ignore: '%s'", GetPlayer()->GetName().c_str(), ignoreName.c_str());
+#endif
uint32 lowGuid = sWorld->GetGlobalPlayerGUID(ignoreName);
if (!lowGuid)
return;
@@ -643,7 +681,9 @@ void WorldSession::HandleAddIgnoreOpcode(WorldPacket & recv_data)
sSocialMgr->SendFriendStatus(GetPlayer(), ignoreResult, lowGuid, false);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent (SMSG_FRIEND_STATUS)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent (SMSG_FRIEND_STATUS)");
+#endif
}
void WorldSession::HandleLoadActionsSwitchSpec(PreparedQueryResult result)
@@ -688,7 +728,9 @@ void WorldSession::HandleDelIgnoreOpcode(WorldPacket & recv_data)
{
uint64 IgnoreGUID;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DEL_IGNORE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DEL_IGNORE");
+#endif
recv_data >> IgnoreGUID;
@@ -696,12 +738,16 @@ void WorldSession::HandleDelIgnoreOpcode(WorldPacket & recv_data)
sSocialMgr->SendFriendStatus(GetPlayer(), FRIEND_IGNORE_REMOVED, GUID_LOPART(IgnoreGUID), false);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent motd (SMSG_FRIEND_STATUS)");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent motd (SMSG_FRIEND_STATUS)");
+#endif
}
void WorldSession::HandleSetContactNotesOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_SET_CONTACT_NOTES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_SET_CONTACT_NOTES");
+#endif
uint64 guid;
std::string note;
recv_data >> guid >> note;
@@ -717,13 +763,16 @@ void WorldSession::HandleBugOpcode(WorldPacket & recv_data)
recv_data >> typelen >> type;
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
if (suggestion == 0)
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUG [Bug Report]");
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUG [Bug Report]");
else
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUG [Suggestion]");
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BUG [Suggestion]");
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "%s", type.c_str());
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "%s", content.c_str());
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "%s", type.c_str());
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "%s", content.c_str());
+#endif
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_BUG_REPORT);
@@ -735,7 +784,9 @@ void WorldSession::HandleBugOpcode(WorldPacket & recv_data)
void WorldSession::HandleReclaimCorpseOpcode(WorldPacket &recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_RECLAIM_CORPSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_RECLAIM_CORPSE");
+#endif
uint64 guid;
recv_data >> guid;
@@ -772,7 +823,9 @@ void WorldSession::HandleReclaimCorpseOpcode(WorldPacket &recv_data)
void WorldSession::HandleResurrectResponseOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_RESURRECT_RESPONSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_RESURRECT_RESPONSE");
+#endif
uint64 guid;
uint8 status;
@@ -817,28 +870,36 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket& recv_data)
uint32 triggerId;
recv_data >> triggerId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_AREATRIGGER. Trigger ID: %u", triggerId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_AREATRIGGER. Trigger ID: %u", triggerId);
+#endif
Player* player = GetPlayer();
if (player->IsInFlight())
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleAreaTriggerOpcode: Player '%s' (GUID: %u) in flight, ignore Area Trigger ID:%u",
- // player->GetName().c_str(), player->GetGUIDLow(), triggerId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleAreaTriggerOpcode: Player '%s' (GUID: %u) in flight, ignore Area Trigger ID:%u",
+ player->GetName().c_str(), player->GetGUIDLow(), triggerId);
+#endif
return;
}
AreaTriggerEntry const* atEntry = sAreaTriggerStore.LookupEntry(triggerId);
if (!atEntry)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleAreaTriggerOpcode: Player '%s' (GUID: %u) send unknown (by DBC) Area Trigger ID:%u",
- // player->GetName().c_str(), player->GetGUIDLow(), triggerId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleAreaTriggerOpcode: Player '%s' (GUID: %u) send unknown (by DBC) Area Trigger ID:%u",
+ player->GetName().c_str(), player->GetGUIDLow(), triggerId);
+#endif
return;
}
if (!player->IsInAreaTriggerRadius(atEntry))
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleAreaTriggerOpcode: Player '%s' (GUID: %u) too far (trigger map: %u player map: %u), ignore Area Trigger ID: %u",
- // player->GetName().c_str(), atEntry->mapid, player->GetMapId(), player->GetGUIDLow(), triggerId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleAreaTriggerOpcode: Player '%s' (GUID: %u) too far (trigger map: %u player map: %u), ignore Area Trigger ID: %u",
+ player->GetName().c_str(), atEntry->mapid, player->GetMapId(), player->GetGUIDLow(), triggerId);
+#endif
return;
}
@@ -896,12 +957,16 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket& recv_data)
void WorldSession::HandleUpdateAccountData(WorldPacket &recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_UPDATE_ACCOUNT_DATA");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_UPDATE_ACCOUNT_DATA");
+#endif
uint32 type, timestamp, decompressedSize;
recv_data >> type >> timestamp >> decompressedSize;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "UAD: type %u, time %u, decompressedSize %u", type, timestamp, decompressedSize);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "UAD: type %u, time %u, decompressedSize %u", type, timestamp, decompressedSize);
+#endif
if (type > NUM_ACCOUNT_DATA_TYPES)
return;
@@ -951,12 +1016,16 @@ void WorldSession::HandleUpdateAccountData(WorldPacket &recv_data)
void WorldSession::HandleRequestAccountData(WorldPacket& recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_REQUEST_ACCOUNT_DATA");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_REQUEST_ACCOUNT_DATA");
+#endif
uint32 type;
recv_data >> type;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "RAD: type %u", type);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "RAD: type %u", type);
+#endif
if (type >= NUM_ACCOUNT_DATA_TYPES)
return;
@@ -972,7 +1041,9 @@ void WorldSession::HandleRequestAccountData(WorldPacket& recv_data)
if (size && compress(dest.contents(), &destSize, (uint8 const*)adata->Data.c_str(), size) != Z_OK)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "RAD: Failed to compress account data");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "RAD: Failed to compress account data");
+#endif
return;
}
@@ -989,7 +1060,9 @@ void WorldSession::HandleRequestAccountData(WorldPacket& recv_data)
void WorldSession::HandleSetActionButtonOpcode(WorldPacket& recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_SET_ACTION_BUTTON");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_SET_ACTION_BUTTON");
+#endif
uint8 button;
uint32 packetData;
recv_data >> button >> packetData;
@@ -997,10 +1070,14 @@ void WorldSession::HandleSetActionButtonOpcode(WorldPacket& recv_data)
uint32 action = ACTION_BUTTON_ACTION(packetData);
uint8 type = ACTION_BUTTON_TYPE(packetData);
- ;//sLog->outDetail("BUTTON: %u ACTION: %u TYPE: %u", button, action, type);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("BUTTON: %u ACTION: %u TYPE: %u", button, action, type);
+#endif
if (!packetData)
{
- ;//sLog->outDetail("MISC: Remove action from button %u", button);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MISC: Remove action from button %u", button);
+#endif
GetPlayer()->removeActionButton(button);
}
else
@@ -1009,16 +1086,24 @@ void WorldSession::HandleSetActionButtonOpcode(WorldPacket& recv_data)
{
case ACTION_BUTTON_MACRO:
case ACTION_BUTTON_CMACRO:
- ;//sLog->outDetail("MISC: Added Macro %u into button %u", action, button);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MISC: Added Macro %u into button %u", action, button);
+#endif
break;
case ACTION_BUTTON_EQSET:
- ;//sLog->outDetail("MISC: Added EquipmentSet %u into button %u", action, button);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MISC: Added EquipmentSet %u into button %u", action, button);
+#endif
break;
case ACTION_BUTTON_SPELL:
- ;//sLog->outDetail("MISC: Added Spell %u into button %u", action, button);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MISC: Added Spell %u into button %u", action, button);
+#endif
break;
case ACTION_BUTTON_ITEM:
- ;//sLog->outDetail("MISC: Added Item %u into button %u", action, button);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MISC: Added Item %u into button %u", action, button);
+#endif
break;
default:
sLog->outError("MISC: Unknown action button type %u for action %u into button %u for player %s (GUID: %u)", type, action, button, _player->GetName().c_str(), _player->GetGUIDLow());
@@ -1030,12 +1115,16 @@ void WorldSession::HandleSetActionButtonOpcode(WorldPacket& recv_data)
void WorldSession::HandleCompleteCinematic(WorldPacket & /*recv_data*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_COMPLETE_CINEMATIC");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_COMPLETE_CINEMATIC");
+#endif
}
void WorldSession::HandleNextCinematicCamera(WorldPacket & /*recv_data*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_NEXT_CINEMATIC_CAMERA");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_NEXT_CINEMATIC_CAMERA");
+#endif
}
void WorldSession::HandleMoveTimeSkippedOpcode(WorldPacket & recv_data)
@@ -1048,7 +1137,9 @@ void WorldSession::HandleMoveTimeSkippedOpcode(WorldPacket & recv_data)
void WorldSession::HandleFeatherFallAck(WorldPacket &recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_MOVE_FEATHER_FALL_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_MOVE_FEATHER_FALL_ACK");
+#endif
// no used
recv_data.rfinish(); // prevent warnings spam
@@ -1069,7 +1160,9 @@ void WorldSession::HandleMoveUnRootAck(WorldPacket& recv_data)
return;
}
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_FORCE_MOVE_UNROOT_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_FORCE_MOVE_UNROOT_ACK");
+#endif
recv_data.read_skip<uint32>(); // unk
@@ -1095,7 +1188,9 @@ void WorldSession::HandleMoveRootAck(WorldPacket& recv_data)
return;
}
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_FORCE_MOVE_ROOT_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_FORCE_MOVE_ROOT_ACK");
+#endif
recv_data.read_skip<uint32>(); // unk
@@ -1137,12 +1232,16 @@ void WorldSession::HandleInspectOpcode(WorldPacket& recv_data)
uint64 guid;
recv_data >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_INSPECT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_INSPECT");
+#endif
Player* player = ObjectAccessor::GetPlayer(*_player, guid);
if (!player)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_INSPECT: No player found from GUID: " UI64FMTD, guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_INSPECT: No player found from GUID: " UI64FMTD, guid);
+#endif
return;
}
@@ -1174,7 +1273,9 @@ void WorldSession::HandleInspectHonorStatsOpcode(WorldPacket& recv_data)
Player* player = ObjectAccessor::GetPlayer(*_player, guid);
if (!player)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_INSPECT_HONOR_STATS: No player found from GUID: " UI64FMTD, guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_INSPECT_HONOR_STATS: No player found from GUID: " UI64FMTD, guid);
+#endif
return;
}
@@ -1204,15 +1305,21 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recv_data)
recv_data >> PositionZ;
recv_data >> Orientation; // o (3.141593 = 180 degrees)
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_WORLD_TELEPORT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_WORLD_TELEPORT");
+#endif
if (GetPlayer()->IsInFlight())
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Player '%s' (GUID: %u) in flight, ignore worldport command.", GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Player '%s' (GUID: %u) in flight, ignore worldport command.", GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow());
+#endif
return;
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_WORLD_TELEPORT: Player = %s, Time = %u, map = %u, x = %f, y = %f, z = %f, o = %f", GetPlayer()->GetName().c_str(), time, mapid, PositionX, PositionY, PositionZ, Orientation);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_WORLD_TELEPORT: Player = %s, Time = %u, map = %u, x = %f, y = %f, z = %f, o = %f", GetPlayer()->GetName().c_str(), time, mapid, PositionX, PositionY, PositionZ, Orientation);
+#endif
if (AccountMgr::IsAdminAccount(GetSecurity()))
GetPlayer()->TeleportTo(mapid, PositionX, PositionY, PositionZ, Orientation);
@@ -1222,7 +1329,9 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recv_data)
void WorldSession::HandleWhoisOpcode(WorldPacket& recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_WHOIS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_WHOIS");
+#endif
std::string charname;
recv_data >> charname;
@@ -1277,12 +1386,16 @@ void WorldSession::HandleWhoisOpcode(WorldPacket& recv_data)
data << msg;
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received whois command from player %s for character %s", GetPlayer()->GetName().c_str(), charname.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received whois command from player %s for character %s", GetPlayer()->GetName().c_str(), charname.c_str());
+#endif
}
void WorldSession::HandleComplainOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_COMPLAIN");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_COMPLAIN");
+#endif
uint8 spam_type; // 0 - mail, 1 - chat
uint64 spammer_guid;
@@ -1317,12 +1430,16 @@ void WorldSession::HandleComplainOpcode(WorldPacket & recv_data)
data << uint8(0);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "REPORT SPAM: type %u, guid %u, unk1 %u, unk2 %u, unk3 %u, unk4 %u, message %s", spam_type, GUID_LOPART(spammer_guid), unk1, unk2, unk3, unk4, description.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "REPORT SPAM: type %u, guid %u, unk1 %u, unk2 %u, unk3 %u, unk4 %u, message %s", spam_type, GUID_LOPART(spammer_guid), unk1, unk2, unk3, unk4, description.c_str());
+#endif
}
void WorldSession::HandleRealmSplitOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_REALM_SPLIT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_REALM_SPLIT");
+#endif
uint32 unk;
std::string split_date = "01/01/01";
@@ -1342,22 +1459,30 @@ void WorldSession::HandleRealmSplitOpcode(WorldPacket & recv_data)
void WorldSession::HandleFarSightOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_FAR_SIGHT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_FAR_SIGHT");
+#endif
bool apply;
recvData >> apply;
if (apply)
{
- ;//sLog->outDebug("Added FarSight " UI64FMTD " to player %u", _player->GetUInt64Value(PLAYER_FARSIGHT), _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Added FarSight " UI64FMTD " to player %u", _player->GetUInt64Value(PLAYER_FARSIGHT), _player->GetGUIDLow());
+#endif
if (WorldObject* target = _player->GetViewpoint())
_player->SetSeer(target);
else
- ;//sLog->outError("Player %s requests non-existing seer " UI64FMTD, _player->GetName().c_str(), _player->GetUInt64Value(PLAYER_FARSIGHT));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outError("Player %s requests non-existing seer " UI64FMTD, _player->GetName().c_str(), _player->GetUInt64Value(PLAYER_FARSIGHT));
+#endif
}
else
{
- ;//sLog->outDebug("Player %u set vision to self", _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Player %u set vision to self", _player->GetGUIDLow());
+#endif
_player->SetSeer(_player);
}
@@ -1366,7 +1491,9 @@ void WorldSession::HandleFarSightOpcode(WorldPacket& recvData)
void WorldSession::HandleSetTitleOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_SET_TITLE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_SET_TITLE");
+#endif
int32 title;
recv_data >> title;
@@ -1393,7 +1520,9 @@ void WorldSession::HandleTimeSyncResp(WorldPacket & recv_data)
void WorldSession::HandleResetInstancesOpcode(WorldPacket & /*recv_data*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_RESET_INSTANCES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_RESET_INSTANCES");
+#endif
if (Group* group = _player->GetGroup())
{
@@ -1406,7 +1535,9 @@ void WorldSession::HandleResetInstancesOpcode(WorldPacket & /*recv_data*/)
void WorldSession::HandleSetDungeonDifficultyOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_SET_DUNGEON_DIFFICULTY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_SET_DUNGEON_DIFFICULTY");
+#endif
uint32 mode;
recv_data >> mode;
@@ -1459,7 +1590,9 @@ void WorldSession::HandleSetDungeonDifficultyOpcode(WorldPacket & recv_data)
void WorldSession::HandleSetRaidDifficultyOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_SET_RAID_DIFFICULTY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_SET_RAID_DIFFICULTY");
+#endif
uint32 mode;
recv_data >> mode;
@@ -1616,7 +1749,9 @@ void WorldSession::HandleSetRaidDifficultyOpcode(WorldPacket & recv_data)
void WorldSession::HandleCancelMountAuraOpcode(WorldPacket & /*recv_data*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CANCEL_MOUNT_AURA");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CANCEL_MOUNT_AURA");
+#endif
//If player is not mounted, so go out :)
if (!_player->IsMounted()) // not blizz like; no any messages on blizz
@@ -1638,7 +1773,9 @@ void WorldSession::HandleCancelMountAuraOpcode(WorldPacket & /*recv_data*/)
void WorldSession::HandleMoveSetCanFlyAckOpcode(WorldPacket & recv_data)
{
// fly mode on/off
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_MOVE_SET_CAN_FLY_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_MOVE_SET_CAN_FLY_ACK");
+#endif
uint64 guid; // guid - unused
recv_data.readPackGUID(guid);
@@ -1664,7 +1801,9 @@ void WorldSession::HandleMoveSetCanFlyAckOpcode(WorldPacket & recv_data)
void WorldSession::HandleRequestPetInfoOpcode(WorldPacket & /*recv_data */)
{
/*
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_REQUEST_PET_INFO");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_REQUEST_PET_INFO");
+#endif
recv_data.hexlike();
*/
}
@@ -1676,7 +1815,9 @@ void WorldSession::HandleSetTaxiBenchmarkOpcode(WorldPacket & recv_data)
mode ? _player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_TAXI_BENCHMARK) : _player->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_TAXI_BENCHMARK);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Client used \"/timetest %d\" command", mode);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Client used \"/timetest %d\" command", mode);
+#endif
}
void WorldSession::HandleQueryInspectAchievements(WorldPacket & recv_data)
@@ -1694,7 +1835,9 @@ void WorldSession::HandleQueryInspectAchievements(WorldPacket & recv_data)
void WorldSession::HandleWorldStateUITimerUpdate(WorldPacket& /*recv_data*/)
{
// empty opcode
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_WORLD_STATE_UI_TIMER_UPDATE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_WORLD_STATE_UI_TIMER_UPDATE");
+#endif
WorldPacket data(SMSG_WORLD_STATE_UI_TIMER_UPDATE, 4);
data << uint32(time(NULL));
@@ -1704,7 +1847,9 @@ void WorldSession::HandleWorldStateUITimerUpdate(WorldPacket& /*recv_data*/)
void WorldSession::HandleReadyForAccountDataTimes(WorldPacket& /*recv_data*/)
{
// empty opcode
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_READY_FOR_ACCOUNT_DATA_TIMES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_READY_FOR_ACCOUNT_DATA_TIMES");
+#endif
SendAccountDataTimes(GLOBAL_CACHE_MASK);
}
@@ -1719,7 +1864,9 @@ void WorldSession::SendSetPhaseShift(uint32 PhaseShift)
//Battlefield and Battleground
void WorldSession::HandleAreaSpiritHealerQueryOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AREA_SPIRIT_HEALER_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AREA_SPIRIT_HEALER_QUERY");
+#endif
Battleground* bg = _player->GetBattleground();
@@ -1742,7 +1889,9 @@ void WorldSession::HandleAreaSpiritHealerQueryOpcode(WorldPacket & recv_data)
void WorldSession::HandleAreaSpiritHealerQueueOpcode(WorldPacket & recv_data)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AREA_SPIRIT_HEALER_QUEUE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_AREA_SPIRIT_HEALER_QUEUE");
+#endif
Battleground* bg = _player->GetBattleground();
@@ -1791,7 +1940,9 @@ void WorldSession::HandleInstanceLockResponse(WorldPacket& recvPacket)
if (!_player->HasPendingBind() || _player->GetPendingBind() != _player->GetInstanceId() || (_player->GetGroup() && _player->GetGroup()->isLFGGroup() && _player->GetGroup()->IsLfgRandomInstance()))
{
- ;//sLog->outDetail("InstanceLockResponse: Player %s (guid %u) tried to bind himself/teleport to graveyard without a pending bind!", _player->GetName().c_str(), _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("InstanceLockResponse: Player %s (guid %u) tried to bind himself/teleport to graveyard without a pending bind!", _player->GetName().c_str(), _player->GetGUIDLow());
+#endif
return;
}
@@ -1805,7 +1956,9 @@ void WorldSession::HandleInstanceLockResponse(WorldPacket& recvPacket)
void WorldSession::HandleUpdateMissileTrajectory(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_UPDATE_MISSILE_TRAJECTORY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_UPDATE_MISSILE_TRAJECTORY");
+#endif
uint64 guid;
uint32 spellId;
diff --git a/src/game/Handlers/MovementHandler.cpp b/src/game/Handlers/MovementHandler.cpp
index 8707e76859..1feb9ac65e 100644
--- a/src/game/Handlers/MovementHandler.cpp
+++ b/src/game/Handlers/MovementHandler.cpp
@@ -29,7 +29,9 @@
void WorldSession::HandleMoveWorldportAckOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got MSG_MOVE_WORLDPORT_ACK.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got MSG_MOVE_WORLDPORT_ACK.");
+#endif
HandleMoveWorldportAckOpcode();
}
@@ -222,15 +224,21 @@ void WorldSession::HandleMoveWorldportAckOpcode()
void WorldSession::HandleMoveTeleportAck(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_MOVE_TELEPORT_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_MOVE_TELEPORT_ACK");
+#endif
uint64 guid;
recvData.readPackGUID(guid);
uint32 flags, time;
recvData >> flags >> time; // unused
- ;//sLog->outStaticDebug("Guid " UI64FMTD, guid);
- ;//sLog->outStaticDebug("Flags %u, time %u", flags, time/IN_MILLISECONDS);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Guid " UI64FMTD, guid);
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Flags %u, time %u", flags, time/IN_MILLISECONDS);
+#endif
Player* plMover = _player->m_mover->ToPlayer();
@@ -484,7 +492,9 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
{
uint32 opcode = recvData.GetOpcode();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd %s (%u, 0x%X) opcode", LookupOpcodeName(opcode), opcode, opcode);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd %s (%u, 0x%X) opcode", LookupOpcodeName(opcode), opcode, opcode);
+#endif
/* extract packet */
uint64 guid;
@@ -562,7 +572,9 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_SET_ACTIVE_MOVER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_SET_ACTIVE_MOVER");
+#endif
uint64 guid;
recvData >> guid;
@@ -576,7 +588,9 @@ void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recvData)
void WorldSession::HandleMoveNotActiveMover(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_MOVE_NOT_ACTIVE_MOVER");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_MOVE_NOT_ACTIVE_MOVER");
+#endif
uint64 old_mover_guid;
recvData.readPackGUID(old_mover_guid);
@@ -605,7 +619,9 @@ void WorldSession::HandleMountSpecialAnimOpcode(WorldPacket& /*recvData*/)
void WorldSession::HandleMoveKnockBackAck(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_KNOCK_BACK_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_KNOCK_BACK_ACK");
+#endif
uint64 guid;
recvData.readPackGUID(guid);
@@ -640,7 +656,9 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket & recvData)
void WorldSession::HandleMoveHoverAck(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_HOVER_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_HOVER_ACK");
+#endif
uint64 guid; // guid - unused
recvData.readPackGUID(guid);
@@ -656,7 +674,9 @@ void WorldSession::HandleMoveHoverAck(WorldPacket& recvData)
void WorldSession::HandleMoveWaterWalkAck(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_WATER_WALK_ACK");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_WATER_WALK_ACK");
+#endif
uint64 guid; // guid - unused
recvData.readPackGUID(guid);
diff --git a/src/game/Handlers/NPCHandler.cpp b/src/game/Handlers/NPCHandler.cpp
index 19820f6ca6..3458895bcc 100644
--- a/src/game/Handlers/NPCHandler.cpp
+++ b/src/game/Handlers/NPCHandler.cpp
@@ -44,7 +44,9 @@ void WorldSession::HandleTabardVendorActivateOpcode(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_TABARDDESIGNER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTabardVendorActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTabardVendorActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -66,14 +68,18 @@ void WorldSession::HandleBankerActivateOpcode(WorldPacket & recvData)
{
uint64 guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BANKER_ACTIVATE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_BANKER_ACTIVATE");
+#endif
recvData >> guid;
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_BANKER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleBankerActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleBankerActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -115,12 +121,16 @@ void WorldSession::SendTrainerList(uint64 guid)
void WorldSession::SendTrainerList(uint64 guid, const std::string& strTitle)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList");
+#endif
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_TRAINER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -132,15 +142,18 @@ void WorldSession::SendTrainerList(uint64 guid, const std::string& strTitle)
if (!ci)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList - (GUID: %u) NO CREATUREINFO!", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList - (GUID: %u) NO CREATUREINFO!", GUID_LOPART(guid));
+#endif
return;
}
TrainerSpellData const* trainer_spells = unit->GetTrainerSpells();
if (!trainer_spells)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList - Training spells not found for creature (GUID: %u Entry: %u)",
- // GUID_LOPART(guid), unit->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: SendTrainerList - Training spells not found for creature (GUID: %u Entry: %u)", GUID_LOPART(guid), unit->GetEntry());
+#endif
return;
}
@@ -233,12 +246,16 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket & recvData)
uint32 spellId = 0;
recvData >> guid >> spellId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_TRAINER_BUY_SPELL NpcGUID=%u, learn spell id is: %u", uint32(GUID_LOPART(guid)), spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_TRAINER_BUY_SPELL NpcGUID=%u, learn spell id is: %u", uint32(GUID_LOPART(guid)), spellId);
+#endif
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_TRAINER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTrainerBuySpellOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTrainerBuySpellOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -286,7 +303,9 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket & recvData)
void WorldSession::HandleGossipHelloOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GOSSIP_HELLO");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_GOSSIP_HELLO");
+#endif
uint64 guid;
recvData >> guid;
@@ -294,7 +313,9 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipHelloOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleGossipHelloOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -345,7 +366,9 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recvData)
/*void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_GOSSIP_SELECT_OPTION");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_GOSSIP_SELECT_OPTION");
+#endif
uint32 option;
uint32 unk;
@@ -356,15 +379,21 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recvData)
if (_player->PlayerTalkClass->GossipOptionCoded(option))
{
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "reading string");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "reading string");
+#endif
recvData >> code;
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "string read: %s", code.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "string read: %s", code.c_str());
+#endif
}
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: HandleGossipSelectOptionOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: HandleGossipSelectOptionOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -386,7 +415,9 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recvData)
void WorldSession::HandleSpiritHealerActivateOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SPIRIT_HEALER_ACTIVATE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SPIRIT_HEALER_ACTIVATE");
+#endif
uint64 guid;
@@ -395,7 +426,9 @@ void WorldSession::HandleSpiritHealerActivateOpcode(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_SPIRITHEALER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleSpiritHealerActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleSpiritHealerActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -448,7 +481,9 @@ void WorldSession::HandleBinderActivateOpcode(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(npcGUID, UNIT_NPC_FLAG_INNKEEPER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleBinderActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(npcGUID)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleBinderActivateOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(npcGUID)));
+#endif
return;
}
@@ -480,7 +515,9 @@ void WorldSession::SendBindPoint(Creature* npc)
void WorldSession::HandleListStabledPetsOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv MSG_LIST_STABLED_PETS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv MSG_LIST_STABLED_PETS");
+#endif
uint64 npcGUID;
recvData >> npcGUID;
@@ -516,7 +553,9 @@ void WorldSession::SendStablePetCallback(PreparedQueryResult result, uint64 guid
if (!GetPlayer())
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv MSG_LIST_STABLED_PETS Send.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv MSG_LIST_STABLED_PETS Send.");
+#endif
WorldPacket data(MSG_LIST_STABLED_PETS, 200); // guess size
@@ -573,7 +612,9 @@ void WorldSession::SendStableResult(uint8 res)
void WorldSession::HandleStablePet(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_STABLE_PET");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_STABLE_PET");
+#endif
uint64 npcGUID;
recvData >> npcGUID;
@@ -648,7 +689,9 @@ void WorldSession::HandleStablePetCallback(PreparedQueryResult result)
void WorldSession::HandleUnstablePet(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_UNSTABLE_PET.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_UNSTABLE_PET.");
+#endif
uint64 npcGUID;
uint32 petnumber;
@@ -724,7 +767,9 @@ void WorldSession::HandleUnstablePetCallback(PreparedQueryResult result, uint32
void WorldSession::HandleBuyStableSlot(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_BUY_STABLE_SLOT.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_BUY_STABLE_SLOT.");
+#endif
uint64 npcGUID;
recvData >> npcGUID;
@@ -757,12 +802,16 @@ void WorldSession::HandleBuyStableSlot(WorldPacket & recvData)
void WorldSession::HandleStableRevivePet(WorldPacket &/* recvData */)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleStableRevivePet: Not implemented");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "HandleStableRevivePet: Not implemented");
+#endif
}
void WorldSession::HandleStableSwapPet(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_STABLE_SWAP_PET.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_STABLE_SWAP_PET.");
+#endif
uint64 npcGUID;
uint32 petId;
@@ -852,7 +901,9 @@ void WorldSession::HandleStableSwapPetCallback(PreparedQueryResult result, uint3
void WorldSession::HandleRepairItemOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_REPAIR_ITEM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_REPAIR_ITEM");
+#endif
uint64 npcGUID, itemGUID;
uint8 guildBank; // new in 2.3.2, bool that means from guild bank money
@@ -862,7 +913,9 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(npcGUID, UNIT_NPC_FLAG_REPAIR);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleRepairItemOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(npcGUID)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleRepairItemOpcode - Unit (GUID: %u) not found or you can not interact with him.", uint32(GUID_LOPART(npcGUID)));
+#endif
return;
}
@@ -875,7 +928,9 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket & recvData)
if (itemGUID)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "ITEM: Repair item, itemGUID = %u, npcGUID = %u", GUID_LOPART(itemGUID), GUID_LOPART(npcGUID));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "ITEM: Repair item, itemGUID = %u, npcGUID = %u", GUID_LOPART(itemGUID), GUID_LOPART(npcGUID));
+#endif
Item* item = _player->GetItemByGuid(itemGUID);
if (item)
@@ -883,7 +938,9 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket & recvData)
}
else
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "ITEM: Repair all items, npcGUID = %u", GUID_LOPART(npcGUID));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "ITEM: Repair all items, npcGUID = %u", GUID_LOPART(npcGUID));
+#endif
_player->DurabilityRepairAll(true, discountMod, guildBank);
}
}
diff --git a/src/game/Handlers/PetHandler.cpp b/src/game/Handlers/PetHandler.cpp
index 7142d11dc5..09d278a58d 100644
--- a/src/game/Handlers/PetHandler.cpp
+++ b/src/game/Handlers/PetHandler.cpp
@@ -354,14 +354,17 @@ void WorldSession::HandleDismissCritter(WorldPacket &recvData)
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DISMISS_CRITTER for GUID " UI64FMTD, guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_DISMISS_CRITTER for GUID " UI64FMTD, guid);
+#endif
Unit* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid);
if (!pet)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Vanitypet (guid: %u) does not exist - player '%s' (guid: %u / account: %u) attempted to dismiss it (possibly lagged out)",
- // uint32(GUID_LOPART(guid)), GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow(), GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Vanitypet (guid: %u) does not exist - player '%s' (guid: %u / account: %u) attempted to dismiss it (possibly lagged out)", uint32(GUID_LOPART(guid)), GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow(), GetAccountId());
+#endif
return;
}
@@ -386,7 +389,9 @@ void WorldSession::HandlePetAction(WorldPacket & recvData)
// used also for charmed creature
Unit* pet= ObjectAccessor::GetUnit(*_player, guid1);
- ;//sLog->outDetail("HandlePetAction: Pet %u - flag: %u, spellid: %u, target: %u.", uint32(GUID_LOPART(guid1)), uint32(flag), spellid, uint32(GUID_LOPART(guid2)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("HandlePetAction: Pet %u - flag: %u, spellid: %u, target: %u.", uint32(GUID_LOPART(guid1)), uint32(flag), spellid, uint32(GUID_LOPART(guid2)));
+#endif
if (!pet)
{
@@ -440,7 +445,9 @@ void WorldSession::HandlePetStopAttack(WorldPacket &recvData)
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_PET_STOP_ATTACK for GUID " UI64FMTD "", guid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_PET_STOP_ATTACK for GUID " UI64FMTD "", guid);
+#endif
Unit* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid);
@@ -894,7 +901,9 @@ void WorldSession::HandlePetActionHelper(Unit* pet, uint64 guid1, uint16 spellid
void WorldSession::HandlePetNameQuery(WorldPacket & recvData)
{
- ;//sLog->outDetail("HandlePetNameQuery. CMSG_PET_NAME_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("HandlePetNameQuery. CMSG_PET_NAME_QUERY");
+#endif
uint32 petnumber;
uint64 petguid;
@@ -945,7 +954,9 @@ bool WorldSession::CheckStableMaster(uint64 guid)
{
if (!GetPlayer()->IsGameMaster() && !GetPlayer()->HasAuraType(SPELL_AURA_OPEN_STABLE))
{
- ;//sLog->outStaticDebug("Player (GUID:%u) attempt open stable in cheating way.", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID:%u) attempt open stable in cheating way.", GUID_LOPART(guid));
+#endif
return false;
}
}
@@ -954,7 +965,9 @@ bool WorldSession::CheckStableMaster(uint64 guid)
{
if (!GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_STABLEMASTER))
{
- ;//sLog->outStaticDebug("Stablemaster (GUID:%u) not found or you can't interact with him.", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Stablemaster (GUID:%u) not found or you can't interact with him.", GUID_LOPART(guid));
+#endif
return false;
}
}
@@ -963,7 +976,9 @@ bool WorldSession::CheckStableMaster(uint64 guid)
void WorldSession::HandlePetSetAction(WorldPacket & recvData)
{
- ;//sLog->outDetail("HandlePetSetAction. CMSG_PET_SET_ACTION");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("HandlePetSetAction. CMSG_PET_SET_ACTION");
+#endif
uint64 petguid;
uint8 count;
@@ -1090,7 +1105,9 @@ void WorldSession::HandlePetSetAction(WorldPacket & recvData)
void WorldSession::HandlePetRename(WorldPacket & recvData)
{
- ;//sLog->outDetail("HandlePetRename. CMSG_PET_RENAME");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("HandlePetRename. CMSG_PET_RENAME");
+#endif
uint64 petguid;
uint8 isdeclined;
@@ -1180,7 +1197,9 @@ void WorldSession::HandlePetAbandon(WorldPacket & recvData)
{
uint64 guid;
recvData >> guid; //pet guid
- ;//sLog->outDetail("HandlePetAbandon. CMSG_PET_ABANDON pet guid is %u", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("HandlePetAbandon. CMSG_PET_ABANDON pet guid is %u", GUID_LOPART(guid));
+#endif
if (!_player->IsInWorld())
return;
@@ -1206,7 +1225,9 @@ void WorldSession::HandlePetAbandon(WorldPacket & recvData)
void WorldSession::HandlePetSpellAutocastOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDetail("CMSG_PET_SPELL_AUTOCAST");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("CMSG_PET_SPELL_AUTOCAST");
+#endif
uint64 guid;
uint32 spellid;
uint8 state; //1 for on, 0 for off
@@ -1264,7 +1285,9 @@ void WorldSession::HandlePetSpellAutocastOpcode(WorldPacket& recvPacket)
void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_CAST_SPELL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_CAST_SPELL");
+#endif
uint64 guid;
uint8 castCount;
@@ -1273,7 +1296,9 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket)
recvPacket >> guid >> castCount >> spellId >> castFlags;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_CAST_SPELL, guid: " UI64FMTD ", castCount: %u, spellId %u, castFlags %u", guid, castCount, spellId, castFlags);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_CAST_SPELL, guid: " UI64FMTD ", castCount: %u, spellId %u, castFlags %u", guid, castCount, spellId, castFlags);
+#endif
// This opcode is also sent from charmed and possessed units (players and creatures)
if (!_player->GetGuardianPet() && !_player->GetCharm())
@@ -1381,7 +1406,9 @@ void WorldSession::SendPetNameInvalid(uint32 error, const std::string& name, Dec
void WorldSession::HandlePetLearnTalent(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_LEARN_TALENT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_LEARN_TALENT");
+#endif
uint64 guid;
uint32 talent_id, requested_rank;
@@ -1393,7 +1420,9 @@ void WorldSession::HandlePetLearnTalent(WorldPacket & recvData)
void WorldSession::HandleLearnPreviewTalentsPet(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LEARN_PREVIEW_TALENTS_PET");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LEARN_PREVIEW_TALENTS_PET");
+#endif
uint64 guid;
recvData >> guid;
diff --git a/src/game/Handlers/PetitionsHandler.cpp b/src/game/Handlers/PetitionsHandler.cpp
index e5d8be0e90..60adfb7911 100644
--- a/src/game/Handlers/PetitionsHandler.cpp
+++ b/src/game/Handlers/PetitionsHandler.cpp
@@ -41,7 +41,9 @@ enum CharterCosts
void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_BUY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_BUY");
+#endif
uint64 guidNPC;
uint32 clientIndex; // 1 for guild and arenaslot+1 for arenas in client
@@ -70,13 +72,17 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recvData)
recvData >> clientIndex; // index
recvData.read_skip<uint32>(); // 0
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Petitioner with GUID %u tried sell petition: name %s", GUID_LOPART(guidNPC), name.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Petitioner with GUID %u tried sell petition: name %s", GUID_LOPART(guidNPC), name.c_str());
+#endif
// prevent cheating
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(guidNPC, UNIT_NPC_FLAG_PETITIONER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandlePetitionBuyOpcode - Unit (GUID: %u) not found or you can't interact with him.", GUID_LOPART(guidNPC));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandlePetitionBuyOpcode - Unit (GUID: %u) not found or you can't interact with him.", GUID_LOPART(guidNPC));
+#endif
return;
}
@@ -125,7 +131,9 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recvData)
type = ARENA_TEAM_CHARTER_5v5_TYPE;
break;
default:
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "unknown selection at buy arena petition: %u", clientIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "unknown selection at buy arena petition: %u", clientIndex);
+#endif
return;
}
@@ -201,12 +209,15 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recvData)
// datacorruption
Petition const* petition = sPetitionMgr->GetPetitionByOwnerWithType(_player->GetGUIDLow(), type);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Invalid petition GUIDs: %s", ssInvalidPetitionGUIDs.str().c_str());
CharacterDatabase.EscapeString(name);
SQLTransaction trans = CharacterDatabase.BeginTransaction();
if (petition)
{
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Invalid petition GUIDs: %u", petition->petitionGuid);
+#endif
+
trans->PAppend("DELETE FROM petition WHERE petitionguid = %u", petition->petitionGuid);
trans->PAppend("DELETE FROM petition_sign WHERE petitionguid = %u", petition->petitionGuid);
// xinef: clear petition store
@@ -230,7 +241,9 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recvData)
void WorldSession::HandlePetitionShowSignOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_SHOW_SIGNATURES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_SHOW_SIGNATURES");
+#endif
uint64 petitionguid;
recvData >> petitionguid; // petition guid
@@ -251,7 +264,9 @@ void WorldSession::HandlePetitionShowSignOpcode(WorldPacket& recvData)
Signatures const* signatures = sPetitionMgr->GetSignature(petitionGuidLow);
uint8 signs = signatures ? signatures->signatureMap.size() : 0;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_SHOW_SIGNATURES petition entry: '%u'", petitionGuidLow);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_SHOW_SIGNATURES petition entry: '%u'", petitionGuidLow);
+#endif
WorldPacket data(SMSG_PETITION_SHOW_SIGNATURES, (8+8+4+1+signs*12));
data << uint64(petitionguid); // petition guid
@@ -271,13 +286,17 @@ void WorldSession::HandlePetitionShowSignOpcode(WorldPacket& recvData)
void WorldSession::HandlePetitionQueryOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_QUERY"); // ok
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_QUERY"); // ok
+#endif
uint32 guildguid;
uint64 petitionguid;
recvData >> guildguid; // in Trinity always same as GUID_LOPART(petitionguid)
recvData >> petitionguid; // petition guid
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_QUERY Petition GUID %u Guild GUID %u", GUID_LOPART(petitionguid), guildguid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_QUERY Petition GUID %u Guild GUID %u", GUID_LOPART(petitionguid), guildguid);
+#endif
SendPetitionQueryOpcode(petitionguid);
}
@@ -287,7 +306,9 @@ void WorldSession::SendPetitionQueryOpcode(uint64 petitionguid)
Petition const* petition = sPetitionMgr->GetPetition(GUID_LOPART(petitionguid));
if (!petition)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_QUERY failed for petition (GUID: %u)", GUID_LOPART(petitionguid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_QUERY failed for petition (GUID: %u)", GUID_LOPART(petitionguid));
+#endif
return;
}
@@ -331,7 +352,9 @@ void WorldSession::SendPetitionQueryOpcode(uint64 petitionguid)
void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode MSG_PETITION_RENAME"); // ok
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode MSG_PETITION_RENAME"); // ok
+#endif
uint64 petitionGuid;
std::string newName;
@@ -346,7 +369,9 @@ void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recvData)
Petition const* petition = sPetitionMgr->GetPetition(GUID_LOPART(petitionGuid));
if (!petition)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_QUERY failed for petition (GUID: %u)", GUID_LOPART(petitionGuid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_PETITION_QUERY failed for petition (GUID: %u)", GUID_LOPART(petitionGuid));
+#endif
return;
}
@@ -387,7 +412,9 @@ void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recvData)
// xinef: update petition container
const_cast<Petition*>(petition)->petitionName = newName;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Petition (GUID: %u) renamed to '%s'", GUID_LOPART(petitionGuid), newName.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Petition (GUID: %u) renamed to '%s'", GUID_LOPART(petitionGuid), newName.c_str());
+#endif
WorldPacket data(MSG_PETITION_RENAME, (8+newName.size()+1));
data << uint64(petitionGuid);
data << newName;
@@ -396,7 +423,9 @@ void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recvData)
void WorldSession::HandlePetitionSignOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_SIGN"); // ok
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_PETITION_SIGN"); // ok
+#endif
uint64 petitionGuid;
uint8 unk;
@@ -514,7 +543,9 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recvData)
// xinef: fill petition store
sPetitionMgr->AddSignature(GUID_LOPART(petitionGuid), GetAccountId(), playerGuid);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "PETITION SIGN: GUID %u by player: %s (GUID: %u Account: %u)", GUID_LOPART(petitionGuid), _player->GetName().c_str(), playerGuid, GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "PETITION SIGN: GUID %u by player: %s (GUID: %u Account: %u)", GUID_LOPART(petitionGuid), _player->GetName().c_str(), playerGuid, GetAccountId());
+#endif
WorldPacket data(SMSG_PETITION_SIGN_RESULTS, (8+8+4));
data << uint64(petitionGuid);
@@ -536,12 +567,16 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket & recvData)
void WorldSession::HandlePetitionDeclineOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode MSG_PETITION_DECLINE"); // ok
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode MSG_PETITION_DECLINE"); // ok
+#endif
uint64 petitionguid;
uint64 ownerguid;
recvData >> petitionguid; // petition guid
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Petition %u declined by %u", GUID_LOPART(petitionguid), _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Petition %u declined by %u", GUID_LOPART(petitionguid), _player->GetGUIDLow());
+#endif
Petition const* petition = sPetitionMgr->GetPetition(GUID_LOPART(petitionguid));
if (!petition)
@@ -558,7 +593,9 @@ void WorldSession::HandlePetitionDeclineOpcode(WorldPacket & recvData)
void WorldSession::HandleOfferPetitionOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_OFFER_PETITION"); // ok
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_OFFER_PETITION"); // ok
+#endif
uint64 petitionguid, plguid;
uint32 junk;
@@ -646,7 +683,9 @@ void WorldSession::HandleOfferPetitionOpcode(WorldPacket & recvData)
void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_TURN_IN_PETITION");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode CMSG_TURN_IN_PETITION");
+#endif
// Get petition guid from packet
WorldPacket data;
@@ -659,7 +698,9 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recvData)
if (!item)
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Petition %u turned in by %u", GUID_LOPART(petitionGuid), _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Petition %u turned in by %u", GUID_LOPART(petitionGuid), _player->GetGUIDLow());
+#endif
Petition const* petition = sPetitionMgr->GetPetition(GUID_LOPART(petitionGuid));
if (!petition)
@@ -782,13 +823,17 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recvData)
// Register arena team
sArenaTeamMgr->AddArenaTeam(arenaTeam);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "PetitonsHandler: Arena team (guid: %u) added to ObjectMgr", arenaTeam->GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "PetitonsHandler: Arena team (guid: %u) added to ObjectMgr", arenaTeam->GetId());
+#endif
// Add members
if (signs)
for (SignatureMap::const_iterator itr = signatureCopy.begin(); itr != signatureCopy.end(); ++itr)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "PetitionsHandler: Adding arena team (guid: %u) member %u", arenaTeam->GetId(), memberGUID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "PetitionsHandler: Adding arena team (guid: %u) member %u", arenaTeam->GetId());
+#endif
arenaTeam->AddMember(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER));
}
}
@@ -809,7 +854,9 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recvData)
sPetitionMgr->RemovePetition(GUID_LOPART(petitionGuid));
// created
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TURN IN PETITION GUID %u", GUID_LOPART(petitionGuid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TURN IN PETITION GUID %u", GUID_LOPART(petitionGuid));
+#endif
data.Initialize(SMSG_TURN_IN_PETITION_RESULTS, 4);
data << (uint32)PETITION_TURN_OK;
@@ -818,7 +865,9 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recvData)
void WorldSession::HandlePetitionShowListOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Received CMSG_PETITION_SHOWLIST");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Received CMSG_PETITION_SHOWLIST");
+#endif
uint64 guid;
recvData >> guid;
@@ -831,7 +880,9 @@ void WorldSession::SendPetitionShowList(uint64 guid)
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_PETITIONER);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandlePetitionShowListOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandlePetitionShowListOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -875,5 +926,7 @@ void WorldSession::SendPetitionShowList(uint64 guid)
}
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Sent SMSG_PETITION_SHOWLIST");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Sent SMSG_PETITION_SHOWLIST");
+#endif
}
diff --git a/src/game/Handlers/QueryHandler.cpp b/src/game/Handlers/QueryHandler.cpp
index bb0df7fa5b..99ae110297 100644
--- a/src/game/Handlers/QueryHandler.cpp
+++ b/src/game/Handlers/QueryHandler.cpp
@@ -135,12 +135,15 @@ void WorldSession::HandleCreatureQueryOpcode(WorldPacket & recvData)
}
else
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CREATURE_QUERY - NO CREATURE INFO! (GUID: %u, ENTRY: %u)",
- // GUID_LOPART(guid), entry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CREATURE_QUERY - NO CREATURE INFO! (GUID: %u, ENTRY: %u)", GUID_LOPART(guid), entry);
+#endif
WorldPacket data(SMSG_CREATURE_QUERY_RESPONSE, 4);
data << uint32(entry | 0x80000000);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_CREATURE_QUERY_RESPONSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_CREATURE_QUERY_RESPONSE");
+#endif
}
}
@@ -171,7 +174,9 @@ void WorldSession::HandleGameObjectQueryOpcode(WorldPacket & recvData)
ObjectMgr::GetLocaleString(gameObjectLocale->CastBarCaption, localeConstant, CastBarCaption);
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GAMEOBJECT_QUERY '%s' - Entry: %u. ", info->name.c_str(), entry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GAMEOBJECT_QUERY '%s' - Entry: %u. ", info->name.c_str(), entry);
+#endif
WorldPacket data (SMSG_GAMEOBJECT_QUERY_RESPONSE, 150);
data << uint32(entry);
data << uint32(info->type);
@@ -193,22 +198,30 @@ void WorldSession::HandleGameObjectQueryOpcode(WorldPacket & recvData)
data << uint32(0);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE");
+#endif
}
else
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GAMEOBJECT_QUERY - Missing gameobject info for (GUID: %u, ENTRY: %u)",
- // GUID_LOPART(guid), entry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GAMEOBJECT_QUERY - Missing gameobject info for (GUID: %u, ENTRY: %u)",
+ GUID_LOPART(guid), entry);
+#endif
WorldPacket data (SMSG_GAMEOBJECT_QUERY_RESPONSE, 4);
data << uint32(entry | 0x80000000);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_GAMEOBJECT_QUERY_RESPONSE");
+#endif
}
}
void WorldSession::HandleCorpseQueryOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_CORPSE_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_CORPSE_QUERY");
+#endif
Corpse* corpse = GetPlayer()->GetCorpse();
@@ -263,7 +276,9 @@ void WorldSession::HandleNpcTextQueryOpcode(WorldPacket & recvData)
uint64 guid;
recvData >> textID;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_NPC_TEXT_QUERY ID '%u'", textID);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_NPC_TEXT_QUERY ID '%u'", textID);
+#endif
recvData >> guid;
@@ -340,13 +355,17 @@ void WorldSession::HandleNpcTextQueryOpcode(WorldPacket & recvData)
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_NPC_TEXT_UPDATE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_NPC_TEXT_UPDATE");
+#endif
}
/// Only _static_ data is sent in this packet !!!
void WorldSession::HandlePageTextQueryOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_PAGE_TEXT_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_PAGE_TEXT_QUERY");
+#endif
uint32 pageID;
recvData >> pageID;
@@ -380,13 +399,17 @@ void WorldSession::HandlePageTextQueryOpcode(WorldPacket & recvData)
}
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_PAGE_TEXT_QUERY_RESPONSE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_PAGE_TEXT_QUERY_RESPONSE");
+#endif
}
}
void WorldSession::HandleCorpseMapPositionQuery(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_CORPSE_MAP_POSITION_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recv CMSG_CORPSE_MAP_POSITION_QUERY");
+#endif
uint32 unk;
recvData >> unk;
diff --git a/src/game/Handlers/QuestHandler.cpp b/src/game/Handlers/QuestHandler.cpp
index abb17fd51a..8650e309cf 100644
--- a/src/game/Handlers/QuestHandler.cpp
+++ b/src/game/Handlers/QuestHandler.cpp
@@ -30,7 +30,9 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket & recvData)
Object* questGiver = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
if (!questGiver)
{
- ;//sLog->outDetail("Error in CMSG_QUESTGIVER_STATUS_QUERY, called for not found questgiver (Typeid: %u GUID: %u)", GuidHigh2TypeId(GUID_HIPART(guid)), GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Error in CMSG_QUESTGIVER_STATUS_QUERY, called for not found questgiver (Typeid: %u GUID: %u)", GuidHigh2TypeId(GUID_HIPART(guid)), GUID_LOPART(guid));
+#endif
return;
}
@@ -38,14 +40,18 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket & recvData)
{
case TYPEID_UNIT:
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc, guid = %u", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc, guid = %u", uint32(GUID_LOPART(guid)));
+#endif
if (!questGiver->ToCreature()->IsHostileTo(_player)) // do not show quest status to enemies
questStatus = _player->GetQuestDialogStatus(questGiver);
break;
}
case TYPEID_GAMEOBJECT:
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u", uint32(GUID_LOPART(guid)));
+#endif
questStatus = _player->GetQuestDialogStatus(questGiver);
break;
}
@@ -63,13 +69,16 @@ void WorldSession::HandleQuestgiverHelloOpcode(WorldPacket & recvData)
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_HELLO npc = %u", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_HELLO npc = %u", GUID_LOPART(guid));
+#endif
Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE);
if (!creature)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleQuestgiverHelloOpcode - Unit (GUID: %u) not found or you can't interact with him.",
- // GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleQuestgiverHelloOpcode - Unit (GUID: %u) not found or you can't interact with him.", GUID_LOPART(guid));
+#endif
return;
}
@@ -96,7 +105,9 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket & recvData)
uint32 unk1;
recvData >> guid >> questId >> unk1;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_ACCEPT_QUEST npc = %u, quest = %u, unk1 = %u", uint32(GUID_LOPART(guid)), questId, unk1);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_ACCEPT_QUEST npc = %u, quest = %u, unk1 = %u", uint32(GUID_LOPART(guid)), questId, unk1);
+#endif
Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT|TYPEMASK_ITEM|TYPEMASK_PLAYER);
@@ -185,7 +196,9 @@ void WorldSession::HandleQuestgiverQueryQuestOpcode(WorldPacket & recvData)
uint32 questId;
uint8 unk1;
recvData >> guid >> questId >> unk1;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_QUERY_QUEST npc = %u, quest = %u, unk1 = %u", uint32(GUID_LOPART(guid)), questId, unk1);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_QUERY_QUEST npc = %u, quest = %u, unk1 = %u", uint32(GUID_LOPART(guid)), questId, unk1);
+#endif
// Verify that the guid is valid and is a questgiver or involved in the requested quest
Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM);
@@ -220,7 +233,9 @@ void WorldSession::HandleQuestQueryOpcode(WorldPacket & recvData)
uint32 questId;
recvData >> questId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUEST_QUERY quest = %u", questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUEST_QUERY quest = %u", questId);
+#endif
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
_player->PlayerTalkClass->SendQuestQueryResponse(quest);
@@ -238,7 +253,9 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket & recvData)
return;
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_CHOOSE_REWARD npc = %u, quest = %u, reward = %u", uint32(GUID_LOPART(guid)), questId, reward);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_CHOOSE_REWARD npc = %u, quest = %u, reward = %u", uint32(GUID_LOPART(guid)), questId, reward);
+#endif
Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
if (!object || !object->hasInvolvedQuest(questId))
@@ -318,7 +335,9 @@ void WorldSession::HandleQuestgiverRequestRewardOpcode(WorldPacket & recvData)
uint64 guid;
recvData >> guid >> questId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_REQUEST_REWARD npc = %u, quest = %u", uint32(GUID_LOPART(guid)), questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_REQUEST_REWARD npc = %u, quest = %u", uint32(GUID_LOPART(guid)), questId);
+#endif
Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
if (!object || !object->hasInvolvedQuest(questId))
@@ -340,7 +359,9 @@ void WorldSession::HandleQuestgiverRequestRewardOpcode(WorldPacket & recvData)
void WorldSession::HandleQuestgiverCancel(WorldPacket& /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_CANCEL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_CANCEL");
+#endif
_player->PlayerTalkClass->SendCloseGossip();
}
@@ -353,7 +374,9 @@ void WorldSession::HandleQuestLogSwapQuest(WorldPacket& recvData)
if (slot1 == slot2 || slot1 >= MAX_QUEST_LOG_SIZE || slot2 >= MAX_QUEST_LOG_SIZE)
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTLOG_SWAP_QUEST slot 1 = %u, slot 2 = %u", slot1, slot2);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTLOG_SWAP_QUEST slot 1 = %u, slot 2 = %u", slot1, slot2);
+#endif
GetPlayer()->SwapQuestSlot(slot1, slot2);
}
@@ -363,7 +386,9 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recvData)
uint8 slot;
recvData >> slot;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTLOG_REMOVE_QUEST slot = %u", slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTLOG_REMOVE_QUEST slot = %u", slot);
+#endif
if (slot < MAX_QUEST_LOG_SIZE)
{
@@ -388,7 +413,9 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recvData)
_player->RemoveActiveQuest(questId);
_player->RemoveTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, questId);
- ;//sLog->outDetail("Player %u abandoned quest %u", _player->GetGUIDLow(), questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Player %u abandoned quest %u", _player->GetGUIDLow(), questId);
+#endif
}
_player->SetQuestSlot(slot, 0);
@@ -402,7 +429,9 @@ void WorldSession::HandleQuestConfirmAccept(WorldPacket& recvData)
uint32 questId;
recvData >> questId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUEST_CONFIRM_ACCEPT quest = %u", questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUEST_CONFIRM_ACCEPT quest = %u", questId);
+#endif
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
{
@@ -439,7 +468,9 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPacket& recvData)
recvData >> guid >> questId;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_COMPLETE_QUEST npc = %u, quest = %u", uint32(GUID_LOPART(guid)), questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_COMPLETE_QUEST npc = %u, quest = %u", uint32(GUID_LOPART(guid)), questId);
+#endif
Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
if (!object || !object->hasInvolvedQuest(questId))
@@ -481,7 +512,9 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPacket& recvData)
void WorldSession::HandleQuestgiverQuestAutoLaunch(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_QUEST_AUTOLAUNCH");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_QUEST_AUTOLAUNCH");
+#endif
}
void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket)
@@ -492,7 +525,9 @@ void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket)
if (!_player->CanShareQuest(questId))
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_PUSHQUESTTOPARTY quest = %u", questId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_PUSHQUESTTOPARTY quest = %u", questId);
+#endif
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
{
@@ -559,7 +594,9 @@ void WorldSession::HandleQuestPushResult(WorldPacket& recvPacket)
uint8 msg;
recvPacket >> guid >> questId >> msg;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_QUEST_PUSH_RESULT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received MSG_QUEST_PUSH_RESULT");
+#endif
if (_player->GetDivider() && _player->GetDivider() == guid)
{
@@ -576,7 +613,9 @@ void WorldSession::HandleQuestPushResult(WorldPacket& recvPacket)
void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY");
+#endif
uint32 count = 0;
diff --git a/src/game/Handlers/ReferAFriendHandler.cpp b/src/game/Handlers/ReferAFriendHandler.cpp
index 45a2121867..ecf654952c 100644
--- a/src/game/Handlers/ReferAFriendHandler.cpp
+++ b/src/game/Handlers/ReferAFriendHandler.cpp
@@ -12,7 +12,9 @@
void WorldSession::HandleGrantLevel(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GRANT_LEVEL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GRANT_LEVEL");
+#endif
uint64 guid;
recvData.readPackGUID(guid);
@@ -54,7 +56,9 @@ void WorldSession::HandleGrantLevel(WorldPacket& recvData)
void WorldSession::HandleAcceptGrantLevel(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ACCEPT_LEVEL_GRANT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_ACCEPT_LEVEL_GRANT");
+#endif
uint64 guid;
recvData.readPackGUID(guid);
diff --git a/src/game/Handlers/SkillHandler.cpp b/src/game/Handlers/SkillHandler.cpp
index 837a40b602..ab6884b13e 100644
--- a/src/game/Handlers/SkillHandler.cpp
+++ b/src/game/Handlers/SkillHandler.cpp
@@ -26,7 +26,9 @@ void WorldSession::HandleLearnTalentOpcode(WorldPacket & recvData)
void WorldSession::HandleLearnPreviewTalents(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LEARN_PREVIEW_TALENTS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LEARN_PREVIEW_TALENTS");
+#endif
uint32 talentsCount;
recvPacket >> talentsCount;
@@ -50,14 +52,18 @@ void WorldSession::HandleLearnPreviewTalents(WorldPacket& recvPacket)
void WorldSession::HandleTalentWipeConfirmOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_TALENT_WIPE_CONFIRM");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_TALENT_WIPE_CONFIRM");
+#endif
uint64 guid;
recvData >> guid;
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_TRAINER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTalentWipeConfirmOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTalentWipeConfirmOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
diff --git a/src/game/Handlers/SpellHandler.cpp b/src/game/Handlers/SpellHandler.cpp
index 0f7650d4a5..b87646b149 100644
--- a/src/game/Handlers/SpellHandler.cpp
+++ b/src/game/Handlers/SpellHandler.cpp
@@ -82,7 +82,9 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
return;
}
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_USE_ITEM packet, bagIndex: %u, slot: %u, castCount: %u, spellId: %u, Item: %u, glyphIndex: %u, data length = %i", bagIndex, slot, castCount, spellId, pItem->GetEntry(), glyphIndex, (uint32)recvPacket.size());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_USE_ITEM packet, bagIndex: %u, slot: %u, castCount: %u, spellId: %u, Item: %u, glyphIndex: %u, data length = %i", bagIndex, slot, castCount, spellId, pItem->GetEntry(), glyphIndex, (uint32)recvPacket.size());
+#endif
ItemTemplate const* proto = pItem->GetTemplate();
if (!proto)
@@ -159,7 +161,9 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
void WorldSession::HandleOpenItemOpcode(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_OPEN_ITEM packet, data length = %i", (uint32)recvPacket.size());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_OPEN_ITEM packet, data length = %i", (uint32)recvPacket.size());
+#endif
Player* pUser = _player;
@@ -178,7 +182,9 @@ void WorldSession::HandleOpenItemOpcode(WorldPacket& recvPacket)
recvPacket >> bagIndex >> slot;
- ;//sLog->outDetail("bagIndex: %u, slot: %u", bagIndex, slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("bagIndex: %u, slot: %u", bagIndex, slot);
+#endif
Item* item = pUser->GetItemByPos(bagIndex, slot);
if (!item)
@@ -285,7 +291,9 @@ void WorldSession::HandleGameObjectUseOpcode(WorldPacket & recvData)
uint64 guid;
recvData >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_GAMEOBJ_USE Message [guid=%u]", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_GAMEOBJ_USE Message [guid=%u]", GUID_LOPART(guid));
+#endif
if (GameObject* obj = GetPlayer()->GetMap()->GetGameObject(guid))
{
@@ -306,7 +314,9 @@ void WorldSession::HandleGameobjectReportUse(WorldPacket& recvPacket)
uint64 guid;
recvPacket >> guid;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_GAMEOBJ_REPORT_USE Message [in game guid: %u]", GUID_LOPART(guid));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_GAMEOBJ_REPORT_USE Message [in game guid: %u]", GUID_LOPART(guid));
+#endif
// ignore for remote control state
if (_player->m_mover != _player)
@@ -331,7 +341,9 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
uint8 castCount, castFlags;
recvPacket >> castCount >> spellId >> castFlags;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got cast spell packet, castCount: %u, spellId: %u, castFlags: %u, data length = %u", castCount, spellId, castFlags, (uint32)recvPacket.size());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got cast spell packet, castCount: %u, spellId: %u, castFlags: %u, data length = %u", castCount, spellId, castFlags, (uint32)recvPacket.size());
+#endif
// ignore for remote control state (for player case)
Unit* mover = _player->m_mover;
@@ -559,7 +571,9 @@ void WorldSession::HandleTotemDestroyed(WorldPacket& recvPacket)
void WorldSession::HandleSelfResOpcode(WorldPacket & /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SELF_RES"); // empty opcode
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SELF_RES"); // empty opcode
+#endif
if (_player->HasAuraType(SPELL_AURA_PREVENT_RESURRECTION))
return; // silent return, client should display error by itself and not send this opcode
@@ -597,7 +611,9 @@ void WorldSession::HandleSpellClick(WorldPacket& recvData)
void WorldSession::HandleMirrorImageDataRequest(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GET_MIRRORIMAGE_DATA");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_GET_MIRRORIMAGE_DATA");
+#endif
uint64 guid;
recvData >> guid;
@@ -690,7 +706,9 @@ void WorldSession::HandleMirrorImageDataRequest(WorldPacket & recvData)
void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_UPDATE_PROJECTILE_POSITION");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_UPDATE_PROJECTILE_POSITION");
+#endif
uint64 casterGuid;
uint32 spellId;
diff --git a/src/game/Handlers/TaxiHandler.cpp b/src/game/Handlers/TaxiHandler.cpp
index 7347932bc4..92bcddc72d 100644
--- a/src/game/Handlers/TaxiHandler.cpp
+++ b/src/game/Handlers/TaxiHandler.cpp
@@ -17,7 +17,9 @@
void WorldSession::HandleTaxiNodeStatusQueryOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_TAXINODE_STATUS_QUERY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_TAXINODE_STATUS_QUERY");
+#endif
uint64 guid;
@@ -31,7 +33,9 @@ void WorldSession::SendTaxiStatus(uint64 guid)
Creature* unit = GetPlayer()->GetMap()->GetCreature(guid);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WorldSession::SendTaxiStatus - Unit (GUID: %u) not found.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WorldSession::SendTaxiStatus - Unit (GUID: %u) not found.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -41,18 +45,24 @@ void WorldSession::SendTaxiStatus(uint64 guid)
if (curloc == 0)
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: current location %u ", curloc);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: current location %u ", curloc);
+#endif
WorldPacket data(SMSG_TAXINODE_STATUS, 9);
data << guid;
data << uint8(GetPlayer()->m_taxi.IsTaximaskNodeKnown(curloc) ? 1 : 0);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_TAXINODE_STATUS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_TAXINODE_STATUS");
+#endif
}
void WorldSession::HandleTaxiQueryAvailableNodes(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_TAXIQUERYAVAILABLENODES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_TAXIQUERYAVAILABLENODES");
+#endif
uint64 guid;
recvData >> guid;
@@ -61,7 +71,9 @@ void WorldSession::HandleTaxiQueryAvailableNodes(WorldPacket & recvData)
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_FLIGHTMASTER);
if (!unit)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTaxiQueryAvailableNodes - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleTaxiQueryAvailableNodes - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -88,7 +100,9 @@ void WorldSession::SendTaxiMenu(Creature* unit)
bool lastTaxiCheaterState = GetPlayer()->isTaxiCheater();
if (unit->GetEntry() == 29480) GetPlayer()->SetTaxiCheater(true); // Grimwing in Ebon Hold, special case. NOTE: Not perfect, Zul'Aman should not be included according to WoWhead, and I think taxicheat includes it.
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_TAXINODE_STATUS_QUERY %u ", curloc);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_TAXINODE_STATUS_QUERY %u ", curloc);
+#endif
WorldPacket data(SMSG_SHOWTAXINODES, (4 + 8 + 4 + 8 * 4));
data << uint32(1);
@@ -97,7 +111,9 @@ void WorldSession::SendTaxiMenu(Creature* unit)
GetPlayer()->m_taxi.AppendTaximaskTo(data, GetPlayer()->isTaxiCheater());
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_SHOWTAXINODES");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_SHOWTAXINODES");
+#endif
GetPlayer()->SetTaxiCheater(lastTaxiCheaterState);
}
@@ -152,7 +168,9 @@ void WorldSession::SendDiscoverNewTaxiNode(uint32 nodeid)
void WorldSession::HandleActivateTaxiExpressOpcode (WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXIEXPRESS");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXIEXPRESS");
+#endif
uint64 guid;
uint32 node_count;
@@ -162,7 +180,9 @@ void WorldSession::HandleActivateTaxiExpressOpcode (WorldPacket & recvData)
Creature* npc = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_FLIGHTMASTER);
if (!npc)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleActivateTaxiExpressOpcode - Unit (GUID: %u) not found or you can't interact with it.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleActivateTaxiExpressOpcode - Unit (GUID: %u) not found or you can't interact with it.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
std::vector<uint32> nodes;
@@ -185,14 +205,18 @@ void WorldSession::HandleActivateTaxiExpressOpcode (WorldPacket & recvData)
if (nodes.empty())
return;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXIEXPRESS from %d to %d", nodes.front(), nodes.back());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXIEXPRESS from %d to %d", nodes.front(), nodes.back());
+#endif
GetPlayer()->ActivateTaxiPathTo(nodes, npc, 0);
}
void WorldSession::HandleMoveSplineDoneOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_MOVE_SPLINE_DONE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_MOVE_SPLINE_DONE");
+#endif
uint64 guid; // used only for proper packet read
recvData.readPackGUID(guid);
@@ -206,18 +230,24 @@ void WorldSession::HandleMoveSplineDoneOpcode(WorldPacket& recvData)
void WorldSession::HandleActivateTaxiOpcode(WorldPacket & recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXI");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXI");
+#endif
uint64 guid;
std::vector<uint32> nodes;
nodes.resize(2);
recvData >> guid >> nodes[0] >> nodes[1];
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXI from %d to %d", nodes[0], nodes[1]);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ACTIVATETAXI from %d to %d", nodes[0], nodes[1]);
+#endif
Creature* npc = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_FLIGHTMASTER);
if (!npc)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleActivateTaxiOpcode - Unit (GUID: %u) not found or you can't interact with it.", uint32(GUID_LOPART(guid)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleActivateTaxiOpcode - Unit (GUID: %u) not found or you can't interact with it.", uint32(GUID_LOPART(guid)));
+#endif
return;
}
@@ -239,5 +269,7 @@ void WorldSession::SendActivateTaxiReply(ActivateTaxiReply reply)
data << uint32(reply);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ACTIVATETAXIREPLY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Sent SMSG_ACTIVATETAXIREPLY");
+#endif
}
diff --git a/src/game/Handlers/TradeHandler.cpp b/src/game/Handlers/TradeHandler.cpp
index c10127e634..0b5732479e 100644
--- a/src/game/Handlers/TradeHandler.cpp
+++ b/src/game/Handlers/TradeHandler.cpp
@@ -58,13 +58,17 @@ void WorldSession::SendTradeStatus(TradeStatus status)
void WorldSession::HandleIgnoreTradeOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Ignore Trade %u", _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Ignore Trade %u", _player->GetGUIDLow());
+#endif
// recvPacket.print_storage();
}
void WorldSession::HandleBusyTradeOpcode(WorldPacket& /*recvPacket*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Busy Trade %u", _player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Busy Trade %u", _player->GetGUIDLow());
+#endif
// recvPacket.print_storage();
}
@@ -139,7 +143,9 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[])
if (myItems[i])
{
// logging
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "partner storing: %u", myItems[i]->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "partner storing: %u", myItems[i]->GetGUIDLow());
+#endif
// adjust time (depends on /played)
if (myItems[i]->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_BOP_TRADEABLE))
@@ -150,7 +156,9 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[])
if (hisItems[i])
{
// logging
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "player storing: %u", hisItems[i]->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "player storing: %u", hisItems[i]->GetGUIDLow());
+#endif
// adjust time (depends on /played)
if (hisItems[i]->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAG_BOP_TRADEABLE))
@@ -198,7 +206,9 @@ static void setAcceptTradeMode(TradeData* myTrade, TradeData* hisTrade, Item* *m
{
if (Item* item = myTrade->GetItem(TradeSlots(i)))
{
- ;//sLog->outStaticDebug("player trade item %u bag: %u slot: %u", item->GetGUIDLow(), item->GetBagSlot(), item->GetSlot());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("player trade item %u bag: %u slot: %u", item->GetGUIDLow(), item->GetBagSlot(), item->GetSlot());
+#endif
//Can return NULL
myItems[i] = item;
myItems[i]->SetInTrade();
@@ -206,7 +216,9 @@ static void setAcceptTradeMode(TradeData* myTrade, TradeData* hisTrade, Item* *m
if (Item* item = hisTrade->GetItem(TradeSlots(i)))
{
- ;//sLog->outStaticDebug("partner trade item %u bag: %u slot: %u", item->GetGUIDLow(), item->GetBagSlot(), item->GetSlot());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("partner trade item %u bag: %u slot: %u", item->GetGUIDLow(), item->GetBagSlot(), item->GetSlot());
+#endif
hisItems[i] = item;
hisItems[i]->SetInTrade();
}
diff --git a/src/game/Handlers/VehicleHandler.cpp b/src/game/Handlers/VehicleHandler.cpp
index 42494a6424..f0b211f599 100644
--- a/src/game/Handlers/VehicleHandler.cpp
+++ b/src/game/Handlers/VehicleHandler.cpp
@@ -14,7 +14,9 @@
void WorldSession::HandleDismissControlledVehicle(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_DISMISS_CONTROLLED_VEHICLE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_DISMISS_CONTROLLED_VEHICLE");
+#endif
uint64 vehicleGUID = _player->GetCharmGUID();
@@ -47,7 +49,9 @@ void WorldSession::HandleDismissControlledVehicle(WorldPacket &recvData)
void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE");
+#endif
Unit* vehicle_base = GetPlayer()->GetVehicleBase();
if (!vehicle_base)
@@ -216,7 +220,9 @@ void WorldSession::HandleEjectPassenger(WorldPacket &data)
void WorldSession::HandleRequestVehicleExit(WorldPacket& /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_REQUEST_VEHICLE_EXIT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_REQUEST_VEHICLE_EXIT");
+#endif
if (Vehicle* vehicle = GetPlayer()->GetVehicle())
{
diff --git a/src/game/Handlers/VoiceChatHandler.cpp b/src/game/Handlers/VoiceChatHandler.cpp
index 452f43c3ba..2bef115378 100644
--- a/src/game/Handlers/VoiceChatHandler.cpp
+++ b/src/game/Handlers/VoiceChatHandler.cpp
@@ -12,7 +12,9 @@
void WorldSession::HandleVoiceSessionEnableOpcode(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_VOICE_SESSION_ENABLE");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_VOICE_SESSION_ENABLE");
+#endif
// uint8 isVoiceEnabled, uint8 isMicrophoneEnabled
recvData.read_skip<uint8>();
recvData.read_skip<uint8>();
@@ -20,13 +22,17 @@ void WorldSession::HandleVoiceSessionEnableOpcode(WorldPacket& recvData)
void WorldSession::HandleChannelVoiceOnOpcode(WorldPacket& /*recvData*/)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CHANNEL_VOICE_ON");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_CHANNEL_VOICE_ON");
+#endif
// Enable Voice button in channel context menu
}
void WorldSession::HandleSetActiveVoiceChannel(WorldPacket& recvData)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SET_ACTIVE_VOICE_CHANNEL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_SET_ACTIVE_VOICE_CHANNEL");
+#endif
recvData.read_skip<uint32>();
recvData.read_skip<char*>();
}
diff --git a/src/game/Instances/InstanceScript.cpp b/src/game/Instances/InstanceScript.cpp
index 72fc24d3d8..e2e5e49d5e 100644
--- a/src/game/Instances/InstanceScript.cpp
+++ b/src/game/Instances/InstanceScript.cpp
@@ -43,7 +43,9 @@ void InstanceScript::HandleGameObject(uint64 GUID, bool open, GameObject* go)
if (go)
go->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
else
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: InstanceScript: HandleGameObject failed");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: InstanceScript: HandleGameObject failed");
+#endif
}
bool InstanceScript::IsEncounterInProgress() const
@@ -64,7 +66,9 @@ void InstanceScript::LoadMinionData(const MinionData* data)
++data;
}
- ;//sLog->outDebug(LOG_FILTER_TSCR, "InstanceScript::LoadMinionData: " UI64FMTD " minions loaded.", uint64(minions.size()));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "InstanceScript::LoadMinionData: " UI64FMTD " minions loaded.", uint64(minions.size()));
+#endif
}
void InstanceScript::LoadDoorData(const DoorData* data)
@@ -76,7 +80,9 @@ void InstanceScript::LoadDoorData(const DoorData* data)
++data;
}
- ;//sLog->outDebug(LOG_FILTER_TSCR, "InstanceScript::LoadDoorData: " UI64FMTD " doors loaded.", uint64(doors.size()));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "InstanceScript::LoadDoorData: " UI64FMTD " doors loaded.", uint64(doors.size()));
+#endif
}
void InstanceScript::UpdateMinionState(Creature* minion, EncounterState state)
@@ -295,7 +301,9 @@ void InstanceScript::DoUpdateWorldState(uint32 uiStateId, uint32 uiStateData)
player->SendUpdateWorldState(uiStateId, uiStateData);
}
else
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: DoUpdateWorldState attempt send data but no players in map.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: DoUpdateWorldState attempt send data but no players in map.");
+#endif
}
// Send Notify to all players in instance
diff --git a/src/game/Instances/InstanceScript.h b/src/game/Instances/InstanceScript.h
index 8f99c9f2dd..e4f3ef3967 100644
--- a/src/game/Instances/InstanceScript.h
+++ b/src/game/Instances/InstanceScript.h
@@ -13,10 +13,18 @@
//#include "GameObject.h"
//#include "Map.h"
-#define OUT_SAVE_INST_DATA ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Saving Instance Data for Instance %s (Map %d, Instance Id %d)", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
-#define OUT_SAVE_INST_DATA_COMPLETE ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Saving Instance Data for Instance %s (Map %d, Instance Id %d) completed.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
-#define OUT_LOAD_INST_DATA(a) ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Loading Instance Data for Instance %s (Map %d, Instance Id %d). Input is '%s'", instance->GetMapName(), instance->GetId(), instance->GetInstanceId(), a)
-#define OUT_LOAD_INST_DATA_COMPLETE ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Data Load for Instance %s (Map %d, Instance Id: %d) is complete.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+#define OUT_SAVE_INST_DATA sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Saving Instance Data for Instance %s (Map %d, Instance Id %d)", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+#define OUT_SAVE_INST_DATA_COMPLETE sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Saving Instance Data for Instance %s (Map %d, Instance Id %d) completed.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+#define OUT_LOAD_INST_DATA(a) sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Loading Instance Data for Instance %s (Map %d, Instance Id %d). Input is '%s'", instance->GetMapName(), instance->GetId(), instance->GetInstanceId(), a)
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+#define OUT_LOAD_INST_DATA_COMPLETE sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Data Load for Instance %s (Map %d, Instance Id: %d) is complete.", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
+#endif
#define OUT_LOAD_INST_DATA_FAIL sLog->outError("TSCR: Unable to load Instance Data for Instance %s (Map %d, Instance Id: %d).", instance->GetMapName(), instance->GetId(), instance->GetInstanceId())
class Map;
diff --git a/src/game/Maps/Map.cpp b/src/game/Maps/Map.cpp
index 5fa7b8d759..ffae01742a 100644
--- a/src/game/Maps/Map.cpp
+++ b/src/game/Maps/Map.cpp
@@ -114,13 +114,19 @@ void Map::LoadMMap(int gx, int gy)
switch (mmapLoadResult)
{
case MMAP::MMAP_LOAD_RESULT_OK:
- ;//sLog->outDetail("MMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#endif
break;
case MMAP::MMAP_LOAD_RESULT_ERROR:
- ;//sLog->outDetail("Could not load MMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Could not load MMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#endif
break;
case MMAP::MMAP_LOAD_RESULT_IGNORED:
- ;//sLog->outStaticDebug("Ignored MMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Ignored MMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#endif
break;
}
}
@@ -132,13 +138,19 @@ void Map::LoadVMap(int gx, int gy)
switch (vmapLoadResult)
{
case VMAP::VMAP_LOAD_RESULT_OK:
- ;//sLog->outDetail("VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#endif
break;
case VMAP::VMAP_LOAD_RESULT_ERROR:
- ;//sLog->outDetail("Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#endif
break;
case VMAP::VMAP_LOAD_RESULT_IGNORED:
- ;//sLog->outStaticDebug("Ignored VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Ignored VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+#endif
break;
}
}
@@ -163,7 +175,9 @@ void Map::LoadMap(int gx, int gy, bool reload)
//map already load, delete it before reloading (Is it necessary? Do we really need the ability the reload maps during runtime?)
if (GridMaps[gx][gy])
{
- ;//sLog->outDetail("Unloading previously loaded map %u before reloading.", GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Unloading previously loaded map %u before reloading.", GetId());
+#endif
sScriptMgr->OnUnloadGridMap(this, GridMaps[gx][gy], gx, gy);
delete (GridMaps[gx][gy]);
@@ -175,7 +189,9 @@ void Map::LoadMap(int gx, int gy, bool reload)
int len = sWorld->GetDataPath().length()+strlen("maps/%03u%02u%02u.map")+1;
tmp = new char[len];
snprintf(tmp, len, (char *)(sWorld->GetDataPath()+"maps/%03u%02u%02u.map").c_str(), GetId(), gx, gy);
- ;//sLog->outDetail("Loading map %s", tmp);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Loading map %s", tmp);
+#endif
// loading data
GridMaps[gx][gy] = new GridMap();
if (!GridMaps[gx][gy]->loadData(tmp))
@@ -300,7 +316,9 @@ void Map::SwitchGridContainers(Creature* obj, bool on)
if (!IsGridLoaded(GridCoord(cell.data.Part.grid_x, cell.data.Part.grid_y)))
return;
- ;//sLog->outStaticDebug("Switch object " UI64FMTD " from grid[%u, %u] %u", obj->GetGUID(), cell.data.Part.grid_x, cell.data.Part.grid_y, on);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Switch object " UI64FMTD " from grid[%u, %u] %u", obj->GetGUID(), cell.data.Part.grid_x, cell.data.Part.grid_y, on);
+#endif
NGridType *ngrid = getNGrid(cell.GridX(), cell.GridY());
ASSERT(ngrid != NULL);
@@ -424,7 +442,9 @@ bool Map::EnsureGridLoaded(const Cell &cell)
{
//if (!isGridObjectDataLoaded(cell.GridX(), cell.GridY()))
//{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "Loading grid[%u, %u] for map %u instance %u", cell.GridX(), cell.GridY(), GetId(), i_InstanceId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "Loading grid[%u, %u] for map %u instance %u", cell.GridX(), cell.GridY(), GetId(), i_InstanceId);
+#endif
setGridObjectDataLoaded(true, cell.GridX(), cell.GridY());
@@ -1120,7 +1140,9 @@ bool Map::UnloadGrid(NGridType& ngrid)
GridMaps[gx][gy] = NULL;
- ;//sLog->outStaticDebug("Unloading grid[%u, %u] for map %u finished", x, y, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Unloading grid[%u, %u] for map %u finished", x, y, GetId());
+#endif
return true;
}
@@ -1862,7 +1884,9 @@ bool Map::IsOutdoors(float x, float y, float z) const
WMOAreaTableEntry const* wmoEntry= GetWMOAreaTableEntryByTripple(rootId, adtId, groupId);
if (wmoEntry)
{
- ;//sLog->outStaticDebug("Got WMOAreaTableEntry! flag %u, areaid %u", wmoEntry->Flags, wmoEntry->areaId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Got WMOAreaTableEntry! flag %u, areaid %u", wmoEntry->Flags, wmoEntry->areaId);
+#endif
atEntry = GetAreaEntryByAreaID(wmoEntry->areaId);
}
return IsOutdoorWMO(mogpFlags, adtId, rootId, groupId, wmoEntry, atEntry);
@@ -1943,7 +1967,9 @@ ZLiquidStatus Map::getLiquidStatus(float x, float y, float z, uint8 ReqLiquidTyp
uint32 liquid_type = 0;
if (vmgr->GetLiquidLevel(GetId(), x, y, z, ReqLiquidType, liquid_level, ground_level, liquid_type))
{
- ;//sLog->outDebug(LOG_FILTER_MAPS, "getLiquidStatus(): vmap liquid level: %f ground: %f type: %u", liquid_level, ground_level, liquid_type);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "getLiquidStatus(): vmap liquid level: %f ground: %f type: %u", liquid_level, ground_level, liquid_type);
+#endif
// Check water level and ground level
if (liquid_level > ground_level && z > ground_level - 2)
{
@@ -2102,7 +2128,9 @@ char const* Map::GetMapName() const
void Map::SendInitSelf(Player* player)
{
- ;//sLog->outDetail("Creating player data for himself %u", player->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Creating player data for himself %u", player->GetGUIDLow());
+#endif
UpdateData data;
@@ -2435,7 +2463,9 @@ bool InstanceMap::CanEnter(Player* player, bool loginCheck)
uint32 maxPlayers = GetMaxPlayers();
if (GetPlayersCountExceptGMs() >= (loginCheck ? maxPlayers+1 : maxPlayers))
{
- ;//sLog->outDetail("MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), maxPlayers, player->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), maxPlayers, player->GetName().c_str());
+#endif
player->SendTransferAborted(GetId(), TRANSFER_ABORT_MAX_PLAYERS);
return false;
}
diff --git a/src/game/Maps/MapInstanced.cpp b/src/game/Maps/MapInstanced.cpp
index 5f04566b77..31c139e2ef 100644
--- a/src/game/Maps/MapInstanced.cpp
+++ b/src/game/Maps/MapInstanced.cpp
@@ -190,7 +190,9 @@ InstanceMap* MapInstanced::CreateInstance(uint32 InstanceId, InstanceSave* save,
// some instances only have one difficulty
GetDownscaledMapDifficultyData(GetId(), difficulty);
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MapInstanced::CreateInstance: %s map instance %d for %d created with difficulty %s", save?"":"new ", InstanceId, GetId(), difficulty?"heroic":"normal");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MapInstanced::CreateInstance: %s map instance %d for %d created with difficulty %s", save?"":"new ", InstanceId, GetId(), difficulty?"heroic":"normal");
+#endif
InstanceMap* map = new InstanceMap(GetId(), InstanceId, difficulty, this);
ASSERT(map->IsDungeon());
@@ -214,7 +216,9 @@ BattlegroundMap* MapInstanced::CreateBattleground(uint32 InstanceId, Battlegroun
// load/create a map
TRINITY_GUARD(ACE_Thread_Mutex, Lock);
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MapInstanced::CreateBattleground: map bg %d for %d created.", InstanceId, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MapInstanced::CreateBattleground: map bg %d for %d created.", InstanceId, GetId());
+#endif
PvPDifficultyEntry const* bracketEntry = GetBattlegroundBracketByLevel(bg->GetMapId(), bg->GetMinLevel());
diff --git a/src/game/Maps/MapManager.cpp b/src/game/Maps/MapManager.cpp
index aae4a117d4..f36fd24031 100644
--- a/src/game/Maps/MapManager.cpp
+++ b/src/game/Maps/MapManager.cpp
@@ -151,7 +151,9 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
// probably there must be special opcode, because client has this string constant in GlobalStrings.lua
// TODO: this is not a good place to send the message
player->GetSession()->SendAreaTriggerMessage(player->GetSession()->GetTrinityString(LANG_INSTANCE_RAID_GROUP_ONLY), mapName);
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' must be in a raid group to enter instance '%s'", player->GetName().c_str(), mapName);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' must be in a raid group to enter instance '%s'", player->GetName().c_str(), mapName);
+#endif
return false;
}
}
@@ -184,15 +186,21 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
{
WorldPacket data(SMSG_CORPSE_NOT_IN_INSTANCE, 0);
player->GetSession()->SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' does not have a corpse in instance '%s' and cannot enter.", player->GetName().c_str(), mapName);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' does not have a corpse in instance '%s' and cannot enter.", player->GetName().c_str(), mapName);
+#endif
return false;
}
- ;//sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' has corpse in instance '%s' and can enter.", player->GetName().c_str(), mapName);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' has corpse in instance '%s' and can enter.", player->GetName().c_str(), mapName);
+#endif
player->ResurrectPlayer(0.5f, false);
player->SpawnCorpseBones();
}
else
- ;//sLog->outDebug(LOG_FILTER_MAPS, "Map::CanPlayerEnter - player '%s' is dead but does not have a corpse!", player->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPS, "Map::CanPlayerEnter - player '%s' is dead but does not have a corpse!", player->GetName().c_str());
+#endif
}
// if map exists - check for being full, etc.
diff --git a/src/game/Movement/MotionMaster.cpp b/src/game/Movement/MotionMaster.cpp
index dd52e028ed..0685370184 100644
--- a/src/game/Movement/MotionMaster.cpp
+++ b/src/game/Movement/MotionMaster.cpp
@@ -225,7 +225,9 @@ void MotionMaster::MoveRandom(float spawndist)
if (_owner->GetTypeId() == TYPEID_UNIT)
{
- ;//sLog->outStaticDebug("Creature (GUID: %u) start moving random", _owner->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (GUID: %u) start moving random", _owner->GetGUIDLow());
+#endif
Mutate(new RandomMovementGenerator<Creature>(spawndist), MOTION_SLOT_IDLE);
}
}
@@ -236,7 +238,9 @@ void MotionMaster::MoveTargetedHome()
if (_owner->GetTypeId() == TYPEID_UNIT && !_owner->ToCreature()->GetCharmerOrOwnerGUID())
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) targeted home", _owner->GetEntry(), _owner->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) targeted home", _owner->GetEntry(), _owner->GetGUIDLow());
+#endif
Mutate(new HomeMovementGenerator<Creature>(), MOTION_SLOT_ACTIVE);
}
else if (_owner->GetTypeId() == TYPEID_UNIT && _owner->ToCreature()->GetCharmerOrOwnerGUID())
@@ -246,11 +250,15 @@ void MotionMaster::MoveTargetedHome()
if (_owner->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE))
return;
- ;//sLog->outStaticDebug("Pet or controlled creature (Entry: %u GUID: %u) targeting home", _owner->GetEntry(), _owner->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Pet or controlled creature (Entry: %u GUID: %u) targeting home", _owner->GetEntry(), _owner->GetGUIDLow());
+#endif
Unit* target = _owner->ToCreature()->GetCharmerOrOwner();
if (target)
{
- ;//sLog->outStaticDebug("Following %s (GUID: %u)", target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature", target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : ((Creature*)target)->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Following %s (GUID: %u)", target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature", target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : ((Creature*)target)->GetDBTableGUIDLow());
+#endif
Mutate(new FollowMovementGenerator<Creature>(target, PET_FOLLOW_DIST, _owner->GetFollowAngle()), MOTION_SLOT_ACTIVE);
}
}
@@ -268,13 +276,16 @@ void MotionMaster::MoveConfused()
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) move confused", _owner->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) move confused", _owner->GetGUIDLow());
+#endif
Mutate(new ConfusedMovementGenerator<Player>(), MOTION_SLOT_CONTROLLED);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) move confused",
- // _owner->GetEntry(), _owner->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) move confused", _owner->GetEntry(), _owner->GetGUIDLow());
+#endif
Mutate(new ConfusedMovementGenerator<Creature>(), MOTION_SLOT_CONTROLLED);
}
}
@@ -289,18 +300,22 @@ void MotionMaster::MoveChase(Unit* target, float dist, float angle)
//_owner->ClearUnitState(UNIT_STATE_FOLLOW);
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) chase to %s (GUID: %u)",
- // _owner->GetGUIDLow(),
- // target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
- // target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) chase to %s (GUID: %u)",
+ _owner->GetGUIDLow(),
+ target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
+ target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#endif
Mutate(new ChaseMovementGenerator<Player>(target, dist, angle), MOTION_SLOT_ACTIVE);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) chase to %s (GUID: %u)",
- // _owner->GetEntry(), _owner->GetGUIDLow(),
- // target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
- // target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) chase to %s (GUID: %u)",
+ _owner->GetEntry(), _owner->GetGUIDLow(),
+ target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
+ target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#endif
Mutate(new ChaseMovementGenerator<Creature>(target, dist, angle), MOTION_SLOT_ACTIVE);
}
}
@@ -315,17 +330,21 @@ void MotionMaster::MoveFollow(Unit* target, float dist, float angle, MovementSlo
//_owner->AddUnitState(UNIT_STATE_FOLLOW);
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) follow to %s (GUID: %u)", _owner->GetGUIDLow(),
- // target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
- // target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) follow to %s (GUID: %u)", _owner->GetGUIDLow(),
+ target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
+ target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#endif
Mutate(new FollowMovementGenerator<Player>(target, dist, angle), slot);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) follow to %s (GUID: %u)",
- // _owner->GetEntry(), _owner->GetGUIDLow(),
- // target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
- // target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) follow to %s (GUID: %u)",
+ _owner->GetEntry(), _owner->GetGUIDLow(),
+ target->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
+ target->GetTypeId() == TYPEID_PLAYER ? target->GetGUIDLow() : target->ToCreature()->GetDBTableGUIDLow());
+#endif
Mutate(new FollowMovementGenerator<Creature>(target, dist, angle), slot);
}
}
@@ -338,32 +357,43 @@ void MotionMaster::MovePoint(uint32 id, float x, float y, float z, bool generate
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) targeted point (Id: %u X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), id, x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) targeted point (Id: %u X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), id, x, y, z);
+#endif
Mutate(new PointMovementGenerator<Player>(id, x, y, z, 0.0f, NULL, generatePath, forceDestination), slot);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) targeted point (ID: %u X: %f Y: %f Z: %f)",
- // _owner->GetEntry(), _owner->GetGUIDLow(), id, x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) targeted point (ID: %u X: %f Y: %f Z: %f)",
+ _owner->GetEntry(), _owner->GetGUIDLow(), id, x, y, z);
+#endif
Mutate(new PointMovementGenerator<Creature>(id, x, y, z, 0.0f, NULL, generatePath, forceDestination), slot);
}
}
void MotionMaster::MoveSplinePath(Movement::PointsArray* path)
{
+ //uint32 id;
+ //float x, y, z;
+
// Xinef: do not allow to move with UNIT_FLAG_DISABLE_MOVE
if (_owner->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE))
return;
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) targeted point (Id: %u X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), id, x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ //sLog->outStaticDebug("Player (GUID: %u) targeted point (Id: %u X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), id, x, y, z);
+#endif
Mutate(new EscortMovementGenerator<Player>(path), MOTION_SLOT_ACTIVE);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) targeted point (ID: %u X: %f Y: %f Z: %f)",
- // _owner->GetEntry(), _owner->GetGUIDLow(), id, x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ /*sLog->outStaticDebug("Creature (Entry: %u GUID: %u) targeted point (ID: %u X: %f Y: %f Z: %f)",
+ _owner->GetEntry(), _owner->GetGUIDLow(), id, x, y, z);*/
+#endif
Mutate(new EscortMovementGenerator<Creature>(path), MOTION_SLOT_ACTIVE);
}
}
@@ -377,7 +407,9 @@ void MotionMaster::MoveLand(uint32 id, Position const& pos, float speed)
float x, y, z;
pos.GetPosition(x, y, z);
- ;//sLog->outStaticDebug("Creature (Entry: %u) landing point (ID: %u X: %f Y: %f Z: %f)", _owner->GetEntry(), id, x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u) landing point (ID: %u X: %f Y: %f Z: %f)", _owner->GetEntry(), id, x, y, z);
+#endif
Movement::MoveSplineInit init(_owner);
init.MoveTo(x, y, z);
@@ -402,7 +434,9 @@ void MotionMaster::MoveTakeoff(uint32 id, Position const& pos, float speed)
float x, y, z;
pos.GetPosition(x, y, z);
- ;//sLog->outStaticDebug("Creature (Entry: %u) landing point (ID: %u X: %f Y: %f Z: %f)", _owner->GetEntry(), id, x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u) landing point (ID: %u X: %f Y: %f Z: %f)", _owner->GetEntry(), id, x, y, z);
+#endif
Movement::MoveSplineInit init(_owner);
init.MoveTo(x, y, z);
@@ -466,7 +500,9 @@ void MotionMaster::MoveJumpTo(float angle, float speedXY, float speedZ)
void MotionMaster::MoveJump(float x, float y, float z, float speedXY, float speedZ, uint32 id, Unit const* target)
{
- ;//sLog->outStaticDebug("Unit (GUID: %u) jump to point (X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Unit (GUID: %u) jump to point (X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), x, y, z);
+#endif
if (speedXY <= 0.1f)
return;
@@ -494,8 +530,10 @@ void MotionMaster::MoveFall(uint32 id /*=0*/, bool addFlagForNPC)
float tz = _owner->GetMap()->GetHeight(_owner->GetPhaseMask(), _owner->GetPositionX(), _owner->GetPositionY(), _owner->GetPositionZ(), true, MAX_FALL_DISTANCE);
if (tz <= INVALID_HEIGHT)
{
- ;//sLog->outStaticDebug("MotionMaster::MoveFall: unable retrive a proper height at map %u (x: %f, y: %f, z: %f).",
- // _owner->GetMap()->GetId(), _owner->GetPositionX(), _owner->GetPositionX(), _owner->GetPositionZ());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("MotionMaster::MoveFall: unable retrive a proper height at map %u (x: %f, y: %f, z: %f).",
+ _owner->GetMap()->GetId(), _owner->GetPositionX(), _owner->GetPositionX(), _owner->GetPositionZ());
+#endif
return;
}
@@ -536,13 +574,17 @@ void MotionMaster::MoveCharge(float x, float y, float z, float speed, uint32 id,
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) charge point (X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) charge point (X: %f Y: %f Z: %f)", _owner->GetGUIDLow(), x, y, z);
+#endif
Mutate(new PointMovementGenerator<Player>(id, x, y, z, speed, path, generatePath, generatePath), MOTION_SLOT_CONTROLLED);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) charge point (X: %f Y: %f Z: %f)",
- // _owner->GetEntry(), _owner->GetGUIDLow(), x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) charge point (X: %f Y: %f Z: %f)",
+ _owner->GetEntry(), _owner->GetGUIDLow(), x, y, z);
+#endif
Mutate(new PointMovementGenerator<Creature>(id, x, y, z, speed, path, generatePath, generatePath), MOTION_SLOT_CONTROLLED);
}
}
@@ -559,8 +601,10 @@ void MotionMaster::MoveSeekAssistance(float x, float y, float z)
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) seek assistance (X: %f Y: %f Z: %f)",
- // _owner->GetEntry(), _owner->GetGUIDLow(), x, y, z);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) seek assistance (X: %f Y: %f Z: %f)",
+ _owner->GetEntry(), _owner->GetGUIDLow(), x, y, z);
+#endif
_owner->AttackStop();
_owner->CastStop(0, false);
_owner->ToCreature()->SetReactState(REACT_PASSIVE);
@@ -580,8 +624,10 @@ void MotionMaster::MoveSeekAssistanceDistract(uint32 time)
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) is distracted after assistance call (Time: %u)",
- // _owner->GetEntry(), _owner->GetGUIDLow(), time);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) is distracted after assistance call (Time: %u)",
+ _owner->GetEntry(), _owner->GetGUIDLow(), time);
+#endif
Mutate(new AssistanceDistractMovementGenerator(time), MOTION_SLOT_ACTIVE);
}
}
@@ -597,18 +643,22 @@ void MotionMaster::MoveFleeing(Unit* enemy, uint32 time)
if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) flee from %s (GUID: %u)", _owner->GetGUIDLow(),
- // enemy->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
- // enemy->GetTypeId() == TYPEID_PLAYER ? enemy->GetGUIDLow() : enemy->ToCreature()->GetDBTableGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) flee from %s (GUID: %u)", _owner->GetGUIDLow(),
+ enemy->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
+ enemy->GetTypeId() == TYPEID_PLAYER ? enemy->GetGUIDLow() : enemy->ToCreature()->GetDBTableGUIDLow());
+#endif
Mutate(new FleeingMovementGenerator<Player>(enemy->GetGUID()), MOTION_SLOT_CONTROLLED);
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) flee from %s (GUID: %u)%s",
- // _owner->GetEntry(), _owner->GetGUIDLow(),
- // enemy->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
- // enemy->GetTypeId() == TYPEID_PLAYER ? enemy->GetGUIDLow() : enemy->ToCreature()->GetDBTableGUIDLow(),
- // time ? " for a limited time" : "");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) flee from %s (GUID: %u)%s",
+ _owner->GetEntry(), _owner->GetGUIDLow(),
+ enemy->GetTypeId() == TYPEID_PLAYER ? "player" : "creature",
+ enemy->GetTypeId() == TYPEID_PLAYER ? enemy->GetGUIDLow() : enemy->ToCreature()->GetDBTableGUIDLow(),
+ time ? " for a limited time" : "");
+#endif
if (time)
Mutate(new TimedFleeingMovementGenerator(enemy->GetGUID(), time), MOTION_SLOT_CONTROLLED);
else
@@ -622,7 +672,9 @@ void MotionMaster::MoveTaxiFlight(uint32 path, uint32 pathnode)
{
if (path < sTaxiPathNodesByPath.size())
{
- ;//sLog->outStaticDebug("%s taxi to (Path %u node %u)", _owner->GetName().c_str(), path, pathnode);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("%s taxi to (Path %u node %u)", _owner->GetName().c_str(), path, pathnode);
+#endif
FlightPathMovementGenerator* mgen = new FlightPathMovementGenerator(pathnode);
mgen->LoadPath(_owner->ToPlayer());
Mutate(mgen, MOTION_SLOT_CONTROLLED);
@@ -651,11 +703,15 @@ void MotionMaster::MoveDistract(uint32 timer)
/*if (_owner->GetTypeId() == TYPEID_PLAYER)
{
- ;//sLog->outStaticDebug("Player (GUID: %u) distracted (timer: %u)", _owner->GetGUIDLow(), timer);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Player (GUID: %u) distracted (timer: %u)", _owner->GetGUIDLow(), timer);
+#endif
}
else
{
- ;//sLog->outStaticDebug("Creature (Entry: %u GUID: %u) (timer: %u)",
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Creature (Entry: %u GUID: %u) (timer: %u)",
+#endif
_owner->GetEntry(), _owner->GetGUIDLow(), timer);
}*/
@@ -717,9 +773,11 @@ void MotionMaster::MovePath(uint32 path_id, bool repeatable)
//Mutate(new WaypointMovementGenerator<Player>(path_id, repeatable)):
Mutate(new WaypointMovementGenerator<Creature>(path_id, repeatable), MOTION_SLOT_IDLE);
- ;//sLog->outStaticDebug("%s (GUID: %u) start moving over path(Id:%u, repeatable: %s)",
- // _owner->GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature",
- // _owner->GetGUIDLow(), path_id, repeatable ? "YES" : "NO");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("%s (GUID: %u) start moving over path(Id:%u, repeatable: %s)",
+ _owner->GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature",
+ _owner->GetGUIDLow(), path_id, repeatable ? "YES" : "NO");
+#endif
}
void MotionMaster::MoveRotate(uint32 time, RotateDirection direction)
diff --git a/src/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
index 324c3ad0e0..a3fcfb64dd 100644
--- a/src/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
+++ b/src/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
@@ -68,7 +68,9 @@ void WaypointMovementGenerator<Creature>::OnArrived(Creature* creature)
if (i_path->at(i_currentNode)->event_id && urand(0, 99) < i_path->at(i_currentNode)->event_chance)
{
- ;//sLog->outDebug(LOG_FILTER_MAPSCRIPTS, "Creature movement start script %u at point %u for " UI64FMTD ".", i_path->at(i_currentNode)->event_id, i_currentNode, creature->GetGUID());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPSCRIPTS, "Creature movement start script %u at point %u for " UI64FMTD ".", i_path->at(i_currentNode)->event_id, i_currentNode, creature->GetGUID());
+#endif
creature->ClearUnitState(UNIT_STATE_ROAMING_MOVE);
creature->GetMap()->ScriptsStart(sWaypointScripts, i_path->at(i_currentNode)->event_id, creature, NULL);
}
@@ -439,7 +441,9 @@ void FlightPathMovementGenerator::DoEventIfAny(Player* player, TaxiPathNodeEntry
{
if (uint32 eventid = departure ? node->departureEventID : node->arrivalEventID)
{
- ;//sLog->outDebug(LOG_FILTER_MAPSCRIPTS, "Taxi %s event %u of node %u of path %u for player %s", departure ? "departure" : "arrival", eventid, node.index, node.path, player.GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_MAPSCRIPTS, "Taxi %s event %u of node %u of path %u for player %s", departure ? "departure" : "arrival", eventid, node->index, node->path, player->GetName().c_str());
+#endif
player->GetMap()->ScriptsStart(sEventScripts, eventid, player, player);
}
}
@@ -475,9 +479,13 @@ void FlightPathMovementGenerator::PreloadEndGrid()
// Load the grid
if (endMap)
{
- ;//sLog->outDetail("Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path->size()-1));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path.size()-1));
+#endif
endMap->LoadGrid(_endGridX, _endGridY);
}
else
- ;//sLog->outDetail("Unable to determine map to preload flightmaster grid");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Unable to determine map to preload flightmaster grid");
+#endif
}
diff --git a/src/game/Movement/Spline/MovementTypedefs.h b/src/game/Movement/Spline/MovementTypedefs.h
index f28c075a1b..5c92745820 100644
--- a/src/game/Movement/Spline/MovementTypedefs.h
+++ b/src/game/Movement/Spline/MovementTypedefs.h
@@ -35,12 +35,6 @@ namespace Movement
float computeFallTime(float path_length, bool isSafeFall);
float computeFallElevation(float t_passed, bool isSafeFall, float start_velocity = 0.0f);
-#ifndef static_assert
- #define CONCAT(x, y) CONCAT1 (x, y)
- #define CONCAT1(x, y) x##y
- #define static_assert(expr, msg) typedef char CONCAT(static_assert_failed_at_line_, __LINE__) [(expr) ? 1 : -1]
-#endif
-
template<class T, T limit>
class counter
{
diff --git a/src/game/OutdoorPvP/OutdoorPvP.cpp b/src/game/OutdoorPvP/OutdoorPvP.cpp
index 9f87e95f32..b2a1502652 100644
--- a/src/game/OutdoorPvP/OutdoorPvP.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvP.cpp
@@ -105,7 +105,9 @@ bool OPvPCapturePoint::AddCreature(uint32 type, uint32 entry, uint32 map, float
bool OPvPCapturePoint::SetCapturePointData(uint32 entry, uint32 map, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3)
{
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Creating capture point %u", entry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Creating capture point %u", entry);
+#endif
// check info existence
GameObjectTemplate const* goinfo = sObjectMgr->GetGameObjectTemplate(entry);
@@ -132,7 +134,9 @@ bool OPvPCapturePoint::DelCreature(uint32 type)
{
if (!m_Creatures[type])
{
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "opvp creature type %u was already deleted", type);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "opvp creature type %u was already deleted", type);
+#endif
return false;
}
@@ -143,7 +147,9 @@ bool OPvPCapturePoint::DelCreature(uint32 type)
m_Creatures[type] = 0;
return false;
}
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "deleting opvp creature type %u", type);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "deleting opvp creature type %u", type);
+#endif
uint32 guid = cr->GetDBTableGUIDLow();
// Don't save respawn time
cr->SetRespawnTime(0);
@@ -241,7 +247,9 @@ void OutdoorPvP::HandlePlayerLeaveZone(Player* player, uint32 /*zone*/)
if (!player->GetSession()->PlayerLogout())
SendRemoveWorldStates(player);
m_players[player->GetTeamId()].erase(player->GetGUID());
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Player %s left an outdoorpvp zone", player->GetName().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Player %s left an outdoorpvp zone", player->GetName().c_str());
+#endif
}
void OutdoorPvP::HandlePlayerResurrects(Player* /*player*/, uint32 /*zone*/)
diff --git a/src/game/OutdoorPvP/OutdoorPvPMgr.cpp b/src/game/OutdoorPvP/OutdoorPvPMgr.cpp
index 1bd6f3d524..315c5055fc 100644
--- a/src/game/OutdoorPvP/OutdoorPvPMgr.cpp
+++ b/src/game/OutdoorPvP/OutdoorPvPMgr.cpp
@@ -116,7 +116,9 @@ void OutdoorPvPMgr::HandlePlayerEnterZone(Player* player, uint32 zoneid)
return;
itr->second->HandlePlayerEnterZone(player, zoneid);
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Player %u entered outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Player %u entered outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#endif
}
void OutdoorPvPMgr::HandlePlayerLeaveZone(Player* player, uint32 zoneid)
@@ -132,7 +134,9 @@ void OutdoorPvPMgr::HandlePlayerLeaveZone(Player* player, uint32 zoneid)
return;
itr->second->HandlePlayerLeaveZone(player, zoneid);
- ;//sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Player %u left outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_OUTDOORPVP, "Player %u left outdoorpvp id %u", player->GetGUIDLow(), itr->second->GetTypeId());
+#endif
}
OutdoorPvP* OutdoorPvPMgr::GetOutdoorPvPToZoneId(uint32 zoneid)
diff --git a/src/game/Pools/PoolMgr.cpp b/src/game/Pools/PoolMgr.cpp
index 64d62576a4..2d22777854 100644
--- a/src/game/Pools/PoolMgr.cpp
+++ b/src/game/Pools/PoolMgr.cpp
@@ -409,7 +409,9 @@ void PoolGroup<Quest>::Spawn1Object(PoolObject* obj)
PooledQuestRelationBoundsNC qr = sPoolMgr->mQuestCreatureRelation.equal_range(obj->guid);
for (PooledQuestRelation::iterator itr = qr.first; itr != qr.second; ++itr)
{
- ;//sLog->outDebug(LOG_FILTER_POOLSYS, "PoolGroup<Quest>: Adding quest %u to creature %u", itr->first, itr->second);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_POOLSYS, "PoolGroup<Quest>: Adding quest %u to creature %u", itr->first, itr->second);
+#endif
questMap->insert(QuestRelations::value_type(itr->second, itr->first));
}
@@ -418,7 +420,9 @@ void PoolGroup<Quest>::Spawn1Object(PoolObject* obj)
qr = sPoolMgr->mQuestGORelation.equal_range(obj->guid);
for (PooledQuestRelation::iterator itr = qr.first; itr != qr.second; ++itr)
{
- ;//sLog->outDebug(LOG_FILTER_POOLSYS, "PoolGroup<Quest>: Adding quest %u to GO %u", itr->first, itr->second);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_POOLSYS, "PoolGroup<Quest>: Adding quest %u to GO %u", itr->first, itr->second);
+#endif
questMap->insert(QuestRelations::value_type(itr->second, itr->first));
}
}
@@ -426,7 +430,9 @@ void PoolGroup<Quest>::Spawn1Object(PoolObject* obj)
template <>
void PoolGroup<Quest>::SpawnObject(ActivePoolData& spawns, uint32 limit, uint32 triggerFrom)
{
- ;//sLog->outDebug(LOG_FILTER_POOLSYS, "PoolGroup<Quest>: Spawning pool %u", poolId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_POOLSYS, "PoolGroup<Quest>: Spawning pool %u", poolId);
+#endif
// load state from db
if (!triggerFrom)
{
diff --git a/src/game/Scripting/ScriptMgr.cpp b/src/game/Scripting/ScriptMgr.cpp
index 356ac83131..bea0e71a02 100644
--- a/src/game/Scripting/ScriptMgr.cpp
+++ b/src/game/Scripting/ScriptMgr.cpp
@@ -1379,6 +1379,11 @@ void ScriptMgr::OnQuestRewardItem(Player* player, Item* item, uint32 count)
FOREACH_SCRIPT(PlayerScript)->OnQuestRewardItem(player, item, count);
}
+void ScriptMgr::OnFirstLogin(Player* player)
+{
+ FOREACH_SCRIPT(PlayerScript)->OnFirstLogin(player);
+}
+
// Guild
void ScriptMgr::OnGuildAddMember(Guild* guild, Player* player, uint8& plRank)
{
@@ -1495,6 +1500,16 @@ void ScriptMgr::OnBeforeDropAddItem(Player const* player, Loot& loot, LootStoreI
FOREACH_SCRIPT(GlobalScript)->OnBeforeDropAddItem(player, loot, LootStoreItem);
}
+void ScriptMgr::OnInitializeLockedDungeons(Player* player, uint8& level, uint32& lockData)
+{
+ FOREACH_SCRIPT(GlobalScript)->OnInitializeLockedDungeons(player, level, lockData);
+}
+
+void ScriptMgr::OnAfterInitializeLockedDungeons(Player* player)
+{
+ FOREACH_SCRIPT(GlobalScript)->OnAfterInitializeLockedDungeons(player);
+}
+
uint32 ScriptMgr::DealDamage(Unit* AttackerUnit, Unit *pVictim, uint32 damage, DamageEffectType damagetype)
{
FOR_SCRIPTS_RET(UnitScript, itr, end, damage)
diff --git a/src/game/Scripting/ScriptMgr.h b/src/game/Scripting/ScriptMgr.h
index 9ef21f775c..1f0965f022 100644
--- a/src/game/Scripting/ScriptMgr.h
+++ b/src/game/Scripting/ScriptMgr.h
@@ -906,6 +906,8 @@ class PlayerScript : public ScriptObject
virtual void OnAfterUpdateAttackPowerAndDamage(Player* /*player*/, float& /*level*/, float& /*base_attPower*/, float& /*attPowerMod*/, float& /*attPowerMultiplier*/, bool /*ranged*/) { }
virtual void OnBeforeInitTalentForLevel(Player* /*player*/, uint8& /*level*/, uint32& /*talentPointsForLevel*/) { }
+
+ virtual void OnFirstLogin(Player* /*player*/) { }
};
class GuildScript : public ScriptObject
@@ -991,6 +993,9 @@ class GlobalScript : public ScriptObject
virtual void OnMirrorImageDisplayItem(const Item* /*item*/, uint32& /*display*/) { }
virtual void OnAfterRefCount(LootStoreItem* /*LootStoreItem*/, uint32& /*maxcount*/) { }
virtual void OnBeforeDropAddItem(Player const* /*player*/, Loot& /*loot*/, LootStoreItem* /*LootStoreItem*/) { }
+
+ virtual void OnInitializeLockedDungeons(Player* /*player*/, uint8& /*level*/, uint32& /*lockData*/) { }
+ virtual void OnAfterInitializeLockedDungeons(Player* /*player*/) { }
// On Before arena points distribution
virtual void OnBeforeUpdateArenaPoints(ArenaTeam* /*at*/, std::map<uint32, uint32> & /*ap*/) { }
@@ -1225,6 +1230,7 @@ class ScriptMgr
void OnBeforeUpdateAttackPowerAndDamage(Player* player, float& level, float& val2, bool ranged);
void OnAfterUpdateAttackPowerAndDamage(Player* player, float& level, float& base_attPower, float& attPowerMod, float& attPowerMultiplier, bool ranged);
void OnBeforeInitTalentForLevel(Player* player, uint8& level, uint32& talentPointsForLevel);
+ void OnFirstLogin(Player* player);
public: /* GuildScript */
@@ -1255,6 +1261,9 @@ class ScriptMgr
void OnBeforeUpdateArenaPoints(ArenaTeam* at, std::map<uint32, uint32> &ap);
void OnAfterRefCount(LootStoreItem* LootStoreItem, uint32 &maxcount);
void OnBeforeDropAddItem(Player const* player, Loot& loot, LootStoreItem* LootStoreItem);
+ void OnInitializeLockedDungeons(Player* player, uint8& level, uint32& lockData);
+ void OnAfterInitializeLockedDungeons(Player* player);
+
public: /* Scheduled scripts */
diff --git a/src/game/Server/WorldSession.cpp b/src/game/Server/WorldSession.cpp
index 8fd98aa424..9619abcfbd 100644
--- a/src/game/Server/WorldSession.cpp
+++ b/src/game/Server/WorldSession.cpp
@@ -168,7 +168,7 @@ void WorldSession::SendPacket(WorldPacket const* packet)
if (!m_Socket)
return;
-#ifdef TRINITY_DEBUG
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(TRINITY_DEBUG)
// Code for network use statistic
static uint64 sendPacketCount = 0;
static uint64 sendPacketBytes = 0;
@@ -193,8 +193,10 @@ void WorldSession::SendPacket(WorldPacket const* packet)
{
uint64 minTime = uint64(cur_time - lastTime);
uint64 fullTime = uint64(lastTime - firstTime);
- ;//sLog->outDetail("Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime));
- ;//sLog->outDetail("Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime);
+
+ sLog->outDetail("Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime));
+
+ sLog->outDetail("Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime);
lastTime = cur_time;
sendLastPacketCount = 1;
@@ -543,7 +545,9 @@ void WorldSession::LogoutPlayer(bool save)
//! Client will respond by sending 3x CMSG_CANCEL_TRADE, which we currently dont handle
WorldPacket data(SMSG_LOGOUT_COMPLETE, 0);
SendPacket(&data);
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "SESSION: Sent SMSG_LOGOUT_COMPLETE Message");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "SESSION: Sent SMSG_LOGOUT_COMPLETE Message");
+#endif
//! Since each account can only have one online character at any given time, ensure all characters for active account are marked as offline
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ACCOUNT_ONLINE);
@@ -969,7 +973,9 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data)
addonInfo >> enabled >> crc >> unk1;
- ;//sLog->outDetail("ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1);
+#endif
AddonInfo addon(addonName, enabled, crc, 2, true);
@@ -981,16 +987,21 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data)
if (addon.CRC != savedAddon->CRC)
match = false;
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
if (!match)
- ;//sLog->outDetail("ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC);
+ sLog->outDetail("ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC);
else
- ;//sLog->outDetail("ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC);
+ sLog->outDetail("ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC);
+#endif
}
else
{
AddonMgr::SaveAddon(addon);
- ;//sLog->outDetail("ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC);
+#endif
}
// TODO: Find out when to not use CRC/pubkey, and other possible states.
@@ -999,10 +1010,14 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data)
uint32 currentTime;
addonInfo >> currentTime;
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "ADDON: CurrentTime: %u", currentTime);
-
- //if (addonInfo.rpos() != addonInfo.size())
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "packet under-read!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "ADDON: CurrentTime: %u", currentTime);
+#endif
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ if (addonInfo.rpos() != addonInfo.size())
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "packet under-read!");
+#endif
}
else
sLog->outError("Addon packet uncompress error!");
@@ -1044,9 +1059,9 @@ void WorldSession::SendAddonsInfo()
data << uint8(usepk);
if (usepk) // if CRC is wrong, add public key (client need it)
{
- ;//sLog->outDetail("ADDON: CRC (0x%x) for addon %s is wrong (does not match expected 0x%x), sending pubkey",
- // itr->CRC, itr->Name.c_str(), STANDARD_ADDON_CRC);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("ADDON: CRC (0x%x) for addon %s is wrong (does not match expected 0x%x), sending pubkey", itr->CRC, itr->Name.c_str(), STANDARD_ADDON_CRC);
+#endif
data.append(addonPublicKey, sizeof(addonPublicKey));
}
diff --git a/src/game/Server/WorldSocket.cpp b/src/game/Server/WorldSocket.cpp
index bae62d44c1..f0ebcb90ee 100644
--- a/src/game/Server/WorldSocket.cpp
+++ b/src/game/Server/WorldSocket.cpp
@@ -282,14 +282,18 @@ int WorldSocket::handle_input (ACE_HANDLE)
return Update(); // interesting line, isn't it ?
}
- ;//sLog->outStaticDebug("WorldSocket::handle_input: Peer error closing connection errno = %s", ACE_OS::strerror (errno));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WorldSocket::handle_input: Peer error closing connection errno = %s", ACE_OS::strerror (errno));
+#endif
errno = ECONNRESET;
return -1;
}
case 0:
{
- ;//sLog->outStaticDebug("WorldSocket::handle_input: Peer has closed connection");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WorldSocket::handle_input: Peer has closed connection");
+#endif
errno = ECONNRESET;
return -1;
@@ -752,13 +756,9 @@ int WorldSocket::HandleAuthSession(WorldPacket& recvPacket)
recvPacket >> unk4;
recvPacket.read(digest, 20);
- ;//sLog->outStaticDebug ("WorldSocket::HandleAuthSession: client %u, unk2 %u, account %s, unk3 %u, clientseed %u",
- // BuiltNumberClient,
- // unk2,
- // account.c_str(),
- // unk3,
- // clientSeed);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("WorldSocket::HandleAuthSession: client %u, unk2 %u, account %s, unk3 %u, clientseed %u", BuiltNumberClient, unk2, account.c_str(), unk3, clientSeed);
+#endif
// Get the account information from the realmd database
// 0 1 2 3 4 5 6 7 8
// SELECT id, sessionkey, last_ip, locked, expansion, mutetime, locale, recruiter, os FROM account WHERE username = ?
@@ -878,7 +878,9 @@ int WorldSocket::HandleAuthSession(WorldPacket& recvPacket)
// Check locked state for server
AccountTypes allowedAccountType = sWorld->GetPlayerSecurityLimit();
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "Allowed Level: %u Player Level %u", allowedAccountType, AccountTypes(security));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "Allowed Level: %u Player Level %u", allowedAccountType, AccountTypes(security));
+#endif
if (AccountTypes(security) < allowedAccountType)
{
WorldPacket Packet (SMSG_AUTH_RESPONSE, 1);
@@ -886,7 +888,9 @@ int WorldSocket::HandleAuthSession(WorldPacket& recvPacket)
SendPacket(packet);
- ;//sLog->outDetail("WorldSocket::HandleAuthSession: User tries to login but his security level is not enough");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("WorldSocket::HandleAuthSession: User tries to login but his security level is not enough");
+#endif
return -1;
}
@@ -914,10 +918,11 @@ int WorldSocket::HandleAuthSession(WorldPacket& recvPacket)
return -1;
}
- ;//sLog->outStaticDebug("WorldSocket::HandleAuthSession: Client '%s' authenticated successfully from %s.",
- // account.c_str(),
- // address.c_str());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("WorldSocket::HandleAuthSession: Client '%s' authenticated successfully from %s.",
+ account.c_str(),
+ address.c_str());
+#endif
// Check if this user is by any chance a recruiter
stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_ACCOUNT_RECRUITER);
diff --git a/src/game/Server/WorldSocketMgr.cpp b/src/game/Server/WorldSocketMgr.cpp
index f4f8ad9725..89367ee4a9 100644
--- a/src/game/Server/WorldSocketMgr.cpp
+++ b/src/game/Server/WorldSocketMgr.cpp
@@ -143,7 +143,9 @@ class ReactorRunnable : protected ACE_Task_Base
virtual int svc()
{
- ;//sLog->outStaticDebug ("Network Thread Starting");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("Network Thread Starting");
+#endif
ACE_ASSERT (m_Reactor);
@@ -180,7 +182,9 @@ class ReactorRunnable : protected ACE_Task_Base
}
}
- ;//sLog->outStaticDebug ("Network Thread exits");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug ("Network Thread exits");
+#endif
return 0;
}
diff --git a/src/game/Spells/Auras/SpellAuraEffects.cpp b/src/game/Spells/Auras/SpellAuraEffects.cpp
index 34923f1b24..2ca4559db7 100644
--- a/src/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5991,7 +5991,9 @@ void AuraEffect::HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster)
triggerFlags = TriggerCastFlags(TRIGGERED_FULL_MASK&~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST);
triggerCaster->CastSpell(targets, triggeredSpellInfo, NULL, triggerFlags, NULL, this);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandlePeriodicTriggerSpellAuraTick: Spell %u Trigger %u", GetId(), triggeredSpellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandlePeriodicTriggerSpellAuraTick: Spell %u Trigger %u", GetId(), triggeredSpellInfo->Id);
+#endif
}
}
}
@@ -6015,11 +6017,15 @@ void AuraEffect::HandlePeriodicTriggerSpellWithValueAuraTick(Unit* target, Unit*
values.AddSpellMod(SPELLVALUE_BASE_POINT0, GetAmount());
triggerCaster->CastSpell(targets, triggeredSpellInfo, &values, TRIGGERED_FULL_MASK, NULL, this);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandlePeriodicTriggerSpellWithValueAuraTick: Spell %u Trigger %u", GetId(), triggeredSpellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandlePeriodicTriggerSpellWithValueAuraTick: Spell %u Trigger %u", GetId(), triggeredSpellInfo->Id);
+#endif
}
}
else
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS,"AuraEffect::HandlePeriodicTriggerSpellWithValueAuraTick: Spell %u has non-existent spell %u in EffectTriggered[%d] and is therefor not triggered.", GetId(), triggerSpellId, GetEffIndex());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS,"AuraEffect::HandlePeriodicTriggerSpellWithValueAuraTick: Spell %u has non-existent spell %u in EffectTriggered[%d] and is therefor not triggered.", GetId(), triggerSpellId, GetEffIndex());
+#endif
}
void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const
@@ -6132,9 +6138,10 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const
Unit::CalcAbsorbResist(caster, target, GetSpellInfo()->GetSchoolMask(), DOT, damage, &absorb, &resist, GetSpellInfo());
- ;//sLog->outDetail("PeriodicTick: %u (TypeId: %u) attacked %u (TypeId: %u) for %u dmg inflicted by %u abs is %u",
- // GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId(), absorb);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PeriodicTick: %u (TypeId: %u) attacked %u (TypeId: %u) for %u dmg inflicted by %u abs is %u",
+ GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId(), absorb);
+#endif
Unit::DealDamageMods(target, damage, &absorb);
// Auras reducing damage from AOE spells
@@ -6227,9 +6234,10 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c
if (target->GetHealth() < damage)
damage = target->GetHealth();
- ;//sLog->outDetail("PeriodicTick: %u (TypeId: %u) health leech of %u (TypeId: %u) for %u dmg inflicted by %u abs is %u",
- // GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId(), absorb);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PeriodicTick: %u (TypeId: %u) health leech of %u (TypeId: %u) for %u dmg inflicted by %u abs is %u",
+ GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId(), absorb);
+#endif
if (caster)
caster->SendSpellNonMeleeDamageLog(target, GetId(), damage+absorb+resist, GetSpellInfo()->GetSchoolMask(), absorb, resist, false, 0, crit);
@@ -6271,7 +6279,9 @@ void AuraEffect::HandlePeriodicHealthFunnelAuraTick(Unit* target, Unit* caster)
return;
caster->ModifyHealth(-(int32)damage);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "PeriodicTick: donator %u target %u damage %u.", caster->GetEntry(), target->GetEntry(), damage);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "PeriodicTick: donator %u target %u damage %u.", caster->GetEntry(), target->GetEntry(), damage);
+#endif
float gainMultiplier = GetSpellInfo()->Effects[GetEffIndex()].CalcValueMultiplier(caster);
@@ -6372,9 +6382,10 @@ void AuraEffect::HandlePeriodicHealAurasTick(Unit* target, Unit* caster) const
if (crit = roll_chance_f(GetCritChance()))
damage = Unit::SpellCriticalHealingBonus(caster, GetSpellInfo(), damage, target);
- ;//sLog->outDetail("PeriodicTick: %u (TypeId: %u) heal of %u (TypeId: %u) for %u health inflicted by %u",
- // GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PeriodicTick: %u (TypeId: %u) heal of %u (TypeId: %u) for %u health inflicted by %u",
+ GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), damage, GetId());
+#endif
uint32 absorb = 0;
uint32 heal = uint32(damage);
@@ -6451,9 +6462,10 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
drainAmount = maxmana;
}
- ;//sLog->outDetail("PeriodicTick: %u (TypeId: %u) power leech of %u (TypeId: %u) for %u dmg inflicted by %u",
- // GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), drainAmount, GetId());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PeriodicTick: %u (TypeId: %u) power leech of %u (TypeId: %u) for %u dmg inflicted by %u",
+ GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), drainAmount, GetId());
+#endif
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
if (powerType == POWER_MANA)
drainAmount -= target->GetSpellCritDamageReduction(drainAmount);
@@ -6517,9 +6529,10 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
// ignore negative values (can be result apply spellmods to aura damage
uint32 amount = std::max(m_amount, 0) * target->GetMaxPower(powerType) /100;
- ;//sLog->outDetail("PeriodicTick: %u (TypeId: %u) energize %u (TypeId: %u) for %u dmg inflicted by %u",
- // GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), amount, GetId());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PeriodicTick: %u (TypeId: %u) energize %u (TypeId: %u) for %u dmg inflicted by %u",
+ GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), amount, GetId());
+#endif
SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false);
target->SendPeriodicAuraLog(&pInfo);
@@ -6555,9 +6568,10 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons
SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false);
target->SendPeriodicAuraLog(&pInfo);
- ;//sLog->outDetail("PeriodicTick: %u (TypeId: %u) energize %u (TypeId: %u) for %u dmg inflicted by %u",
- // GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), amount, GetId());
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("PeriodicTick: %u (TypeId: %u) energize %u (TypeId: %u) for %u dmg inflicted by %u",
+ GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), amount, GetId());
+#endif
int32 gain = target->ModifyPower(powerType, amount);
if (caster)
@@ -6617,11 +6631,15 @@ void AuraEffect::HandleProcTriggerSpellAuraProc(AuraApplication* aurApp, ProcEve
uint32 triggerSpellId = GetSpellInfo()->Effects[GetEffIndex()].TriggerSpell;
if (SpellInfo const* triggeredSpellInfo = sSpellMgr->GetSpellInfo(triggerSpellId))
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleProcTriggerSpellAuraProc: Triggering spell %u from aura %u proc", triggeredSpellInfo->Id, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleProcTriggerSpellAuraProc: Triggering spell %u from aura %u proc", triggeredSpellInfo->Id, GetId());
+#endif
triggerCaster->CastSpell(triggerTarget, triggeredSpellInfo, true, NULL, this);
}
else
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS,"AuraEffect::HandleProcTriggerSpellAuraProc: Could not trigger spell %u from aura %u proc, because the spell does not have an entry in Spell.dbc.", triggerSpellId, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS,"AuraEffect::HandleProcTriggerSpellAuraProc: Could not trigger spell %u from aura %u proc, because the spell does not have an entry in Spell.dbc.", triggerSpellId, GetId());
+#endif
}
void AuraEffect::HandleProcTriggerSpellWithValueAuraProc(AuraApplication* aurApp, ProcEventInfo& eventInfo)
@@ -6633,11 +6651,15 @@ void AuraEffect::HandleProcTriggerSpellWithValueAuraProc(AuraApplication* aurApp
if (SpellInfo const* triggeredSpellInfo = sSpellMgr->GetSpellInfo(triggerSpellId))
{
int32 basepoints0 = GetAmount();
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleProcTriggerSpellWithValueAuraProc: Triggering spell %u with value %d from aura %u proc", triggeredSpellInfo->Id, basepoints0, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleProcTriggerSpellWithValueAuraProc: Triggering spell %u with value %d from aura %u proc", triggeredSpellInfo->Id, basepoints0, GetId());
+#endif
triggerCaster->CastCustomSpell(triggerTarget, triggerSpellId, &basepoints0, NULL, NULL, true, NULL, this);
}
else
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS,"AuraEffect::HandleProcTriggerSpellWithValueAuraProc: Could not trigger spell %u from aura %u proc, because the spell does not have an entry in Spell.dbc.", triggerSpellId, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS,"AuraEffect::HandleProcTriggerSpellWithValueAuraProc: Could not trigger spell %u from aura %u proc, because the spell does not have an entry in Spell.dbc.", triggerSpellId, GetId());
+#endif
}
void AuraEffect::HandleProcTriggerDamageAuraProc(AuraApplication* aurApp, ProcEventInfo& eventInfo)
@@ -6650,7 +6672,9 @@ void AuraEffect::HandleProcTriggerDamageAuraProc(AuraApplication* aurApp, ProcEv
target->CalculateSpellDamageTaken(&damageInfo, damage, GetSpellInfo());
Unit::DealDamageMods(damageInfo.target, damageInfo.damage, &damageInfo.absorb);
target->SendSpellNonMeleeDamageLog(&damageInfo);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleProcTriggerDamageAuraProc: Triggering %u spell damage from aura %u proc", damage, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleProcTriggerDamageAuraProc: Triggering %u spell damage from aura %u proc", damage, GetId());
+#endif
target->DealSpellDamage(&damageInfo, true);
}
@@ -6672,7 +6696,9 @@ void AuraEffect::HandleRaidProcFromChargeAuraProc(AuraApplication* aurApp, ProcE
triggerSpellId = 43594;
break;
default:
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeAuraProc: received not handled spell: %u", GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeAuraProc: received not handled spell: %u", GetId());
+#endif
return;
}
@@ -6698,7 +6724,9 @@ void AuraEffect::HandleRaidProcFromChargeAuraProc(AuraApplication* aurApp, ProcE
}
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeAuraProc: Triggering spell %u from aura %u proc", triggerSpellId, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeAuraProc: Triggering spell %u from aura %u proc", triggerSpellId, GetId());
+#endif
target->CastSpell(target, triggerSpellId, true, NULL, this, GetCasterGUID());
}
@@ -6710,7 +6738,9 @@ void AuraEffect::HandleRaidProcFromChargeWithValueAuraProc(AuraApplication* aurA
// Currently only Prayer of Mending
if (!(GetSpellInfo()->SpellFamilyName == SPELLFAMILY_PRIEST && GetSpellInfo()->SpellFamilyFlags[1] & 0x20))
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeWithValueAuraProc: received not handled spell: %u", GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeWithValueAuraProc: received not handled spell: %u", GetId());
+#endif
return;
}
uint32 triggerSpellId = 33110;
@@ -6739,6 +6769,8 @@ void AuraEffect::HandleRaidProcFromChargeWithValueAuraProc(AuraApplication* aurA
}
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeWithValueAuraProc: Triggering spell %u from aura %u proc", triggerSpellId, GetId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraEffect::HandleRaidProcFromChargeWithValueAuraProc: Triggering spell %u from aura %u proc", triggerSpellId, GetId());
+#endif
target->CastCustomSpell(target, triggerSpellId, &value, NULL, NULL, true, NULL, this, GetCasterGUID());
}
diff --git a/src/game/Spells/Auras/SpellAuras.cpp b/src/game/Spells/Auras/SpellAuras.cpp
index b1bdd291d3..d63ea04513 100644
--- a/src/game/Spells/Auras/SpellAuras.cpp
+++ b/src/game/Spells/Auras/SpellAuras.cpp
@@ -62,10 +62,14 @@ _flags(AFLAG_NONE), _effectsToApply(effMask), _needClientUpdate(false), _disable
_slot = slot;
GetTarget()->SetVisibleAura(slot, this);
SetNeedClientUpdate();
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura: %u Effect: %d put to unit visible auras slot: %u", GetBase()->GetId(), GetEffectMask(), slot);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura: %u Effect: %d put to unit visible auras slot: %u", GetBase()->GetId(), GetEffectMask(), slot);
+#endif
}
else
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura: %u Effect: %d could not find empty unit visible slot", GetBase()->GetId(), GetEffectMask());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura: %u Effect: %d could not find empty unit visible slot", GetBase()->GetId(), GetEffectMask());
+#endif
}
_InitFlags(caster, effMask);
@@ -144,7 +148,9 @@ void AuraApplication::_HandleEffect(uint8 effIndex, bool apply)
ASSERT(aurEff);
ASSERT(HasEffect(effIndex) == (!apply));
ASSERT((1<<effIndex) & _effectsToApply);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraApplication::_HandleEffect: %u, apply: %u: amount: %u", aurEff->GetAuraType(), apply, aurEff->GetAmount());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "AuraApplication::_HandleEffect: %u, apply: %u: amount: %u", aurEff->GetAuraType(), apply, aurEff->GetAmount());
+#endif
if (apply)
{
@@ -2172,7 +2178,9 @@ void Aura::LoadScripts()
m_loadedScripts.erase(bitr);
continue;
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura::LoadScripts: Script `%s` for aura `%u` is loaded now", (*itr)->_GetScriptName()->c_str(), m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Aura::LoadScripts: Script `%s` for aura `%u` is loaded now", (*itr)->_GetScriptName()->c_str(), m_spellInfo->Id);
+#endif
(*itr)->Register();
++itr;
}
diff --git a/src/game/Spells/Spell.cpp b/src/game/Spells/Spell.cpp
index a72675b7c8..01f08b88e9 100644
--- a/src/game/Spells/Spell.cpp
+++ b/src/game/Spells/Spell.cpp
@@ -959,7 +959,9 @@ void Spell::SelectEffectImplicitTargets(SpellEffIndex effIndex, SpellImplicitTar
}
break;
case TARGET_SELECT_CATEGORY_NYI:
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: target type %u, found in spellID %u, effect %u is not implemented yet!", m_spellInfo->Id, effIndex, targetType.GetTarget());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: target type %u, found in spellID %u, effect %u is not implemented yet!", m_spellInfo->Id, effIndex, targetType.GetTarget());
+#endif
break;
default:
ASSERT(false && "Spell::SelectEffectImplicitTargets: received not implemented select target category");
@@ -989,7 +991,9 @@ void Spell::SelectImplicitChannelTargets(SpellEffIndex effIndex, SpellImplicitTa
AddUnitTarget(target->ToUnit(), 1 << effIndex);
}
else
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: cannot find channel spell target for spell ID %u, effect %u", m_spellInfo->Id, effIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: cannot find channel spell target for spell ID %u, effect %u", m_spellInfo->Id, effIndex);
+#endif
break;
}
case TARGET_DEST_CHANNEL_TARGET:
@@ -1002,7 +1006,9 @@ void Spell::SelectImplicitChannelTargets(SpellEffIndex effIndex, SpellImplicitTa
m_targets.SetDst(*target);
}
else //if (!m_targets.HasDst())
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: cannot find channel spell destination for spell ID %u, effect %u", m_spellInfo->Id, effIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: cannot find channel spell destination for spell ID %u, effect %u", m_spellInfo->Id, effIndex);
+#endif
break;
case TARGET_DEST_CHANNEL_CASTER:
if (GetOriginalCaster())
@@ -1048,7 +1054,9 @@ void Spell::SelectImplicitNearbyTargets(SpellEffIndex effIndex, SpellImplicitTar
// handle emergency case - try to use other provided targets if no conditions provided
if (targetType.GetCheckType() == TARGET_CHECK_ENTRY && (!condList || condList->empty()))
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::SelectImplicitNearbyTargets: no conditions entry for target with TARGET_CHECK_ENTRY of spell ID %u, effect %u - selecting default targets", m_spellInfo->Id, effIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::SelectImplicitNearbyTargets: no conditions entry for target with TARGET_CHECK_ENTRY of spell ID %u, effect %u - selecting default targets", m_spellInfo->Id, effIndex);
+#endif
switch (targetType.GetObjectType())
{
case TARGET_OBJECT_TYPE_GOBJ:
@@ -1075,7 +1083,9 @@ void Spell::SelectImplicitNearbyTargets(SpellEffIndex effIndex, SpellImplicitTar
WorldObject* target = SearchNearbyTarget(range, targetType.GetObjectType(), targetType.GetCheckType(), condList);
if (!target)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::SelectImplicitNearbyTargets: cannot find nearby target for spell ID %u, effect %u", m_spellInfo->Id, effIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::SelectImplicitNearbyTargets: cannot find nearby target for spell ID %u, effect %u", m_spellInfo->Id, effIndex);
+#endif
return;
}
@@ -1278,7 +1288,9 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici
}
else
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: unknown target coordinates for spell ID %u", m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SPELL: unknown target coordinates for spell ID %u", m_spellInfo->Id);
+#endif
if (WorldObject* target = m_targets.GetObjectTarget())
dest = SpellDestination(*target);
}
@@ -3097,7 +3109,9 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask)
if (CanExecuteTriggersOnHit(effMask, i->triggeredByAura) && roll_chance_i(i->chance))
{
m_caster->CastSpell(unit, i->triggeredSpell, true);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %d triggered spell %d by SPELL_AURA_ADD_TARGET_TRIGGER aura", m_spellInfo->Id, i->triggeredSpell->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %d triggered spell %d by SPELL_AURA_ADD_TARGET_TRIGGER aura", m_spellInfo->Id, i->triggeredSpell->Id);
+#endif
// SPELL_AURA_ADD_TARGET_TRIGGER auras shouldn't trigger auras without duration
// set duration of current aura to the triggered spell
@@ -3397,7 +3411,9 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered
// set timer base at cast time
ReSetTimer();
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::prepare: spell id %u source %u caster %d customCastFlags %u mask %u", m_spellInfo->Id, m_caster->GetEntry(), m_originalCaster ? m_originalCaster->GetEntry() : -1, _triggeredCastFlags, m_targets.GetTargetMask());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::prepare: spell id %u source %u caster %d customCastFlags %u mask %u", m_spellInfo->Id, m_caster->GetEntry(), m_originalCaster ? m_originalCaster->GetEntry() : -1, _triggeredCastFlags, m_targets.GetTargetMask());
+#endif
//Containers for channeled spells have to be set
//TODO:Apply this to all casted spells if needed
@@ -3758,6 +3774,7 @@ void Spell::handle_immediate()
// Apply duration mod
if (Player* modOwner = m_caster->GetSpellModOwner())
modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_DURATION, duration);
+
// Apply haste mods
if (m_caster->HasAuraTypeWithAffectMask(SPELL_AURA_PERIODIC_HASTE, m_spellInfo) || m_spellInfo->HasAttribute(SPELL_ATTR5_HASTE_AFFECT_DURATION))
duration = int32(duration * m_caster->GetFloatValue(UNIT_MOD_CAST_SPEED));
@@ -3780,10 +3797,10 @@ void Spell::handle_immediate()
// process immediate effects (items, ground, etc.) also initialize some variables
_handle_immediate_phase();
- for (std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
+ for (std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
DoAllEffectOnTarget(&(*ihit));
- for (std::list<GOTargetInfo>::iterator ihit= m_UniqueGOTargetInfo.begin(); ihit != m_UniqueGOTargetInfo.end(); ++ihit)
+ for (std::list<GOTargetInfo>::iterator ihit = m_UniqueGOTargetInfo.begin(); ihit != m_UniqueGOTargetInfo.end(); ++ihit)
DoAllEffectOnTarget(&(*ihit));
FinishTargetProcessing();
@@ -3989,7 +4006,9 @@ void Spell::update(uint32 difftime)
if (m_targets.GetUnitTargetGUID() && !m_targets.GetUnitTarget())
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %u is cancelled due to removal of target.", m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %u is cancelled due to removal of target.", m_spellInfo->Id);
+#endif
cancel();
return;
}
@@ -4047,7 +4066,9 @@ void Spell::update(uint32 difftime)
// Xinef: so the aura can be removed in different updates for all units
else if ((m_timer < 0 || m_timer > 300) && !UpdateChanneledTargetList())
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Channeled spell %d is removed due to lack of targets", m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Channeled spell %d is removed due to lack of targets", m_spellInfo->Id);
+#endif
SendChannelUpdate(0);
finish();
}
@@ -4111,7 +4132,9 @@ void Spell::finish(bool ok)
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spell);
if (spellInfo && spellInfo->SpellIconID == 2056)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Statue %d is unsummoned in spell %d finish", m_caster->GetGUIDLow(), m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Statue %d is unsummoned in spell %d finish", m_caster->GetGUIDLow(), m_spellInfo->Id);
+#endif
m_caster->setDeathState(JUST_DIED);
return;
}
@@ -5147,7 +5170,9 @@ void Spell::HandleThreatSpells()
else if (!m_spellInfo->_IsPositiveSpell() && !IsFriendly && target->CanHaveThreatList())
target->AddThreat(m_caster, threatToAdd, m_spellInfo->GetSchoolMask(), m_spellInfo);
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %u, added an additional %f threat for %s %u target(s)", m_spellInfo->Id, threat, m_spellInfo->_IsPositiveSpell() ? "assisting" : "harming", uint32(m_UniqueTargetInfo.size()));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %u, added an additional %f threat for %s %u target(s)", m_spellInfo->Id, threat, m_spellInfo->_IsPositiveSpell() ? "assisting" : "harming", uint32(m_UniqueTargetInfo.size()));
+#endif
}
void Spell::HandleEffects(Unit* pUnitTarget, Item* pItemTarget, GameObject* pGOTarget, uint32 i, SpellEffectHandleMode mode)
@@ -5160,7 +5185,9 @@ void Spell::HandleEffects(Unit* pUnitTarget, Item* pItemTarget, GameObject* pGOT
uint8 eff = m_spellInfo->Effects[i].Effect;
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell: %u Effect : %u", m_spellInfo->Id, eff);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell: %u Effect : %u", m_spellInfo->Id, eff);
+#endif
// we do not need DamageMultiplier here.
damage = CalculateSpellDamage(i, NULL);
@@ -7160,7 +7187,9 @@ void Spell::Delayed() // only called in DealDamage()
else
m_timer += delaytime;
- ;//sLog->outDetail("Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime);
+#endif
WorldPacket data(SMSG_SPELL_DELAYED, 8+4);
data.append(m_caster->GetPackGUID());
@@ -7198,7 +7227,9 @@ void Spell::DelayedChannel()
else
m_timer -= delaytime;
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %u partially interrupted for %i ms, new duration: %u ms", m_spellInfo->Id, delaytime, m_timer);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell %u partially interrupted for %i ms, new duration: %u ms", m_spellInfo->Id, delaytime, m_timer);
+#endif
for (std::list<TargetInfo>::const_iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
if ((*ihit).missCondition == SPELL_MISS_NONE)
@@ -7855,7 +7886,9 @@ void Spell::LoadScripts()
m_loadedScripts.erase(bitr);
continue;
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::LoadScripts: Script `%s` for spell `%u` is loaded now", (*itr)->_GetScriptName()->c_str(), m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::LoadScripts: Script `%s` for spell `%u` is loaded now", (*itr)->_GetScriptName()->c_str(), m_spellInfo->Id);
+#endif
(*itr)->Register();
++itr;
}
diff --git a/src/game/Spells/SpellEffects.cpp b/src/game/Spells/SpellEffects.cpp
index b87ba76531..a6e97b7121 100644
--- a/src/game/Spells/SpellEffects.cpp
+++ b/src/game/Spells/SpellEffects.cpp
@@ -229,7 +229,9 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
void Spell::EffectNULL(SpellEffIndex /*effIndex*/)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: Spell Effect DUMMY");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: Spell Effect DUMMY");
+#endif
}
void Spell::EffectUnused(SpellEffIndex /*effIndex*/)
@@ -767,7 +769,9 @@ void Spell::EffectDummy(SpellEffIndex effIndex)
}
// normal DB scripted effect
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart spellid %u in EffectDummy(%u)", m_spellInfo->Id, effIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart spellid %u in EffectDummy(%u)", m_spellInfo->Id, effIndex);
+#endif
m_caster->GetMap()->ScriptsStart(sSpellScripts, uint32(m_spellInfo->Id | (effIndex << 24)), m_caster, unitTarget);
}
@@ -901,7 +905,9 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(triggered_spell_id);
if (!spellInfo)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTriggerSpell spell %u tried to trigger unknown spell %u", m_spellInfo->Id, triggered_spell_id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTriggerSpell spell %u tried to trigger unknown spell %u", m_spellInfo->Id, triggered_spell_id);
+#endif
return;
}
@@ -957,7 +963,9 @@ void Spell::EffectTriggerMissileSpell(SpellEffIndex effIndex)
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(triggered_spell_id);
if (!spellInfo)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTriggerMissileSpell spell %u tried to trigger unknown spell %u", m_spellInfo->Id, triggered_spell_id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTriggerMissileSpell spell %u tried to trigger unknown spell %u", m_spellInfo->Id, triggered_spell_id);
+#endif
return;
}
@@ -1180,7 +1188,9 @@ void Spell::EffectTeleportUnits(SpellEffIndex /*effIndex*/)
destTarget->GetPosition(x, y, z, orientation);
if (!orientation && m_targets.GetUnitTarget())
orientation = m_targets.GetUnitTarget()->GetOrientation();
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTeleportUnits - teleport unit to %u %f %f %f %f\n", mapid, x, y, z, orientation);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTeleportUnits - teleport unit to %u %f %f %f %f\n", mapid, x, y, z, orientation);
+#endif
if (mapid == unitTarget->GetMapId())
{
@@ -1333,7 +1343,9 @@ void Spell::EffectUnlearnSpecialization(SpellEffIndex effIndex)
uint32 spellToUnlearn = m_spellInfo->Effects[effIndex].TriggerSpell;
player->removeSpell(spellToUnlearn, SPEC_MASK_ALL, false);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell: Player %u has unlearned spell %u from NpcGUID: %u", player->GetGUIDLow(), spellToUnlearn, m_caster->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell: Player %u has unlearned spell %u from NpcGUID: %u", player->GetGUIDLow(), spellToUnlearn, m_caster->GetGUIDLow());
+#endif
}
void Spell::EffectPowerDrain(SpellEffIndex effIndex)
@@ -1405,7 +1417,9 @@ void Spell::EffectSendEvent(SpellEffIndex effIndex)
// TODO: there should be a possibility to pass dest target to event script
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart %u for spellid %u in EffectSendEvent ", m_spellInfo->Effects[effIndex].MiscValue, m_spellInfo->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart %u for spellid %u in EffectSendEvent ", m_spellInfo->Effects[effIndex].MiscValue, m_spellInfo->Id);
+#endif
if (ZoneScript* zoneScript = m_caster->GetZoneScript())
zoneScript->ProcessEvent(target, m_spellInfo->Effects[effIndex].MiscValue);
@@ -1610,7 +1624,9 @@ void Spell::EffectHealthLeech(SpellEffIndex effIndex)
damage = m_caster->SpellDamageBonusDone(unitTarget, m_spellInfo, uint32(damage), SPELL_DIRECT_DAMAGE);
damage = unitTarget->SpellDamageBonusTaken(m_caster, m_spellInfo, uint32(damage), SPELL_DIRECT_DAMAGE);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "HealthLeech :%i", damage);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "HealthLeech :%i", damage);
+#endif
// xinef: handled in spell.cpp
//float healMultiplier = m_spellInfo->Effects[effIndex].CalcValueMultiplier(m_originalCaster, this);
@@ -1976,8 +1992,9 @@ void Spell::SendLoot(uint64 guid, LootType loottype)
// Players shouldn't be able to loot gameobjects that are currently despawned
if (!gameObjTarget->isSpawned() && !player->IsGameMaster())
{
- ;//sLog->outError("Possible hacking attempt: Player %s [guid: %u] tried to loot a gameobject [entry: %u id: %u] which is on respawn time without being in GM mode!",
- // player->GetName().c_str(), player->GetGUIDLow(), gameObjTarget->GetEntry(), gameObjTarget->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outError("Possible hacking attempt: Player %s [guid: %u] tried to loot a gameobject [entry: %u id: %u] which is on respawn time without being in GM mode!", player->GetName().c_str(), player->GetGUIDLow(), gameObjTarget->GetEntry(), gameObjTarget->GetGUIDLow());
+#endif
return;
}
// special case, already has GossipHello inside so return and avoid calling twice
@@ -2038,7 +2055,9 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
if (m_caster->GetTypeId() != TYPEID_PLAYER)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: Open Lock - No Player Caster!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: Open Lock - No Player Caster!");
+#endif
return;
}
@@ -2096,7 +2115,9 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
}
else
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: Open Lock - No GameObject/Item Target!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: Open Lock - No GameObject/Item Target!");
+#endif
return;
}
@@ -2498,7 +2519,9 @@ void Spell::EffectLearnSpell(SpellEffIndex effIndex)
uint32 spellToLearn = (m_spellInfo->Id == 483 || m_spellInfo->Id == 55884) ? damage : m_spellInfo->Effects[effIndex].TriggerSpell;
player->learnSpell(spellToLearn);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell: Player %u has learned spell %u from NpcGUID=%u", player->GetGUIDLow(), spellToLearn, m_caster->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell: Player %u has learned spell %u from NpcGUID=%u", player->GetGUIDLow(), spellToLearn, m_caster->GetGUIDLow());
+#endif
}
typedef std::list< std::pair<uint32, uint64> > DispelList;
@@ -2746,7 +2769,9 @@ void Spell::EffectAddHonor(SpellEffIndex /*effIndex*/)
if (m_CastItem)
{
unitTarget->ToPlayer()->RewardHonor(NULL, 1, damage/10, false);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellEffect::AddHonor (spell_id %u) rewards %d honor points (item %u) for player: %u", m_spellInfo->Id, damage/10, m_CastItem->GetEntry(), unitTarget->ToPlayer()->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellEffect::AddHonor (spell_id %u) rewards %d honor points (item %u) for player: %u", m_spellInfo->Id, damage/10, m_CastItem->GetEntry(), unitTarget->ToPlayer()->GetGUIDLow());
+#endif
return;
}
@@ -2755,13 +2780,17 @@ void Spell::EffectAddHonor(SpellEffIndex /*effIndex*/)
{
uint32 honor_reward = Trinity::Honor::hk_honor_at_level(unitTarget->getLevel(), float(damage));
unitTarget->ToPlayer()->RewardHonor(NULL, 1, honor_reward, false);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellEffect::AddHonor (spell_id %u) rewards %u honor points (scale) to player: %u", m_spellInfo->Id, honor_reward, unitTarget->ToPlayer()->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellEffect::AddHonor (spell_id %u) rewards %u honor points (scale) to player: %u", m_spellInfo->Id, honor_reward, unitTarget->ToPlayer()->GetGUIDLow());
+#endif
}
else
{
//maybe we have correct honor_gain in damage already
unitTarget->ToPlayer()->RewardHonor(NULL, 1, damage, false);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellEffect::AddHonor (spell_id %u) rewards %u honor points (non scale) for player: %u", m_spellInfo->Id, damage, unitTarget->ToPlayer()->GetGUIDLow());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellEffect::AddHonor (spell_id %u) rewards %u honor points (non scale) for player: %u", m_spellInfo->Id, damage, unitTarget->ToPlayer()->GetGUIDLow());
+#endif
}
}
@@ -4100,7 +4129,9 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
}
// normal DB scripted effect
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart spellid %u in EffectScriptEffect(%u)", m_spellInfo->Id, effIndex);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart spellid %u in EffectScriptEffect(%u)", m_spellInfo->Id, effIndex);
+#endif
m_caster->GetMap()->ScriptsStart(sSpellScripts, uint32(m_spellInfo->Id | (effIndex << 24)), m_caster, unitTarget);
}
@@ -5380,7 +5411,9 @@ void Spell::EffectTransmitted(SpellEffIndex effIndex)
ExecuteLogEffectSummonObject(effIndex, pGameObj);
- ;//sLog->outStaticDebug("AddObject at SpellEfects.cpp EffectTransmitted");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("AddObject at SpellEfects.cpp EffectTransmitted");
+#endif
//m_caster->AddGameObject(pGameObj);
//m_ObjToDel.push_back(pGameObj);
@@ -5464,7 +5497,9 @@ void Spell::EffectSkill(SpellEffIndex /*effIndex*/)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT)
return;
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: SkillEFFECT");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "WORLD: SkillEFFECT");
+#endif
}
/* There is currently no need for this effect. We handle it in Battleground.cpp
@@ -5495,7 +5530,9 @@ void Spell::EffectSkinPlayerCorpse(SpellEffIndex /*effIndex*/)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Effect: SkinPlayerCorpse");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Effect: SkinPlayerCorpse");
+#endif
if ((m_caster->GetTypeId() != TYPEID_PLAYER) || (unitTarget->GetTypeId() != TYPEID_PLAYER) || (unitTarget->IsAlive()))
return;
@@ -5507,7 +5544,9 @@ void Spell::EffectStealBeneficialBuff(SpellEffIndex effIndex)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Effect: StealBeneficialBuff");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Effect: StealBeneficialBuff");
+#endif
if (!unitTarget || unitTarget == m_caster) // can't steal from self
return;
@@ -6157,9 +6196,10 @@ void Spell::EffectBind(SpellEffIndex effIndex)
data << uint32(areaId);
player->SendDirectMessage(&data);
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "EffectBind: New homebind X: %f, Y: %f, Z: %f, MapId: %u, AreaId: %u",
- // homeLoc.GetPositionX(), homeLoc.GetPositionY(), homeLoc.GetPositionZ(), homeLoc.GetMapId(), areaId);
-
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "EffectBind: New homebind X: %f, Y: %f, Z: %f, MapId: %u, AreaId: %u",
+ homeLoc.GetPositionX(), homeLoc.GetPositionY(), homeLoc.GetPositionZ(), homeLoc.GetMapId(), areaId);
+#endif
// zone update
data.Initialize(SMSG_PLAYERBOUND, 8 + 4);
data << uint64(m_caster->GetGUID());
diff --git a/src/game/Spells/SpellInfo.cpp b/src/game/Spells/SpellInfo.cpp
index be189de05c..c61e9463b5 100644
--- a/src/game/Spells/SpellInfo.cpp
+++ b/src/game/Spells/SpellInfo.cpp
@@ -2365,7 +2365,9 @@ int32 SpellInfo::CalcPowerCost(Unit const* caster, SpellSchoolMask schoolMask, S
break;
case POWER_RUNE:
case POWER_RUNIC_POWER:
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "CalculateManaCost: Not implemented yet!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "CalculateManaCost: Not implemented yet!");
+#endif
break;
default:
sLog->outError("CalculateManaCost: Unknown power type '%d' in spell %d", PowerType, Id);
diff --git a/src/game/Spells/SpellMgr.cpp b/src/game/Spells/SpellMgr.cpp
index 8b524c9cf6..26e669351a 100644
--- a/src/game/Spells/SpellMgr.cpp
+++ b/src/game/Spells/SpellMgr.cpp
@@ -490,13 +490,17 @@ uint32 SpellMgr::GetSpellIdForDifficulty(uint32 spellId, Unit const* caster) con
SpellDifficultyEntry const* difficultyEntry = sSpellDifficultyStore.LookupEntry(difficultyId);
if (!difficultyEntry)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellIdForDifficulty: SpellDifficultyEntry not found for spell %u. This should never happen.", spellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellIdForDifficulty: SpellDifficultyEntry not found for spell %u. This should never happen.", spellId);
+#endif
return spellId; //return source spell
}
if (difficultyEntry->SpellID[mode] <= 0 && mode > DUNGEON_DIFFICULTY_HEROIC)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellIdForDifficulty: spell %u mode %u spell is NULL, using mode %u", spellId, mode, mode - 2);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellIdForDifficulty: spell %u mode %u spell is NULL, using mode %u", spellId, mode, mode - 2);
+#endif
mode -= 2;
}
@@ -506,7 +510,9 @@ uint32 SpellMgr::GetSpellIdForDifficulty(uint32 spellId, Unit const* caster) con
return spellId;
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellIdForDifficulty: spellid for spell %u in mode %u is %d", spellId, mode, difficultyEntry->SpellID[mode]);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellIdForDifficulty: spellid for spell %u in mode %u is %d", spellId, mode, difficultyEntry->SpellID[mode]);
+#endif
return uint32(difficultyEntry->SpellID[mode]);
}
@@ -516,11 +522,15 @@ SpellInfo const* SpellMgr::GetSpellForDifficultyFromSpell(SpellInfo const* spell
SpellInfo const* newSpell = GetSpellInfo(newSpellId);
if (!newSpell)
{
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellForDifficultyFromSpell: spell %u not found. Check spelldifficulty_dbc!", newSpellId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellForDifficultyFromSpell: spell %u not found. Check spelldifficulty_dbc!", newSpellId);
+#endif
return spell;
}
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellForDifficultyFromSpell: Spell id for instance mode is %u (original %u)", newSpell->Id, spell->Id);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "SpellMgr::GetSpellForDifficultyFromSpell: Spell id for instance mode is %u (original %u)", newSpell->Id, spell->Id);
+#endif
return newSpell;
}
@@ -1546,7 +1556,9 @@ void SpellMgr::LoadSpellTargetPositions()
if (found)
{
if (!sSpellMgr->GetSpellTargetPosition(i))
- ;//sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell (ID: %u) does not have record in `spell_target_position`", i);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell (ID: %u) does not have record in `spell_target_position`", i);
+#endif
}
}*/
diff --git a/src/game/Texts/CreatureTextMgr.cpp b/src/game/Texts/CreatureTextMgr.cpp
index 94ff6cf681..f9d7922281 100644
--- a/src/game/Texts/CreatureTextMgr.cpp
+++ b/src/game/Texts/CreatureTextMgr.cpp
@@ -429,7 +429,9 @@ bool CreatureTextMgr::TextExist(uint32 sourceEntry, uint8 textGroup)
CreatureTextMap::const_iterator sList = mTextMap.find(sourceEntry);
if (sList == mTextMap.end())
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "CreatureTextMgr::TextExist: Could not find Text for Creature (entry %u) in 'creature_text' table.", sourceEntry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "CreatureTextMgr::TextExist: Could not find Text for Creature (entry %u) in 'creature_text' table.", sourceEntry);
+#endif
return false;
}
@@ -437,7 +439,9 @@ bool CreatureTextMgr::TextExist(uint32 sourceEntry, uint8 textGroup)
CreatureTextHolder::const_iterator itr = textHolder.find(textGroup);
if (itr == textHolder.end())
{
- ;//sLog->outDebug(LOG_FILTER_UNITS, "CreatureTextMgr::TextExist: Could not find TextGroup %u for Creature (entry %u).", uint32(textGroup), sourceEntry);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_UNITS, "CreatureTextMgr::TextExist: Could not find TextGroup %u for Creature (entry %u).", uint32(textGroup), sourceEntry);
+#endif
return false;
}
diff --git a/src/game/Warden/Warden.cpp b/src/game/Warden/Warden.cpp
index 11170ba07a..5771a8a22a 100644
--- a/src/game/Warden/Warden.cpp
+++ b/src/game/Warden/Warden.cpp
@@ -36,7 +36,9 @@ Warden::~Warden()
void Warden::SendModuleToClient()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Send module to client");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Send module to client");
+#endif
// Create packet structure
WardenModuleTransfer packet;
@@ -62,7 +64,9 @@ void Warden::SendModuleToClient()
void Warden::RequestModule()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request module");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request module");
+#endif
// Create packet structure
WardenModuleUse request;
@@ -125,12 +129,16 @@ bool Warden::IsValidCheckSum(uint32 checksum, const uint8* data, const uint16 le
if (checksum != newChecksum)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "CHECKSUM IS NOT VALID");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "CHECKSUM IS NOT VALID");
+#endif
return false;
}
else
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "CHECKSUM IS VALID");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "CHECKSUM IS VALID");
+#endif
return true;
}
}
@@ -237,7 +245,9 @@ void WorldSession::HandleWardenDataOpcode(WorldPacket& recvData)
_warden->DecryptData(recvData.contents(), recvData.size());
uint8 opcode;
recvData >> opcode;
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Got packet, opcode %02X, size %u", opcode, uint32(recvData.size()));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Got packet, opcode %02X, size %u", opcode, uint32(recvData.size()));
+#endif
recvData.hexlike();
switch (opcode)
@@ -252,17 +262,23 @@ void WorldSession::HandleWardenDataOpcode(WorldPacket& recvData)
_warden->HandleData(recvData);
break;
case WARDEN_CMSG_MEM_CHECKS_RESULT:
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "NYI WARDEN_CMSG_MEM_CHECKS_RESULT received!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "NYI WARDEN_CMSG_MEM_CHECKS_RESULT received!");
+#endif
break;
case WARDEN_CMSG_HASH_RESULT:
_warden->HandleHashResult(recvData);
_warden->InitializeModule();
break;
case WARDEN_CMSG_MODULE_FAILED:
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "NYI WARDEN_CMSG_MODULE_FAILED received!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "NYI WARDEN_CMSG_MODULE_FAILED received!");
+#endif
break;
default:
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Got unknown warden opcode %02X of size %u.", opcode, uint32(recvData.size() - 1));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Got unknown warden opcode %02X of size %u.", opcode, uint32(recvData.size() - 1));
+#endif
break;
}
}
diff --git a/src/game/Warden/WardenMac.cpp b/src/game/Warden/WardenMac.cpp
index 27f697263e..e2c97f6d6d 100644
--- a/src/game/Warden/WardenMac.cpp
+++ b/src/game/Warden/WardenMac.cpp
@@ -46,16 +46,30 @@ void WardenMac::Init(WorldSession *pClient, BigNumber *K)
_inputCrypto.Init(_inputKey);
_outputCrypto.Init(_outputKey);
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Server side warden for client %u initializing...", pClient->GetAccountId());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "C->S Key: %s", ByteArrayToHexStr(_inputKey, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "S->C Key: %s", ByteArrayToHexStr(_outputKey, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, " Seed: %s", ByteArrayToHexStr(_seed, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Loading Module...");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Server side warden for client %u initializing...", pClient->GetAccountId());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "C->S Key: %s", ByteArrayToHexStr(_inputKey, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "S->C Key: %s", ByteArrayToHexStr(_outputKey, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, " Seed: %s", ByteArrayToHexStr(_seed, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Loading Module...");
+#endif
_module = GetModuleForClient();
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Module Key: %s", ByteArrayToHexStr(_module->Key, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Module ID: %s", ByteArrayToHexStr(_module->Id, 16).c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Module Key: %s", ByteArrayToHexStr(_module->Key, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Module ID: %s", ByteArrayToHexStr(_module->Id, 16).c_str());
+#endif
RequestModule();
}
@@ -82,12 +96,16 @@ ClientWardenModule* WardenMac::GetModuleForClient()
void WardenMac::InitializeModule()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Initialize module");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Initialize module");
+#endif
}
void WardenMac::RequestHash()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request hash");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request hash");
+#endif
// Create packet structure
WardenHashRequest Request;
@@ -155,12 +173,16 @@ void WardenMac::HandleHashResult(ByteBuffer &buff)
// Verify key
if (memcmp(buff.contents() + 1, sha1.GetDigest(), 20) != 0)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: failed");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: failed");
+#endif
Penalty();
return;
}
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: succeed");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: succeed");
+#endif
// client 7F96EEFDA5B63D20A4DF8E00CBF48304
//const uint8 client_key[16] = { 0x7F, 0x96, 0xEE, 0xFD, 0xA5, 0xB6, 0x3D, 0x20, 0xA4, 0xDF, 0x8E, 0x00, 0xCB, 0xF4, 0x83, 0x04 };
@@ -182,7 +204,9 @@ void WardenMac::HandleHashResult(ByteBuffer &buff)
void WardenMac::RequestData()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request data");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request data");
+#endif
ByteBuffer buff;
buff << uint8(WARDEN_SMSG_CHEAT_CHECKS_REQUEST);
@@ -206,7 +230,9 @@ void WardenMac::RequestData()
void WardenMac::HandleData(ByteBuffer &buff)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Handle data");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Handle data");
+#endif
_dataSent = false;
_clientResponseTimer = 0;
@@ -239,7 +265,9 @@ void WardenMac::HandleData(ByteBuffer &buff)
if (memcmp(sha1Hash, sha1.GetDigest(), 20))
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Handle data failed: SHA1 hash is wrong!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Handle data failed: SHA1 hash is wrong!");
+#endif
//found = true;
}
@@ -254,7 +282,9 @@ void WardenMac::HandleData(ByteBuffer &buff)
if (memcmp(ourMD5Hash, theirsMD5Hash, 16))
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Handle data failed: MD5 hash is wrong!");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Handle data failed: MD5 hash is wrong!");
+#endif
//found = true;
}
diff --git a/src/game/Warden/WardenWin.cpp b/src/game/Warden/WardenWin.cpp
index 13c8a77cd3..0d8037e939 100644
--- a/src/game/Warden/WardenWin.cpp
+++ b/src/game/Warden/WardenWin.cpp
@@ -53,16 +53,30 @@ void WardenWin::Init(WorldSession* session, BigNumber *k)
_inputCrypto.Init(_inputKey);
_outputCrypto.Init(_outputKey);
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Server side warden for client %u initializing...", session->GetAccountId());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "C->S Key: %s", ByteArrayToHexStr(_inputKey, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "S->C Key: %s", ByteArrayToHexStr(_outputKey, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, " Seed: %s", ByteArrayToHexStr(_seed, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Loading Module...");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Server side warden for client %u initializing...", session->GetAccountId());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "C->S Key: %s", ByteArrayToHexStr(_inputKey, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "S->C Key: %s", ByteArrayToHexStr(_outputKey, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, " Seed: %s", ByteArrayToHexStr(_seed, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Loading Module...");
+#endif
_module = GetModuleForClient();
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Module Key: %s", ByteArrayToHexStr(_module->Key, 16).c_str());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Module ID: %s", ByteArrayToHexStr(_module->Id, 16).c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Module Key: %s", ByteArrayToHexStr(_module->Key, 16).c_str());
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Module ID: %s", ByteArrayToHexStr(_module->Id, 16).c_str());
+#endif
RequestModule();
}
@@ -89,7 +103,9 @@ ClientWardenModule* WardenWin::GetModuleForClient()
void WardenWin::InitializeModule()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Initialize module");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Initialize module");
+#endif
// Create packet structure
WardenInitModuleRequest Request;
@@ -133,7 +149,9 @@ void WardenWin::InitializeModule()
void WardenWin::RequestHash()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request hash");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request hash");
+#endif
// Create packet structure
WardenHashRequest Request;
@@ -155,12 +173,16 @@ void WardenWin::HandleHashResult(ByteBuffer &buff)
// Verify key
if (memcmp(buff.contents() + 1, Module.ClientKeySeedHash, 20) != 0)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: failed");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: failed");
+#endif
Penalty();
return;
}
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: succeed");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request hash reply: succeed");
+#endif
// Change keys here
memcpy(_inputKey, Module.ClientKeySeed, 16);
@@ -176,7 +198,9 @@ void WardenWin::HandleHashResult(ByteBuffer &buff)
void WardenWin::RequestData()
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Request data");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Request data");
+#endif
// If all checks were done, fill the todo list again
if (_memChecksTodo.empty())
@@ -326,12 +350,16 @@ void WardenWin::RequestData()
for (std::list<uint16>::iterator itr = _currentChecks.begin(); itr != _currentChecks.end(); ++itr)
stream << *itr << " ";
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "%s", stream.str().c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "%s", stream.str().c_str());
+#endif
}
void WardenWin::HandleData(ByteBuffer &buff)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Handle data");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Handle data");
+#endif
_dataSent = false;
_clientResponseTimer = 0;
@@ -344,7 +372,9 @@ void WardenWin::HandleData(ByteBuffer &buff)
if (!IsValidCheckSum(Checksum, buff.contents() + buff.rpos(), Length))
{
buff.rpos(buff.wpos());
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "CHECKSUM FAIL");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "CHECKSUM FAIL");
+#endif
Penalty();
return;
}
@@ -356,7 +386,9 @@ void WardenWin::HandleData(ByteBuffer &buff)
// TODO: test it.
if (result == 0x00)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "TIMING CHECK FAIL result 0x00");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "TIMING CHECK FAIL result 0x00");
+#endif
Penalty();
return;
}
@@ -367,10 +399,18 @@ void WardenWin::HandleData(ByteBuffer &buff)
uint32 ticksNow = World::GetGameTimeMS();
uint32 ourTicks = newClientTicks + (ticksNow - _serverTicks);
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "ServerTicks %u", ticksNow); // Now
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RequestTicks %u", _serverTicks); // At request
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Ticks %u", newClientTicks); // At response
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Ticks diff %u", ourTicks - newClientTicks);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "ServerTicks %u", ticksNow); // Now
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RequestTicks %u", _serverTicks); // At request
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Ticks %u", newClientTicks); // At response
+#endif
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Ticks diff %u", ourTicks - newClientTicks);
+#endif
}
WardenCheckResult *rs;
@@ -395,21 +435,27 @@ void WardenWin::HandleData(ByteBuffer &buff)
if (Mem_Result != 0)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MEM_CHECK not 0x00, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MEM_CHECK not 0x00, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
checkFailed = *itr;
continue;
}
if (memcmp(buff.contents() + buff.rpos(), rs->Result.AsByteArray(0, false).get(), rd->Length) != 0)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MEM_CHECK fail CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MEM_CHECK fail CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
checkFailed = *itr;
buff.rpos(buff.rpos() + rd->Length);
continue;
}
buff.rpos(buff.rpos() + rd->Length);
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MEM_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MEM_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
break;
}
case PAGE_CHECK_A:
@@ -420,24 +466,31 @@ void WardenWin::HandleData(ByteBuffer &buff)
const uint8 byte = 0xE9;
if (memcmp(buff.contents() + buff.rpos(), &byte, sizeof(uint8)) != 0)
{
- /*if (type == PAGE_CHECK_A || type == PAGE_CHECK_B)
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT PAGE_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ if (type == PAGE_CHECK_A || type == PAGE_CHECK_B)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT PAGE_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+
if (type == MODULE_CHECK)
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MODULE_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MODULE_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+
if (type == DRIVER_CHECK)
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT DRIVER_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());*/
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT DRIVER_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
checkFailed = *itr;
buff.rpos(buff.rpos() + 1);
continue;
}
buff.rpos(buff.rpos() + 1);
- /*if (type == PAGE_CHECK_A || type == PAGE_CHECK_B)
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT PAGE_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
- else if (type == MODULE_CHECK)
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MODULE_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
- else if (type == DRIVER_CHECK)
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT DRIVER_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());*/
+
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ if (type == PAGE_CHECK_A || type == PAGE_CHECK_B)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT PAGE_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
+ else if (type == MODULE_CHECK)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MODULE_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
+ else if (type == DRIVER_CHECK)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT DRIVER_CHECK passed CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
break;
}
case LUA_STR_CHECK:
@@ -447,7 +500,9 @@ void WardenWin::HandleData(ByteBuffer &buff)
if (Lua_Result != 0)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT LUA_STR_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT LUA_STR_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
checkFailed = *itr;
continue;
}
@@ -460,11 +515,15 @@ void WardenWin::HandleData(ByteBuffer &buff)
char *str = new char[luaStrLen + 1];
memcpy(str, buff.contents() + buff.rpos(), luaStrLen);
str[luaStrLen] = '\0'; // null terminator
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "Lua string: %s", str);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "Lua string: %s", str);
+#endif
delete[] str;
}
buff.rpos(buff.rpos() + luaStrLen); // Skip string
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT LUA_STR_CHECK passed, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT LUA_STR_CHECK passed, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
break;
}
case MPQ_CHECK:
@@ -474,21 +533,27 @@ void WardenWin::HandleData(ByteBuffer &buff)
if (Mpq_Result != 0)
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MPQ_CHECK not 0x00 account id %u", _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MPQ_CHECK not 0x00 account id %u", _session->GetAccountId());
+#endif
checkFailed = *itr;
continue;
}
if (memcmp(buff.contents() + buff.rpos(), rs->Result.AsByteArray(0, false).get(), 20) != 0) // SHA1
{
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MPQ_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MPQ_CHECK fail, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
checkFailed = *itr;
buff.rpos(buff.rpos() + 20); // 20 bytes SHA1
continue;
}
buff.rpos(buff.rpos() + 20); // 20 bytes SHA1
- ;//sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MPQ_CHECK passed, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_WARDEN, "RESULT MPQ_CHECK passed, CheckId %u account Id %u", *itr, _session->GetAccountId());
+#endif
break;
}
default: // Should never happen
diff --git a/src/game/Weather/Weather.cpp b/src/game/Weather/Weather.cpp
index b40f2c806b..af5101593d 100644
--- a/src/game/Weather/Weather.cpp
+++ b/src/game/Weather/Weather.cpp
@@ -26,7 +26,9 @@ Weather::Weather(uint32 zone, WeatherData const* weatherChances)
m_type = WEATHER_TYPE_FINE;
m_grade = 0;
- ;//sLog->outDetail("WORLD: Starting weather system for zone %u (change every %u minutes).", m_zone, (uint32)(m_timer.GetInterval() / (MINUTE*IN_MILLISECONDS)));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("WORLD: Starting weather system for zone %u (change every %u minutes).", m_zone, (uint32)(m_timer.GetInterval() / (MINUTE*IN_MILLISECONDS)));
+#endif
}
/// Launch a weather update
@@ -87,7 +89,9 @@ bool Weather::ReGenerate()
static char const* seasonName[WEATHER_SEASONS] = { "spring", "summer", "fall", "winter" };
- ;//sLog->outDetail("Generating a change in %s weather for zone %u.", seasonName[season], m_zone);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Generating a change in %s weather for zone %u.", seasonName[season], m_zone);
+#endif
if ((u < 60) && (m_grade < 0.33333334f)) // Get fair
{
@@ -252,7 +256,9 @@ bool Weather::UpdateWeather()
wthstr = "fine";
break;
}
- ;//sLog->outDetail("Change the weather of zone %u to %s.", m_zone, wthstr);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Change the weather of zone %u to %s.", m_zone, wthstr);
+#endif
sScriptMgr->OnWeatherChange(this, state, m_grade);
return true;
}
diff --git a/src/game/World/World.cpp b/src/game/World/World.cpp
index 21f30b7870..684f9af76d 100644
--- a/src/game/World/World.cpp
+++ b/src/game/World/World.cpp
@@ -2097,7 +2097,9 @@ void World::Update(uint32 diff)
if (m_timers[WUPDATE_PINGDB].Passed())
{
m_timers[WUPDATE_PINGDB].Reset();
- ;//sLog->outDetail("Ping MySQL to keep connection alive");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Ping MySQL to keep connection alive");
+#endif
CharacterDatabase.KeepAlive();
LoginDatabase.KeepAlive();
WorldDatabase.KeepAlive();
@@ -2567,7 +2569,9 @@ void World::ShutdownMsg(bool show, Player* player)
ServerMessageType msgid = (m_ShutdownMask & SHUTDOWN_MASK_RESTART) ? SERVER_MSG_RESTART_TIME : SERVER_MSG_SHUTDOWN_TIME;
SendServerMessage(msgid, str.c_str(), player);
- ;//sLog->outStaticDebug("Server is %s in %s", (m_ShutdownMask & SHUTDOWN_MASK_RESTART ? "restart" : "shuttingdown"), str.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Server is %s in %s", (m_ShutdownMask & SHUTDOWN_MASK_RESTART ? "restart" : "shuttingdown"), str.c_str());
+#endif
}
}
@@ -2585,7 +2589,9 @@ void World::ShutdownCancel()
m_ExitCode = SHUTDOWN_EXIT_CODE; // to default value
SendServerMessage(msgid);
- ;//sLog->outStaticDebug("Server %s cancelled.", (m_ShutdownMask & SHUTDOWN_MASK_RESTART ? "restart" : "shuttingdown"));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Server %s cancelled.", (m_ShutdownMask & SHUTDOWN_MASK_RESTART ? "restart" : "shuttingdown"));
+#endif
sScriptMgr->OnShutdownCancel();
}
@@ -2679,7 +2685,9 @@ void World::ProcessCliCommands()
CliCommandHolder* command = NULL;
while (cliCmdQueue.next(command))
{
- ;//sLog->outDetail("CLI command under processing...");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("CLI command under processing...");
+#endif
zprint = command->m_print;
callbackArg = command->m_callbackArg;
CliHandler handler(callbackArg, zprint);
@@ -2747,7 +2755,9 @@ void World::SendAutoBroadcast()
sWorld->SendGlobalMessage(&data);
}
- ;//sLog->outDetail("AutoBroadcast: '%s'", msg.c_str());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("AutoBroadcast: '%s'", msg.c_str());
+#endif
}
void World::UpdateRealmCharCount(uint32 accountId)
@@ -2947,7 +2957,9 @@ void World::ResetEventSeasonalQuests(uint16 event_id)
void World::ResetRandomBG()
{
- ;//sLog->outDetail("Random BG status reset for all characters.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail("Random BG status reset for all characters.");
+#endif
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_BATTLEGROUND_RANDOM);
CharacterDatabase.Execute(stmt);
diff --git a/src/scripts/Commands/cs_misc.cpp b/src/scripts/Commands/cs_misc.cpp
index 6ce0175e14..1af226c38e 100644
--- a/src/scripts/Commands/cs_misc.cpp
+++ b/src/scripts/Commands/cs_misc.cpp
@@ -1510,7 +1510,9 @@ public:
if (!playerTarget)
playerTarget = player;
- ;//sLog->outDetail(handler->GetTrinityString(LANG_ADDITEM), itemId, count);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail(handler->GetTrinityString(LANG_ADDITEM), itemId, count);
+#endif
ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemId);
if (!itemTemplate)
@@ -1597,7 +1599,9 @@ public:
if (!playerTarget)
playerTarget = player;
- ;//sLog->outDetail(handler->GetTrinityString(LANG_ADDITEMSET), itemSetId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail(handler->GetTrinityString(LANG_ADDITEMSET), itemSetId);
+#endif
bool found = false;
ItemTemplateContainer const* its = sObjectMgr->GetItemTemplateStore();
diff --git a/src/scripts/Commands/cs_modify.cpp b/src/scripts/Commands/cs_modify.cpp
index d05078869d..f1cdea9832 100644
--- a/src/scripts/Commands/cs_modify.cpp
+++ b/src/scripts/Commands/cs_modify.cpp
@@ -190,7 +190,9 @@ public:
target->SetMaxPower(POWER_ENERGY, energym);
target->SetPower(POWER_ENERGY, energy);
- ;//sLog->outDetail(handler->GetTrinityString(LANG_CURRENT_ENERGY), target->GetMaxPower(POWER_ENERGY));
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDetail(handler->GetTrinityString(LANG_CURRENT_ENERGY), target->GetMaxPower(POWER_ENERGY));
+#endif
return true;
}
@@ -1016,7 +1018,9 @@ public:
{
int32 newmoney = int32(targetMoney) + moneyToAdd;
- ;//sLog->outDebug(LOG_FILTER_GENERAL, handler->GetTrinityString(LANG_CURRENT_MONEY), targetMoney, moneyToAdd, newmoney);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, handler->GetTrinityString(LANG_CURRENT_MONEY), targetMoney, moneyToAdd, newmoney);
+#endif
if (newmoney <= 0)
{
handler->PSendSysMessage(LANG_YOU_TAKE_ALL_MONEY, handler->GetNameLink(target).c_str());
@@ -1051,7 +1055,9 @@ public:
target->ModifyMoney(moneyToAdd);
}
- ;//sLog->outDebug(LOG_FILTER_GENERAL, handler->GetTrinityString(LANG_NEW_MONEY), targetMoney, moneyToAdd, target->GetMoney());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_CHATSYS, handler->GetTrinityString(LANG_NEW_MONEY), targetMoney, moneyToAdd, target->GetMoney());
+#endif
return true;
}
diff --git a/src/scripts/Commands/cs_wp.cpp b/src/scripts/Commands/cs_wp.cpp
index cdafdc2f27..870fb95e52 100644
--- a/src/scripts/Commands/cs_wp.cpp
+++ b/src/scripts/Commands/cs_wp.cpp
@@ -783,7 +783,7 @@ public:
if (show == "info")
{
// Check if the user did specify a visual waypoint
- if (target && target->GetEntry() != VISUAL_WAYPOINT)
+ if (!target || target->GetEntry() != VISUAL_WAYPOINT)
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_SELECT);
handler->SetSentErrorMessage(true);
diff --git a/src/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
index 994adff128..53757fdcc3 100644
--- a/src/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
@@ -206,7 +206,9 @@ public:
void SetData64(uint32 type, uint64 data)
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Blackrock Depths: SetData64 update (Type: %u Data " UI64FMTD ")", type, data);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Blackrock Depths: SetData64 update (Type: %u Data " UI64FMTD ")", type, data);
+#endif
switch (type)
{
@@ -222,7 +224,9 @@ public:
void SetData(uint32 type, uint32 data)
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Blackrock Depths: SetData update (Type: %u Data %u)", type, data);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Instance Blackrock Depths: SetData update (Type: %u Data %u)", type, data);
+#endif
switch (type)
{
diff --git a/src/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index 5c4d39e785..c707be0742 100644
--- a/src/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -228,7 +228,9 @@ public:
void PrepareEncounter()
{
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Barnes Opera Event - Introduction complete - preparing encounter %d", m_uiEventId);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: Barnes Opera Event - Introduction complete - preparing encounter %d", m_uiEventId);
+#endif
uint8 index = 0;
uint8 count = 0;
diff --git a/src/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 36f7114050..950fca072c 100644
--- a/src/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -240,7 +240,9 @@ public:
{
AddEscortState(STATE_ESCORT_RETURNING);
ReturnToLastPoint();
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has left combat and is now returning to last point");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: EscortAI has left combat and is now returning to last point");
+#endif
}
else
{
diff --git a/src/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
index 6813a94ba6..d629c582d8 100644
--- a/src/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
+++ b/src/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
@@ -89,6 +89,7 @@ class boss_akilzon : public CreatureScript
memset(BirdGUIDs, 0, sizeof(BirdGUIDs));
StormCount = 0;
isRaining = false;
+ instance->SetData(DATA_AKILZONEVENT, NOT_STARTED);
SetWeather(WEATHER_STATE_FINE, 0.0f);
}
@@ -111,6 +112,7 @@ class boss_akilzon : public CreatureScript
{
Talk(SAY_DEATH);
_JustDied();
+ instance->SetData(DATA_AKILZONEVENT, DONE);
}
void KilledUnit(Unit* who)
diff --git a/src/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/scripts/EasternKingdoms/zone_hinterlands.cpp
index 751acb721e..a09f7df1b5 100644
--- a/src/scripts/EasternKingdoms/zone_hinterlands.cpp
+++ b/src/scripts/EasternKingdoms/zone_hinterlands.cpp
@@ -170,6 +170,7 @@ public:
{
_IsByOutrunner = false;
spawnId = 0;
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
}
void Reset()
@@ -228,6 +229,7 @@ public:
void sQuestAccept(Player* player, Quest const* quest)
{
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
if (quest->GetQuestId() == QUEST_RINJI_TRAPPED)
{
if (GameObject* go = me->FindNearestGameObject(GO_RINJI_CAGE, INTERACTION_DISTANCE))
diff --git a/src/scripts/Events/midsummer.cpp b/src/scripts/Events/midsummer.cpp
index 8fce374e70..77ffe83dd4 100644
--- a/src/scripts/Events/midsummer.cpp
+++ b/src/scripts/Events/midsummer.cpp
@@ -201,6 +201,61 @@ class npc_midsummer_torch_target : public CreatureScript
// SPELLS
///////////////////////////////
+enum CrabDisguise
+{
+ SPELL_CRAB_DISGUISE = 46337,
+ SPELL_APPLY_DIGUISE = 34804,
+ SPELL_FADE_DIGUISE = 47693,
+};
+
+class spell_gen_crab_disguise : public SpellScriptLoader
+{
+public:
+ spell_gen_crab_disguise() : SpellScriptLoader("spell_gen_crab_disguise") { }
+
+ class spell_gen_crab_disguise_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_gen_crab_disguise_AuraScript);
+
+ bool Validate(SpellInfo const* /*spell*/)
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_CRAB_DISGUISE))
+ return false;
+ return true;
+ }
+
+ void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Unit* caster = GetCaster())
+ {
+ caster->CastSpell(caster, SPELL_APPLY_DIGUISE, true);
+ caster->setFaction(88);
+ }
+
+ }
+
+ void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Unit* caster = GetCaster())
+ {
+ caster->CastSpell(caster, SPELL_FADE_DIGUISE, true);
+ caster->RestoreFaction();
+ }
+ }
+
+ void Register()
+ {
+ AfterEffectApply += AuraEffectRemoveFn(spell_gen_crab_disguise_AuraScript::OnApply, EFFECT_0, SPELL_AURA_FORCE_REACTION, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_gen_crab_disguise_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_FORCE_REACTION, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const
+ {
+ return new spell_gen_crab_disguise_AuraScript();
+ }
+};
+
enum RibbonPole
{
SPELL_RIBBON_POLE_CHANNEL_VISUAL = 29172,
@@ -513,6 +568,7 @@ void AddSC_event_midsummer_scripts()
new npc_midsummer_torch_target();
// Spells
+ new spell_gen_crab_disguise();
new spell_midsummer_ribbon_pole();
new spell_midsummer_torch_quest();
new spell_midsummer_fling_torch();
diff --git a/src/scripts/Kalimdor/zone_feralas.cpp b/src/scripts/Kalimdor/zone_feralas.cpp
index bc6f09242a..0db8541646 100644
--- a/src/scripts/Kalimdor/zone_feralas.cpp
+++ b/src/scripts/Kalimdor/zone_feralas.cpp
@@ -129,9 +129,9 @@ public:
//Second Ambush(3 Gorillas)
case 21:
Talk(SAY_OOX_AMBUSH);
- me->SummonCreature(NPC_GORILLA, -4595.81f, 2005.99f, 53.08f, 3.74f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
- me->SummonCreature(NPC_GORILLA, -4597.53f, 2008.31f, 52.70f, 3.78f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
- me->SummonCreature(NPC_GORILLA, -4599.37f, 2010.59f, 52.77f, 3.84f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
+ me->SummonCreature(NPC_GORILLA, -4652.76f, 1956.69f, 67.99f, 3.74f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
+ me->SummonCreature(NPC_GORILLA, -4654.73f, 1959.71f, 47.66f, 3.78f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
+ me->SummonCreature(NPC_GORILLA, -4657.01f, 1963.19f, 67.48f, 3.84f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
break;
//Third Ambush(4 Gnolls)
case 30:
diff --git a/src/scripts/Northrend/zone_dalaran.cpp b/src/scripts/Northrend/zone_dalaran.cpp
index 79476d3b74..f89c35de47 100644
--- a/src/scripts/Northrend/zone_dalaran.cpp
+++ b/src/scripts/Northrend/zone_dalaran.cpp
@@ -446,7 +446,7 @@ public:
if (!who || !who->IsInWorld() || who->GetZoneId() != 4395)
return;
- if (!me->IsWithinDist(who, 12.0f, false))
+ if (!me->IsWithinDist(who, 5.0f, false))
return;
Player* player = who->GetCharmerOrOwnerPlayerOrPlayerItself();
diff --git a/src/scripts/Outland/zone_netherstorm.cpp b/src/scripts/Outland/zone_netherstorm.cpp
index be0adb8381..55a402b2ee 100644
--- a/src/scripts/Outland/zone_netherstorm.cpp
+++ b/src/scripts/Outland/zone_netherstorm.cpp
@@ -416,7 +416,9 @@ public:
return true;
}
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: npc_commander_dawnforge event already in progress, need to wait.");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: npc_commander_dawnforge event already in progress, need to wait.");
+#endif
return false;
}
diff --git a/src/scripts/ScriptLoader.cpp b/src/scripts/ScriptLoader.cpp
index 5a7d499197..d948a18c55 100644
--- a/src/scripts/ScriptLoader.cpp
+++ b/src/scripts/ScriptLoader.cpp
@@ -570,6 +570,7 @@ void AddSC_outdoorpvp_gh();
// player
void AddSC_chat_log();
+void AddSC_character_creation();
#endif
@@ -642,6 +643,7 @@ void AddWorldScripts()
AddSC_npc_taxi();
AddSC_achievement_scripts();
AddSC_chat_log();
+ AddSC_character_creation();
#endif
}
diff --git a/src/scripts/Spells/spell_generic.cpp b/src/scripts/Spells/spell_generic.cpp
index d9dae48c23..880c3eeebd 100644
--- a/src/scripts/Spells/spell_generic.cpp
+++ b/src/scripts/Spells/spell_generic.cpp
@@ -2242,7 +2242,8 @@ class spell_pvp_trinket_wotf_shared_cd : public SpellScriptLoader
enum AnimalBloodPoolSpell
{
SPELL_ANIMAL_BLOOD = 46221,
- SPELL_SPAWN_BLOOD_POOL = 63471
+ SPELL_SPAWN_BLOOD_POOL = 63471,
+ FACTION_DETHA_ATTACK = 942
};
class spell_gen_animal_blood : public SpellScriptLoader
@@ -2266,13 +2267,20 @@ class spell_gen_animal_blood : public SpellScriptLoader
// Remove all auras with spell id 46221, except the one currently being applied
while (Aura* aur = GetUnitOwner()->GetOwnedAura(SPELL_ANIMAL_BLOOD, 0, 0, 0, GetAura()))
GetUnitOwner()->RemoveOwnedAura(aur);
+ if (Unit* owner = GetUnitOwner())
+ {
+ owner->setFaction(FACTION_DETHA_ATTACK);
+ }
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
if (Unit* owner = GetUnitOwner())
+ {
+ owner->RestoreFaction();
if (owner->IsInWater())
owner->CastSpell(owner, SPELL_SPAWN_BLOOD_POOL, true);
+ }
}
void Register()
diff --git a/src/scripts/World/CMakeLists.txt b/src/scripts/World/CMakeLists.txt
index 3b8d7066d6..42ba3faccb 100644
--- a/src/scripts/World/CMakeLists.txt
+++ b/src/scripts/World/CMakeLists.txt
@@ -22,6 +22,7 @@ set(scripts_STAT_SRCS
${AC_SCRIPTS_DIR}/World/npc_professions.cpp
${AC_SCRIPTS_DIR}/World/npc_taxi.cpp
${AC_SCRIPTS_DIR}/World/npcs_special.cpp
+ ${AC_SCRIPTS_DIR}/World/character_creation.cpp
)
AC_ADD_SCRIPT_LOADER("World" "ScriptLoader.h")
diff --git a/src/scripts/World/character_creation.cpp b/src/scripts/World/character_creation.cpp
new file mode 100644
index 0000000000..597dd87a0e
--- /dev/null
+++ b/src/scripts/World/character_creation.cpp
@@ -0,0 +1,56 @@
+/*
+* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license: http://github.com/azerothcore/azerothcore-wotlk/LICENSE-GPL2
+* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
+* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
+*/
+
+#include "ScriptMgr.h"
+#include "Player.h"
+
+enum Creationabilities
+{
+ WARRIOR_CREATION_BATTLE_STANCE = 2457, // Battle Stance
+ DEATH_KNIGHT_CREATION_BLOOD_PRESENCE = 48266, // Blood Presence
+};
+
+// Instead of adding a hacky way into Player::Create, we use existing hooks to cast these spells on first character login
+class CharacterCreationProcedures : public PlayerScript
+{
+public:
+ CharacterCreationProcedures() : PlayerScript("CharacterCreationProcedures")
+ {
+ }
+
+ void OnFirstLogin(Player* player)
+ {
+ switch (player->getClass())
+ {
+ // Only two classes posses an aura on creation;
+ case CLASS_WARRIOR:
+ player->CastSpell(player, WARRIOR_CREATION_BATTLE_STANCE, true);
+ return;
+ case CLASS_DEATH_KNIGHT:
+ player->CastSpell(player, DEATH_KNIGHT_CREATION_BLOOD_PRESENCE, true);
+ return;
+ // We include, but do not change the other classes
+ case CLASS_NONE:
+ case CLASS_PALADIN:
+ case CLASS_HUNTER:
+ case CLASS_ROGUE:
+ case CLASS_PRIEST:
+ case CLASS_SHAMAN:
+ case CLASS_MAGE:
+ case CLASS_WARLOCK:
+ // case CLASS_UNK: // Does not exist!
+ case CLASS_DRUID:
+ default:
+ // Can be modified based on personal needs;
+ return;
+ }
+ }
+};
+
+void AddSC_character_creation()
+{
+ new CharacterCreationProcedures();
+} \ No newline at end of file
diff --git a/src/scripts/World/npc_professions.cpp b/src/scripts/World/npc_professions.cpp
index 7daab5d304..c088aae940 100644
--- a/src/scripts/World/npc_professions.cpp
+++ b/src/scripts/World/npc_professions.cpp
@@ -227,7 +227,9 @@ bool EquippedOk(Player* player, uint32 spellId)
if (item && item->GetTemplate()->RequiredSpell == reqSpell)
{
//player has item equipped that require specialty. Not allow to unlearn, player has to unequip first
- ;//sLog->outDebug(LOG_FILTER_TSCR, "TSCR: player attempt to unlearn spell %u, but item %u is equipped.", reqSpell, item->GetEntry());
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_TSCR, "TSCR: player attempt to unlearn spell %u, but item %u is equipped.", reqSpell, item->GetEntry());
+#endif
return false;
}
}
diff --git a/src/worldserver/RemoteAccess/RARunnable.cpp b/src/worldserver/RemoteAccess/RARunnable.cpp
index da2467c998..4099574a5b 100644
--- a/src/worldserver/RemoteAccess/RARunnable.cpp
+++ b/src/worldserver/RemoteAccess/RARunnable.cpp
@@ -69,5 +69,7 @@ void RARunnable::run()
break;
}
- ;//sLog->outStaticDebug("Trinity RA thread exiting");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outStaticDebug("Trinity RA thread exiting");
+#endif
}
diff --git a/src/worldserver/TCSoap/TCSoap.cpp b/src/worldserver/TCSoap/TCSoap.cpp
index 3c6a32fff0..6d2ce72d87 100644
--- a/src/worldserver/TCSoap/TCSoap.cpp
+++ b/src/worldserver/TCSoap/TCSoap.cpp
@@ -34,7 +34,9 @@ void TCSoapRunnable::run()
if (!soap_valid_socket(soap_accept(&soap)))
continue; // ran into an accept timeout
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: accepted connection from IP=%d.%d.%d.%d", (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: accepted connection from IP=%d.%d.%d.%d", (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
+#endif
struct soap* thread_soap = soap_copy(&soap);// make a safe copy
ACE_Message_Block* mb = new ACE_Message_Block(sizeof(struct soap*));
@@ -69,33 +71,43 @@ int ns1__executeCommand(soap* soap, char* command, char** result)
// security check
if (!soap->userid || !soap->passwd)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: Client didn't provide login information");
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: Client didn't provide login information");
+#endif
return 401;
}
uint32 accountId = AccountMgr::GetId(soap->userid);
if (!accountId)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: Client used invalid username '%s'", soap->userid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: Client used invalid username '%s'", soap->userid);
+#endif
return 401;
}
if (!AccountMgr::CheckPassword(accountId, soap->passwd))
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: invalid password for account '%s'", soap->userid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: invalid password for account '%s'", soap->userid);
+#endif
return 401;
}
if (AccountMgr::GetSecurity(accountId) < SEC_ADMINISTRATOR)
{
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: %s's gmlevel is too low", soap->userid);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: %s's gmlevel is too low", soap->userid);
+#endif
return 403;
}
if (!command || !*command)
return soap_sender_fault(soap, "Command can not be empty", "The supplied command was an empty string");
- ;//sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: got command '%s'", command);
+#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
+ sLog->outDebug(LOG_FILTER_NETWORKIO, "TCSoap: got command '%s'", command);
+#endif
SOAPCommand connection;
// commands are executed in the world thread. We have to wait for them to be completed