aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Valle <s.v.h21@hotmail.com>2013-10-29 13:13:37 -0500
committerSebastian Valle <s.v.h21@hotmail.com>2013-10-29 13:13:37 -0500
commitbb057ae40be2733f3f582a93e585b8bb67cf1520 (patch)
tree76a7f9727dc33d068b3c2433189bee42a7edcde1
parent4ce12dc481323c11b4830d06f8080412d855cc64 (diff)
parent3d5a317b755f4b6eb2d9a29fd7d9291415dfa6eb (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps_rw
Conflicts: src/server/collision/Management/MMapManager.h
-rw-r--r--cmake/genrev.cmake2
-rw-r--r--sql/base/auth_database.sql4
-rw-r--r--sql/updates/auth/2013_10_16_00_auth_misc.sql10
-rw-r--r--sql/updates/world/2013_10_10_00_world_misc.sql4
-rw-r--r--sql/updates/world/2013_10_10_01_world_update.sql1
-rw-r--r--sql/updates/world/2013_10_11_00_world_sai.sql16
-rw-r--r--sql/updates/world/2013_10_12_00_world_sai.sql74
-rw-r--r--sql/updates/world/2013_10_13_00_world_disable.sql3
-rw-r--r--sql/updates/world/2013_10_13_01_world_spelldifficulty_dbc.sql3
-rw-r--r--sql/updates/world/2013_10_16_00_world_misc.sql282
-rw-r--r--sql/updates/world/2013_10_16_00_world_trinity_string.sql4
-rw-r--r--sql/updates/world/2013_10_16_01_world_sai.sql15
-rw-r--r--sql/updates/world/2013_10_16_02_world_game_graveyard_zone.sql2
-rw-r--r--sql/updates/world/2013_10_17_00_world_creature_model_info.sql3
-rw-r--r--sql/updates/world/2013_10_19_00_world_gossip.sql14
-rw-r--r--sql/updates/world/2013_10_19_01_world_gameobject_template.sql6
-rw-r--r--sql/updates/world/2013_10_20_00_world_conditions.sql184
-rw-r--r--sql/updates/world/2013_10_20_01_world_spell_proc_event.sql3
-rw-r--r--sql/updates/world/2013_10_20_02_world_gossip.sql96
-rw-r--r--sql/updates/world/2013_10_21_00_world_sai.sql23
-rw-r--r--sql/updates/world/2013_10_22_00_world_disables.sql4
-rw-r--r--sql/updates/world/2013_10_23_00_world_sai.sql4
-rw-r--r--sql/updates/world/2013_10_23_01_world_sai.sql5
-rw-r--r--sql/updates/world/2013_10_24_00_world_sai.sql1
-rw-r--r--sql/updates/world/2013_10_24_01_world_errors.sql11
-rw-r--r--sql/updates/world/2013_10_24_02_world_sai.sql12
-rw-r--r--sql/updates/world/2013_10_24_03_world_sai.sql10
-rw-r--r--sql/updates/world/2013_10_25_00_world_update.sql1
-rw-r--r--sql/updates/world/2013_10_27_00_world_conditions.sql6
-rw-r--r--sql/updates/world/2013_10_28_00_world_sai.sql6
-rw-r--r--src/server/authserver/Realms/RealmList.h2
-rw-r--r--src/server/authserver/Server/AuthSocket.cpp6
-rw-r--r--src/server/authserver/Server/RealmSocket.cpp2
-rw-r--r--src/server/collision/BoundingIntervalHierarchyWrapper.h4
-rw-r--r--src/server/collision/DynamicTree.cpp6
-rw-r--r--src/server/collision/Management/IVMapManager.h4
-rw-r--r--src/server/collision/Management/MMapManager.h3
-rw-r--r--src/server/collision/Management/VMapManager2.h2
-rw-r--r--src/server/collision/Maps/MapTree.cpp6
-rw-r--r--src/server/collision/Maps/MapTree.h4
-rw-r--r--src/server/collision/Maps/TileAssembler.h2
-rw-r--r--src/server/collision/Models/GameObjectModel.cpp2
-rw-r--r--src/server/collision/Models/GameObjectModel.h2
-rw-r--r--src/server/collision/Models/ModelInstance.h2
-rw-r--r--src/server/collision/Models/WorldModel.cpp8
-rw-r--r--src/server/collision/Models/WorldModel.h12
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.cpp28
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.h9
-rw-r--r--src/server/game/AI/CoreAI/GameObjectAI.cpp4
-rw-r--r--src/server/game/AI/CoreAI/GameObjectAI.h24
-rw-r--r--src/server/game/AI/CoreAI/GuardAI.cpp4
-rw-r--r--src/server/game/AI/CoreAI/PassiveAI.h22
-rw-r--r--src/server/game/AI/CoreAI/PetAI.h6
-rw-r--r--src/server/game/AI/CoreAI/ReactorAI.h4
-rw-r--r--src/server/game/AI/CoreAI/TotemAI.cpp4
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.h40
-rw-r--r--src/server/game/AI/CreatureAI.h42
-rw-r--r--src/server/game/AI/CreatureAIFactory.h8
-rw-r--r--src/server/game/AI/CreatureAIImpl.h4
-rw-r--r--src/server/game/AI/EventAI/CreatureEventAI.h4
-rw-r--r--src/server/game/AI/EventAI/CreatureEventAIMgr.h4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp8
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.h30
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.h4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h2
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp14
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.h6
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp125
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.cpp2
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h13
-rw-r--r--src/server/game/Accounts/AccountMgr.cpp6
-rw-r--r--src/server/game/Accounts/RBAC.cpp4
-rw-r--r--src/server/game/Accounts/RBAC.h2
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp6
-rw-r--r--src/server/game/Achievements/AchievementMgr.h6
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp4
-rw-r--r--src/server/game/Battlefield/Battlefield.h8
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp2
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.h3
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp6
-rw-r--r--src/server/game/Battlegrounds/Battleground.h24
-rw-r--r--src/server/game/Battlegrounds/BattlegroundQueue.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp4
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp4
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp4
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp94
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.h2
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp4
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp16
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp4
-rw-r--r--src/server/game/Calendar/CalendarMgr.cpp4
-rw-r--r--src/server/game/Chat/Channels/ChannelMgr.h4
-rw-r--r--src/server/game/Chat/Chat.h8
-rw-r--r--src/server/game/Chat/ChatLink.cpp4
-rw-r--r--src/server/game/Combat/ThreatManager.cpp4
-rw-r--r--src/server/game/Combat/ThreatManager.h2
-rw-r--r--src/server/game/Combat/UnitEvents.h4
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp4
-rw-r--r--src/server/game/DataStores/DBCEnums.h6
-rw-r--r--src/server/game/DataStores/DBCStores.cpp28
-rw-r--r--src/server/game/DataStores/DBCStores.h3
-rw-r--r--src/server/game/DataStores/DBCStructure.h44
-rw-r--r--src/server/game/DataStores/DBCfmt.h3
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.h4
-rw-r--r--src/server/game/DungeonFinding/LFGPlayerData.cpp6
-rw-r--r--src/server/game/DungeonFinding/LFGQueue.h2
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp8
-rw-r--r--src/server/game/Entities/Corpse/Corpse.cpp4
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp34
-rw-r--r--src/server/game/Entities/Creature/Creature.h44
-rw-r--r--src/server/game/Entities/Creature/CreatureGroups.h4
-rw-r--r--src/server/game/Entities/Creature/TemporarySummon.h4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp98
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h27
-rw-r--r--src/server/game/Entities/Item/ItemEnchantmentMgr.cpp4
-rw-r--r--src/server/game/Entities/Object/Object.cpp37
-rw-r--r--src/server/game/Entities/Object/Object.h58
-rw-r--r--src/server/game/Entities/Object/ObjectPosSelector.h2
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateData.cpp4
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp114
-rw-r--r--src/server/game/Entities/Player/Player.h24
-rw-r--r--src/server/game/Entities/Player/SocialMgr.cpp8
-rw-r--r--src/server/game/Entities/Totem/Totem.h14
-rw-r--r--src/server/game/Entities/Transport/Transport.cpp931
-rw-r--r--src/server/game/Entities/Transport/Transport.h114
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp39
-rw-r--r--src/server/game/Entities/Unit/Unit.h26
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h2
-rw-r--r--src/server/game/Entities/Vehicle/VehicleDefines.h2
-rw-r--r--src/server/game/Events/GameEventMgr.cpp4
-rw-r--r--src/server/game/Events/GameEventMgr.h4
-rw-r--r--src/server/game/Globals/ObjectAccessor.cpp17
-rw-r--r--src/server/game/Globals/ObjectAccessor.h4
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp31
-rw-r--r--src/server/game/Globals/ObjectMgr.h18
-rw-r--r--src/server/game/Grids/Cells/Cell.h4
-rw-r--r--src/server/game/Grids/Grid.h2
-rw-r--r--src/server/game/Grids/GridDefines.h4
-rw-r--r--src/server/game/Grids/GridReference.h2
-rw-r--r--src/server/game/Grids/GridStates.h2
-rw-r--r--src/server/game/Grids/NGrid.h4
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.cpp29
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.h182
-rw-r--r--src/server/game/Grids/ObjectGridLoader.cpp36
-rw-r--r--src/server/game/Grids/ObjectGridLoader.h11
-rw-r--r--src/server/game/Groups/Group.cpp8
-rw-r--r--src/server/game/Groups/Group.h2
-rw-r--r--src/server/game/Groups/GroupReference.h2
-rw-r--r--src/server/game/Guilds/Guild.cpp2
-rw-r--r--src/server/game/Handlers/AddonHandler.cpp8
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp2
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp2
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp25
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp4
-rw-r--r--src/server/game/Instances/InstanceSaveMgr.cpp4
-rw-r--r--src/server/game/Instances/InstanceSaveMgr.h6
-rw-r--r--src/server/game/Instances/InstanceScript.h18
-rw-r--r--src/server/game/Loot/LootMgr.h20
-rw-r--r--src/server/game/Mails/Mail.cpp8
-rw-r--r--src/server/game/Mails/Mail.h6
-rw-r--r--src/server/game/Maps/Map.cpp411
-rw-r--r--src/server/game/Maps/Map.h45
-rw-r--r--src/server/game/Maps/MapInstanced.h2
-rw-r--r--src/server/game/Maps/MapManager.cpp16
-rw-r--r--src/server/game/Maps/MapManager.h9
-rw-r--r--src/server/game/Maps/MapReference.h2
-rw-r--r--src/server/game/Maps/MapUpdater.cpp4
-rw-r--r--src/server/game/Maps/TransportMgr.cpp471
-rw-r--r--src/server/game/Maps/TransportMgr.h159
-rw-r--r--src/server/game/Maps/ZoneScript.h10
-rw-r--r--src/server/game/Miscellaneous/Language.h2
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h5
-rw-r--r--src/server/game/Movement/MovementGenerator.cpp4
-rwxr-xr-xsrc/server/game/Movement/MovementGenerator.h4
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h2
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h4
-rw-r--r--src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp4
-rw-r--r--src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h4
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/IdleMovementGenerator.h6
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp4
-rw-r--r--src/server/game/Movement/MovementGenerators/PointMovementGenerator.h10
-rw-r--r--src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h2
-rw-r--r--src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp8
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h14
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp40
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h6
-rw-r--r--src/server/game/Movement/Spline/MoveSpline.cpp4
-rw-r--r--src/server/game/Movement/Spline/MoveSpline.h8
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInitArgs.h6
-rw-r--r--src/server/game/Movement/Spline/Spline.h4
-rw-r--r--src/server/game/Movement/Waypoints/WaypointManager.cpp4
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.cpp8
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.h16
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvPMgr.h2
-rw-r--r--src/server/game/Pools/PoolMgr.cpp12
-rw-r--r--src/server/game/Pools/PoolMgr.h6
-rw-r--r--src/server/game/Reputation/ReputationMgr.h4
-rw-r--r--src/server/game/Scripting/MapScripts.cpp20
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp12
-rw-r--r--src/server/game/Scripting/ScriptMgr.h10
-rw-r--r--src/server/game/Scripting/ScriptSystem.h4
-rw-r--r--src/server/game/Server/WorldSession.cpp14
-rw-r--r--src/server/game/Server/WorldSession.h18
-rw-r--r--src/server/game/Server/WorldSocketMgr.cpp4
-rw-r--r--src/server/game/Skills/SkillDiscovery.cpp4
-rw-r--r--src/server/game/Skills/SkillExtraItems.cpp4
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp5
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.h8
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp6
-rw-r--r--src/server/game/Spells/Spell.cpp28
-rw-r--r--src/server/game/Spells/SpellEffects.cpp21
-rw-r--r--src/server/game/Spells/SpellInfo.cpp16
-rw-r--r--src/server/game/Spells/SpellInfo.h6
-rw-r--r--src/server/game/Spells/SpellMgr.cpp13
-rw-r--r--src/server/game/Spells/SpellScript.cpp8
-rw-r--r--src/server/game/Spells/SpellScript.h48
-rw-r--r--src/server/game/Texts/CreatureTextMgr.h4
-rw-r--r--src/server/game/Tickets/TicketMgr.cpp16
-rw-r--r--src/server/game/Tools/PlayerDump.h6
-rw-r--r--src/server/game/Warden/Warden.cpp4
-rw-r--r--src/server/game/Warden/WardenCheckMgr.cpp4
-rw-r--r--src/server/game/Warden/WardenMac.cpp8
-rw-r--r--src/server/game/Warden/WardenWin.cpp8
-rw-r--r--src/server/game/World/World.cpp11
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp26
-rw-r--r--src/server/scripts/Commands/cs_group.cpp51
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp2
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp40
-rw-r--r--src/server/scripts/Commands/cs_tele.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp26
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/boss_kruul.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/zone_duskwood.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_ghostlands.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_hinterlands.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_westfall.cpp4
-rw-r--r--src/server/scripts/Events/childrens_week.cpp30
-rw-r--r--src/server/scripts/Examples/example_creature.cpp2
-rw-r--r--src/server/scripts/Examples/example_spell.cpp4
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp16
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp16
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp4
-rw-r--r--src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp4
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp4
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp4
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp2
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp6
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp2
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp2
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp2
-rw-r--r--src/server/scripts/Kalimdor/boss_azuregos.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_azshara.cpp14
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp24
-rw-r--r--src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp8
-rw-r--r--src/server/scripts/Kalimdor/zone_darkshore.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_desolace.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp10
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_moonglade.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_mulgore.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_orgrimmar.cpp8
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp10
-rw-r--r--src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp12
-rw-r--r--src/server/scripts/Kalimdor/zone_teldrassil.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp10
-rw-r--r--src/server/scripts/Kalimdor/zone_thousand_needles.cpp8
-rw-r--r--src/server/scripts/Kalimdor/zone_thunder_bluff.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_ungoro_crater.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp6
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp12
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp8
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp497
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp10
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp10
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp32
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp6
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp6
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp14
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp12
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp8
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp6
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp12
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp12
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp4
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp6
-rw-r--r--src/server/scripts/Northrend/isle_of_conquest.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp50
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp8
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp16
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp10
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp6
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp18
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp24
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.h2
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp4
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp6
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp24
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp14
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp20
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp6
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp8
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp10
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp14
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp18
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp6
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp8
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp8
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp4
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp18
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp8
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp8
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp12
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp32
-rw-r--r--src/server/scripts/Outland/zone_shattrath_city.cpp6
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp36
-rw-r--r--src/server/scripts/Outland/zone_zangarmarsh.cpp6
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp2
-rw-r--r--src/server/scripts/Spells/spell_holiday.cpp2
-rw-r--r--src/server/scripts/Spells/spell_item.cpp10
-rw-r--r--src/server/scripts/World/achievement_scripts.cpp2
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp2
-rw-r--r--src/server/scripts/World/go_scripts.cpp2
-rw-r--r--src/server/scripts/World/guards.cpp6
-rw-r--r--src/server/scripts/World/item_scripts.cpp2
-rw-r--r--src/server/scripts/World/mob_generic_creature.cpp4
-rw-r--r--src/server/scripts/World/npcs_special.cpp46
-rw-r--r--src/server/shared/DataStores/DBCFileLoader.cpp4
-rw-r--r--src/server/shared/DataStores/DBCFileLoader.h2
-rw-r--r--src/server/shared/Database/DatabaseWorker.h2
-rw-r--r--src/server/shared/Database/Implementation/CharacterDatabase.h4
-rw-r--r--src/server/shared/Database/Implementation/LoginDatabase.h4
-rw-r--r--src/server/shared/Database/Implementation/WorldDatabase.cpp2
-rw-r--r--src/server/shared/Database/Implementation/WorldDatabase.h6
-rw-r--r--src/server/shared/Database/MySQLConnection.cpp4
-rw-r--r--src/server/shared/Database/MySQLConnection.h2
-rw-r--r--src/server/shared/Database/PreparedStatement.cpp16
-rw-r--r--src/server/shared/Database/QueryHolder.h4
-rw-r--r--src/server/shared/Database/SQLOperation.h2
-rw-r--r--src/server/shared/Database/Transaction.h6
-rw-r--r--src/server/shared/Dynamic/FactoryHolder.h6
-rw-r--r--src/server/shared/Dynamic/LinkedList.h2
-rw-r--r--src/server/shared/Dynamic/LinkedReference/Reference.h2
-rw-r--r--src/server/shared/Dynamic/ObjectRegistry.h2
-rw-r--r--src/server/shared/Dynamic/TypeContainer.h4
-rw-r--r--src/server/shared/Dynamic/TypeContainerVisitor.h14
-rw-r--r--src/server/shared/Logging/Appender.cpp8
-rw-r--r--src/server/shared/Logging/AppenderDB.cpp8
-rw-r--r--src/server/shared/Logging/Logger.cpp4
-rw-r--r--src/server/shared/Threading/Callback.h4
-rw-r--r--src/server/shared/Threading/DelayExecutor.cpp4
-rw-r--r--src/server/shared/Threading/Threading.h4
-rw-r--r--src/server/shared/Utilities/ByteConverter.h4
-rw-r--r--src/server/shared/Utilities/EventProcessor.h4
-rw-r--r--src/server/shared/Utilities/SignalHandler.h2
-rw-r--r--src/tools/map_extractor/System.cpp18
-rw-r--r--src/tools/map_extractor/adt.cpp18
-rw-r--r--src/tools/map_extractor/adt.h18
-rw-r--r--src/tools/map_extractor/dbcfile.cpp18
-rw-r--r--src/tools/map_extractor/dbcfile.h18
-rw-r--r--src/tools/map_extractor/loadlib.cpp18
-rw-r--r--src/tools/map_extractor/loadlib/loadlib.h18
-rw-r--r--src/tools/map_extractor/mpq_libmpq.cpp18
-rw-r--r--src/tools/map_extractor/mpq_libmpq04.h18
-rw-r--r--src/tools/map_extractor/wdt.cpp18
-rw-r--r--src/tools/map_extractor/wdt.h18
-rw-r--r--src/tools/mesh_extractor/ADT.cpp17
-rw-r--r--src/tools/mesh_extractor/ADT.h17
-rw-r--r--src/tools/mesh_extractor/Cache.h17
-rw-r--r--src/tools/mesh_extractor/Chunk.cpp17
-rw-r--r--src/tools/mesh_extractor/Chunk.h17
-rw-r--r--src/tools/mesh_extractor/ChunkedData.cpp17
-rw-r--r--src/tools/mesh_extractor/ChunkedData.h17
-rw-r--r--src/tools/mesh_extractor/Constants.h17
-rw-r--r--src/tools/mesh_extractor/ContinentBuilder.cpp17
-rw-r--r--src/tools/mesh_extractor/ContinentBuilder.h17
-rw-r--r--src/tools/mesh_extractor/DBC.cpp17
-rw-r--r--src/tools/mesh_extractor/DBC.h17
-rw-r--r--src/tools/mesh_extractor/DoodadHandler.cpp17
-rw-r--r--src/tools/mesh_extractor/DoodadHandler.h17
-rw-r--r--src/tools/mesh_extractor/Geometry.cpp17
-rw-r--r--src/tools/mesh_extractor/Geometry.h17
-rw-r--r--src/tools/mesh_extractor/LiquidHandler.cpp17
-rw-r--r--src/tools/mesh_extractor/LiquidHandler.h17
-rw-r--r--src/tools/mesh_extractor/MPQ.cpp17
-rw-r--r--src/tools/mesh_extractor/MPQ.h17
-rw-r--r--src/tools/mesh_extractor/MPQManager.cpp17
-rw-r--r--src/tools/mesh_extractor/MPQManager.h17
-rw-r--r--src/tools/mesh_extractor/MapChunk.cpp17
-rw-r--r--src/tools/mesh_extractor/MapChunk.h17
-rw-r--r--src/tools/mesh_extractor/MeshExtractor.cpp17
-rw-r--r--src/tools/mesh_extractor/Model.cpp17
-rw-r--r--src/tools/mesh_extractor/Model.h17
-rw-r--r--src/tools/mesh_extractor/ObjectDataHandler.cpp17
-rw-r--r--src/tools/mesh_extractor/ObjectDataHandler.h17
-rw-r--r--src/tools/mesh_extractor/TileBuilder.cpp17
-rw-r--r--src/tools/mesh_extractor/TileBuilder.h17
-rw-r--r--src/tools/mesh_extractor/Utils.cpp17
-rw-r--r--src/tools/mesh_extractor/Utils.h17
-rw-r--r--src/tools/mesh_extractor/WDT.cpp17
-rw-r--r--src/tools/mesh_extractor/WDT.h17
-rw-r--r--src/tools/mesh_extractor/WorldModelGroup.cpp17
-rw-r--r--src/tools/mesh_extractor/WorldModelGroup.h17
-rw-r--r--src/tools/mesh_extractor/WorldModelHandler.cpp17
-rw-r--r--src/tools/mesh_extractor/WorldModelHandler.h17
-rw-r--r--src/tools/mesh_extractor/WorldModelRoot.cpp17
-rw-r--r--src/tools/mesh_extractor/WorldModelRoot.h17
-rw-r--r--src/tools/mmaps_generator/PathGenerator.cpp22
-rw-r--r--src/tools/vmap4_assembler/VMapAssembler.cpp18
-rw-r--r--src/tools/vmap4_extractor/adtfile.cpp22
-rw-r--r--src/tools/vmap4_extractor/adtfile.h22
-rw-r--r--src/tools/vmap4_extractor/dbcfile.cpp22
-rw-r--r--src/tools/vmap4_extractor/dbcfile.h22
-rw-r--r--src/tools/vmap4_extractor/gameobject_extract.cpp18
-rw-r--r--src/tools/vmap4_extractor/loadlib/loadlib.h22
-rw-r--r--src/tools/vmap4_extractor/model.cpp22
-rw-r--r--src/tools/vmap4_extractor/model.h22
-rw-r--r--src/tools/vmap4_extractor/modelheaders.h22
-rw-r--r--src/tools/vmap4_extractor/mpq_libmpq.cpp18
-rw-r--r--src/tools/vmap4_extractor/mpq_libmpq04.h18
-rw-r--r--src/tools/vmap4_extractor/vec3d.h18
-rw-r--r--src/tools/vmap4_extractor/vmapexport.cpp22
-rw-r--r--src/tools/vmap4_extractor/vmapexport.h22
-rw-r--r--src/tools/vmap4_extractor/wdtfile.cpp22
-rw-r--r--src/tools/vmap4_extractor/wdtfile.h18
-rw-r--r--src/tools/vmap4_extractor/wmo.cpp22
-rw-r--r--src/tools/vmap4_extractor/wmo.h22
650 files changed, 5949 insertions, 3233 deletions
diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake
index b39a0780b1c..ceeed7bfac7 100644
--- a/cmake/genrev.cmake
+++ b/cmake/genrev.cmake
@@ -58,7 +58,7 @@ else()
# No valid ways available to find/set the revision/hash, so let's force some defaults
message(STATUS "
Could not find a proper repository signature (hash) - you may need to pull tags with git fetch -t
- Continuing anyway - note that the versionstring will be set to \"unknown 1970-01-01 00:00:00 (Archived)"\")
+ Continuing anyway - note that the versionstring will be set to \"unknown 1970-01-01 00:00:00 (Archived)\"")
set(rev_date "1970-01-01 00:00:00 +0000")
set(rev_hash "unknown")
set(rev_branch "Archived")
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index a52d4875314..003b91b6286 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -317,7 +317,7 @@ CREATE TABLE `rbac_linked_permissions` (
LOCK TABLES `rbac_linked_permissions` WRITE;
/*!40000 ALTER TABLE `rbac_linked_permissions` DISABLE KEYS */;
-INSERT INTO `rbac_linked_permissions` VALUES (192,21),(192,42),(192,43),(192,193),(192,196),(193,48),(193,194),(193,197),(194,1),(194,2),(194,11),(194,13),(194,14),(194,15),(194,16),(194,17),(194,18),(194,19),(194,20),(194,22),(194,23),(194,25),(194,26),(194,27),(194,28),(194,29),(194,30),(194,31),(194,32),(194,33),(194,34),(194,35),(194,36),(194,37),(194,38),(194,39),(194,40),(194,41),(194,44),(194,46),(194,47),(194,195),(194,198),(195,3),(195,4),(195,5),(195,6),(195,24),(195,49),(195,199),(196,200),(196,201),(196,226),(196,227),(196,230),(196,231),(196,233),(196,234),(196,235),(196,238),(196,239),(196,240),(196,241),(196,242),(196,243),(196,244),(196,245),(196,246),(196,247),(196,248),(196,249),(196,250),(196,251),(196,252),(196,253),(196,254),(196,255),(196,256),(196,257),(196,258),(196,259),(196,260),(196,261),(196,262),(196,264),(196,265),(196,266),(196,267),(196,268),(196,269),(196,270),(196,271),(196,272),(196,279),(196,280),(196,283),(196,287),(196,288),(196,289),(196,290),(196,291),(196,292),(196,293),(196,294),(196,295),(196,296),(196,297),(196,298),(196,299),(196,302),(196,303),(196,304),(196,305),(196,306),(196,307),(196,308),(196,309),(196,310),(196,313),(196,314),(196,319),(196,320),(196,321),(196,322),(196,323),(196,324),(196,325),(196,326),(196,327),(196,328),(196,329),(196,330),(196,331),(196,332),(196,333),(196,334),(196,335),(196,336),(196,337),(196,338),(196,339),(196,340),(196,341),(196,342),(196,343),(196,344),(196,345),(196,346),(196,347),(196,348),(196,349),(196,350),(196,351),(196,352),(196,353),(196,354),(196,355),(196,356),(196,357),(196,358),(196,359),(196,360),(196,361),(196,362),(196,363),(196,364),(196,365),(196,366),(196,373),(196,375),(196,401),(196,402),(196,403),(196,404),(196,405),(196,406),(196,407),(196,417),(196,418),(196,419),(196,420),(196,421),(196,422),(196,423),(196,424),(196,425),(196,426),(196,427),(196,428),(196,429),(196,434),(196,435),(196,436),(196,437),(196,438),(196,439),(196,440),(196,441),(196,442),(196,443),(196,444),(196,445),(196,446),(196,447),(196,448),(196,449),(196,450),(196,451),(196,452),(196,453),(196,454),(196,455),(196,456),(196,457),(196,458),(196,459),(196,461),(196,463),(196,464),(196,465),(196,472),(196,473),(196,474),(196,475),(196,476),(196,477),(196,478),(196,488),(196,489),(196,491),(196,492),(196,493),(196,495),(196,497),(196,498),(196,499),(196,500),(196,502),(196,503),(196,505),(196,508),(196,511),(196,513),(196,514),(196,516),(196,519),(196,522),(196,523),(196,526),(196,527),(196,529),(196,530),(196,533),(196,535),(196,536),(196,537),(196,538),(196,539),(196,540),(196,541),(196,556),(196,581),(196,582),(196,592),(196,593),(196,596),(196,602),(196,603),(196,604),(196,605),(196,606),(196,607),(196,608),(196,609),(196,610),(196,611),(196,612),(196,613),(196,614),(196,615),(196,616),(196,617),(196,618),(196,619),(196,620),(196,621),(196,622),(196,623),(196,624),(196,625),(196,626),(196,627),(196,628),(196,629),(196,630),(196,631),(196,632),(196,633),(196,634),(196,635),(196,636),(196,637),(196,638),(196,639),(196,640),(196,641),(196,642),(196,643),(196,644),(196,645),(196,646),(196,647),(196,648),(196,649),(196,650),(196,651),(196,652),(196,653),(196,654),(196,655),(196,656),(196,657),(196,658),(196,659),(196,660),(196,661),(196,662),(196,663),(196,664),(196,665),(196,666),(196,667),(196,668),(196,669),(196,670),(196,671),(196,672),(196,673),(196,674),(196,675),(196,676),(196,677),(196,678),(196,679),(196,680),(196,681),(196,682),(196,683),(196,684),(196,685),(196,686),(196,687),(196,688),(196,689),(196,690),(196,691),(196,692),(196,693),(196,694),(196,695),(196,696),(196,697),(196,698),(196,699),(196,700),(196,701),(196,702),(196,703),(196,704),(196,705),(196,706),(196,707),(196,708),(196,709),(196,710),(196,711),(196,712),(196,713),(196,714),(196,715),(196,716),(196,717),(196,718),(196,719),(196,721),(196,722),(196,723),(196,724),(196,725),(196,726),(196,727),(196,728),(196,729),(196,730),(196,733),(196,734),(196,735),(196,736),(196,738),(196,739),(196,748),(196,753),(196,757),(196,773),(197,232),(197,236),(197,237),(197,273),(197,274),(197,275),(197,276),(197,277),(197,284),(197,285),(197,286),(197,301),(197,311),(197,387),(197,388),(197,389),(197,390),(197,391),(197,392),(197,393),(197,394),(197,395),(197,396),(197,397),(197,398),(197,399),(197,479),(197,480),(197,481),(197,482),(197,485),(197,486),(197,487),(197,494),(197,506),(197,509),(197,510),(197,517),(197,518),(197,521),(197,542),(197,543),(197,550),(197,558),(197,568),(197,571),(197,572),(197,573),(197,574),(197,575),(197,576),(197,577),(197,578),(197,579),(197,580),(197,583),(197,584),(197,585),(197,586),(197,587),(197,588),(197,589),(197,590),(197,591),(197,594),(197,595),(197,601),(197,743),(197,750),(197,758),(197,761),(197,762),(197,763),(197,764),(197,765),(197,766),(197,767),(197,768),(197,769),(197,770),(197,771),(197,772),(197,774),(198,218),(198,300),(198,312),(198,315),(198,316),(198,317),(198,318),(198,367),(198,368),(198,369),(198,370),(198,371),(198,372),(198,374),(198,376),(198,377),(198,378),(198,379),(198,380),(198,381),(198,382),(198,383),(198,384),(198,385),(198,386),(198,408),(198,409),(198,410),(198,411),(198,412),(198,413),(198,414),(198,415),(198,416),(198,430),(198,431),(198,432),(198,433),(198,462),(198,466),(198,467),(198,468),(198,469),(198,470),(198,471),(198,483),(198,484),(198,490),(198,504),(198,512),(198,515),(198,520),(198,524),(198,528),(198,531),(198,532),(198,544),(198,545),(198,546),(198,547),(198,548),(198,549),(198,551),(198,552),(198,553),(198,554),(198,555),(198,557),(198,559),(198,560),(198,561),(198,562),(198,563),(198,564),(198,565),(198,566),(198,567),(198,569),(198,570),(198,597),(198,598),(198,599),(198,600),(198,737),(198,740),(198,741),(198,742),(198,744),(198,745),(198,746),(198,747),(198,749),(198,751),(198,752),(198,754),(198,755),(198,756),(198,759),(198,760),(199,217),(199,221),(199,222),(199,223),(199,225),(199,263),(199,496),(199,501),(199,507),(199,525),(199,534);
+INSERT INTO `rbac_linked_permissions` VALUES (192,21),(192,42),(192,43),(192,193),(192,196),(193,48),(193,194),(193,197),(194,1),(194,2),(194,11),(194,13),(194,14),(194,15),(194,16),(194,17),(194,18),(194,19),(194,20),(194,22),(194,23),(194,25),(194,26),(194,27),(194,28),(194,29),(194,30),(194,31),(194,32),(194,33),(194,34),(194,35),(194,36),(194,37),(194,38),(194,39),(194,40),(194,41),(194,44),(194,46),(194,47),(194,195),(194,198),(195,3),(195,4),(195,5),(195,6),(195,24),(195,49),(195,199),(196,200),(196,201),(196,226),(196,227),(196,230),(196,231),(196,233),(196,234),(196,235),(196,238),(196,239),(196,240),(196,241),(196,242),(196,243),(196,244),(196,245),(196,246),(196,247),(196,248),(196,249),(196,250),(196,251),(196,252),(196,253),(196,254),(196,255),(196,256),(196,257),(196,258),(196,259),(196,260),(196,261),(196,262),(196,264),(196,265),(196,266),(196,267),(196,268),(196,269),(196,270),(196,271),(196,272),(196,279),(196,280),(196,283),(196,287),(196,288),(196,289),(196,290),(196,291),(196,292),(196,293),(196,294),(196,295),(196,296),(196,297),(196,298),(196,299),(196,302),(196,303),(196,304),(196,305),(196,306),(196,307),(196,308),(196,309),(196,310),(196,313),(196,314),(196,319),(196,320),(196,321),(196,322),(196,323),(196,324),(196,325),(196,326),(196,327),(196,328),(196,329),(196,330),(196,331),(196,332),(196,333),(196,334),(196,335),(196,336),(196,337),(196,338),(196,339),(196,340),(196,341),(196,342),(196,343),(196,344),(196,345),(196,346),(196,347),(196,348),(196,349),(196,350),(196,351),(196,352),(196,353),(196,354),(196,355),(196,356),(196,357),(196,358),(196,359),(196,360),(196,361),(196,362),(196,363),(196,364),(196,365),(196,366),(196,373),(196,375),(196,400),(196,401),(196,402),(196,403),(196,404),(196,405),(196,406),(196,407),(196,417),(196,418),(196,419),(196,420),(196,421),(196,422),(196,423),(196,424),(196,425),(196,426),(196,427),(196,428),(196,429),(196,434),(196,435),(196,436),(196,437),(196,438),(196,439),(196,440),(196,441),(196,442),(196,443),(196,444),(196,445),(196,446),(196,447),(196,448),(196,449),(196,450),(196,451),(196,452),(196,453),(196,454),(196,455),(196,456),(196,457),(196,458),(196,459),(196,461),(196,463),(196,464),(196,465),(196,472),(196,473),(196,474),(196,475),(196,476),(196,477),(196,478),(196,488),(196,489),(196,491),(196,492),(196,493),(196,495),(196,497),(196,498),(196,499),(196,500),(196,502),(196,503),(196,505),(196,508),(196,511),(196,513),(196,514),(196,516),(196,519),(196,522),(196,523),(196,526),(196,527),(196,529),(196,530),(196,533),(196,535),(196,536),(196,537),(196,538),(196,539),(196,540),(196,541),(196,556),(196,581),(196,582),(196,592),(196,593),(196,596),(196,602),(196,603),(196,604),(196,605),(196,606),(196,607),(196,608),(196,609),(196,610),(196,611),(196,612),(196,613),(196,614),(196,615),(196,616),(196,617),(196,618),(196,619),(196,620),(196,621),(196,622),(196,623),(196,624),(196,625),(196,626),(196,627),(196,628),(196,629),(196,630),(196,631),(196,632),(196,633),(196,634),(196,635),(196,636),(196,637),(196,638),(196,639),(196,640),(196,641),(196,642),(196,643),(196,644),(196,645),(196,646),(196,647),(196,648),(196,649),(196,650),(196,651),(196,652),(196,653),(196,654),(196,655),(196,656),(196,657),(196,658),(196,659),(196,660),(196,661),(196,662),(196,663),(196,664),(196,665),(196,666),(196,667),(196,668),(196,669),(196,670),(196,671),(196,672),(196,673),(196,674),(196,675),(196,676),(196,677),(196,678),(196,679),(196,680),(196,681),(196,682),(196,683),(196,684),(196,685),(196,686),(196,687),(196,688),(196,689),(196,690),(196,691),(196,692),(196,693),(196,694),(196,695),(196,696),(196,697),(196,698),(196,699),(196,700),(196,701),(196,702),(196,703),(196,704),(196,705),(196,706),(196,707),(196,708),(196,709),(196,710),(196,711),(196,712),(196,713),(196,714),(196,715),(196,716),(196,717),(196,718),(196,719),(196,721),(196,722),(196,723),(196,724),(196,725),(196,726),(196,727),(196,728),(196,729),(196,730),(196,733),(196,734),(196,735),(196,736),(196,738),(196,739),(196,748),(196,753),(196,757),(196,773),(197,232),(197,236),(197,237),(197,273),(197,274),(197,275),(197,276),(197,277),(197,284),(197,285),(197,286),(197,301),(197,311),(197,387),(197,388),(197,389),(197,390),(197,391),(197,392),(197,393),(197,394),(197,395),(197,396),(197,397),(197,398),(197,399),(197,479),(197,480),(197,481),(197,482),(197,485),(197,486),(197,487),(197,494),(197,506),(197,509),(197,510),(197,517),(197,518),(197,521),(197,542),(197,543),(197,550),(197,558),(197,568),(197,571),(197,572),(197,573),(197,574),(197,575),(197,576),(197,577),(197,578),(197,579),(197,580),(197,583),(197,584),(197,585),(197,586),(197,587),(197,588),(197,589),(197,590),(197,591),(197,594),(197,595),(197,601),(197,743),(197,750),(197,758),(197,761),(197,762),(197,763),(197,764),(197,765),(197,766),(197,767),(197,768),(197,769),(197,770),(197,771),(197,772),(197,774),(198,218),(198,300),(198,312),(198,315),(198,316),(198,317),(198,318),(198,367),(198,368),(198,369),(198,370),(198,371),(198,372),(198,374),(198,376),(198,377),(198,378),(198,379),(198,380),(198,381),(198,382),(198,383),(198,384),(198,385),(198,386),(198,408),(198,409),(198,410),(198,411),(198,412),(198,413),(198,414),(198,415),(198,416),(198,430),(198,431),(198,432),(198,433),(198,462),(198,466),(198,467),(198,468),(198,469),(198,470),(198,471),(198,483),(198,484),(198,490),(198,504),(198,512),(198,515),(198,520),(198,524),(198,528),(198,531),(198,532),(198,544),(198,545),(198,546),(198,547),(198,548),(198,549),(198,551),(198,552),(198,553),(198,554),(198,555),(198,557),(198,559),(198,560),(198,561),(198,562),(198,563),(198,564),(198,565),(198,566),(198,567),(198,569),(198,570),(198,597),(198,598),(198,599),(198,600),(198,737),(198,740),(198,741),(198,742),(198,744),(198,745),(198,746),(198,747),(198,749),(198,751),(198,752),(198,754),(198,755),(198,756),(198,759),(198,760),(199,217),(199,221),(199,222),(199,223),(199,225),(199,263),(199,496),(199,501),(199,507),(199,525),(199,534);
/*!40000 ALTER TABLE `rbac_linked_permissions` ENABLE KEYS */;
UNLOCK TABLES;
@@ -341,7 +341,7 @@ CREATE TABLE `rbac_permissions` (
LOCK TABLES `rbac_permissions` WRITE;
/*!40000 ALTER TABLE `rbac_permissions` DISABLE KEYS */;
-INSERT INTO `rbac_permissions` VALUES (1,'Instant logout'),(2,'Skip Queue'),(3,'Join Normal Battleground'),(4,'Join Random Battleground'),(5,'Join Arenas'),(6,'Join Dungeon Finder'),(11,'Log GM trades'),(13,'Skip Instance required bosses check'),(14,'Skip character creation team mask check'),(15,'Skip character creation class mask check'),(16,'Skip character creation race mask check'),(17,'Skip character creation reserved name check'),(18,'Skip character creation heroic min level check'),(19,'Skip needed requirements to use channel check'),(20,'Skip disable map check'),(21,'Skip reset talents when used more than allowed check'),(22,'Skip spam chat check'),(23,'Skip over-speed ping check'),(24,'Two side faction characters on the same account'),(25,'Allow say chat between factions'),(26,'Allow channel chat between factions'),(27,'Two side mail interaction'),(28,'See two side who list'),(29,'Add friends of other faction'),(30,'Save character without delay with .save command'),(31,'Use params with .unstuck command'),(32,'Can be assigned tickets with .assign ticket command'),(33,'Notify if a command was not found'),(34,'Check if should appear in list using .gm ingame command'),(35,'See all security levels with who command'),(36,'Filter whispers'),(37,'Use staff badge in chat'),(38,'Resurrect with full Health Points'),(39,'Restore saved gm setting states'),(40,'Allows to add a gm to friend list'),(41,'Use Config option START_GM_LEVEL to assign new character level'),(42,'Allows to use CMSG_WORLD_TELEPORT opcode'),(43,'Allows to use CMSG_WHOIS opcode'),(44,'Receive global GM messages/texts'),(45,'Join channels without announce'),(46,'Change channel settings without being channel moderator'),(47,'Enables lower security than target check'),(48,'Enable IP, Last Login and EMail output in pinfo'),(49,'Forces to enter the email for confirmation on password change'),(50,'Allow user to check his own email with .account'),(192,'Role: Sec Level Administrator'),(193,'Role: Sec Level Gamemaster'),(194,'Role: Sec Level Moderator'),(195,'Role: Sec Level Player'),(196,'Role: Administrator Commands'),(197,'Role: Gamemaster Commands'),(198,'Role: Moderator Commands'),(199,'Role: Player Commands'),(200,'Command: rbac'),(201,'Command: rbac account'),(202,'Command: rbac account list'),(203,'Command: rbac account grant'),(204,'Command: rbac account deny'),(205,'Command: rbac account revoke'),(206,'Command: rbac list'),(217,'Command: account'),(218,'Command: account addon'),(219,'Command: account create'),(220,'Command: account delete'),(221,'Command: account lock'),(222,'Command: account lock country'),(223,'Command: account lock ip'),(224,'Command: account onlinelist'),(225,'Command: account password'),(226,'Command: account set'),(227,'Command: account set addon'),(228,'Command: account set gmlevel'),(229,'Command: account set password'),(230,'Command: achievement'),(231,'Command: achievement add'),(232,'Command: arena'),(233,'Command: arena captain'),(234,'Command: arena create'),(235,'Command: arena disband'),(236,'Command: arena info'),(237,'Command: arena lookup'),(238,'Command: arena rename'),(239,'Command: ban'),(240,'Command: ban account'),(241,'Command: ban character'),(242,'Command: ban ip'),(243,'Command: ban playeraccount'),(244,'Command: baninfo'),(245,'Command: baninfo account'),(246,'Command: baninfo character'),(247,'Command: baninfo ip'),(248,'Command: banlist'),(249,'Command: banlist account'),(250,'Command: banlist character'),(251,'Command: banlist ip'),(252,'Command: unban'),(253,'Command: unban account'),(254,'Command: unban character'),(255,'Command: unban ip'),(256,'Command: unban playeraccount'),(257,'Command: bf'),(258,'Command: bf start'),(259,'Command: bf stop'),(260,'Command: bf switch'),(261,'Command: bf timer'),(262,'Command: bf enable'),(263,'Command: account email'),(264,'Command: account set sec'),(265,'Command: account set sec email'),(266,'Command: account set sec regmail'),(267,'Command: cast'),(268,'Command: cast back'),(269,'Command: cast dist'),(270,'Command: cast self'),(271,'Command: cast target'),(272,'Command: cast dest'),(273,'Command: character'),(274,'Command: character customize'),(275,'Command: character changefaction'),(276,'Command: character changerace'),(277,'Command: character deleted'),(279,'Command: character deleted list'),(280,'Command: character deleted restore'),(283,'Command: character level'),(284,'Command: character rename'),(285,'Command: character reputation'),(286,'Command: character titles'),(287,'Command: levelup'),(288,'Command: pdump'),(289,'Command: pdump load'),(290,'Command: pdump write'),(291,'Command: cheat'),(292,'Command: cheat casttime'),(293,'Command: cheat cooldown'),(294,'Command: cheat explore'),(295,'Command: cheat god'),(296,'Command: cheat power'),(297,'Command: cheat status'),(298,'Command: cheat taxi'),(299,'Command: cheat waterwalk'),(300,'Command: debug'),(301,'Command: debug anim'),(302,'Command: debug areatriggers'),(303,'Command: debug arena'),(304,'Command: debug bg'),(305,'Command: debug entervehicle'),(306,'Command: debug getitemstate'),(307,'Command: debug getitemvalue'),(308,'Command: debug getvalue'),(309,'Command: debug hostil'),(310,'Command: debug itemexpire'),(311,'Command: debug lootrecipient'),(312,'Command: debug los'),(313,'Command: debug mod32value'),(314,'Command: debug moveflags'),(315,'Command: debug play'),(316,'Command: debug play cinematics'),(317,'Command: debug play movie'),(318,'Command: debug play sound'),(319,'Command: debug send'),(320,'Command: debug send buyerror'),(321,'Command: debug send channelnotify'),(322,'Command: debug send chatmessage'),(323,'Command: debug send equiperror'),(324,'Command: debug send largepacket'),(325,'Command: debug send opcode'),(326,'Command: debug send qinvalidmsg'),(327,'Command: debug send qpartymsg'),(328,'Command: debug send sellerror'),(329,'Command: debug send setphaseshift'),(330,'Command: debug send spellfail'),(331,'Command: debug setaurastate'),(332,'Command: debug setbit'),(333,'Command: debug setitemvalue'),(334,'Command: debug setvalue'),(335,'Command: debug setvid'),(336,'Command: debug spawnvehicle'),(337,'Command: debug threat'),(338,'Command: debug update'),(339,'Command: debug uws'),(340,'Command: wpgps'),(341,'Command: deserter'),(342,'Command: deserter bg'),(343,'Command: deserter bg add'),(344,'Command: deserter bg remove'),(345,'Command: deserter instance'),(346,'Command: deserter instance add'),(347,'Command: deserter instance remove'),(348,'Command: disable'),(349,'Command: disable add'),(350,'Command: disable add achievement_criteria'),(351,'Command: disable add battleground'),(352,'Command: disable add map'),(353,'Command: disable add mmap'),(354,'Command: disable add outdoorpvp'),(355,'Command: disable add quest'),(356,'Command: disable add spell'),(357,'Command: disable add vmap'),(358,'Command: disable remove'),(359,'Command: disable remove achievement_criteria'),(360,'Command: disable remove battleground'),(361,'Command: disable remove map'),(362,'Command: disable remove mmap'),(363,'Command: disable remove outdoorpvp'),(364,'Command: disable remove quest'),(365,'Command: disable remove spell'),(366,'Command: disable remove vmap'),(367,'Command: event'),(368,'Command: event activelist'),(369,'Command: event start'),(370,'Command: event stop'),(371,'Command: gm'),(372,'Command: gm chat'),(373,'Command: gm fly'),(374,'Command: gm ingame'),(375,'Command: gm list'),(376,'Command: gm visible'),(377,'Command: go'),(378,'Command: go creature'),(379,'Command: go graveyard'),(380,'Command: go grid'),(381,'Command: go object'),(382,'Command: go taxinode'),(383,'Command: go ticket'),(384,'Command: go trigger'),(385,'Command: go xyz'),(386,'Command: go zonexy'),(387,'Command: gobject'),(388,'Command: gobject activate'),(389,'Command: gobject add'),(390,'Command: gobject add temp'),(391,'Command: gobject delete'),(392,'Command: gobject info'),(393,'Command: gobject move'),(394,'Command: gobject near'),(395,'Command: gobject set'),(396,'Command: gobject set phase'),(397,'Command: gobject set state'),(398,'Command: gobject target'),(399,'Command: gobject turn'),(401,'Command: guild'),(402,'Command: guild create'),(403,'Command: guild delete'),(404,'Command: guild invite'),(405,'Command: guild uninvite'),(406,'Command: guild rank'),(407,'Command: guild rename'),(408,'Command: honor'),(409,'Command: honor add'),(410,'Command: honor add kill'),(411,'Command: honor update'),(412,'Command: instance'),(413,'Command: instance listbinds'),(414,'Command: instance unbind'),(415,'Command: instance stats'),(416,'Command: instance savedata'),(417,'Command: learn'),(418,'Command: learn all'),(419,'Command: learn all my'),(420,'Command: learn all my class'),(421,'Command: learn all my pettalents'),(422,'Command: learn all my spells'),(423,'Command: learn all my talents'),(424,'Command: learn all gm'),(425,'Command: learn all crafts'),(426,'Command: learn all default'),(427,'Command: learn all lang'),(428,'Command: learn all recipes'),(429,'Command: unlearn'),(430,'Command: lfg'),(431,'Command: lfg player'),(432,'Command: lfg group'),(433,'Command: lfg queue'),(434,'Command: lfg clean'),(435,'Command: lfg options'),(436,'Command: list'),(437,'Command: list creature'),(438,'Command: list item'),(439,'Command: list object'),(440,'Command: list auras'),(441,'Command: list mail'),(442,'Command: lookup'),(443,'Command: lookup area'),(444,'Command: lookup creature'),(445,'Command: lookup event'),(446,'Command: lookup faction'),(447,'Command: lookup item'),(448,'Command: lookup itemset'),(449,'Command: lookup object'),(450,'Command: lookup quest'),(451,'Command: lookup player'),(452,'Command: lookup player ip'),(453,'Command: lookup player account'),(454,'Command: lookup player email'),(455,'Command: lookup skill'),(456,'Command: lookup spell'),(457,'Command: lookup spell id'),(458,'Command: lookup taxinode'),(459,'Command: lookup tele'),(460,'Command: lookup title'),(461,'Command: lookup map'),(462,'Command: announce'),(463,'Command: channel'),(464,'Command: channel set'),(465,'Command: channel set ownership'),(466,'Command: gmannounce'),(467,'Command: gmnameannounce'),(468,'Command: gmnotify'),(469,'Command: nameannounce'),(470,'Command: notify'),(471,'Command: whispers'),(472,'Command: group'),(473,'Command: group leader'),(474,'Command: group disband'),(475,'Command: group remove'),(476,'Command: group join'),(477,'Command: group list'),(478,'Command: group summon'),(479,'Command: pet'),(480,'Command: pet create'),(481,'Command: pet learn'),(482,'Command: pet unlearn'),(483,'Command: send'),(484,'Command: send items'),(485,'Command: send mail'),(486,'Command: send message'),(487,'Command: send money'),(488,'Command: additem'),(489,'Command: additemset'),(490,'Command: appear'),(491,'Command: aura'),(492,'Command: bank'),(493,'Command: bindsight'),(494,'Command: combatstop'),(495,'Command: cometome'),(496,'Command: commands'),(497,'Command: cooldown'),(498,'Command: damage'),(499,'Command: dev'),(500,'Command: die'),(501,'Command: dismount'),(502,'Command: distance'),(503,'Command: flusharenapoints'),(504,'Command: freeze'),(505,'Command: gps'),(506,'Command: guid'),(507,'Command: help'),(508,'Command: hidearea'),(509,'Command: itemmove'),(510,'Command: kick'),(511,'Command: linkgrave'),(512,'Command: listfreeze'),(513,'Command: maxskill'),(514,'Command: movegens'),(515,'Command: mute'),(516,'Command: neargrave'),(517,'Command: pinfo'),(518,'Command: playall'),(519,'Command: possess'),(520,'Command: recall'),(521,'Command: repairitems'),(522,'Command: respawn'),(523,'Command: revive'),(524,'Command: saveall'),(525,'Command: save'),(526,'Command: setskill'),(527,'Command: showarea'),(528,'Command: summon'),(529,'Command: unaura'),(530,'Command: unbindsight'),(531,'Command: unfreeze'),(532,'Command: unmute'),(533,'Command: unpossess'),(534,'Command: unstuck'),(535,'Command: wchange'),(536,'Command: mmap'),(537,'Command: mmap loadedtiles'),(538,'Command: mmap loc'),(539,'Command: mmap path'),(540,'Command: mmap stats'),(541,'Command: mmap testarea'),(542,'Command: morph'),(543,'Command: demorph'),(544,'Command: modify'),(545,'Command: modify arenapoints'),(546,'Command: modify bit'),(547,'Command: modify drunk'),(548,'Command: modify energy'),(549,'Command: modify faction'),(550,'Command: modify gender'),(551,'Command: modify honor'),(552,'Command: modify hp'),(553,'Command: modify mana'),(554,'Command: modify money'),(555,'Command: modify mount'),(556,'Command: modify phase'),(557,'Command: modify rage'),(558,'Command: modify reputation'),(559,'Command: modify runicpower'),(560,'Command: modify scale'),(561,'Command: modify speed'),(562,'Command: modify speed all'),(563,'Command: modify speed backwalk'),(564,'Command: modify speed fly'),(565,'Command: modify speed walk'),(566,'Command: modify speed swim'),(567,'Command: modify spell'),(568,'Command: modify standstate'),(569,'Command: modify talentpoints'),(570,'Command: npc'),(571,'Command: npc add'),(572,'Command: npc add formation'),(573,'Command: npc add item'),(574,'Command: npc add move'),(575,'Command: npc add temp'),(576,'Command: npc add delete'),(577,'Command: npc add delete item'),(578,'Command: npc add follow'),(579,'Command: npc add follow stop'),(580,'Command: npc set'),(581,'Command: npc set allowmove'),(582,'Command: npc set entry'),(583,'Command: npc set factionid'),(584,'Command: npc set flag'),(585,'Command: npc set level'),(586,'Command: npc set link'),(587,'Command: npc set model'),(588,'Command: npc set movetype'),(589,'Command: npc set phase'),(590,'Command: npc set spawndist'),(591,'Command: npc set spawntime'),(592,'Command: npc set data'),(593,'Command: npc info'),(594,'Command: npc near'),(595,'Command: npc move'),(596,'Command: npc playemote'),(597,'Command: npc say'),(598,'Command: npc textemote'),(599,'Command: npc whisper'),(600,'Command: npc yell'),(601,'Command: npc tame'),(602,'Command: quest'),(603,'Command: quest add'),(604,'Command: quest complete'),(605,'Command: quest remove'),(606,'Command: quest reward'),(607,'Command: reload'),(608,'Command: reload access_requirement'),(609,'Command: reload achievement_criteria_data'),(610,'Command: reload achievement_reward'),(611,'Command: reload all'),(612,'Command: reload all achievement'),(613,'Command: reload all area'),(614,'Command: reload all eventai'),(615,'Command: reload all gossips'),(616,'Command: reload all item'),(617,'Command: reload all locales'),(618,'Command: reload all loot'),(619,'Command: reload all npc'),(620,'Command: reload all quest'),(621,'Command: reload all scripts'),(622,'Command: reload all spell'),(623,'Command: reload areatrigger_involvedrelation'),(624,'Command: reload areatrigger_tavern'),(625,'Command: reload areatrigger_teleport'),(626,'Command: reload auctions'),(627,'Command: reload autobroadcast'),(628,'Command: reload command'),(629,'Command: reload conditions'),(630,'Command: reload config'),(631,'Command: reload creature_text'),(632,'Command: reload creature_ai_scripts'),(633,'Command: reload creature_ai_texts'),(634,'Command: reload creature_questender'),(635,'Command: reload creature_linked_respawn'),(636,'Command: reload creature_loot_template'),(637,'Command: reload creature_onkill_reputation'),(638,'Command: reload creature_queststarter'),(639,'Command: reload creature_summon_groups'),(640,'Command: reload creature_template'),(641,'Command: reload disables'),(642,'Command: reload disenchant_loot_template'),(643,'Command: reload event_scripts'),(644,'Command: reload fishing_loot_template'),(645,'Command: reload game_graveyard_zone'),(646,'Command: reload game_tele'),(647,'Command: reload gameobject_questender'),(648,'Command: reload gameobject_loot_template'),(649,'Command: reload gameobject_queststarter'),(650,'Command: reload gm_tickets'),(651,'Command: reload gossip_menu'),(652,'Command: reload gossip_menu_option'),(653,'Command: reload item_enchantment_template'),(654,'Command: reload item_loot_template'),(655,'Command: reload item_set_names'),(656,'Command: reload lfg_dungeon_rewards'),(657,'Command: reload locales_achievement_reward'),(658,'Command: reload locales_creature'),(659,'Command: reload locales_creature_text'),(660,'Command: reload locales_gameobject'),(661,'Command: reload locales_gossip_menu_option'),(662,'Command: reload locales_item'),(663,'Command: reload locales_item_set_name'),(664,'Command: reload locales_npc_text'),(665,'Command: reload locales_page_text'),(666,'Command: reload locales_points_of_interest'),(667,'Command: reload locales_quest'),(668,'Command: reload mail_level_reward'),(669,'Command: reload mail_loot_template'),(670,'Command: reload milling_loot_template'),(671,'Command: reload npc_spellclick_spells'),(672,'Command: reload npc_trainer'),(673,'Command: reload npc_vendor'),(674,'Command: reload page_text'),(675,'Command: reload pickpocketing_loot_template'),(676,'Command: reload points_of_interest'),(677,'Command: reload prospecting_loot_template'),(678,'Command: reload quest_poi'),(679,'Command: reload quest_template'),(680,'Command: reload rbac'),(681,'Command: reload reference_loot_template'),(682,'Command: reload reserved_name'),(683,'Command: reload reputation_reward_rate'),(684,'Command: reload reputation_spillover_template'),(685,'Command: reload skill_discovery_template'),(686,'Command: reload skill_extra_item_template'),(687,'Command: reload skill_fishing_base_level'),(688,'Command: reload skinning_loot_template'),(689,'Command: reload smart_scripts'),(690,'Command: reload spell_required'),(691,'Command: reload spell_area'),(692,'Command: reload spell_bonus_data'),(693,'Command: reload spell_group'),(694,'Command: reload spell_learn_spell'),(695,'Command: reload spell_loot_template'),(696,'Command: reload spell_linked_spell'),(697,'Command: reload spell_pet_auras'),(698,'Command: reload spell_proc_event'),(699,'Command: reload spell_proc'),(700,'Command: reload spell_scripts'),(701,'Command: reload spell_target_position'),(702,'Command: reload spell_threats'),(703,'Command: reload spell_group_stack_rules'),(704,'Command: reload trinity_string'),(705,'Command: reload warden_action'),(706,'Command: reload waypoint_scripts'),(707,'Command: reload waypoint_data'),(708,'Command: reload vehicle_accessory'),(709,'Command: reload vehicle_template_accessory'),(710,'Command: reset'),(711,'Command: reset achievements'),(712,'Command: reset honor'),(713,'Command: reset level'),(714,'Command: reset spells'),(715,'Command: reset stats'),(716,'Command: reset talents'),(717,'Command: reset all'),(718,'Command: server'),(719,'Command: server corpses'),(720,'Command: server exit'),(721,'Command: server idlerestart'),(722,'Command: server idlerestart cancel'),(723,'Command: server idleshutdown'),(724,'Command: server idleshutdown cancel'),(725,'Command: server info'),(726,'Command: server plimit'),(727,'Command: server restart'),(728,'Command: server restart cancel'),(729,'Command: server set'),(730,'Command: server set closed'),(731,'Command: server set difftime'),(732,'Command: server set loglevel'),(733,'Command: server set motd'),(734,'Command: server shutdown'),(735,'Command: server shutdown cancel'),(736,'Command: server motd'),(737,'Command: tele'),(738,'Command: tele add'),(739,'Command: tele del'),(740,'Command: tele name'),(741,'Command: tele group'),(742,'Command: ticket'),(743,'Command: ticket assign'),(744,'Command: ticket close'),(745,'Command: ticket closedlist'),(746,'Command: ticket comment'),(747,'Command: ticket complete'),(748,'Command: ticket delete'),(749,'Command: ticket escalate'),(750,'Command: ticket escalatedlist'),(751,'Command: ticket list'),(752,'Command: ticket onlinelist'),(753,'Command: ticket reset'),(754,'Command: ticket response'),(755,'Command: ticket response append'),(756,'Command: ticket response appendln'),(757,'Command: ticket togglesystem'),(758,'Command: ticket unassign'),(759,'Command: ticket viewid'),(760,'Command: ticket viewname'),(761,'Command: titles'),(762,'Command: titles add'),(763,'Command: titles current'),(764,'Command: titles remove'),(765,'Command: titles set'),(766,'Command: titles set mask'),(767,'Command: wp'),(768,'Command: wp add'),(769,'Command: wp event'),(770,'Command: wp load'),(771,'Command: wp modify'),(772,'Command: wp unload'),(773,'Command: wp reload'),(774,'Command: wp show');
+INSERT INTO `rbac_permissions` VALUES (1,'Instant logout'),(2,'Skip Queue'),(3,'Join Normal Battleground'),(4,'Join Random Battleground'),(5,'Join Arenas'),(6,'Join Dungeon Finder'),(11,'Log GM trades'),(13,'Skip Instance required bosses check'),(14,'Skip character creation team mask check'),(15,'Skip character creation class mask check'),(16,'Skip character creation race mask check'),(17,'Skip character creation reserved name check'),(18,'Skip character creation heroic min level check'),(19,'Skip needed requirements to use channel check'),(20,'Skip disable map check'),(21,'Skip reset talents when used more than allowed check'),(22,'Skip spam chat check'),(23,'Skip over-speed ping check'),(24,'Two side faction characters on the same account'),(25,'Allow say chat between factions'),(26,'Allow channel chat between factions'),(27,'Two side mail interaction'),(28,'See two side who list'),(29,'Add friends of other faction'),(30,'Save character without delay with .save command'),(31,'Use params with .unstuck command'),(32,'Can be assigned tickets with .assign ticket command'),(33,'Notify if a command was not found'),(34,'Check if should appear in list using .gm ingame command'),(35,'See all security levels with who command'),(36,'Filter whispers'),(37,'Use staff badge in chat'),(38,'Resurrect with full Health Points'),(39,'Restore saved gm setting states'),(40,'Allows to add a gm to friend list'),(41,'Use Config option START_GM_LEVEL to assign new character level'),(42,'Allows to use CMSG_WORLD_TELEPORT opcode'),(43,'Allows to use CMSG_WHOIS opcode'),(44,'Receive global GM messages/texts'),(45,'Join channels without announce'),(46,'Change channel settings without being channel moderator'),(47,'Enables lower security than target check'),(48,'Enable IP, Last Login and EMail output in pinfo'),(49,'Forces to enter the email for confirmation on password change'),(50,'Allow user to check his own email with .account'),(192,'Role: Sec Level Administrator'),(193,'Role: Sec Level Gamemaster'),(194,'Role: Sec Level Moderator'),(195,'Role: Sec Level Player'),(196,'Role: Administrator Commands'),(197,'Role: Gamemaster Commands'),(198,'Role: Moderator Commands'),(199,'Role: Player Commands'),(200,'Command: rbac'),(201,'Command: rbac account'),(202,'Command: rbac account list'),(203,'Command: rbac account grant'),(204,'Command: rbac account deny'),(205,'Command: rbac account revoke'),(206,'Command: rbac list'),(217,'Command: account'),(218,'Command: account addon'),(219,'Command: account create'),(220,'Command: account delete'),(221,'Command: account lock'),(222,'Command: account lock country'),(223,'Command: account lock ip'),(224,'Command: account onlinelist'),(225,'Command: account password'),(226,'Command: account set'),(227,'Command: account set addon'),(228,'Command: account set gmlevel'),(229,'Command: account set password'),(230,'Command: achievement'),(231,'Command: achievement add'),(232,'Command: arena'),(233,'Command: arena captain'),(234,'Command: arena create'),(235,'Command: arena disband'),(236,'Command: arena info'),(237,'Command: arena lookup'),(238,'Command: arena rename'),(239,'Command: ban'),(240,'Command: ban account'),(241,'Command: ban character'),(242,'Command: ban ip'),(243,'Command: ban playeraccount'),(244,'Command: baninfo'),(245,'Command: baninfo account'),(246,'Command: baninfo character'),(247,'Command: baninfo ip'),(248,'Command: banlist'),(249,'Command: banlist account'),(250,'Command: banlist character'),(251,'Command: banlist ip'),(252,'Command: unban'),(253,'Command: unban account'),(254,'Command: unban character'),(255,'Command: unban ip'),(256,'Command: unban playeraccount'),(257,'Command: bf'),(258,'Command: bf start'),(259,'Command: bf stop'),(260,'Command: bf switch'),(261,'Command: bf timer'),(262,'Command: bf enable'),(263,'Command: account email'),(264,'Command: account set sec'),(265,'Command: account set sec email'),(266,'Command: account set sec regmail'),(267,'Command: cast'),(268,'Command: cast back'),(269,'Command: cast dist'),(270,'Command: cast self'),(271,'Command: cast target'),(272,'Command: cast dest'),(273,'Command: character'),(274,'Command: character customize'),(275,'Command: character changefaction'),(276,'Command: character changerace'),(277,'Command: character deleted'),(279,'Command: character deleted list'),(280,'Command: character deleted restore'),(283,'Command: character level'),(284,'Command: character rename'),(285,'Command: character reputation'),(286,'Command: character titles'),(287,'Command: levelup'),(288,'Command: pdump'),(289,'Command: pdump load'),(290,'Command: pdump write'),(291,'Command: cheat'),(292,'Command: cheat casttime'),(293,'Command: cheat cooldown'),(294,'Command: cheat explore'),(295,'Command: cheat god'),(296,'Command: cheat power'),(297,'Command: cheat status'),(298,'Command: cheat taxi'),(299,'Command: cheat waterwalk'),(300,'Command: debug'),(301,'Command: debug anim'),(302,'Command: debug areatriggers'),(303,'Command: debug arena'),(304,'Command: debug bg'),(305,'Command: debug entervehicle'),(306,'Command: debug getitemstate'),(307,'Command: debug getitemvalue'),(308,'Command: debug getvalue'),(309,'Command: debug hostil'),(310,'Command: debug itemexpire'),(311,'Command: debug lootrecipient'),(312,'Command: debug los'),(313,'Command: debug mod32value'),(314,'Command: debug moveflags'),(315,'Command: debug play'),(316,'Command: debug play cinematics'),(317,'Command: debug play movie'),(318,'Command: debug play sound'),(319,'Command: debug send'),(320,'Command: debug send buyerror'),(321,'Command: debug send channelnotify'),(322,'Command: debug send chatmessage'),(323,'Command: debug send equiperror'),(324,'Command: debug send largepacket'),(325,'Command: debug send opcode'),(326,'Command: debug send qinvalidmsg'),(327,'Command: debug send qpartymsg'),(328,'Command: debug send sellerror'),(329,'Command: debug send setphaseshift'),(330,'Command: debug send spellfail'),(331,'Command: debug setaurastate'),(332,'Command: debug setbit'),(333,'Command: debug setitemvalue'),(334,'Command: debug setvalue'),(335,'Command: debug setvid'),(336,'Command: debug spawnvehicle'),(337,'Command: debug threat'),(338,'Command: debug update'),(339,'Command: debug uws'),(340,'Command: wpgps'),(341,'Command: deserter'),(342,'Command: deserter bg'),(343,'Command: deserter bg add'),(344,'Command: deserter bg remove'),(345,'Command: deserter instance'),(346,'Command: deserter instance add'),(347,'Command: deserter instance remove'),(348,'Command: disable'),(349,'Command: disable add'),(350,'Command: disable add achievement_criteria'),(351,'Command: disable add battleground'),(352,'Command: disable add map'),(353,'Command: disable add mmap'),(354,'Command: disable add outdoorpvp'),(355,'Command: disable add quest'),(356,'Command: disable add spell'),(357,'Command: disable add vmap'),(358,'Command: disable remove'),(359,'Command: disable remove achievement_criteria'),(360,'Command: disable remove battleground'),(361,'Command: disable remove map'),(362,'Command: disable remove mmap'),(363,'Command: disable remove outdoorpvp'),(364,'Command: disable remove quest'),(365,'Command: disable remove spell'),(366,'Command: disable remove vmap'),(367,'Command: event'),(368,'Command: event activelist'),(369,'Command: event start'),(370,'Command: event stop'),(371,'Command: gm'),(372,'Command: gm chat'),(373,'Command: gm fly'),(374,'Command: gm ingame'),(375,'Command: gm list'),(376,'Command: gm visible'),(377,'Command: go'),(378,'Command: go creature'),(379,'Command: go graveyard'),(380,'Command: go grid'),(381,'Command: go object'),(382,'Command: go taxinode'),(383,'Command: go ticket'),(384,'Command: go trigger'),(385,'Command: go xyz'),(386,'Command: go zonexy'),(387,'Command: gobject'),(388,'Command: gobject activate'),(389,'Command: gobject add'),(390,'Command: gobject add temp'),(391,'Command: gobject delete'),(392,'Command: gobject info'),(393,'Command: gobject move'),(394,'Command: gobject near'),(395,'Command: gobject set'),(396,'Command: gobject set phase'),(397,'Command: gobject set state'),(398,'Command: gobject target'),(399,'Command: gobject turn'),(400,'debug transport'),(401,'Command: guild'),(402,'Command: guild create'),(403,'Command: guild delete'),(404,'Command: guild invite'),(405,'Command: guild uninvite'),(406,'Command: guild rank'),(407,'Command: guild rename'),(408,'Command: honor'),(409,'Command: honor add'),(410,'Command: honor add kill'),(411,'Command: honor update'),(412,'Command: instance'),(413,'Command: instance listbinds'),(414,'Command: instance unbind'),(415,'Command: instance stats'),(416,'Command: instance savedata'),(417,'Command: learn'),(418,'Command: learn all'),(419,'Command: learn all my'),(420,'Command: learn all my class'),(421,'Command: learn all my pettalents'),(422,'Command: learn all my spells'),(423,'Command: learn all my talents'),(424,'Command: learn all gm'),(425,'Command: learn all crafts'),(426,'Command: learn all default'),(427,'Command: learn all lang'),(428,'Command: learn all recipes'),(429,'Command: unlearn'),(430,'Command: lfg'),(431,'Command: lfg player'),(432,'Command: lfg group'),(433,'Command: lfg queue'),(434,'Command: lfg clean'),(435,'Command: lfg options'),(436,'Command: list'),(437,'Command: list creature'),(438,'Command: list item'),(439,'Command: list object'),(440,'Command: list auras'),(441,'Command: list mail'),(442,'Command: lookup'),(443,'Command: lookup area'),(444,'Command: lookup creature'),(445,'Command: lookup event'),(446,'Command: lookup faction'),(447,'Command: lookup item'),(448,'Command: lookup itemset'),(449,'Command: lookup object'),(450,'Command: lookup quest'),(451,'Command: lookup player'),(452,'Command: lookup player ip'),(453,'Command: lookup player account'),(454,'Command: lookup player email'),(455,'Command: lookup skill'),(456,'Command: lookup spell'),(457,'Command: lookup spell id'),(458,'Command: lookup taxinode'),(459,'Command: lookup tele'),(460,'Command: lookup title'),(461,'Command: lookup map'),(462,'Command: announce'),(463,'Command: channel'),(464,'Command: channel set'),(465,'Command: channel set ownership'),(466,'Command: gmannounce'),(467,'Command: gmnameannounce'),(468,'Command: gmnotify'),(469,'Command: nameannounce'),(470,'Command: notify'),(471,'Command: whispers'),(472,'Command: group'),(473,'Command: group leader'),(474,'Command: group disband'),(475,'Command: group remove'),(476,'Command: group join'),(477,'Command: group list'),(478,'Command: group summon'),(479,'Command: pet'),(480,'Command: pet create'),(481,'Command: pet learn'),(482,'Command: pet unlearn'),(483,'Command: send'),(484,'Command: send items'),(485,'Command: send mail'),(486,'Command: send message'),(487,'Command: send money'),(488,'Command: additem'),(489,'Command: additemset'),(490,'Command: appear'),(491,'Command: aura'),(492,'Command: bank'),(493,'Command: bindsight'),(494,'Command: combatstop'),(495,'Command: cometome'),(496,'Command: commands'),(497,'Command: cooldown'),(498,'Command: damage'),(499,'Command: dev'),(500,'Command: die'),(501,'Command: dismount'),(502,'Command: distance'),(503,'Command: flusharenapoints'),(504,'Command: freeze'),(505,'Command: gps'),(506,'Command: guid'),(507,'Command: help'),(508,'Command: hidearea'),(509,'Command: itemmove'),(510,'Command: kick'),(511,'Command: linkgrave'),(512,'Command: listfreeze'),(513,'Command: maxskill'),(514,'Command: movegens'),(515,'Command: mute'),(516,'Command: neargrave'),(517,'Command: pinfo'),(518,'Command: playall'),(519,'Command: possess'),(520,'Command: recall'),(521,'Command: repairitems'),(522,'Command: respawn'),(523,'Command: revive'),(524,'Command: saveall'),(525,'Command: save'),(526,'Command: setskill'),(527,'Command: showarea'),(528,'Command: summon'),(529,'Command: unaura'),(530,'Command: unbindsight'),(531,'Command: unfreeze'),(532,'Command: unmute'),(533,'Command: unpossess'),(534,'Command: unstuck'),(535,'Command: wchange'),(536,'Command: mmap'),(537,'Command: mmap loadedtiles'),(538,'Command: mmap loc'),(539,'Command: mmap path'),(540,'Command: mmap stats'),(541,'Command: mmap testarea'),(542,'Command: morph'),(543,'Command: demorph'),(544,'Command: modify'),(545,'Command: modify arenapoints'),(546,'Command: modify bit'),(547,'Command: modify drunk'),(548,'Command: modify energy'),(549,'Command: modify faction'),(550,'Command: modify gender'),(551,'Command: modify honor'),(552,'Command: modify hp'),(553,'Command: modify mana'),(554,'Command: modify money'),(555,'Command: modify mount'),(556,'Command: modify phase'),(557,'Command: modify rage'),(558,'Command: modify reputation'),(559,'Command: modify runicpower'),(560,'Command: modify scale'),(561,'Command: modify speed'),(562,'Command: modify speed all'),(563,'Command: modify speed backwalk'),(564,'Command: modify speed fly'),(565,'Command: modify speed walk'),(566,'Command: modify speed swim'),(567,'Command: modify spell'),(568,'Command: modify standstate'),(569,'Command: modify talentpoints'),(570,'Command: npc'),(571,'Command: npc add'),(572,'Command: npc add formation'),(573,'Command: npc add item'),(574,'Command: npc add move'),(575,'Command: npc add temp'),(576,'Command: npc add delete'),(577,'Command: npc add delete item'),(578,'Command: npc add follow'),(579,'Command: npc add follow stop'),(580,'Command: npc set'),(581,'Command: npc set allowmove'),(582,'Command: npc set entry'),(583,'Command: npc set factionid'),(584,'Command: npc set flag'),(585,'Command: npc set level'),(586,'Command: npc set link'),(587,'Command: npc set model'),(588,'Command: npc set movetype'),(589,'Command: npc set phase'),(590,'Command: npc set spawndist'),(591,'Command: npc set spawntime'),(592,'Command: npc set data'),(593,'Command: npc info'),(594,'Command: npc near'),(595,'Command: npc move'),(596,'Command: npc playemote'),(597,'Command: npc say'),(598,'Command: npc textemote'),(599,'Command: npc whisper'),(600,'Command: npc yell'),(601,'Command: npc tame'),(602,'Command: quest'),(603,'Command: quest add'),(604,'Command: quest complete'),(605,'Command: quest remove'),(606,'Command: quest reward'),(607,'Command: reload'),(608,'Command: reload access_requirement'),(609,'Command: reload achievement_criteria_data'),(610,'Command: reload achievement_reward'),(611,'Command: reload all'),(612,'Command: reload all achievement'),(613,'Command: reload all area'),(614,'Command: reload all eventai'),(615,'Command: reload all gossips'),(616,'Command: reload all item'),(617,'Command: reload all locales'),(618,'Command: reload all loot'),(619,'Command: reload all npc'),(620,'Command: reload all quest'),(621,'Command: reload all scripts'),(622,'Command: reload all spell'),(623,'Command: reload areatrigger_involvedrelation'),(624,'Command: reload areatrigger_tavern'),(625,'Command: reload areatrigger_teleport'),(626,'Command: reload auctions'),(627,'Command: reload autobroadcast'),(628,'Command: reload command'),(629,'Command: reload conditions'),(630,'Command: reload config'),(631,'Command: reload creature_text'),(632,'Command: reload creature_ai_scripts'),(633,'Command: reload creature_ai_texts'),(634,'Command: reload creature_questender'),(635,'Command: reload creature_linked_respawn'),(636,'Command: reload creature_loot_template'),(637,'Command: reload creature_onkill_reputation'),(638,'Command: reload creature_queststarter'),(639,'Command: reload creature_summon_groups'),(640,'Command: reload creature_template'),(641,'Command: reload disables'),(642,'Command: reload disenchant_loot_template'),(643,'Command: reload event_scripts'),(644,'Command: reload fishing_loot_template'),(645,'Command: reload game_graveyard_zone'),(646,'Command: reload game_tele'),(647,'Command: reload gameobject_questender'),(648,'Command: reload gameobject_loot_template'),(649,'Command: reload gameobject_queststarter'),(650,'Command: reload gm_tickets'),(651,'Command: reload gossip_menu'),(652,'Command: reload gossip_menu_option'),(653,'Command: reload item_enchantment_template'),(654,'Command: reload item_loot_template'),(655,'Command: reload item_set_names'),(656,'Command: reload lfg_dungeon_rewards'),(657,'Command: reload locales_achievement_reward'),(658,'Command: reload locales_creature'),(659,'Command: reload locales_creature_text'),(660,'Command: reload locales_gameobject'),(661,'Command: reload locales_gossip_menu_option'),(662,'Command: reload locales_item'),(663,'Command: reload locales_item_set_name'),(664,'Command: reload locales_npc_text'),(665,'Command: reload locales_page_text'),(666,'Command: reload locales_points_of_interest'),(667,'Command: reload locales_quest'),(668,'Command: reload mail_level_reward'),(669,'Command: reload mail_loot_template'),(670,'Command: reload milling_loot_template'),(671,'Command: reload npc_spellclick_spells'),(672,'Command: reload npc_trainer'),(673,'Command: reload npc_vendor'),(674,'Command: reload page_text'),(675,'Command: reload pickpocketing_loot_template'),(676,'Command: reload points_of_interest'),(677,'Command: reload prospecting_loot_template'),(678,'Command: reload quest_poi'),(679,'Command: reload quest_template'),(680,'Command: reload rbac'),(681,'Command: reload reference_loot_template'),(682,'Command: reload reserved_name'),(683,'Command: reload reputation_reward_rate'),(684,'Command: reload reputation_spillover_template'),(685,'Command: reload skill_discovery_template'),(686,'Command: reload skill_extra_item_template'),(687,'Command: reload skill_fishing_base_level'),(688,'Command: reload skinning_loot_template'),(689,'Command: reload smart_scripts'),(690,'Command: reload spell_required'),(691,'Command: reload spell_area'),(692,'Command: reload spell_bonus_data'),(693,'Command: reload spell_group'),(694,'Command: reload spell_learn_spell'),(695,'Command: reload spell_loot_template'),(696,'Command: reload spell_linked_spell'),(697,'Command: reload spell_pet_auras'),(698,'Command: reload spell_proc_event'),(699,'Command: reload spell_proc'),(700,'Command: reload spell_scripts'),(701,'Command: reload spell_target_position'),(702,'Command: reload spell_threats'),(703,'Command: reload spell_group_stack_rules'),(704,'Command: reload trinity_string'),(705,'Command: reload warden_action'),(706,'Command: reload waypoint_scripts'),(707,'Command: reload waypoint_data'),(708,'Command: reload vehicle_accessory'),(709,'Command: reload vehicle_template_accessory'),(710,'Command: reset'),(711,'Command: reset achievements'),(712,'Command: reset honor'),(713,'Command: reset level'),(714,'Command: reset spells'),(715,'Command: reset stats'),(716,'Command: reset talents'),(717,'Command: reset all'),(718,'Command: server'),(719,'Command: server corpses'),(720,'Command: server exit'),(721,'Command: server idlerestart'),(722,'Command: server idlerestart cancel'),(723,'Command: server idleshutdown'),(724,'Command: server idleshutdown cancel'),(725,'Command: server info'),(726,'Command: server plimit'),(727,'Command: server restart'),(728,'Command: server restart cancel'),(729,'Command: server set'),(730,'Command: server set closed'),(731,'Command: server set difftime'),(732,'Command: server set loglevel'),(733,'Command: server set motd'),(734,'Command: server shutdown'),(735,'Command: server shutdown cancel'),(736,'Command: server motd'),(737,'Command: tele'),(738,'Command: tele add'),(739,'Command: tele del'),(740,'Command: tele name'),(741,'Command: tele group'),(742,'Command: ticket'),(743,'Command: ticket assign'),(744,'Command: ticket close'),(745,'Command: ticket closedlist'),(746,'Command: ticket comment'),(747,'Command: ticket complete'),(748,'Command: ticket delete'),(749,'Command: ticket escalate'),(750,'Command: ticket escalatedlist'),(751,'Command: ticket list'),(752,'Command: ticket onlinelist'),(753,'Command: ticket reset'),(754,'Command: ticket response'),(755,'Command: ticket response append'),(756,'Command: ticket response appendln'),(757,'Command: ticket togglesystem'),(758,'Command: ticket unassign'),(759,'Command: ticket viewid'),(760,'Command: ticket viewname'),(761,'Command: titles'),(762,'Command: titles add'),(763,'Command: titles current'),(764,'Command: titles remove'),(765,'Command: titles set'),(766,'Command: titles set mask'),(767,'Command: wp'),(768,'Command: wp add'),(769,'Command: wp event'),(770,'Command: wp load'),(771,'Command: wp modify'),(772,'Command: wp unload'),(773,'Command: wp reload'),(774,'Command: wp show');
/*!40000 ALTER TABLE `rbac_permissions` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/auth/2013_10_16_00_auth_misc.sql b/sql/updates/auth/2013_10_16_00_auth_misc.sql
new file mode 100644
index 00000000000..7b51d7a125f
--- /dev/null
+++ b/sql/updates/auth/2013_10_16_00_auth_misc.sql
@@ -0,0 +1,10 @@
+SET @id = 400;
+
+-- Add new permissions
+DELETE FROM `rbac_permissions` WHERE `id`=@id;
+INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
+(@id, 'debug transport');
+
+DELETE FROM `rbac_linked_permissions` WHERE `linkedId`=@id;
+INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES
+(196, @id);
diff --git a/sql/updates/world/2013_10_10_00_world_misc.sql b/sql/updates/world/2013_10_10_00_world_misc.sql
index e46668548b1..9dcae219b16 100644
--- a/sql/updates/world/2013_10_10_00_world_misc.sql
+++ b/sql/updates/world/2013_10_10_00_world_misc.sql
@@ -2,7 +2,7 @@ UPDATE `creature` SET `spawndist`=0 WHERE `guid`=142524;
UPDATE `smart_scripts` SET `event_param2`=100 WHERE `entryorguid`=16769 AND `source_type`=0 AND `id`=9;
UPDATE `smart_scripts` SET `action_param1`=55661 WHERE `entryorguid`=29872 AND `source_type`=0 AND `id`=1;
-UPDATE `smart_scripts` SET `action_param1`=55661 WHERE `entryorguid`=29895 AND `source_type`=0 AND `id`=3;
+UPDATE `smart_scripts` SET `action_param1`=55662 WHERE `entryorguid`=29895 AND `source_type`=0 AND `id`=3;
UPDATE `conditions` SET `SourceGroup`=10059 WHERE `SourceTypeOrReferenceId`=10 AND `SourceGroup`=10058 AND `SourceEntry`=51969;
-UPDATE `conditions` SET `SourceGroup`=10058 WHERE `SourceTypeOrReferenceId`=10 AND `SourceGroup`=10059 AND `SourceEntry`=51961; \ No newline at end of file
+UPDATE `conditions` SET `SourceGroup`=10058 WHERE `SourceTypeOrReferenceId`=10 AND `SourceGroup`=10059 AND `SourceEntry`=51961;
diff --git a/sql/updates/world/2013_10_10_01_world_update.sql b/sql/updates/world/2013_10_10_01_world_update.sql
new file mode 100644
index 00000000000..e6aaa90f07f
--- /dev/null
+++ b/sql/updates/world/2013_10_10_01_world_update.sql
@@ -0,0 +1 @@
+UPDATE `smart_scripts` SET `event_flags` = 1 WHERE `entryorguid` IN (16325,16326) AND `source_type` = 0 AND `id` = 0 AND `link` = 1;
diff --git a/sql/updates/world/2013_10_11_00_world_sai.sql b/sql/updates/world/2013_10_11_00_world_sai.sql
new file mode 100644
index 00000000000..ff3e9ccc9f3
--- /dev/null
+++ b/sql/updates/world/2013_10_11_00_world_sai.sql
@@ -0,0 +1,16 @@
+UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry` IN (18305,18306,18307);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (18305,18306,18307) 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
+(18305,0,0,0,8,0,100,0,32205,0,0,0,33,18305,0,0,0,0,0,7,0,0,0,0,0,0,0,'Burning Blade Pyre (01) - On Spell Hit (Place Maghar Battle Standard)- Give Quest Credit'),
+(18306,0,0,0,8,0,100,0,32205,0,0,0,33,18306,0,0,0,0,0,7,0,0,0,0,0,0,0,'Burning Blade Pyre (02) - On Spell Hit (Place Maghar Battle Standard)- Give Quest Credit'),
+(18307,0,0,0,8,0,100,0,32205,0,0,0,33,18307,0,0,0,0,0,7,0,0,0,0,0,0,0,'Burning Blade Pyre (03) - On Spell Hit (Place Maghar Battle Standard)- Give Quest Credit');
+
+UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry`=23439;
+DELETE FROM `smart_scripts` WHERE `entryorguid`= 23439 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
+(23439,0,0,1,38,0,100,0,1,1,0,0,45,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Hungry Nether Ray - On Data set - Set Data'),
+(23439,0,1,0,61,0,100,0,0,0,0,0,11,41427,0,0,0,0,0,23,0,0,0,0,0,0,0,'Hungry Nether Ray - Linked with Previous Event - Cast Lucille Feed Credit Trigger');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=23219 AND `id`=6;
+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
+(23219, 0, 6, 0, 6, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 9, 23439, 0, 50, 0, 0, 0, 0, 'Blackwind Warp Chaser - On Death - Set Data Hungry Nether Ray');
diff --git a/sql/updates/world/2013_10_12_00_world_sai.sql b/sql/updates/world/2013_10_12_00_world_sai.sql
new file mode 100644
index 00000000000..914fbba5f50
--- /dev/null
+++ b/sql/updates/world/2013_10_12_00_world_sai.sql
@@ -0,0 +1,74 @@
+-- Fix I've Got a Flying Machine
+-- Steel Gate Chief Archaeologist SAI & Text & Condition
+SET @ENTRY := 24399;
+SET @ENTRY1 := 24418;
+SET @ENTRY2 := 24439;
+SET @ENTRY3 := 24438;
+SET @STALKER := 105997;
+SET @MENUID := 8954;
+SET @OPTION := 0;
+
+DELETE FROM `creature_template_addon` WHERE `entry`=24418;
+INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(24418, 0, 0, 0, 0x1, 0x1, '43775 43889'); -- Steel Gate Flying Machine - Flight Drop Off Buff
+
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@ENTRY;
+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,1,62,0,100,0,@MENUID,@OPTION,0,0,11,45973,1,0,0,0,0,7,0,0,0,0,0,0,0, 'Steel Gate Chief Archaeologist - On gossip option select - Cast spell'),
+(@ENTRY,0,1,2,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Steel Gate Chief Archaeologist - On Link - Close gossip'),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,11,43767,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Steel Gate Chief Archaeologist - On Link - Cast Invoker'),
+(@ENTRY,0,3,4,19,0,100,0,11390,0,0,0,11,45973,1,0,0,0,0,7,0,0,0,0,0,0,0, 'Steel Gate Chief Archaeologist - On Quest Accept - Cast spell'),
+(@ENTRY,0,4,0,61,0,100,0,0,0,0,0,11,43767,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Steel Gate Chief Archaeologist - On Link - Cast Invoker'),
+(@ENTRY,0,5,6,19,0,100,0,11390,0,0,0,12,@ENTRY3,3,120000,0,0,0,8,0,0,0,1972.773,-3265.381,134.719,0, 'Steel Gate Chief Archaeologist - On Quest Accept - Summon Graple Target');
+
+DELETE FROM `spell_area` WHERE `spell`=43889;
+INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES
+(43889, 3999, 11390, 0, 0, 0, 2, 1, 8, 0);
+
+UPDATE `creature_template` SET `modelid1`=11686, `modelid2`=0, `AIName`= 'SmartAI', `type_flags`=1048576 WHERE `entry`=@ENTRY3;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY3;
+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
+(@ENTRY3,0,0,0,54,0,100,0,0,0,0,0,11,43890,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Grapple Target - Just Summoned - Cast Invisibility on self');
+
+DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`= @ENTRY1;
+INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES
+(@ENTRY1, 43768, 1, 0);
+
+-- Gossip conditions
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@MENUID AND `SourceEntry`=@OPTION;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(15,@MENUID,@OPTION,0,9,11390,0,0,0,'','Show gossip option 0 if player has quest I''ve got a Flying Machine');
+
+DELETE FROM `conditions` WHERE `SourceEntry`=@ENTRY1;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(16, 0, @ENTRY1, 0, 23, 3999, 0, 0, 0, '', 'Dismount player when not in intended zone');
+-- Condition for Grappling Hook spell(43770)
+DELETE FROM `conditions` WHERE `SourceEntry`=43770;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13, 1, 43770, 0, 31, 3, 24439, 0, 0, '', 'Spell 43770(Grappling Hook) targets npc 24439(Sack of Relics)');
+-- Spell Conditions
+DELETE FROM `conditions` WHERE `SourceEntry`IN (43891,43892,43789);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13, 1, 43892, 0, 31, 3, 24439, 0, 0, '', 'Spell 43892 targets npc 24439'),
+(13, 1, 43891, 0, 29, @ENTRY2, 1, 0, 0, '', 'Spell 43892 targets npc 24439'),
+(13, 1, 43789, 0, 31, 3, 24439, 0, 0, '', 'Spell 43892 targets npc 24439');
+
+-- Sack of Relics SAI
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY2 AND `source_type`=0;
+UPDATE `creature_template` SET AIName='SmartAI' WHERE entry=@ENTRY2;
+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
+(@ENTRY2,0,0,0,8,0,100,0,43770,0,0,0,11,46598,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Sack of Relics - On Link - Mount Sack to vehicle'),
+(@ENTRY2,0,1,2,8,0,100,1,43892,0,0,0,11,46598,0,0,0,0,0,10,105997,15214,0,0.0,0.0,0.0,0.0,' Sack of Relics - Remove Vehicle - In range'),
+(@ENTRY2,0,2,3,61,0,100,1,0,0,0,0,11,36553,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,'Sack of Relics - On Link - Cast pet stay(36553)'),
+(@ENTRY2,0,3,4,61,0,100,1,0,0,0,0,33,24439,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,'Sack of Relics - On Link - Quest Credit'),
+(@ENTRY2,0,4,0,61,0,100,1,0,0,0,0,41,10000,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,'Sack of Relics - On Link - Despawn');
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=43770;
+INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES
+(43770,43789,1,'Trigger grip beam');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=-@STALKER AND `source_type`=0;
+UPDATE `creature_template` SET AIName='SmartAI' WHERE entry=15214;
+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
+(-@STALKER,0,0,0,1,0,100,0,0,0,0,0,11,43892,0,0,0,0,0,11,@ENTRY2,10,0,0.0,0.0,0.0,0.0,'Invisible Stalker - OOC - Cast Spell');
diff --git a/sql/updates/world/2013_10_13_00_world_disable.sql b/sql/updates/world/2013_10_13_00_world_disable.sql
new file mode 100644
index 00000000000..1c062837397
--- /dev/null
+++ b/sql/updates/world/2013_10_13_00_world_disable.sql
@@ -0,0 +1,3 @@
+DELETE FROM `disables` WHERE `entry` =56940;
+INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES
+(0,56940,64,'','','Disable LOS check for Thorim Story Kill Credit');
diff --git a/sql/updates/world/2013_10_13_01_world_spelldifficulty_dbc.sql b/sql/updates/world/2013_10_13_01_world_spelldifficulty_dbc.sql
new file mode 100644
index 00000000000..4ebdf253422
--- /dev/null
+++ b/sql/updates/world/2013_10_13_01_world_spelldifficulty_dbc.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spelldifficulty_dbc` WHERE `id` = 55959;
+INSERT INTO `spelldifficulty_dbc` (`id`, `spellid0`, `spellid1`) VALUES
+(55959, 55959, 59513);
diff --git a/sql/updates/world/2013_10_16_00_world_misc.sql b/sql/updates/world/2013_10_16_00_world_misc.sql
new file mode 100644
index 00000000000..ee2e7795f98
--- /dev/null
+++ b/sql/updates/world/2013_10_16_00_world_misc.sql
@@ -0,0 +1,282 @@
+ALTER TABLE `transports` DROP `period`;
+
+DELETE FROM `command` WHERE `name` = 'debug transport';
+INSERT INTO `command` (`name`, `permission`, `help`) VALUES
+('debug transport', 400, 'Syntax: .debug transport [start/stop]\r\n\r\n Allows to stop a transport at its nearest wait point and start movement of a stopped one. Not all transports can be started or stopped.');
+
+DROP TABLE IF EXISTS `creature_transport`;
+
+SET @GUID := 142717;
+
+DELETE FROM `creature` WHERE `guid` BETWEEN @GUID+0 AND @GUID+269;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@GUID+0, 24456, 582, 1, 1, 29.5627, 0.150031, 16.6147, 3.18002, 120, 0, 0),
+(@GUID+1, 24993, 582, 1, 1, 13.1874, 7.71381, 6.07001, 3.09834, 120, 0, 0),
+(@GUID+2, 24995, 582, 1, 1, 13.3456, -7.63689, 6.09325, 3.06064, 120, 0, 0),
+(@GUID+3, 24996, 582, 1, 1, -0.258897, -7.62734, 4.80823, 5.66423, 120, 0, 0),
+(@GUID+4, 24997, 582, 1, 1, -0.416482, 4.39825, 4.79739, 5.10346, 120, 0, 0),
+(@GUID+5, 25007, 582, 1, 1, 21.2462, 1.87803, 11.7334, 3.19572, 120, 0, 0),
+(@GUID+6, 25050, 586, 1, 1, 29.8662, -0.374622, 16.6206, 3.09382, 120, 0, 0),
+(@GUID+7, 25051, 586, 1, 1, 13.4899, -7.71638, 6.11067, 3.11424, 120, 0, 0),
+(@GUID+8, 25052, 586, 1, 1, 13.5093, 7.8287, 6.11039, 3.12838, 120, 0, 0),
+(@GUID+9, 25054, 586, 1, 1, -21.8863, -2.61623, 4.33103, 6.14509, 120, 0, 0),
+(@GUID+10, 25055, 586, 1, 1, -21.4646, 2.87105, 4.31055, 6.26055, 120, 0, 0),
+(@GUID+11, 25056, 586, 1, 1, 20.3045, 1.2971, 11.7088, 3.06319, 120, 0, 0),
+(@GUID+12, 3681, 587, 1, 1, -38.6477, -0.071194, 6.08577, 0.0698132, 120, 0, 0),
+(@GUID+13, 3681, 587, 1, 1, 29.5623, 0.119925, 24.4539, 0.0872665, 120, 0, 0),
+(@GUID+14, 25019, 587, 1, 1, 12.805, -7.60196, 6.10507, 2.9147, 120, 0, 0),
+(@GUID+15, 25020, 587, 1, 1, 12.9539, 7.33394, 6.13112, 3.28122, 120, 0, 0),
+(@GUID+16, 25021, 587, 1, 1, -21.4174, -2.8336, 4.39169, 6.24828, 120, 0, 0),
+(@GUID+17, 25022, 587, 1, 1, 20.8633, -1.28591, 11.809, 2.94961, 120, 0, 0),
+(@GUID+18, 25023, 587, 1, 1, -36.7691, 0.169367, 5.97592, 3.1765, 120, 0, 0),
+(@GUID+19, 25024, 587, 1, 1, -21.6595, 3.22012, 4.40273, 0.139626, 120, 0, 0),
+(@GUID+20, 25025, 587, 1, 1, 31.131, -0.454317, 16.7328, 2.96706, 120, 0, 0),
+(@GUID+21, 25009, 588, 1, 1, 25.2165, 6.9111, 16.1459, 3.94958, 120, 0, 0),
+(@GUID+22, 25010, 588, 1, 1, 13.2057, -2.817, 6.09989, 3.88733, 120, 0, 0),
+(@GUID+23, 25011, 588, 1, 1, 19.2178, -8.20848, 12.1102, 4.81518, 120, 0, 0),
+(@GUID+24, 25012, 588, 1, 1, 18.1475, -7.41572, 6.09809, 1.88535, 120, 0, 0),
+(@GUID+25, 25013, 588, 1, 1, 0.194107, 9.84585, 6.09941, 3.08731, 120, 0, 0),
+(@GUID+26, 25014, 588, 1, 1, -0.532552, -8.68575, 6.09815, 3.19019, 120, 0, 0),
+(@GUID+27, 25015, 588, 1, 1, 34.0669, 0.119702, 18.287, 3.17832, 120, 0, 0),
+(@GUID+28, 25016, 588, 1, 1, -11.1276, 6.60326, 6.09852, 3.05167, 120, 0, 0),
+(@GUID+29, 25017, 588, 1, 1, 6.22581, 9.13103, 11.4836, 1.53614, 120, 0, 0),
+(@GUID+30, 25018, 588, 1, 1, 10.2474, 2.78122, 11.803, 3.46823, 120, 0, 0),
+(@GUID+31, 24924, 589, 1, 1, -1.2076, -9.94886, -23.6749, 0.15708, 120, 0, 0),
+(@GUID+32, 24926, 589, 1, 1, -10.3057, -12.1052, -16.9691, 5.92724, 120, 0, 0),
+(@GUID+33, 24927, 589, 1, 1, -1.87417, -7.84711, -23.6872, 3.38594, 120, 0, 0),
+(@GUID+34, 24929, 589, 1, 1, 9.08301, -4.96411, -23.5921, 1.59406, 120, 0, 0),
+(@GUID+35, 24930, 589, 1, 1, -17.0083, -7.87488, -15.1878, 3.14159, 120, 0, 0),
+(@GUID+36, 24931, 589, 1, 1, 7.88492, -11.1513, -17.7623, 4.90483, 120, 0, 0),
+(@GUID+37, 24934, 589, 1, 1, 9.20919, -3.50392, -23.5121, 3.12414, 120, 0, 0),
+(@GUID+38, 24935, 589, 1, 1, 9.55492, -12.0229, -23.5059, 3.12414, 120, 0, 0),
+(@GUID+39, 25075, 589, 1, 1, -2.70556, -7.84588, -23.6967, 0.0349066, 120, 0, 0),
+(@GUID+40, 25080, 589, 1, 1, -4.91002, -4.74236, -17.6153, 1.6057, 120, 0, 0),
+(@GUID+41, 25081, 589, 1, 1, -4.93939, -10.8049, -17.6109, 4.71239, 120, 0, 0),
+(@GUID+42, 24934, 590, 1, 1, 9.63549, -3.67192, -23.588, 6.25904, 120, 0, 0),
+(@GUID+43, 24935, 590, 1, 1, 9.79838, -11.8681, -23.5848, 6.25118, 120, 0, 0),
+(@GUID+44, 25075, 590, 1, 1, -3.59133, -7.84061, -23.7802, 6.1969, 120, 0, 0),
+(@GUID+45, 25100, 590, 1, 1, -0.411733, -5.7239, -23.7457, 3.70414, 120, 0, 0),
+(@GUID+46, 25101, 590, 1, 1, 7.56919, -4.02088, -17.7543, 4.77071, 120, 0, 0),
+(@GUID+47, 25102, 590, 1, 1, -11.0882, -3.47446, -16.7988, 2.00924, 120, 0, 0),
+(@GUID+48, 25103, 590, 1, 1, 7.59398, -11.5166, -17.7745, 1.62204, 120, 0, 0),
+(@GUID+49, 25104, 590, 1, 1, -0.898213, -7.76559, -23.7548, 3.11116, 120, 0, 0),
+(@GUID+50, 25105, 590, 1, 1, -9.54405, -7.94072, -17.2053, 3.17242, 120, 0, 0),
+(@GUID+51, 25106, 590, 1, 1, -4.93938, -10.9634, -17.6988, 4.76285, 120, 0, 0),
+(@GUID+52, 25107, 590, 1, 1, -4.98215, -4.67863, -17.696, 1.59455, 120, 0, 0),
+(@GUID+53, 15214, 591, 1, 1, 7.0053, -7.64791, -16.1126, 2.89725, 120, 0, 0),
+(@GUID+54, 24934, 591, 1, 1, -4.5165, -13.1125, -22.5947, 1.53589, 120, 0, 0),
+(@GUID+55, 24935, 591, 1, 1, -6.37827, -13.1838, -22.5939, 4.71239, 120, 0, 0),
+(@GUID+56, 25070, 591, 1, 1, -9.40787, -8.02398, -17.1578, 3.1765, 120, 0, 0),
+(@GUID+57, 25071, 591, 1, 1, 7.24887, -5.48033, -17.6859, 4.81711, 120, 0, 0),
+(@GUID+58, 25072, 591, 1, 1, 8.00807, -10.7134, -17.6737, 1.16937, 120, 0, 0),
+(@GUID+59, 25074, 591, 1, 1, 5.02375, -7.69781, -17.7888, 5.98648, 120, 0, 0),
+(@GUID+60, 25075, 591, 1, 1, -4.16189, -7.68752, -23.6975, 0, 120, 0, 0),
+(@GUID+61, 25075, 591, 1, 1, 4.36215, -2.25417, -23.59, 4.71239, 120, 0, 0),
+(@GUID+62, 25075, 591, 1, 1, -3.31418, -6.12881, -23.6984, 4.67748, 120, 0, 0),
+(@GUID+63, 25075, 591, 1, 1, 4.48208, -13.4008, -23.59, 1.62316, 120, 0, 0),
+(@GUID+64, 25075, 591, 1, 1, -3.30777, -9.47416, -23.6959, 1.55334, 120, 0, 0),
+(@GUID+65, 25075, 591, 1, 1, 10.7034, -3.50542, -23.49, 3.24631, 120, 0, 0),
+(@GUID+66, 25075, 591, 1, 1, -8.87581, -11.4028, -22.5883, 6.24828, 120, 0, 0),
+(@GUID+67, 25075, 591, 1, 1, 10.8261, -12.1854, -23.4895, 3.1765, 120, 0, 0),
+(@GUID+68, 25075, 591, 1, 1, 11.7436, -10.4452, -24.2189, 6.16101, 120, 0, 0),
+(@GUID+69, 25076, 591, 1, 1, -2.72723, -7.77286, -23.6968, 1.55334, 120, 0, 0),
+(@GUID+70, 25077, 591, 1, 1, -19.6886, -8.17058, -14.3765, 3.1765, 120, 0, 0),
+(@GUID+71, 25079, 591, 1, 1, -5.1094, -11.1466, -17.606, 4.4855, 120, 0, 0),
+(@GUID+72, 25083, 591, 1, 1, -5.2125, -4.92702, -17.5966, 1.43117, 120, 0, 0),
+(@GUID+73, 25171, 591, 1, 1, -8.70329, -11.4079, -22.5887, 0.0349066, 120, 0, 0),
+(@GUID+74, 25078, 593, 1, 1, 34.095, 3.54049, 17.8892, 5.50987, 120, 0, 0),
+(@GUID+75, 25082, 593, 1, 1, 15.6121, 1.09944, 6.09764, 2.52482, 120, 0, 0),
+(@GUID+76, 25089, 593, 1, 1, 17.8437, -7.84575, 6.09877, 1.64493, 120, 0, 0),
+(@GUID+77, 25093, 593, 1, 1, 15.8067, -5.80051, 11.9732, 1.86484, 120, 0, 0),
+(@GUID+78, 25094, 593, 1, 1, 34.0585, -0.04162, 18.2865, 3.17017, 120, 0, 0),
+(@GUID+79, 25095, 593, 1, 1, 9.39981, 9.17899, 11.5941, 1.52083, 120, 0, 0),
+(@GUID+80, 25097, 593, 1, 1, -11.4014, 6.67999, 6.09785, 2.93715, 120, 0, 0),
+(@GUID+81, 25111, 593, 1, 1, 6.20811, 0.005208, 14.0554, 2.54813, 120, 0, 0),
+(@GUID+82, 24910, 594, 1, 1, 34.6962, -0.27625, 20.9157, 3.44936, 120, 0, 0),
+(@GUID+83, 24911, 594, 1, 1, -3.08712, 11.1947, 8.6042, 1.59543, 120, 0, 0),
+(@GUID+84, 24911, 594, 1, 1, -3.00336, -1.39497, 8.72655, 0.455023, 120, 0, 0),
+(@GUID+85, 24911, 594, 1, 1, 29.079, 6.02911, 19.504, 1.29931, 120, 0, 0),
+(@GUID+86, 24911, 594, 1, 1, -11.92, 6.82298, 8.72743, 2.64628, 120, 0, 0),
+(@GUID+87, 24911, 594, 1, 1, 19.1465, -9.70741, 14.7601, 4.79434, 120, 0, 0),
+(@GUID+88, 24911, 594, 1, 1, 5.55254, 10.6903, 14.0795, 1.41713, 120, 0, 0),
+(@GUID+89, 24911, 594, 1, 1, 5.53691, -10.9158, 14.0808, 4.59956, 120, 0, 0),
+(@GUID+90, 24911, 594, 1, 1, 19.1591, 9.74589, 14.7625, 1.55457, 120, 0, 0),
+(@GUID+91, 24911, 594, 1, 1, -10.8992, 6.36276, 20.589, 1.29146, 120, 0, 0),
+(@GUID+92, 24911, 594, 1, 1, -1.47544, 9.97225, 8.72811, 1.47291, 120, 0, 0),
+(@GUID+93, 24911, 594, 1, 1, -15.0531, 6.78103, 21.0344, 1.54279, 120, 0, 0),
+(@GUID+94, 24911, 594, 1, 1, 0.568386, 10.818, 8.68709, 1.24593, 120, 0, 0),
+(@GUID+95, 24911, 594, 1, 1, -16.544, 7.01147, 21.3668, 1.52708, 120, 0, 0),
+(@GUID+96, 24992, 594, 1, 1, -13.669, 5.23144, 19.2894, 1.4721, 120, 0, 0),
+(@GUID+97, 25026, 594, 1, 1, 5.50506, 5.17797, 1.39596, 1.53711, 120, 0, 0),
+(@GUID+98, 25026, 594, 1, 1, -3.34169, -4.92735, 1.39595, 4.70933, 120, 0, 0),
+(@GUID+99, 25026, 594, 1, 1, -2.64281, 5.46732, 1.39595, 0.520802, 120, 0, 0),
+(@GUID+100, 25026, 594, 1, 1, 6.52141, 0.490373, 1.39693, 6.00288, 120, 0, 0),
+(@GUID+101, 25026, 594, 1, 1, 23.0708, -2.7187, 1.39595, 5.37378, 120, 0, 0),
+(@GUID+102, 25026, 594, 1, 1, 15.3122, 6.40496, 1.39596, 4.24673, 120, 0, 0),
+(@GUID+103, 25026, 594, 1, 1, 24.9381, 4.10155, 1.44058, 1.07922, 120, 0, 0),
+(@GUID+104, 25026, 594, 1, 1, 14.4097, -6.40611, 1.39596, 1.86383, 120, 0, 0),
+(@GUID+105, 25026, 594, 1, 1, 5.51407, -5.26758, 1.39596, 4.38889, 120, 0, 0),
+(@GUID+106, 25075, 610, 1, 1, 4.36215, -2.25417, -23.59, 4.71239, 120, 0, 0),
+(@GUID+107, 31704, 610, 1, 1, 5.21605, -2.36685, -17.8223, 1.04622, 120, 0, 0),
+(@GUID+108, 31705, 610, 1, 1, 5.07824, -13.1188, -17.8135, 5.24182, 120, 0, 0),
+(@GUID+109, 31706, 610, 1, 1, -16.8964, -10.8497, -15.9745, 4.64346, 120, 0, 0),
+(@GUID+110, 31708, 610, 1, 1, -2.74581, -1.47146, -17.7765, 4.67712, 120, 0, 0),
+(@GUID+111, 31715, 610, 1, 1, -3.54276, -13.8752, -17.684, 1.53946, 120, 0, 0),
+(@GUID+112, 31716, 610, 1, 1, 11.5731, -7.65137, -16.6839, 3.20372, 120, 0, 0),
+(@GUID+113, 31759, 612, 1, 1, -9.17065, -9.22241, 9.44523, 4.33964, 120, 0, 0),
+(@GUID+114, 31760, 612, 1, 1, -24.342, -1.4956, 11.7907, 4.53119, 120, 0, 0),
+(@GUID+115, 31761, 612, 1, 1, 17.25, 3.98267, 9.8274, 1.12707, 120, 0, 0),
+(@GUID+116, 31762, 612, 1, 1, 34.0835, -0.002845, 19.7971, 3.12414, 120, 0, 0),
+(@GUID+117, 31763, 612, 1, 1, 30.1151, -5.08848, 19.3282, 3.08923, 120, 0, 0),
+(@GUID+118, 31764, 612, 1, 1, 26.0707, 2.05775, 19.328, 3.00197, 120, 0, 0),
+(@GUID+119, 25075, 613, 1, 1, 9.44542, -7.84947, -16.6006, 0.0523599, 120, 0, 0),
+(@GUID+120, 31720, 613, 1, 1, -16.5685, -5.08333, -15.9421, 1.98968, 120, 0, 0),
+(@GUID+121, 31723, 613, 1, 1, -10.7552, -12.8129, -16.7745, 4.53786, 120, 0, 0),
+(@GUID+122, 31724, 613, 1, 1, 5.77627, -2.00469, -17.7218, 1.64061, 120, 0, 0),
+(@GUID+123, 31725, 613, 1, 1, 10.6984, -7.82192, -16.6006, 3.28122, 120, 0, 0),
+(@GUID+124, 31726, 613, 1, 1, -3.45307, -13.7896, -17.6111, 1.16964, 120, 0, 0),
+(@GUID+125, 31727, 613, 1, 1, -3.38308, -1.91393, -17.6198, 5.47991, 120, 0, 0),
+(@GUID+126, 31788, 614, 1, 1, 27.5951, -2.34424, 19.3281, 3.22886, 120, 0, 0),
+(@GUID+127, 31789, 614, 1, 1, 28.0998, 5.9939, 19.328, 3.64774, 120, 0, 0),
+(@GUID+128, 31790, 614, 1, 1, 34.2236, 0.067648, 19.7627, 3.07178, 120, 0, 0),
+(@GUID+129, 31791, 614, 1, 1, 0.919363, 8.75723, 9.43661, 1.25664, 120, 0, 0),
+(@GUID+130, 31792, 614, 1, 1, -4.76611, 0.0998535, 9.36669, 4.83456, 120, 0, 0),
+(@GUID+131, 31793, 614, 1, 1, 17.146, -3.92139, 9.81305, 5.49708, 120, 0, 0),
+(@GUID+132, 29795, 622, 1, 1, 45.6197, 7.29317, 30.0955, 4.67642, 120, 0, 0),
+(@GUID+133, 30752, 622, 1, 1, 15.4321, 28.6642, 9.92277, 1.54012, 120, 0, 0),
+(@GUID+134, 30752, 622, 1, 1, 2.01988, 28.7211, 9.33565, 1.58332, 120, 0, 0),
+(@GUID+135, 30752, 622, 1, 1, -11.241, 28.5576, 9.91826, 1.5519, 120, 0, 0),
+(@GUID+136, 30752, 622, 1, 1, 8.25547, -21.6199, 34.8875, 1.73515, 120, 0, 0),
+(@GUID+137, 30752, 622, 1, 1, 7.30473, 24.2619, 34.9491, 4.43536, 120, 0, 0),
+(@GUID+138, 30753, 622, 1, 1, -26.8391, -10.402, 35.5991, 1.29366, 120, 0, 0),
+(@GUID+139, 30753, 622, 1, 1, 2.15579, 17.0338, 9.16353, 1.54405, 120, 0, 0),
+(@GUID+140, 30753, 622, 1, 1, -7.63407, 0.007234, 86.0904, 6.2728, 120, 0, 0),
+(@GUID+141, 30753, 622, 1, 1, 46.382, 7.89944, 10.4129, 3.96271, 120, 0, 0),
+(@GUID+142, 30753, 622, 1, 1, 45.981, -6.55312, 10.3636, 2.23091, 120, 0, 0),
+(@GUID+143, 30753, 622, 1, 1, 15.254, -0.009458, 86.0904, 3.14299, 120, 0, 0),
+(@GUID+144, 30753, 622, 1, 1, -34.939, -11.6484, 11.4697, 5.50858, 120, 0, 0),
+(@GUID+145, 30753, 622, 1, 1, -34.785, 11.9312, 11.4869, 0.836243, 120, 0, 0),
+(@GUID+146, 30753, 622, 1, 1, -26.9812, 10.5208, 35.5936, 4.74156, 120, 0, 0),
+(@GUID+147, 30753, 622, 1, 1, 1.98831, -18.0873, 9.16057, 4.66993, 120, 0, 0),
+(@GUID+148, 30754, 622, 1, 1, -19.0109, 27.0177, 89.9667, 6.22411, 120, 0, 0),
+(@GUID+149, 30754, 622, 1, 1, -54.639, -15.3254, 34.3972, 3.83128, 120, 0, 0),
+(@GUID+150, 30754, 622, 1, 1, -54.7182, 15.5861, 34.3897, 2.50086, 120, 0, 0),
+(@GUID+151, 30754, 622, 1, 1, -18.9215, -26.8371, 89.9664, 0.087792, 120, 0, 0),
+(@GUID+152, 30755, 622, 1, 1, -3.46042, 28.0231, 34.2784, 4.66548, 120, 0, 0),
+(@GUID+153, 30755, 622, 1, 1, 7.21494, -6.31021, 34.4191, 3.11118, 120, 0, 0),
+(@GUID+154, 30755, 622, 1, 1, 24.5852, 6.86575, 7.06382, 3.11055, 120, 0, 0),
+(@GUID+155, 30755, 622, 1, 1, 8.85995, 18.8224, 8.7027, 4.69035, 120, 0, 0),
+(@GUID+156, 30755, 622, 1, 1, 24.3302, -6.97827, 7.08356, 3.34184, 120, 0, 0),
+(@GUID+157, 30755, 622, 1, 1, -4.43012, 18.742, 8.62646, 4.66286, 120, 0, 0),
+(@GUID+158, 30755, 622, 1, 1, -5.59682, -28.2501, 34.1226, 1.55058, 120, 0, 0),
+(@GUID+159, 30755, 622, 1, 1, -4.46811, -18.5567, 8.62604, 1.53698, 120, 0, 0),
+(@GUID+160, 30755, 622, 1, 1, 29.8693, -29.5825, 89.7663, 3.05267, 120, 0, 0),
+(@GUID+161, 30755, 622, 1, 1, 8.83021, -4.6978, 84.7137, 2.34582, 120, 0, 0),
+(@GUID+162, 30755, 622, 1, 1, 37.6428, -9.00797, 30.0954, 0.004917, 120, 0, 0),
+(@GUID+163, 30755, 622, 1, 1, -26.188, -6.1712, 9.33333, 3.14217, 120, 0, 0),
+(@GUID+164, 30755, 622, 1, 1, 9.06884, -18.7113, 8.70787, 1.56054, 120, 0, 0),
+(@GUID+165, 30755, 622, 1, 1, 8.67689, 4.88796, 84.7137, 3.90012, 120, 0, 0),
+(@GUID+166, 30755, 622, 1, 1, 7.49121, 6.05275, 34.4239, 3.16615, 120, 0, 0),
+(@GUID+167, 30755, 622, 1, 1, 37.6401, 8.9586, 30.0954, 0.012771, 120, 0, 0),
+(@GUID+168, 30755, 622, 1, 1, -26.1511, 6.90449, 9.405, 3.12647, 120, 0, 0),
+(@GUID+169, 30755, 622, 1, 1, 29.4588, 29.8761, 89.7684, 3.15321, 120, 0, 0),
+(@GUID+170, 30824, 622, 1, 1, 55.5028, 0.080449, 30.5268, 3.15669, 120, 0, 0),
+(@GUID+171, 30825, 622, 1, 1, 38.4745, 0.038424, 10.1868, 3.15788, 120, 0, 0),
+(@GUID+172, 30826, 622, 1, 1, 55.0542, -3.74557, 30.0955, 2.77577, 120, 0, 0),
+(@GUID+173, 30827, 622, 1, 1, 45.884, -8.99976, 30.0955, 1.52942, 120, 0, 0),
+(@GUID+174, 30866, 622, 1, 1, -36.528, 23.9373, 33.9184, 1.89617, 120, 0, 0),
+(@GUID+175, 30866, 622, 1, 1, 15.9225, 26.2539, 35.4586, 1.60085, 120, 0, 0),
+(@GUID+176, 30866, 622, 1, 1, -36.1494, -23.2606, 33.9568, 4.2232, 120, 0, 0),
+(@GUID+177, 30866, 622, 1, 1, 17.7216, -26.2695, 35.5686, 5.06367, 120, 0, 0),
+(@GUID+178, 31243, 622, 1, 1, -11.2408, 33.2155, 10.5949, 1.58668, 120, 0, 0),
+(@GUID+179, 31243, 622, 1, 1, 1.99373, 33.0756, 10.0105, 1.53853, 120, 0, 0),
+(@GUID+180, 31243, 622, 1, 1, 15.239, 32.5832, 10.5826, 1.52441, 120, 0, 0),
+(@GUID+181, 31243, 622, 1, 1, 15.2483, -33.3678, 10.5837, 4.72649, 120, 0, 0),
+(@GUID+182, 31243, 622, 1, 1, 1.91814, -32.9286, 10.0097, 4.6891, 120, 0, 0),
+(@GUID+183, 31243, 622, 1, 1, -11.0915, -32.8872, 10.5819, 4.68507, 120, 0, 0),
+(@GUID+184, 31261, 622, 1, 1, -24.084, -22.2178, 24.3778, 1.43738, 120, 0, 0),
+(@GUID+185, 32301, 622, 1, 1, -3.37706, 0.007499, 34.0151, 4.65055, 120, 0, 0),
+(@GUID+186, 29799, 623, 1, 1, 34.5332, -38.5618, 25.0323, 3.15234, 120, 0, 0),
+(@GUID+187, 30344, 623, 1, 1, 43.6738, 0.121325, 25.1341, 3.10227, 120, 0, 0),
+(@GUID+188, 30345, 623, 1, 1, -48.0654, -0.185737, -4.98898, 3.11436, 120, 0, 0),
+(@GUID+189, 30346, 623, 1, 1, 25.0778, -0.047958, 9.59893, 3.13291, 120, 0, 0),
+(@GUID+190, 30347, 623, 1, 1, 28.6378, -7.55243, 23.2873, 0.157027, 120, 0, 0),
+(@GUID+191, 30350, 623, 1, 1, 16.4056, -2.2827, 20.4235, 3.11453, 120, 0, 0),
+(@GUID+192, 30351, 623, 1, 1, 2.42088, -23.0053, 22.5625, 0.046087, 120, 0, 0),
+(@GUID+193, 30351, 623, 1, 1, 1.29162, -9.37181, 20.458, 3.17295, 120, 0, 0),
+(@GUID+194, 30351, 623, 1, 1, 0.773476, 22.5004, 22.5503, 3.2248, 120, 0, 0),
+(@GUID+195, 30351, 623, 1, 1, 39.976, 44.3876, 25.0331, 3.16019, 120, 0, 0),
+(@GUID+196, 30351, 623, 1, 1, -36.4471, 6.81573, 20.4485, 4.73177, 120, 0, 0),
+(@GUID+197, 30351, 623, 1, 1, -36.1811, -6.90251, 20.4501, 1.6483, 120, 0, 0),
+(@GUID+198, 30351, 623, 1, 1, 1.44228, 9.63379, 20.4566, 3.15096, 120, 0, 0),
+(@GUID+199, 30352, 623, 1, 1, 48.8649, -8.72834, 40.0818, 3.12642, 120, 0, 0),
+(@GUID+200, 30352, 623, 1, 1, -17.337, 3.98796, 20.7652, 3.1541, 120, 0, 0),
+(@GUID+201, 30352, 623, 1, 1, 16.5684, 2.46962, 20.4252, 3.1329, 120, 0, 0),
+(@GUID+202, 30352, 623, 1, 1, 43.7981, 13.0009, -2.07474, 4.61776, 120, 0, 0),
+(@GUID+203, 30352, 623, 1, 1, -67.4841, 3.50927, 9.60209, 5.83577, 120, 0, 0),
+(@GUID+204, 30352, 623, 1, 1, -17.2379, -3.94242, 20.7667, 3.1541, 120, 0, 0),
+(@GUID+205, 30352, 623, 1, 1, -67.1723, -3.73439, 9.60211, 0.318344, 120, 0, 0),
+(@GUID+206, 30352, 623, 1, 1, 36.4909, 6.11523, 9.60666, 3.01117, 120, 0, 0),
+(@GUID+207, 30352, 623, 1, 1, -49.1048, 0.044213, 20.6694, 0.029782, 120, 0, 0),
+(@GUID+208, 30352, 623, 1, 1, 36.436, -6.06257, 9.60687, 3.09364, 120, 0, 0),
+(@GUID+209, 30352, 623, 1, 1, 48.8813, 8.78624, 40.0817, 3.1426, 120, 0, 0),
+(@GUID+210, 30352, 623, 1, 1, -60.5592, 0.055898, -5.27774, 0.004184, 120, 0, 0),
+(@GUID+211, 30380, 623, 1, 1, -6.13984, 21.6533, 9.991, 1.48436, 120, 0, 0),
+(@GUID+212, 30380, 623, 1, 1, 3.99105, -21.2539, 9.67311, 4.9577, 120, 0, 0),
+(@GUID+213, 30380, 623, 1, 1, -41.0289, 25.7685, 1.20385, 1.49696, 120, 0, 0),
+(@GUID+214, 30380, 623, 1, 1, -17.4619, 22.2092, 9.60018, 1.58254, 120, 0, 0),
+(@GUID+215, 30380, 623, 1, 1, -8.79147, 30.0334, -0.157799, 0.471494, 120, 0, 0),
+(@GUID+216, 30380, 623, 1, 1, -26.5726, 29.6008, -0.15773, 0.856857, 120, 0, 0),
+(@GUID+217, 30380, 623, 1, 1, 45.5093, 6.67955, 30.1788, 5.44543, 120, 0, 0),
+(@GUID+218, 30380, 623, 1, 1, 1.92073, 28.7498, 0.101361, 0.232732, 120, 0, 0),
+(@GUID+219, 30380, 623, 1, 1, -37.3836, 19.9617, 9.59771, 1.87549, 120, 0, 0),
+(@GUID+220, 30380, 623, 1, 1, -37.1975, -20.2765, 9.65711, 4.32467, 120, 0, 0),
+(@GUID+221, 30380, 623, 1, 1, -7.54172, -30.0747, 0.101348, 4.17752, 120, 0, 0),
+(@GUID+222, 30380, 623, 1, 1, -30.1731, -21.9358, 9.59686, 4.72914, 120, 0, 0),
+(@GUID+223, 30380, 623, 1, 1, 3.45962, -28.1289, 0.101388, 4.29376, 120, 0, 0),
+(@GUID+224, 30380, 623, 1, 1, -18.0212, -22.0926, 9.60068, 4.66788, 120, 0, 0),
+(@GUID+225, 30380, 623, 1, 1, -24.7068, -29.9771, 0.101334, 3.66623, 120, 0, 0),
+(@GUID+226, 30380, 623, 1, 1, 3.92454, 20.827, 9.67354, 1.30372, 120, 0, 0),
+(@GUID+227, 30380, 623, 1, 1, -6.33308, -21.7722, 9.99575, 4.85167, 120, 0, 0),
+(@GUID+228, 30380, 623, 1, 1, -39.6946, -26.8419, 0.82802, 2.93659, 120, 0, 0),
+(@GUID+229, 30392, 623, 1, 1, 28.7566, 7.6217, 23.2872, 6.08285, 120, 0, 0),
+(@GUID+230, 30394, 623, 1, 1, -14.1505, 23.0373, -5.24869, 0.027745, 120, 0, 0),
+(@GUID+231, 30394, 623, 1, 1, -11.7295, -24.7904, 9.58663, 1.63703, 120, 0, 0),
+(@GUID+232, 30394, 623, 1, 1, -11.9688, 25.5424, 9.58513, 4.66945, 120, 0, 0),
+(@GUID+233, 30394, 623, 1, 1, -57.9337, 6.01148, 23.5029, 1.54855, 120, 0, 0),
+(@GUID+234, 30394, 623, 1, 1, -14.3898, -23.2398, -5.25039, 6.16013, 120, 0, 0),
+(@GUID+235, 30394, 623, 1, 1, -48.1449, -3.10366, -5.21617, 3.11436, 120, 0, 0),
+(@GUID+236, 30833, 623, 1, 1, 6.18656, -0.008156, 20.5756, 6.28313, 120, 0, 0),
+(@GUID+237, 30867, 623, 1, 1, -11.0475, -22.7053, 22.5096, 4.51265, 120, 0, 0),
+(@GUID+238, 30867, 623, 1, 1, -32.9158, -22.1469, 22.5861, 4.59982, 120, 0, 0),
+(@GUID+239, 30867, 623, 1, 1, -10.0824, 23.2226, 22.5129, 1.54405, 120, 0, 0),
+(@GUID+240, 30867, 623, 1, 1, 36.8757, 45.226, 25.0331, 2.16509, 120, 0, 0),
+(@GUID+241, 30867, 623, 1, 1, -33.4747, 22.2096, 22.5895, 1.56211, 120, 0, 0),
+(@GUID+242, 30867, 623, 1, 1, 36.9277, -44.9241, 25.0318, 4.11052, 120, 0, 0),
+(@GUID+243, 31259, 623, 1, 1, 16.8761, -17.8635, 20.4597, 2.02864, 120, 0, 0),
+(@GUID+244, 32193, 623, 1, 1, -21.6978, 0.127903, -18.1897, 3.12341, 120, 0, 0),
+(@GUID+245, 32302, 623, 1, 1, 54.6648, -6.9431, 40.0874, 3.0302, 120, 0, 0),
+(@GUID+246, 32566, 623, 1, 1, 34.6465, -41.7087, 25.0325, 3.20731, 120, 0, 0),
+(@GUID+247, 32777, 623, 1, 1, 42.9517, 4.20903, 25.1088, 3.47298, 120, 0, 0),
+(@GUID+248, 34929, 641, 1, 1, -31.0354, 25.1286, 21.6921, 1.60659, 120, 0, 0),
+(@GUID+249, 34929, 641, 1, 1, -21.4492, 25.8326, 21.6309, 1.60659, 120, 0, 0),
+(@GUID+250, 34929, 641, 1, 1, -12.4734, 26.321, 21.6237, 1.60659, 120, 0, 0),
+(@GUID+251, 34929, 641, 1, 1, -2.81125, 26.2077, 21.6566, 1.60659, 120, 0, 0),
+(@GUID+252, 34929, 641, 1, 1, -41.7122, 23.1838, 22.5605, 1.60659, 120, 0, 0),
+(@GUID+253, 34935, 642, 1, 1, -21.401, -31.343, 34.173, 4.62057, 120, 0, 0),
+(@GUID+254, 34935, 642, 1, 1, -12.1064, -31.9697, 34.3807, 4.62057, 120, 0, 0),
+(@GUID+255, 34935, 642, 1, 1, -2.4877, -31.9885, 34.8384, 4.62057, 120, 0, 0),
+(@GUID+256, 34935, 642, 1, 1, 10.2664, -32.0713, 35.7357, 4.62057, 120, 0, 0),
+(@GUID+257, 34935, 642, 1, 1, 19.4636, -30.794, 36.2254, 4.83106, 120, 0, 0),
+(@GUID+258, 3084, 647, 1, 1, -5.20674, -11.3432, -17.6101, 4.71239, 120, 0, 0),
+(@GUID+259, 3084, 647, 1, 1, -4.83257, -4.31233, -17.6322, 1.62316, 120, 0, 0),
+(@GUID+260, 24934, 647, 1, 1, 10.321, -3.57351, -23.4941, 3.1765, 120, 0, 0),
+(@GUID+261, 24935, 647, 1, 1, 10.2871, -12.0272, -23.4942, 3.10669, 120, 0, 0),
+(@GUID+262, 25075, 647, 1, 1, -3.3964, -7.90545, -23.6967, 6.24828, 120, 0, 0),
+(@GUID+263, 34715, 647, 1, 1, -9.18316, -7.77573, -17.217, 3.28122, 120, 0, 0),
+(@GUID+264, 34717, 647, 1, 1, -13.6702, -12.4018, -15.9876, 4.59022, 120, 0, 0),
+(@GUID+265, 34718, 647, 1, 1, 13.7451, -5.12846, -24.0452, 0.139626, 120, 0, 0),
+(@GUID+266, 34719, 647, 1, 1, 7.62309, -5.02532, -17.6702, 4.92183, 120, 0, 0),
+(@GUID+267, 34721, 647, 1, 1, -0.919197, -6.16422, -23.6729, 3.57792, 120, 0, 0),
+(@GUID+268, 34723, 647, 1, 1, -17.4797, -5.60698, -14.9281, 3.22886, 120, 0, 0),
+(@GUID+269, 34730, 647, 1, 1, -2.16687, -7.85422, -23.6919, 3.38594, 120, 0, 0);
diff --git a/sql/updates/world/2013_10_16_00_world_trinity_string.sql b/sql/updates/world/2013_10_16_00_world_trinity_string.sql
new file mode 100644
index 00000000000..be77dd1b01c
--- /dev/null
+++ b/sql/updates/world/2013_10_16_00_world_trinity_string.sql
@@ -0,0 +1,4 @@
+DELETE FROM `trinity_string` WHERE entry IN (1149, 1150);
+INSERT INTO `trinity_string` (entry, content_default, content_loc1, content_loc2, content_loc3, content_loc4, content_loc5, content_loc6, content_loc7, content_loc8) VALUES
+(1149, 'Group type: %s and consists of %u players.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
+(1150, 'Name: %s (%s), Zone: %s, Phase: %u, GUID: %u, Flags: %s, Roles: %s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
diff --git a/sql/updates/world/2013_10_16_01_world_sai.sql b/sql/updates/world/2013_10_16_01_world_sai.sql
new file mode 100644
index 00000000000..b387a428088
--- /dev/null
+++ b/sql/updates/world/2013_10_16_01_world_sai.sql
@@ -0,0 +1,15 @@
+UPDATE `creature_template` SET `AIname`='SmartAI' WHERE `entry`=28389;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=28389 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
+(28389,0,0,0,8,0,100,0,51592,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Primordial Hatchling - On Spel Hit(Pickup Primordial Hatchling) - Despawn');
+-- Creature_AI to Smart_AI Conversion for Primordial Drake Egg (ID 28408) and loot fix for Primordial Hatchling (ID 28389)
+UPDATE `creature_template` SET `AIName`= 'SmartAI',`flags_extra`=`flags_extra`|2 WHERE `entry` =28408;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id` =28408;
+-- Smart AI conversion for Primordial Egg creature ai scripts, also prevents these eggs from moving/auto attacking
+DELETE FROM `smart_scripts` WHERE `entryorguid` =28408;
+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
+(28408,0,0,1,25,0,100,0,0,0, 0, 0, 21 ,0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Primordial Drake Egg - On Spawn - Prevent Combat Movement"),
+(28408,0,1,0,61,0,100,0,0,0, 0, 0, 20 ,0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Primordial Drake Egg - Linked with Previous Event - Disable Combat"),
+(28408,0,2,0,6 ,0,100,0,0,0, 0, 0, 11 ,51595, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Primordial Drake Egg - On Death - Cast Summon Primordial Hatchling");
+-- Remove Borean Leather, Icy Dragonscale and Book of Glyph Mastery from Primordial Hatchling as these are not meant to drop from these
+DELETE FROM `creature_loot_template` WHERE `entry`=28389 AND `item` IN (33568,38557,45912);
diff --git a/sql/updates/world/2013_10_16_02_world_game_graveyard_zone.sql b/sql/updates/world/2013_10_16_02_world_game_graveyard_zone.sql
new file mode 100644
index 00000000000..882a8e68697
--- /dev/null
+++ b/sql/updates/world/2013_10_16_02_world_game_graveyard_zone.sql
@@ -0,0 +1,2 @@
+DELETE FROM `game_graveyard_zone` WHERE `id`=631 AND `ghost_zone`=2159;
+UPDATE `game_graveyard_zone` SET `id`=1265, `faction`=0 WHERE `ghost_zone`=2159; -- Dustwallow Marsh, Mudsprocket GY
diff --git a/sql/updates/world/2013_10_17_00_world_creature_model_info.sql b/sql/updates/world/2013_10_17_00_world_creature_model_info.sql
new file mode 100644
index 00000000000..43906e24135
--- /dev/null
+++ b/sql/updates/world/2013_10_17_00_world_creature_model_info.sql
@@ -0,0 +1,3 @@
+UPDATE `creature_model_info` SET `gender`=0 WHERE `modelid` IN (16, 17, 18, 19, 20, 23, 26, 31, 33, 40, 42, 49, 51, 53, 55, 57, 59, 68, 74, 79, 86, 87, 88, 89, 101, 102, 103, 104, 105, 106, 107, 108, 112, 113, 115, 125, 126, 127, 128, 129, 130, 138, 139, 143, 149, 150, 152, 160, 163, 164, 166, 167, 170, 172, 173, 177, 182, 184, 188, 190, 191, 194, 195, 196, 197, 198, 202, 203, 208, 210, 211, 212, 214, 218, 221, 226, 227, 231, 240, 242, 243, 244, 251, 262, 263, 267, 275, 277, 280, 282, 286, 298, 299, 300, 301, 308, 309, 310, 312, 314, 316, 317, 326, 337, 338, 341, 346, 348, 351, 355, 363, 365, 369, 371, 373, 374, 385, 386, 390, 391, 415, 416, 428, 429, 430, 433, 441, 448, 456, 459, 467, 478, 486, 487, 495, 496, 504, 506, 508, 511, 515, 516, 517, 522, 523, 524, 527, 529, 531, 534, 536, 540, 553, 555, 556, 563, 564, 565, 567, 574, 575, 576, 578, 584, 585, 586, 588, 590, 591, 592, 593, 597, 605, 606, 610, 611, 616, 617, 627, 628, 634, 636, 637, 638, 652, 655, 656, 657, 658, 661, 664, 665, 679, 680, 691, 692, 693, 716, 721, 722, 723, 726, 729, 730, 736, 742, 743, 757, 763, 764, 765, 774, 790, 791, 792, 793, 794, 795, 796, 797, 803, 809, 810, 816, 820, 824, 825, 830, 832, 837, 838, 839, 840, 841, 842, 843, 844, 845, 852, 853, 924, 927, 929, 931, 933, 934, 947, 950, 976, 983, 990, 991, 1005, 1010, 1013, 1014, 1027, 1031, 1032, 1045, 1050, 1051, 1052, 1054, 1057, 1067, 1076, 1077, 1078, 1079, 1094, 1098, 1099, 1101, 1107, 1110, 1114, 1115, 1120, 1122, 1125, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1142, 1143, 1144, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1163, 1193, 1194, 1214, 1218, 1226, 1233, 1252, 1253, 1254, 1258, 1260, 1262, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1282, 1285, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1298, 1299, 1302, 1304, 1305, 1310, 1311, 1313, 1314, 1315, 1316, 1317, 1318, 1320, 1321, 1323, 1324, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1334, 1335, 1341, 1342, 1343, 1344, 1345, 1346, 1348, 1349, 1354, 1355, 1356, 1357, 1359, 1362, 1363, 1364, 1366, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1379, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1398, 1399, 1400, 1402, 1403, 1406, 1408, 1409, 1410, 1411, 1412, 1413, 1416, 1417, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1466, 1468, 1478, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1524, 1525, 1527, 1528, 1541, 1542, 1550, 1552, 1558, 1559, 1562, 1563, 1565, 1567, 1568, 1569, 1570, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1598, 1599, 1600, 1602, 1604, 1605, 1606, 1610, 1611, 1613, 1616, 1617, 1618, 1619, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1635, 1638, 1641, 1644, 1646, 1647, 1648, 1649, 1650, 1652, 1653, 1654, 1655, 1656, 1657, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1680, 1683, 1684, 1685, 1688, 1689, 1690, 1694, 1695, 1696, 1698, 1699, 1701, 1703, 1704, 1706, 1709, 1711, 1712, 1713, 1715, 1718, 1720, 1722, 1724, 1725, 1729, 1731, 1732, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1748, 1753, 1755, 1756, 1757, 1758, 1759, 1762, 1763, 1764, 1765, 1767, 1769, 1770, 1771, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1787, 1788, 1789, 1790, 1792, 1794, 1795, 1796, 1797, 1798, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1813, 1820, 1821, 1822, 1823, 1826, 1827, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1844, 1845, 1846, 1847, 1848, 1849, 1851, 1854, 1858, 1859, 1860, 1861, 1863, 1864, 1865, 1866, 1867, 1869, 1870, 1871, 1872, 1876, 1877, 1880, 1881, 1883, 1884, 1885, 1886, 1889, 1891, 1892, 1893, 1894, 1895, 1896, 1898, 1899, 1901, 1902, 1903, 1904, 1906, 1909, 1912, 1917, 1925, 1926, 1928, 1929, 1930, 1931, 1934, 1935, 1941, 1943, 1944, 1945, 1947, 1948, 1956, 1963, 1964, 1965, 1967, 1968, 1970, 1971, 1972, 1973, 1976, 1977, 1979, 1983, 1984, 1985, 1991, 1992, 1994, 1995, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2025, 2026, 2027, 2029, 2032, 2039, 2040, 2041, 2042, 2044, 2045, 2046, 2048, 2051, 2052, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2070, 2071, 2072, 2073, 2074, 2080, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2128, 2129, 2130, 2131, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2160, 2161, 2180, 2181, 2184, 2192, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2283, 2284, 2285, 2286, 2287, 2288, 2290, 2292, 2293, 2299, 2311, 2312, 2313, 2314, 2316, 2318, 2322, 2323, 2324, 2329, 2332, 2335, 2337, 2338, 2340, 2342, 2343, 2345, 2346, 2347, 2350, 2353, 2354, 2357, 2360, 2361, 2363, 2364, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2377, 2380, 2381, 2382, 2383, 2384, 2387, 2388, 2389, 2390, 2392, 2393, 2395, 2397, 2403, 2411, 2416, 2417, 2427, 2432, 2434, 2435, 2436, 2438, 2439, 2440, 2441, 2442, 2444, 2445, 2447, 2449, 2454, 2455, 2456, 2457, 2458, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2484, 2492, 2493, 2495, 2498, 2499, 2502, 2504, 2506, 2507, 2510, 2511, 2513, 2514, 2517, 2519, 2520, 2522, 2524, 2526, 2528, 2530, 2531, 2532, 2534, 2535, 2554, 2557, 2561, 2562, 2563, 2564, 2565, 2572, 2576, 2578, 2581, 2584, 2586, 2588, 2593, 2594, 2595, 2596, 2597, 2603, 2604, 2605, 2607, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2675, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2704, 2725, 2727, 2733, 2735, 2736, 2738, 2739, 2740, 2784, 2785, 2786, 2787, 2789, 2790, 2810, 2830, 2831, 2852, 2853, 2854, 2855, 2856, 2857, 2859, 2860, 2862, 2870, 2871, 2872, 2873, 2875, 2876, 2877, 2878, 2879, 2880, 2882, 2887, 2888, 2890, 2891, 2892, 2894, 2895, 2897, 2898, 2899, 2900, 2903, 2910, 2930, 2950, 2951, 2952, 2953, 2960, 2961, 2962, 2963, 2964, 2965, 2967, 2968, 2969, 2971, 2972, 2974, 2976, 2977, 2978, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2994, 2997, 2998, 3002, 3007, 3010, 3011, 3014, 3015, 3016, 3017, 3036, 3037, 3038, 3040, 3042, 3043, 3044, 3045, 3046, 3047, 3052, 3053, 3054, 3055, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3107, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3122, 3129, 3131, 3132, 3134, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3144, 3166, 3167, 3186, 3187, 3188, 3189, 3190, 3192, 3193, 3206, 3207, 3208, 3209, 3216, 3217, 3219, 3220, 3222, 3223, 3224, 3225, 3226, 3228, 3229, 3231, 3232, 3236, 3237, 3238, 3246, 3249, 3250, 3251, 3252, 3253, 3254, 3256, 3258, 3259, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3314, 3315, 3316, 3317, 3319, 3324, 3325, 3326, 3327, 3328, 3331, 3332, 3333, 3334, 3336, 3337, 3338, 3340, 3341, 3342, 3343, 3346, 3347, 3348, 3350, 3351, 3352, 3353, 3354, 3355, 3357, 3358, 3359, 3360, 3361, 3362, 3365, 3370, 3372, 3373, 3374, 3376, 3380, 3381, 3382, 3383, 3384, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3403, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3446, 3447, 3449, 3451, 3452, 3453, 3454, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3464, 3465, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3487, 3488, 3490, 3491, 3492, 3493, 3494, 3505, 3506, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3516, 3518, 3519, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3541, 3542, 3545, 3546, 3548, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3561, 3563, 3565, 3566, 3568, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3581, 3583, 3585, 3587, 3589, 3592, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3652, 3653, 3655, 3656, 3658, 3660, 3661, 3662, 3664, 3665, 3666, 3667, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3701, 3702, 3703, 3704, 3705, 3706, 3708, 3709, 3711, 3712, 3714, 3716, 3719, 3720, 3721, 3723, 3725, 3727, 3729, 3732, 3733, 3734, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3763, 3765, 3767, 3769, 3771, 3773, 3774, 3775, 3776, 3777, 3778, 3782, 3783, 3785, 3787, 3789, 3790, 3792, 3793, 3794, 3795, 3796, 3799, 3800, 3801, 3802, 3803, 3804, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3821, 3822, 3823, 3824, 3826, 3827, 3829, 3832, 3833, 3835, 3837, 3839, 3842, 3843, 3844, 3845, 3846, 3847, 3849, 3851, 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859, 3862, 3863, 3864, 3865, 3866, 3868, 3869, 3870, 3872, 3873, 3874, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3884, 3885, 3887, 3888, 3889, 3890, 3894, 3895, 3898, 3899, 3902, 3903, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3917, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3933, 3934, 3936, 3937, 3939, 3940, 3941, 3946, 3947, 3948, 3950, 3951, 3952, 3954, 3957, 3958, 3959, 3960, 3962, 3963, 3964, 3965, 3967, 3968, 3969, 3970, 3971, 3973, 3974, 3975, 3976, 3981, 3982, 3984, 3985, 3986, 3987, 3989, 3991, 3993, 3995, 3997, 4000, 4001, 4003, 4005, 4006, 4007, 4008, 4011, 4013, 4014, 4016, 4018, 4020, 4021, 4022, 4024, 4028, 4029, 4030, 4032, 4033, 4034, 4036, 4037, 4039, 4040, 4042, 4043, 4044, 4045, 4047, 4048, 4049, 4050, 4051, 4055, 4061, 4062, 4063, 4064, 4066, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4078, 4079, 4081, 4082, 4083, 4086, 4088, 4092, 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4107, 4110, 4111, 4116, 4117, 4118, 4119, 4120, 4121, 4125, 4127, 4130, 4132, 4134, 4136, 4137, 4139, 4141, 4143, 4145, 4148, 4150, 4152, 4154, 4155, 4156, 4157, 4159, 4160, 4161, 4163, 4164, 4165, 4166, 4169, 4170, 4171, 4172, 4173, 4178, 4180, 4183, 4186, 4188, 4190, 4192, 4194, 4197, 4199, 4201, 4202, 4204, 4205, 4206, 4207, 4208, 4209, 4211, 4212, 4213, 4214, 4215, 4216, 4218, 4220, 4222, 4224, 4225, 4226, 4227, 4228, 4229, 4232, 4237, 4238, 4239, 4242, 4243, 4244, 4246, 4248, 4249, 4252, 4253, 4255, 4259, 4261, 4262, 4265, 4271, 4272, 4275, 4276, 4279, 4281, 4283, 4285, 4286, 4287, 4288, 4289, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4298, 4299, 4300, 4301, 4303, 4304, 4306, 4307, 4308, 4309, 4310, 4311, 4315, 4316, 4318, 4319, 4320, 4321, 4324, 4325, 4326, 4327, 4328, 4329, 4331, 4332, 4333, 4335, 4336, 4338, 4339, 4341, 4342, 4347, 4349, 4353, 4354, 4359, 4360, 4361, 4363, 4364, 4365, 4366, 4367, 4368, 4370, 4371, 4372, 4373, 4374, 4376, 4380, 4381, 4382, 4384, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4395, 4396, 4397, 4398, 4400, 4401, 4404, 4405, 4407, 4408, 4413, 4414, 4415, 4416, 4417, 4418, 4420, 4422, 4423, 4424, 4426, 4427, 4428, 4429, 4430, 4431, 4432, 4436, 4437, 4438, 4439, 4441, 4443, 4444, 4446, 4449, 4450, 4451, 4452, 4453, 4454, 4455, 4459, 4460, 4461, 4463, 4464, 4469, 4470, 4471, 4474, 4475, 4476, 4477, 4478, 4479, 4482, 4483, 4484, 4485, 4489, 4491, 4492, 4493, 4494, 4495, 4497, 4499, 4501, 4503, 4506, 4508, 4511, 4512, 4514, 4515, 4516, 4517, 4518, 4519, 4520, 4521, 4525, 4527, 4530, 4531, 4532, 4534, 4537, 4539, 4540, 4542, 4543, 4544, 4545, 4547, 4548, 4549, 4550, 4551, 4552, 4553, 4554, 4555, 4556, 4557, 4559, 4560, 4561, 4562, 4563, 4564, 4565, 4567, 4568, 4569, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4577, 4579, 4580, 4581, 4582, 4583, 4584, 4592, 4593, 4594, 4595, 4596, 4597, 4598, 4599, 4600, 4602, 4604, 4608, 4609, 4610, 4611, 4612, 4616, 4617, 4620, 4621, 4622, 4623, 4624, 4625, 4627, 4628, 4632, 4633, 4634, 4635, 4637, 4638, 4639, 4640, 4641, 4644, 4645, 4646, 4648, 4649, 4652, 4653, 4656, 4657, 4658, 4660, 4661, 4663, 4664, 4666, 4667, 4668, 4671, 4672, 4676, 4678, 4679, 4680, 4684, 4685, 4686, 4688, 4690, 4692, 4693, 4694, 4696, 4697, 4699, 4701, 4703, 4705, 4707, 4709, 4711, 4715, 4717, 4720, 4721, 4725, 4726, 4727, 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, 4755, 4757, 4758, 4762, 4763, 4764, 4765, 4769, 4771, 4773, 4775, 4776, 4778, 4779, 4781, 4785, 4805, 4806, 4807, 4825, 4826, 4827, 4828, 4830, 4831, 4832, 4833, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4860, 4864, 4865, 4866, 4867, 4873, 4874, 4885, 4886, 4887, 4889, 4890, 4891, 4893, 4895, 4896, 4898, 4899, 4900, 4901, 4902, 4903, 4905, 4908, 4910, 4911, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 4925, 4926, 4927, 4928, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 4942, 4944, 4945, 4946, 4947, 4949, 4950, 4952, 4953, 4954, 4955, 4956, 4957, 4961, 4962, 4963, 4964, 4965, 4969, 4970, 4971, 4986, 4987, 4988, 4989, 4990, 4992, 4993, 4995, 4996, 4997, 4998, 4999, 5000, 5001, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5012, 5013, 5014, 5015, 5016, 5019, 5020, 5021, 5023, 5025, 5028, 5032, 5034, 5035, 5037, 5038, 5039, 5041, 5044, 5047, 5049, 5065, 5070, 5071, 5072, 5073, 5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081, 5082, 5083, 5084, 5085, 5087, 5088, 5089, 5090, 5105, 5106, 5107, 5108, 5128, 5131, 5146, 5166, 5167, 5190, 5205, 5206, 5207, 5225, 5226, 5227, 5230, 5232, 5236, 5237, 5243, 5244, 5245, 5266, 5286, 5293, 5294, 5295, 5296, 5306, 5307, 5325, 5326, 5345, 5346, 5368, 5370, 5372, 5373, 5374, 5376, 5377, 5385, 5405, 5406, 5409, 5410, 5426, 5427, 5428, 5433, 5434, 5436, 5437, 5438, 5440, 5443, 5445, 5447, 5449, 5451, 5465, 5485, 5486, 5507, 5508, 5509, 5525, 5526, 5528, 5529, 5530, 5532, 5534, 5535, 5547, 5548, 5549, 5550, 5551, 5553, 5566, 5567, 5568, 5570, 5571, 5573, 5575, 5576, 5577, 5605, 5606, 5607, 5608, 5609, 5610, 5611, 5612, 5613, 5625, 5626, 5646, 5647, 5648, 5665, 5685, 5705, 5707, 5708, 5709, 5710, 5711, 5726, 5727, 5728, 5729, 5730, 5748, 5749, 5751, 5752, 5753, 5754, 5766, 5767, 5768, 5769, 5770, 5771, 5772, 5775, 5776, 5778, 5779, 5782, 5784, 5785, 5786, 5805, 5806, 5808, 5810, 5812, 5813, 5814, 5816, 5818, 5820, 5821, 5822, 5824, 5826, 5828, 5830, 5831, 5832, 5845, 5846, 5865, 5866, 5885, 5907, 5908, 5945, 5986, 5988, 5991, 6006, 6007, 6009, 6010, 6025, 6026, 6029, 6030, 6031, 6032, 6033, 6034, 6035, 6036, 6037, 6038, 6039, 6040, 6041, 6042, 6043, 6044, 6045, 6046, 6047, 6048, 6049, 6050, 6051, 6052, 6053, 6054, 6055, 6056, 6057, 6059, 6060, 6062, 6063, 6065, 6066, 6067, 6071, 6072, 6074, 6075, 6077, 6078, 6079, 6080, 6084, 6094, 6097, 6103, 6104, 6105, 6106, 6108, 6109, 6114, 6115, 6117, 6118, 6119, 6123, 6124, 6127, 6168, 6170, 6171, 6189, 6190, 6191, 6192, 6194, 6198, 6208, 6228, 6230, 6231, 6232, 6233, 6301, 6308, 6353, 6380, 6388, 6389, 6390, 6393, 6395, 6397, 6399, 6401, 6403, 6405, 6407, 6409, 6410, 6411, 6413, 6415, 6417, 6419, 6421, 6423, 6425, 6427, 6429, 6432, 6433, 6434, 6436, 6439, 6440, 6441, 6442, 6443, 6444, 6446, 6447, 6448, 6449, 6468, 6469, 6470, 6471, 6472, 6473, 6474, 6475, 6476, 6477, 6478, 6479, 6480, 6483, 6485, 6487, 6489, 6491, 6493, 6495, 6497, 6510, 6512, 6514, 6528, 6529, 6530, 6531, 6532, 6533, 6535, 6538, 6540, 6542, 6545, 6546, 6549, 6550, 6552, 6568, 6570, 6571, 6572, 6573, 6574, 6575, 6589, 6590, 6608, 6610, 6628, 6630, 6632, 6649, 6668, 6669, 6670, 6672, 6675, 6678, 6680, 6682, 6686, 6687, 6690, 6692, 6693, 6694, 6695, 6696, 6697, 6698, 6699, 6700, 6701, 6702, 6704, 6705, 6707, 6708, 6709, 6710, 6711, 6713, 6715, 6717, 6719, 6721, 6723, 6725, 6727, 6729, 6731, 6733, 6738, 6740, 6741, 6743, 6744, 6747, 6748, 6751, 6752, 6754, 6760, 6762, 6763, 6764, 6765, 6767, 6769, 6770, 6772, 6775, 6776, 6777, 6778, 6779, 6780, 6784, 6785, 6787, 6789, 6791, 6793, 6795, 6832, 6834, 6836, 6837, 6839, 6843, 6844, 6845, 6846, 6847, 6848, 6849, 6850, 6853, 6854, 6855, 6856, 6857, 6858, 6868, 6869, 6870, 6871, 6872, 6873, 6874, 6875, 6876, 6877, 6878, 6879, 6882, 6883, 6892, 6893, 6894, 6913, 6914, 6916, 6917, 6918, 6920, 6921, 6922, 6923, 6924, 6925, 6926, 6927, 6928, 6929, 6930, 6931, 6932, 6933, 6934, 6935, 6936, 6937, 6938, 6939, 6940, 6944, 6946, 6947, 6949, 6950, 6952, 6953, 6954, 6955, 6957, 6959, 6961, 6962, 6963, 6965, 6966, 6967, 6968, 6973, 6974, 6978, 6979, 6980, 6981, 6983, 6984, 6988, 6989, 6990, 6991, 6994, 6995, 6996, 6997, 7001, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7011, 7016, 7019, 7021, 7022, 7024, 7026, 7027, 7028, 7031, 7032, 7033, 7034, 7035, 7036, 7037, 7038, 7041, 7042, 7043, 7047, 7048, 7049, 7050, 7051, 7052, 7053, 7054, 7055, 7056, 7057, 7058, 7059, 7060, 7061, 7073, 7074, 7093, 7094, 7095, 7096, 7097, 7098, 7099, 7100, 7101, 7102, 7103, 7104, 7105, 7106, 7107, 7108, 7109, 7110, 7111, 7112, 7113, 7115, 7117, 7120, 7124, 7125, 7126, 7127, 7128, 7129, 7130, 7131, 7132, 7133, 7134, 7135, 7136, 7137, 7153, 7154, 7155, 7156, 7157, 7158, 7159, 7160, 7161, 7162, 7163, 7164, 7165, 7166, 7167, 7168, 7169, 7170, 7171, 7172, 7173, 7174, 7176, 7177, 7178, 7179, 7180, 7181, 7182, 7183, 7184, 7185, 7186, 7187, 7188, 7189, 7190, 7191, 7192, 7193, 7194, 7195, 7196, 7197, 7198, 7199, 7200, 7201, 7202, 7203, 7204, 7205, 7206, 7207, 7208, 7209, 7210, 7211, 7212, 7213, 7214, 7215, 7216, 7217, 7218, 7219, 7220, 7221, 7222, 7223, 7224, 7225, 7226, 7227, 7228, 7229, 7230, 7231, 7232, 7233, 7234, 7235, 7236, 7237, 7238, 7239, 7240, 7241, 7242, 7243, 7244, 7245, 7246, 7247, 7249, 7250, 7269, 7272, 7273, 7308, 7310, 7328, 7329, 7331, 7332, 7333, 7334, 7335, 7336, 7337, 7338, 7340, 7341, 7342, 7343, 7346, 7351, 7353, 7354, 7355, 7356, 7357, 7360, 7361, 7362, 7364, 7366, 7367, 7368, 7370, 7372, 7373, 7374, 7377, 7379, 7380, 7381, 7383, 7384, 7389, 7390, 7429, 7509, 7529, 7530, 7531, 7535, 7537, 7538, 7552, 7570, 7591, 7593, 7594, 7595, 7597, 7598, 7600, 7601, 7604, 7606, 7607, 7609, 7612, 7613, 7614, 7618, 7620, 7622, 7623, 7624, 7626, 7629, 7631, 7632, 7633, 7649, 7670, 7673, 7689, 7709, 7749, 7750, 7751, 7753, 7758, 7759, 7760, 7761, 7762, 7764, 7765, 7766, 7769, 7789, 7790, 7791, 7792, 7793, 7794, 7795, 7796, 7797, 7798, 7799, 7800, 7801, 7803, 7805, 7807, 7809, 7810, 7811, 7813, 7814, 7815, 7816, 7817, 7819, 7820, 7822, 7824, 7826, 7827, 7831, 7832, 7835, 7838, 7841, 7842, 7844, 7846, 7849, 7851, 7852, 7859, 7860, 7861, 7862, 7865, 7866, 7867, 7868, 7871, 7873, 7874, 7875, 7889, 7901, 7902, 7904, 7907, 7910, 7912, 7914, 7915, 7916, 7919, 7921, 7929, 7930, 7931, 7932, 7935, 7951, 7952, 7971, 7990, 7991, 7992, 7993, 7996, 7997, 7998, 7999, 8000, 8001, 8009, 8010, 8012, 8013, 8029, 8054, 8055, 8069, 8089, 8129, 8169, 8170, 8176, 8186, 8229, 8310, 8311, 8313, 8315, 8329, 8331, 8333, 8334, 8335, 8349, 8350, 8351, 8352, 8353, 8354, 8355, 8390, 8413, 8430, 8449, 8474, 8477, 8569, 8575, 8590, 8591, 8592, 8593, 8594, 8595, 8596, 8597, 8598, 8609, 8610, 8611, 8612, 8629, 8631, 8633, 8634, 8649, 8652, 8653, 8654, 8655, 8656, 8658, 8661, 8662, 8663, 8664, 8666, 8667, 8668, 8669, 8670, 8673, 8674, 8677, 8678, 8679, 8681, 8682, 8685, 8686, 8687, 8688, 8689, 8692, 8694, 8696, 8697, 8698, 8699, 8700, 8701, 8702, 8703, 8704, 8706, 8707, 8708, 8709, 8710, 8711, 8717, 8718, 8729, 8749, 8750, 8751, 8752, 8753, 8754, 8755, 8756, 8757, 8758, 8759, 8760, 8762, 8764, 8766, 8767, 8772, 8773, 8777, 8778, 8780, 8781, 8790, 8791, 8792, 8793, 8794, 8798, 8799, 8803, 8804, 8805, 8806, 8807, 8812, 8813, 8814, 8815, 8820, 8821, 8822, 8823, 8825, 8826, 8827, 8828, 8829, 8830, 8832, 8839, 8844, 8845, 8846, 8847, 8848, 8849, 8872, 8891, 8893, 8894, 8895, 8898, 8899, 8900, 8901, 8929, 8989, 9023, 9024, 9026, 9027, 9049, 9051, 9052, 9053, 9054, 9069, 9072, 9073, 9089, 9130, 9133, 9134, 9135, 9149, 9151, 9169, 9211, 9212, 9213, 9230, 9232, 9233, 9234, 9235, 9236, 9250, 9252, 9256, 9258, 9259, 9261, 9265, 9266, 9267, 9268, 9271, 9272, 9274, 9275, 9279, 9281, 9283, 9284, 9285, 9286, 9288, 9289, 9291, 9292, 9293, 9309, 9329, 9332, 9333, 9334, 9335, 9336, 9337, 9340, 9341, 9348, 9349, 9351, 9352, 9353, 9391, 9409, 9410, 9411, 9413, 9414, 9415, 9417, 9418, 9419, 9420, 9421, 9422, 9425, 9426, 9427, 9428, 9430, 9432, 9433, 9434, 9435, 9436, 9437, 9439, 9441, 9442, 9444, 9445, 9446, 9447, 9448, 9470, 9472, 9477, 9489, 9532, 9533, 9549, 9550, 9552, 9554, 9561, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9581, 9596, 9599, 9602, 9603, 9604, 9605, 9606, 9609, 9610, 9613, 9614, 9615, 9616, 9617, 9618, 9619, 9620, 9621, 9623, 9625, 9626, 9627, 9628, 9629, 9630, 9633, 9634, 9635, 9636, 9637, 9638, 9641, 9642, 9643, 9644, 9645, 9648, 9649, 9652, 9653, 9656, 9657, 9660, 9661, 9664, 9665, 9668, 9669, 9670, 9671, 9672, 9673, 9674, 9675, 9678, 9679, 9680, 9681, 9682, 9683, 9686, 9687, 9688, 9689, 9690, 9691, 9692, 9693, 9694, 9695, 9696, 9697, 9698, 9699, 9709, 9710, 9714, 9715, 9716, 9719, 9720, 9724, 9725, 9728, 9729, 9733, 9734, 9735, 9736, 9737, 9738, 9739, 9740, 9741, 9742, 9751, 9752, 9753, 9757, 9761, 9762, 9764, 9766, 9768, 9769, 9770, 9771, 9772, 9773, 9776, 9777, 9778, 9779, 9781, 9792, 9794, 9797, 9798, 9799, 9802, 9803, 9807, 9809, 9814, 9815, 9816, 9817, 9819, 9820, 9824, 9825, 9826, 9898, 9899, 9900, 9901, 9902, 9911, 9912, 9935, 9936, 9939, 9940, 9943, 9944, 9946, 9947, 9952, 9969, 9991, 9999, 10009, 10010, 10032, 10035, 10036, 10038, 10039, 10043, 10049, 10050, 10055, 10057, 10069, 10071, 10089, 10094, 10109, 10110, 10111, 10114, 10115, 10116, 10130, 10131, 10132, 10133, 10135, 10136, 10137, 10139, 10141, 10143, 10146, 10148, 10150, 10151, 10152, 10169, 10170, 10171, 10172, 10173, 10176, 10177, 10181, 10182, 10184, 10186, 10187, 10188, 10189, 10190, 10192, 10193, 10194, 10195, 10196, 10197, 10198, 10210, 10213, 10215, 10216, 10217, 10218, 10219, 10222, 10225, 10226, 10229, 10230, 10231, 10235, 10236, 10237, 10240, 10241, 10242, 10243, 10245, 10246, 10247, 10248, 10251, 10252, 10254, 10269, 10275, 10277, 10279, 10285, 10286, 10287, 10290, 10291, 10292, 10295, 10296, 10299, 10300, 10303, 10304, 10307, 10308, 10311, 10312, 10316, 10318, 10319, 10320, 10321, 10324, 10325, 10328, 10329, 10332, 10333, 10336, 10338, 10339, 10340, 10341, 10342, 10343, 10344, 10345, 10348, 10349, 10350, 10351, 10354, 10355, 10356, 10357, 10358, 10359, 10362, 10363, 10364, 10365, 10366, 10367, 10370, 10371, 10374, 10375, 10376, 10377, 10379, 10382, 10383, 10384, 10387, 10388, 10391, 10392, 10395, 10398, 10399, 10403, 10404, 10408, 10409, 10413, 10414, 10417, 10418, 10421, 10422, 10425, 10426, 10427, 10428, 10433, 10434, 10435, 10438, 10441, 10442, 10443, 10444, 10448, 10449, 10450, 10451, 10452, 10453, 10454, 10456, 10457, 10458, 10460, 10461, 10462, 10463, 10464, 10466, 10468, 10469, 10470, 10471, 10472, 10473, 10474, 10475, 10476, 10478, 10479, 10482, 10483, 10484, 10488, 10489, 10492, 10493, 10496, 10497, 10500, 10501, 10504, 10505, 10508, 10509, 10512, 10513, 10516, 10517, 10529, 10530, 10535, 10536, 10539, 10540, 10543, 10544, 10545, 10546, 10547, 10548, 10551, 10552, 10554, 10558, 10560, 10561, 10566, 10567, 10570, 10572, 10576, 10577, 10578, 10579, 10580, 10586, 10587, 10588, 10589, 10590, 10611, 10614, 10616, 10617, 10618, 10619, 10622, 10625, 10629, 10631, 10632, 10635, 10636, 10637, 10638, 10641, 10642, 10643, 10644, 10645, 10647, 10649, 10650, 10653, 10655, 10656, 10658, 10660, 10668, 10669, 10674, 10689, 10691, 10693, 10694, 10695, 10696, 10697, 10704, 10705, 10706, 10707, 10708, 10709, 10710, 10714, 10724, 10726, 10727, 10729, 10730, 10735, 10736, 10738, 10739, 10740, 10741, 10742, 10743, 10747, 10748, 10754, 10790, 10791, 10795, 10797, 10811, 10812, 10813, 10815, 10817, 10820, 10821, 10834, 10858, 10878, 10896, 10901, 10907, 10908, 10911, 10912, 10913, 10920, 10921, 10930, 10931, 10935, 10936, 10937, 10938, 10939, 10940, 10943, 10944, 10945, 10946, 10949, 10953, 10954, 10957, 10958, 10969, 10980, 10981, 10982, 10989, 11013, 11014, 11017, 11018, 11021, 11022, 11025, 11027, 11028, 11033, 11035, 11036, 11037, 11038, 11040, 11042, 11049, 11051, 11052, 11053, 11054, 11055, 11056, 11060, 11063, 11070, 11072, 11074, 11075, 11080, 11081, 11100, 11101, 11109, 11110, 11113, 11114, 11117, 11119, 11121, 11123, 11124, 11126, 11127, 11129, 11130, 11132, 11133, 11135, 11136, 11146, 11147, 11149, 11150, 11152, 11153, 11155, 11156, 11158, 11159, 11165, 11166, 11167, 11168, 11179, 11180, 11181, 11182, 11183, 11189, 11190, 11193, 11194, 11197, 11198, 11201, 11202, 11205, 11207, 11209, 11211, 11213, 11215, 11217, 11218, 11221, 11222, 11225, 11226, 11229, 11230, 11233, 11234, 11237, 11238, 11241, 11243, 11245, 11246, 11249, 11251, 11253, 11254, 11255, 11256, 11257, 11258, 11264, 11265, 11267, 11269, 11271, 11272, 11274, 11275, 11276, 11277, 11278, 11279, 11283, 11284, 11286, 11287, 11288, 11289, 11293, 11296, 11297, 11298, 11299, 11301, 11302, 11303, 11305, 11306, 11307, 11309, 11310, 11311, 11312, 11313, 11314, 11320, 11321, 11322, 11325, 11326, 11327, 11328, 11331, 11332, 11333, 11334, 11335, 11336, 11337, 11338, 11339, 11340, 11341, 11342, 11343, 11344, 11345, 11346, 11347, 11349, 11350, 11351, 11353, 11354, 11355, 11357, 11358, 11359, 11360, 11361, 11369, 11370, 11372, 11375, 11376, 11377, 11379, 11380, 11382, 11383, 11384, 11385, 11386, 11387, 11390, 11391, 11394, 11395, 11406, 11409, 11416, 11424, 11425, 11426, 11427, 11428, 11429, 11430, 11431, 11434, 11435, 11438, 11439, 11443, 11456, 11459, 11460, 11461, 11464, 11465, 11466, 11467, 11468, 11469, 11470, 11474, 11475, 11476, 11479, 11509, 11510, 11511, 11513, 11532, 11533, 11534, 11536, 11537, 11538, 11539, 11542, 11543, 11544, 11545, 11546, 11548, 11549, 11550, 11551, 11552, 11553, 11554, 11555, 11556, 11557, 11558, 11559, 11560, 11561, 11562, 11563, 11564, 11565, 11566, 11567, 11568, 11569, 11570, 11571, 11572, 11573, 11574, 11576, 11577, 11578, 11579, 11581, 11582, 11583, 11584, 11585, 11586, 11590, 11591, 11592, 11595, 11609, 11610, 11611, 11629, 11630, 11631, 11632, 11638, 11639, 11640, 11650, 11651, 11652, 11653, 11655, 11656, 11658, 11660, 11661, 11664, 11666, 11667, 11669, 11671, 11674, 11679, 11680, 11685, 11688, 11690, 11693, 11694, 11733, 11736, 11738, 11740, 11743, 11745, 11749, 11751, 11753, 11754, 11755, 11756, 11757, 11758, 11759, 11762, 11763, 11768, 11769, 11772, 11773, 11774, 11776, 11790, 11791, 11792, 11793, 11794, 11795, 11797, 11798, 11799, 11801, 11803, 11804, 11805, 11806, 11809, 11811, 11812, 11814, 11816, 11817, 11818, 11820, 11822, 11825, 11826, 11830, 11831, 11832, 11833, 11834, 11836, 11849, 11851, 11852, 11855, 11856, 11859, 11860, 11863, 11864, 11866, 11868, 11870, 11872, 11874, 11876, 11878, 11880, 11882, 11884, 11886, 11887, 11892, 11893, 11894, 11895, 11896, 11899, 11900, 11902, 11905, 11906, 11907, 11911, 11913, 11930, 11949, 11953, 11955, 11956, 11957, 11961, 11962, 11963, 11965, 11967, 11969, 11972, 11973, 11976, 11977, 11979, 11981, 11984, 11987, 11990, 11991, 11994, 11995, 11996, 11997, 12000, 12001, 12002, 12003, 12005, 12007, 12008, 12010, 12012, 12015, 12016, 12020, 12024, 12025, 12026, 12028, 12029, 12030, 12031, 12032, 12033, 12034, 12036, 12039, 12041, 12044, 12045, 12046, 12047, 12048, 12050, 12052, 12053, 12055, 12057, 12058, 12060, 12061, 12065, 12068, 12075, 12076, 12078, 12080, 12081, 12083, 12089, 12161, 12165, 12167, 12168, 12170, 12171, 12189, 12190, 12230, 12249, 12269, 12272, 12289, 12290, 12329, 12330, 12331, 12332, 12334, 12350, 12369, 12370, 12371, 12372, 12373, 12374, 12390, 12391, 12431, 12435, 12449, 12470, 12471, 12472, 12473, 12474, 12475, 12609, 12610, 12629, 12669, 12671, 12672, 12673, 12676, 12678, 12679, 12709, 12729, 12790, 12809, 12810, 12812, 12813, 12822, 12829, 12832, 12849, 12890, 12891, 12893, 12909, 12910, 12911, 12915, 12917, 12918, 12919, 12920, 12921, 12925, 12926, 12928, 12930, 12932, 12934, 12938, 12942, 12943, 12944, 12945, 12949, 12951, 12953, 12954, 12956, 12957, 12959, 12960, 12961, 12965, 12967, 12969, 12971, 12975, 12977, 12989, 12990, 13029, 13030, 13031, 13032, 13049, 13050, 13089, 13090, 13091, 13093, 13099, 13129, 13130, 13132, 13149, 13151, 13152, 13171, 13249, 13252, 13253, 13254, 13257, 13258, 13260, 13262, 13264, 13266, 13269, 13270, 13273, 13274, 13276, 13278, 13280, 13281, 13282, 13284, 13285, 13286, 13288, 13294, 13296, 13298, 13300, 13301, 13303, 13306, 13308, 13311, 13312, 13315, 13316, 13319, 13320, 13321, 13322, 13325, 13326, 13330, 13334, 13335, 13336, 13338, 13341, 13342, 13343, 13346, 13348, 13349, 13351, 13353, 13356, 13361, 13363, 13364, 13365, 13367, 13369, 13370, 13371, 13374, 13375, 13377, 13379, 13382, 13383, 13384, 13385, 13386, 13388, 13390, 13392, 13394, 13398, 13400, 13409, 13411, 13414, 13415, 13429, 13430, 13432, 13434, 13436, 13438, 13439, 13440, 13442, 13445, 13446, 13449, 13450, 13453, 13454, 13455, 13456, 13457, 13458, 13459, 13460, 13461, 13462, 13463, 13464, 13465, 13466, 13467, 13468, 13469, 13470, 13471, 13472, 13475, 13476, 13532, 13533, 13538, 13540, 13541, 13543, 13544, 13547, 13548, 13552, 13554, 13556, 13558, 13560, 13563, 13565, 13567, 13569, 13571, 13573, 13590, 13592, 13594, 13596, 13598, 13600, 13630, 13632, 13634, 13636, 13638, 13640, 13642, 13644, 13645, 13647, 13650, 13652, 13654, 13656, 13658, 13660, 13662, 13671, 13709, 13711, 13713, 13714, 13715, 13729, 13769, 13771, 13773, 13775, 13777, 13779, 13781, 13783, 13785, 13786, 13789, 13790, 13793, 13795, 13797, 13799, 13801, 13803, 13805, 13807, 13808, 13809, 13811, 13813, 13815, 13817, 13818, 13821, 13822, 13825, 13827, 13828, 13831, 13833, 13835, 13837, 13839, 13841, 13842, 13849, 13850, 13852, 13853, 13854, 13889, 13891, 13893, 13895, 13950, 13952, 13954, 13969, 13989, 13990, 13991, 13992, 14013, 14014, 14017, 14018, 14021, 14022, 14026, 14027, 14030, 14031, 14034, 14035, 14052, 14053, 14056, 14057, 14061, 14063, 14064, 14072, 14092, 14093, 14132, 14172, 14193, 14212, 14216, 14232, 14233, 14234, 14235, 14236, 14292, 14293, 14296, 14304, 14307, 14308, 14309, 14310, 14317, 14320, 14322, 14323, 14326, 14329, 14330, 14332, 14333, 14339, 14340, 14341, 14342, 14343, 14344, 14347, 14352, 14355, 14356, 14357, 14358, 14359, 14360, 14361, 14369, 14371, 14380, 14381, 14384, 14386, 14387, 14388, 14394, 14395, 14396, 14397, 14398, 14401, 14402, 14403, 14404, 14405, 14406, 14407, 14408, 14409, 14412, 14413, 14415, 14416, 14420, 14422, 14423, 14424, 14427, 14429, 14431, 14452, 14453, 14472, 14492, 14493, 14494, 14495, 14496, 14498, 14519, 14526, 14529, 14530, 14531, 14532, 14533, 14534, 14537, 14538, 14544, 14554, 14555, 14556, 14561, 14563, 14564, 14565, 14566, 14576, 14577, 14580, 14586, 14587, 14589, 14591, 14612, 14632, 14634, 14652, 14653, 14654, 14655, 14662, 14664, 14665, 14666, 14668, 14669, 14670, 14671, 14672, 14673, 14694, 14697, 14718, 14719, 14732, 14733, 14752, 14753, 14755, 14756, 14758, 14760, 14761, 14764, 14765, 14766, 14769, 14770, 14772, 14773, 14774, 14775, 14777, 14785, 14786, 14792, 14793, 14794, 14797, 14798, 14812, 14832, 14854, 14855, 14856, 14872, 14875, 14877, 14878, 14879, 14881, 14883, 14885, 14886, 14887, 14888, 14889, 14890, 14894, 14913, 14945, 14948, 14949, 14953, 14954, 14972, 14993, 14994, 14995, 14997, 14998, 15000, 15003, 15004, 15012, 15032, 15093, 15095, 15096, 15097, 15099, 15102, 15113, 15114, 15115, 15134, 15139, 15141, 15142, 15144, 15146, 15147, 15148, 15149, 15152, 15153, 15172, 15173, 15174, 15175, 15176, 15178, 15183, 15184, 15185, 15186, 15187, 15189, 15192, 15193, 15194, 15195, 15196, 15198, 15201, 15202, 15203, 15205, 15206, 15207, 15210, 15211, 15214, 15215, 15216, 15217, 15222, 15224, 15228, 15230, 15233, 15235, 15237, 15238, 15239, 15240, 15243, 15245, 15247, 15248, 15251, 15252, 15259, 15260, 15263, 15265, 15267, 15268, 15269, 15271, 15273, 15274, 15276, 15277, 15278, 15279, 15280, 15281, 15284, 15285, 15289, 15290, 15302, 15303, 15304, 15305, 15309, 15310, 15311, 15313, 15314, 15315, 15318, 15319, 15320, 15322, 15324, 15326, 15329, 15331, 15342, 15350, 15352, 15363, 15365, 15366, 15367, 15370, 15371, 15387, 15389, 15399, 15401, 15403, 15408, 15409, 15411, 15414, 15415, 15416, 15418, 15419, 15421, 15424, 15426, 15427, 15428, 15435, 15441, 15442, 15444, 15445, 15447, 15448, 15451, 15456, 15457, 15460, 15461, 15462, 15473, 15476, 15478, 15479, 15481, 15502, 15504, 15511, 15513, 15515, 15517, 15519, 15521, 15524, 15528, 15532, 15536, 15537, 15540, 15543, 15544, 15548, 15550, 15552, 15553, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15565, 15566, 15567, 15568, 15569, 15571, 15572, 15573, 15574, 15575, 15577, 15578, 15579, 15581, 15596, 15597, 15600, 15601, 15603, 15604, 15606, 15609, 15610, 15611, 15612, 15613, 15614, 15615, 15616, 15617, 15621, 15622, 15624, 15625, 15626, 15627, 15630, 15632, 15634, 15635, 15636, 15637, 15638, 15641, 15642, 15643, 15644, 15646, 15648, 15649, 15650, 15651, 15660, 15661, 15662, 15665, 15667, 15668, 15684, 15685, 15687, 15688, 15689, 15690, 15691, 15692, 15698, 15701, 15707, 15711, 15714, 15716, 15718, 15720, 15722, 15726, 15728, 15729, 15731, 15732, 15733, 15734, 15735, 15736, 15737, 15744, 15745, 15746, 15747, 15748, 15749, 15750, 15752, 15753, 15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 15766, 15767, 15770, 15771, 15775, 15776, 15778, 15779, 15780, 15782, 15784, 15803, 15804, 15805, 15806, 15807, 15808, 15809, 15811, 15813, 15814, 15815, 15816, 15817, 15818, 15819, 15820, 15821, 15823, 15825, 15827, 15829, 15831, 15833, 15835, 15837, 15838, 15840, 15843, 15844, 15845, 15847, 15849, 15851, 15853, 15855, 15856, 15858, 15860, 15862, 15863, 15864, 15867, 15869, 15870, 15872, 15875, 15879, 15883, 15884, 15887, 15889, 15891, 15893, 15895, 15896, 15901, 15902, 15903, 15904, 15906, 15909, 15912, 15914, 15915, 15916, 15925, 15926, 15927, 15931, 15935, 15936, 15945, 15949, 15951, 15953, 15954, 15955, 15956, 15960, 15966, 15968, 15970, 15971, 15972, 15975, 15976, 15977, 15979, 15981, 15982, 15985, 15986, 15987, 15988, 15989, 15990, 15992, 15993, 15994, 15995, 15996, 15997, 15998, 16003, 16004, 16005, 16006, 16007, 16008, 16012, 16013, 16015, 16020, 16022, 16023, 16024, 16025, 16026, 16027, 16028, 16029, 16037, 16040, 16042, 16047, 16048, 16055, 16057, 16058, 16060, 16063, 16066, 16067, 16068, 16070, 16071, 16072, 16076, 16077, 16079, 16082, 16083, 16088, 16091, 16093, 16096, 16099, 16100, 16102, 16103, 16105, 16106, 16108, 16112, 16118, 16123, 16125, 16127, 16128, 16129, 16130, 16131, 16132, 16134, 16137, 16139, 16144, 16147, 16149, 16151, 16154, 16155, 16157, 16158, 16160, 16163, 16164, 16165, 16166, 16172, 16175, 16176, 16179, 16180, 16182, 16184, 16192, 16195, 16197, 16199, 16201, 16203, 16204, 16207, 16208, 16209, 16212, 16219, 16220, 16224, 16225, 16226, 16228, 16229, 16233, 16234, 16235, 16236, 16237, 16242, 16246, 16248, 16250, 16252, 16253, 16258, 16260, 16262, 16263, 16264, 16265, 16267, 16268, 16269, 16270, 16275, 16276, 16278, 16279, 16280, 16282, 16283, 16284, 16285, 16286, 16287, 16292, 16293, 16294, 16295, 16297, 16300, 16301, 16302, 16303, 16304, 16305, 16306, 16307, 16308, 16309, 16310, 16311, 16312, 16316, 16317, 16319, 16320, 16323, 16324, 16325, 16326, 16328, 16329, 16331, 16332, 16333, 16335, 16336, 16339, 16340, 16341, 16342, 16343, 16354, 16355, 16362, 16364, 16366, 16368, 16369, 16370, 16371, 16373, 16374, 16375, 16376, 16377, 16378, 16379, 16380, 16382, 16383, 16384, 16385, 16386, 16387, 16389, 16391, 16393, 16396, 16397, 16398, 16401, 16402, 16403, 16404, 16405, 16406, 16409, 16411, 16413, 16414, 16416, 16417, 16418, 16419, 16421, 16422, 16423, 16425, 16426, 16427, 16430, 16432, 16433, 16435, 16437, 16438, 16442, 16444, 16446, 16448, 16449, 16451, 16453, 16454, 16455, 16458, 16459, 16464, 16465, 16468, 16469, 16470, 16471, 16472, 16473, 16474, 16475, 16478, 16479, 16480, 16481, 16482, 16483, 16484, 16485, 16486, 16489, 16490, 16491, 16494, 16495, 16498, 16500, 16502, 16503, 16505, 16506, 16508, 16509, 16510, 16513, 16514, 16515, 16519, 16521, 16522, 16523, 16524, 16525, 16528, 16529, 16530, 16533, 16534, 16535, 16536, 16539, 16540, 16555, 16556, 16559, 16560, 16563, 16564, 16567, 16568, 16577, 16578, 16579, 16580, 16581, 16582, 16583, 16584, 16586, 16589, 16590, 16591, 16593, 16594, 16595, 16598, 16599, 16602, 16603, 16605, 16607, 16608, 16609, 16611, 16612, 16614, 16615, 16616, 16617, 16618, 16620, 16621, 16623, 16624, 16625, 16626, 16628, 16629, 16632, 16637, 16638, 16641, 16642, 16643, 16645, 16646, 16648, 16651, 16652, 16655, 16656, 16657, 16658, 16659, 16660, 16661, 16662, 16664, 16665, 16666, 16667, 16669, 16670, 16673, 16674, 16692, 16693, 16697, 16699, 16700, 16701, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16710, 16712, 16714, 16715, 16717, 16719, 16720, 16721, 16727, 16728, 16729, 16734, 16735, 16737, 16738, 16742, 16743, 16746, 16747, 16755, 16756, 16757, 16758, 16759, 16761, 16762, 16766, 16767, 16768, 16769, 16770, 16771, 16772, 16773, 16774, 16783, 16786, 16787, 16788, 16789, 16790, 16793, 16794, 16806, 16807, 16808, 16809, 16810, 16811, 16813, 16814, 16815, 16816, 16817, 16818, 16819, 16821, 16822, 16823, 16824, 16825, 16826, 16827, 16828, 16829, 16830, 16831, 16832, 16835, 16836, 16837, 16839, 16842, 16843, 16847, 16848, 16849, 16851, 16852, 16854, 16855, 16858, 16860, 16862, 16863, 16868, 16872, 16873, 16903, 16906, 16908, 16912, 16913, 16917, 16918, 16920, 16921, 16922, 16927, 16928, 16929, 16930, 16931, 16933, 16934, 16935, 16941, 16942, 16947, 16950, 16951, 16952, 16954, 16955, 16956, 16957, 16960, 16961, 16962, 16964, 16966, 16967, 16968, 16969, 16971, 16973, 16974, 16978, 16981, 16982, 16983, 16996, 17008, 17013, 17014, 17015, 17016, 17017, 17018, 17020, 17021, 17023, 17024, 17028, 17030, 17032, 17033, 17035, 17036, 17038, 17039, 17040, 17041, 17042, 17043, 17044, 17046, 17048, 17049, 17050, 17051, 17052, 17053, 17064, 17066, 17067, 17077, 17083, 17084, 17085, 17086, 17087, 17088, 17110, 17111, 17112, 17113, 17115, 17117, 17118, 17119, 17122, 17123, 17137, 17141, 17143, 17144, 17145, 17146, 17147, 17148, 17149, 17150, 17151, 17152, 17153, 17154, 17155, 17156, 17158, 17159, 17161, 17162, 17163, 17164, 17166, 17167, 17168, 17169, 17171, 17173, 17175, 17176, 17177, 17181, 17182, 17183, 17184, 17185, 17186, 17187, 17189, 17190, 17193, 17194, 17195, 17196, 17198, 17199, 17201, 17202, 17203, 17206, 17207, 17208, 17209, 17210, 17212, 17213, 17216, 17217, 17218, 17219, 17221, 17222, 17224, 17225, 17227, 17229, 17232, 17233, 17235, 17243, 17244, 17246, 17247, 17248, 17249, 17250, 17252, 17257, 17258, 17259, 17261, 17263, 17264, 17267, 17272, 17273, 17274, 17276, 17277, 17278, 17279, 17280, 17281, 17285, 17287, 17289, 17290, 17291, 17292, 17295, 17296, 17300, 17301, 17302, 17303, 17304, 17305, 17307, 17309, 17314, 17316, 17317, 17318, 17319, 17320, 17322, 17324, 17329, 17330, 17331, 17332, 17333, 17335, 17336, 17337, 17338, 17342, 17343, 17344, 17345, 17348, 17349, 17352, 17353, 17356, 17357, 17360, 17361, 17364, 17365, 17367, 17370, 17371, 17372, 17373, 17376, 17380, 17384, 17385, 17386, 17387, 17402, 17404, 17405, 17406, 17407, 17409, 17410, 17411, 17413, 17414, 17415, 17416, 17417, 17418, 17422, 17425, 17426, 17429, 17430, 17431, 17432, 17433, 17434, 17437, 17438, 17443, 17444, 17446, 17452, 17453, 17454, 17456, 17459, 17460, 17462, 17463, 17464, 17466, 17467, 17468, 17469, 17470, 17473, 17474, 17477, 17478, 17479, 17481, 17485, 17488, 17490, 17494, 17498, 17502, 17503, 17504, 17505, 17507, 17510, 17511, 17512, 17513, 17516, 17518, 17520, 17521, 17523, 17524, 17527, 17530, 17532, 17536, 17537, 17538, 17539, 17540, 17541, 17542, 17544, 17552, 17553, 17554, 17555, 17556, 17557, 17560, 17565, 17568, 17570, 17572, 17575, 17576, 17578, 17580, 17581, 17583, 17584, 17585, 17586, 17587, 17588, 17589, 17590, 17591, 17592, 17593, 17594, 17595, 17597, 17598, 17599, 17600, 17601, 17602, 17603, 17604, 17605, 17606, 17609, 17610, 17611, 17613, 17615, 17616, 17617, 17619, 17620, 17621, 17622, 17626, 17627, 17628, 17630, 17631, 17632, 17633, 17634, 17635, 17637, 17638, 17639, 17644, 17645, 17648, 17650, 17658, 17659, 17661, 17662, 17663, 17664, 17665, 17668, 17672, 17673, 17675, 17677, 17678, 17679, 17680, 17681, 17682, 17688, 17691, 17699, 17700, 17701, 17702, 17705, 17715, 17719, 17720, 17721, 17722, 17724, 17725, 17726, 17727, 17728, 17730, 17731, 17732, 17733, 17735, 17736, 17737, 17741, 17745, 17747, 17748, 17749, 17750, 17755, 17756, 17757, 17760, 17761, 17762, 17763, 17766, 17767, 17768, 17769, 17771, 17773, 17774, 17777, 17778, 17782, 17783, 17787, 17788, 17789, 17792, 17793, 17801, 17802, 17803, 17804, 17807, 17811, 17816, 17817, 17818, 17821, 17822, 17823, 17824, 17825, 17826, 17827, 17829, 17831, 17833, 17835, 17836, 17837, 17838, 17844, 17845, 17847, 17848, 17851, 17852, 17853, 17854, 17855, 17874, 17875, 17880, 17881, 17883, 17886, 17887, 17891, 17892, 17893, 17896, 17897, 17899, 17900, 17901, 17902, 17903, 17904, 17906, 17908, 17909, 17910, 17911, 17913, 17914, 17915, 17918, 17920, 17921, 17924, 17925, 17928, 17929, 17932, 17933, 17936, 17938, 17939, 17942, 17943, 17949, 17950, 17951, 17954, 17955, 17956, 17957, 17958, 17961, 17962, 17965, 17966, 17970, 17971, 17973, 17974, 17976, 17977, 17978, 17982, 17983, 17985, 17988, 17990, 17991, 17992, 18001, 18002, 18004, 18005, 18006, 18007, 18010, 18011, 18013, 18014, 18015, 18016, 18017, 18020, 18023, 18024, 18025, 18026, 18027, 18031, 18032, 18033, 18034, 18037, 18039, 18040, 18045, 18046, 18047, 18048, 18051, 18053, 18054, 18055, 18056, 18058, 18059, 18064, 18070, 18071, 18072, 18074, 18077, 18078, 18085, 18087, 18091, 18092, 18093, 18096, 18099, 18102, 18103, 18104, 18105, 18107, 18109, 18111, 18114, 18118, 18120, 18122, 18124, 18127, 18128, 18130, 18134, 18136, 18141, 18142, 18144, 18145, 18146, 18150, 18157, 18158, 18159, 18160, 18162, 18165, 18172, 18174, 18175, 18176, 18177, 18179, 18181, 18182, 18183, 18186, 18187, 18188, 18189, 18190, 18192, 18195, 18198, 18199, 18202, 18203, 18204, 18207, 18208, 18210, 18211, 18213, 18214, 18215, 18216, 18218, 18219, 18221, 18222, 18231, 18232, 18235, 18236, 18240, 18241, 18242, 18243, 18246, 18249, 18250, 18251, 18253, 18254, 18255, 18258, 18261, 18263, 18264, 18267, 18268, 18270, 18277, 18278, 18280, 18281, 18282, 18284, 18285, 18286, 18289, 18290, 18291, 18292, 18295, 18296, 18297, 18300, 18301, 18302, 18304, 18306, 18307, 18308, 18311, 18320, 18321, 18322, 18323, 18324, 18325, 18326, 18327, 18328, 18329, 18330, 18333, 18334, 18336, 18338, 18339, 18340, 18341, 18343, 18349, 18350, 18354, 18355, 18356, 18357, 18358, 18368, 18369, 18370, 18371, 18384, 18387, 18388, 18389, 18390, 18393, 18394, 18397, 18398, 18399, 18400, 18401, 18405, 18407, 18408, 18409, 18415, 18418, 18420, 18421, 18422, 18423, 18424, 18425, 18426, 18427, 18428, 18429, 18432, 18435, 18437, 18439, 18443, 18444, 18445, 18446, 18448, 18450, 18454, 18456, 18457, 18459, 18460, 18461, 18462, 18463, 18464, 18473, 18474, 18475, 18476, 18477, 18479, 18481, 18483, 18484, 18487, 18492, 18493, 18495, 18497, 18498, 18500, 18501, 18506, 18507, 18511, 18512, 18513, 18514, 18520, 18522, 18523, 18525, 18526, 18527, 18528, 18529, 18530, 18531, 18532, 18535, 18536, 18538, 18539, 18540, 18542, 18543, 18544, 18545, 18546, 18547, 18549, 18551, 18552, 18553, 18554, 18556, 18557, 18558, 18560, 18561, 18562, 18563, 18566, 18567, 18568, 18569, 18570, 18571, 18572, 18573, 18576, 18577, 18578, 18579, 18580, 18581, 18582, 18583, 18584, 18589, 18590, 18591, 18592, 18593, 18594, 18595, 18599, 18600, 18601, 18602, 18603, 18604, 18607, 18609, 18610, 18611, 18616, 18617, 18620, 18622, 18623, 18626, 18627, 18637, 18638, 18639, 18640, 18641, 18642, 18644, 18646, 18647, 18648, 18649, 18650, 18651, 18653, 18655, 18656, 18658, 18659, 18660, 18661, 18664, 18666, 18667, 18668, 18669, 18670, 18672, 18673, 18674, 18675, 18676, 18679, 18681, 18682, 18683, 18686, 18687, 18688, 18689, 18690, 18691, 18692, 18693, 18694, 18695, 18702, 18703, 18704, 18709, 18712, 18714, 18715, 18717, 18718, 18720, 18722, 18725, 18731, 18732, 18733, 18734, 18735, 18738, 18739, 18740, 18741, 18742, 18743, 18744, 18745, 18746, 18747, 18748, 18749, 18750, 18751, 18752, 18754, 18755, 18756, 18759, 18760, 18761, 18762, 18764, 18765, 18766, 18769, 18771, 18772, 18773, 18776, 18779, 18780, 18783, 18784, 18787, 18788, 18789, 18790, 18792, 18793, 18795, 18797, 18799, 18801, 18803, 18805, 18807, 18809, 18811, 18812, 18814, 18815, 18816, 18822, 18824, 18825, 18826, 18828, 18829, 18835, 18836, 18838, 18841, 18843, 18845, 18847, 18849, 18850, 18851, 18852, 18853, 18854, 18855, 18856, 18857, 18859, 18860, 18861, 18862, 18863, 18864, 18865, 18866, 18868, 18870, 18872, 18874, 18876, 18880, 18881, 18882, 18888, 18889, 18890, 18891, 18892, 18893, 18894, 18895, 18896, 18898, 18899, 18900, 18904, 18906, 18908, 18909, 18911, 18912, 18913, 18914, 18915, 18916, 18921, 18924, 18925, 18927, 18928, 18938, 18940, 18941, 18942, 18943, 18948, 18949, 18950, 18952, 18956, 18959, 18960, 18961, 18962, 18963, 18964, 18965, 18966, 18967, 18970, 18971, 18972, 18973, 18980, 18982, 18984, 18992, 18994, 18995, 18999, 19000, 19001, 19005, 19008, 19013, 19015, 19016, 19017, 19022, 19028, 19035, 19037, 19038, 19041, 19043, 19044, 19045, 19046, 19047, 19049, 19051, 19052, 19053, 19054, 19055, 19056, 19057, 19058, 19059, 19060, 19062, 19064, 19065, 19066, 19069, 19076, 19077, 19078, 19079, 19080, 19081, 19082, 19083, 19084, 19087, 19088, 19089, 19092, 19094, 19095, 19099, 19102, 19103, 19104, 19105, 19108, 19111, 19117, 19118, 19123, 19124, 19127, 19128, 19129, 19130, 19131, 19132, 19134, 19135, 19136, 19141, 19142, 19143, 19144, 19145, 19148, 19149, 19150, 19151, 19152, 19153, 19154, 19156, 19157, 19158, 19159, 19160, 19162, 19167, 19168, 19170, 19172, 19174, 19176, 19178, 19180, 19182, 19184, 19186, 19188, 19192, 19194, 19197, 19198, 19202, 19203, 19205, 19206, 19208, 19209, 19211, 19212, 19213, 19214, 19216, 19222, 19224, 19226, 19228, 19231, 19232, 19233, 19234, 19235, 19236, 19237, 19238, 19239, 19244, 19246, 19247, 19248, 19253, 19254, 19255, 19256, 19261, 19262, 19263, 19264, 19265, 19266, 19267, 19273, 19274, 19275, 19276, 19277, 19279, 19284, 19294, 19296, 19297, 19305, 19308, 19309, 19312, 19313, 19314, 19317, 19319, 19320, 19321, 19322, 19323, 19326, 19328, 19336, 19337, 19342, 19343, 19344, 19345, 19346, 19349, 19350, 19351, 19353, 19354, 19356, 19358, 19359, 19360, 19361, 19362, 19363, 19364, 19368, 19372, 19374, 19382, 19384, 19385, 19386, 19388, 19390, 19392, 19394, 19396, 19398, 19402, 19409, 19411, 19412, 19415, 19417, 19418, 19419, 19423, 19426, 19427, 19429, 19430, 19432, 19433, 19434, 19437, 19439, 19440, 19445, 19446, 19447, 19448, 19449, 19452, 19453, 19459, 19460, 19463, 19468, 19469, 19470, 19472, 19474, 19476, 19481, 19485, 19486, 19489, 19490, 19492, 19495, 19496, 19497, 19499, 19502, 19503, 19505, 19507, 19509, 19513, 19514, 19515, 19516, 19520, 19521, 19522, 19523, 19524, 19532, 19533, 19536, 19538, 19539, 19541, 19542, 19543, 19544, 19546, 19547, 19548, 19549, 19550, 19551, 19552, 19553, 19555, 19556, 19557, 19558, 19559, 19560, 19561, 19562, 19563, 19564, 19565, 19566, 19567, 19568, 19569, 19575, 19576, 19577, 19578, 19579, 19580, 19581, 19582, 19583, 19584, 19585, 19591, 19595, 19597, 19599, 19601, 19602, 19612, 19614, 19615, 19617, 19619, 19620, 19622, 19623, 19624, 19625, 19626, 19627, 19628, 19629, 19630, 19631, 19632, 19633, 19635, 19636, 19637, 19638, 19639, 19641, 19642, 19643, 19644, 19645, 19646, 19647, 19648, 19649, 19650, 19651, 19652, 19653, 19654, 19655, 19656, 19657, 19661, 19666, 19668, 19671, 19675, 19676, 19679, 19680, 19683, 19684, 19686, 19692, 19693, 19697, 19698, 19699, 19703, 19706, 19707, 19708, 19710, 19711, 19712, 19715, 19720, 19721, 19722, 19723, 19725, 19737, 19738, 19739, 19740, 19744, 19745, 19746, 19747, 19748, 19749, 19750, 19751, 19752, 19753, 19755, 19756, 19762, 19765, 19772, 19773, 19774, 19778, 19780, 19782, 19787, 19789, 19791, 19795, 19797, 19798, 19799, 19800, 19801, 19802, 19805, 19807, 19808, 19813, 19814, 19815, 19817, 19821, 19822, 19824, 19825, 19827, 19829, 19831, 19833, 19835, 19837, 19840, 19841, 19842, 19843, 19845, 19847, 19848, 19849, 19851, 19854, 19871, 19872, 19873, 19877, 19878, 19885, 19886, 19889, 19890, 19894, 19895, 19896, 19899, 19900, 19903, 19904, 19905, 19906, 19907, 19908, 19909, 19914, 19915, 19918, 19920, 19921, 19922, 19923, 19924, 19925, 19926, 19927, 19928, 19929, 19930, 19931, 19932, 19933, 19934, 19935, 19936, 19937, 19938, 19939, 19940, 19941, 19942, 19945, 19946, 19949, 19950, 19953, 19954, 19955, 19956, 19957, 19958, 19959, 19960, 19964, 19965, 19966, 19970, 19977, 19978, 19981, 19982, 19983, 19989, 19990, 19991, 19993, 20000, 20002, 20003, 20004, 20005, 20016, 20017, 20018, 20019, 20020, 20023, 20028, 20031, 20032, 20033, 20036, 20040, 20041, 20043, 20044, 20045, 20046, 20047, 20050, 20051, 20052, 20054, 20055, 20056, 20057, 20060, 20063, 20065, 20068, 20070, 20071, 20072, 20073, 20074, 20075, 20077, 20078, 20081, 20082, 20085, 20086, 20091, 20092, 20095, 20096, 20100, 20105, 20106, 20110, 20111, 20113, 20114, 20117, 20121, 20122, 20124, 20125, 20127, 20128, 20129, 20130, 20131, 20132, 20133, 20134, 20136, 20140, 20141, 20145, 20147, 20150, 20155, 20156, 20157, 20158, 20160, 20161, 20163, 20164, 20165, 20166, 20167, 20168, 20171, 20172, 20173, 20174, 20175, 20177, 20178, 20179, 20182, 20185, 20186, 20187, 20188, 20191, 20192, 20193, 20194, 20195, 20196, 20197, 20198, 20199, 20200, 20201, 20203, 20204, 20205, 20207, 20208, 20209, 20216, 20217, 20218, 20219, 20221, 20225, 20228, 20233, 20234, 20235, 20236, 20240, 20241, 20243, 20244, 20251, 20252, 20254, 20255, 20258, 20262, 20266, 20268, 20269, 20275, 20277, 20279, 20280, 20283, 20284, 20285, 20287, 20288, 20289, 20290, 20291, 20295, 20296, 20301, 20302, 20303, 20304, 20310, 20311, 20312, 20313, 20315, 20317, 20318, 20319, 20321, 20325, 20326, 20328, 20330, 20331, 20333, 20334, 20335, 20336, 20337, 20338, 20339, 20340, 20341, 20342, 20343, 20350, 20351, 20352, 20353, 20354, 20355, 20356, 20357, 20358, 20360, 20361, 20362, 20363, 20367, 20368, 20369, 20372, 20373, 20374, 20377, 20380, 20381, 20382, 20383, 20386, 20388, 20393, 20394, 20395, 20397, 20398, 20416, 20418, 20419, 20421, 20422, 20423, 20425, 20426, 20427, 20428, 20429, 20434, 20435, 20436, 20437, 20438, 20439, 20440, 20441, 20442, 20443, 20444, 20447, 20448, 20449, 20450, 20451, 20453, 20455, 20457, 20458, 20459, 20461, 20462, 20463, 20464, 20465, 20466, 20467, 20468, 20470, 20472, 20474, 20475, 20478, 20479, 20480, 20481, 20483, 20484, 20487, 20488, 20489, 20490, 20493, 20494, 20499, 20500, 20501, 20502, 20507, 20508, 20509, 20510, 20511, 20512, 20513, 20514, 20515, 20518, 20523, 20524, 20525, 20526, 20527, 20528, 20529, 20532, 20533, 20534, 20536, 20537, 20543, 20545, 20548, 20550, 20551, 20557, 20559, 20561, 20562, 20564, 20565, 20566, 20567, 20568, 20569, 20578, 20580, 20582, 20585, 20590, 20597, 20607, 20610, 20612, 20613, 20615, 20618, 20619, 20620, 20621, 20623, 20624, 20625, 20626, 20627, 20631, 20633, 20635, 20636, 20637, 20638, 20639, 20640, 20643, 20644, 20646, 20647, 20648, 20649, 20651, 20654, 20655, 20657, 20660, 20661, 20662, 20663, 20665, 20666, 20668, 20670, 20671, 20674, 20676, 20677, 20678, 20679, 20680, 20681, 20692, 20694, 20695, 20699, 20703, 20704, 20707, 20708, 20711, 20712, 20713, 20716, 20717, 20720, 20721, 20726, 20731, 20732, 20733, 20734, 20735, 20736, 20737, 20739, 20741, 20742, 20743, 20744, 20751, 20752, 20753, 20756, 20757, 20758, 20759, 20761, 20762, 20765, 20767, 20772, 20773, 20774, 20776, 20777, 20778, 20779, 20780, 20781, 20783, 20784, 20785, 20786, 20787, 20788, 20789, 20791, 20792, 20793, 20794, 20795, 20798, 20799, 20800, 20802, 20803, 20805, 20807, 20813, 20822, 20823, 20824, 20825, 20836, 20852, 20856, 20865, 20867, 20868, 20871, 20876, 20878, 20879, 20890, 20891, 20892, 20893, 20895, 20896, 20897, 20898, 20899, 20904, 20906, 20907, 20913, 20915, 20916, 20918, 20921, 20924, 20925, 20926, 20927, 20928, 20929, 20930, 20933, 20935, 20936, 20938, 20939, 20940, 20941, 20943, 20945, 20946, 20949, 20950, 20952, 20953, 20954, 20958, 20961, 20962, 20965, 20966, 20967, 20968, 20969, 20970, 20972, 20975, 20976, 20978, 20983, 20984, 20985, 20986, 20987, 20988, 20989, 20990, 20991, 20993, 20995, 21002, 21004, 21005, 21007, 21008, 21009, 21010, 21011, 21015, 21016, 21017, 21018, 21019, 21020, 21021, 21023, 21024, 21025, 21026, 21027, 21028, 21029, 21030, 21031, 21033, 21034, 21035, 21036, 21037, 21038, 21039, 21044, 21045, 21046, 21051, 21053, 21054, 21055, 21056, 21057, 21058, 21059, 21060, 21061, 21065, 21066, 21067, 21069, 21078, 21080, 21081, 21082, 21083, 21086, 21088, 21090, 21092, 21093, 21094, 21096, 21097, 21098, 21099, 21101, 21102, 21103, 21105, 21106, 21107, 21108, 21109, 21110, 21111, 21112, 21113, 21115, 21116, 21117, 21118, 21120, 21121, 21122, 21123, 21127, 21129, 21132, 21134, 21135, 21137, 21139, 21142, 21143, 21144, 21151, 21153, 21154, 21159, 21160, 21161, 21165, 21166, 21169, 21174, 21176, 21177, 21179, 21182, 21184, 21185, 21188, 21189, 21191, 21194, 21195, 21196, 21197, 21198, 21199, 21200, 21201, 21202, 21203, 21204, 21205, 21206, 21212, 21215, 21217, 21220, 21221, 21227, 21228, 21229, 21230, 21233, 21236, 21239, 21245, 21253, 21254, 21256, 21259, 21262, 21264, 21265, 21266, 21267, 21269, 21272, 21273, 21274, 21275, 21276, 21277, 21278, 21279, 21280, 21281, 21283, 21284, 21285, 21286, 21287, 21288, 21289, 21290, 21291, 21292, 21294, 21295, 21299, 21302, 21308, 21309, 21312, 21313, 21316, 21318, 21322, 21323, 21327, 21329, 21331, 21333, 21334, 21337, 21341, 21342, 21344, 21345, 21346, 21347, 21348, 21350, 21351, 21353, 21354, 21357, 21358, 21359, 21361, 21363, 21364, 21365, 21366, 21367, 21368, 21369, 21370, 21372, 21373, 21374, 21375, 21376, 21377, 21378, 21379, 21380, 21383, 21384, 21385, 21386, 21387, 21388, 21389, 21393, 21395, 21398, 21400, 21402, 21403, 21404, 21405, 21406, 21407, 21408, 21409, 21410, 21411, 21413, 21414, 21416, 21417, 21418, 21421, 21422, 21424, 21426, 21428, 21432, 21433, 21438, 21440, 21441, 21442, 21443, 21445, 21447, 21448, 21459, 21461, 21462, 21463, 21466, 21467, 21468, 21469, 21471, 21472, 21475, 21476, 21478, 21483, 21484, 21488, 21489, 21490, 21491, 21493, 21496, 21497, 21499, 21500, 21501, 21504, 21505, 21506, 21507, 21509, 21513, 21515, 21516, 21519, 21526, 21528, 21529, 21530, 21531, 21532, 21535, 21536, 21537, 21538, 21539, 21543, 21544, 21546, 21547, 21549, 21550, 21551, 21552, 21553, 21554, 21555, 21556, 21557, 21560, 21561, 21562, 21563, 21564, 21565, 21568, 21569, 21572, 21573, 21574, 21575, 21576, 21586, 21588, 21589, 21591, 21592, 21593, 21594, 21595, 21596, 21597, 21598, 21599, 21600, 21601, 21602, 21605, 21606, 21607, 21608, 21609, 21610, 21611, 21612, 21613, 21614, 21615, 21617, 21618, 21620, 21622, 21623, 21624, 21625, 21626, 21627, 21630, 21631, 21632, 21633, 21634, 21637, 21638, 21639, 21640, 21641, 21642, 21643, 21644, 21646, 21648, 21649, 21651, 21652, 21653, 21654, 21657, 21658, 21659, 21661, 21662, 21663, 21664, 21665, 21666, 21668, 21670, 21672, 21673, 21675, 21677, 21679, 21682, 21684, 21685, 21687, 21688, 21689, 21690, 21692, 21693, 21694, 21695, 21696, 21697, 21698, 21699, 21700, 21702, 21703, 21706, 21707, 21708, 21709, 21711, 21713, 21715, 21716, 21718, 21719, 21723, 21724, 21725, 21726, 21727, 21728, 21729, 21737, 21738, 21739, 21742, 21744, 21748, 21749, 21750, 21752, 21753, 21754, 21755, 21756, 21757, 21758, 21759, 21760, 21762, 21764, 21767, 21768, 21769, 21770, 21774, 21777, 21779, 21780, 21782, 21784, 21785, 21786, 21787, 21794, 21795, 21797, 21798, 21801, 21802, 21805, 21806, 21807, 21810, 21811, 21814, 21816, 21820, 21823, 21824, 21826, 21827, 21833, 21835, 21839, 21841, 21844, 21845, 21846, 21847, 21851, 21853, 21854, 21855, 21859, 21861, 21863, 21865, 21867, 21869, 21870, 21872, 21875, 21877, 21879, 21881, 21882, 21885, 21886, 21889, 21891, 21892, 21893, 21894, 21897, 21898, 21899, 21902, 21903, 21911, 21913, 21914, 21915, 21916, 21917, 21918, 21919, 21920, 21921, 21922, 21926, 21927, 21929, 21931, 21932, 21933, 21934, 21935, 21937, 21938, 21940, 21941, 21943, 21945, 21947, 21948, 21951, 21952, 21953, 21954, 21956, 21957, 21958, 21959, 21961, 21963, 21965, 21966, 21967, 21968, 21970, 21976, 21982, 21983, 21984, 21985, 21986, 21987, 21988, 21989, 21990, 21991, 21992, 21993, 21994, 21995, 21997, 21998, 22002, 22003, 22004, 22005, 22006, 22007, 22010, 22012, 22013, 22015, 22018, 22021, 22022, 22023, 22024, 22025, 22026, 22027, 22030, 22032, 22033, 22034, 22036, 22038, 22040, 22041, 22042, 22043, 22044, 22046, 22048, 22049, 22050, 22051, 22053, 22054, 22055, 22056, 22059, 22060, 22061, 22062, 22063, 22064, 22065, 22066, 22068, 22069, 22070, 22071, 22072, 22073, 22074, 22075, 22076, 22077, 22078, 22079, 22080, 22081, 22082, 22083, 22084, 22085, 22086, 22087, 22088, 22089, 22090, 22091, 22094, 22096, 22098, 22100, 22103, 22105, 22107, 22108, 22109, 22111, 22113, 22114, 22115, 22116, 22117, 22118, 22126, 22128, 22133, 22134, 22136, 22137, 22138, 22139, 22140, 22143, 22144, 22145, 22146, 22147, 22148, 22149, 22150, 22154, 22155, 22156, 22157, 22158, 22159, 22160, 22161, 22162, 22163, 22164, 22166, 22169, 22170, 22171, 22172, 22174, 22176, 22177, 22178, 22179, 22180, 22182, 22183, 22184, 22186, 22189, 22191, 22192, 22193, 22194, 22195, 22196, 22197, 22199, 22200, 22201, 22202, 22203, 22205, 22207, 22208, 22209, 22211, 22212, 22213, 22214, 22215, 22216, 22217, 22218, 22219, 22221, 22223, 22225, 22227, 22228, 22229, 22232, 22233, 22234, 22235, 22238, 22239, 22240, 22241, 22243, 22244, 22247, 22248, 22251, 22258, 22259, 22260, 22261, 22262, 22263, 22264, 22265, 22266, 22267, 22268, 22269, 22270, 22271, 22272, 22273, 22274, 22275, 22276, 22277, 22278, 22279, 22280, 22281, 22282, 22283, 22284, 22285, 22286, 22287, 22288, 22289, 22290, 22291, 22292, 22293, 22294, 22295, 22296, 22297, 22298, 22299, 22301, 22302, 22303, 22304, 22305, 22306, 22307, 22308, 22309, 22310, 22311, 22312, 22313, 22314, 22315, 22316, 22322, 22323, 22324, 22325, 22326, 22327, 22329, 22330, 22332, 22333, 22334, 22337, 22338, 22339, 22340, 22342, 22343, 22344, 22345, 22346, 22347, 22348, 22350, 22351, 22352, 22353, 22354, 22355, 22357, 22358, 22361, 22363, 22365, 22367, 22369, 22371, 22373, 22375, 22377, 22379, 22381, 22384, 22386, 22387, 22390, 22391, 22392, 22394, 22395, 22396, 22397, 22398, 22399, 22400, 22401, 22404, 22405, 22406, 22410, 22411, 22412, 22413, 22417, 22419, 22420, 22423, 22424, 22425, 22426, 22430, 22433, 22435, 22436, 22437, 22440, 22441, 22442, 22443, 22444, 22445, 22446, 22447, 22449, 22450, 22451, 22453, 22454, 22455, 22461, 22462, 22463, 22464, 22465, 22466, 22467, 22475, 22479, 22480, 22486, 22487, 22488, 22489, 22490, 22491, 22492, 22493, 22494, 22495, 22497, 22498, 22501, 22502, 22505, 22507, 22508, 22509, 22510, 22513, 22514, 22516, 22520, 22521, 22525, 22526, 22527, 22528, 22530, 22531, 22532, 22533, 22534, 22535, 22536, 22537, 22538, 22539, 22540, 22541, 22542, 22543, 22544, 22545, 22547, 22549, 22550, 22551, 22553, 22554, 22556, 22566, 22567, 22568, 22569, 22570, 22571, 22572, 22573, 22574, 22575, 22576, 22577, 22578, 22580, 22581, 22582, 22583, 22584, 22585, 22586, 22592, 22593, 22595, 22598, 22599, 22603, 22604, 22605, 22607, 22610, 22611, 22614, 22617, 22622, 22623, 22624, 22626, 22627, 22628, 22629, 22630, 22631, 22632, 22634, 22635, 22638, 22642, 22645, 22647, 22648, 22649, 22650, 22651, 22652, 22657, 22659, 22661, 22662, 22663, 22664, 22667, 22668, 22676, 22677, 22678, 22680, 22682, 22684, 22686, 22688, 22690, 22692, 22694, 22696, 22698, 22703, 22704, 22705, 22706, 22708, 22709, 22710, 22711, 22713, 22714, 22716, 22718, 22722, 22723, 22724, 22725, 22727, 22732, 22735, 22736, 22739, 22743, 22744, 22745, 22746, 22747, 22749, 22752, 22753, 22754, 22757, 22758, 22759, 22760, 22761, 22762, 22763, 22764, 22765, 22770, 22771, 22772, 22774, 22782, 22783, 22784, 22785, 22786, 22787, 22788, 22789, 22792, 22793, 22794, 22795, 22796, 22797, 22798, 22799, 22800, 22801, 22802, 22803, 22805, 22806, 22808, 22811, 22812, 22816, 22817, 22818, 22819, 22820, 22824, 22825, 22832, 22833, 22834, 22837, 22839, 22843, 22844, 22845, 22846, 22848, 22849, 22852, 22856, 22857, 22858, 22859, 22861, 22874, 22875, 22876, 22877, 22879, 22880, 22882, 22883, 22884, 22885, 22886, 22887, 22888, 22889, 22891, 22892, 22893, 22894, 22895, 22896, 22899, 22902, 22905, 22906, 22907, 22908, 22909, 22911, 22912, 22913, 22914, 22919, 22920, 22921, 22922, 22923, 22924, 22925, 22928, 22929, 22930, 22931, 22932, 22933, 22934, 22942, 22943, 22944, 22945, 22946, 22947, 22948, 22949, 22950, 22951, 22952, 22953, 22956, 22958, 22960, 22961, 22962, 22963, 22964, 22967, 22968, 22969, 22970, 22972, 22974, 22976, 22977, 22978, 22979, 22982, 22983, 22984, 22985, 22994, 22995, 22996, 22997, 22998, 22999, 23003, 23004, 23005, 23006, 23007, 23008, 23009, 23010, 23011, 23012, 23013, 23014, 23015, 23017, 23019, 23022, 23023, 23024, 23026, 23027, 23028, 23029, 23030, 23031, 23032, 23033, 23034, 23037, 23038, 23039, 23040, 23041, 23042, 23043, 23044, 23045, 23046, 23047, 23048, 23049, 23052, 23054, 23055, 23056, 23059, 23061, 23063, 23064, 23066, 23068, 23069, 23072, 23073, 23074, 23076, 23077, 23078, 23081, 23082, 23084, 23087, 23090, 23091, 23094, 23097, 23103, 23104, 23105, 23106, 23107, 23108, 23113, 23115, 23116, 23117, 23118, 23119, 23120, 23123, 23124, 23125, 23127, 23128, 23131, 23132, 23133, 23134, 23145, 23147, 23149, 23150, 23151, 23153, 23154, 23156, 23157, 23158, 23159, 23161, 23164, 23167, 23170, 23171, 23172, 23173, 23176, 23179, 23180, 23181, 23182, 23185, 23187, 23188, 23189, 23190, 23191, 23192, 23193, 23194, 23195, 23197, 23198, 23200, 23201, 23202, 23203, 23206, 23208, 23209, 23210, 23212, 23213, 23214, 23215, 23216, 23217, 23218, 23219, 23221, 23222, 23223, 23224, 23227, 23228, 23230, 23231, 23232, 23233, 23235, 23236, 23238, 23242, 23245, 23246, 23247, 23249, 23250, 23252, 23253, 23254, 23256, 23262, 23263, 23264, 23266, 23267, 23270, 23273, 23275, 23276, 23277, 23279, 23280, 23283, 23284, 23285, 23286, 23287, 23288, 23290, 23291, 23294, 23297, 23301, 23305, 23309, 23312, 23317, 23318, 23319, 23320, 23321, 23322, 23323, 23324, 23326, 23331, 23332, 23335, 23336, 23337, 23338, 23339, 23340, 23341, 23342, 23344, 23345, 23346, 23347, 23350, 23351, 23352, 23353, 23356, 23357, 23359, 23360, 23362, 23364, 23366, 23367, 23373, 23374, 23378, 23381, 23383, 23384, 23385, 23386, 23387, 23389, 23390, 23392, 23394, 23397, 23400, 23402, 23405, 23409, 23410, 23412, 23414, 23415, 23416, 23417, 23418, 23419, 23420, 23421, 23424, 23425, 23426, 23427, 23429, 23430, 23432, 23433, 23434, 23435, 23436, 23437, 23438, 23439, 23440, 23441, 23442, 23443, 23444, 23445, 23447, 23449, 23450, 23451, 23453, 23454, 23455, 23456, 23457, 23459, 23460, 23461, 23462, 23463, 23464, 23465, 23466, 23467, 23468, 23471, 23477, 23478, 23479, 23487, 23488, 23489, 23490, 23491, 23492, 23493, 23494, 23496, 23497, 23498, 23499, 23500, 23502, 23508, 23509, 23510, 23511, 23512, 23525, 23526, 23529, 23530, 23533, 23536, 23539, 23542, 23545, 23548, 23549, 23551, 23553, 23554, 23555, 23557, 23558, 23559, 23561, 23562, 23563, 23564, 23565, 23566, 23567, 23568, 23571, 23572, 23573, 23577, 23578, 23587, 23590, 23592, 23593, 23596, 23597, 23642, 23643, 23645, 23648, 23649, 23650, 23653, 23655, 23659, 23662, 23663, 23665, 23667, 23668, 23671, 23672, 23677, 23678, 23682, 23683, 23685, 23687, 23688, 23690, 23691, 23694, 23695, 23701, 23703, 23704, 23705, 23706, 23712, 23714, 23715, 23716, 23721, 23723, 23724, 23726, 23727, 23731, 23733, 23734, 23735, 23740, 23743, 23749, 23757, 23759, 23762, 23763, 23764, 23766, 23768, 23769, 23770, 23772, 23773, 23774, 23775, 23776, 23777, 23779, 23782, 23783, 23784, 23788, 23789, 23790, 23791, 23792, 23793, 23795, 23796, 23797, 23798, 23799, 23800, 23806, 23807, 23808, 23809, 23810, 23812, 23813, 23815, 23816, 23819, 23820, 23824, 23825, 23826, 23827, 23828, 23831, 23832, 23834, 23836, 23837, 23838, 23839, 23840, 23844, 23845, 23846, 23855, 23857, 23859, 23862, 23864, 23865, 23866, 23867, 23869, 23871, 23872, 23874, 23875, 23876, 23877, 23878, 23880, 23881, 23882, 23883, 23885, 23887, 23889, 23892, 23893, 23894, 23896, 23898, 23900, 23903, 23904, 23905, 23906, 23907, 23908, 23911, 23919, 23920, 23922, 23923, 23924, 23925, 23926, 23927, 23928, 23932, 23933, 23937, 23942, 23943, 23951, 23952, 23953, 23957, 23961, 23963, 23965, 23966, 23968, 23969, 23971, 23972, 23974, 23977, 23978, 23979, 23982, 23984, 23987, 23988, 23989, 23994, 23995, 23996, 23999, 24003, 24007, 24008, 24010, 24011, 24012, 24015, 24016, 24017, 24020, 24022, 24023, 24025, 24027, 24028, 24029, 24032, 24035, 24036, 24037, 24038, 24039, 24040, 24041, 24042, 24044, 24045, 24046, 24047, 24048, 24051, 24052, 24053, 24054, 24055, 24056, 24057, 24059, 24061, 24063, 24065, 24068, 24069, 24070, 24073, 24074, 24079, 24080, 24081, 24084, 24085, 24086, 24087, 24088, 24090, 24091, 24092, 24094, 24096, 24097, 24098, 24099, 24100, 24101, 24102, 24110, 24124, 24125, 24126, 24128, 24129, 24130, 24131, 24132, 24133, 24134, 24136, 24145, 24146, 24147, 24148, 24150, 24152, 24153, 24154, 24155, 24156, 24157, 24158, 24161, 24162, 24163, 24164, 24170, 24171, 24172, 24178, 24180, 24181, 24182, 24183, 24184, 24185, 24186, 24188, 24189, 24191, 24195, 24197, 24200, 24201, 24206, 24207, 24208, 24209, 24213, 24214, 24217, 24218, 24219, 24220, 24221, 24222, 24223, 24224, 24225, 24228, 24229, 24231, 24235, 24238, 24239, 24241, 24243, 24244, 24245, 24246, 24247, 24248, 24252, 24254, 24255, 24257, 24259, 24262, 24264, 24265, 24266, 24267, 24268, 24269, 24272, 24275, 24277, 24278, 24279, 24280, 24281, 24282, 24284, 24287, 24288, 24289, 24291, 24293, 24295, 24297, 24301, 24302, 24303, 24305, 24306, 24309, 24311, 24312, 24314, 24316, 24319, 24320, 24322, 24325, 24328, 24329, 24330, 24332, 24333, 24334, 24335, 24336, 24337, 24338, 24339, 24344, 24345, 24346, 24347, 24348, 24350, 24351, 24352, 24353, 24354, 24356, 24358, 24359, 24360, 24361, 24362, 24364, 24365, 24366, 24367, 24369, 24370, 24373, 24374, 24375, 24376, 24379, 24380, 24381, 24382, 24383, 24384, 24385, 24386, 24387, 24388, 24389, 24390, 24391, 24394, 24395, 24396, 24399, 24400, 24401, 24402, 24408, 24409, 24410, 24411, 24412, 24415, 24416, 24417, 24418, 24419, 24420, 24421, 24422, 24423, 24424, 24425, 24426, 24427, 24428, 24429, 24430, 24431, 24432, 24433, 24434, 24435, 24436, 24437, 24438, 24439, 24440, 24441, 24443, 24444, 24445, 24446, 24447, 24448, 24449, 24450, 24451, 24452, 24454, 24458, 24459, 24460, 24463, 24464, 24475, 24476, 24480, 24481, 24482, 24483, 24484, 24487, 24488, 24489, 24491, 24492, 24496, 24498, 24500, 24502, 24503, 24505, 24508, 24509, 24510, 24511, 24512, 24513, 24514, 24515, 24516, 24517, 24518, 24530, 24531, 24532, 24534, 24535, 24536, 24537, 24538, 24541, 24543, 24544, 24545, 24549, 24551, 24553, 24556, 24560, 24561, 24562, 24563, 24568, 24570, 24571, 24572, 24573, 24574, 24575, 24577, 24578, 24580, 24583, 24584, 24585, 24587, 24588, 24589, 24591, 24592, 24593, 24596, 24597, 24598, 24599, 24600, 24601, 24602, 24603, 24604, 24605, 24606, 24607, 24609, 24610, 24611, 24617, 24618, 24619, 24621, 24623, 24624, 24625, 24626, 24631, 24632, 24633, 24636, 24639, 24640, 24641, 24642, 24643, 24644, 24645, 24646, 24647, 24648, 24649, 24650, 24652, 24654, 24655, 24656, 24657, 24658, 24659, 24660, 24661, 24662, 24663, 24666, 24667, 24669, 24670, 24671, 24672, 24673, 24675, 24676, 24677, 24679, 24680, 24681, 24682, 24685, 24686, 24687, 24689, 24690, 24691, 24692, 24695, 24696, 24700, 24701, 24703, 24704, 24706, 24708, 24713, 24716, 24717, 24718, 24726, 24728, 24730, 24731, 24732, 24735, 24738, 24746, 24747, 24748, 24754, 24755, 24759, 24760, 24761, 24763, 24764, 24766, 24767, 24768, 24769, 24771, 24773, 24775, 24777, 24779, 24783, 24785, 24787, 24789, 24791, 24793, 24797, 24799, 24800, 24801, 24802, 24804, 24805, 24806, 24809, 24810, 24811, 24817, 24818, 24819, 24820, 24823, 24830, 24834, 24835, 24836, 24837, 24838, 24839, 24840, 24841, 24842, 24843, 24844, 24845, 24846, 24847, 24848, 24849, 24850, 24851, 24852, 24853, 24854, 24855, 24856, 24857, 24858, 24859, 24863, 24867, 24870, 24871, 24872, 24873, 24874, 24875, 24878, 24879, 24880, 24881, 24885, 24887, 24888, 24891, 24893, 24894, 24899, 24900, 24903, 24904, 24911, 24912, 24913, 24917, 24924, 24937, 24938, 24941, 24942, 24949, 24951, 24953, 24954, 24957, 24958, 24959, 24967, 24968, 24969, 24970, 24971, 24972, 24973, 24974, 24976, 25002, 25006, 25010, 25011, 25012, 25016, 25020, 25021, 25022, 25023, 25025, 25027, 25029, 25032, 25033, 25034, 25035, 25036, 25037, 25038, 25039, 25040, 25041, 25042, 25055, 25057, 25058, 25059, 25061, 25062, 25063, 25064, 25065, 25066, 25067, 25068, 25069, 25070, 25072, 25073, 25074, 25077, 25078, 25079, 25080, 25088, 25095, 25096, 25097, 25098, 25102, 25113, 25114, 25117, 25118, 25122, 25123, 25124, 25125, 25128, 25131, 25132, 25133, 25134, 25135, 25137, 25140, 25141, 25145, 25149, 25150, 25151, 25155, 25157, 25158, 25160, 25165, 25166, 25168, 25169, 25171, 25172, 25173, 25175, 25180, 25181, 25182, 25183, 25184, 25187, 25188, 25189, 25190, 25191, 25192, 25195, 25196, 25197, 25198, 25200, 25204, 25205, 25207, 25212, 25213, 25216, 25217, 25218, 25219, 25222, 25225, 25226, 25229, 25230, 25231, 25232, 25237, 25239, 25240, 25241, 25242, 25243, 25244, 25245, 25246, 25248, 25251, 25252, 25253, 25254, 25255, 25257, 25259, 25260, 25261, 25262, 25263, 25269, 25270, 25272, 25273, 25275, 25276, 25293, 25295, 25297, 25299, 25300, 25302, 25303, 25304, 25308, 25310, 25316, 25319, 25320, 25321, 25322, 25325, 25335, 25336, 25337, 25338, 25339, 25342, 25344, 25345, 25346, 25348, 25349, 25350, 25351, 25354, 25356, 25357, 25358, 25359, 25364, 25365, 25366, 25367, 25373, 25374, 25375, 25395, 25400, 25413, 25414, 25415, 25416, 25417, 25418, 25419, 25420, 25421, 25422, 25423, 25424, 25425, 25426, 25427, 25428, 25429, 25430, 25442, 25444, 25446, 25447, 25448, 25454, 25455, 25459, 25461, 25464, 25465, 25468, 25469, 25470, 25471, 25474, 25476, 25477, 25479, 25481, 25482, 25483, 25484, 25485, 25486, 25487, 25489, 25490, 25491, 25493, 25494, 25495, 25496, 25497, 25498, 25500, 25502, 25503, 25504, 25507, 25508, 25510, 25513, 25514, 25515, 25516, 25519, 25520, 25521, 25522, 25524, 25525, 25529, 25530, 25531, 25532, 25533, 25534, 25535, 25536, 25541, 25545, 25546, 25558, 25559, 25560, 25561, 25566, 25567, 25568, 25569, 25575, 25576, 25577, 25578, 25580, 25582, 25584, 25586, 25588, 25589, 25590, 25595, 25596, 25597, 25601, 25604, 25606, 25609, 25610, 25611, 25612, 25613, 25614, 25615, 25617, 25618, 25623, 25624, 25631, 25632, 25633, 25641, 25642, 25643, 25644, 25646, 25650, 25651, 25652, 25653, 25656, 25659, 25660, 25661, 25662, 25663, 25665, 25667, 25668, 25670, 25671, 25673, 25677, 25684, 25686, 25689, 25690, 25691, 25694, 25698, 25699, 25700, 25701, 25702, 25705, 25706, 25709, 25712, 25714, 25715, 25716, 25719, 25722, 25725, 25726, 25729, 25732, 25734, 25738, 25739, 25740, 25741, 25743, 25746, 25747, 25748, 25750, 25751, 25752, 25754, 25755, 25756, 25757, 25758, 25759, 25760, 25761, 25762, 25765, 25767, 25768, 25769, 25770, 25772, 25773, 25774, 25775, 25781, 25782, 25783, 25784, 25786, 25787, 25788, 25789, 25790, 25792, 25793, 25794, 25795, 25802, 25806, 25808, 25837, 25838, 25839, 25841, 25842, 25843, 25844, 25845, 25846, 25847, 25848, 25850, 25851, 25863, 25865, 25876, 25877, 25882, 25885, 25886, 25890, 25891, 25892, 25893, 25894, 25895, 25897, 25899, 25900, 25901, 25902, 25903, 25905, 25906, 25907, 25908, 25909, 25910, 25911, 25912, 25916, 25917, 25919, 25920, 25921, 25923, 25924, 25926, 25927, 25928, 25932, 25934, 25936, 25940, 25943, 25950, 25951, 25952, 25953, 25954, 25956, 25957, 25961, 25962, 25963, 25964, 25965, 25966, 25967, 25968, 25969, 25970, 25972, 25973, 25974, 25975, 25976, 25977, 25978, 25979, 25980, 25981, 25986, 25987, 25988, 25989, 25990, 25991, 25992, 25993, 25994, 25995, 25997, 25998, 25999, 26000, 26001, 26054, 26057, 26058, 26059, 26060, 26061, 26062, 26065, 26066, 26067, 26068, 26071, 26072, 26075, 26078, 26090, 26091, 26092, 26093, 26094, 26098, 26099, 26100, 26104, 26105, 26106, 26107, 26108, 26109, 26110, 26111, 26112, 26115, 26116, 26117, 26118, 26119, 26121, 26122, 26126, 26127, 26138, 26166, 26167, 26170, 26171, 26178, 26179, 26185, 26187, 26189, 26190, 26193, 26194, 26195, 26197, 26200, 26201, 26202, 26203, 26209, 26210, 26212, 26213, 26218, 26220, 26222, 26224, 26225, 26226, 26228, 26229, 26230, 26232, 26233, 26234, 26235, 26236, 26237, 26239, 26241, 26242, 26244, 26246, 26247, 26248, 26251, 26253, 26254, 26256, 26257, 26258, 26261, 26271, 26272, 26290, 26291, 26292, 26300, 26301, 26303, 26305, 26307, 26308, 26309, 26310, 26312, 26313, 26316, 26318, 26321, 26323, 26325, 26326, 26328, 26331, 26336, 26337, 26338, 26343, 26344, 26345, 26346, 26349, 26350, 26351, 26352, 26353, 26356, 26357, 26358, 26360, 26361, 26362, 26363, 26364, 26366, 26367, 26371, 26372, 26373, 26374, 26376, 26387, 26388, 26391, 26392, 26394, 26395, 26399, 26400, 26401, 26402, 26407, 26408, 26409, 26410, 26411, 26413, 26417, 26421, 26422, 26426, 26427, 26428, 26431, 26432, 26434, 26435, 26437, 26443, 26444, 26445, 26446, 26447, 26449, 26450, 26451, 26452, 26453, 26454, 26455, 26456, 26457, 26458, 26459, 26460, 26461, 26462, 26463, 26465, 26480, 26481, 26497, 26498, 26507, 26508, 26543, 26546, 26549, 26550, 26551, 26555, 26560, 26561, 26562, 26564, 26567, 26568, 26569, 26571, 26574, 26575, 26580, 26581, 26582, 26583, 26590, 26591, 26593, 26596, 26597, 26598, 26599, 26602, 26603, 26606, 26607, 26608, 26613, 26614, 26616, 26618, 26623, 26626, 26627, 26628, 26629, 26630, 26633, 26634, 26635, 26637, 26638, 26641, 26642, 26643, 26644, 26646, 26652, 26653, 26656, 26658, 26659, 26660, 26662, 26663, 26664, 26665, 26666, 26667, 26668, 26669, 26670, 26673, 26674, 26675, 26676, 26677, 26678, 26679, 26680, 26682, 26683, 26684, 26686, 26688, 26691, 26695, 26696, 26699, 26700, 26701, 26702, 26703, 26708, 26709, 26710, 26711, 26712, 26713, 26714, 26715, 26726, 26727, 26728, 26729, 26730, 26731, 26732, 26733, 26734, 26735, 26736, 26737, 26738, 26739, 26740, 26741, 26744, 26745, 26746, 26747, 26748, 26749, 26750, 26752, 26761, 26765, 26766, 26767, 26770, 26772, 26778, 26779, 26781, 26782, 26783, 26784, 26785, 26786, 26798, 26802, 26803, 26804, 26808, 26809, 26810, 26811, 26812, 26813, 26814, 26815, 26820, 26823, 26824, 26827, 26829, 26830, 26832, 26834, 26836, 26838, 26839, 26840, 26842, 26843, 26845, 26847, 26848, 26849, 26851, 26852, 26853, 26854, 26855, 26856, 26857, 26858, 26859, 26860, 26861, 26862, 26863, 26864, 26865, 26866, 26867, 26868, 26869, 26870, 26871, 26873, 26877, 26878, 26885, 26886, 26889, 26891, 26893, 26894, 26895, 26899, 26901, 26902, 26903, 26904, 26908, 26909, 26910, 26911, 26912, 26913, 26914, 26920, 26921, 26922, 26923, 26924, 26933, 26934, 26938, 26945, 26947, 26949, 26950, 26951, 26952, 26953, 26954, 26955, 26956, 26957, 26958, 26959, 26960, 26961, 26962, 26963, 26964, 26966, 26967, 26971, 26972, 26974, 26975, 26976, 26977, 26978, 26979, 26980, 26982, 26983, 26984, 26985, 26987, 26988, 26989, 26990, 26993, 26994, 26996, 26997, 26998, 26999, 27000, 27002, 27003, 27004, 27007, 27008, 27009, 27012, 27013, 27018, 27019, 27020, 27021, 27022, 27023, 27025, 27027, 27030, 27031, 27032, 27033, 27039, 27042, 27043, 27044, 27045, 27046, 27047, 27048, 27049, 27050, 27051, 27056, 27057, 27058, 27059, 27060, 27061, 27062, 27068, 27069, 27070, 27071, 27075, 27076, 27077, 27078, 27079, 27080, 27081, 27083, 27084, 27085, 27086, 27087, 27088, 27089, 27090, 27092, 27093, 27094, 27095, 27096, 27097, 27098, 27099, 27100, 27102, 27104, 27108, 27109, 27110, 27111, 27112, 27118, 27122, 27123, 27124, 27126, 27127, 27130, 27131, 27132, 27134, 27135, 27136, 27138, 27139, 27140, 27145, 27148, 27149, 27150, 27153, 27154, 27155, 27157, 27158, 27159, 27160, 27161, 27163, 27165, 27166, 27170, 27171, 27172, 27173, 27174, 27175, 27176, 27177, 27178, 27179, 27180, 27181, 27182, 27183, 27184, 27185, 27186, 27187, 27188, 27190, 27191, 27192, 27193, 27194, 27195, 27200, 27201, 27202, 27203, 27204, 27206, 27207, 27209, 27213, 27215, 27216, 27217, 27218, 27219, 27220, 27221, 27225, 27226, 27228, 27229, 27230, 27231, 27249, 27250, 27251, 27252, 27253, 27254, 27255, 27256, 27257, 27258, 27262, 27263, 27264, 27284, 27288, 27290, 27291, 27292, 27293, 27294, 27295, 27298, 27300, 27303, 27304, 27307, 27308, 27309, 27310, 27313, 27314, 27318, 27319, 27320, 27322, 27324, 27325, 27328, 27329, 27330, 27332, 27334, 27335, 27336, 27337, 27338, 27339, 27342, 27343, 27347, 27349, 27350, 27352, 27353, 27354, 27358, 27359, 27361, 27364, 27365, 27367, 27369, 27370, 27373, 27374, 27375, 27376, 27378, 27381, 27382, 27383, 27386, 27388, 27394, 27395, 27397, 27398, 27400, 27402, 27404, 27406, 27407, 27409, 27410, 27412, 27414, 27417, 27418, 27419, 27420, 27421, 27422, 27423, 27424, 27425, 27427, 27428, 27430, 27431, 27433, 27436, 27437, 27438, 27439, 27444, 27445, 27446, 27447, 27449, 27453, 27455, 27457, 27459, 27461, 27464, 27465, 27466, 27467, 27468, 27474, 27475, 27481, 27485, 27486, 27490, 27492, 27494, 27496, 27498, 27500, 27502, 27504, 27505, 27506, 27509, 27511, 27512, 27516, 27518, 27521, 27522, 27523, 27526, 27527, 27530, 27531, 27532, 27539, 27540, 27544, 27545, 27546, 27550, 27551, 27552, 27553, 27554, 27555, 27558, 27559, 27560, 27562, 27564, 27565, 27567, 27570, 27571, 27573, 27576, 27577, 27578, 27579, 27580, 27582, 27583, 27584, 27585, 27586, 27587, 27588, 27589, 27590, 27591, 27592, 27595, 27601, 27603, 27605, 27607, 27610, 27611, 27612, 27615, 27629, 27630, 27631, 27632, 27633, 27636, 27638, 27639, 27641, 27642, 27646, 27649, 27650, 27651, 27656, 27657, 27659, 27660, 27662, 27663, 27664, 27671, 27672, 27673, 27674, 27675, 27676, 27684, 27685, 27686, 27687, 27689, 27693, 27696, 27697, 27702, 27708, 27709, 27714, 27716, 27717, 27723, 27724, 27725, 27728, 27729, 27730, 27731, 27732, 27734, 27736, 27737, 27738, 27739, 27740, 27741, 27744, 27746, 27747, 27748, 27749, 27750, 27751, 27752, 27757, 27759, 27762, 27764, 27765, 27766, 27768, 27771, 27772, 27773, 27774, 27775, 27776, 27778, 27779, 27780, 27788, 27791, 27794, 27795, 27799, 27800, 27801, 27805, 27807, 27808, 27813, 27814, 27816, 27817, 27818, 27819, 27820, 27821, 27825, 27826, 27827, 27828, 27829, 27830, 27831, 27832, 27833, 27835, 27837, 27838, 27839, 27840, 27841, 27842, 27843, 27844, 27845, 27846, 27847, 27850, 27851, 27852, 27853, 27854, 27856, 27857, 27858, 27862, 27863, 27864, 27865, 27866, 27867, 27868, 27869, 27870, 27871, 27872, 27873, 27874, 27875, 27876, 27877, 27878, 27884, 27886, 27887, 27888, 27894, 27895, 27897, 27898, 27899, 27900, 27901, 27902, 27903, 27905, 27906, 27910, 27911, 27914, 27915, 27918, 27919, 27920, 27925, 27926, 27927, 27929, 27930, 27934, 27935, 27938, 27939, 27942, 27945, 27948, 27949, 27953, 27955, 27957, 27958, 27978, 27979, 27980, 27984, 27988, 27990, 27994, 27996, 27998, 28000, 28001, 28006, 28013, 28018, 28019, 28021, 28022, 28023, 28025, 28027, 28028, 28030, 28031, 28034, 28035, 28038, 28054, 28055, 28056, 28057, 28066, 28068, 28069, 28070, 28071, 28072, 28078, 28079, 28085, 28086, 28087, 28088, 28090, 28091, 28092, 28093, 28097, 28098, 28099, 28102, 28104, 28105, 28108, 28109, 28111, 28119, 28120, 28121, 28122, 28123, 28124, 28126, 28127, 28129, 28131, 28132, 28135, 28137, 28140, 28143, 28144, 28145, 28148, 28149, 28151, 28154, 28156, 28157, 28158, 28159, 28161, 28162, 28164, 28167, 28169, 28170, 28172, 28173, 28174, 28179, 28180, 28181, 28182, 28183, 28184, 28186, 28188, 28193, 28194, 28196, 28198, 28199, 28201, 28203, 28204, 28205, 28206, 28207, 28216, 28217, 28218, 28219, 28220, 28221, 28223, 28224, 28225, 28226, 28228, 28229, 28230, 28231, 28232, 28233, 28234, 28236, 28237, 28238, 28239, 28240, 28241, 28242, 28243, 28244, 28245, 28246, 28247, 28248, 28249, 28250, 28251, 28252, 28253, 28254, 28255, 28256, 28257, 28258, 28259, 28260, 28261, 28262, 28263, 28264, 28265, 28266, 28267, 28268, 28269, 28270, 28271, 28272, 28273, 28274, 28275, 28276, 28277, 28278, 28279, 28280, 28281, 28285, 28300, 28301, 28303, 28304, 28306, 28308, 28311, 28313, 28315, 28316, 28320, 28324, 28344, 28345, 28349, 28350, 28351, 28352, 28353, 28358, 28364, 28368, 28370, 28371, 28393, 28395, 28396, 28398, 28399, 28400, 28405, 28406, 28407, 28410, 28411, 28412, 28413, 28420, 28421, 28428, 28439, 28440, 28456, 28464, 28466, 28483, 28516, 28517, 28532, 28533, 28534, 28535, 28545, 28549, 28559, 28560, 28561, 28563, 28565, 28580, 28581, 28586, 28587, 28588, 28589, 28597, 28600, 28606, 28612, 28617, 28618, 28621, 28622, 28626, 28629, 28632, 28633, 28636, 28638, 28639, 28641, 28643, 28644, 28645, 28654, 28662, 28663, 28664, 28669, 28670, 28671, 28672, 28673, 28674, 28676, 28677, 28678, 28679, 28680, 28688, 28690, 28691, 28697, 28698, 28699, 28700, 28701, 28703, 28704, 28706, 28707, 28708, 28709, 28710, 28712, 28717, 28730, 28733, 28735, 28736, 28739, 28740, 28743, 28745, 28746, 28748, 28752, 28753, 28754, 28755, 28757, 28760, 28761, 28765, 28767, 28770, 28771, 28780, 28781, 28786, 28788, 28789, 28793, 28795, 28796, 28797, 28799, 28800, 28804, 28806, 28807, 28808, 28818, 28821, 28822, 28834, 28835, 28836, 28837, 28838, 28840, 28842, 28843, 28848, 28849, 28850, 28851, 28854, 28855, 28858, 28860, 28861, 28862, 28863, 28864, 28865, 28878, 28879, 28885, 28891, 28892, 28893, 28896, 28897, 28898, 28899, 28900, 28901, 28902, 28903, 28904, 28905, 28908, 28909, 28913, 28914, 28920, 28921, 28922, 28924, 28925, 28926, 28927, 28928, 28929, 28932, 28933, 28934, 28937, 28941, 28942, 28946, 28947, 28948, 28965, 28967, 28969, 28970, 28971, 28975, 28976, 28977, 28984, 28985, 28986, 28987, 28993, 28994, 28995, 28996, 28997, 29005, 29007, 29008, 29010, 29011, 29012, 29013, 29015, 29019, 29020, 29021, 29022, 29023, 29025, 29026, 29030, 29031, 29033, 29034, 29036, 29037, 29039, 29044, 29047, 29048, 29050, 29051, 29052, 29053, 29054, 29055, 29059, 29072, 29076, 29077, 29078, 29079, 29085, 29087, 29088, 29089, 29090, 29091, 29092, 29093, 29098, 29099, 29102, 29103, 29110, 29111, 29114, 29121, 29132, 29145, 29146, 29147, 29148, 29154, 29161, 29178, 29185, 29203, 29227, 29228, 29229, 29230, 29231, 29232, 29233, 29234, 29243, 29250, 29255, 29256, 29258, 29261, 29265, 29268, 29325, 29337, 29338, 29339, 29344, 29366, 29368, 29369, 29371, 29375, 29378, 29379, 29391, 29392, 29395, 29398, 29403, 29404, 29426, 29428, 29429, 29435, 29444, 29477, 29478, 29480, 29484, 29491, 29493, 29496, 29497, 29499, 29500, 29502, 29504, 29506, 29507, 29508, 29510, 29512, 29514, 29516, 29518, 29522, 29524, 29526, 29529, 29530, 29531, 29532, 29535, 29536, 29537, 29541, 29542, 29543, 29546, 29547, 29551, 29553, 29556, 29557, 29558, 29562, 29568, 29569, 29570, 29571, 29573, 29574, 29575, 29576, 29577, 29578, 29579, 29580, 29581, 29582, 29583, 29588, 29589, 29591, 29592, 29599, 29601, 29602, 29603, 29604, 29609, 29614, 29615, 29616, 29623, 29624, 29634, 29635, 29636, 29637, 29639, 29640, 29643, 29645, 29646, 29648, 29649, 29650, 29651, 29652, 29653, 29654, 29659, 29660, 29673, 29679, 29682, 29683, 29684, 29685, 29686, 29687, 29690, 29691, 29697, 29699, 29701, 29704, 29706, 29708, 29710, 29712, 29714, 29716, 29717, 29719, 29720, 29723, 29724, 29728, 29729, 29733, 29738, 29755, 29758, 29759, 29762, 29765, 29767, 29768, 29772, 29773, 29774, 29775, 29779, 29782, 29783, 29784, 29787, 29788, 29789, 29791, 29792, 29793, 29795, 29796, 29812, 29813, 29814, 29817, 29818, 29820, 29824, 29825, 29829, 29830, 29833, 29835, 29836, 29837, 29842, 29843, 29844, 29845, 29846, 29852, 29853, 29855, 29856, 29858, 29859, 29860, 29862, 29864, 29866, 29867, 29870, 29871, 29881, 29882, 29888, 29893, 29894, 29895, 29896, 29898, 29899, 29900, 29901, 29903, 29904, 29915, 29970, 29984, 29989, 29990, 29991, 29995, 29996, 29997, 30000, 30005, 30007, 30008, 30019, 30020, 30021, 30022, 30041, 30048, 30065, 30066, 30069, 30075, 30120, 30141, 30148, 30149, 30151, 30156, 30163, 30178, 30193, 30196, 30197, 30199, 30226, 30259, 30260, 30268, 30269, 30270, 30271, 30272, 30277, 30283, 30285, 30300, 30310, 30324, 30326, 30331, 30340, 30341, 30342, 30350, 30357, 30358, 30359, 30360, 30363, 30364, 30365, 30368, 30369, 30372, 30374, 30376, 30377, 30380, 30381, 30384, 30386, 30388, 30390, 30401, 30414, 30416, 30417, 30439, 30450, 30453, 30454, 30455, 30457, 30459, 30468, 30469, 30472, 30473, 30475, 30476, 30481, 30484, 30485, 30488, 30489, 30507, 30508, 30509, 30511, 30528, 30530, 30534, 30570, 30571, 30576, 30577, 30582, 30583, 30591, 30592, 30597, 30598, 30599, 30600, 30602, 30603, 30604, 30606, 30607, 30608, 30611, 30616, 30617, 30618, 30619, 30620, 30621, 30630, 30631, 30633, 30635, 30636, 30637, 30638, 30640, 30652, 30657, 30659, 30663, 30665, 30667, 30668, 30671, 30672, 30673, 30674, 30676, 30678, 30680, 30681, 30683, 30685, 30688, 30690, 30693, 30694, 30696, 30697, 30708, 30709, 30712, 30716, 30721, 30725, 30728, 30731, 30739, 30740, 30741, 30742, 30745, 30746, 30747, 30748, 30750, 30751, 30768, 30769, 30770, 30772, 30773, 30775, 30790, 30793, 30797, 30798, 30800, 30801, 30802, 30804, 30807, 30809, 30810, 30815, 30816, 30821, 30826, 30838, 30840, 30841, 30842, 30843, 30850, 30851, 30856, 30857, 30858, 30859, 30860, 30862, 30868, 30869, 30878, 30879, 30880, 30881, 30883, 30893, 30895, 30897, 30900, 30901, 30907, 30908, 30909, 30910, 30911, 30912, 30965, 30967, 30972, 30973, 30975, 30978, 30979, 30980, 30981, 30982, 30983, 30987, 30991, 30993, 31005, 31006, 31008, 31011, 31012, 31014, 31015, 31016, 31020, 31021, 31022, 31025, 31026, 31028, 31029, 31030, 31031, 31033, 31034, 31037, 31039, 31040, 31050, 31082, 31089, 31095, 31097, 31103, 31112, 31117, 31124, 31127, 31128, 31133, 31134, 31135, 31166, 31167, 31168, 31170, 31175, 31176, 31182, 31187, 31194, 31195, 31197, 31201, 31286, 31299, 31300, 31301, 31302, 31306, 31346, 31347, 31410, 31413, 31414, 31428, 31465, 31472, 31474, 31522, 31526, 31548, 31564, 31565, 31574, 31578, 31613, 31614, 31616, 31647, 31648, 31649, 31650, 31651, 31652, 31653, 31654, 31656, 31657, 31658, 31659, 31661, 31662, 31663, 31676, 31677, 31678, 31679, 31680, 31682, 31683, 31684, 31703, 31706, 31707, 31709, 31713, 31726, 31730, 31736, 31737, 31749, 31751, 31752, 31753, 31761, 31762, 31778, 31788, 31812, 31813, 31819, 31821, 31823, 31833, 31839, 31840, 31842, 31847, 31848, 31851, 31852, 31892, 32104, 32105, 32179);
+UPDATE `creature_model_info` SET `gender`=1 WHERE `modelid` IN (39, 50, 52, 54, 56, 58, 60, 80, 93, 94, 95, 96, 97, 98, 99, 100, 109, 140, 148, 159, 162, 186, 213, 215, 224, 225, 228, 232, 252, 257, 258, 278, 285, 302, 327, 330, 344, 375, 423, 424, 425, 427, 560, 660, 696, 751, 752, 753, 754, 876, 883, 900, 915, 964, 967, 968, 969, 970, 971, 972, 974, 1029, 1048, 1049, 1165, 1223, 1225, 1237, 1255, 1256, 1286, 1287, 1295, 1296, 1297, 1300, 1312, 1319, 1322, 1325, 1333, 1350, 1351, 1352, 1358, 1360, 1361, 1367, 1378, 1380, 1381, 1389, 1401, 1404, 1407, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1469, 1470, 1471, 1472, 1473, 1474, 1477, 1479, 1480, 1481, 1482, 1483, 1495, 1496, 1497, 1498, 1520, 1521, 1522, 1523, 1526, 1543, 1544, 1546, 1564, 1571, 1592, 1593, 1594, 1601, 1603, 1607, 1608, 1612, 1614, 1615, 1620, 1632, 1633, 1634, 1636, 1637, 1639, 1640, 1643, 1645, 1651, 1658, 1670, 1679, 1681, 1682, 1691, 1692, 1697, 1700, 1702, 1705, 1707, 1708, 1710, 1714, 1716, 1717, 1719, 1721, 1723, 1726, 1727, 1728, 1730, 1733, 1743, 1745, 1750, 1760, 1766, 1768, 1786, 1791, 1793, 1799, 1811, 1812, 1814, 1815, 1828, 1839, 1840, 1841, 1842, 1843, 1850, 1852, 1853, 1855, 1856, 1857, 1862, 1868, 1874, 1875, 1878, 1879, 1882, 1890, 1897, 1900, 1905, 1907, 1908, 1914, 1915, 1916, 1927, 1932, 1933, 1937, 1942, 1957, 1969, 1978, 1980, 1981, 1982, 2031, 2034, 2035, 2036, 2037, 2038, 2043, 2047, 2049, 2050, 2053, 2054, 2055, 2056, 2057, 2058, 2068, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2132, 2133, 2143, 2162, 2163, 2164, 2165, 2166, 2167, 2178, 2182, 2183, 2191, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2240, 2279, 2294, 2295, 2296, 2306, 2315, 2317, 2319, 2321, 2330, 2331, 2333, 2336, 2339, 2341, 2344, 2348, 2349, 2355, 2358, 2359, 2362, 2365, 2366, 2374, 2375, 2379, 2386, 2391, 2394, 2396, 2398, 2399, 2400, 2401, 2407, 2412, 2413, 2415, 2422, 2443, 2448, 2459, 2460, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2494, 2496, 2497, 2500, 2501, 2503, 2505, 2508, 2509, 2512, 2515, 2516, 2518, 2521, 2523, 2525, 2529, 2558, 2575, 2577, 2579, 2583, 2585, 2587, 2589, 2590, 2591, 2608, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2718, 2721, 2722, 2723, 2734, 2737, 2788, 2811, 2834, 2858, 2861, 2863, 2865, 2866, 2867, 2869, 2874, 2883, 2884, 2885, 2886, 2889, 2893, 2896, 2901, 2959, 2966, 2970, 2973, 2979, 2980, 2993, 2999, 3000, 3001, 3003, 3012, 3013, 3021, 3022, 3039, 3041, 3048, 3049, 3050, 3051, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3106, 3108, 3119, 3120, 3121, 3124, 3125, 3128, 3130, 3133, 3135, 3143, 3145, 3218, 3227, 3230, 3234, 3257, 3260, 3268, 3269, 3270, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3295, 3296, 3297, 3311, 3312, 3313, 3318, 3320, 3321, 3322, 3323, 3329, 3330, 3335, 3339, 3344, 3345, 3349, 3356, 3363, 3364, 3366, 3367, 3368, 3369, 3371, 3375, 3377, 3378, 3379, 3405, 3445, 3448, 3450, 3455, 3463, 3466, 3485, 3486, 3489, 3515, 3517, 3520, 3528, 3529, 3540, 3543, 3544, 3547, 3549, 3560, 3562, 3564, 3567, 3569, 3579, 3580, 3582, 3584, 3586, 3588, 3590, 3591, 3593, 3602, 3611, 3630, 3641, 3650, 3651, 3654, 3657, 3659, 3663, 3677, 3689, 3707, 3710, 3713, 3715, 3717, 3718, 3722, 3724, 3726, 3728, 3730, 3735, 3750, 3762, 3764, 3766, 3768, 3770, 3772, 3779, 3780, 3781, 3784, 3786, 3788, 3791, 3797, 3798, 3806, 3807, 3820, 3828, 3830, 3834, 3836, 3838, 3840, 3841, 3848, 3850, 3860, 3861, 3867, 3871, 3875, 3883, 3892, 3893, 3896, 3897, 3901, 3904, 3915, 3918, 3931, 3932, 3935, 3938, 3943, 3944, 3945, 3949, 3953, 3961, 3966, 3972, 3977, 3978, 3979, 3980, 3983, 3988, 3990, 3992, 3994, 3996, 3998, 3999, 4002, 4004, 4009, 4010, 4012, 4015, 4017, 4019, 4023, 4025, 4026, 4027, 4031, 4035, 4038, 4041, 4046, 4052, 4053, 4054, 4056, 4057, 4058, 4059, 4060, 4077, 4080, 4084, 4085, 4087, 4089, 4106, 4108, 4109, 4112, 4113, 4114, 4115, 4122, 4123, 4126, 4128, 4129, 4131, 4133, 4135, 4138, 4140, 4144, 4146, 4147, 4149, 4151, 4153, 4158, 4162, 4168, 4175, 4176, 4177, 4179, 4181, 4182, 4187, 4189, 4191, 4193, 4195, 4196, 4198, 4210, 4217, 4219, 4221, 4223, 4230, 4231, 4233, 4234, 4235, 4236, 4240, 4241, 4247, 4250, 4251, 4254, 4260, 4263, 4264, 4273, 4274, 4277, 4278, 4280, 4282, 4284, 4290, 4302, 4313, 4314, 4322, 4323, 4330, 4334, 4337, 4340, 4345, 4346, 4348, 4350, 4351, 4352, 4355, 4356, 4357, 4358, 4362, 4369, 4375, 4377, 4378, 4379, 4383, 4385, 4393, 4394, 4399, 4402, 4403, 4406, 4409, 4410, 4411, 4412, 4419, 4421, 4433, 4462, 4481, 4487, 4488, 4490, 4496, 4498, 4500, 4502, 4504, 4510, 4513, 4522, 4523, 4524, 4526, 4528, 4529, 4533, 4536, 4538, 4541, 4546, 4558, 4578, 4601, 4605, 4614, 4618, 4619, 4642, 4643, 4647, 4665, 4669, 4670, 4673, 4674, 4675, 4677, 4681, 4682, 4691, 4695, 4698, 4700, 4702, 4704, 4706, 4708, 4710, 4712, 4718, 4728, 4729, 4730, 4731, 4756, 4770, 4772, 4774, 4777, 4780, 4782, 4841, 4842, 4843, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4851, 4852, 4853, 4854, 4855, 4856, 4857, 4858, 4859, 4861, 4862, 4871, 4875, 4888, 4892, 4894, 4897, 4909, 4912, 4913, 4914, 4915, 4929, 4941, 4943, 4948, 4951, 4958, 4966, 4967, 4968, 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4985, 4991, 4994, 5017, 5018, 5022, 5029, 5033, 5036, 5040, 5042, 5043, 5086, 5091, 5092, 5093, 5129, 5130, 5165, 5186, 5233, 5235, 5365, 5366, 5367, 5371, 5375, 5378, 5407, 5408, 5425, 5429, 5435, 5439, 5441, 5442, 5444, 5446, 5487, 5499, 5506, 5527, 5531, 5533, 5545, 5546, 5552, 5565, 5569, 5572, 5574, 5706, 5725, 5745, 5765, 5774, 5777, 5783, 5807, 5809, 5811, 5815, 5817, 5819, 5823, 5825, 5827, 5829, 5847, 5909, 5910, 6005, 6058, 6061, 6064, 6088, 6089, 6090, 6091, 6092, 6093, 6095, 6096, 6098, 6099, 6100, 6101, 6102, 6110, 6111, 6112, 6113, 6116, 6120, 6128, 6210, 6213, 6214, 6229, 6234, 6248, 6328, 6348, 6349, 6391, 6392, 6394, 6396, 6398, 6400, 6402, 6404, 6406, 6408, 6412, 6414, 6416, 6418, 6420, 6422, 6424, 6426, 6428, 6430, 6435, 6437, 6438, 6481, 6482, 6484, 6486, 6488, 6490, 6492, 6494, 6496, 6498, 6508, 6509, 6511, 6513, 6515, 6536, 6539, 6541, 6543, 6547, 6548, 6551, 6553, 6554, 6588, 6609, 6611, 6629, 6631, 6671, 6673, 6676, 6677, 6679, 6681, 6684, 6685, 6703, 6712, 6714, 6716, 6718, 6720, 6722, 6724, 6726, 6728, 6730, 6732, 6734, 6739, 6742, 6749, 6750, 6753, 6755, 6761, 6766, 6768, 6771, 6773, 6781, 6782, 6783, 6786, 6788, 6790, 6792, 6794, 6796, 6797, 6812, 6813, 6814, 6815, 6831, 6833, 6835, 6840, 6880, 6881, 6895, 6919, 6941, 6945, 6948, 6951, 6956, 6958, 6960, 6964, 6975, 6976, 6982, 6985, 6986, 6987, 6992, 6993, 6998, 6999, 7000, 7002, 7012, 7013, 7014, 7015, 7017, 7018, 7020, 7023, 7025, 7030, 7039, 7040, 7044, 7045, 7116, 7118, 7119, 7121, 7122, 7123, 7138, 7175, 7248, 7268, 7270, 7274, 7275, 7309, 7311, 7330, 7358, 7359, 7363, 7365, 7369, 7371, 7375, 7376, 7378, 7382, 7532, 7536, 7589, 7590, 7592, 7596, 7599, 7602, 7603, 7605, 7608, 7610, 7611, 7615, 7621, 7625, 7627, 7628, 7669, 7729, 7730, 7754, 7756, 7802, 7808, 7812, 7818, 7821, 7823, 7825, 7828, 7830, 7833, 7834, 7850, 7863, 7870, 7872, 7876, 7895, 7905, 7909, 7911, 7913, 7917, 7918, 7922, 7923, 7934, 7936, 7969, 7974, 7989, 7994, 7995, 8171, 8185, 8190, 8191, 8249, 8309, 8312, 8314, 8316, 8330, 8332, 8356, 8429, 8476, 8478, 8479, 8489, 8570, 8572, 8630, 8632, 8650, 8651, 8657, 8659, 8660, 8665, 8671, 8672, 8675, 8676, 8680, 8683, 8684, 8690, 8691, 8693, 8695, 8705, 8761, 8763, 8765, 8768, 8769, 8774, 8776, 8779, 8789, 8795, 8796, 8800, 8801, 8809, 8831, 8889, 8890, 8892, 8896, 8897, 8949, 9025, 9055, 9070, 9071, 9109, 9131, 9132, 9136, 9150, 9249, 9251, 9253, 9254, 9255, 9257, 9260, 9262, 9263, 9264, 9269, 9270, 9273, 9282, 9290, 9294, 9295, 9330, 9331, 9338, 9339, 9342, 9343, 9344, 9346, 9347, 9350, 9392, 9412, 9416, 9423, 9424, 9429, 9431, 9438, 9440, 9443, 9529, 9530, 9531, 9534, 9551, 9553, 9676, 9677, 9684, 9685, 9711, 9712, 9717, 9718, 9721, 9722, 9726, 9727, 9730, 9731, 9732, 9754, 9763, 9765, 9767, 9774, 9775, 9780, 9791, 9795, 9796, 9800, 9801, 9804, 9805, 9808, 9810, 9811, 9812, 9813, 9818, 9821, 9822, 9823, 9849, 9850, 9851, 9852, 9853, 9854, 9855, 9856, 9857, 9858, 9859, 9860, 9861, 9862, 9863, 9864, 9865, 9866, 9867, 9868, 9869, 9870, 9871, 9872, 9873, 9874, 9875, 9876, 9877, 9878, 9879, 9880, 9881, 9882, 9883, 9884, 9885, 9886, 9887, 9888, 9889, 9890, 9891, 9892, 9893, 9894, 9895, 9896, 9897, 9937, 9938, 9941, 9942, 9949, 9950, 9951, 9953, 9954, 9955, 9956, 9957, 9958, 10004, 10008, 10034, 10051, 10052, 10054, 10070, 10092, 10093, 10113, 10129, 10134, 10138, 10140, 10142, 10144, 10145, 10147, 10149, 10153, 10174, 10175, 10178, 10179, 10180, 10185, 10191, 10199, 10211, 10212, 10214, 10220, 10221, 10223, 10224, 10227, 10228, 10232, 10233, 10234, 10238, 10239, 10249, 10250, 10253, 10280, 10281, 10282, 10288, 10289, 10293, 10294, 10297, 10298, 10301, 10302, 10305, 10306, 10309, 10310, 10313, 10314, 10322, 10323, 10326, 10327, 10330, 10331, 10334, 10335, 10337, 10346, 10347, 10352, 10353, 10360, 10361, 10368, 10369, 10372, 10373, 10378, 10380, 10381, 10385, 10386, 10389, 10390, 10393, 10394, 10396, 10397, 10400, 10401, 10402, 10405, 10406, 10407, 10410, 10411, 10412, 10415, 10416, 10419, 10420, 10423, 10424, 10429, 10430, 10431, 10432, 10436, 10437, 10439, 10440, 10445, 10446, 10447, 10455, 10459, 10465, 10477, 10480, 10481, 10485, 10486, 10490, 10491, 10494, 10495, 10498, 10499, 10502, 10503, 10506, 10507, 10510, 10511, 10514, 10515, 10518, 10519, 10531, 10532, 10533, 10534, 10537, 10538, 10541, 10542, 10549, 10550, 10557, 10559, 10562, 10563, 10564, 10565, 10569, 10571, 10573, 10574, 10575, 10581, 10582, 10591, 10592, 10609, 10610, 10615, 10620, 10623, 10624, 10633, 10634, 10639, 10640, 10646, 10651, 10652, 10654, 10657, 10659, 10663, 10665, 10690, 10692, 10702, 10722, 10723, 10725, 10731, 10732, 10733, 10734, 10737, 10744, 10745, 10746, 10749, 10750, 10751, 10752, 10822, 10823, 10857, 10869, 10870, 10871, 10872, 10873, 10874, 10875, 10876, 10877, 10895, 10909, 10910, 10923, 10924, 10925, 10926, 10927, 10928, 10929, 10941, 10942, 10948, 10955, 10956, 10994, 10995, 11015, 11016, 11019, 11020, 11023, 11024, 11026, 11039, 11041, 11043, 11044, 11045, 11046, 11047, 11048, 11050, 11057, 11058, 11059, 11061, 11062, 11069, 11073, 11076, 11077, 11082, 11083, 11102, 11103, 11111, 11112, 11115, 11116, 11118, 11120, 11122, 11125, 11128, 11131, 11134, 11145, 11148, 11151, 11154, 11157, 11160, 11161, 11162, 11163, 11164, 11169, 11170, 11173, 11175, 11176, 11177, 11184, 11185, 11191, 11192, 11195, 11196, 11199, 11200, 11203, 11204, 11206, 11208, 11210, 11212, 11214, 11216, 11219, 11220, 11223, 11224, 11227, 11228, 11231, 11232, 11235, 11236, 11239, 11240, 11242, 11244, 11247, 11248, 11250, 11252, 11259, 11260, 11261, 11262, 11263, 11266, 11268, 11270, 11273, 11280, 11281, 11282, 11285, 11290, 11291, 11292, 11294, 11295, 11300, 11304, 11308, 11323, 11324, 11329, 11330, 11352, 11356, 11381, 11388, 11389, 11392, 11393, 11407, 11408, 11423, 11432, 11433, 11436, 11437, 11440, 11441, 11442, 11444, 11445, 11446, 11457, 11458, 11462, 11463, 11477, 11478, 11512, 11589, 11593, 11594, 11596, 11637, 11654, 11657, 11662, 11663, 11665, 11668, 11670, 11672, 11673, 11675, 11676, 11681, 11682, 11683, 11684, 11687, 11689, 11691, 11692, 11714, 11729, 11734, 11735, 11737, 11739, 11741, 11742, 11744, 11746, 11747, 11748, 11750, 11752, 11760, 11761, 11764, 11765, 11766, 11767, 11770, 11771, 11775, 11777, 11789, 11796, 11800, 11802, 11810, 11813, 11815, 11819, 11821, 11823, 11824, 11827, 11835, 11850, 11853, 11854, 11857, 11858, 11861, 11862, 11865, 11867, 11869, 11871, 11873, 11875, 11877, 11879, 11881, 11883, 11885, 11888, 11889, 11890, 11898, 11901, 11903, 11904, 11929, 11950, 11951, 11952, 11954, 11958, 11959, 11960, 11964, 11966, 11968, 11970, 11971, 11974, 11975, 11978, 11980, 11983, 11985, 11988, 11989, 11992, 11993, 11998, 11999, 12004, 12006, 12009, 12011, 12013, 12014, 12017, 12019, 12021, 12022, 12023, 12027, 12035, 12037, 12038, 12040, 12042, 12043, 12049, 12054, 12056, 12059, 12062, 12063, 12064, 12066, 12067, 12069, 12070, 12071, 12072, 12077, 12079, 12082, 12084, 12166, 12169, 12229, 12270, 12271, 12291, 12292, 12337, 12392, 12409, 12430, 12469, 12476, 12477, 12549, 12569, 12649, 12670, 12674, 12675, 12677, 12680, 12681, 12689, 12749, 12789, 12811, 12823, 12824, 12830, 12831, 12889, 12892, 12894, 12912, 12913, 12914, 12916, 12922, 12923, 12924, 12927, 12931, 12933, 12935, 12936, 12940, 12941, 12946, 12948, 12950, 12952, 12955, 12958, 12964, 12968, 12970, 12972, 12973, 12974, 12976, 12991, 12992, 13169, 13189, 13190, 13229, 13230, 13231, 13232, 13250, 13251, 13255, 13256, 13259, 13261, 13263, 13265, 13267, 13268, 13271, 13272, 13275, 13277, 13279, 13283, 13287, 13289, 13290, 13291, 13292, 13293, 13295, 13297, 13299, 13302, 13304, 13305, 13307, 13309, 13313, 13314, 13317, 13318, 13323, 13328, 13331, 13337, 13339, 13344, 13345, 13347, 13350, 13352, 13354, 13355, 13357, 13358, 13359, 13360, 13362, 13366, 13368, 13372, 13373, 13376, 13378, 13380, 13381, 13387, 13389, 13391, 13393, 13395, 13399, 13401, 13402, 13403, 13410, 13412, 13413, 13431, 13433, 13435, 13437, 13441, 13443, 13451, 13452, 13473, 13474, 13477, 13478, 13529, 13531, 13534, 13536, 13537, 13539, 13542, 13545, 13546, 13549, 13550, 13551, 13553, 13555, 13557, 13559, 13561, 13562, 13564, 13566, 13568, 13570, 13572, 13574, 13591, 13593, 13595, 13597, 13599, 13601, 13631, 13633, 13635, 13637, 13639, 13641, 13643, 13646, 13648, 13651, 13653, 13655, 13657, 13659, 13661, 13669, 13670, 13672, 13673, 13674, 13675, 13676, 13677, 13678, 13679, 13680, 13681, 13682, 13683, 13684, 13685, 13686, 13687, 13688, 13689, 13710, 13712, 13770, 13772, 13774, 13776, 13778, 13780, 13782, 13784, 13787, 13788, 13791, 13792, 13794, 13796, 13798, 13800, 13802, 13804, 13806, 13810, 13812, 13814, 13816, 13819, 13820, 13823, 13824, 13826, 13829, 13830, 13832, 13834, 13836, 13838, 13840, 13843, 13851, 13855, 13856, 13890, 13892, 13894, 13896, 13909, 13949, 13951, 13953, 13970, 14015, 14016, 14019, 14020, 14023, 14024, 14028, 14029, 14032, 14033, 14036, 14037, 14054, 14055, 14058, 14059, 14060, 14062, 14192, 14215, 14294, 14295, 14298, 14299, 14300, 14301, 14302, 14303, 14305, 14306, 14314, 14321, 14324, 14325, 14327, 14353, 14362, 14363, 14364, 14370, 14378, 14393, 14399, 14400, 14410, 14411, 14414, 14417, 14418, 14419, 14421, 14425, 14426, 14454, 14499, 14500, 14535, 14536, 14539, 14540, 14545, 14588, 14613, 14614, 14615, 14616, 14656, 14663, 14709, 14712, 14713, 14714, 14715, 14716, 14717, 14754, 14757, 14759, 14762, 14763, 14767, 14768, 14771, 14781, 14784, 14795, 14796, 14799, 14800, 14813, 14873, 14874, 14876, 14880, 14882, 14912, 14914, 14943, 14944, 14946, 14947, 14973, 14974, 14975, 14976, 14977, 14978, 14979, 14980, 14981, 14982, 14983, 14984, 14996, 14999, 15001, 15002, 15013, 15033, 15094, 15098, 15100, 15112, 15116, 15140, 15143, 15154, 15155, 15177, 15179, 15188, 15190, 15191, 15197, 15199, 15208, 15209, 15212, 15213, 15218, 15219, 15220, 15223, 15225, 15226, 15229, 15232, 15236, 15241, 15242, 15244, 15246, 15249, 15250, 15253, 15254, 15255, 15256, 15257, 15258, 15262, 15264, 15266, 15272, 15282, 15283, 15286, 15287, 15300, 15306, 15307, 15308, 15312, 15316, 15317, 15321, 15323, 15325, 15328, 15330, 15332, 15341, 15349, 15353, 15358, 15368, 15372, 15373, 15377, 15388, 15390, 15391, 15407, 15410, 15420, 15425, 15429, 15430, 15443, 15446, 15449, 15450, 15453, 15454, 15455, 15458, 15459, 15466, 15472, 15475, 15477, 15480, 15482, 15503, 15505, 15508, 15510, 15514, 15516, 15518, 15520, 15522, 15523, 15525, 15526, 15527, 15529, 15530, 15531, 15535, 15539, 15541, 15542, 15549, 15551, 15564, 15570, 15580, 15585, 15594, 15598, 15599, 15602, 15605, 15607, 15608, 15618, 15619, 15620, 15623, 15628, 15629, 15631, 15633, 15639, 15640, 15645, 15647, 15652, 15653, 15663, 15664, 15666, 15669, 15670, 15702, 15708, 15712, 15715, 15717, 15719, 15721, 15723, 15724, 15725, 15727, 15730, 15751, 15754, 15764, 15765, 15768, 15769, 15772, 15773, 15777, 15781, 15783, 15795, 15796, 15797, 15798, 15799, 15800, 15801, 15802, 15810, 15812, 15822, 15824, 15826, 15828, 15830, 15832, 15834, 15836, 15839, 15841, 15842, 15846, 15848, 15850, 15852, 15854, 15857, 15859, 15861, 15865, 15871, 15873, 15874, 15876, 15877, 15885, 15886, 15888, 15890, 15892, 15894, 15897, 15898, 15899, 15907, 15908, 15910, 15911, 15913, 15917, 15919, 15924, 15928, 15930, 15933, 15940, 15947, 15950, 15952, 15957, 15959, 15965, 15967, 15974, 15980, 15999, 16000, 16009, 16010, 16014, 16016, 16018, 16019, 16030, 16031, 16036, 16038, 16046, 16059, 16062, 16065, 16069, 16073, 16078, 16080, 16084, 16085, 16086, 16087, 16090, 16092, 16094, 16095, 16104, 16107, 16113, 16115, 16116, 16117, 16119, 16120, 16121, 16122, 16124, 16126, 16133, 16148, 16150, 16152, 16153, 16161, 16171, 16183, 16185, 16186, 16187, 16193, 16196, 16198, 16200, 16202, 16210, 16211, 16218, 16221, 16222, 16223, 16227, 16230, 16231, 16232, 16238, 16239, 16240, 16247, 16249, 16281, 16288, 16289, 16290, 16291, 16296, 16298, 16299, 16315, 16318, 16321, 16322, 16327, 16334, 16337, 16338, 16344, 16345, 16363, 16365, 16367, 16372, 16381, 16388, 16390, 16392, 16394, 16399, 16400, 16410, 16412, 16420, 16424, 16429, 16431, 16434, 16436, 16440, 16441, 16443, 16445, 16447, 16450, 16456, 16457, 16460, 16461, 16462, 16466, 16467, 16477, 16487, 16488, 16492, 16493, 16496, 16497, 16499, 16501, 16504, 16507, 16511, 16512, 16516, 16517, 16518, 16520, 16526, 16527, 16531, 16532, 16537, 16538, 16541, 16543, 16544, 16545, 16546, 16547, 16548, 16549, 16550, 16551, 16552, 16553, 16554, 16557, 16558, 16561, 16562, 16565, 16566, 16569, 16585, 16588, 16592, 16596, 16597, 16600, 16601, 16604, 16606, 16610, 16613, 16627, 16636, 16639, 16640, 16644, 16647, 16649, 16650, 16653, 16654, 16663, 16668, 16671, 16672, 16675, 16676, 16677, 16678, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16694, 16695, 16696, 16698, 16709, 16713, 16716, 16718, 16722, 16725, 16726, 16732, 16733, 16736, 16739, 16740, 16744, 16745, 16748, 16749, 16750, 16751, 16752, 16753, 16754, 16760, 16763, 16764, 16765, 16775, 16776, 16777, 16778, 16779, 16780, 16781, 16782, 16785, 16791, 16792, 16795, 16796, 16797, 16798, 16799, 16800, 16801, 16802, 16803, 16804, 16805, 16812, 16820, 16833, 16834, 16845, 16846, 16850, 16853, 16856, 16857, 16859, 16864, 16865, 16867, 16869, 16905, 16907, 16911, 16914, 16923, 16924, 16926, 16932, 16936, 16945, 16948, 16949, 16959, 16963, 16965, 16976, 16979, 16980, 17001, 17004, 17007, 17022, 17025, 17026, 17027, 17031, 17037, 17047, 17068, 17069, 17082, 17090, 17114, 17116, 17120, 17121, 17124, 17136, 17138, 17160, 17165, 17172, 17174, 17178, 17179, 17180, 17197, 17211, 17214, 17215, 17220, 17223, 17226, 17230, 17231, 17234, 17236, 17241, 17242, 17245, 17251, 17260, 17265, 17266, 17268, 17269, 17271, 17275, 17282, 17284, 17293, 17294, 17297, 17306, 17311, 17313, 17315, 17325, 17326, 17327, 17334, 17339, 17340, 17341, 17346, 17350, 17351, 17354, 17355, 17358, 17359, 17362, 17363, 17366, 17368, 17369, 17374, 17375, 17377, 17381, 17388, 17403, 17412, 17419, 17420, 17421, 17424, 17427, 17428, 17435, 17436, 17439, 17440, 17441, 17442, 17448, 17449, 17458, 17465, 17471, 17475, 17476, 17480, 17482, 17483, 17484, 17486, 17487, 17489, 17491, 17492, 17493, 17495, 17496, 17497, 17499, 17500, 17501, 17506, 17508, 17509, 17514, 17515, 17517, 17529, 17531, 17534, 17543, 17548, 17550, 17551, 17564, 17566, 17567, 17571, 17577, 17579, 17582, 17614, 17623, 17624, 17629, 17636, 17640, 17641, 17651, 17652, 17660, 17666, 17667, 17669, 17670, 17671, 17676, 17683, 17684, 17690, 17723, 17734, 17742, 17744, 17770, 17775, 17776, 17779, 17780, 17785, 17790, 17791, 17810, 17813, 17814, 17815, 17819, 17820, 17828, 17830, 17842, 17843, 17849, 17850, 17873, 17878, 17882, 17884, 17894, 17895, 17898, 17905, 17907, 17912, 17916, 17917, 17919, 17922, 17923, 17926, 17927, 17930, 17931, 17934, 17935, 17937, 17940, 17941, 17944, 17945, 17947, 17948, 17952, 17953, 17959, 17960, 17963, 17964, 17967, 17968, 17969, 17979, 17980, 17981, 17987, 17999, 18000, 18003, 18008, 18009, 18018, 18019, 18021, 18022, 18041, 18043, 18044, 18049, 18052, 18057, 18060, 18061, 18067, 18073, 18079, 18080, 18086, 18090, 18095, 18097, 18100, 18106, 18108, 18110, 18112, 18113, 18119, 18121, 18123, 18125, 18126, 18129, 18132, 18133, 18137, 18148, 18149, 18151, 18153, 18161, 18171, 18173, 18180, 18184, 18185, 18191, 18196, 18197, 18200, 18201, 18205, 18206, 18212, 18217, 18220, 18233, 18234, 18239, 18247, 18248, 18252, 18256, 18257, 18259, 18260, 18262, 18265, 18266, 18276, 18293, 18298, 18299, 18305, 18309, 18318, 18319, 18331, 18332, 18335, 18337, 18344, 18346, 18348, 18386, 18391, 18392, 18395, 18396, 18419, 18433, 18436, 18438, 18440, 18441, 18442, 18447, 18451, 18452, 18453, 18455, 18458, 18465, 18466, 18468, 18469, 18472, 18478, 18482, 18486, 18488, 18491, 18496, 18499, 18508, 18521, 18524, 18537, 18541, 18548, 18550, 18555, 18559, 18564, 18565, 18574, 18575, 18585, 18586, 18587, 18588, 18596, 18597, 18598, 18605, 18606, 18608, 18612, 18613, 18614, 18618, 18619, 18625, 18629, 18630, 18663, 18665, 18677, 18678, 18680, 18699, 18705, 18706, 18707, 18708, 18711, 18716, 18729, 18730, 18737, 18757, 18758, 18763, 18767, 18768, 18770, 18774, 18775, 18777, 18778, 18781, 18782, 18785, 18791, 18794, 18796, 18798, 18800, 18802, 18804, 18806, 18808, 18810, 18827, 18830, 18831, 18840, 18842, 18844, 18846, 18858, 18867, 18869, 18871, 18873, 18875, 18883, 18884, 18897, 18903, 18905, 18907, 18910, 18917, 18918, 18923, 18926, 18929, 18931, 18932, 18939, 18968, 18969, 18978, 18979, 18981, 18983, 18985, 18986, 18991, 18993, 19002, 19004, 19019, 19048, 19050, 19061, 19063, 19086, 19091, 19100, 19101, 19106, 19107, 19115, 19116, 19119, 19120, 19121, 19122, 19125, 19126, 19137, 19138, 19140, 19147, 19155, 19161, 19166, 19169, 19171, 19173, 19175, 19177, 19179, 19181, 19183, 19185, 19187, 19193, 19195, 19199, 19204, 19207, 19210, 19217, 19225, 19229, 19242, 19243, 19245, 19250, 19268, 19271, 19278, 19280, 19281, 19282, 19306, 19307, 19310, 19311, 19315, 19316, 19318, 19327, 19333, 19334, 19335, 19339, 19340, 19341, 19348, 19355, 19365, 19366, 19379, 19380, 19381, 19387, 19391, 19393, 19397, 19399, 19413, 19420, 19421, 19424, 19425, 19428, 19431, 19441, 19442, 19443, 19444, 19450, 19451, 19461, 19462, 19464, 19465, 19466, 19467, 19471, 19473, 19475, 19477, 19487, 19488, 19491, 19493, 19494, 19498, 19500, 19504, 19506, 19508, 19510, 19511, 19512, 19517, 19518, 19519, 19525, 19526, 19534, 19535, 19545, 19570, 19571, 19572, 19573, 19574, 19586, 19587, 19588, 19589, 19596, 19598, 19613, 19640, 19660, 19664, 19665, 19713, 19714, 19716, 19717, 19724, 19729, 19730, 19785, 19790, 19792, 19794, 19803, 19804, 19806, 19809, 19810, 19811, 19812, 19816, 19818, 19819, 19820, 19823, 19826, 19828, 19830, 19832, 19834, 19836, 19846, 19881, 19887, 19888, 19912, 19919, 19947, 19948, 19967, 19968, 19975, 19984, 19992, 19994, 20006, 20022, 20034, 20035, 20038, 20053, 20058, 20059, 20061, 20079, 20080, 20083, 20084, 20087, 20088, 20097, 20099, 20102, 20107, 20108, 20109, 20112, 20115, 20116, 20118, 20119, 20120, 20123, 20126, 20143, 20149, 20169, 20170, 20176, 20181, 20183, 20184, 20189, 20190, 20202, 20206, 20210, 20212, 20214, 20215, 20220, 20222, 20232, 20237, 20253, 20256, 20257, 20267, 20270, 20286, 20305, 20314, 20316, 20320, 20322, 20323, 20332, 20365, 20370, 20371, 20378, 20379, 20384, 20385, 20387, 20391, 20392, 20396, 20420, 20430, 20445, 20446, 20452, 20454, 20460, 20482, 20485, 20486, 20491, 20492, 20495, 20496, 20497, 20498, 20503, 20504, 20505, 20506, 20520, 20535, 20542, 20546, 20552, 20553, 20558, 20563, 20579, 20581, 20583, 20584, 20614, 20616, 20622, 20628, 20632, 20641, 20642, 20650, 20652, 20653, 20656, 20659, 20664, 20669, 20672, 20693, 20696, 20700, 20702, 20705, 20706, 20709, 20710, 20714, 20715, 20718, 20719, 20722, 20723, 20740, 20748, 20754, 20755, 20768, 20771, 20796, 20797, 20804, 20806, 20811, 20840, 20855, 20861, 20866, 20869, 20873, 20875, 20877, 20880, 20884, 20886, 20887, 20888, 20889, 20905, 20920, 20942, 20947, 20948, 20951, 20955, 20956, 20981, 20982, 20992, 20994, 21000, 21001, 21006, 21012, 21013, 21014, 21022, 21041, 21042, 21043, 21047, 21050, 21052, 21062, 21064, 21068, 21084, 21085, 21089, 21091, 21095, 21100, 21104, 21128, 21136, 21162, 21163, 21164, 21167, 21172, 21175, 21178, 21180, 21181, 21183, 21186, 21187, 21190, 21207, 21208, 21216, 21218, 21219, 21222, 21223, 21231, 21232, 21237, 21252, 21255, 21258, 21270, 21271, 21293, 21310, 21311, 21314, 21315, 21332, 21335, 21336, 21338, 21339, 21340, 21349, 21390, 21399, 21401, 21415, 21419, 21420, 21436, 21449, 21450, 21451, 21452, 21453, 21454, 21455, 21456, 21458, 21464, 21465, 21470, 21480, 21485, 21494, 21495, 21498, 21502, 21503, 21508, 21510, 21511, 21512, 21514, 21517, 21518, 21527, 21533, 21534, 21540, 21541, 21542, 21558, 21559, 21566, 21567, 21570, 21571, 21590, 21604, 21619, 21621, 21629, 21645, 21647, 21650, 21655, 21656, 21660, 21667, 21669, 21671, 21674, 21676, 21678, 21680, 21681, 21683, 21686, 21701, 21704, 21710, 21712, 21714, 21720, 21740, 21741, 21743, 21745, 21746, 21751, 21761, 21766, 21771, 21772, 21775, 21776, 21778, 21781, 21783, 21799, 21800, 21803, 21804, 21808, 21809, 21812, 21813, 21815, 21817, 21818, 21819, 21821, 21828, 21829, 21836, 21837, 21838, 21840, 21842, 21843, 21848, 21849, 21850, 21852, 21856, 21857, 21858, 21860, 21862, 21864, 21866, 21868, 21871, 21873, 21874, 21876, 21878, 21880, 21883, 21884, 21887, 21904, 21905, 21923, 21924, 21928, 21930, 21942, 21944, 21946, 21949, 21964, 21972, 21996, 22001, 22008, 22009, 22011, 22014, 22016, 22017, 22020, 22028, 22029, 22031, 22035, 22037, 22039, 22045, 22047, 22052, 22057, 22058, 22092, 22093, 22095, 22097, 22099, 22102, 22110, 22112, 22119, 22120, 22121, 22127, 22129, 22141, 22142, 22151, 22152, 22153, 22165, 22187, 22188, 22210, 22220, 22222, 22224, 22226, 22230, 22231, 22242, 22245, 22246, 22250, 22252, 22328, 22331, 22360, 22362, 22364, 22366, 22368, 22370, 22372, 22374, 22376, 22378, 22380, 22385, 22393, 22402, 22403, 22408, 22414, 22422, 22427, 22434, 22438, 22439, 22456, 22476, 22481, 22482, 22483, 22484, 22485, 22499, 22504, 22515, 22518, 22519, 22529, 22555, 22557, 22558, 22559, 22560, 22561, 22562, 22563, 22564, 22565, 22590, 22594, 22596, 22600, 22602, 22608, 22609, 22612, 22613, 22615, 22616, 22618, 22619, 22636, 22660, 22665, 22666, 22671, 22679, 22681, 22683, 22685, 22687, 22689, 22691, 22693, 22695, 22697, 22699, 22717, 22730, 22737, 22738, 22740, 22741, 22755, 22766, 22767, 22768, 22775, 22780, 22781, 22804, 22807, 22815, 22821, 22822, 22826, 22827, 22828, 22829, 22830, 22831, 22835, 22836, 22838, 22842, 22847, 22850, 22851, 22853, 22854, 22863, 22864, 22865, 22866, 22867, 22868, 22869, 22870, 22871, 22872, 22881, 22890, 22897, 22898, 22900, 22904, 22910, 22915, 22916, 22917, 22918, 22926, 22927, 22935, 22936, 22937, 22939, 22940, 22941, 22954, 22955, 22957, 22959, 22965, 22971, 22973, 22975, 22980, 23001, 23016, 23018, 23020, 23021, 23025, 23035, 23050, 23053, 23062, 23065, 23067, 23070, 23071, 23075, 23079, 23080, 23083, 23085, 23086, 23088, 23089, 23092, 23093, 23095, 23096, 23098, 23099, 23100, 23109, 23110, 23111, 23112, 23121, 23126, 23129, 23130, 23152, 23162, 23163, 23166, 23168, 23169, 23174, 23175, 23177, 23178, 23183, 23184, 23186, 23196, 23204, 23205, 23220, 23225, 23226, 23239, 23248, 23251, 23255, 23260, 23261, 23271, 23272, 23274, 23281, 23282, 23292, 23293, 23295, 23296, 23307, 23327, 23330, 23334, 23354, 23368, 23369, 23375, 23376, 23380, 23388, 23391, 23393, 23395, 23398, 23399, 23401, 23423, 23446, 23448, 23452, 23469, 23470, 23472, 23473, 23474, 23475, 23476, 23480, 23503, 23527, 23528, 23531, 23532, 23534, 23535, 23537, 23538, 23540, 23541, 23543, 23544, 23546, 23547, 23550, 23552, 23556, 23560, 23588, 23589, 23591, 23594, 23595, 23644, 23651, 23652, 23661, 23664, 23666, 23669, 23670, 23673, 23674, 23675, 23676, 23686, 23689, 23692, 23696, 23697, 23713, 23717, 23722, 23728, 23729, 23737, 23738, 23742, 23746, 23750, 23758, 23760, 23761, 23765, 23771, 23778, 23780, 23781, 23794, 23801, 23802, 23803, 23804, 23805, 23811, 23814, 23830, 23833, 23841, 23843, 23847, 23849, 23850, 23851, 23852, 23853, 23858, 23860, 23863, 23886, 23888, 23891, 23899, 23901, 23909, 23910, 23912, 23918, 23921, 23931, 23934, 23935, 23936, 23938, 23939, 23949, 23955, 23956, 23967, 23970, 23973, 23975, 23976, 23983, 23986, 23991, 24000, 24004, 24005, 24006, 24014, 24018, 24024, 24026, 24030, 24031, 24033, 24034, 24043, 24049, 24050, 24058, 24060, 24062, 24064, 24066, 24067, 24072, 24075, 24076, 24078, 24089, 24093, 24095, 24135, 24143, 24144, 24149, 24151, 24159, 24160, 24168, 24169, 24179, 24187, 24190, 24192, 24194, 24196, 24198, 24199, 24202, 24203, 24204, 24205, 24210, 24211, 24212, 24215, 24216, 24230, 24232, 24233, 24234, 24236, 24237, 24242, 24249, 24250, 24251, 24253, 24258, 24260, 24261, 24263, 24270, 24271, 24276, 24283, 24285, 24286, 24290, 24292, 24294, 24296, 24298, 24299, 24300, 24307, 24308, 24310, 24313, 24315, 24317, 24318, 24321, 24323, 24326, 24327, 24331, 24340, 24341, 24342, 24343, 24349, 24355, 24357, 24363, 24368, 24371, 24372, 24397, 24398, 24403, 24404, 24405, 24406, 24407, 24413, 24414, 24442, 24462, 24469, 24473, 24474, 24479, 24485, 24486, 24501, 24504, 24507, 24519, 24520, 24521, 24522, 24523, 24524, 24525, 24526, 24527, 24528, 24529, 24533, 24539, 24540, 24542, 24546, 24547, 24548, 24550, 24552, 24554, 24557, 24558, 24559, 24565, 24566, 24567, 24576, 24581, 24582, 24586, 24595, 24612, 24613, 24615, 24616, 24638, 24651, 24664, 24668, 24674, 24678, 24683, 24694, 24697, 24702, 24705, 24709, 24715, 24727, 24729, 24739, 24740, 24742, 24744, 24749, 24750, 24756, 24765, 24770, 24772, 24774, 24776, 24778, 24786, 24790, 24794, 24796, 24808, 24814, 24815, 24816, 24821, 24822, 24824, 24864, 24865, 24866, 24877, 24886, 24901, 24902, 24915, 24916, 24918, 24919, 24920, 24921, 24930, 24935, 24936, 24940, 24945, 24952, 24955, 24956, 24965, 24966, 24979, 24980, 24981, 24982, 24983, 24984, 24985, 24986, 24987, 24988, 24989, 24990, 24991, 25005, 25019, 25024, 25028, 25043, 25044, 25045, 25046, 25047, 25048, 25049, 25050, 25051, 25052, 25053, 25054, 25056, 25060, 25075, 25076, 25082, 25083, 25084, 25085, 25086, 25087, 25099, 25100, 25105, 25110, 25111, 25116, 25142, 25143, 25161, 25162, 25185, 25186, 25193, 25208, 25210, 25211, 25233, 25234, 25235, 25236, 25247, 25249, 25250, 25264, 25271, 25274, 25291, 25294, 25305, 25306, 25307, 25311, 25312, 25313, 25314, 25323, 25324, 25343, 25352, 25355, 25360, 25361, 25362, 25363, 25368, 25369, 25370, 25371, 25372, 25377, 25393, 25403, 25404, 25405, 25406, 25407, 25408, 25409, 25410, 25411, 25412, 25431, 25432, 25433, 25434, 25435, 25436, 25437, 25438, 25439, 25440, 25452, 25458, 25462, 25463, 25472, 25473, 25475, 25478, 25480, 25488, 25492, 25505, 25506, 25509, 25512, 25517, 25518, 25523, 25544, 25547, 25548, 25554, 25555, 25556, 25557, 25562, 25563, 25564, 25565, 25581, 25583, 25591, 25594, 25598, 25599, 25600, 25602, 25603, 25605, 25607, 25608, 25616, 25619, 25620, 25621, 25622, 25634, 25635, 25636, 25637, 25645, 25647, 25648, 25649, 25655, 25657, 25658, 25666, 25674, 25681, 25685, 25687, 25688, 25693, 25695, 25696, 25697, 25704, 25707, 25711, 25713, 25717, 25718, 25735, 25736, 25737, 25745, 25763, 25764, 25766, 25771, 25777, 25778, 25779, 25780, 25791, 25796, 25797, 25798, 25799, 25800, 25801, 25805, 25807, 25810, 25811, 25812, 25813, 25814, 25815, 25816, 25817, 25818, 25819, 25820, 25821, 25822, 25823, 25824, 25825, 25826, 25827, 25828, 25829, 25830, 25875, 25878, 25879, 25880, 25881, 25883, 25884, 25887, 25888, 25896, 25898, 25904, 25913, 25914, 25922, 25935, 25939, 25941, 25944, 25945, 25946, 25947, 25948, 25949, 25955, 25959, 25960, 25971, 25983, 26063, 26069, 26070, 26073, 26074, 26077, 26096, 26097, 26101, 26103, 26113, 26114, 26123, 26168, 26169, 26172, 26173, 26180, 26181, 26186, 26188, 26191, 26192, 26206, 26217, 26227, 26231, 26238, 26243, 26245, 26249, 26250, 26260, 26293, 26299, 26306, 26311, 26317, 26330, 26335, 26339, 26342, 26347, 26354, 26355, 26365, 26369, 26375, 26377, 26378, 26386, 26390, 26396, 26397, 26398, 26404, 26405, 26406, 26412, 26414, 26438, 26439, 26440, 26441, 26448, 26464, 26471, 26482, 26493, 26516, 26525, 26542, 26544, 26548, 26552, 26553, 26554, 26600, 26601, 26604, 26605, 26631, 26632, 26636, 26639, 26640, 26654, 26657, 26671, 26672, 26697, 26716, 26725, 26743, 26762, 26769, 26771, 26777, 26799, 26800, 26801, 26806, 26807, 26821, 26825, 26835, 26837, 26841, 26844, 26850, 26872, 26874, 26875, 26879, 26880, 26887, 26888, 26890, 26892, 26896, 26897, 26898, 26900, 26906, 26907, 26939, 26943, 26986, 26991, 26992, 26995, 27001, 27010, 27015, 27016, 27017, 27024, 27026, 27052, 27053, 27054, 27055, 27063, 27067, 27074, 27082, 27113, 27114, 27115, 27116, 27117, 27119, 27120, 27128, 27129, 27133, 27141, 27142, 27143, 27144, 27146, 27147, 27151, 27156, 27162, 27164, 27168, 27189, 27208, 27212, 27214, 27222, 27224, 27227, 27259, 27260, 27261, 27274, 27285, 27286, 27287, 27289, 27296, 27297, 27299, 27302, 27305, 27306, 27315, 27317, 27321, 27326, 27327, 27331, 27333, 27340, 27344, 27345, 27348, 27351, 27360, 27362, 27363, 27366, 27368, 27371, 27372, 27377, 27379, 27380, 27384, 27385, 27387, 27389, 27401, 27403, 27411, 27413, 27415, 27416, 27432, 27434, 27435, 27440, 27441, 27442, 27448, 27452, 27463, 27473, 27476, 27489, 27491, 27493, 27495, 27497, 27499, 27501, 27503, 27508, 27519, 27524, 27528, 27533, 27534, 27541, 27547, 27548, 27549, 27556, 27557, 27566, 27568, 27569, 27572, 27593, 27594, 27596, 27597, 27598, 27599, 27600, 27602, 27604, 27606, 27608, 27609, 27613, 27614, 27616, 27628, 27634, 27644, 27647, 27652, 27654, 27661, 27688, 27694, 27695, 27698, 27704, 27710, 27711, 27712, 27713, 27715, 27742, 27756, 27758, 27760, 27763, 27777, 27782, 27792, 27793, 27809, 27822, 27824, 27834, 27836, 27848, 27889, 27890, 27891, 27892, 27893, 27904, 27908, 27909, 27912, 27916, 27917, 27921, 27922, 27923, 27924, 27928, 27931, 27933, 27936, 27937, 27940, 27941, 27944, 27946, 27947, 27952, 27954, 27956, 27959, 27960, 27961, 27962, 27963, 27965, 27970, 27971, 27983, 27995, 27997, 27999, 28008, 28009, 28017, 28024, 28026, 28029, 28032, 28033, 28036, 28037, 28039, 28050, 28058, 28059, 28094, 28095, 28096, 28100, 28118, 28125, 28128, 28130, 28136, 28138, 28139, 28142, 28146, 28147, 28150, 28152, 28153, 28155, 28160, 28163, 28165, 28166, 28168, 28171, 28175, 28176, 28177, 28178, 28185, 28187, 28189, 28190, 28191, 28192, 28195, 28197, 28200, 28202, 28208, 28213, 28222, 28227, 28302, 28305, 28307, 28309, 28312, 28314, 28317, 28362, 28363, 28365, 28366, 28369, 28372, 28403, 28404, 28408, 28409, 28429, 28430, 28431, 28432, 28433, 28441, 28488, 28503, 28536, 28537, 28538, 28546, 28562, 28564, 28570, 28630, 28631, 28637, 28640, 28651, 28655, 28659, 28660, 28661, 28689, 28692, 28693, 28694, 28695, 28696, 28702, 28705, 28711, 28713, 28714, 28715, 28716, 28720, 28721, 28722, 28723, 28724, 28744, 28747, 28749, 28750, 28751, 28756, 28759, 28762, 28766, 28768, 28769, 28772, 28777, 28787, 28790, 28791, 28792, 28794, 28798, 28801, 28802, 28803, 28805, 28809, 28826, 28839, 28852, 28853, 28856, 28857, 28859, 28884, 28886, 28894, 28906, 28907, 28910, 28923, 28930, 28935, 28936, 28939, 28940, 28944, 28949, 28952, 28955, 28956, 28957, 28958, 28959, 28960, 28961, 28962, 28963, 28964, 28966, 28968, 28972, 28973, 28974, 29006, 29009, 29014, 29016, 29017, 29018, 29032, 29035, 29045, 29046, 29049, 29083, 29101, 29109, 29112, 29116, 29117, 29131, 29182, 29201, 29204, 29226, 29235, 29236, 29240, 29249, 29267, 29324, 29329, 29330, 29340, 29341, 29342, 29353, 29354, 29365, 29367, 29370, 29388, 29393, 29394, 29396, 29397, 29399, 29400, 29401, 29427, 29430, 29442, 29475, 29479, 29481, 29483, 29487, 29490, 29492, 29494, 29501, 29503, 29509, 29511, 29513, 29515, 29517, 29519, 29520, 29521, 29527, 29528, 29533, 29534, 29545, 29549, 29572, 29590, 29598, 29600, 29608, 29610, 29611, 29625, 29626, 29638, 29641, 29644, 29647, 29655, 29658, 29688, 29689, 29692, 29693, 29698, 29700, 29702, 29703, 29705, 29707, 29709, 29711, 29713, 29715, 29718, 29721, 29725, 29726, 29730, 29731, 29732, 29735, 29739, 29760, 29761, 29763, 29769, 29770, 29776, 29777, 29778, 29785, 29786, 29790, 29831, 29832, 29834, 29850, 29851, 29854, 29857, 29861, 29865, 29868, 29869, 29872, 29873, 29883, 29884, 29897, 29902, 29921, 29988, 30006, 30042, 30049, 30050, 30063, 30064, 30071, 30072, 30073, 30150, 30152, 30168, 30169, 30190, 30191, 30194, 30198, 30200, 30201, 30202, 30240, 30242, 30311, 30323, 30327, 30362, 30370, 30371, 30373, 30375, 30378, 30379, 30382, 30383, 30385, 30387, 30389, 30391, 30403, 30438, 30452, 30463, 30465, 30467, 30470, 30471, 30474, 30477, 30478, 30479, 30480, 30482, 30486, 30487, 30490, 30521, 30529, 30531, 30532, 30535, 30536, 30578, 30579, 30581, 30590, 30601, 30605, 30609, 30610, 30628, 30629, 30632, 30634, 30662, 30664, 30666, 30669, 30670, 30675, 30677, 30679, 30682, 30684, 30686, 30687, 30689, 30691, 30692, 30711, 30713, 30743, 30744, 30749, 30752, 30764, 30766, 30767, 30771, 30774, 30776, 30794, 30806, 30817, 30818, 30848, 30849, 30861, 30863, 30864, 30865, 30866, 30867, 30882, 30884, 30894, 30896, 30898, 30899, 30976, 30977, 31013, 31023, 31024, 31035, 31036, 31038, 31041, 31093, 31125, 31165, 31169, 31181, 31192, 31312, 31391, 31415, 31416, 31521, 31525, 31568, 31569, 31577, 31580, 31609, 31610, 31624, 31645, 31646, 31655, 31681, 31704, 31708, 31719, 31734, 31735, 31738, 31754, 31765, 31822, 31824, 31834, 31841, 31849, 31850, 31881, 31953, 31962);
+UPDATE `creature_model_info` SET `gender`=2 WHERE `modelid` IN (4, 13, 14, 15, 21, 22, 30, 38, 62, 64, 65, 69, 71, 73, 91, 92, 110, 123, 134, 137, 141, 145, 146, 151, 157, 158, 161, 165, 168, 169, 171, 174, 175, 176, 178, 179, 180, 181, 193, 200, 201, 204, 207, 229, 235, 236, 237, 238, 239, 245, 246, 247, 268, 269, 283, 295, 304, 320, 321, 322, 328, 332, 336, 342, 347, 352, 358, 360, 366, 367, 368, 370, 372, 376, 377, 378, 379, 380, 381, 382, 383, 384, 387, 388, 389, 397, 399, 400, 410, 413, 414, 418, 447, 453, 457, 470, 471, 473, 479, 480, 481, 482, 483, 488, 489, 490, 491, 492, 493, 494, 497, 498, 499, 500, 501, 502, 503, 505, 507, 512, 513, 514, 518, 519, 520, 525, 528, 533, 535, 538, 539, 543, 544, 545, 546, 547, 548, 549, 550, 551, 557, 558, 559, 561, 566, 568, 569, 570, 571, 580, 589, 598, 599, 601, 603, 604, 607, 609, 612, 613, 614, 615, 621, 622, 623, 624, 625, 631, 632, 633, 641, 643, 644, 646, 647, 648, 649, 651, 654, 659, 662, 666, 667, 668, 670, 671, 672, 673, 674, 675, 676, 677, 681, 682, 694, 695, 697, 698, 699, 703, 704, 705, 706, 707, 709, 711, 713, 714, 715, 719, 720, 732, 733, 734, 735, 741, 744, 748, 749, 755, 759, 760, 762, 767, 768, 775, 776, 780, 781, 782, 783, 784, 785, 787, 788, 798, 800, 801, 802, 806, 807, 814, 815, 821, 822, 827, 828, 829, 831, 833, 834, 835, 836, 846, 847, 848, 850, 855, 856, 857, 858, 859, 860, 862, 863, 864, 865, 867, 868, 869, 870, 892, 897, 901, 902, 903, 904, 907, 908, 909, 910, 911, 913, 917, 918, 925, 935, 936, 937, 945, 948, 949, 953, 954, 955, 956, 957, 958, 959, 960, 961, 963, 965, 975, 979, 981, 982, 984, 985, 986, 987, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1004, 1006, 1007, 1008, 1011, 1012, 1015, 1016, 1017, 1018, 1019, 1021, 1023, 1025, 1030, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1055, 1056, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1068, 1070, 1072, 1073, 1074, 1075, 1080, 1081, 1082, 1083, 1084, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1095, 1097, 1100, 1102, 1103, 1104, 1105, 1106, 1108, 1109, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1141, 1145, 1146, 1147, 1148, 1149, 1157, 1159, 1160, 1161, 1162, 1164, 1166, 1167, 1170, 1176, 1185, 1192, 1196, 1197, 1198, 1200, 1201, 1202, 1204, 1206, 1207, 1208, 1210, 1213, 1216, 1217, 1219, 1220, 1221, 1222, 1228, 1229, 1230, 1231, 1232, 1236, 1241, 1244, 1245, 1246, 1247, 1248, 1250, 1251, 1259, 1261, 1267, 1269, 1281, 1283, 1284, 1303, 1306, 1307, 1308, 1309, 1336, 1337, 1338, 1339, 1340, 1397, 1405, 1415, 1418, 1421, 1451, 1452, 1453, 1454, 1455, 1460, 1461, 1467, 1529, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1545, 1547, 1548, 1549, 1551, 1555, 1556, 1557, 1560, 1561, 1566, 1609, 1686, 1687, 1693, 1742, 1744, 1746, 1747, 1749, 1751, 1752, 1754, 1761, 1772, 1816, 1817, 1818, 1819, 1824, 1825, 1873, 1887, 1888, 1910, 1911, 1913, 1918, 1921, 1923, 1924, 1936, 1938, 1939, 1940, 1950, 1951, 1952, 1954, 1955, 1958, 1959, 1960, 1961, 1962, 1974, 1975, 1986, 1987, 1988, 1989, 1990, 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2022, 2023, 2024, 2028, 2030, 2033, 2069, 2075, 2076, 2077, 2078, 2079, 2154, 2155, 2156, 2157, 2158, 2168, 2169, 2170, 2172, 2173, 2174, 2175, 2176, 2177, 2179, 2185, 2186, 2187, 2188, 2189, 2190, 2193, 2194, 2195, 2234, 2236, 2237, 2238, 2239, 2278, 2281, 2289, 2297, 2298, 2300, 2301, 2302, 2303, 2305, 2307, 2308, 2309, 2320, 2325, 2326, 2327, 2328, 2352, 2378, 2402, 2404, 2405, 2408, 2409, 2410, 2414, 2418, 2419, 2420, 2421, 2423, 2424, 2425, 2426, 2428, 2429, 2433, 2437, 2446, 2450, 2451, 2452, 2453, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2533, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2548, 2549, 2550, 2552, 2567, 2568, 2569, 2570, 2571, 2573, 2574, 2582, 2592, 2598, 2599, 2600, 2601, 2602, 2606, 2609, 2676, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2702, 2703, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2719, 2720, 2726, 2728, 2729, 2730, 2731, 2732, 2741, 2742, 2743, 2764, 2765, 2766, 2767, 2768, 2832, 2835, 2836, 2837, 2838, 2850, 2851, 2864, 2902, 2954, 2955, 2956, 2957, 2958, 2975, 2995, 2996, 3004, 3005, 3006, 3018, 3019, 3020, 3023, 3024, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3123, 3126, 3127, 3146, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3210, 3211, 3212, 3213, 3214, 3215, 3233, 3235, 3247, 3248, 3255, 3386, 3507, 3668, 3731, 3886, 3900, 3916, 3942, 3956, 4065, 4067, 4090, 4091, 4124, 4167, 4185, 4200, 4203, 4256, 4266, 4267, 4268, 4269, 4270, 4305, 4312, 4317, 4343, 4434, 4435, 4440, 4442, 4445, 4447, 4448, 4456, 4457, 4458, 4465, 4466, 4467, 4468, 4472, 4473, 4480, 4486, 4535, 4566, 4585, 4587, 4588, 4589, 4590, 4591, 4603, 4606, 4607, 4613, 4615, 4626, 4629, 4631, 4636, 4683, 4689, 4713, 4714, 4716, 4732, 4733, 4734, 4735, 4754, 4759, 4761, 4766, 4767, 4768, 4829, 4868, 4869, 4870, 4872, 4877, 4878, 4906, 4907, 4959, 4960, 5026, 5027, 5030, 5048, 5050, 5051, 5052, 5066, 5067, 5068, 5069, 5125, 5126, 5127, 5145, 5187, 5228, 5229, 5231, 5234, 5238, 5239, 5240, 5241, 5242, 5246, 5265, 5285, 5287, 5288, 5289, 5290, 5291, 5292, 5297, 5299, 5305, 5327, 5369, 5379, 5386, 5430, 5431, 5432, 5448, 5450, 5488, 5489, 5490, 5491, 5492, 5493, 5494, 5497, 5498, 5505, 5510, 5554, 5555, 5556, 5557, 5558, 5559, 5560, 5561, 5562, 5563, 5564, 5585, 5586, 5645, 5712, 5746, 5747, 5773, 5780, 5781, 5848, 5849, 5850, 5851, 5905, 5906, 5925, 5926, 5927, 5965, 5966, 5985, 5987, 5989, 5990, 6028, 6068, 6069, 6070, 6073, 6076, 6081, 6082, 6083, 6085, 6086, 6087, 6121, 6122, 6126, 6148, 6172, 6173, 6193, 6195, 6196, 6197, 6209, 6211, 6212, 6268, 6269, 6270, 6271, 6288, 6290, 6291, 6292, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6302, 6303, 6350, 6351, 6352, 6368, 6369, 6370, 6371, 6372, 6373, 6374, 6375, 6376, 6377, 6378, 6379, 6431, 6534, 6537, 6544, 6569, 6633, 6674, 6688, 6735, 6736, 6737, 6745, 6746, 6756, 6757, 6758, 6759, 6774, 6798, 6799, 6800, 6801, 6802, 6803, 6804, 6805, 6806, 6807, 6808, 6809, 6810, 6811, 6817, 6818, 6819, 6820, 6821, 6822, 6823, 6824, 6825, 6826, 6827, 6828, 6829, 6830, 6838, 6841, 6842, 6851, 6852, 6884, 6888, 6889, 6890, 6891, 6908, 6909, 6910, 6912, 6915, 6942, 6943, 6977, 7029, 7046, 7114, 7271, 7288, 7289, 7339, 7344, 7345, 7347, 7348, 7349, 7350, 7352, 7409, 7449, 7469, 7470, 7489, 7510, 7511, 7533, 7534, 7549, 7550, 7553, 7554, 7555, 7569, 7571, 7572, 7616, 7617, 7619, 7671, 7672, 7690, 7691, 7752, 7755, 7757, 7763, 7804, 7806, 7829, 7836, 7837, 7839, 7840, 7845, 7847, 7848, 7853, 7854, 7855, 7856, 7857, 7858, 7864, 7869, 7890, 7891, 7892, 7893, 7894, 7896, 7897, 7898, 7899, 7900, 7903, 7906, 7908, 7920, 7933, 7937, 7949, 7950, 7970, 7972, 7975, 7976, 8011, 8014, 8015, 8049, 8050, 8053, 8109, 8149, 8150, 8151, 8152, 8172, 8173, 8174, 8175, 8177, 8178, 8179, 8180, 8181, 8182, 8183, 8184, 8189, 8209, 8269, 8270, 8271, 8289, 8317, 8318, 8369, 8389, 8391, 8392, 8395, 8409, 8410, 8411, 8412, 8469, 8470, 8471, 8472, 8473, 8475, 8509, 8510, 8511, 8512, 8529, 8549, 8550, 8571, 8573, 8574, 8589, 8712, 8713, 8714, 8715, 8716, 8782, 8783, 8797, 8802, 8808, 8810, 8811, 8816, 8817, 8818, 8819, 8824, 8833, 8834, 8837, 8838, 8840, 8841, 8842, 8843, 8869, 8870, 8871, 8909, 8910, 8969, 8970, 8971, 8972, 9009, 9010, 9011, 9012, 9013, 9014, 9015, 9016, 9017, 9018, 9019, 9020, 9021, 9022, 9028, 9029, 9030, 9031, 9032, 9033, 9050, 9074, 9129, 9189, 9209, 9210, 9229, 9231, 9276, 9277, 9278, 9280, 9287, 9345, 9354, 9369, 9370, 9371, 9372, 9389, 9390, 9449, 9469, 9471, 9473, 9474, 9475, 9476, 9490, 9491, 9492, 9509, 9510, 9511, 9535, 9555, 9556, 9557, 9558, 9560, 9562, 9563, 9564, 9565, 9566, 9567, 9568, 9569, 9570, 9571, 9572, 9573, 9582, 9583, 9584, 9585, 9586, 9587, 9588, 9589, 9590, 9591, 9592, 9593, 9594, 9595, 9723, 9749, 9750, 9755, 9756, 9758, 9760, 9782, 9783, 9784, 9785, 9786, 9787, 9788, 9789, 9790, 9793, 9806, 9829, 9832, 9903, 9904, 9905, 9906, 9909, 9910, 9913, 9929, 9934, 9989, 9990, 9992, 9993, 9994, 9995, 9996, 9997, 10000, 10001, 10002, 10003, 10005, 10006, 10007, 10015, 10029, 10030, 10031, 10033, 10037, 10040, 10041, 10042, 10044, 10045, 10046, 10056, 10090, 10091, 10095, 10183, 10209, 10244, 10255, 10256, 10270, 10271, 10273, 10274, 10278, 10283, 10284, 10315, 10317, 10487, 10553, 10583, 10584, 10585, 10612, 10613, 10621, 10626, 10627, 10628, 10630, 10648, 10661, 10662, 10664, 10666, 10667, 10670, 10671, 10672, 10673, 10698, 10699, 10700, 10701, 10703, 10718, 10719, 10720, 10721, 10728, 10753, 10771, 10772, 10789, 10792, 10793, 10794, 10796, 10798, 10799, 10800, 10801, 10802, 10803, 10804, 10805, 10806, 10807, 10808, 10809, 10810, 10814, 10816, 10818, 10819, 10824, 10825, 10826, 10827, 10828, 10829, 10830, 10831, 10832, 10833, 10849, 10850, 10851, 10852, 10853, 10854, 10855, 10856, 10889, 10890, 10891, 10892, 10893, 10894, 10897, 10898, 10899, 10900, 10902, 10903, 10904, 10905, 10906, 10914, 10915, 10916, 10917, 10918, 10919, 10922, 10932, 10933, 10934, 10947, 10950, 10951, 10952, 10970, 10971, 10972, 10973, 10974, 10975, 10976, 10977, 10978, 10979, 10983, 10984, 10985, 10986, 10987, 10988, 10990, 10991, 10992, 10993, 10996, 11009, 11010, 11011, 11012, 11029, 11031, 11032, 11034, 11071, 11078, 11079, 11084, 11085, 11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095, 11096, 11097, 11098, 11099, 11104, 11105, 11106, 11107, 11108, 11137, 11138, 11139, 11140, 11141, 11142, 11143, 11144, 11171, 11172, 11174, 11178, 11315, 11316, 11317, 11318, 11319, 11348, 11362, 11363, 11371, 11373, 11374, 11396, 11397, 11398, 11399, 11400, 11401, 11402, 11403, 11404, 11405, 11410, 11411, 11412, 11413, 11414, 11415, 11417, 11418, 11419, 11420, 11421, 11422, 11447, 11448, 11449, 11450, 11451, 11452, 11453, 11454, 11455, 11471, 11472, 11473, 11489, 11490, 11491, 11492, 11633, 11634, 11635, 11636, 11641, 11649, 11659, 11686, 11709, 11710, 11711, 11712, 11713, 11730, 11731, 11828, 11829, 11908, 11909, 11910, 11912, 11914, 11986, 12051, 12073, 12074, 12109, 12110, 12129, 12149, 12150, 12151, 12152, 12153, 12154, 12155, 12156, 12157, 12158, 12159, 12160, 12162, 12163, 12164, 12191, 12192, 12193, 12194, 12195, 12196, 12197, 12198, 12199, 12200, 12201, 12202, 12203, 12204, 12205, 12206, 12207, 12208, 12209, 12210, 12231, 12232, 12233, 12234, 12235, 12236, 12237, 12238, 12239, 12240, 12241, 12242, 12243, 12244, 12245, 12246, 12247, 12293, 12309, 12310, 12333, 12335, 12336, 12338, 12339, 12340, 12341, 12342, 12343, 12344, 12345, 12346, 12347, 12348, 12349, 12389, 12429, 12432, 12433, 12434, 12436, 12489, 12509, 12529, 12530, 12589, 12682, 12683, 12750, 12769, 12814, 12815, 12816, 12817, 12818, 12819, 12820, 12821, 12869, 12929, 12962, 12963, 12966, 13009, 13069, 13095, 13096, 13097, 13098, 13109, 13110, 13111, 13170, 13172, 13173, 13174, 13209, 13210, 13211, 13212, 13310, 13340, 13444, 13489, 13490, 13509, 13530, 13589, 13609, 13610, 13629, 13649, 13730, 13731, 13732, 13749, 13869, 13929, 13971, 13972, 13993, 14012, 14025, 14112, 14152, 14173, 14213, 14214, 14252, 14253, 14254, 14255, 14256, 14257, 14272, 14273, 14312, 14313, 14315, 14316, 14318, 14319, 14328, 14331, 14334, 14335, 14336, 14337, 14338, 14345, 14346, 14348, 14349, 14350, 14354, 14365, 14366, 14367, 14368, 14372, 14373, 14374, 14375, 14376, 14377, 14379, 14382, 14383, 14385, 14389, 14390, 14391, 14392, 14428, 14430, 14473, 14497, 14501, 14502, 14503, 14504, 14505, 14506, 14507, 14508, 14509, 14510, 14511, 14512, 14513, 14514, 14515, 14516, 14517, 14518, 14520, 14521, 14522, 14523, 14524, 14525, 14527, 14528, 14541, 14542, 14546, 14547, 14548, 14549, 14550, 14551, 14552, 14553, 14557, 14558, 14559, 14560, 14562, 14567, 14572, 14573, 14574, 14575, 14578, 14579, 14581, 14582, 14583, 14584, 14585, 14590, 14592, 14593, 14594, 14633, 14657, 14658, 14659, 14660, 14661, 14674, 14675, 14692, 14693, 14695, 14696, 14698, 14699, 14700, 14701, 14702, 14703, 14704, 14705, 14706, 14707, 14708, 14710, 14720, 14776, 14778, 14779, 14780, 14782, 14783, 14852, 14853, 14884, 14932, 14933, 14934, 14935, 14936, 14937, 14938, 14939, 14940, 14941, 14942, 14950, 14951, 14952, 14985, 14992, 15072, 15092, 15101, 15132, 15133, 15135, 15136, 15137, 15138, 15145, 15150, 15151, 15180, 15181, 15182, 15200, 15204, 15221, 15227, 15231, 15234, 15275, 15288, 15291, 15292, 15293, 15294, 15295, 15296, 15297, 15298, 15301, 15327, 15333, 15334, 15335, 15336, 15337, 15338, 15339, 15340, 15343, 15344, 15345, 15346, 15347, 15351, 15354, 15355, 15356, 15357, 15359, 15360, 15361, 15362, 15364, 15369, 15374, 15375, 15376, 15378, 15379, 15380, 15381, 15382, 15383, 15384, 15385, 15386, 15392, 15393, 15394, 15395, 15396, 15397, 15398, 15400, 15402, 15404, 15405, 15406, 15412, 15413, 15417, 15422, 15423, 15431, 15432, 15433, 15434, 15436, 15437, 15438, 15439, 15452, 15463, 15464, 15465, 15467, 15468, 15469, 15470, 15471, 15474, 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492, 15493, 15494, 15495, 15496, 15497, 15498, 15499, 15500, 15501, 15506, 15507, 15509, 15512, 15533, 15534, 15538, 15545, 15546, 15547, 15554, 15555, 15556, 15576, 15582, 15583, 15584, 15586, 15587, 15588, 15589, 15590, 15591, 15592, 15593, 15595, 15654, 15655, 15656, 15657, 15658, 15659, 15671, 15672, 15673, 15674, 15675, 15676, 15677, 15678, 15679, 15680, 15681, 15682, 15683, 15686, 15693, 15694, 15695, 15696, 15697, 15699, 15700, 15703, 15704, 15705, 15706, 15709, 15710, 15738, 15739, 15740, 15741, 15742, 15743, 15774, 15785, 15786, 15787, 15788, 15789, 15790, 15791, 15792, 15793, 15794, 15866, 15868, 15878, 15880, 15881, 15882, 15900, 15905, 15918, 15920, 15921, 15922, 15923, 15929, 15932, 15934, 15937, 15938, 15939, 15941, 15942, 15946, 15948, 15958, 15961, 15962, 15963, 15964, 15969, 15978, 15983, 15984, 15991, 16011, 16017, 16021, 16032, 16033, 16034, 16035, 16039, 16041, 16043, 16044, 16045, 16049, 16050, 16051, 16052, 16053, 16054, 16064, 16074, 16075, 16081, 16109, 16110, 16111, 16135, 16136, 16138, 16143, 16145, 16146, 16156, 16159, 16162, 16167, 16168, 16169, 16170, 16173, 16174, 16177, 16178, 16181, 16188, 16189, 16191, 16205, 16206, 16213, 16214, 16215, 16216, 16217, 16241, 16243, 16244, 16245, 16251, 16254, 16255, 16256, 16257, 16259, 16266, 16271, 16272, 16273, 16274, 16277, 16313, 16314, 16346, 16347, 16348, 16349, 16350, 16351, 16352, 16353, 16356, 16357, 16358, 16359, 16360, 16361, 16395, 16407, 16408, 16415, 16428, 16452, 16463, 16476, 16571, 16572, 16573, 16574, 16575, 16576, 16587, 16622, 16630, 16631, 16633, 16634, 16635, 16711, 16723, 16724, 16730, 16731, 16741, 16784, 16838, 16840, 16841, 16861, 16866, 16870, 16871, 16874, 16875, 16876, 16877, 16878, 16879, 16880, 16881, 16882, 16883, 16884, 16885, 16886, 16887, 16888, 16889, 16890, 16891, 16892, 16893, 16894, 16895, 16896, 16897, 16898, 16899, 16900, 16901, 16902, 16910, 16915, 16916, 16919, 16925, 16937, 16938, 16939, 16940, 16943, 16944, 16946, 16953, 16958, 16970, 16972, 16975, 16977, 16984, 16985, 16986, 16987, 16988, 16989, 16990, 16992, 16993, 16995, 16997, 16998, 16999, 17000, 17002, 17003, 17005, 17006, 17009, 17010, 17011, 17012, 17019, 17029, 17034, 17045, 17054, 17055, 17056, 17057, 17058, 17059, 17060, 17061, 17062, 17063, 17065, 17070, 17071, 17072, 17073, 17074, 17075, 17076, 17078, 17079, 17080, 17081, 17089, 17091, 17092, 17093, 17094, 17095, 17096, 17097, 17098, 17099, 17100, 17101, 17102, 17103, 17104, 17105, 17106, 17107, 17108, 17109, 17142, 17170, 17188, 17191, 17192, 17200, 17204, 17205, 17228, 17237, 17238, 17239, 17240, 17253, 17254, 17255, 17256, 17262, 17270, 17283, 17286, 17288, 17298, 17308, 17310, 17312, 17321, 17323, 17328, 17378, 17389, 17408, 17423, 17445, 17447, 17450, 17455, 17457, 17461, 17472, 17519, 17522, 17525, 17526, 17528, 17533, 17535, 17545, 17546, 17547, 17549, 17558, 17559, 17562, 17563, 17569, 17573, 17574, 17596, 17607, 17608, 17612, 17618, 17625, 17642, 17643, 17646, 17647, 17653, 17654, 17655, 17656, 17657, 17674, 17685, 17686, 17687, 17689, 17693, 17694, 17695, 17696, 17697, 17698, 17703, 17704, 17707, 17709, 17711, 17712, 17713, 17714, 17716, 17717, 17718, 17729, 17739, 17740, 17743, 17746, 17751, 17752, 17753, 17754, 17758, 17759, 17764, 17765, 17772, 17781, 17784, 17794, 17795, 17796, 17797, 17798, 17800, 17805, 17806, 17808, 17809, 17812, 17832, 17834, 17839, 17840, 17841, 17846, 17856, 17857, 17858, 17859, 17860, 17864, 17865, 17866, 17867, 17868, 17869, 17870, 17871, 17872, 17876, 17877, 17879, 17888, 17889, 17890, 17946, 17972, 18012, 18028, 18029, 18030, 18036, 18038, 18042, 18050, 18062, 18063, 18065, 18066, 18069, 18075, 18081, 18082, 18083, 18084, 18088, 18089, 18094, 18115, 18116, 18117, 18135, 18138, 18139, 18140, 18143, 18147, 18154, 18155, 18156, 18163, 18164, 18166, 18167, 18168, 18169, 18170, 18178, 18193, 18194, 18209, 18223, 18224, 18227, 18228, 18229, 18237, 18238, 18244, 18245, 18269, 18271, 18272, 18273, 18274, 18275, 18279, 18287, 18288, 18303, 18310, 18312, 18313, 18314, 18315, 18316, 18317, 18342, 18345, 18347, 18351, 18352, 18353, 18359, 18360, 18361, 18362, 18363, 18364, 18365, 18366, 18372, 18373, 18374, 18375, 18376, 18377, 18378, 18379, 18380, 18381, 18382, 18383, 18402, 18403, 18404, 18406, 18410, 18411, 18412, 18413, 18414, 18416, 18417, 18430, 18431, 18434, 18449, 18467, 18470, 18471, 18480, 18485, 18489, 18494, 18502, 18503, 18504, 18505, 18509, 18510, 18515, 18516, 18517, 18518, 18519, 18533, 18534, 18615, 18621, 18624, 18628, 18631, 18632, 18633, 18634, 18635, 18636, 18643, 18645, 18652, 18654, 18657, 18662, 18671, 18684, 18685, 18696, 18697, 18698, 18700, 18701, 18713, 18719, 18721, 18723, 18724, 18726, 18728, 18736, 18753, 18786, 18813, 18817, 18818, 18819, 18820, 18821, 18823, 18832, 18833, 18834, 18837, 18839, 18848, 18877, 18878, 18879, 18885, 18886, 18887, 18901, 18902, 18919, 18920, 18922, 18930, 18933, 18944, 18945, 18946, 18947, 18951, 18953, 18954, 18955, 18957, 18958, 18987, 18988, 18989, 18990, 18996, 18997, 18998, 19003, 19006, 19007, 19009, 19010, 19011, 19012, 19014, 19018, 19020, 19021, 19023, 19024, 19025, 19026, 19027, 19029, 19030, 19031, 19033, 19034, 19036, 19039, 19040, 19042, 19067, 19070, 19071, 19072, 19073, 19074, 19075, 19085, 19090, 19093, 19096, 19097, 19098, 19109, 19110, 19112, 19113, 19114, 19139, 19163, 19164, 19165, 19189, 19190, 19191, 19196, 19200, 19201, 19215, 19218, 19219, 19220, 19221, 19223, 19227, 19230, 19240, 19241, 19249, 19251, 19252, 19257, 19258, 19259, 19260, 19269, 19270, 19272, 19283, 19285, 19286, 19287, 19288, 19289, 19290, 19291, 19292, 19293, 19295, 19298, 19299, 19300, 19301, 19302, 19303, 19304, 19324, 19325, 19329, 19330, 19331, 19332, 19338, 19347, 19357, 19367, 19369, 19370, 19371, 19373, 19375, 19376, 19377, 19378, 19383, 19400, 19401, 19403, 19404, 19405, 19406, 19407, 19408, 19410, 19414, 19416, 19422, 19435, 19436, 19438, 19454, 19455, 19456, 19458, 19478, 19479, 19480, 19482, 19483, 19484, 19501, 19527, 19528, 19529, 19530, 19531, 19537, 19540, 19554, 19590, 19592, 19593, 19594, 19600, 19603, 19604, 19605, 19606, 19607, 19608, 19609, 19610, 19611, 19616, 19618, 19621, 19634, 19658, 19659, 19662, 19663, 19667, 19669, 19670, 19672, 19673, 19674, 19677, 19678, 19681, 19682, 19685, 19687, 19688, 19689, 19690, 19691, 19694, 19695, 19696, 19701, 19702, 19704, 19705, 19709, 19718, 19719, 19726, 19727, 19728, 19732, 19733, 19734, 19735, 19736, 19742, 19743, 19754, 19757, 19758, 19759, 19760, 19763, 19764, 19766, 19767, 19768, 19770, 19771, 19775, 19776, 19777, 19779, 19781, 19783, 19784, 19786, 19788, 19793, 19796, 19838, 19839, 19844, 19850, 19852, 19853, 19855, 19856, 19857, 19858, 19859, 19860, 19861, 19862, 19863, 19864, 19865, 19866, 19867, 19868, 19869, 19870, 19874, 19875, 19876, 19879, 19880, 19882, 19883, 19884, 19891, 19892, 19893, 19897, 19898, 19901, 19902, 19910, 19911, 19913, 19916, 19917, 19943, 19944, 19951, 19952, 19961, 19962, 19963, 19971, 19972, 19973, 19974, 19976, 19979, 19980, 19985, 19986, 19987, 19988, 19995, 19996, 19997, 19998, 19999, 20001, 20007, 20008, 20009, 20010, 20011, 20012, 20013, 20014, 20015, 20021, 20024, 20025, 20026, 20027, 20029, 20030, 20037, 20039, 20042, 20048, 20049, 20062, 20064, 20066, 20067, 20069, 20076, 20089, 20090, 20093, 20094, 20098, 20101, 20103, 20104, 20135, 20137, 20138, 20139, 20142, 20144, 20146, 20148, 20151, 20152, 20153, 20154, 20162, 20180, 20211, 20213, 20223, 20224, 20226, 20227, 20229, 20230, 20231, 20238, 20239, 20242, 20245, 20247, 20249, 20250, 20259, 20260, 20261, 20263, 20264, 20265, 20271, 20272, 20273, 20274, 20276, 20278, 20281, 20282, 20292, 20293, 20294, 20297, 20298, 20299, 20300, 20306, 20307, 20308, 20309, 20324, 20327, 20329, 20344, 20345, 20346, 20347, 20348, 20349, 20359, 20364, 20366, 20375, 20376, 20389, 20390, 20399, 20400, 20401, 20402, 20403, 20404, 20405, 20406, 20407, 20408, 20409, 20410, 20411, 20412, 20413, 20414, 20415, 20417, 20424, 20431, 20432, 20433, 20456, 20469, 20471, 20473, 20476, 20477, 20516, 20517, 20519, 20521, 20522, 20530, 20531, 20538, 20539, 20540, 20541, 20544, 20547, 20554, 20555, 20556, 20560, 20570, 20571, 20572, 20573, 20574, 20575, 20576, 20577, 20586, 20587, 20588, 20589, 20591, 20592, 20593, 20594, 20595, 20596, 20598, 20599, 20600, 20601, 20602, 20603, 20604, 20605, 20606, 20608, 20609, 20611, 20617, 20630, 20634, 20645, 20658, 20673, 20675, 20682, 20683, 20684, 20685, 20686, 20687, 20689, 20691, 20701, 20724, 20725, 20727, 20728, 20729, 20730, 20738, 20745, 20746, 20747, 20749, 20750, 20760, 20763, 20764, 20766, 20769, 20775, 20782, 20790, 20801, 20808, 20809, 20810, 20812, 20814, 20815, 20816, 20817, 20818, 20819, 20820, 20821, 20826, 20827, 20828, 20829, 20830, 20831, 20832, 20833, 20834, 20835, 20837, 20838, 20839, 20841, 20842, 20843, 20844, 20845, 20846, 20847, 20848, 20849, 20850, 20851, 20853, 20854, 20857, 20858, 20860, 20862, 20863, 20864, 20872, 20874, 20881, 20882, 20883, 20885, 20894, 20900, 20901, 20903, 20908, 20909, 20910, 20911, 20912, 20914, 20917, 20919, 20922, 20923, 20931, 20932, 20934, 20937, 20944, 20957, 20959, 20960, 20963, 20964, 20971, 20973, 20974, 20977, 20979, 20996, 20997, 20998, 20999, 21003, 21032, 21040, 21048, 21049, 21063, 21070, 21072, 21073, 21074, 21075, 21076, 21077, 21079, 21087, 21114, 21119, 21124, 21125, 21126, 21130, 21131, 21133, 21138, 21140, 21141, 21145, 21146, 21147, 21150, 21152, 21155, 21156, 21157, 21158, 21168, 21170, 21171, 21173, 21192, 21193, 21209, 21210, 21211, 21213, 21214, 21224, 21225, 21226, 21234, 21235, 21238, 21240, 21241, 21242, 21243, 21244, 21246, 21247, 21257, 21260, 21261, 21268, 21282, 21296, 21297, 21298, 21300, 21301, 21303, 21304, 21305, 21306, 21307, 21317, 21319, 21320, 21321, 21324, 21325, 21326, 21328, 21330, 21343, 21352, 21355, 21356, 21360, 21362, 21371, 21381, 21382, 21391, 21392, 21394, 21396, 21397, 21412, 21423, 21425, 21427, 21429, 21430, 21431, 21434, 21435, 21437, 21439, 21444, 21446, 21457, 21460, 21473, 21474, 21479, 21481, 21482, 21486, 21487, 21492, 21520, 21521, 21522, 21523, 21524, 21525, 21545, 21548, 21582, 21583, 21584, 21585, 21587, 21603, 21616, 21628, 21635, 21636, 21691, 21717, 21721, 21722, 21732, 21733, 21734, 21735, 21736, 21747, 21763, 21773, 21788, 21793, 21796, 21822, 21825, 21830, 21831, 21832, 21834, 21888, 21895, 21896, 21900, 21901, 21906, 21907, 21908, 21910, 21912, 21925, 21936, 21939, 21950, 21955, 21960, 21962, 21971, 21973, 21974, 21975, 21977, 21978, 21979, 21980, 21981, 21999, 22000, 22067, 22101, 22104, 22106, 22122, 22123, 22124, 22125, 22130, 22131, 22132, 22167, 22168, 22173, 22175, 22181, 22185, 22190, 22198, 22204, 22206, 22236, 22237, 22249, 22253, 22254, 22255, 22256, 22257, 22317, 22318, 22319, 22320, 22321, 22335, 22336, 22349, 22356, 22359, 22382, 22383, 22388, 22389, 22409, 22415, 22416, 22418, 22421, 22428, 22429, 22431, 22432, 22448, 22452, 22457, 22458, 22459, 22460, 22468, 22469, 22470, 22471, 22472, 22473, 22474, 22496, 22500, 22503, 22506, 22517, 22522, 22523, 22524, 22546, 22548, 22552, 22579, 22587, 22588, 22589, 22591, 22597, 22601, 22606, 22620, 22621, 22625, 22633, 22637, 22639, 22640, 22641, 22643, 22644, 22646, 22653, 22654, 22655, 22656, 22658, 22669, 22670, 22673, 22674, 22675, 22700, 22701, 22702, 22707, 22712, 22719, 22720, 22721, 22726, 22728, 22729, 22731, 22733, 22734, 22742, 22748, 22750, 22751, 22756, 22769, 22773, 22776, 22777, 22778, 22779, 22790, 22791, 22809, 22810, 22814, 22823, 22840, 22841, 22855, 22860, 22862, 22873, 22878, 22901, 22903, 22938, 22966, 22981, 22986, 22987, 22988, 22989, 22990, 22991, 22992, 22993, 23000, 23002, 23036, 23051, 23057, 23058, 23060, 23102, 23114, 23135, 23136, 23137, 23138, 23139, 23140, 23141, 23142, 23143, 23144, 23146, 23148, 23155, 23165, 23199, 23207, 23211, 23229, 23234, 23237, 23240, 23241, 23243, 23244, 23257, 23258, 23259, 23265, 23268, 23269, 23278, 23289, 23298, 23299, 23300, 23302, 23303, 23304, 23306, 23308, 23310, 23311, 23313, 23315, 23316, 23325, 23328, 23329, 23333, 23343, 23348, 23349, 23355, 23358, 23361, 23363, 23365, 23370, 23371, 23372, 23377, 23379, 23382, 23396, 23403, 23404, 23406, 23407, 23408, 23411, 23413, 23422, 23428, 23431, 23458, 23481, 23482, 23483, 23484, 23485, 23486, 23495, 23501, 23504, 23505, 23506, 23507, 23513, 23514, 23515, 23516, 23517, 23518, 23519, 23520, 23521, 23522, 23523, 23524, 23569, 23570, 23574, 23575, 23579, 23580, 23581, 23646, 23647, 23656, 23657, 23658, 23679, 23680, 23681, 23684, 23693, 23698, 23699, 23700, 23702, 23707, 23708, 23709, 23710, 23711, 23718, 23719, 23720, 23725, 23730, 23732, 23739, 23744, 23745, 23747, 23748, 23751, 23752, 23753, 23754, 23755, 23756, 23767, 23785, 23786, 23787, 23817, 23818, 23821, 23822, 23823, 23829, 23835, 23842, 23848, 23856, 23861, 23868, 23870, 23873, 23879, 23884, 23890, 23895, 23902, 23913, 23914, 23915, 23916, 23917, 23930, 23940, 23941, 23944, 23945, 23946, 23947, 23948, 23950, 23954, 23958, 23959, 23960, 23962, 23964, 23980, 23981, 23985, 23990, 23992, 23993, 23997, 23998, 24001, 24002, 24009, 24013, 24019, 24021, 24071, 24082, 24083, 24103, 24104, 24105, 24106, 24107, 24108, 24109, 24111, 24112, 24113, 24114, 24115, 24116, 24117, 24118, 24119, 24120, 24121, 24122, 24123, 24127, 24137, 24139, 24140, 24141, 24142, 24165, 24166, 24167, 24173, 24174, 24175, 24176, 24177, 24193, 24227, 24240, 24256, 24273, 24274, 24324, 24377, 24378, 24392, 24393, 24453, 24455, 24456, 24457, 24461, 24465, 24466, 24467, 24468, 24470, 24471, 24472, 24477, 24478, 24490, 24493, 24494, 24495, 24497, 24499, 24506, 24555, 24564, 24569, 24579, 24590, 24594, 24608, 24614, 24620, 24622, 24627, 24628, 24629, 24630, 24635, 24637, 24653, 24665, 24684, 24688, 24693, 24698, 24699, 24707, 24710, 24711, 24712, 24714, 24719, 24720, 24721, 24722, 24723, 24724, 24725, 24733, 24734, 24736, 24737, 24741, 24743, 24745, 24751, 24752, 24753, 24757, 24758, 24762, 24780, 24781, 24782, 24784, 24788, 24792, 24795, 24798, 24803, 24807, 24812, 24813, 24825, 24826, 24827, 24828, 24829, 24831, 24832, 24833, 24860, 24861, 24862, 24868, 24869, 24876, 24882, 24889, 24890, 24892, 24895, 24896, 24897, 24898, 24905, 24906, 24907, 24908, 24909, 24910, 24914, 24922, 24923, 24925, 24926, 24927, 24928, 24929, 24931, 24932, 24933, 24934, 24939, 24943, 24944, 24946, 24947, 24948, 24950, 24960, 24961, 24962, 24963, 24964, 24975, 24977, 24978, 24992, 24993, 24994, 24995, 24996, 24997, 24998, 24999, 25000, 25001, 25003, 25004, 25007, 25008, 25009, 25013, 25014, 25015, 25017, 25026, 25030, 25031, 25071, 25081, 25089, 25090, 25091, 25092, 25093, 25101, 25103, 25104, 25106, 25107, 25108, 25109, 25112, 25119, 25120, 25121, 25126, 25127, 25129, 25130, 25136, 25138, 25139, 25144, 25146, 25147, 25148, 25152, 25153, 25154, 25156, 25159, 25163, 25164, 25167, 25170, 25174, 25176, 25177, 25178, 25179, 25194, 25199, 25201, 25202, 25203, 25206, 25209, 25214, 25215, 25221, 25224, 25228, 25238, 25256, 25258, 25265, 25266, 25267, 25268, 25277, 25278, 25279, 25280, 25281, 25282, 25283, 25284, 25285, 25286, 25287, 25288, 25289, 25290, 25292, 25296, 25298, 25301, 25315, 25317, 25318, 25326, 25327, 25328, 25329, 25330, 25331, 25332, 25333, 25334, 25340, 25341, 25347, 25353, 25376, 25378, 25379, 25380, 25381, 25382, 25383, 25384, 25385, 25386, 25387, 25388, 25389, 25390, 25391, 25392, 25394, 25396, 25397, 25398, 25399, 25401, 25402, 25441, 25443, 25445, 25449, 25450, 25451, 25453, 25457, 25460, 25466, 25467, 25499, 25501, 25511, 25526, 25527, 25528, 25537, 25538, 25539, 25540, 25542, 25543, 25549, 25550, 25551, 25552, 25553, 25570, 25571, 25572, 25573, 25574, 25579, 25585, 25587, 25592, 25593, 25625, 25626, 25627, 25628, 25629, 25630, 25638, 25639, 25640, 25654, 25664, 25669, 25672, 25675, 25676, 25678, 25679, 25680, 25682, 25683, 25692, 25703, 25708, 25710, 25720, 25721, 25723, 25724, 25727, 25728, 25730, 25731, 25733, 25742, 25744, 25749, 25753, 25785, 25803, 25809, 25831, 25832, 25833, 25834, 25835, 25836, 25840, 25849, 25852, 25853, 25854, 25855, 25856, 25857, 25858, 25859, 25860, 25861, 25862, 25864, 25866, 25867, 25868, 25869, 25870, 25871, 25872, 25873, 25874, 25889, 25915, 25918, 25925, 25929, 25930, 25931, 25933, 25937, 25938, 25942, 25958, 25982, 25984, 25985, 26002, 26003, 26053, 26055, 26056, 26064, 26076, 26079, 26080, 26081, 26082, 26083, 26084, 26085, 26086, 26087, 26088, 26089, 26102, 26120, 26125, 26128, 26129, 26130, 26131, 26132, 26133, 26134, 26135, 26136, 26137, 26139, 26140, 26141, 26142, 26143, 26144, 26145, 26146, 26147, 26148, 26149, 26150, 26151, 26152, 26153, 26154, 26155, 26156, 26157, 26158, 26159, 26160, 26161, 26162, 26163, 26164, 26165, 26174, 26175, 26176, 26177, 26182, 26183, 26184, 26196, 26198, 26199, 26204, 26205, 26207, 26208, 26211, 26214, 26215, 26216, 26219, 26221, 26223, 26240, 26252, 26255, 26259, 26262, 26263, 26264, 26265, 26266, 26267, 26268, 26269, 26270, 26273, 26274, 26275, 26276, 26277, 26278, 26279, 26280, 26281, 26282, 26283, 26284, 26285, 26286, 26287, 26288, 26289, 26294, 26295, 26296, 26297, 26298, 26302, 26304, 26314, 26315, 26319, 26320, 26324, 26327, 26329, 26332, 26333, 26334, 26340, 26341, 26348, 26359, 26379, 26380, 26381, 26382, 26383, 26384, 26385, 26389, 26393, 26403, 26415, 26416, 26418, 26419, 26420, 26423, 26424, 26425, 26429, 26430, 26433, 26436, 26442, 26466, 26472, 26473, 26474, 26475, 26476, 26477, 26478, 26479, 26483, 26484, 26485, 26486, 26487, 26488, 26489, 26490, 26491, 26494, 26495, 26496, 26499, 26500, 26501, 26502, 26503, 26504, 26505, 26506, 26509, 26510, 26511, 26512, 26513, 26514, 26515, 26517, 26518, 26519, 26521, 26522, 26523, 26524, 26526, 26527, 26528, 26529, 26530, 26531, 26532, 26533, 26534, 26535, 26536, 26537, 26538, 26539, 26540, 26541, 26547, 26556, 26557, 26558, 26559, 26563, 26565, 26566, 26570, 26572, 26573, 26576, 26577, 26578, 26579, 26584, 26585, 26586, 26587, 26588, 26589, 26592, 26594, 26595, 26609, 26610, 26611, 26612, 26615, 26617, 26619, 26620, 26621, 26622, 26624, 26625, 26645, 26647, 26648, 26649, 26650, 26651, 26655, 26661, 26681, 26685, 26687, 26689, 26690, 26692, 26693, 26694, 26698, 26704, 26705, 26706, 26707, 26717, 26718, 26719, 26720, 26721, 26722, 26723, 26724, 26742, 26751, 26753, 26754, 26755, 26756, 26757, 26758, 26759, 26760, 26763, 26764, 26768, 26773, 26774, 26775, 26776, 26787, 26788, 26789, 26790, 26791, 26792, 26793, 26794, 26795, 26796, 26797, 26805, 26816, 26818, 26819, 26822, 26828, 26831, 26833, 26846, 26876, 26881, 26882, 26883, 26884, 26905, 26915, 26916, 26917, 26918, 26919, 26926, 26927, 26928, 26929, 26930, 26931, 26932, 26935, 26936, 26937, 26940, 26941, 26942, 26944, 26946, 26948, 26965, 26968, 26969, 26970, 26973, 26981, 27005, 27006, 27011, 27014, 27028, 27029, 27034, 27035, 27036, 27037, 27038, 27040, 27041, 27064, 27065, 27066, 27072, 27073, 27101, 27103, 27105, 27106, 27107, 27121, 27125, 27137, 27152, 27167, 27196, 27197, 27198, 27199, 27205, 27210, 27211, 27232, 27233, 27234, 27235, 27236, 27237, 27238, 27239, 27240, 27241, 27242, 27243, 27244, 27245, 27246, 27247, 27248, 27265, 27266, 27267, 27268, 27269, 27270, 27271, 27272, 27273, 27275, 27276, 27277, 27278, 27279, 27280, 27281, 27282, 27283, 27301, 27311, 27312, 27316, 27323, 27341, 27346, 27355, 27356, 27357, 27390, 27391, 27392, 27393, 27396, 27399, 27405, 27408, 27426, 27443, 27450, 27451, 27454, 27462, 27469, 27470, 27471, 27472, 27477, 27478, 27479, 27480, 27482, 27483, 27484, 27487, 27488, 27507, 27510, 27514, 27515, 27517, 27520, 27525, 27529, 27535, 27536, 27537, 27538, 27542, 27543, 27561, 27563, 27581, 27617, 27619, 27620, 27624, 27625, 27626, 27627, 27635, 27637, 27640, 27643, 27645, 27648, 27653, 27655, 27658, 27665, 27666, 27667, 27668, 27669, 27670, 27677, 27678, 27679, 27680, 27681, 27682, 27683, 27690, 27692, 27700, 27701, 27703, 27705, 27706, 27707, 27718, 27719, 27720, 27721, 27722, 27726, 27727, 27735, 27743, 27745, 27753, 27754, 27755, 27761, 27767, 27769, 27770, 27781, 27783, 27784, 27785, 27786, 27787, 27789, 27790, 27796, 27797, 27798, 27802, 27803, 27804, 27806, 27810, 27811, 27812, 27815, 27823, 27849, 27855, 27861, 27879, 27880, 27881, 27882, 27883, 27885, 27896, 27907, 27913, 27932, 27943, 27950, 27951, 27964, 27966, 27967, 27968, 27969, 27972, 27973, 27974, 27975, 27976, 27977, 27981, 27982, 27985, 27986, 27987, 27989, 27991, 27992, 27993, 28002, 28003, 28004, 28007, 28010, 28011, 28012, 28014, 28015, 28016, 28040, 28041, 28042, 28043, 28044, 28045, 28046, 28047, 28048, 28049, 28051, 28052, 28053, 28060, 28061, 28063, 28064, 28065, 28067, 28073, 28074, 28075, 28076, 28077, 28080, 28081, 28082, 28083, 28084, 28089, 28103, 28106, 28107, 28110, 28112, 28113, 28114, 28115, 28116, 28117, 28133, 28134, 28141, 28209, 28210, 28211, 28212, 28214, 28215, 28235, 28282, 28283, 28284, 28286, 28287, 28288, 28289, 28290, 28291, 28292, 28293, 28294, 28295, 28296, 28297, 28298, 28299, 28310, 28318, 28319, 28354, 28355, 28359, 28360, 28361, 28375, 28376, 28379, 28381, 28397, 28401, 28402, 28417, 28418, 28419, 28434, 28435, 28442, 28449, 28450, 28457, 28460, 28463, 28465, 28467, 28468, 28469, 28470, 28471, 28475, 28476, 28482, 28489, 28493, 28499, 28501, 28502, 28505, 28506, 28507, 28508, 28509, 28524, 28525, 28526, 28531, 28539, 28547, 28548, 28550, 28551, 28556, 28571, 28572, 28573, 28574, 28575, 28577, 28578, 28579, 28583, 28585, 28598, 28599, 28605, 28607, 28611, 28619, 28620, 28623, 28624, 28625, 28634, 28646, 28647, 28648, 28649, 28650, 28652, 28656, 28657, 28658, 28665, 28666, 28667, 28675, 28681, 28682, 28683, 28684, 28685, 28686, 28687, 28718, 28719, 28725, 28726, 28727, 28728, 28729, 28731, 28732, 28734, 28737, 28738, 28741, 28758, 28763, 28764, 28782, 28783, 28784, 28785, 28810, 28811, 28813, 28814, 28815, 28816, 28817, 28819, 28820, 28827, 28828, 28829, 28830, 28831, 28833, 28841, 28844, 28845, 28846, 28847, 28866, 28867, 28868, 28869, 28870, 28871, 28872, 28874, 28875, 28876, 28880, 28883, 28887, 28888, 28889, 28890, 28911, 28912, 28916, 28917, 28918, 28919, 28931, 28938, 28943, 28945, 28951, 28953, 28954, 28978, 28979, 28980, 28982, 28983, 28988, 28989, 28991, 28992, 28998, 28999, 29000, 29001, 29002, 29004, 29024, 29038, 29040, 29041, 29042, 29043, 29056, 29057, 29058, 29060, 29062, 29064, 29065, 29066, 29070, 29071, 29073, 29074, 29075, 29080, 29081, 29082, 29094, 29096, 29100, 29104, 29113, 29115, 29118, 29120, 29122, 29123, 29129, 29130, 29133, 29150, 29151, 29152, 29153, 29155, 29156, 29157, 29158, 29159, 29160, 29164, 29168, 29169, 29170, 29171, 29174, 29175, 29176, 29183, 29205, 29251, 29257, 29259, 29260, 29262, 29270, 29274, 29275, 29276, 29279, 29280, 29281, 29283, 29284, 29286, 29308, 29309, 29331, 29348, 29352, 29362, 29363, 29372, 29409, 29412, 29419, 29421, 29424, 29438, 29440, 29441, 29485, 29486, 29488, 29489, 29525, 29540, 29552, 29605, 29627, 29628, 29629, 29642, 29695, 29696, 29734, 29736, 29740, 29742, 29743, 29744, 29754, 29756, 29764, 29766, 29771, 29780, 29781, 29794, 29802, 29803, 29805, 29806, 29807, 29808, 29809, 29810, 29815, 29816, 29819, 29828, 29878, 29879, 29880, 29886, 29890, 29937, 29938, 29971, 29972, 29974, 29975, 29976, 30039, 30045, 30046, 30047, 30059, 30060, 30070, 30076, 30080, 30157, 30166, 30171, 30172, 30173, 30233, 30243, 30297, 30318, 30343, 30346, 30347, 30352, 30356, 30402, 30404, 30405, 30409, 30412, 30413, 30415, 30462, 30483, 30491, 30503, 30516, 30518, 30520, 30547, 30615, 30641, 30643, 30644, 30645, 30646, 30647, 30648, 30649, 30650, 30651, 30653, 30654, 30656, 30695, 30707, 30736, 30753, 30754, 30755, 30756, 30757, 30758, 30759, 30760, 30761, 30762, 30763, 30792, 30799, 30803, 30805, 30808, 30822, 30844, 30846, 30852, 30874, 30877, 30885, 30886, 30890, 30902, 30903, 30906, 30966, 30968, 30986, 30989, 30995, 30996, 30998, 31004, 31007, 31043, 31044, 31047, 31048, 31049, 31073, 31088, 31092, 31094, 31096, 31107, 31119, 31126, 31154, 31156, 31163, 31164, 31174, 31196, 31248, 31373, 31471, 31515, 31553, 31583, 31627, 31664, 31670, 31687, 31692, 31720, 31721, 31722, 31723, 31725, 31727, 31756, 31803, 31831, 31836, 31837, 31853, 31878, 31952, 31956, 31957, 31958, 31992, 32031, 32106, 32670, 32754);
diff --git a/sql/updates/world/2013_10_19_00_world_gossip.sql b/sql/updates/world/2013_10_19_00_world_gossip.sql
new file mode 100644
index 00000000000..00559b3b9bb
--- /dev/null
+++ b/sql/updates/world/2013_10_19_00_world_gossip.sql
@@ -0,0 +1,14 @@
+DELETE FROM `gossip_menu` WHERE (`entry`=9578 AND `text_id`=12926) OR (`entry`=4825 AND `text_id`=5881) OR (`entry`=8891 AND `text_id`=11645);
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
+(9578, 12926), -- 27705
+(4825, 5881), -- 5957
+(8891, 11645); -- 186267
+
+DELETE FROM `gossip_menu_option` WHERE (`menu_id`=9578 AND `id`=0) OR (`menu_id`=4825 AND `id`=0) OR (`menu_id`=8891 AND `id`=0);
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `box_coded`, `box_money`, `box_text`) VALUES
+(9578, 0, 3, 'Please teach me.', 0, 0, ''), -- 27705
+(4825, 0, 3, 'Please teach me.', 0, 0, ''), -- 5957
+(8891, 0, 0, 'Call the Headless Horseman.', 0, 0, ''); -- 186267
+
+UPDATE `creature_template` SET `gossip_menu_id`=9578 WHERE `entry`=27705;
+UPDATE `creature_template` SET `gossip_menu_id`=4825 WHERE `entry`=5957;
diff --git a/sql/updates/world/2013_10_19_01_world_gameobject_template.sql b/sql/updates/world/2013_10_19_01_world_gameobject_template.sql
new file mode 100644
index 00000000000..bb0f518701b
--- /dev/null
+++ b/sql/updates/world/2013_10_19_01_world_gameobject_template.sql
@@ -0,0 +1,6 @@
+DELETE FROM `gameobject_template` WHERE `entry` IN (180609, 180610, 180611, 184633);
+INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `data0`, `data1`, `data2`, `data3`, `data4`, `data5`, `data6`, `data7`, `data8`, `data9`, `data10`, `data11`, `data12`, `data13`, `data14`, `data15`, `data16`, `data17`, `data18`, `data19`, `data20`, `data21`, `data22`, `data23`, `size`, `WDBVerified`) VALUES
+(180609, 7, 39, 'Doodad_GeneralChairLoEnd02', '', '', '', 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17359), -- -Unknown-
+(180610, 7, 39, 'Doodad_GeneralChairLoEnd04', '', '', '', 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17359), -- -Unknown-
+(180611, 7, 39, 'Doodad_GeneralChairLoEnd05', '', '', '', 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17359), -- -Unknown-
+(184633, 8, 233, 'Forge', '', '', '', 3, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17359); -- -Unknown-
diff --git a/sql/updates/world/2013_10_20_00_world_conditions.sql b/sql/updates/world/2013_10_20_00_world_conditions.sql
new file mode 100644
index 00000000000..cac106ade39
--- /dev/null
+++ b/sql/updates/world/2013_10_20_00_world_conditions.sql
@@ -0,0 +1,184 @@
+-- DB/Conditions: Fix conditions for class trainer npcs, so gossip menus will show up correctly for every class
+SET @ALLCLASMASK := 1535;
+SET @CLASSMASK_PAL := 2;
+SET @CLASSMASK_DK := 32;
+SET @CLASSMASK_SHA := 64;
+
+SET @MENU := 4104;
+SET @MENU1 := 4528;
+SET @MENU2 := 4530;
+SET @MENU3 := 4529;
+SET @MENU4 := 4103;
+SET @MENU5 := 4652;
+SET @MENU6 := 4516;
+SET @MENU7 := 5123;
+SET @TEXTIDOK := 5005;
+SET @TEXTIDERR := 5006;
+
+SET @MENU8 := 4515;
+SET @TEXTIDOK8 := 5007;
+SET @TEXTIDERR8 := 5008;
+
+SET @MENU9 := 6647;
+SET @TEXTIDOK9 := 7904;
+SET @TEXTIDERR9 := 9193;
+
+SET @MENU10 := 7522;
+SET @TEXTIDOK10 := 9122;
+SET @TEXTIDERR10 := 8785;
+
+SET @MENU11 := 7377;
+SET @TEXTIDOK11 := 8829;
+SET @TEXTIDERR11 := 8828;
+
+SET @MENU12 := 7467;
+SET @TEXTIDOK12 := 9050;
+
+SET @MENU13 := 7357;
+SET @TEXTIDOK13 := 8786;
+
+SET @MENU14 := 8110;
+SET @TEXTIDOK14 := 10043;
+SET @TEXTIDERR14 := 10040;
+
+SET @MENU15 := 9691;
+SET @MENU16 := 9692;
+SET @MENU17 := 9693;
+
+SET @TRAINEROPT := 0;
+SET @TALENTOPT := 1;
+SET @DUALOPT := 2;
+
+SET @TRAINEROPT11 := 0;
+SET @TALENTOPT11 := 2;
+SET @DUALOPT11 := 3;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 14 AND
+(
+ (`SourceEntry` IN (@TEXTIDOK, @TEXTIDERR) AND `SourceGroup` IN (@MENU, @MENU1, @MENU2, @MENU3, @MENU4, @MENU5, @MENU6, @MENU7))
+ OR (`SourceEntry` IN (@TEXTIDOK8, @TEXTIDERR8) AND `SourceGroup` = @MENU8)
+ OR (`SourceEntry` IN (@TEXTIDOK9, @TEXTIDERR9) AND `SourceGroup` = @MENU9)
+ OR (`SourceEntry` IN (@TEXTIDOK10, @TEXTIDERR10) AND `SourceGroup` = @MENU10)
+ OR (`SourceEntry` IN (@TEXTIDOK11, @TEXTIDERR11) AND `SourceGroup` = @MENU11)
+ OR (`SourceEntry` IN (@TEXTIDOK12, @TEXTIDERR10) AND `SourceGroup` = @MENU12)
+ OR (`SourceEntry` IN (@TEXTIDOK13, @TEXTIDERR10) AND `SourceGroup` = @MENU13)
+ OR (`SourceEntry` IN (@TEXTIDOK14, @TEXTIDERR14) AND `SourceGroup` = @MENU14)
+);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceEntry` IN (@TRAINEROPT, @TALENTOPT, @DUALOPT) AND `SourceGroup` IN (@MENU, @MENU1, @MENU2, @MENU3, @MENU4, @MENU5, @MENU6, @MENU7, @MENU8, @MENU9, @MENU10, @MENU12, @MENU13, @MENU14, @MENU15, @MENU16, @MENU17);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceEntry` IN (@TRAINEROPT11, @TALENTOPT11, @DUALOPT11) AND `SourceGroup` = @MENU11;
+INSERT INTO `conditions` (SourceTypeOrReferenceId, SourceGroup, SourceEntry, SourceId, ElseGroup, ConditionTypeOrReference, ConditionTarget, ConditionValue1, ConditionValue2, ConditionValue3, NegativeCondition, ErrorType, ErrorTextId, ScriptName, Comment) VALUES
+-- NPC ID: 986, Name: Haromm, Menu-ID: 4104, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 3173, Name: Swart, Menu-ID: 4104, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3030, Name: Siln Skychaser, Menu-ID: 4528, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU1, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU1, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU1, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU1, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU1, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3031, Name: Tigor Skychaser, Menu-ID: 4530, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU2, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU2, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU2, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU2, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU2, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3032, Name: Beram Skychaser, Menu-ID: 4529, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU3, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU3, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU3, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU3, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU3, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3062, Name: Meela Dawnstrider, Menu-ID: 4103, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 3066, Name: Narm Skychaser, Menu-ID: 4103, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU4, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU4, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU4, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU4, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU4, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3157, Name: Shikrik, Menu-ID: 4652, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU5, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU5, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU5, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU5, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU5, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3344, Name: Kardris Dreamseeker, Menu-ID: 4516, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU6, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU6, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU6, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU6, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU6, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 13417, Name: Sagorne Creststrider, Menu-ID: 5123, Trainer-Classmask: 64, Text-ID1: 5005, Text-ID2: 5006, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU7, @TEXTIDOK, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU7, @TEXTIDERR, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU7, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU7, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU7, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 3403, Name: Sian'tsu, Menu-ID: 4515, Trainer-Classmask: 64, Text-ID1: 5007, Text-ID2: 5008, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU8, @TEXTIDOK8, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU8, @TEXTIDERR8, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU8, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU8, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU8, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 15280, Name: Jesthenis Sunstriker, Menu-ID: 6647, Trainer-Classmask: 2, Text-ID1: 7904, Text-ID2: 9193, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 16275, Name: Noellene, Menu-ID: 6647, Trainer-Classmask: 2, Text-ID1: 7904, Text-ID2: 9193, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 16679, Name: Osselan, Menu-ID: 6647, Trainer-Classmask: 2, Text-ID1: 7904, Text-ID2: 9193, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 16680, Name: Ithelis, Menu-ID: 6647, Trainer-Classmask: 2, Text-ID1: 7904, Text-ID2: 9193, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 16681, Name: Champion Bachi, Menu-ID: 6647, Trainer-Classmask: 2, Text-ID1: 7904, Text-ID2: 9193, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 23128, Name: Master Pyreanor, Menu-ID: 6647, Trainer-Classmask: 2, Text-ID1: 7904, Text-ID2: 9193, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU9, @TEXTIDOK9, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Paladin'),
+(14, @MENU9, @TEXTIDERR9, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_PAL), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Paladin'),
+(15, @MENU9, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Paladin'),
+(15, @MENU9, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Paladin'),
+(15, @MENU9, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Paladin'),
+-- NPC ID: 17089, Name: Firmanvaar, Menu-ID: 7522, Trainer-Classmask: 64, Text-ID1: 8785, Text-ID2: 9122, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU10, @TEXTIDOK10, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU10, @TEXTIDERR10, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU10, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU10, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU10, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 17204, Name: Farseer Nobundo, Menu-ID: 7377, Trainer-Classmask: 64, Text-ID1: 8828, Text-ID2: 8829, Trainer-Option: 0, Talent-Option: 2, Dualspec-Option: 3
+(14, @MENU11, @TEXTIDOK11, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU11, @TEXTIDERR11, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU11, @TRAINEROPT11, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU11, @TALENTOPT11, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU11, @DUALOPT11, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 17212, Name: Tuluun, Menu-ID: 7467, Trainer-Classmask: 64, Text-ID1: 8785, Text-ID2: 9050, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU12, @TEXTIDOK12, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU12, @TEXTIDERR10, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU12, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU12, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU12, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 17219, Name: Sulaa, Menu-ID: 7357, Trainer-Classmask: 64, Text-ID1: 8785, Text-ID2: 8786, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 23127, Name: Farseer Javad, Menu-ID: 7357, Trainer-Classmask: 64, Text-ID1: 8785, Text-ID2: 8786, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 17519, Name: Hobahken, Menu-ID: 7357, Trainer-Classmask: 64, Text-ID1: 8785, Text-ID2: 8786, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 17520, Name: Gurrag, Menu-ID: 7357, Trainer-Classmask: 64, Text-ID1: 8785, Text-ID2: 8786, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU13, @TEXTIDOK13, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU13, @TEXTIDERR10, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU13, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU13, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU13, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 20407, Name: Farseer Umbrua, Menu-ID: 8110, Trainer-Classmask: 64, Text-ID1: 10040, Text-ID2: 10043, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(14, @MENU14, @TEXTIDOK14, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Shaman'),
+(14, @MENU14, @TEXTIDERR14, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_SHA), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Shaman'),
+(15, @MENU14, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU14, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+(15, @MENU14, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_SHA, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Shaman'),
+-- NPC ID: 29195, Name: Lady Alistra, Menu-ID: 9691, Trainer-Classmask: 32, Text-ID1: 13172, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 28471, Name: Lady Alistra, Menu-ID: 9691, Trainer-Classmask: 32, Text-ID1: 13172, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(15, @MENU15, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+(15, @MENU15, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+(15, @MENU15, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+-- NPC ID: 29196, Name: Lord Thorval, Menu-ID: 9692, Trainer-Classmask: 32, Text-ID1: 13173, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 28472, Name: Lord Thorval, Menu-ID: 9692, Trainer-Classmask: 32, Text-ID1: 13173, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(15, @MENU16, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+(15, @MENU16, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+(15, @MENU16, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+-- NPC ID: 29194, Name: Amal'thazad, Menu-ID: 9693, Trainer-Classmask: 32, Text-ID1: 13174, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+-- NPC ID: 28474, Name: Amal'thazad, Menu-ID: 9693, Trainer-Classmask: 32, Text-ID1: 13174, Trainer-Option: 0, Talent-Option: 1, Dualspec-Option: 2
+(15, @MENU17, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+(15, @MENU17, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight'),
+(15, @MENU17, @DUALOPT, 0, 0, 15, 0, @CLASSMASK_DK, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Death Knight');
diff --git a/sql/updates/world/2013_10_20_01_world_spell_proc_event.sql b/sql/updates/world/2013_10_20_01_world_spell_proc_event.sql
new file mode 100644
index 00000000000..90bf4619de4
--- /dev/null
+++ b/sql/updates/world/2013_10_20_01_world_spell_proc_event.sql
@@ -0,0 +1,3 @@
+-- Fixes Ormorok the Tree Shaper Spell Reflect
+DELETE FROM `spell_proc_event` WHERE (`entry` = '47981');
+INSERT INTO `spell_proc_event` (`entry`,`procEx`) VALUES ('47981','2048');
diff --git a/sql/updates/world/2013_10_20_02_world_gossip.sql b/sql/updates/world/2013_10_20_02_world_gossip.sql
new file mode 100644
index 00000000000..934334800d5
--- /dev/null
+++ b/sql/updates/world/2013_10_20_02_world_gossip.sql
@@ -0,0 +1,96 @@
+-- DB/Gossip: Update some data for trainer NPCs from sniffs
+SET @ALLCLASMASK := 1535;
+SET @CLASSMASK_PAL := 2;
+SET @CLASSMASK_HUN := 4;
+SET @CLASSMASK_MAGE := 128;
+SET @CLASSMASK_DRU := 1024;
+
+SET @TRAINEROPT := 0;
+SET @TALENTOPT := 1;
+
+-- NPCS:
+-- Milstaff Stormeye, 2489, Mage trainer 15050_2012-01-29_21-59-26_aliance_pali_Trainers_with_mage.pkt
+SET @MENU1 := 4823;
+SET @TEXTOK1 := 5878;
+SET @TEXTERR1 := 5877;
+
+-- Kal, 3602, Druid trainer, source https://gist.github.com/Kinzcool/a34dce9b128e6cc5ca6d
+SET @MENU2 := 3923;
+SET @TEXTOK2 := 4779;
+SET @TEXTERR2 := 4780;
+
+-- Dargh Trueaim, 10930, Hunter trainer, source https://gist.github.com/Kinzcool/a34dce9b128e6cc5ca6d
+SET @NPC3 := 10930;
+SET @MENU3 := 4674;
+SET @TEXT3 := 5000;
+
+-- Ysuria, 27703, Mage trainer, source https://gist.github.com/Kinzcool/a34dce9b128e6cc5ca6d
+SET @MENU4 := 9581;
+
+-- Brother Wilhelm, 927, Paladin trainer, verified that only has training option with TDB434, UDB
+SET @MENU5 := 4664;
+SET @TEXTOK5 := 3976;
+SET @TEXTERR5 := 3977;
+
+-- Gart Mistrunner, 3060, Druid trainer, verified that only has training option with TDB434
+SET @MENU6 := 4644;
+SET @TEXTOK6 := 5716;
+SET @TEXTERR6 := 5717;
+
+-- Archmage Celindra, 29156, Mage trainer, verified that only has training option with TDB434, UDB
+SET @MENU7 := 9777;
+SET @TEXTOK7 := 13456;
+SET @TEXTERR7 := 13455;
+
+-- Deal with the new data
+DELETE FROM `gossip_menu` WHERE
+(`entry` = @MENU1 AND `text_id` = @TEXTOK1)
+OR (`entry` = @MENU2 AND `text_id` = @TEXTOK2)
+OR (`entry` = @MENU3 AND `text_id` = @TEXT3);
+
+DELETE FROM `gossip_menu_option` WHERE
+(`menu_id` = @MENU1 AND `id` = @TRAINEROPT)
+OR (`menu_id` = @MENU2 AND `id` IN (@TRAINEROPT, @TALENTOPT));
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 14 AND
+(
+ (`SourceEntry` IN (@TEXTOK1, @TEXTERR1) AND `SourceGroup` = @MENU1)
+ OR (`SourceEntry` IN (@TEXTOK2, @TEXTERR2) AND `SourceGroup` = @MENU2)
+ OR (`SourceEntry` IN (@TEXTOK5, @TEXTERR5) AND `SourceGroup` = @MENU5)
+ OR (`SourceEntry` IN (@TEXTOK6, @TEXTERR6) AND `SourceGroup` = @MENU6)
+ OR (`SourceEntry` IN (@TEXTOK7, @TEXTERR7) AND `SourceGroup` = @MENU7)
+);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceEntry` = @TRAINEROPT AND `SourceGroup` IN (@MENU1, @MENU4, @MENU5, @MENU6, @MENU7);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceEntry` IN (@TRAINEROPT, @TALENTOPT) AND `SourceGroup` = @MENU2;
+
+INSERT INTO `gossip_menu` (entry, text_id) VALUES
+(@MENU1, @TEXTOK1),
+(@MENU2, @TEXTOK2),
+(@MENU3, @TEXT3);
+
+INSERT INTO `gossip_menu_option` (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text) VALUES
+(@MENU1, @TRAINEROPT, 3, 'Please teach me.', 5, 16, 0, 0, 0, 0, ''),
+(@MENU2, @TRAINEROPT, 3, 'I seek training as a druid.', 5, 16, 0, 0, 0, 0, ''),
+(@MENU2, @TALENTOPT, 0, 'I wish to unlearn my talents.', 16, 16, 0, 0, 0, 0, '');
+
+INSERT INTO `conditions` (SourceTypeOrReferenceId, SourceGroup, SourceEntry, SourceId, ElseGroup, ConditionTypeOrReference, ConditionTarget, ConditionValue1, ConditionValue2, ConditionValue3, NegativeCondition, ErrorType, ErrorTextId, ScriptName, Comment) VALUES
+(14, @MENU1, @TEXTOK1, 0, 0, 15, 0, @CLASSMASK_MAGE, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Mage'),
+(14, @MENU1, @TEXTERR1, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_MAGE), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Mage'),
+(15, @MENU1, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_MAGE, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Mage'),
+(14, @MENU2, @TEXTOK2, 0, 0, 15, 0, @CLASSMASK_DRU, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Druid'),
+(14, @MENU2, @TEXTERR2, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_DRU), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Druid'),
+(15, @MENU2, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_DRU, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Druid'),
+(15, @MENU2, @TALENTOPT, 0, 0, 15, 0, @CLASSMASK_DRU, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Druid'),
+(15, @MENU4, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_MAGE, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Mage'),
+(14, @MENU5, @TEXTOK5, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Paladin'),
+(14, @MENU5, @TEXTERR5, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_PAL), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Paladin'),
+(15, @MENU5, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Paladin'),
+(14, @MENU6, @TEXTOK6, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Druid'),
+(14, @MENU6, @TEXTERR6, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_PAL), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Druid'),
+(15, @MENU6, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_PAL, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Druid'),
+(14, @MENU7, @TEXTOK7, 0, 0, 15, 0, @CLASSMASK_MAGE, 0, 0, 0, 0, 0, '', 'Show gossip text if player is a Mage'),
+(14, @MENU7, @TEXTERR7, 0, 0, 15, 0, (@ALLCLASMASK & ~@CLASSMASK_MAGE), 0, 0, 0, 0, 0, '', 'Show gossip text if player is not a Mage'),
+(15, @MENU7, @TRAINEROPT, 0, 0, 15, 0, @CLASSMASK_MAGE, 0, 0, 0, 0, 0, '', 'Show gossip option if player is a Mage');
+
+UPDATE `creature_template` SET `gossip_menu_id` = @MENU3 WHERE `entry` = @NPC3;
diff --git a/sql/updates/world/2013_10_21_00_world_sai.sql b/sql/updates/world/2013_10_21_00_world_sai.sql
new file mode 100644
index 00000000000..acd070675f1
--- /dev/null
+++ b/sql/updates/world/2013_10_21_00_world_sai.sql
@@ -0,0 +1,23 @@
+-- 12180 The Captive Prospectors
+UPDATE `smart_scripts` SET `link`=1 WHERE `entryorguid`IN(27113,27114,27115) AND `source_type`=0 AND `id`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`IN(27113,27114,27115) AND `id`=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
+(27113,0,1,0,61,0,100,0,0,0,0,0,33,27113,0,0,0,0,0,7,0,0,0,0,0,0,0,'Prospector Gann - On Spell Hit - Give Kill Credit'),
+(27114,0,1,0,61,0,100,0,0,0,0,0,33,27114,0,0,0,0,0,7,0,0,0,0,0,0,0,'Prospector Torgan - On Spell Hit - Give Kill Credit'),
+(27115,0,1,0,61,0,100,0,0,0,0,0,33,27115,0,0,0,0,0,7,0,0,0,0,0,0,0,'Prospector Veranna - On Spell Hit - Give Kill Credit');
+
+-- [11150] Raze Direhorn Post!
+-- [11205] Raze Direhorn Post!
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN(23751,23752,23753);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (23751,23752,23753);
+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
+(23751, 0, 0, 0, 8, 0, 100, 0, 42356, 0, 0, 0, 33, 23751 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'North Tent - On Spellhit - Kill Credit'),
+(23752, 0, 0, 0, 8, 0, 100, 0, 42356, 0, 0, 0, 33, 23752 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Northeast Tent - On Spellhit - Kill Credit'),
+(23753, 0, 0, 0, 8, 0, 100, 0, 42356, 0, 0, 0, 33, 23753 , 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'East Tent - On Spellhit - Kill Credit');
+-- Know Your Ley Lines [11547]
+UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry` IN (25156,25154,25157);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (25156,25154,25157) 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
+(25156,0,0,0,8,0,100,0,45191,0,0,0,33,25156,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sunwell - Quest Bunny - Portal - On Spell Hit(Sample Ley Line Field) - Give Quest Credit'),
+(25154,0,0,0,8,0,100,0,45191,0,0,0,33,25154,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sunwell - Quest Bunny - Shrine - On Spell Hit(Sample Ley Line Field) - Give Quest Credit'),
+(25157,0,0,0,8,0,100,0,45191,0,0,0,33,25157,0,0,0,0,0,7,0,0,0,0,0,0,0,'Sunwell - Quest Bunny - Sunwell - On Spell Hit(Sample Ley Line Field) - Give Quest Credit');
diff --git a/sql/updates/world/2013_10_22_00_world_disables.sql b/sql/updates/world/2013_10_22_00_world_disables.sql
new file mode 100644
index 00000000000..7173deeb271
--- /dev/null
+++ b/sql/updates/world/2013_10_22_00_world_disables.sql
@@ -0,0 +1,4 @@
+DELETE FROM `disables` WHERE `sourceType`=0 AND `entry` IN (2825,32182);
+INSERT INTO `disables` (`sourceType`,`entry`,`flags`,`comment`) VALUES
+(0,2825,64,'Ignore LOS for Heroism'),
+(0,32182,64,'Ignore LOS for Bloodlust');
diff --git a/sql/updates/world/2013_10_23_00_world_sai.sql b/sql/updates/world/2013_10_23_00_world_sai.sql
new file mode 100644
index 00000000000..51f5e357a22
--- /dev/null
+++ b/sql/updates/world/2013_10_23_00_world_sai.sql
@@ -0,0 +1,4 @@
+UPDATE `smart_scripts` SET `link`=2,`action_type`=33,`action_param1`=29692,`target_type`=7,`comment`='Hut Fire - On Spell Hit - Give Quest Credit' WHERE `entryorguid`=29692 AND `source_type`=0 AND `id`=1 AND `link`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=29692 AND `id`=2 AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`, `id`, `event_type`, `action_type`, `target_type`, `comment`) VALUES
+(29692,2,61,41,1, 'Hut Fire - Link With Event 1 - Despawn');
diff --git a/sql/updates/world/2013_10_23_01_world_sai.sql b/sql/updates/world/2013_10_23_01_world_sai.sql
new file mode 100644
index 00000000000..5b9ce9c4e21
--- /dev/null
+++ b/sql/updates/world/2013_10_23_01_world_sai.sql
@@ -0,0 +1,5 @@
+DELETE FROM `smart_scripts` WHERE `entryorguid`=29884 AND `id`=7;
+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
+(29884, 0, 7, 0, 0, 0, 100, 0, 6000, 10000, 6000, 10000, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Gymer - IC - Say 1');
+
+UPDATE `creature_template` SET `faction_A`=35, `faction_H`=35 WHERE `entry`=29884;
diff --git a/sql/updates/world/2013_10_24_00_world_sai.sql b/sql/updates/world/2013_10_24_00_world_sai.sql
new file mode 100644
index 00000000000..afeedcb800d
--- /dev/null
+++ b/sql/updates/world/2013_10_24_00_world_sai.sql
@@ -0,0 +1 @@
+UPDATE `smart_scripts` SET `target_type`=7 WHERE `target_type`=0;
diff --git a/sql/updates/world/2013_10_24_01_world_errors.sql b/sql/updates/world/2013_10_24_01_world_errors.sql
new file mode 100644
index 00000000000..f246efda806
--- /dev/null
+++ b/sql/updates/world/2013_10_24_01_world_errors.sql
@@ -0,0 +1,11 @@
+-- Remove unused skinning_loot_template.
+DELETE FROM `skinning_loot_template` WHERE `entry`=100015;
+-- Spell effects without target types AREA/NEARBY/CONE so this conditions are useless.
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `sourcegroup`=1 AND `sourceentry` IN (43789,43891);
+-- Must have the same loot as item 35348. In TDB it uses reference 11112 which is empty.
+DELETE FROM `item_loot_template` WHERE `entry`=34863;
+INSERT INTO `item_loot_template` (`entry`, `item`, `ChanceOrQuestChance`, `lootmode`, `groupid`, `mincountOrRef`, `maxcount`) VALUES
+(34863,1,100,1,0,-11113,1),
+(34863,2,60,1,0,-11116,1),
+(34863,3,5,1,0,-11114,1),
+(34863,4,60,1,0,-11115,1);
diff --git a/sql/updates/world/2013_10_24_02_world_sai.sql b/sql/updates/world/2013_10_24_02_world_sai.sql
new file mode 100644
index 00000000000..758bc8de13c
--- /dev/null
+++ b/sql/updates/world/2013_10_24_02_world_sai.sql
@@ -0,0 +1,12 @@
+UPDATE `creature_template` SET `ainame`='SmartAI' WHERE `entry`=15941;
+DELETE FROM `creature_text` WHERE `entry` IN (15945,15941);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES
+(15945,0,0,'You can''t do this to me! We had a deal!',12,0,0,0,0,0,''),
+(15941,0,0,'What? Oh, not this again!',12,0,0,0,0,0,'');
+DELETE FROM `smart_scripts` WHERE `entryorguid`=15945 AND `source_type`=0 AND `id` IN (14,15);
+DELETE FROM `smart_scripts` WHERE `entryorguid`=15941 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
+(15945,0,14,15,8,0,100,0,27907,0,0,0,33,15945,0,0,0,0,0,7,0,0,0,0,0,0,0,'Apprentice Meledor - On Spell Hit(Disciplinary Rod) - Quest Credit'),
+(15945,0,15,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Apprentice Meledor - Link - Say line'),
+(15941,0,0,1,8,0,100,0,27907,0,0,0,33,15941,0,0,0,0,0,7,0,0,0,0,0,0,0,'Apprentice Ralen - On Spell Hit(Disciplinary Rod) - Quest Credit'),
+(15941,0,1,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Apprentice Ralen - Link - Say line');
diff --git a/sql/updates/world/2013_10_24_03_world_sai.sql b/sql/updates/world/2013_10_24_03_world_sai.sql
new file mode 100644
index 00000000000..b21f45e1e84
--- /dev/null
+++ b/sql/updates/world/2013_10_24_03_world_sai.sql
@@ -0,0 +1,10 @@
+DELETE FROM `smart_scripts` WHERE `entryorguid`=15938 AND `source_type`=0 AND (`id` BETWEEN 15 AND 22);
+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
+(15938,0,15,0,8,0,100,0,1243,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 1) - Quest Credit'),
+(15938,0,16,0,8,0,100,0,1244,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 2) - Quest Credit'),
+(15938,0,17,0,8,0,100,0,1245,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 3) - Quest Credit'),
+(15938,0,18,0,8,0,100,0,2791,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 4) - Quest Credit'),
+(15938,0,19,0,8,0,100,0,10937,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 5) - Quest Credit'),
+(15938,0,20,0,8,0,100,0,10938,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 6) - Quest Credit'),
+(15938,0,21,0,8,0,100,0,25389,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 7) - Quest Credit'),
+(15938,0,22,0,8,0,100,0,48161,0,0,0,33,15938,0,0,0,0,0,7,0,0,0,0,0,0,0,'Eversong Ranger - On Spell Hit(Power Word: Fortitude Rank 8) - Quest Credit');
diff --git a/sql/updates/world/2013_10_25_00_world_update.sql b/sql/updates/world/2013_10_25_00_world_update.sql
new file mode 100644
index 00000000000..6d1b11c5111
--- /dev/null
+++ b/sql/updates/world/2013_10_25_00_world_update.sql
@@ -0,0 +1 @@
+UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid`=1118 AND `id`=0 AND `source_type`=0;
diff --git a/sql/updates/world/2013_10_27_00_world_conditions.sql b/sql/updates/world/2013_10_27_00_world_conditions.sql
new file mode 100644
index 00000000000..401053b80c7
--- /dev/null
+++ b/sql/updates/world/2013_10_27_00_world_conditions.sql
@@ -0,0 +1,6 @@
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN(66661,66642,30015,3678);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17, 0, 66661, 0, 0, 29, 0, 35012, 40, 0, 1, 0, 0, '', 'Cant use Captured Kvaldir Banner within 40 yards of Ornolf The Scarred'),
+(17, 0, 66642, 0, 0, 29, 0, 34980, 40, 0, 1, 0, 0, '', 'Cant use Kvaldir War Horn within 40 yards of Drottinn Hrothgar'),
+(17, 0, 30015, 0, 0, 29, 0, 17207, 100, 0, 1, 0, 0, '', 'Cant use Gift of Naias within 100 yards of Naias'),
+(17, 0, 3678, 0, 0, 29, 0, 2624, 100, 0, 1, 0, 0, '', 'Cant use Catelyns Blade within 100 yards of Gazban');
diff --git a/sql/updates/world/2013_10_28_00_world_sai.sql b/sql/updates/world/2013_10_28_00_world_sai.sql
new file mode 100644
index 00000000000..42eea3dfefa
--- /dev/null
+++ b/sql/updates/world/2013_10_28_00_world_sai.sql
@@ -0,0 +1,6 @@
+DELETE FROM `smart_scripts` WHERE `entryorguid` = 23030 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
+(23030, 0, 0, 0, 6, 0, 100, 2, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - On Creature Death - Dismount"),
+(23030, 0, 1, 0, 0, 0, 100, 2, 0, 0, 0, 0, 19, 0x02000000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - In Combat - Remove unit flag"),
+(23030, 0, 2, 0, 9, 0, 100, 2, 5, 41, 15800, 15800, 11, 40872, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - At 5 - 41 Range - Cast Immolation Arrow"),
+(23030, 0, 3, 0, 9, 0, 100, 2, 5, 41, 9800, 9800, 11, 40873, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "Dragonmaw Sky Stalker - At 5 - 41 Range - Cast Shoot");
diff --git a/src/server/authserver/Realms/RealmList.h b/src/server/authserver/Realms/RealmList.h
index d59990135f2..bf9493ad372 100644
--- a/src/server/authserver/Realms/RealmList.h
+++ b/src/server/authserver/Realms/RealmList.h
@@ -60,7 +60,7 @@ public:
typedef std::map<std::string, Realm> RealmMap;
RealmList();
- ~RealmList() {}
+ ~RealmList() { }
void Initialize(uint32 updateInterval);
diff --git a/src/server/authserver/Server/AuthSocket.cpp b/src/server/authserver/Server/AuthSocket.cpp
index 4a9d3ce7faf..4312548116a 100644
--- a/src/server/authserver/Server/AuthSocket.cpp
+++ b/src/server/authserver/Server/AuthSocket.cpp
@@ -206,7 +206,7 @@ AuthSocket::AuthSocket(RealmSocket& socket) :
}
// Close patch file descriptor before leaving
-AuthSocket::~AuthSocket(void) {}
+AuthSocket::~AuthSocket(void) { }
// Accept the connection
void AuthSocket::OnAccept(void)
@@ -1096,9 +1096,7 @@ PatcherRunnable::PatcherRunnable(class AuthSocket* as)
}
// Send content of patch file to the client
-void PatcherRunnable::run()
-{
-}
+void PatcherRunnable::run() { }
// Preload MD5 hashes of existing patch files on server
#ifndef _WIN32
diff --git a/src/server/authserver/Server/RealmSocket.cpp b/src/server/authserver/Server/RealmSocket.cpp
index 88d81132306..acefa4b1af7 100644
--- a/src/server/authserver/Server/RealmSocket.cpp
+++ b/src/server/authserver/Server/RealmSocket.cpp
@@ -23,7 +23,7 @@
#include "RealmSocket.h"
#include "Log.h"
-RealmSocket::Session::Session(void) {}
+RealmSocket::Session::Session(void) { }
RealmSocket::Session::~Session(void) { }
diff --git a/src/server/collision/BoundingIntervalHierarchyWrapper.h b/src/server/collision/BoundingIntervalHierarchyWrapper.h
index 8696a759fa8..8aafc023a20 100644
--- a/src/server/collision/BoundingIntervalHierarchyWrapper.h
+++ b/src/server/collision/BoundingIntervalHierarchyWrapper.h
@@ -35,7 +35,7 @@ class BIHWrap
RayCallback& _callback;
uint32 objects_size;
- MDLCallback(RayCallback& callback, const T* const* objects_array, uint32 objects_size ) : objects(objects_array), _callback(callback), objects_size(objects_size) {}
+ MDLCallback(RayCallback& callback, const T* const* objects_array, uint32 objects_size ) : objects(objects_array), _callback(callback), objects_size(objects_size) { }
/// Intersect ray
bool operator() (const G3D::Ray& ray, uint32 idx, float& maxDist, bool /*stopAtFirst*/)
@@ -66,7 +66,7 @@ class BIHWrap
int unbalanced_times;
public:
- BIHWrap() : unbalanced_times(0) {}
+ BIHWrap() : unbalanced_times(0) { }
void insert(const T& obj)
{
diff --git a/src/server/collision/DynamicTree.cpp b/src/server/collision/DynamicTree.cpp
index aebcee0d689..4b2878169d7 100644
--- a/src/server/collision/DynamicTree.cpp
+++ b/src/server/collision/DynamicTree.cpp
@@ -107,9 +107,7 @@ struct DynTreeImpl : public ParentTree/*, public Intersectable*/
int unbalanced_times;
};
-DynamicMapTree::DynamicMapTree() : impl(new DynTreeImpl())
-{
-}
+DynamicMapTree::DynamicMapTree() : impl(new DynTreeImpl()) { }
DynamicMapTree::~DynamicMapTree()
{
@@ -150,7 +148,7 @@ struct DynamicTreeIntersectionCallback
{
bool did_hit;
uint32 phase_mask;
- DynamicTreeIntersectionCallback(uint32 phasemask) : did_hit(false), phase_mask(phasemask) {}
+ DynamicTreeIntersectionCallback(uint32 phasemask) : did_hit(false), phase_mask(phasemask) { }
bool operator()(const G3D::Ray& r, const GameObjectModel& obj, float& distance)
{
did_hit = obj.intersectRay(r, distance, true, phase_mask);
diff --git a/src/server/collision/Management/IVMapManager.h b/src/server/collision/Management/IVMapManager.h
index 9289d820e5b..7269d2e05f4 100644
--- a/src/server/collision/Management/IVMapManager.h
+++ b/src/server/collision/Management/IVMapManager.h
@@ -49,9 +49,9 @@ namespace VMAP
bool iEnableHeightCalc;
public:
- IVMapManager() : iEnableLineOfSightCalc(true), iEnableHeightCalc(true) {}
+ IVMapManager() : iEnableLineOfSightCalc(true), iEnableHeightCalc(true) { }
- virtual ~IVMapManager(void) {}
+ virtual ~IVMapManager(void) { }
virtual int loadMap(const char* pBasePath, unsigned int pMapId, int x, int y) = 0;
diff --git a/src/server/collision/Management/MMapManager.h b/src/server/collision/Management/MMapManager.h
index c23c12f9a49..9d90d1bb2af 100644
--- a/src/server/collision/Management/MMapManager.h
+++ b/src/server/collision/Management/MMapManager.h
@@ -33,7 +33,7 @@ namespace MMAP
// dummy struct to hold map's mmap data
struct MMapData
{
- MMapData(dtNavMesh* mesh) : navMesh(mesh) {}
+ MMapData(dtNavMesh* mesh) : navMesh(mesh) { }
~MMapData()
{
for (NavMeshQuerySet::iterator i = _navMeshQueries.begin(); i != _navMeshQueries.end(); ++i)
@@ -59,6 +59,7 @@ namespace MMAP
{
public:
MMapManager() : _loadedTiles(0) {}
+
~MMapManager();
bool LoadMapTile(uint32 mapId, int32 x, int32 y);
diff --git a/src/server/collision/Management/VMapManager2.h b/src/server/collision/Management/VMapManager2.h
index 51f15f0fda4..644e6004201 100644
--- a/src/server/collision/Management/VMapManager2.h
+++ b/src/server/collision/Management/VMapManager2.h
@@ -53,7 +53,7 @@ namespace VMAP
class ManagedModel
{
public:
- ManagedModel() : iModel(0), iRefCount(0) {}
+ ManagedModel() : iModel(0), iRefCount(0) { }
void setModel(WorldModel* model) { iModel = model; }
WorldModel* getModel() { return iModel; }
void incRefCount() { ++iRefCount; }
diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp
index 436f30eed10..d20c572cf71 100644
--- a/src/server/collision/Maps/MapTree.cpp
+++ b/src/server/collision/Maps/MapTree.cpp
@@ -36,7 +36,7 @@ namespace VMAP
class MapRayCallback
{
public:
- MapRayCallback(ModelInstance* val): prims(val), hit(false) {}
+ MapRayCallback(ModelInstance* val): prims(val), hit(false) { }
bool operator()(const G3D::Ray& ray, uint32 entry, float& distance, bool pStopAtFirstHit=true)
{
bool result = prims[entry].intersectRay(ray, distance, pStopAtFirstHit);
@@ -53,7 +53,7 @@ namespace VMAP
class AreaInfoCallback
{
public:
- AreaInfoCallback(ModelInstance* val): prims(val) {}
+ AreaInfoCallback(ModelInstance* val): prims(val) { }
void operator()(const Vector3& point, uint32 entry)
{
#ifdef VMAP_DEBUG
@@ -69,7 +69,7 @@ namespace VMAP
class LocationInfoCallback
{
public:
- LocationInfoCallback(ModelInstance* val, LocationInfo &info): prims(val), locInfo(info), result(false) {}
+ LocationInfoCallback(ModelInstance* val, LocationInfo &info): prims(val), locInfo(info), result(false) { }
void operator()(const Vector3& point, uint32 entry)
{
#ifdef VMAP_DEBUG
diff --git a/src/server/collision/Maps/MapTree.h b/src/server/collision/Maps/MapTree.h
index c66893da82f..1440ee0f250 100644
--- a/src/server/collision/Maps/MapTree.h
+++ b/src/server/collision/Maps/MapTree.h
@@ -31,7 +31,7 @@ namespace VMAP
struct LocationInfo
{
- LocationInfo(): hitInstance(0), hitModel(0), ground_Z(-G3D::inf()) {}
+ LocationInfo(): hitInstance(0), hitModel(0), ground_Z(-G3D::inf()) { }
const ModelInstance* hitInstance;
const GroupModel* hitModel;
float ground_Z;
@@ -86,7 +86,7 @@ namespace VMAP
struct AreaInfo
{
AreaInfo(): result(false), ground_Z(-G3D::inf()), flags(0), adtId(0),
- rootId(0), groupId(0) {}
+ rootId(0), groupId(0) { }
bool result;
float ground_Z;
uint32 flags;
diff --git a/src/server/collision/Maps/TileAssembler.h b/src/server/collision/Maps/TileAssembler.h
index 56cb7600e4f..715f228c3df 100644
--- a/src/server/collision/Maps/TileAssembler.h
+++ b/src/server/collision/Maps/TileAssembler.h
@@ -76,7 +76,7 @@ namespace VMAP
class WmoLiquid* liquid;
GroupModel_Raw() : mogpflags(0), GroupWMOID(0), liquidflags(0),
- liquid(NULL) {}
+ liquid(NULL) { }
~GroupModel_Raw();
bool Read(FILE* f);
diff --git a/src/server/collision/Models/GameObjectModel.cpp b/src/server/collision/Models/GameObjectModel.cpp
index a3af175a977..fee165ef44a 100644
--- a/src/server/collision/Models/GameObjectModel.cpp
+++ b/src/server/collision/Models/GameObjectModel.cpp
@@ -37,7 +37,7 @@ using G3D::AABox;
struct GameobjectModelData
{
GameobjectModelData(const std::string& name_, const AABox& box) :
- bound(box), name(name_) {}
+ bound(box), name(name_) { }
AABox bound;
std::string name;
diff --git a/src/server/collision/Models/GameObjectModel.h b/src/server/collision/Models/GameObjectModel.h
index 44abed55267..143337e88f9 100644
--- a/src/server/collision/Models/GameObjectModel.h
+++ b/src/server/collision/Models/GameObjectModel.h
@@ -45,7 +45,7 @@ class GameObjectModel /*, public Intersectable*/
float iScale;
VMAP::WorldModel* iModel;
- GameObjectModel() : phasemask(0), iModel(NULL) {}
+ GameObjectModel() : phasemask(0), iModel(NULL) { }
bool initialize(const GameObject& go, const GameObjectDisplayInfoEntry& info);
public:
diff --git a/src/server/collision/Models/ModelInstance.h b/src/server/collision/Models/ModelInstance.h
index f26089bb46c..8ea2792393b 100644
--- a/src/server/collision/Models/ModelInstance.h
+++ b/src/server/collision/Models/ModelInstance.h
@@ -63,7 +63,7 @@ namespace VMAP
class ModelInstance: public ModelSpawn
{
public:
- ModelInstance(): iInvScale(0.0f), iModel(0) {}
+ ModelInstance(): iInvScale(0.0f), iModel(0) { }
ModelInstance(const ModelSpawn &spawn, WorldModel* model);
void setUnloaded() { iModel = 0; }
bool intersectRay(const G3D::Ray& pRay, float& pMaxDist, bool pStopAtFirstHit) const;
diff --git a/src/server/collision/Models/WorldModel.cpp b/src/server/collision/Models/WorldModel.cpp
index 3c72cb80308..fcb28e5e331 100644
--- a/src/server/collision/Models/WorldModel.cpp
+++ b/src/server/collision/Models/WorldModel.cpp
@@ -84,7 +84,7 @@ namespace VMAP
class TriBoundFunc
{
public:
- TriBoundFunc(std::vector<Vector3> &vert): vertices(vert.begin()) {}
+ TriBoundFunc(std::vector<Vector3> &vert): vertices(vert.begin()) { }
void operator()(const MeshTriangle &tri, G3D::AABox &out) const
{
G3D::Vector3 lo = vertices[tri.idx0];
@@ -360,7 +360,7 @@ namespace VMAP
struct GModelRayCallback
{
GModelRayCallback(const std::vector<MeshTriangle> &tris, const std::vector<Vector3> &vert):
- vertices(vert.begin()), triangles(tris.begin()), hit(false) {}
+ vertices(vert.begin()), triangles(tris.begin()), hit(false) { }
bool operator()(const G3D::Ray& ray, uint32 entry, float& distance, bool /*pStopAtFirstHit*/)
{
bool result = IntersectTriangle(triangles[entry], vertices, ray, distance);
@@ -420,7 +420,7 @@ namespace VMAP
struct WModelRayCallBack
{
- WModelRayCallBack(const std::vector<GroupModel> &mod): models(mod.begin()), hit(false) {}
+ WModelRayCallBack(const std::vector<GroupModel> &mod): models(mod.begin()), hit(false) { }
bool operator()(const G3D::Ray& ray, uint32 entry, float& distance, bool pStopAtFirstHit)
{
bool result = models[entry].IntersectRay(ray, distance, pStopAtFirstHit);
@@ -446,7 +446,7 @@ namespace VMAP
class WModelAreaCallback {
public:
WModelAreaCallback(const std::vector<GroupModel> &vals, const Vector3 &down):
- prims(vals.begin()), hit(vals.end()), minVol(G3D::inf()), zDist(G3D::inf()), zVec(down) {}
+ prims(vals.begin()), hit(vals.end()), minVol(G3D::inf()), zDist(G3D::inf()), zVec(down) { }
std::vector<GroupModel>::const_iterator prims;
std::vector<GroupModel>::const_iterator hit;
float minVol;
diff --git a/src/server/collision/Models/WorldModel.h b/src/server/collision/Models/WorldModel.h
index 9d588316cce..23fb1cdb7b6 100644
--- a/src/server/collision/Models/WorldModel.h
+++ b/src/server/collision/Models/WorldModel.h
@@ -36,8 +36,8 @@ namespace VMAP
class MeshTriangle
{
public:
- MeshTriangle(){}
- MeshTriangle(uint32 na, uint32 nb, uint32 nc): idx0(na), idx1(nb), idx2(nc) {}
+ MeshTriangle(){ }
+ MeshTriangle(uint32 na, uint32 nb, uint32 nc): idx0(na), idx1(nb), idx2(nc) { }
uint32 idx0;
uint32 idx1;
@@ -59,7 +59,7 @@ namespace VMAP
bool writeToFile(FILE* wf);
static bool readFromFile(FILE* rf, WmoLiquid* &liquid);
private:
- WmoLiquid(): iHeight(0), iFlags(0) {}
+ WmoLiquid(): iHeight(0), iFlags(0) { }
uint32 iTilesX; //!< number of tiles in x direction, each
uint32 iTilesY;
G3D::Vector3 iCorner; //!< the lower corner
@@ -74,10 +74,10 @@ namespace VMAP
class GroupModel
{
public:
- GroupModel(): iLiquid(0) {}
+ GroupModel(): iLiquid(0) { }
GroupModel(const GroupModel &other);
GroupModel(uint32 mogpFlags, uint32 groupWMOID, const G3D::AABox &bound):
- iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(0) {}
+ iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(0) { }
~GroupModel() { delete iLiquid; }
//! pass mesh data to object and create BIH. Passed vectors get get swapped with old geometry!
@@ -107,7 +107,7 @@ namespace VMAP
class WorldModel
{
public:
- WorldModel(): RootWMOID(0) {}
+ WorldModel(): RootWMOID(0) { }
//! pass group models to WorldModel and create BIH. Passed vector is swapped with old geometry!
void setGroupModels(std::vector<GroupModel> &models);
diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp
index 85088bbeff4..3ad52aedb34 100644
--- a/src/server/game/AI/CoreAI/CombatAI.cpp
+++ b/src/server/game/AI/CoreAI/CombatAI.cpp
@@ -272,7 +272,7 @@ void TurretAI::UpdateAI(uint32 /*diff*/)
//VehicleAI
//////////////
-VehicleAI::VehicleAI(Creature* c) : CreatureAI(c), m_vehicle(c->GetVehicleKit()), m_IsVehicleInUse(false), m_ConditionsTimer(VEHICLE_CONDITION_CHECK_TIME)
+VehicleAI::VehicleAI(Creature* c) : CreatureAI(c), m_IsVehicleInUse(false), m_ConditionsTimer(VEHICLE_CONDITION_CHECK_TIME)
{
LoadConditions();
m_DoDismiss = false;
@@ -291,7 +291,9 @@ void VehicleAI::UpdateAI(uint32 diff)
m_DoDismiss = false;
me->SetVisible(false);
me->DespawnOrUnsummon();
- }else m_DismissTimer -= diff;
+ }
+ else
+ m_DismissTimer -= diff;
}
}
@@ -310,6 +312,7 @@ void VehicleAI::OnCharmed(bool apply)
}
else if (apply)
m_DoDismiss = false;//in use again
+
m_DismissTimer = VEHICLE_DISMISS_TIME;//reset timer
m_IsVehicleInUse = apply;
}
@@ -327,19 +330,22 @@ void VehicleAI::CheckConditions(const uint32 diff)
{
if (!conditions.empty())
{
- for (SeatMap::iterator itr = m_vehicle->Seats.begin(); itr != m_vehicle->Seats.end(); ++itr)
- if (Unit* passenger = ObjectAccessor::GetUnit(*m_vehicle->GetBase(), itr->second.Passenger.Guid))
- {
- if (Player* player = passenger->ToPlayer())
+ if( Vehicle* vehicleKit = me->GetVehicleKit())
+ for (SeatMap::iterator itr = vehicleKit->Seats.begin(); itr != vehicleKit->Seats.end(); ++itr)
+ if (Unit* passenger = ObjectAccessor::GetUnit(*me, itr->second.Passenger.Guid))
{
- if (!sConditionMgr->IsObjectMeetToConditions(player, me, conditions))
+ if (Player* player = passenger->ToPlayer())
{
- player->ExitVehicle();
- return;//check other pessanger in next tick
+ if (!sConditionMgr->IsObjectMeetToConditions(player, me, conditions))
+ {
+ player->ExitVehicle();
+ return;//check other pessanger in next tick
+ }
}
}
- }
}
m_ConditionsTimer = VEHICLE_CONDITION_CHECK_TIME;
- } else m_ConditionsTimer -= diff;
+ }
+ else
+ m_ConditionsTimer -= diff;
}
diff --git a/src/server/game/AI/CoreAI/CombatAI.h b/src/server/game/AI/CoreAI/CombatAI.h
index 315ff861da9..16167d1be59 100644
--- a/src/server/game/AI/CoreAI/CombatAI.h
+++ b/src/server/game/AI/CoreAI/CombatAI.h
@@ -28,7 +28,7 @@ class Creature;
class AggressorAI : public CreatureAI
{
public:
- explicit AggressorAI(Creature* c) : CreatureAI(c) {}
+ explicit AggressorAI(Creature* c) : CreatureAI(c) { }
void UpdateAI(uint32);
static int Permissible(const Creature*);
@@ -39,7 +39,7 @@ typedef std::vector<uint32> SpellVct;
class CombatAI : public CreatureAI
{
public:
- explicit CombatAI(Creature* c) : CreatureAI(c) {}
+ explicit CombatAI(Creature* c) : CreatureAI(c) { }
void InitializeAI();
void Reset();
@@ -100,12 +100,11 @@ struct VehicleAI : public CreatureAI
void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
void Reset();
- void MoveInLineOfSight(Unit*) {}
- void AttackStart(Unit*) {}
+ void MoveInLineOfSight(Unit*) { }
+ void AttackStart(Unit*) { }
void OnCharmed(bool apply);
private:
- Vehicle* m_vehicle;
bool m_IsVehicleInUse;
void LoadConditions();
void CheckConditions(const uint32 diff);
diff --git a/src/server/game/AI/CoreAI/GameObjectAI.cpp b/src/server/game/AI/CoreAI/GameObjectAI.cpp
index 06e3a4b9ec4..adc82d7b018 100644
--- a/src/server/game/AI/CoreAI/GameObjectAI.cpp
+++ b/src/server/game/AI/CoreAI/GameObjectAI.cpp
@@ -18,7 +18,7 @@
#include "GameObjectAI.h"
-//GameObjectAI::GameObjectAI(GameObject* g) : go(g) {}
+//GameObjectAI::GameObjectAI(GameObject* g) : go(g) { }
int GameObjectAI::Permissible(const GameObject* go)
{
if (go->GetAIName() == "GameObjectAI")
@@ -26,4 +26,4 @@ int GameObjectAI::Permissible(const GameObject* go)
return PERMIT_BASE_NO;
}
-NullGameObjectAI::NullGameObjectAI(GameObject* g) : GameObjectAI(g) {}
+NullGameObjectAI::NullGameObjectAI(GameObject* g) : GameObjectAI(g) { }
diff --git a/src/server/game/AI/CoreAI/GameObjectAI.h b/src/server/game/AI/CoreAI/GameObjectAI.h
index 32a6e9a670c..0d5af4f8802 100644
--- a/src/server/game/AI/CoreAI/GameObjectAI.h
+++ b/src/server/game/AI/CoreAI/GameObjectAI.h
@@ -30,18 +30,18 @@ class GameObjectAI
protected:
GameObject* const go;
public:
- explicit GameObjectAI(GameObject* g) : go(g) {}
- virtual ~GameObjectAI() {}
+ explicit GameObjectAI(GameObject* g) : go(g) { }
+ virtual ~GameObjectAI() { }
- virtual void UpdateAI(uint32 /*diff*/) {}
+ virtual void UpdateAI(uint32 /*diff*/) { }
virtual void InitializeAI() { Reset(); }
virtual void Reset() { }
// Pass parameters between AI
- virtual void DoAction(int32 /*param = 0 */) {}
- virtual void SetGUID(uint64 /*guid*/, int32 /*id = 0 */) {}
+ virtual void DoAction(int32 /*param = 0 */) { }
+ virtual void SetGUID(uint64 /*guid*/, int32 /*id = 0 */) { }
virtual uint64 GetGUID(int32 /*id = 0 */) const { return 0; }
static int Permissible(GameObject const* go);
@@ -52,14 +52,14 @@ class GameObjectAI
virtual bool QuestAccept(Player* /*player*/, Quest const* /*quest*/) { return false; }
virtual bool QuestReward(Player* /*player*/, Quest const* /*quest*/, uint32 /*opt*/) { return false; }
virtual uint32 GetDialogStatus(Player* /*player*/) { return 100; }
- virtual void Destroyed(Player* /*player*/, uint32 /*eventId*/) {}
+ virtual void Destroyed(Player* /*player*/, uint32 /*eventId*/) { }
virtual uint32 GetData(uint32 /*id*/) const { return 0; }
- virtual void SetData64(uint32 /*id*/, uint64 /*value*/) {}
+ virtual void SetData64(uint32 /*id*/, uint64 /*value*/) { }
virtual uint64 GetData64(uint32 /*id*/) const { return 0; }
- virtual void SetData(uint32 /*id*/, uint32 /*value*/) {}
- virtual void OnGameEvent(bool /*start*/, uint16 /*eventId*/) {}
- virtual void OnStateChanged(uint32 /*state*/, Unit* /*unit*/) {}
- virtual void EventInform(uint32 /*eventId*/) {}
+ virtual void SetData(uint32 /*id*/, uint32 /*value*/) { }
+ virtual void OnGameEvent(bool /*start*/, uint16 /*eventId*/) { }
+ virtual void OnStateChanged(uint32 /*state*/, Unit* /*unit*/) { }
+ virtual void EventInform(uint32 /*eventId*/) { }
};
class NullGameObjectAI : public GameObjectAI
@@ -67,7 +67,7 @@ class NullGameObjectAI : public GameObjectAI
public:
explicit NullGameObjectAI(GameObject* g);
- void UpdateAI(uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) { }
static int Permissible(GameObject const* /*go*/) { return PERMIT_BASE_IDLE; }
};
diff --git a/src/server/game/AI/CoreAI/GuardAI.cpp b/src/server/game/AI/CoreAI/GuardAI.cpp
index 220d53a20e0..188ad4fb450 100644
--- a/src/server/game/AI/CoreAI/GuardAI.cpp
+++ b/src/server/game/AI/CoreAI/GuardAI.cpp
@@ -31,9 +31,7 @@ int GuardAI::Permissible(Creature const* creature)
return PERMIT_BASE_NO;
}
-GuardAI::GuardAI(Creature* creature) : ScriptedAI(creature)
-{
-}
+GuardAI::GuardAI(Creature* creature) : ScriptedAI(creature) { }
bool GuardAI::CanSeeAlways(WorldObject const* obj)
{
diff --git a/src/server/game/AI/CoreAI/PassiveAI.h b/src/server/game/AI/CoreAI/PassiveAI.h
index cb047ff364b..58c9a348fe9 100644
--- a/src/server/game/AI/CoreAI/PassiveAI.h
+++ b/src/server/game/AI/CoreAI/PassiveAI.h
@@ -26,8 +26,8 @@ class PassiveAI : public CreatureAI
public:
explicit PassiveAI(Creature* c);
- void MoveInLineOfSight(Unit*) {}
- void AttackStart(Unit*) {}
+ void MoveInLineOfSight(Unit*) { }
+ void AttackStart(Unit*) { }
void UpdateAI(uint32);
static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
@@ -38,10 +38,10 @@ class PossessedAI : public CreatureAI
public:
explicit PossessedAI(Creature* c);
- void MoveInLineOfSight(Unit*) {}
+ void MoveInLineOfSight(Unit*) { }
void AttackStart(Unit* target);
void UpdateAI(uint32);
- void EnterEvadeMode() {}
+ void EnterEvadeMode() { }
void JustDied(Unit*);
void KilledUnit(Unit* victim);
@@ -54,11 +54,11 @@ class NullCreatureAI : public CreatureAI
public:
explicit NullCreatureAI(Creature* c);
- void MoveInLineOfSight(Unit*) {}
- void AttackStart(Unit*) {}
- void UpdateAI(uint32) {}
- void EnterEvadeMode() {}
- void OnCharmed(bool /*apply*/) {}
+ void MoveInLineOfSight(Unit*) { }
+ void AttackStart(Unit*) { }
+ void UpdateAI(uint32) { }
+ void EnterEvadeMode() { }
+ void OnCharmed(bool /*apply*/) { }
static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
};
@@ -66,7 +66,7 @@ class NullCreatureAI : public CreatureAI
class CritterAI : public PassiveAI
{
public:
- explicit CritterAI(Creature* c) : PassiveAI(c) {}
+ explicit CritterAI(Creature* c) : PassiveAI(c) { }
void DamageTaken(Unit* done_by, uint32& /*damage*/);
void EnterEvadeMode();
@@ -75,7 +75,7 @@ class CritterAI : public PassiveAI
class TriggerAI : public NullCreatureAI
{
public:
- explicit TriggerAI(Creature* c) : NullCreatureAI(c) {}
+ explicit TriggerAI(Creature* c) : NullCreatureAI(c) { }
void IsSummonedBy(Unit* summoner);
};
diff --git a/src/server/game/AI/CoreAI/PetAI.h b/src/server/game/AI/CoreAI/PetAI.h
index efb088160f3..9cce00440e1 100644
--- a/src/server/game/AI/CoreAI/PetAI.h
+++ b/src/server/game/AI/CoreAI/PetAI.h
@@ -45,9 +45,9 @@ class PetAI : public CreatureAI
// The following aren't used by the PetAI but need to be defined to override
// default CreatureAI functions which interfere with the PetAI
//
- void MoveInLineOfSight(Unit* /*who*/) {} // CreatureAI interferes with returning pets
- void MoveInLineOfSight_Safe(Unit* /*who*/) {} // CreatureAI interferes with returning pets
- void EnterEvadeMode() {} // For fleeing, pets don't use this type of Evade mechanic
+ void MoveInLineOfSight(Unit* /*who*/) { } // CreatureAI interferes with returning pets
+ void MoveInLineOfSight_Safe(Unit* /*who*/) { } // CreatureAI interferes with returning pets
+ void EnterEvadeMode() { } // For fleeing, pets don't use this type of Evade mechanic
private:
bool _isVisible(Unit*) const;
diff --git a/src/server/game/AI/CoreAI/ReactorAI.h b/src/server/game/AI/CoreAI/ReactorAI.h
index 449458f39be..42f9c425ceb 100644
--- a/src/server/game/AI/CoreAI/ReactorAI.h
+++ b/src/server/game/AI/CoreAI/ReactorAI.h
@@ -27,9 +27,9 @@ class ReactorAI : public CreatureAI
{
public:
- explicit ReactorAI(Creature* c) : CreatureAI(c) {}
+ explicit ReactorAI(Creature* c) : CreatureAI(c) { }
- void MoveInLineOfSight(Unit*) {}
+ void MoveInLineOfSight(Unit*) { }
void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
diff --git a/src/server/game/AI/CoreAI/TotemAI.cpp b/src/server/game/AI/CoreAI/TotemAI.cpp
index bc865b8b6aa..03ba024384f 100644
--- a/src/server/game/AI/CoreAI/TotemAI.cpp
+++ b/src/server/game/AI/CoreAI/TotemAI.cpp
@@ -40,9 +40,7 @@ TotemAI::TotemAI(Creature* c) : CreatureAI(c), i_victimGuid(0)
ASSERT(c->IsTotem());
}
-void TotemAI::MoveInLineOfSight(Unit* /*who*/)
-{
-}
+void TotemAI::MoveInLineOfSight(Unit* /*who*/) { }
void TotemAI::EnterEvadeMode()
{
diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h
index f048c049b34..71fc86f112b 100644
--- a/src/server/game/AI/CoreAI/UnitAI.h
+++ b/src/server/game/AI/CoreAI/UnitAI.h
@@ -120,8 +120,8 @@ class UnitAI
protected:
Unit* const me;
public:
- explicit UnitAI(Unit* unit) : me(unit) {}
- virtual ~UnitAI() {}
+ explicit UnitAI(Unit* unit) : me(unit) { }
+ virtual ~UnitAI() { }
virtual bool CanAIAttack(Unit const* /*target*/) const { return true; }
virtual void AttackStart(Unit* /*target*/);
@@ -129,16 +129,16 @@ class UnitAI
virtual void InitializeAI() { if (!me->isDead()) Reset(); }
- virtual void Reset() {};
+ virtual void Reset() { };
// Called when unit is charmed
virtual void OnCharmed(bool apply) = 0;
// Pass parameters between AI
- virtual void DoAction(int32 /*param*/) {}
+ virtual void DoAction(int32 /*param*/) { }
virtual uint32 GetData(uint32 /*id = 0*/) const { return 0; }
- virtual void SetData(uint32 /*id*/, uint32 /*value*/) {}
- virtual void SetGUID(uint64 /*guid*/, int32 /*id*/ = 0) {}
+ virtual void SetData(uint32 /*id*/, uint32 /*value*/) { }
+ virtual void SetGUID(uint64 /*guid*/, int32 /*id*/ = 0) { }
virtual uint64 GetGUID(int32 /*id*/ = 0) const { return 0; }
Unit* SelectTarget(SelectAggroTarget targetType, uint32 position = 0, float dist = 0.0f, bool playerOnly = false, int32 aura = 0);
@@ -225,17 +225,17 @@ class UnitAI
// Called at any Damage from any attacker (before damage apply)
// Note: it for recalculation damage or special reaction at damage
// for attack reaction use AttackedBy called for not DOT damage in Unit::DealDamage also
- virtual void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) {}
+ virtual void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) { }
// Called when the creature receives heal
- virtual void HealReceived(Unit* /*done_by*/, uint32& /*addhealth*/) {}
+ virtual void HealReceived(Unit* /*done_by*/, uint32& /*addhealth*/) { }
// Called when the unit heals
- virtual void HealDone(Unit* /*done_to*/, uint32& /*addhealth*/) {}
+ virtual void HealDone(Unit* /*done_to*/, uint32& /*addhealth*/) { }
/// Called when a spell is interrupted by Spell::EffectInterruptCast
/// Use to reschedule next planned cast of spell.
- virtual void SpellInterrupted(uint32 /*spellId*/, uint32 /*unTimeMs*/) {}
+ virtual void SpellInterrupted(uint32 /*spellId*/, uint32 /*unTimeMs*/) { }
void AttackStartCaster(Unit* victim, float dist);
@@ -254,15 +254,15 @@ class UnitAI
static AISpellInfoType* AISpellInfo;
static void FillAISpellInfo();
- virtual void sGossipHello(Player* /*player*/) {}
- virtual void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) {}
- virtual void sGossipSelectCode(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/, char const* /*code*/) {}
- virtual void sQuestAccept(Player* /*player*/, Quest const* /*quest*/) {}
- virtual void sQuestSelect(Player* /*player*/, Quest const* /*quest*/) {}
- virtual void sQuestComplete(Player* /*player*/, Quest const* /*quest*/) {}
- virtual void sQuestReward(Player* /*player*/, Quest const* /*quest*/, uint32 /*opt*/) {}
+ virtual void sGossipHello(Player* /*player*/) { }
+ virtual void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) { }
+ virtual void sGossipSelectCode(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/, char const* /*code*/) { }
+ virtual void sQuestAccept(Player* /*player*/, Quest const* /*quest*/) { }
+ virtual void sQuestSelect(Player* /*player*/, Quest const* /*quest*/) { }
+ virtual void sQuestComplete(Player* /*player*/, Quest const* /*quest*/) { }
+ virtual void sQuestReward(Player* /*player*/, Quest const* /*quest*/, uint32 /*opt*/) { }
virtual bool sOnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/) { return false; }
- virtual void sOnGameEvent(bool /*start*/, uint16 /*eventId*/) {}
+ virtual void sOnGameEvent(bool /*start*/, uint16 /*eventId*/) { }
};
class PlayerAI : public UnitAI
@@ -270,7 +270,7 @@ class PlayerAI : public UnitAI
protected:
Player* const me;
public:
- explicit PlayerAI(Player* player) : UnitAI((Unit*)player), me(player) {}
+ explicit PlayerAI(Player* player) : UnitAI((Unit*)player), me(player) { }
void OnCharmed(bool apply);
};
@@ -279,7 +279,7 @@ class SimpleCharmedAI : public PlayerAI
{
public:
void UpdateAI(uint32 diff);
- SimpleCharmedAI(Player* player): PlayerAI(player) {}
+ SimpleCharmedAI(Player* player): PlayerAI(player) { }
};
#endif
diff --git a/src/server/game/AI/CreatureAI.h b/src/server/game/AI/CreatureAI.h
index 34339859a95..14cf0a05109 100644
--- a/src/server/game/AI/CreatureAI.h
+++ b/src/server/game/AI/CreatureAI.h
@@ -79,9 +79,9 @@ class CreatureAI : public UnitAI
public:
void Talk(uint8 id, uint64 WhisperGuid = 0);
- explicit CreatureAI(Creature* creature) : UnitAI(creature), me(creature), m_MoveInLineOfSight_locked(false) {}
+ explicit CreatureAI(Creature* creature) : UnitAI(creature), me(creature), m_MoveInLineOfSight_locked(false) { }
- virtual ~CreatureAI() {}
+ virtual ~CreatureAI() { }
/// == Reactions At =================================
@@ -95,61 +95,61 @@ class CreatureAI : public UnitAI
virtual void EnterEvadeMode();
// Called for reaction at enter to combat if not in combat yet (enemy can be NULL)
- virtual void EnterCombat(Unit* /*victim*/) {}
+ virtual void EnterCombat(Unit* /*victim*/) { }
// Called when the creature is killed
- virtual void JustDied(Unit* /*killer*/) {}
+ virtual void JustDied(Unit* /*killer*/) { }
// Called when the creature kills a unit
- virtual void KilledUnit(Unit* /*victim*/) {}
+ virtual void KilledUnit(Unit* /*victim*/) { }
// Called when the creature summon successfully other creature
- virtual void JustSummoned(Creature* /*summon*/) {}
- virtual void IsSummonedBy(Unit* /*summoner*/) {}
+ virtual void JustSummoned(Creature* /*summon*/) { }
+ virtual void IsSummonedBy(Unit* /*summoner*/) { }
- virtual void SummonedCreatureDespawn(Creature* /*summon*/) {}
- virtual void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) {}
+ virtual void SummonedCreatureDespawn(Creature* /*summon*/) { }
+ virtual void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) { }
// Called when hit by a spell
- virtual void SpellHit(Unit* /*caster*/, SpellInfo const* /*spell*/) {}
+ virtual void SpellHit(Unit* /*caster*/, SpellInfo const* /*spell*/) { }
// Called when spell hits a target
- virtual void SpellHitTarget(Unit* /*target*/, SpellInfo const* /*spell*/) {}
+ virtual void SpellHitTarget(Unit* /*target*/, SpellInfo const* /*spell*/) { }
// Called when the creature is target of hostile action: swing, hostile spell landed, fear/etc)
- virtual void AttackedBy(Unit* /*attacker*/) {}
+ virtual void AttackedBy(Unit* /*attacker*/) { }
virtual bool IsEscorted() { return false; }
// Called when creature is spawned or respawned (for reseting variables)
virtual void JustRespawned() { Reset(); }
// Called at waypoint reached or point movement finished
- virtual void MovementInform(uint32 /*type*/, uint32 /*id*/) {}
+ virtual void MovementInform(uint32 /*type*/, uint32 /*id*/) { }
void OnCharmed(bool apply);
// Called at reaching home after evade
- virtual void JustReachedHome() {}
+ virtual void JustReachedHome() { }
void DoZoneInCombat(Creature* creature = NULL, float maxRangeToNearestTarget = 50.0f);
// Called at text emote receive from player
- virtual void ReceiveEmote(Player* /*player*/, uint32 /*emoteId*/) {}
+ virtual void ReceiveEmote(Player* /*player*/, uint32 /*emoteId*/) { }
// Called when owner takes damage
- virtual void OwnerAttackedBy(Unit* /*attacker*/) {}
+ virtual void OwnerAttackedBy(Unit* /*attacker*/) { }
// Called when owner attacks something
- virtual void OwnerAttacked(Unit* /*target*/) {}
+ virtual void OwnerAttacked(Unit* /*target*/) { }
/// == Triggered Actions Requested ==================
// Called when creature attack expected (if creature can and no have current victim)
// Note: for reaction at hostile action must be called AttackedBy function.
- //virtual void AttackStart(Unit*) {}
+ //virtual void AttackStart(Unit*) { }
// Called at World update tick
- //virtual void UpdateAI(const uint32 /*diff*/) {}
+ //virtual void UpdateAI(const uint32 /*diff*/) { }
/// == State checks =================================
@@ -157,7 +157,7 @@ class CreatureAI : public UnitAI
//virtual bool IsVisible(Unit*) const { return false; }
// called when the corpse of this creature gets removed
- virtual void CorpseRemoved(uint32& /*respawnDelay*/) {}
+ virtual void CorpseRemoved(uint32& /*respawnDelay*/) { }
// Called when victim entered water and creature can not enter water
//virtual bool CanReachByRangeAttack(Unit*) { return false; }
@@ -167,7 +167,7 @@ class CreatureAI : public UnitAI
// Pointer to controlled by AI creature
//Creature* const me;
- virtual void PassengerBoarded(Unit* /*passenger*/, int8 /*seatId*/, bool /*apply*/) {}
+ virtual void PassengerBoarded(Unit* /*passenger*/, int8 /*seatId*/, bool /*apply*/) { }
virtual void OnSpellClick(Unit* /*clicker*/, bool& /*result*/) { }
diff --git a/src/server/game/AI/CreatureAIFactory.h b/src/server/game/AI/CreatureAIFactory.h
index b4e031fbe6f..30576cf28bd 100644
--- a/src/server/game/AI/CreatureAIFactory.h
+++ b/src/server/game/AI/CreatureAIFactory.h
@@ -25,13 +25,13 @@
struct SelectableAI : public FactoryHolder<CreatureAI>, public Permissible<Creature>
{
- SelectableAI(const char* id) : FactoryHolder<CreatureAI>(id) {}
+ SelectableAI(const char* id) : FactoryHolder<CreatureAI>(id) { }
};
template<class REAL_AI>
struct CreatureAIFactory : public SelectableAI
{
- CreatureAIFactory(const char* name) : SelectableAI(name) {}
+ CreatureAIFactory(const char* name) : SelectableAI(name) { }
CreatureAI* Create(void*) const;
@@ -53,13 +53,13 @@ typedef FactoryHolder<CreatureAI>::FactoryHolderRepository CreatureAIRepository;
//GO
struct SelectableGameObjectAI : public FactoryHolder<GameObjectAI>, public Permissible<GameObject>
{
- SelectableGameObjectAI(const char* id) : FactoryHolder<GameObjectAI>(id) {}
+ SelectableGameObjectAI(const char* id) : FactoryHolder<GameObjectAI>(id) { }
};
template<class REAL_GO_AI>
struct GameObjectAIFactory : public SelectableGameObjectAI
{
- GameObjectAIFactory(const char* name) : SelectableGameObjectAI(name) {}
+ GameObjectAIFactory(const char* name) : SelectableGameObjectAI(name) { }
GameObjectAI* Create(void*) const;
diff --git a/src/server/game/AI/CreatureAIImpl.h b/src/server/game/AI/CreatureAIImpl.h
index 6c5cb5622b3..6b190938596 100644
--- a/src/server/game/AI/CreatureAIImpl.h
+++ b/src/server/game/AI/CreatureAIImpl.h
@@ -327,7 +327,7 @@ class EventMap
typedef std::multimap<uint32, uint32> EventStore;
public:
- EventMap() : _time(0), _phase(0) {}
+ EventMap() : _time(0), _phase(0) { }
/**
* @name Reset
@@ -686,7 +686,7 @@ enum AICondition
struct AISpellInfoType
{
AISpellInfoType() : target(AITARGET_SELF), condition(AICOND_COMBAT)
- , cooldown(AI_DEFAULT_COOLDOWN), realCooldown(0), maxRange(0.0f){}
+ , cooldown(AI_DEFAULT_COOLDOWN), realCooldown(0), maxRange(0.0f){ }
AITarget target;
AICondition condition;
uint32 cooldown;
diff --git a/src/server/game/AI/EventAI/CreatureEventAI.h b/src/server/game/AI/EventAI/CreatureEventAI.h
index d98dbfdc234..c16f0901b05 100644
--- a/src/server/game/AI/EventAI/CreatureEventAI.h
+++ b/src/server/game/AI/EventAI/CreatureEventAI.h
@@ -564,7 +564,7 @@ typedef UNORDERED_MAP<uint32, CreatureEventAI_Summon> CreatureEventAI_Summon_Map
struct CreatureEventAIHolder
{
- CreatureEventAIHolder(CreatureEventAI_Event const& p) : Event(p), Time(0), Enabled(true){}
+ CreatureEventAIHolder(CreatureEventAI_Event const& p) : Event(p), Time(0), Enabled(true){ }
CreatureEventAI_Event Event;
uint32 Time;
@@ -592,7 +592,7 @@ class CreatureEventAI : public CreatureAI
void MoveInLineOfSight(Unit* who);
void SpellHit(Unit* unit, const SpellInfo* spell);
void DamageTaken(Unit* done_by, uint32& damage);
- void HealReceived(Unit* /*done_by*/, uint32& /*addhealth*/) {}
+ void HealReceived(Unit* /*done_by*/, uint32& /*addhealth*/) { }
void UpdateAI(uint32 diff);
void ReceiveEmote(Player* player, uint32 textEmote);
static int Permissible(const Creature*);
diff --git a/src/server/game/AI/EventAI/CreatureEventAIMgr.h b/src/server/game/AI/EventAI/CreatureEventAIMgr.h
index 8e862a9279b..577958b6f5b 100644
--- a/src/server/game/AI/EventAI/CreatureEventAIMgr.h
+++ b/src/server/game/AI/EventAI/CreatureEventAIMgr.h
@@ -27,8 +27,8 @@ class CreatureEventAIMgr
friend class ACE_Singleton<CreatureEventAIMgr, ACE_Null_Mutex>;
private:
- CreatureEventAIMgr(){}
- ~CreatureEventAIMgr(){}
+ CreatureEventAIMgr(){ }
+ ~CreatureEventAIMgr(){ }
public:
void LoadCreatureEventAI_Texts();
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index f5d6932db00..837129fdaa6 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -448,9 +448,7 @@ BossAI::BossAI(Creature* creature, uint32 bossId) : ScriptedAI(creature),
instance(creature->GetInstanceScript()),
summons(creature),
_boundary(instance ? instance->GetBossBoundary(bossId) : NULL),
- _bossId(bossId)
-{
-}
+ _bossId(bossId) { }
void BossAI::_Reset()
{
@@ -584,9 +582,7 @@ void BossAI::UpdateAI(uint32 diff)
WorldBossAI::WorldBossAI(Creature* creature) :
ScriptedAI(creature),
- summons(creature)
-{
-}
+ summons(creature) { }
void WorldBossAI::_Reset()
{
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
index 4523080adbd..a111898e3e1 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
@@ -116,7 +116,7 @@ private:
class EntryCheckPredicate
{
public:
- EntryCheckPredicate(uint32 entry) : _entry(entry) {}
+ EntryCheckPredicate(uint32 entry) : _entry(entry) { }
bool operator()(uint64 guid) { return GUID_ENPART(guid) == _entry; }
private:
@@ -132,7 +132,7 @@ class DummyEntryCheckPredicate
struct ScriptedAI : public CreatureAI
{
explicit ScriptedAI(Creature* creature);
- virtual ~ScriptedAI() {}
+ virtual ~ScriptedAI() { }
// *************
//CreatureAI Functions
@@ -141,34 +141,34 @@ struct ScriptedAI : public CreatureAI
void AttackStartNoMove(Unit* target);
// Called at any Damage from any attacker (before damage apply)
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) {}
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) { }
//Called at World update tick
virtual void UpdateAI(uint32 diff);
//Called at creature death
- void JustDied(Unit* /*killer*/) {}
+ void JustDied(Unit* /*killer*/) { }
//Called at creature killing another unit
- void KilledUnit(Unit* /*victim*/) {}
+ void KilledUnit(Unit* /*victim*/) { }
// Called when the creature summon successfully other creature
- void JustSummoned(Creature* /*summon*/) {}
+ void JustSummoned(Creature* /*summon*/) { }
// Called when a summoned creature is despawned
- void SummonedCreatureDespawn(Creature* /*summon*/) {}
+ void SummonedCreatureDespawn(Creature* /*summon*/) { }
// Called when hit by a spell
- void SpellHit(Unit* /*caster*/, SpellInfo const* /*spell*/) {}
+ void SpellHit(Unit* /*caster*/, SpellInfo const* /*spell*/) { }
// Called when spell hits a target
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* /*spell*/) {}
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* /*spell*/) { }
//Called at waypoint reached or PointMovement end
- void MovementInform(uint32 /*type*/, uint32 /*id*/) {}
+ void MovementInform(uint32 /*type*/, uint32 /*id*/) { }
// Called when AI is temporarily replaced or put back when possess is applied or removed
- void OnPossess(bool /*apply*/) {}
+ void OnPossess(bool /*apply*/) { }
// *************
// Variables
@@ -185,10 +185,10 @@ struct ScriptedAI : public CreatureAI
// *************
//Called at creature reset either by death or evade
- void Reset() {}
+ void Reset() { }
//Called at creature aggro either by MoveInLOS or Attack Start
- void EnterCombat(Unit* /*victim*/) {}
+ void EnterCombat(Unit* /*victim*/) { }
// Called before EnterCombat even before the creature is in combat.
void AttackStart(Unit* /*target*/);
@@ -334,7 +334,7 @@ class BossAI : public ScriptedAI
{
public:
BossAI(Creature* creature, uint32 bossId);
- virtual ~BossAI() {}
+ virtual ~BossAI() { }
InstanceScript* const instance;
BossBoundaryMap const* GetBoundary() const { return _boundary; }
@@ -385,7 +385,7 @@ class WorldBossAI : public ScriptedAI
{
public:
WorldBossAI(Creature* creature);
- virtual ~WorldBossAI() {}
+ virtual ~WorldBossAI() { }
void JustSummoned(Creature* summon);
void SummonedCreatureDespawn(Creature* summon);
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index ef15ef27ec4..a21e7787197 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -35,7 +35,7 @@ npc_escortAI::npc_escortAI(Creature* creature) : ScriptedAI(creature),
DespawnAtFar(true),
ScriptWP(false),
HasImmuneToNPCFlags(false)
-{}
+{ }
void npc_escortAI::AttackStart(Unit* who)
{
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
index 919b24a916c..4b0f4e97a1c 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
@@ -39,7 +39,7 @@ struct npc_escortAI : public ScriptedAI
{
public:
explicit npc_escortAI(Creature* creature);
- ~npc_escortAI() {}
+ ~npc_escortAI() { }
// CreatureAI functions
void AttackStart(Unit* who);
@@ -72,7 +72,7 @@ struct npc_escortAI : public ScriptedAI
bool GetWaypointPosition(uint32 pointId, float& x, float& y, float& z);
virtual void WaypointReached(uint32 pointId) = 0;
- virtual void WaypointStart(uint32 /*pointId*/) {}
+ virtual void WaypointStart(uint32 /*pointId*/) { }
void Start(bool isActiveAttacker = true, bool run = false, uint64 playerGUID = 0, Quest const* quest = NULL, bool instantRespawn = false, bool canLoopPath = false, bool resetWaypoints = true);
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
index befd6b9d16e..a5176644f34 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -26,7 +26,7 @@ FollowerAI::FollowerAI(Creature* creature) : ScriptedAI(creature),
m_uiUpdateFollowTimer(2500),
m_uiFollowState(STATE_FOLLOW_NONE),
m_pQuestForFollow(NULL)
-{}
+{ }
void FollowerAI::AttackStart(Unit* who)
{
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
index ccc8af6197a..cdd6d31c0b4 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
@@ -22,7 +22,7 @@ class FollowerAI : public ScriptedAI
{
public:
explicit FollowerAI(Creature* creature);
- ~FollowerAI() {}
+ ~FollowerAI() { }
//virtual void WaypointReached(uint32 uiPointId) = 0;
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp
index 57fd7ea2d73..4ec0a3e52f2 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/server/game/AI/SmartScripts/SmartAI.cpp
@@ -674,9 +674,7 @@ void SmartAI::SummonedCreatureDespawn(Creature* unit)
GetScript()->ProcessEventsFor(SMART_EVENT_SUMMON_DESPAWNED, unit);
}
-void SmartAI::UpdateAIWhileCharmed(const uint32 /*diff*/)
-{
-}
+void SmartAI::UpdateAIWhileCharmed(const uint32 /*diff*/) { }
void SmartAI::CorpseRemoved(uint32& respawnDelay)
{
@@ -720,9 +718,7 @@ void SmartAI::SetData(uint32 id, uint32 value)
GetScript()->ProcessEventsFor(SMART_EVENT_DATA_SET, NULL, id, value);
}
-void SmartAI::SetGUID(uint64 /*guid*/, int32 /*id*/)
-{
-}
+void SmartAI::SetGUID(uint64 /*guid*/, int32 /*id*/) { }
uint64 SmartAI::GetGUID(int32 /*id*/) const
{
@@ -755,9 +751,7 @@ void SmartAI::sGossipSelect(Player* player, uint32 sender, uint32 action)
GetScript()->ProcessEventsFor(SMART_EVENT_GOSSIP_SELECT, player, sender, action);
}
-void SmartAI::sGossipSelectCode(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/)
-{
-}
+void SmartAI::sGossipSelectCode(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/) { }
void SmartAI::sQuestAccept(Player* player, Quest const* quest)
{
@@ -933,7 +927,7 @@ class SmartTrigger : public AreaTriggerScript
{
public:
- SmartTrigger() : AreaTriggerScript("SmartTrigger") {}
+ SmartTrigger() : AreaTriggerScript("SmartTrigger") { }
bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
{
diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h
index 4b4909e9c6c..ae6719aa8f3 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.h
+++ b/src/server/game/AI/SmartScripts/SmartAI.h
@@ -45,7 +45,7 @@ enum SmartEscortVars
class SmartAI : public CreatureAI
{
public:
- ~SmartAI(){}
+ ~SmartAI(){ }
explicit SmartAI(Creature* c);
// Start moving to the desired MovePoint
@@ -237,8 +237,8 @@ class SmartAI : public CreatureAI
class SmartGameObjectAI : public GameObjectAI
{
public:
- SmartGameObjectAI(GameObject* g) : GameObjectAI(g), go(g) {}
- ~SmartGameObjectAI() {}
+ SmartGameObjectAI(GameObject* g) : GameObjectAI(g), go(g) { }
+ ~SmartGameObjectAI() { }
void UpdateAI(uint32 diff);
void InitializeAI();
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 3823f7ba287..d064c5e62bc 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -34,6 +34,7 @@
#include "SmartScript.h"
#include "SpellMgr.h"
#include "Vehicle.h"
+#include "MoveSplineInit.h"
#include "GameEventMgr.h"
class TrinityStringTextBuilder
@@ -251,7 +252,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
{
if (IsUnit(*itr))
{
- (*itr)->SendPlaySound(e.action.sound.sound, e.action.sound.onlySelf > 0 ? true : false);
+ (*itr)->SendPlaySound(e.action.sound.sound, e.action.sound.onlySelf > 0);
TC_LOG_DEBUG(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.onlySelf);
}
@@ -507,18 +508,20 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (IsUnit(*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)
me->InterruptNonMeleeSpells(false);
- if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*itr)->ToUnit()->HasAura(e.action.cast.spell))
- me->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED) ? true : false);
- 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, (*itr)->GetGUID(), (*itr)->GetEntry(), uint32((*itr)->GetTypeId()));
+ me->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED));
TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_CAST:: Creature %u casts spell %u on target %u with castflags %u",
me->GetGUIDLow(), e.action.cast.spell, (*itr)->GetGUIDLow(), e.action.cast.flags);
}
+ 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, (*itr)->GetGUID(), (*itr)->GetEntry(), uint32((*itr)->GetTypeId()));
}
delete targets;
@@ -536,19 +539,20 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
- if (IsUnit(*itr))
- {
- if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
- tempLastInvoker->InterruptNonMeleeSpells(false);
+ if (!IsUnit(*itr))
+ continue;
if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*itr)->ToUnit()->HasAura(e.action.cast.spell))
- tempLastInvoker->CastSpell((*itr)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED) ? true : false);
+ {
+ 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));
+ TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_INVOKER_CAST: Invoker %u casts spell %u on target %u with castflags %u",
+ tempLastInvoker->GetGUIDLow(), e.action.cast.spell, (*itr)->GetGUIDLow(), e.action.cast.flags);
+ }
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, (*itr)->GetGUID(), (*itr)->GetEntry(), uint32((*itr)->GetTypeId()));
-
- TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_INVOKER_CAST: Invoker %u casts spell %u on target %u with castflags %u",
- tempLastInvoker->GetGUIDLow(), e.action.cast.spell, (*itr)->GetGUIDLow(), e.action.cast.flags);
- }
}
delete targets;
@@ -693,7 +697,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!IsSmart())
break;
- CAST_AI(SmartAI, me->AI())->SetAutoAttack(e.action.autoAttack.attack ? true : false);
+ CAST_AI(SmartAI, me->AI())->SetAutoAttack(e.action.autoAttack.attack);
TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_AUTO_ATTACK: Creature: %u bool on = %u",
me->GetGUIDLow(), e.action.autoAttack.attack);
break;
@@ -703,7 +707,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!IsSmart())
break;
- bool move = e.action.combatMove.move ? true : false;
+ bool move = e.action.combatMove.move;
CAST_AI(SmartAI, me->AI())->SetCombatMove(move);
TC_LOG_DEBUG(LOG_FILTER_DATABASE_AI, "SmartScript::ProcessAction:: SMART_ACTION_ALLOW_COMBAT_MOVEMENT: Creature %u bool on = %u",
me->GetGUIDLow(), e.action.combatMove.move);
@@ -1278,7 +1282,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!IsSmart())
break;
- CAST_AI(SmartAI, me->AI())->SetFly(e.action.setFly.fly ? true : false);
+ CAST_AI(SmartAI, me->AI())->SetFly(e.action.setFly.fly);
break;
}
case SMART_ACTION_SET_RUN:
@@ -1286,7 +1290,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!IsSmart())
break;
- CAST_AI(SmartAI, me->AI())->SetRun(e.action.setRun.run ? true : false);
+ CAST_AI(SmartAI, me->AI())->SetRun(e.action.setRun.run);
break;
}
case SMART_ACTION_SET_SWIM:
@@ -1294,7 +1298,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!IsSmart())
break;
- CAST_AI(SmartAI, me->AI())->SetSwim(e.action.setSwim.swim ? true : false);
+ CAST_AI(SmartAI, me->AI())->SetSwim(e.action.setSwim.swim);
break;
}
case SMART_ACTION_WP_START:
@@ -1302,9 +1306,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!IsSmart())
break;
- bool run = e.action.wpStart.run ? true : false;
+ bool run = e.action.wpStart.run;
uint32 entry = e.action.wpStart.pathID;
- bool repeat = e.action.wpStart.repeat ? true : false;
+ bool repeat = e.action.wpStart.repeat;
ObjectList* targets = GetTargets(e, unit);
StoreTargetList(targets, SMART_ESCORT_TARGETS);
me->SetReactState((ReactStates)e.action.wpStart.reactState);
@@ -1332,7 +1336,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
uint32 DespawnTime = e.action.wpStop.despawnTime;
uint32 quest = e.action.wpStop.quest;
- bool fail = e.action.wpStop.fail ? true : false;
+ bool fail = e.action.wpStop.fail;
CAST_AI(SmartAI, me->AI())->StopPath(DespawnTime, quest, fail);
break;
}
@@ -1350,7 +1354,8 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
break;
if (e.GetTargetType() == SMART_TARGET_SELF)
- me->SetFacingTo(me->GetHomePosition().GetOrientation());
+ me->SetFacingTo((me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && me->GetTransGUID() ?
+ me->GetTransportHomePosition() : me->GetHomePosition()).GetOrientation());
else if (e.GetTargetType() == SMART_TARGET_POSITION)
me->SetFacingTo(e.target.o);
else if (ObjectList* targets = GetTargets(e, unit))
@@ -1403,7 +1408,14 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
}
if (!target)
- me->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, e.target.x, e.target.y, e.target.z);
+ {
+ 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);
+ }
else
me->GetMotionMaster()->MovePoint(e.action.MoveToPos.pointId, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
break;
@@ -1659,21 +1671,28 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = casters->begin(); itr != casters->end(); ++itr)
{
- if (IsUnit(*itr))
+ if (!IsUnit(*itr))
+ continue;
+
+ bool interruptedSpell = false;
+
+ for (ObjectList::const_iterator it = targets->begin(); it != targets->end(); ++it)
{
- if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
- (*itr)->ToUnit()->InterruptNonMeleeSpells(false);
+ if (!IsUnit(*it))
+ continue;
- 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))
+ if (!interruptedSpell && e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
{
- if (!(e.action.cast.flags & SMARTCAST_AURA_NOT_PRESENT) || !(*it)->ToUnit()->HasAura(e.action.cast.spell))
- (*itr)->ToUnit()->CastSpell((*it)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED) ? true : false);
- 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()->InterruptNonMeleeSpells(false);
+ interruptedSpell = true;
}
+
+ (*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()));
}
}
@@ -2031,7 +2050,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
if (IsCreature(*itr))
- (*itr)->ToCreature()->setRegeneratingHealth(e.action.setHealthRegen.regenHealth ? true : false);
+ (*itr)->ToCreature()->setRegeneratingHealth(e.action.setHealthRegen.regenHealth);
delete targets;
break;
@@ -2044,7 +2063,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
if (IsCreature(*itr))
- (*itr)->ToCreature()->SetControlled(e.action.setRoot.root ? true : false, UNIT_STATE_ROOT);
+ (*itr)->ToCreature()->SetControlled(e.action.setRoot.root, UNIT_STATE_ROOT);
delete targets;
break;
@@ -2500,7 +2519,7 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /*
}
case SMART_TARGET_CLOSEST_CREATURE:
{
- Creature* target = GetClosestCreatureWithEntry(baseObject, e.target.closest.entry, (float)(e.target.closest.dist ? e.target.closest.dist : 100), e.target.closest.dead ? false : true);
+ Creature* target = GetClosestCreatureWithEntry(baseObject, 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;
@@ -2667,7 +2686,7 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
break;
}
- case SMART_EVENT_TARGET_CASTING:
+ case SMART_EVENT_VICTIM_CASTING:
{
if (!me || !me->IsInCombat())
return;
@@ -3129,7 +3148,7 @@ void SmartScript::UpdateTimer(SmartScriptHolder& e, uint32 const diff)
case SMART_EVENT_MANA_PCT:
case SMART_EVENT_TARGET_MANA_PCT:
case SMART_EVENT_RANGE:
- case SMART_EVENT_TARGET_CASTING:
+ case SMART_EVENT_VICTIM_CASTING:
case SMART_EVENT_FRIENDLY_HEALTH:
case SMART_EVENT_FRIENDLY_IS_CC:
case SMART_EVENT_FRIENDLY_MISSING_BUFF:
@@ -3344,43 +3363,29 @@ void SmartScript::OnMoveInLineOfSight(Unit* who)
}
/*
-void SmartScript::UpdateAIWhileCharmed(const uint32 diff)
-{
-}
+void SmartScript::UpdateAIWhileCharmed(const uint32 diff) { }
-void SmartScript::DoAction(const int32 param)
-{
-}
+void SmartScript::DoAction(const int32 param) { }
uint32 SmartScript::GetData(uint32 id)
{
return 0;
}
-void SmartScript::SetData(uint32 id, uint32 value)
-{
-}
+void SmartScript::SetData(uint32 id, uint32 value) { }
-void SmartScript::SetGUID(uint64 guid, int32 id)
-{
-}
+void SmartScript::SetGUID(uint64 guid, int32 id) { }
uint64 SmartScript::GetGUID(int32 id)
{
return 0;
}
-void SmartScript::MovepointStart(uint32 id)
-{
-}
+void SmartScript::MovepointStart(uint32 id) { }
-void SmartScript::SetRun(bool run)
-{
-}
+void SmartScript::SetRun(bool run) { }
-void SmartScript::SetMovePathEndAction(SMART_ACTION action)
-{
-}
+void SmartScript::SetMovePathEndAction(SMART_ACTION action) { }
uint32 SmartScript::DoChat(int8 id, uint64 whisperGuid)
{
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
index 361cf025647..87c35d59cc0 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
@@ -438,7 +438,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
if (e.event.kill.creature && !IsCreatureValid(e, e.event.kill.creature))
return false;
break;
- case SMART_EVENT_TARGET_CASTING:
+ case SMART_EVENT_VICTIM_CASTING:
if (e.event.targetCasting.spellId > 0 && !sSpellMgr->GetSpellInfo(e.event.targetCasting.spellId))
{
sLog->outError(LOG_FILTER_SQL, "SmartAIMgr: Entry %d SourceType %u Event %u Action %u uses non-existent Spell entry %u, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType(), e.event.spellHit.spell);
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index 56fa7ed1275..50289d9c620 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -94,7 +94,7 @@ enum SMART_EVENT
SMART_EVENT_OOC_LOS = 10, // NoHostile, MaxRnage, CooldownMin, CooldownMax
SMART_EVENT_RESPAWN = 11, // type, MapId, ZoneId
SMART_EVENT_TARGET_HEALTH_PCT = 12, // HPMin%, HPMax%, RepeatMin, RepeatMax
- SMART_EVENT_TARGET_CASTING = 13, // RepeatMin, RepeatMax, spellid
+ SMART_EVENT_VICTIM_CASTING = 13, // RepeatMin, RepeatMax, spellid
SMART_EVENT_FRIENDLY_HEALTH = 14, // HPDeficit, Radius, RepeatMin, RepeatMax
SMART_EVENT_FRIENDLY_IS_CC = 15, // Radius, RepeatMin, RepeatMax
SMART_EVENT_FRIENDLY_MISSING_BUFF = 16, // SpellId, Radius, RepeatMin, RepeatMax
@@ -907,6 +907,7 @@ struct SmartAction
struct
{
uint32 pointId;
+ uint32 transport;
} MoveToPos;
struct
@@ -1195,7 +1196,7 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
{SMART_EVENT_OOC_LOS, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_RESPAWN, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
{SMART_EVENT_TARGET_HEALTH_PCT, SMART_SCRIPT_TYPE_MASK_CREATURE },
- {SMART_EVENT_TARGET_CASTING, SMART_SCRIPT_TYPE_MASK_CREATURE },
+ {SMART_EVENT_VICTIM_CASTING, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_FRIENDLY_HEALTH, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_FRIENDLY_IS_CC, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_FRIENDLY_MISSING_BUFF, SMART_SCRIPT_TYPE_MASK_CREATURE },
@@ -1290,7 +1291,7 @@ struct SmartScriptHolder
{
SmartScriptHolder() : entryOrGuid(0), source_type(SMART_SCRIPT_TYPE_CREATURE)
, event_id(0), link(0), event(), action(), target(), timer(0), active(false), runOnce(false)
- , enableTimed(false) {}
+ , enableTimed(false) { }
int32 entryOrGuid;
SmartScriptType source_type;
@@ -1321,7 +1322,7 @@ typedef UNORDERED_MAP<uint32, ObjectList*> ObjectListMap;
class SmartWaypointMgr
{
friend class ACE_Singleton<SmartWaypointMgr, ACE_Null_Mutex>;
- SmartWaypointMgr() {}
+ SmartWaypointMgr() { }
public:
~SmartWaypointMgr();
@@ -1347,9 +1348,9 @@ typedef UNORDERED_MAP<int32, SmartAIEventList> SmartAIEventMap;
class SmartAIMgr
{
friend class ACE_Singleton<SmartAIMgr, ACE_Null_Mutex>;
- SmartAIMgr(){}
+ SmartAIMgr(){ }
public:
- ~SmartAIMgr(){}
+ ~SmartAIMgr(){ }
void LoadSmartAIFromDB();
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp
index 6d79c6c77a1..4d95b913e05 100644
--- a/src/server/game/Accounts/AccountMgr.cpp
+++ b/src/server/game/Accounts/AccountMgr.cpp
@@ -25,9 +25,7 @@
#include "SHA1.h"
#include "WorldSession.h"
-AccountMgr::AccountMgr()
-{
-}
+AccountMgr::AccountMgr() { }
AccountMgr::~AccountMgr()
{
@@ -466,7 +464,7 @@ void AccountMgr::LoadRBAC()
secId = newId;
permissions = &_defaultPermissions[secId];
}
-
+
permissions->insert(field[1].GetUInt32());
++count3;
}
diff --git a/src/server/game/Accounts/RBAC.cpp b/src/server/game/Accounts/RBAC.cpp
index 8cd70721976..f7c9444cdb0 100644
--- a/src/server/game/Accounts/RBAC.cpp
+++ b/src/server/game/Accounts/RBAC.cpp
@@ -231,13 +231,13 @@ void RBACData::ExpandPermissions(RBACPermissionContainer& permissions)
{
RBACPermissionContainer toCheck = permissions;
permissions.clear();
-
+
while (!toCheck.empty())
{
// remove the permission from original list
uint32 permissionId = *toCheck.begin();
toCheck.erase(toCheck.begin());
-
+
RBACPermission const* permission = sAccountMgr->GetRBACPermission(permissionId);
if (!permission)
continue;
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index e12e6835cb8..bcc4122ea5b 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -303,7 +303,7 @@ enum RBACPermissions
RBAC_PERM_COMMAND_GOBJECT_SET_STATE = 397,
RBAC_PERM_COMMAND_GOBJECT_TARGET = 398,
RBAC_PERM_COMMAND_GOBJECT_TURN = 399,
- // 400 - reuse
+ RBAC_PERM_COMMAND_DEBUG_TRANSPORT = 400,
RBAC_PERM_COMMAND_GUILD = 401,
RBAC_PERM_COMMAND_GUILD_CREATE = 402,
RBAC_PERM_COMMAND_GUILD_DELETE = 403,
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index befe591c321..2449aa76992 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -47,7 +47,7 @@ namespace Trinity
{
public:
AchievementChatBuilder(Player const& player, ChatMsg msgtype, int32 textId, uint32 ach_id)
- : i_player(player), i_msgtype(msgtype), i_textId(textId), i_achievementId(ach_id) {}
+ : i_player(player), i_msgtype(msgtype), i_textId(textId), i_achievementId(ach_id) { }
void operator()(WorldPacket& data, LocaleConstant loc_idx)
{
char const* text = sObjectMgr->GetTrinityString(i_textId, loc_idx);
@@ -437,9 +437,7 @@ AchievementMgr::AchievementMgr(Player* player)
m_player = player;
}
-AchievementMgr::~AchievementMgr()
-{
-}
+AchievementMgr::~AchievementMgr() { }
void AchievementMgr::Reset()
{
diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h
index f57c05a2769..65a936c3d40 100644
--- a/src/server/game/Achievements/AchievementMgr.h
+++ b/src/server/game/Achievements/AchievementMgr.h
@@ -202,7 +202,7 @@ struct AchievementCriteriaData
struct AchievementCriteriaDataSet
{
- AchievementCriteriaDataSet() : criteria_id(0) {}
+ AchievementCriteriaDataSet() : criteria_id(0) { }
typedef std::vector<AchievementCriteriaData> Storage;
void Add(AchievementCriteriaData const& data) { storage.push_back(data); }
bool Meets(Player const* source, Unit const* target, uint32 miscValue = 0) const;
@@ -293,8 +293,8 @@ class AchievementMgr
class AchievementGlobalMgr
{
friend class ACE_Singleton<AchievementGlobalMgr, ACE_Null_Mutex>;
- AchievementGlobalMgr() {}
- ~AchievementGlobalMgr() {}
+ AchievementGlobalMgr() { }
+ ~AchievementGlobalMgr() { }
public:
AchievementCriteriaEntryList const& GetAchievementCriteriaByType(AchievementCriteriaTypes type) const
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index ef50746b9ea..7c3c1a59712 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -37,9 +37,7 @@ enum eAuctionHouse
AH_MINIMUM_DEPOSIT = 100
};
-AuctionHouseMgr::AuctionHouseMgr()
-{
-}
+AuctionHouseMgr::AuctionHouseMgr() { }
AuctionHouseMgr::~AuctionHouseMgr()
{
diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h
index 788bbf9cb2e..70805dd3a97 100644
--- a/src/server/game/Battlefield/Battlefield.h
+++ b/src/server/game/Battlefield/Battlefield.h
@@ -80,7 +80,7 @@ class BfCapturePoint
virtual ~BfCapturePoint() { }
- virtual void FillInitialWorldStates(WorldPacket& /*data*/) {}
+ virtual void FillInitialWorldStates(WorldPacket& /*data*/) { }
// Send world state update to all players present
void SendUpdateWorldState(uint32 field, uint32 value);
@@ -98,7 +98,7 @@ class BfCapturePoint
// Returns true if the state of the objective has changed, in this case, the OutdoorPvP must send a world state ui update.
virtual bool Update(uint32 diff);
- virtual void ChangeTeam(TeamId /*oldTeam*/) {}
+ virtual void ChangeTeam(TeamId /*oldTeam*/) { }
virtual void SendChangePhase();
bool SetCapturePointData(GameObject* capturePoint);
@@ -223,7 +223,7 @@ class Battlefield : public ZoneScript
void InvitePlayersInZoneToWar();
/// Called when a Unit is kill in battlefield zone
- virtual void HandleKill(Player* /*killer*/, Unit* /*killed*/) {};
+ virtual void HandleKill(Player* /*killer*/, Unit* /*killed*/) { };
uint32 GetTypeId() { return m_TypeId; }
uint32 GetZoneId() { return m_ZoneId; }
@@ -398,7 +398,7 @@ class Battlefield : public ZoneScript
void KickAfkPlayers();
// use for switch off all worldstate for client
- virtual void SendRemoveWorldStates(Player* /*player*/) {}
+ virtual void SendRemoveWorldStates(Player* /*player*/) { }
// use for send a packet for all player list
void BroadcastPacketToZone(WorldPacket& data) const;
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
index 6103ff4c5ce..f246f15a81d 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
@@ -166,7 +166,7 @@ bool BattlefieldWG::SetupBattlefield()
{
Position towerCannonPos;
WGTurret[i].GetPosition(&towerCannonPos);
- if (Creature* creature = SpawnCreature(NPC_TOWER_CANNON, towerCannonPos, TEAM_ALLIANCE))
+ if (Creature* creature = SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, towerCannonPos, TEAM_ALLIANCE))
{
CanonList.insert(creature->GetGUID());
HideNpc(creature);
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h
index e13eddd7672..ee18545b0c4 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.h
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h
@@ -208,7 +208,6 @@ enum WintergraspNpcs
NPC_TAUNKA_SPIRIT_GUIDE = 31841, // Horde spirit guide for Wintergrasp
NPC_DWARVEN_SPIRIT_GUIDE = 31842, // Alliance spirit guide for Wintergrasp
- NPC_TOWER_CANNON = 28366,
NPC_WINTERGRASP_SIEGE_ENGINE_ALLIANCE = 28312,
NPC_WINTERGRASP_SIEGE_ENGINE_HORDE = 32627,
@@ -1338,7 +1337,7 @@ struct BfWGGameObjectBuilding
{
Position towerCannonPos;
TowerCannon[towerid].TurretTop[i].GetPosition(&towerCannonPos);
- if (Creature* turret = m_WG->SpawnCreature(28366, towerCannonPos, TeamId(0)))
+ if (Creature* turret = m_WG->SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, towerCannonPos, TeamId(0)))
{
m_TurretTopList.insert(turret->GetGUID());
switch (go->GetEntry())
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 211ab6caf77..8f0cc0c8688 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -87,7 +87,7 @@ namespace Trinity
{
public:
Battleground2ChatBuilder(ChatMsg msgtype, int32 textId, Player const* source, int32 arg1, int32 arg2)
- : _msgtype(msgtype), _textId(textId), _source(source), _arg1(arg1), _arg2(arg2) {}
+ : _msgtype(msgtype), _textId(textId), _source(source), _arg1(arg1), _arg2(arg2) { }
void operator()(WorldPacket& data, LocaleConstant loc_idx)
{
@@ -1894,9 +1894,7 @@ int32 Battleground::GetObjectType(uint64 guid)
return -1;
}
-void Battleground::HandleKillUnit(Creature* /*victim*/, Player* /*killer*/)
-{
-}
+void Battleground::HandleKillUnit(Creature* /*victim*/, Player* /*killer*/) { }
void Battleground::CheckArenaAfterTimerConditions()
{
diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
index 76ff08e0281..eebf5bead25 100644
--- a/src/server/game/Battlegrounds/Battleground.h
+++ b/src/server/game/Battlegrounds/Battleground.h
@@ -162,7 +162,7 @@ struct BattlegroundPlayer
struct BattlegroundObjectInfo
{
- BattlegroundObjectInfo() : object(NULL), timer(0), spellid(0) {}
+ BattlegroundObjectInfo() : object(NULL), timer(0), spellid(0) { }
GameObject *object;
int32 timer;
@@ -287,7 +287,7 @@ class Battleground
virtual void StartingEventOpenDoors() { }
virtual void ResetBGSubclass() { } // must be implemented in BG subclass
- virtual void DestroyGate(Player* /*player*/, GameObject* /*go*/) {}
+ virtual void DestroyGate(Player* /*player*/, GameObject* /*go*/) { }
/* achievement req. */
virtual bool IsAllNodesControlledByTeam(uint32 /*team*/) const { return false; }
@@ -409,7 +409,7 @@ class Battleground
// Packet Transfer
// method that should fill worldpacket with actual world states (not yet implemented for all battlegrounds!)
- virtual void FillInitialWorldStates(WorldPacket& /*data*/) {}
+ virtual void FillInitialWorldStates(WorldPacket& /*data*/) { }
void SendPacketToTeam(uint32 TeamID, WorldPacket* packet, Player* sender = NULL, bool self = true);
void SendPacketToAll(WorldPacket* packet);
void YellToAll(Creature* creature, const char* text, uint32 language);
@@ -474,17 +474,17 @@ class Battleground
virtual void HandleKillUnit(Creature* /*unit*/, Player* /*killer*/);
// Battleground events
- virtual void EventPlayerDroppedFlag(Player* /*player*/) {}
- virtual void EventPlayerClickedOnFlag(Player* /*player*/, GameObject* /*target_obj*/) {}
+ virtual void EventPlayerDroppedFlag(Player* /*player*/) { }
+ virtual void EventPlayerClickedOnFlag(Player* /*player*/, GameObject* /*target_obj*/) { }
void EventPlayerLoggedIn(Player* player);
void EventPlayerLoggedOut(Player* player);
- virtual void EventPlayerDamagedGO(Player* /*player*/, GameObject* /*go*/, uint32 /*eventType*/) {}
- virtual void EventPlayerUsedGO(Player* /*player*/, GameObject* /*go*/){}
+ virtual void EventPlayerDamagedGO(Player* /*player*/, GameObject* /*go*/, uint32 /*eventType*/) { }
+ virtual void EventPlayerUsedGO(Player* /*player*/, GameObject* /*go*/){ }
// this function can be used by spell to interact with the BG map
- virtual void DoAction(uint32 /*action*/, uint64 /*var*/) {}
+ virtual void DoAction(uint32 /*action*/, uint64 /*var*/) { }
- virtual void HandlePlayerResurrect(Player* /*player*/) {}
+ virtual void HandlePlayerResurrect(Player* /*player*/) { }
// Death related
virtual WorldSafeLocsEntry const* GetClosestGraveYard(Player* player);
@@ -531,8 +531,8 @@ class Battleground
bool CanAwardArenaPoints() const { return m_LevelMin >= BG_AWARD_ARENA_POINTS_MIN_LEVEL; }
virtual uint64 GetFlagPickerGUID(int32 /*team*/ = -1) const { return 0; }
- virtual void SetDroppedFlagGUID(uint64 /*guid*/, int32 /*team*/ = -1) {}
- virtual void HandleQuestComplete(uint32 /*questid*/, Player* /*player*/) {}
+ virtual void SetDroppedFlagGUID(uint64 /*guid*/, int32 /*team*/ = -1) { }
+ virtual void HandleQuestComplete(uint32 /*questid*/, Player* /*player*/) { }
virtual bool CanActivateGO(int32 /*entry*/, uint32 /*team*/) const { return true; }
virtual bool IsSpellAllowed(uint32 /*spellId*/, Player const* /*player*/) const { return true; }
uint32 GetTeamScore(uint32 TeamID) const;
@@ -559,7 +559,7 @@ class Battleground
// Scorekeeping
BattlegroundScoreMap PlayerScores; // Player scores
// must be implemented in BG subclass
- virtual void RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/) {}
+ virtual void RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/) { }
// Player lists, those need to be accessible by inherited classes
BattlegroundPlayerMap m_Players;
diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.h b/src/server/game/Battlegrounds/BattlegroundQueue.h
index 0595d73fcc6..34c9e5ea1c7 100644
--- a/src/server/game/Battlegrounds/BattlegroundQueue.h
+++ b/src/server/game/Battlegrounds/BattlegroundQueue.h
@@ -106,7 +106,7 @@ class BattlegroundQueue
class SelectionPool
{
public:
- SelectionPool(): PlayerCount(0) {};
+ SelectionPool(): PlayerCount(0) { };
void Init();
bool AddGroup(GroupQueueInfo* ginfo, uint32 desiredCount);
bool KickGroup(uint32 size);
@@ -163,9 +163,9 @@ class BGQueueRemoveEvent : public BasicEvent
public:
BGQueueRemoveEvent(uint64 pl_guid, uint32 bgInstanceGUID, BattlegroundTypeId BgTypeId, BattlegroundQueueTypeId bgQueueTypeId, uint32 removeTime)
: m_PlayerGuid(pl_guid), m_BgInstanceGUID(bgInstanceGUID), m_RemoveTime(removeTime), m_BgTypeId(BgTypeId), m_BgQueueTypeId(bgQueueTypeId)
- {}
+ { }
- virtual ~BGQueueRemoveEvent() {}
+ virtual ~BGQueueRemoveEvent() { }
virtual bool Execute(uint64 e_time, uint32 p_time);
virtual void Abort(uint64 e_time);
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
index da292d050e9..d7cb4af5a42 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
@@ -41,9 +41,7 @@ BattlegroundAB::BattlegroundAB()
StartMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_AB_HAS_BEGUN;
}
-BattlegroundAB::~BattlegroundAB()
-{
-}
+BattlegroundAB::~BattlegroundAB() { }
void BattlegroundAB::PostUpdateImpl(uint32 diff)
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index f8c9e888176..d5d9ac7577f 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -39,9 +39,7 @@ BattlegroundAV::BattlegroundAV()
StartMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_AV_HAS_BEGUN;
}
-BattlegroundAV::~BattlegroundAV()
-{
-}
+BattlegroundAV::~BattlegroundAV() { }
uint16 BattlegroundAV::GetBonusHonor(uint8 kills) /// @todo move this function to Battleground.cpp (needs to find a way to get m_MaxLevel)
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
index 95808065d62..600106dbdc1 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
@@ -50,9 +50,7 @@ BattlegroundEY::BattlegroundEY()
StartMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_EY_HAS_BEGUN;
}
-BattlegroundEY::~BattlegroundEY()
-{
-}
+BattlegroundEY::~BattlegroundEY() { }
void BattlegroundEY::PostUpdateImpl(uint32 diff)
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
index f03b458e7ff..26c6d276311 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
@@ -249,7 +249,7 @@ enum BG_EY_Objectives
struct BattlegroundEYPointIconsStruct
{
BattlegroundEYPointIconsStruct(uint32 _WorldStateControlIndex, uint32 _WorldStateAllianceControlledIndex, uint32 _WorldStateHordeControlledIndex)
- : WorldStateControlIndex(_WorldStateControlIndex), WorldStateAllianceControlledIndex(_WorldStateAllianceControlledIndex), WorldStateHordeControlledIndex(_WorldStateHordeControlledIndex) {}
+ : WorldStateControlIndex(_WorldStateControlIndex), WorldStateAllianceControlledIndex(_WorldStateAllianceControlledIndex), WorldStateHordeControlledIndex(_WorldStateHordeControlledIndex) { }
uint32 WorldStateControlIndex;
uint32 WorldStateAllianceControlledIndex;
uint32 WorldStateHordeControlledIndex;
@@ -270,7 +270,7 @@ struct BattlegroundEYLosingPointStruct
: SpawnNeutralObjectType(_SpawnNeutralObjectType),
DespawnObjectTypeAlliance(_DespawnObjectTypeAlliance), MessageIdAlliance(_MessageIdAlliance),
DespawnObjectTypeHorde(_DespawnObjectTypeHorde), MessageIdHorde(_MessageIdHorde)
- {}
+ { }
uint32 SpawnNeutralObjectType;
uint32 DespawnObjectTypeAlliance;
@@ -286,7 +286,7 @@ struct BattlegroundEYCapturingPointStruct
SpawnObjectTypeAlliance(_SpawnObjectTypeAlliance), MessageIdAlliance(_MessageIdAlliance),
SpawnObjectTypeHorde(_SpawnObjectTypeHorde), MessageIdHorde(_MessageIdHorde),
GraveYardId(_GraveYardId)
- {}
+ { }
uint32 DespawnNeutralObjectType;
uint32 SpawnObjectTypeAlliance;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
index 29d4e4124c0..60a725b3eb7 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
@@ -45,6 +45,7 @@ BattlegroundIC::BattlegroundIC()
closeFortressDoorsTimer = CLOSE_DOORS_TIME; // the doors are closed again... in a special way
doorsClosed = false;
+ docksTimer = DOCKS_UPDATE_TIME;
resourceTimer = IC_RESOURCE_TIME;
for (uint8 i = NODE_TYPE_REFINERY; i < MAX_NODE_TYPES; ++i)
@@ -56,11 +57,7 @@ BattlegroundIC::BattlegroundIC()
gunshipAlliance = NULL;
}
-BattlegroundIC::~BattlegroundIC()
-{
- delete gunshipHorde;
- delete gunshipAlliance;
-}
+BattlegroundIC::~BattlegroundIC() { }
void BattlegroundIC::HandlePlayerResurrect(Player* player)
{
@@ -71,22 +68,6 @@ void BattlegroundIC::HandlePlayerResurrect(Player* player)
player->CastSpell(player, SPELL_OIL_REFINERY, true);
}
-void BattlegroundIC::SendTransportInit(Player* player)
-{
- if (!gunshipAlliance || !gunshipHorde)
- return;
-
- UpdateData transData;
-
- gunshipAlliance->BuildCreateUpdateBlockForPlayer(&transData, player);
- gunshipHorde->BuildCreateUpdateBlockForPlayer(&transData, player);
-
- WorldPacket packet;
-
- transData.BuildPacket(&packet);
- player->SendDirectMessage(&packet);
-}
-
void BattlegroundIC::DoAction(uint32 action, uint64 var)
{
if (action != ACTION_TELEPORT_PLAYER_TO_TRANSPORT)
@@ -300,8 +281,6 @@ void BattlegroundIC::AddPlayer(Player* player)
if (nodePoint[NODE_TYPE_REFINERY].nodeState == (player->GetTeamId() == TEAM_ALLIANCE ? NODE_STATE_CONTROLLED_A : NODE_STATE_CONTROLLED_H))
player->CastSpell(player, SPELL_OIL_REFINERY, true);
-
- SendTransportInit(player);
}
void BattlegroundIC::RemovePlayer(Player* player, uint64 /*guid*/, uint32 /*team*/)
@@ -409,8 +388,8 @@ bool BattlegroundIC::SetupBattleground()
return false;
}
- gunshipHorde = CreateTransport(GO_HORDE_GUNSHIP, TRANSPORT_PERIOD_TIME);
- gunshipAlliance = CreateTransport(GO_ALLIANCE_GUNSHIP, TRANSPORT_PERIOD_TIME);
+ gunshipHorde = sTransportMgr->CreateTransport(GO_HORDE_GUNSHIP, 0, GetBgMap());
+ gunshipAlliance = sTransportMgr->CreateTransport(GO_ALLIANCE_GUNSHIP, 0, GetBgMap());
if (!gunshipAlliance || !gunshipHorde)
{
@@ -420,10 +399,8 @@ bool BattlegroundIC::SetupBattleground()
//Send transport init packet to all player in map
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
- {
if (Player* player = ObjectAccessor::FindPlayer(itr->first))
- SendTransportInit(player);
- }
+ GetBgMap()->SendInitTransports(player);
// setting correct factions for Keep Cannons
for (uint8 i = BG_IC_NPC_KEEP_CANNON_1; i < BG_IC_NPC_KEEP_CANNON_12; ++i)
@@ -616,8 +593,8 @@ void BattlegroundIC::HandleContestedNodes(ICNodePoint* nodePoint)
{
if (nodePoint->nodeType == NODE_TYPE_HANGAR)
{
- if (gunshipAlliance && gunshipHorde)
- (nodePoint->faction == TEAM_ALLIANCE ? gunshipHorde : gunshipAlliance)->BuildStopMovePacket(GetBgMap());
+ if (gunshipAlliance && gunshipHorde)
+ (nodePoint->faction == TEAM_ALLIANCE ? gunshipHorde : gunshipAlliance)->EnableMovement(false);
for (uint8 u = BG_IC_GO_HANGAR_TELEPORTER_1; u < BG_IC_GO_HANGAR_TELEPORTER_3; ++u)
DelObject(u);
@@ -656,8 +633,8 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
//TC_LOG_ERROR(LOG_FILTER_BATTLEGROUND, "BG_IC_GO_HANGAR_BANNER CAPTURED Faction: %u", nodePoint->faction);
- (nodePoint->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde)->BuildStartMovePacket(GetBgMap());
- (nodePoint->faction == TEAM_ALLIANCE ? gunshipHorde : gunshipAlliance)->BuildStopMovePacket(GetBgMap());
+ (nodePoint->faction == TEAM_ALLIANCE ? gunshipAlliance : gunshipHorde)->EnableMovement(true);
+ (nodePoint->faction == TEAM_ALLIANCE ? gunshipHorde : gunshipAlliance)->EnableMovement(false);
// we should spawn teleporters
break;
case BG_IC_GO_QUARRY_BANNER:
@@ -863,10 +840,7 @@ void BattlegroundIC::DestroyGate(Player* player, GameObject* go)
SendMessage2ToAll(lang_entry, CHAT_MSG_BG_SYSTEM_NEUTRAL, NULL, (player->GetTeamId() == TEAM_ALLIANCE ? LANG_BG_IC_HORDE_KEEP : LANG_BG_IC_ALLIANCE_KEEP));
}
-void BattlegroundIC::EventPlayerDamagedGO(Player* /*player*/, GameObject* /*go*/, uint32 /*eventType*/)
-{
-
-}
+void BattlegroundIC::EventPlayerDamagedGO(Player* /*player*/, GameObject* /*go*/, uint32 /*eventType*/) { }
WorldSafeLocsEntry const* BattlegroundIC::GetClosestGraveYard(Player* player)
{
@@ -907,52 +881,6 @@ WorldSafeLocsEntry const* BattlegroundIC::GetClosestGraveYard(Player* player)
return good_entry;
}
-Transport* BattlegroundIC::CreateTransport(uint32 goEntry, uint32 period)
-{
- Transport* t = new Transport(period, 0);
-
- GameObjectTemplate const* goinfo = sObjectMgr->GetGameObjectTemplate(goEntry);
-
- if (!goinfo)
- {
- TC_LOG_ERROR(LOG_FILTER_SQL, "Transport ID: %u will not be loaded, gameobject_template missing", goEntry);
- delete t;
- return NULL;
- }
-
- std::set<uint32> mapsUsed;
-
- if (!t->GenerateWaypoints(goinfo->moTransport.taxiPathId, mapsUsed))
- // skip transports with empty waypoints list
- {
- TC_LOG_ERROR(LOG_FILTER_SQL, "Transport (path id %u) path size = 0. Transport ignored, check DBC files or transport GO data0 field.", goinfo->moTransport.taxiPathId);
- delete t;
- return NULL;
- }
-
- uint32 mapid = t->m_WayPoints[0].mapid;
-
- float x = t->m_WayPoints[0].x;
- float y = t->m_WayPoints[0].y;
- float z = t->m_WayPoints[0].z;
- float o = 1;
-
- // creates the Gameobject
- if (!t->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_MO_TRANSPORT), goEntry, mapid, x, y, z, o, 255, 0))
- {
- delete t;
- return NULL;
- }
-
- //If we someday decide to use the grid to track transports, here:
- t->SetMap(GetBgMap());
-
- for (uint8 i = 0; i < 5; ++i)
- t->AddNPCPassenger(0, (goEntry == GO_HORDE_GUNSHIP ? NPC_HORDE_GUNSHIP_CANNON : NPC_ALLIANCE_GUNSHIP_CANNON), (goEntry == GO_HORDE_GUNSHIP ? hordeGunshipPassengers[i].GetPositionX() : allianceGunshipPassengers[i].GetPositionX()), (goEntry == GO_HORDE_GUNSHIP ? hordeGunshipPassengers[i].GetPositionY() : allianceGunshipPassengers[i].GetPositionY()), (goEntry == GO_HORDE_GUNSHIP ? hordeGunshipPassengers[i].GetPositionZ() : allianceGunshipPassengers[i].GetPositionZ()), (goEntry == GO_HORDE_GUNSHIP ? hordeGunshipPassengers[i].GetOrientation() : allianceGunshipPassengers[i].GetOrientation()));
-
- return t;
-}
-
bool BattlegroundIC::IsAllNodesControlledByTeam(uint32 team) const
{
uint32 count = 0;
@@ -983,4 +911,4 @@ bool BattlegroundIC::IsSpellAllowed(uint32 spellId, Player const* player) const
}
return true;
-} \ No newline at end of file
+}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
index 6fdc97f25c5..acb5046444c 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
@@ -956,8 +956,6 @@ class BattlegroundIC : public Battleground
void UpdateNodeWorldState(ICNodePoint* nodePoint);
void HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture);
void HandleContestedNodes(ICNodePoint* nodePoint);
- Transport* CreateTransport(uint32 goEntry, uint32 period);
- void SendTransportInit(Player* player);
};
#endif
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp
index 3ca9b6d4f72..d88c9c7a73f 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp
@@ -73,9 +73,7 @@ void BattlegroundRV::PostUpdateImpl(uint32 diff)
setTimer(getTimer() - diff);
}
-void BattlegroundRV::StartingEventCloseDoors()
-{
-}
+void BattlegroundRV::StartingEventCloseDoors() { }
void BattlegroundRV::StartingEventOpenDoors()
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index 03c4b84b817..4eb56db700a 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -44,9 +44,7 @@ BattlegroundSA::BattlegroundSA()
memset(&GraveyardStatus, 0, sizeof(GraveyardStatus));
}
-BattlegroundSA::~BattlegroundSA()
-{
-}
+BattlegroundSA::~BattlegroundSA() { }
void BattlegroundSA::Reset()
{
@@ -392,13 +390,9 @@ void BattlegroundSA::PostUpdateImpl(uint32 diff)
}
}
-void BattlegroundSA::StartingEventCloseDoors()
-{
-}
+void BattlegroundSA::StartingEventCloseDoors() { }
-void BattlegroundSA::StartingEventOpenDoors()
-{
-}
+void BattlegroundSA::StartingEventOpenDoors() { }
void BattlegroundSA::FillInitialWorldStates(WorldPacket& data)
{
@@ -472,9 +466,7 @@ void BattlegroundSA::AddPlayer(Player* player)
PlayerScores[player->GetGUID()] = sc;
}
-void BattlegroundSA::RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/)
-{
-}
+void BattlegroundSA::RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/) { }
void BattlegroundSA::HandleAreaTrigger(Player* /*Source*/, uint32 /*Trigger*/)
{
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
index 5e0cade9b37..f0e66d1e15d 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
@@ -56,9 +56,7 @@ BattlegroundWS::BattlegroundWS()
_flagDebuffState = 0;
}
-BattlegroundWS::~BattlegroundWS()
-{
-}
+BattlegroundWS::~BattlegroundWS() { }
void BattlegroundWS::PostUpdateImpl(uint32 diff)
{
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp
index d2a166c492c..3272ded7829 100644
--- a/src/server/game/Calendar/CalendarMgr.cpp
+++ b/src/server/game/Calendar/CalendarMgr.cpp
@@ -34,9 +34,7 @@ CalendarEvent::~CalendarEvent()
sCalendarMgr->FreeEventId(_eventId);
}
-CalendarMgr::CalendarMgr()
-{
-}
+CalendarMgr::CalendarMgr() { }
CalendarMgr::~CalendarMgr()
{
diff --git a/src/server/game/Chat/Channels/ChannelMgr.h b/src/server/game/Chat/Channels/ChannelMgr.h
index f03514461f8..74a0d622e80 100644
--- a/src/server/game/Chat/Channels/ChannelMgr.h
+++ b/src/server/game/Chat/Channels/ChannelMgr.h
@@ -51,7 +51,7 @@ class ChannelMgr
void MakeNotOnPacket(WorldPacket* data, std::string const& name);
};
-class AllianceChannelMgr : public ChannelMgr {};
-class HordeChannelMgr : public ChannelMgr {};
+class AllianceChannelMgr : public ChannelMgr { };
+class HordeChannelMgr : public ChannelMgr { };
#endif
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index 405bf7384ae..9574d3b38c3 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -50,8 +50,8 @@ class ChatHandler
{
public:
WorldSession* GetSession() { return m_session; }
- explicit ChatHandler(WorldSession* session) : m_session(session), sentErrorMessage(false) {}
- virtual ~ChatHandler() {}
+ explicit ChatHandler(WorldSession* session) : m_session(session), sentErrorMessage(false) { }
+ virtual ~ChatHandler() { }
static void FillMessageData(WorldPacket* data, WorldSession* session, uint8 type, uint32 language, const char *channelName, uint64 target_guid, const char *message, Unit* speaker);
@@ -129,7 +129,7 @@ class ChatHandler
bool ShowHelpForCommand(ChatCommand* table, const char* cmd);
protected:
- explicit ChatHandler() : m_session(NULL), sentErrorMessage(false) {} // for CLI subclass
+ explicit ChatHandler() : m_session(NULL), sentErrorMessage(false) { } // for CLI subclass
static bool SetDataForCommandInTable(ChatCommand* table, const char* text, uint32 permission, std::string const& help, std::string const& fullcommand);
bool ExecuteCommandInTable(ChatCommand* table, const char* text, std::string const& fullcmd);
bool ShowHelpForSubCommands(ChatCommand* table, char const* cmd, char const* subcmd);
@@ -146,7 +146,7 @@ class CliHandler : public ChatHandler
{
public:
typedef void Print(void*, char const*);
- explicit CliHandler(void* callbackArg, Print* zprint) : m_callbackArg(callbackArg), m_print(zprint) {}
+ explicit CliHandler(void* callbackArg, Print* zprint) : m_callbackArg(callbackArg), m_print(zprint) { }
// overwrite functions
const char *GetTrinityString(int32 entry) const;
diff --git a/src/server/game/Chat/ChatLink.cpp b/src/server/game/Chat/ChatLink.cpp
index 729bbb60bf7..3305492520b 100644
--- a/src/server/game/Chat/ChatLink.cpp
+++ b/src/server/game/Chat/ChatLink.cpp
@@ -536,9 +536,7 @@ bool GlyphChatLink::Initialize(std::istringstream& iss)
return true;
}
-LinkExtractor::LinkExtractor(const char* msg) : _iss(msg)
-{
-}
+LinkExtractor::LinkExtractor(const char* msg) : _iss(msg) { }
LinkExtractor::~LinkExtractor()
{
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp
index b24979d9131..ed23a72bee1 100644
--- a/src/server/game/Combat/ThreatManager.cpp
+++ b/src/server/game/Combat/ThreatManager.cpp
@@ -390,9 +390,7 @@ HostileReference* ThreatContainer::selectNextVictim(Creature* attacker, HostileR
//=================== ThreatManager ==========================
//============================================================
-ThreatManager::ThreatManager(Unit* owner) : iCurrentVictim(NULL), iOwner(owner), iUpdateTimer(THREAT_UPDATE_INTERVAL)
-{
-}
+ThreatManager::ThreatManager(Unit* owner) : iCurrentVictim(NULL), iOwner(owner), iUpdateTimer(THREAT_UPDATE_INTERVAL) { }
//============================================================
diff --git a/src/server/game/Combat/ThreatManager.h b/src/server/game/Combat/ThreatManager.h
index 9b249bd4bee..2d13d8b61e2 100644
--- a/src/server/game/Combat/ThreatManager.h
+++ b/src/server/game/Combat/ThreatManager.h
@@ -281,7 +281,7 @@ namespace Trinity
class ThreatOrderPred
{
public:
- ThreatOrderPred(bool ascending = false) : m_ascending(ascending) {}
+ ThreatOrderPred(bool ascending = false) : m_ascending(ascending) { }
bool operator() (HostileReference const* a, HostileReference const* b) const
{
return m_ascending ? a->getThreat() < b->getThreat() : a->getThreat() > b->getThreat();
diff --git a/src/server/game/Combat/UnitEvents.h b/src/server/game/Combat/UnitEvents.h
index 21cd2d80964..0e568d139a8 100644
--- a/src/server/game/Combat/UnitEvents.h
+++ b/src/server/game/Combat/UnitEvents.h
@@ -123,8 +123,8 @@ class ThreatManagerEvent : public ThreatRefStatusChangeEvent
private:
ThreatContainer* iThreatContainer;
public:
- ThreatManagerEvent(uint32 pType) : ThreatRefStatusChangeEvent(pType), iThreatContainer(NULL) {}
- ThreatManagerEvent(uint32 pType, HostileReference* pHostileReference) : ThreatRefStatusChangeEvent(pType, pHostileReference), iThreatContainer(NULL) {}
+ ThreatManagerEvent(uint32 pType) : ThreatRefStatusChangeEvent(pType), iThreatContainer(NULL) { }
+ ThreatManagerEvent(uint32 pType, HostileReference* pHostileReference) : ThreatRefStatusChangeEvent(pType, pHostileReference), iThreatContainer(NULL) { }
void setThreatContainer(ThreatContainer* pThreatContainer) { iThreatContainer = pThreatContainer; }
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 933d77cc2e8..f6d6c47e96f 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -515,9 +515,7 @@ uint32 Condition::GetMaxAvailableConditionTargets()
}
}
-ConditionMgr::ConditionMgr()
-{
-}
+ConditionMgr::ConditionMgr() { }
ConditionMgr::~ConditionMgr()
{
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index a7189ea415a..171d0fe8cc2 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -344,6 +344,12 @@ enum ItemLimitCategoryMode
ITEM_LIMIT_CATEGORY_MODE_EQUIP = 1 // limit applied to amount equipped items (including used gems)
};
+enum SpellCategoryFlags
+{
+ SPELL_CATEGORY_FLAG_COOLDOWN_SCALES_WITH_WEAPON_SPEED = 0x01, // unused
+ SPELL_CATEGORY_FLAG_COOLDOWN_STARTS_ON_EVENT = 0x04
+};
+
enum TotemCategoryType
{
TOTEM_CATEGORY_TYPE_KNIFE = 1,
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index 71fbf1c62b2..aa292934021 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -20,6 +20,7 @@
#include "Log.h"
#include "SharedDefines.h"
#include "SpellMgr.h"
+#include "TransportMgr.h"
#include "DBCfmt.h"
#include "Timer.h"
#include "ObjectDefines.h"
@@ -153,10 +154,11 @@ DBCStorage <SoundEntriesEntry> sSoundEntriesStore(SoundEntriesfmt);
DBCStorage <SpellItemEnchantmentEntry> sSpellItemEnchantmentStore(SpellItemEnchantmentfmt);
DBCStorage <SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore(SpellItemEnchantmentConditionfmt);
DBCStorage <SpellEntry> sSpellStore(SpellEntryfmt);
-SpellCategoryStore sSpellCategoryStore;
+SpellCategoryStore sSpellsByCategoryStore;
PetFamilySpellsStore sPetFamilySpellsStore;
DBCStorage <SpellCastTimesEntry> sSpellCastTimesStore(SpellCastTimefmt);
+DBCStorage <SpellCategoryEntry> sSpellCategoryStore(SpellCategoryfmt);
DBCStorage <SpellDifficultyEntry> sSpellDifficultyStore(SpellDifficultyfmt);
DBCStorage <SpellDurationEntry> sSpellDurationStore(SpellDurationfmt);
DBCStorage <SpellFocusObjectEntry> sSpellFocusObjectStore(SpellFocusObjectfmt);
@@ -190,6 +192,8 @@ static DBCStorage <TaxiPathNodeEntry> sTaxiPathNodeStore(TaxiPathNodeEntryfmt);
DBCStorage <TeamContributionPointsEntry> sTeamContributionPointsStore(TeamContributionPointsfmt);
DBCStorage <TotemCategoryEntry> sTotemCategoryStore(TotemCategoryEntryfmt);
+DBCStorage <TransportAnimationEntry> sTransportAnimationStore(TransportAnimationfmt);
+DBCStorage <TransportRotationEntry> sTransportRotationStore(TransportRotationfmt);
DBCStorage <VehicleEntry> sVehicleStore(VehicleEntryfmt);
DBCStorage <VehicleSeatEntry> sVehicleSeatStore(VehicleSeatEntryfmt);
DBCStorage <WMOAreaTableEntry> sWMOAreaTableStore(WMOAreaTableEntryfmt);
@@ -405,7 +409,7 @@ void LoadDBCStores(const std::string& dataPath)
{
SpellEntry const* spell = sSpellStore.LookupEntry(i);
if (spell && spell->Category)
- sSpellCategoryStore[spell->Category].insert(i);
+ sSpellsByCategoryStore[spell->Category].insert(i);
}
for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j)
@@ -439,6 +443,7 @@ void LoadDBCStores(const std::string& dataPath)
}
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellCastTimesStore, dbcPath, "SpellCastTimes.dbc");
+ LoadDBC(availableDbcLocales, bad_dbc_files, sSpellCategoryStore, dbcPath, "SpellCategory.dbc");
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellDifficultyStore, dbcPath, "SpellDifficulty.dbc", &CustomSpellDifficultyfmt, &CustomSpellDifficultyIndex);
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellDurationStore, dbcPath, "SpellDuration.dbc");
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellFocusObjectStore, dbcPath, "SpellFocusObject.dbc");
@@ -604,6 +609,25 @@ void LoadDBCStores(const std::string& dataPath)
LoadDBC(availableDbcLocales, bad_dbc_files, sTeamContributionPointsStore, dbcPath, "TeamContributionPoints.dbc");
LoadDBC(availableDbcLocales, bad_dbc_files, sTotemCategoryStore, dbcPath, "TotemCategory.dbc");
+ LoadDBC(availableDbcLocales, bad_dbc_files, sTransportAnimationStore, dbcPath, "TransportAnimation.dbc");
+ for (uint32 i = 0; i < sTransportAnimationStore.GetNumRows(); ++i)
+ {
+ TransportAnimationEntry const* anim = sTransportAnimationStore.LookupEntry(i);
+ if (!anim)
+ continue;
+
+ sTransportMgr->AddPathNodeToTransport(anim->TransportEntry, anim->TimeSeg, anim);
+ }
+
+ LoadDBC(availableDbcLocales, bad_dbc_files, sTransportRotationStore, dbcPath, "TransportRotation.dbc");
+ for (uint32 i = 0; i < sTransportRotationStore.GetNumRows(); ++i)
+ {
+ TransportRotationEntry const* rot = sTransportRotationStore.LookupEntry(i);
+ if (!rot)
+ continue;
+
+ sTransportMgr->AddPathRotationToTransport(rot->TransportEntry, rot->TimeSeg, rot);
+ }
LoadDBC(availableDbcLocales, bad_dbc_files, sVehicleStore, dbcPath, "Vehicle.dbc");
LoadDBC(availableDbcLocales, bad_dbc_files, sVehicleSeatStore, dbcPath, "VehicleSeat.dbc");
diff --git a/src/server/game/DataStores/DBCStores.h b/src/server/game/DataStores/DBCStores.h
index cac93a120a5..808ebb78fa5 100644
--- a/src/server/game/DataStores/DBCStores.h
+++ b/src/server/game/DataStores/DBCStores.h
@@ -148,12 +148,13 @@ extern DBCStorage <SkillLineEntry> sSkillLineStore;
extern DBCStorage <SkillLineAbilityEntry> sSkillLineAbilityStore;
extern DBCStorage <SoundEntriesEntry> sSoundEntriesStore;
extern DBCStorage <SpellCastTimesEntry> sSpellCastTimesStore;
+extern DBCStorage <SpellCategoryEntry> sSpellCategoryStore;
extern DBCStorage <SpellDifficultyEntry> sSpellDifficultyStore;
extern DBCStorage <SpellDurationEntry> sSpellDurationStore;
extern DBCStorage <SpellFocusObjectEntry> sSpellFocusObjectStore;
extern DBCStorage <SpellItemEnchantmentEntry> sSpellItemEnchantmentStore;
extern DBCStorage <SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore;
-extern SpellCategoryStore sSpellCategoryStore;
+extern SpellCategoryStore sSpellsByCategoryStore;
extern PetFamilySpellsStore sPetFamilySpellsStore;
extern DBCStorage <SpellRadiusEntry> sSpellRadiusStore;
extern DBCStorage <SpellRangeEntry> sSpellRangeStore;
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index e12f70baa41..0c1f6af5506 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -1675,6 +1675,12 @@ struct SpellCastTimesEntry
//int32 MinCastTime; // 3 unsure
};
+struct SpellCategoryEntry
+{
+ uint32 Id;
+ uint32 Flags;
+};
+
struct SpellDifficultyEntry
{
uint32 ID; // 0
@@ -1875,6 +1881,28 @@ struct TotemCategoryEntry
uint32 categoryMask; // 19 (compatibility mask for same type: different for totems, compatible from high to low for rods)
};
+struct TransportAnimationEntry
+{
+ //uint32 Id;
+ uint32 TransportEntry;
+ uint32 TimeSeg;
+ float X;
+ float Y;
+ float Z;
+ //uint32 MovementId;
+};
+
+struct TransportRotationEntry
+{
+ //uint32 Id;
+ uint32 TransportEntry;
+ uint32 TimeSeg;
+ float X;
+ float Y;
+ float Z;
+ float W;
+};
+
#define MAX_VEHICLE_SEATS 8
struct VehicleEntry
@@ -2073,8 +2101,8 @@ struct WorldStateUI
// Structures not used for casting to loaded DBC data and not required then packing
struct MapDifficulty
{
- MapDifficulty() : resetTime(0), maxPlayers(0), hasErrorMessage(false) {}
- MapDifficulty(uint32 _resetTime, uint32 _maxPlayers, bool _hasErrorMessage) : resetTime(_resetTime), maxPlayers(_maxPlayers), hasErrorMessage(_hasErrorMessage) {}
+ MapDifficulty() : resetTime(0), maxPlayers(0), hasErrorMessage(false) { }
+ MapDifficulty(uint32 _resetTime, uint32 _maxPlayers, bool _hasErrorMessage) : resetTime(_resetTime), maxPlayers(_maxPlayers), hasErrorMessage(_hasErrorMessage) { }
uint32 resetTime;
uint32 maxPlayers;
@@ -2083,8 +2111,8 @@ struct MapDifficulty
struct TalentSpellPos
{
- TalentSpellPos() : talent_id(0), rank(0) {}
- TalentSpellPos(uint16 _talent_id, uint8 _rank) : talent_id(_talent_id), rank(_rank) {}
+ TalentSpellPos() : talent_id(0), rank(0) { }
+ TalentSpellPos(uint16 _talent_id, uint8 _rank) : talent_id(_talent_id), rank(_rank) { }
uint16 talent_id;
uint8 rank;
@@ -2094,8 +2122,8 @@ typedef std::map<uint32, TalentSpellPos> TalentSpellPosMap;
struct TaxiPathBySourceAndDestination
{
- TaxiPathBySourceAndDestination() : ID(0), price(0) {}
- TaxiPathBySourceAndDestination(uint32 _id, uint32 _price) : ID(_id), price(_price) {}
+ TaxiPathBySourceAndDestination() : ID(0), price(0) { }
+ TaxiPathBySourceAndDestination(uint32 _id, uint32 _price) : ID(_id), price(_price) { }
uint32 ID;
uint32 price;
@@ -2105,8 +2133,8 @@ typedef std::map<uint32, TaxiPathSetForSource> TaxiPathSetBySource;
struct TaxiPathNodePtr
{
- TaxiPathNodePtr() : i_ptr(NULL) {}
- TaxiPathNodePtr(TaxiPathNodeEntry const* ptr) : i_ptr(ptr) {}
+ TaxiPathNodePtr() : i_ptr(NULL) { }
+ TaxiPathNodePtr(TaxiPathNodeEntry const* ptr) : i_ptr(ptr) { }
TaxiPathNodeEntry const* i_ptr;
operator TaxiPathNodeEntry const& () const { return *i_ptr; }
};
diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h
index a81eec51338..0066db2b049 100644
--- a/src/server/game/DataStores/DBCfmt.h
+++ b/src/server/game/DataStores/DBCfmt.h
@@ -97,6 +97,7 @@ char const SkillLinefmt[] = "nixssssssssssssssssxxxxxxxxxxxxxxxxxxixxxxxxxxxxxxx
char const SkillLineAbilityfmt[] = "niiiixxiiiiixx";
char const SoundEntriesfmt[] = "nxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
char const SpellCastTimefmt[] = "nixx";
+char const SpellCategoryfmt[] = "ni";
char const SpellDifficultyfmt[] = "niiii";
const std::string CustomSpellDifficultyfmt = "ppppp";
const std::string CustomSpellDifficultyIndex = "id";
@@ -120,6 +121,8 @@ char const TaxiPathEntryfmt[] = "niii";
char const TaxiPathNodeEntryfmt[] = "diiifffiiii";
char const TeamContributionPointsfmt[] = "df";
char const TotemCategoryEntryfmt[] = "nxxxxxxxxxxxxxxxxxii";
+char const TransportAnimationfmt[] = "diifffx";
+char const TransportRotationfmt[] = "diiffff";
char const VehicleEntryfmt[] = "niffffiiiiiiiifffffffffffffffssssfifiixx";
char const VehicleSeatEntryfmt[] = "niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxx";
char const WMOAreaTableEntryfmt[] = "niiixxxxxiixxxxxxxxxxxxxxxxx";
diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h
index 96fedb65547..83b4142ae36 100644
--- a/src/server/game/DungeonFinding/LFGMgr.h
+++ b/src/server/game/DungeonFinding/LFGMgr.h
@@ -151,7 +151,7 @@ typedef UNORDERED_MAP<uint32, LFGDungeonData> LFGDungeonContainer;
struct LfgJoinResultData
{
LfgJoinResultData(LfgJoinResult _result = LFG_JOIN_OK, LfgRoleCheckState _state = LFG_ROLECHECK_DEFAULT):
- result(_result), state(_state) {}
+ result(_result), state(_state) { }
LfgJoinResult result;
LfgRoleCheckState state;
LfgLockPartyMap lockmap;
@@ -178,7 +178,7 @@ struct LfgQueueStatusData
LfgQueueStatusData(uint32 _dungeonId = 0, int32 _waitTime = -1, int32 _waitTimeAvg = -1, int32 _waitTimeTank = -1, int32 _waitTimeHealer = -1,
int32 _waitTimeDps = -1, uint32 _queuedTime = 0, uint8 _tanks = 0, uint8 _healers = 0, uint8 _dps = 0) :
dungeonId(_dungeonId), waitTime(_waitTime), waitTimeAvg(_waitTimeAvg), waitTimeTank(_waitTimeTank), waitTimeHealer(_waitTimeHealer),
- waitTimeDps(_waitTimeDps), queuedTime(_queuedTime), tanks(_tanks), healers(_healers), dps(_dps) {}
+ waitTimeDps(_waitTimeDps), queuedTime(_queuedTime), tanks(_tanks), healers(_healers), dps(_dps) { }
uint32 dungeonId;
int32 waitTime;
diff --git a/src/server/game/DungeonFinding/LFGPlayerData.cpp b/src/server/game/DungeonFinding/LFGPlayerData.cpp
index e8ef430bc1f..305263cb73d 100644
--- a/src/server/game/DungeonFinding/LFGPlayerData.cpp
+++ b/src/server/game/DungeonFinding/LFGPlayerData.cpp
@@ -22,11 +22,9 @@ namespace lfg
LfgPlayerData::LfgPlayerData(): m_State(LFG_STATE_NONE), m_OldState(LFG_STATE_NONE),
m_Team(0), m_Group(0), m_Roles(0), m_Comment("")
-{}
+{ }
-LfgPlayerData::~LfgPlayerData()
-{
-}
+LfgPlayerData::~LfgPlayerData() { }
void LfgPlayerData::SetState(LfgState state)
{
diff --git a/src/server/game/DungeonFinding/LFGQueue.h b/src/server/game/DungeonFinding/LFGQueue.h
index db7e7bbf318..128b2aa2f0b 100644
--- a/src/server/game/DungeonFinding/LFGQueue.h
+++ b/src/server/game/DungeonFinding/LFGQueue.h
@@ -71,7 +71,7 @@ struct LfgQueueData
struct LfgWaitTime
{
- LfgWaitTime(): time(-1), number(0) {}
+ LfgWaitTime(): time(-1), number(0) { }
int32 time; ///< Wait time
uint32 number; ///< Number of people used to get that wait time
};
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index 9dfbb0e9fb3..2a4096a45ae 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -32,9 +32,7 @@
namespace lfg
{
-LFGPlayerScript::LFGPlayerScript() : PlayerScript("LFGPlayerScript")
-{
-}
+LFGPlayerScript::LFGPlayerScript() : PlayerScript("LFGPlayerScript") { }
void LFGPlayerScript::OnLevelChanged(Player* player, uint8 /*oldLevel*/)
{
@@ -120,9 +118,7 @@ void LFGPlayerScript::OnMapChanged(Player* player)
player->RemoveAurasDueToSpell(LFG_SPELL_LUCK_OF_THE_DRAW);
}
-LFGGroupScript::LFGGroupScript() : GroupScript("LFGGroupScript")
-{
-}
+LFGGroupScript::LFGGroupScript() : GroupScript("LFGGroupScript") { }
void LFGGroupScript::OnAddMember(Group* group, uint64 guid)
{
diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp
index ccceec7185b..58e21b5096c 100644
--- a/src/server/game/Entities/Corpse/Corpse.cpp
+++ b/src/server/game/Entities/Corpse/Corpse.cpp
@@ -41,9 +41,7 @@ Corpse::Corpse(CorpseType type) : WorldObject(type != CORPSE_BONES), m_type(type
lootRecipient = NULL;
}
-Corpse::~Corpse()
-{
-}
+Corpse::~Corpse() { }
void Corpse::AddToWorld()
{
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 4efd78d5932..e4fda515c8a 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -52,7 +52,7 @@
#include "World.h"
#include "WorldPacket.h"
-// apply implementation of the singletons
+#include "Transport.h"
TrainerSpell const* TrainerSpellData::Find(uint32 spell_id) const
{
@@ -141,7 +141,7 @@ bool ForcedDespawnDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/)
return true;
}
-Creature::Creature(bool isWorldObject): Unit(isWorldObject), MapCreature(),
+Creature::Creature(bool isWorldObject): Unit(isWorldObject), MapObject(),
lootForPickPocketed(false), lootForBody(false), m_groupLootTimer(0), lootingGroupLowGUID(0),
m_PlayerDamageReq(0), m_lootRecipient(0), m_lootRecipientGroup(0), m_corpseRemoveTime(0), m_respawnTime(0),
m_respawnDelay(300), m_corpseDelay(60), m_respawnradius(0.0f), m_reactState(REACT_AGGRESSIVE),
@@ -934,7 +934,8 @@ void Creature::SaveToDB()
return;
}
- SaveToDB(GetMapId(), data->spawnMask, GetPhaseMask());
+ uint32 mapId = GetTransport() ? GetTransport()->GetGOInfo()->moTransport.mapID : GetMapId();
+ SaveToDB(mapId, data->spawnMask, GetPhaseMask());
}
void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask)
@@ -973,10 +974,21 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask)
data.phaseMask = phaseMask;
data.displayid = displayId;
data.equipmentId = GetCurrentEquipmentId();
- data.posX = GetPositionX();
- data.posY = GetPositionY();
- data.posZ = GetPositionZMinusOffset();
- data.orientation = GetOrientation();
+ if (!GetTransport())
+ {
+ data.posX = GetPositionX();
+ data.posY = GetPositionY();
+ data.posZ = GetPositionZMinusOffset();
+ data.orientation = GetOrientation();
+ }
+ else
+ {
+ data.posX = GetTransOffsetX();
+ data.posY = GetTransOffsetY();
+ data.posZ = GetTransOffsetZ();
+ data.orientation = GetTransOffsetO();
+ }
+
data.spawntimesecs = m_respawnDelay;
// prevent add data integrity problems
data.spawndist = GetDefaultMovementType() == IDLE_MOTION_TYPE ? 0.0f : m_respawnradius;
@@ -2129,8 +2141,8 @@ void Creature::AddCreatureSpellCooldown(uint32 spellid)
if (cooldown)
_AddCreatureSpellCooldown(spellid, time(NULL) + cooldown/IN_MILLISECONDS);
- if (spellInfo->Category)
- _AddCreatureCategoryCooldown(spellInfo->Category, time(NULL));
+ if (spellInfo->GetCategory())
+ _AddCreatureCategoryCooldown(spellInfo->GetCategory(), time(NULL));
}
bool Creature::HasCategoryCooldown(uint32 spell_id) const
@@ -2139,7 +2151,7 @@ bool Creature::HasCategoryCooldown(uint32 spell_id) const
if (!spellInfo)
return false;
- CreatureSpellCooldowns::const_iterator itr = m_CreatureCategoryCooldowns.find(spellInfo->Category);
+ CreatureSpellCooldowns::const_iterator itr = m_CreatureCategoryCooldowns.find(spellInfo->GetCategory());
return(itr != m_CreatureCategoryCooldowns.end() && time_t(itr->second + (spellInfo->CategoryRecoveryTime / IN_MILLISECONDS)) > time(NULL));
}
@@ -2173,7 +2185,7 @@ void Creature::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs
}
// Not send cooldown for this spells
- if (spellInfo->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (spellInfo->IsCooldownStartedOnEvent())
continue;
if (spellInfo->PreventionType != SPELL_PREVENTION_TYPE_SILENCE)
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 3a07d9c101b..08d3610594f 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -246,7 +246,7 @@ typedef UNORDERED_MAP<uint32, EquipmentInfoContainerInternal> EquipmentInfoConta
// from `creature` table
struct CreatureData
{
- CreatureData() : dbData(true) {}
+ CreatureData() : dbData(true) { }
uint32 id; // entry in creature_template
uint16 mapid;
uint32 phaseMask;
@@ -325,7 +325,7 @@ typedef UNORDERED_MAP<uint32, CreatureAddon> CreatureAddonContainer;
struct VendorItem
{
VendorItem(uint32 _item, int32 _maxcount, uint32 _incrtime, uint32 _ExtendedCost)
- : item(_item), maxcount(_maxcount), incrtime(_incrtime), ExtendedCost(_ExtendedCost) {}
+ : item(_item), maxcount(_maxcount), incrtime(_incrtime), ExtendedCost(_ExtendedCost) { }
uint32 item;
uint32 maxcount; // 0 for infinity item amount
@@ -367,7 +367,7 @@ struct VendorItemData
struct VendorItemCount
{
explicit VendorItemCount(uint32 _item, uint32 _count)
- : itemId(_item), count(_count), lastIncrementTime(time(NULL)) {}
+ : itemId(_item), count(_count), lastIncrementTime(time(NULL)) { }
uint32 itemId;
uint32 count;
@@ -399,7 +399,7 @@ typedef UNORDERED_MAP<uint32 /*spellid*/, TrainerSpell> TrainerSpellMap;
struct TrainerSpellData
{
- TrainerSpellData() : trainerType(0) {}
+ TrainerSpellData() : trainerType(0) { }
~TrainerSpellData() { spellList.clear(); }
TrainerSpellMap spellList;
@@ -415,36 +415,7 @@ typedef std::map<uint32, time_t> CreatureSpellCooldowns;
#define MAX_VENDOR_ITEMS 150 // Limitation in 3.x.x item count in SMSG_LIST_INVENTORY
-enum CreatureCellMoveState
-{
- CREATURE_CELL_MOVE_NONE, // not in move list
- CREATURE_CELL_MOVE_ACTIVE, // in move list
- CREATURE_CELL_MOVE_INACTIVE // in move list but should not move
-};
-
-class MapCreature
-{
- friend class Map; // map for moving creatures
- friend class ObjectGridLoader; // grid loader for loading creatures
-
-protected:
- MapCreature() : _moveState(CREATURE_CELL_MOVE_NONE) {}
-
-private:
- Cell _currentCell;
- Cell const& GetCurrentCell() const { return _currentCell; }
- void SetCurrentCell(Cell const& cell) { _currentCell = cell; }
-
- CreatureCellMoveState _moveState;
- Position _newPosition;
- void SetNewCellPosition(float x, float y, float z, float o)
- {
- _moveState = CREATURE_CELL_MOVE_ACTIVE;
- _newPosition.Relocate(x, y, z, o);
- }
-};
-
-class Creature : public Unit, public GridObject<Creature>, public MapCreature
+class Creature : public Unit, public GridObject<Creature>, public MapObject
{
public:
@@ -476,7 +447,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature
bool IsTrigger() const { return GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER; }
bool IsGuard() const { return GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_GUARD; }
bool CanWalk() const { return GetCreatureTemplate()->InhabitType & INHABIT_GROUND; }
- bool CanSwim() const { return GetCreatureTemplate()->InhabitType & INHABIT_WATER; }
+ bool CanSwim() const { return GetCreatureTemplate()->InhabitType & INHABIT_WATER || IsPet(); }
bool CanFly() const { return GetCreatureTemplate()->InhabitType & INHABIT_AIR; }
void SetReactState(ReactStates st) { m_reactState = st; }
@@ -696,9 +667,6 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature
float m_SightDistance, m_CombatDistance;
- void SetGUIDTransport(uint32 guid) { guid_transport=guid; }
- uint32 GetGUIDTransport() { return guid_transport; }
-
void FarTeleportTo(Map* map, float X, float Y, float Z, float O);
bool m_isTempWorldObject; //true when possessed
diff --git a/src/server/game/Entities/Creature/CreatureGroups.h b/src/server/game/Entities/Creature/CreatureGroups.h
index fb5b823fbe9..91a7ac7ff5e 100644
--- a/src/server/game/Entities/Creature/CreatureGroups.h
+++ b/src/server/game/Entities/Creature/CreatureGroups.h
@@ -60,8 +60,8 @@ class CreatureGroup
public:
//Group cannot be created empty
- explicit CreatureGroup(uint32 id) : m_leader(NULL), m_groupID(id), m_Formed(false) {}
- ~CreatureGroup() {}
+ explicit CreatureGroup(uint32 id) : m_leader(NULL), m_groupID(id), m_Formed(false) { }
+ ~CreatureGroup() { }
Creature* getLeader() const { return m_leader; }
uint32 GetId() const { return m_groupID; }
diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h
index 46f5c1300a4..03fcd4cd74d 100644
--- a/src/server/game/Entities/Creature/TemporarySummon.h
+++ b/src/server/game/Entities/Creature/TemporarySummon.h
@@ -41,14 +41,14 @@ class TempSummon : public Creature
{
public:
explicit TempSummon(SummonPropertiesEntry const* properties, Unit* owner, bool isWorldObject);
- virtual ~TempSummon() {}
+ virtual ~TempSummon() { }
void Update(uint32 time);
virtual void InitStats(uint32 lifetime);
virtual void InitSummon();
virtual void UnSummon(uint32 msTime = 0);
void RemoveFromWorld();
void SetTempSummonType(TempSummonType type);
- void SaveToDB(uint32 /*mapid*/, uint8 /*spawnMask*/, uint32 /*phaseMask*/) {}
+ void SaveToDB(uint32 /*mapid*/, uint8 /*spawnMask*/, uint32 /*phaseMask*/) { }
Unit* GetSummoner() const;
Creature* GetSummonerCreatureBase() const;
uint64 GetSummonerGUID() const { return m_summonerGUID; }
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index eef416b339d..6d940623963 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -16,6 +16,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <G3D/Quat.h>
#include "GameObjectAI.h"
#include "Battleground.h"
#include "CellImpl.h"
@@ -32,8 +33,10 @@
#include "SpellMgr.h"
#include "UpdateFieldFlags.h"
#include "World.h"
+#include "Transport.h"
-GameObject::GameObject(): WorldObject(false), m_model(NULL), m_goValue(), m_AI(NULL)
+GameObject::GameObject() : WorldObject(false), MapObject(),
+ m_model(NULL), m_goValue(), m_AI(NULL)
{
m_objectType |= TYPEMASK_GAMEOBJECT;
m_objectTypeId = TYPEID_GAMEOBJECT;
@@ -100,6 +103,13 @@ void GameObject::CleanupsBeforeDelete(bool /*finalCleanup*/)
if (m_uint32Values) // field array can be not exist if GameOBject not loaded
RemoveFromOwner();
+
+ if (GetTransport() && !ToTransport())
+ {
+ GetTransport()->RemovePassenger(this);
+ SetTransport(NULL);
+ m_movementInfo.transport.Reset();
+ }
}
void GameObject::RemoveFromOwner()
@@ -169,6 +179,7 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
SetMap(map);
Relocate(x, y, z, ang);
+ m_stationaryPosition.Relocate(x, y, z, ang);
if (!IsPositionValid())
{
TC_LOG_ERROR(LOG_FILTER_GENERAL, "Gameobject (GUID: %u Entry: %u) not created. Suggested coordinates isn't valid (X: %f Y: %f)", guidlow, name_id, x, y);
@@ -192,6 +203,9 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
return false;
}
+ if (goinfo->type == GAMEOBJECT_TYPE_TRANSPORT)
+ m_updateFlag = (m_updateFlag | UPDATEFLAG_TRANSPORT) & ~UPDATEFLAG_POSITION;
+
Object::_Create(guidlow, goinfo->entry, HIGHGUID_GAMEOBJECT);
m_goInfo = goinfo;
@@ -238,9 +252,11 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
break;
case GAMEOBJECT_TYPE_TRANSPORT:
SetUInt32Value(GAMEOBJECT_LEVEL, goinfo->transport.pause);
- if (goinfo->transport.startOpen)
- SetGoState(GO_STATE_ACTIVE);
+ SetGoState(goinfo->transport.startOpen ? GO_STATE_ACTIVE : GO_STATE_READY);
SetGoAnimProgress(animprogress);
+ m_goValue.Transport.PathProgress = 0;
+ m_goValue.Transport.AnimationInfo = sTransportMgr->GetTransportAnimInfo(goinfo->entry);
+ m_goValue.Transport.CurrentSeg = 0;
break;
case GAMEOBJECT_TYPE_FISHINGNODE:
SetGoAnimProgress(0);
@@ -274,18 +290,10 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
void GameObject::Update(uint32 diff)
{
- if (!AI())
- {
- if (!AIM_Initialize())
- TC_LOG_ERROR(LOG_FILTER_GENERAL, "Could not initialize GameObjectAI");
- } else
+ if (AI())
AI()->UpdateAI(diff);
-
- if (IS_MO_TRANSPORT_GUID(GetGUID()))
- {
- //((Transport*)this)->Update(p_time);
- return;
- }
+ else if (!AIM_Initialize())
+ TC_LOG_ERROR(LOG_FILTER_GENERAL, "Could not initialize GameObjectAI");
switch (m_lootState)
{
@@ -308,6 +316,38 @@ void GameObject::Update(uint32 diff)
m_lootState = GO_READY;
break;
}
+ /* TODO: Fix movement in unloaded grid - currently GO will just disappear
+ case GAMEOBJECT_TYPE_TRANSPORT:
+ {
+ if (!m_goValue.Transport.AnimationInfo)
+ break;
+
+ if (GetGoState() == GO_STATE_READY)
+ {
+ m_goValue.Transport.PathProgress += diff;
+ uint32 timer = m_goValue.Transport.PathProgress % m_goValue.Transport.AnimationInfo->TotalTime;
+ TransportAnimationEntry const* node = m_goValue.Transport.AnimationInfo->GetAnimNode(timer);
+ if (node && m_goValue.Transport.CurrentSeg != node->TimeSeg)
+ {
+ m_goValue.Transport.CurrentSeg = node->TimeSeg;
+
+ G3D::Quat rotation = m_goValue.Transport.AnimationInfo->GetAnimRotation(timer);
+ G3D::Vector3 pos = rotation.toRotationMatrix()
+ * G3D::Matrix3::fromEulerAnglesZYX(GetOrientation(), 0.0f, 0.0f)
+ * G3D::Vector3(node->X, node->Y, node->Z);
+
+ pos += G3D::Vector3(GetStationaryX(), GetStationaryY(), GetStationaryZ());
+
+ G3D::Vector3 src(GetPositionX(), GetPositionY(), GetPositionZ());
+
+ sLog->outInfo(LOG_FILTER_GENERAL, "Src: %s Dest: %s", src.toString().c_str(), pos.toString().c_str());
+
+ GetMap()->GameObjectRelocation(this, pos.x, pos.y, pos.z, GetOrientation());
+ }
+ }
+ break;
+ }
+ */
case GAMEOBJECT_TYPE_FISHINGNODE:
{
// fishing code (bobber ready)
@@ -1182,10 +1222,12 @@ void GameObject::Use(Unit* user)
if (itr->second)
{
if (Player* ChairUser = ObjectAccessor::FindPlayer(itr->second))
+ {
if (ChairUser->IsSitState() && ChairUser->getStandState() != UNIT_STAND_STATE_SIT && ChairUser->GetExactDist2d(x_i, y_i) < 0.1f)
continue; // This seat is already occupied by ChairUser. NOTE: Not sure if the ChairUser->getStandState() != UNIT_STAND_STATE_SIT check is required.
else
itr->second = 0; // This seat is unoccupied.
+ }
else
itr->second = 0; // The seat may of had an occupant, but they're offline.
}
@@ -2102,6 +2144,7 @@ void GameObject::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* t
if (index == GAMEOBJECT_DYNAMIC)
{
uint16 dynFlags = 0;
+ int16 pathProgress = -1;
switch (GetGoType())
{
case GAMEOBJECT_TYPE_CHEST:
@@ -2115,12 +2158,15 @@ void GameObject::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* t
if (ActivateToQuest(target))
dynFlags |= GO_DYNFLAG_LO_SPARKLE;
break;
+ case GAMEOBJECT_TYPE_MO_TRANSPORT:
+ pathProgress = int16(float(m_goValue.Transport.PathProgress) / float(GetUInt32Value(GAMEOBJECT_LEVEL)) * 65535.0f);
+ break;
default:
break;
}
fieldBuffer << uint16(dynFlags);
- fieldBuffer << uint16(-1);
+ fieldBuffer << int16(pathProgress);
}
else if (index == GAMEOBJECT_FLAGS)
{
@@ -2140,3 +2186,25 @@ void GameObject::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* t
updateMask.AppendToPacket(data);
data->append(fieldBuffer);
}
+
+void GameObject::GetRespawnPosition(float &x, float &y, float &z, float* ori /* = NULL*/) const
+{
+ if (m_DBTableGuid)
+ {
+ if (GameObjectData const* data = sObjectMgr->GetGOData(GetDBTableGUIDLow()))
+ {
+ x = data->posX;
+ y = data->posY;
+ z = data->posZ;
+ if (ori)
+ *ori = data->orientation;
+ return;
+ }
+ }
+
+ x = GetPositionX();
+ y = GetPositionY();
+ z = GetPositionZ();
+ if (ori)
+ *ori = GetOrientation();
+}
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 3bddac81ee9..27ea15c38ff 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -28,6 +28,7 @@
class GameObjectAI;
class Group;
+class Transport;
#define MAX_GAMEOBJECT_QUEST_ITEMS 6
@@ -229,6 +230,7 @@ struct GameObjectTemplate
uint32 transportPhysics; //5
uint32 mapID; //6
uint32 worldState1; //7
+ uint32 canBeStopped; //8
} moTransport;
//16 GAMEOBJECT_TYPE_DUELFLAG - empty
//17 GAMEOBJECT_TYPE_FISHINGNODE - empty
@@ -539,9 +541,17 @@ struct GameObjectTemplate
typedef UNORDERED_MAP<uint32, GameObjectTemplate> GameObjectTemplateContainer;
class OPvPCapturePoint;
+struct TransportAnimation;
union GameObjectValue
{
+ //11 GAMEOBJECT_TYPE_TRANSPORT
+ struct
+ {
+ uint32 PathProgress;
+ TransportAnimation const* AnimationInfo;
+ uint32 CurrentSeg;
+ } Transport;
//25 GAMEOBJECT_TYPE_FISHINGHOLE
struct
{
@@ -579,7 +589,7 @@ enum GOState
// from `gameobject`
struct GameObjectData
{
- explicit GameObjectData() : dbData(true) {}
+ explicit GameObjectData() : dbData(true) { }
uint32 id; // entry in gamobject_template
uint16 mapid;
uint32 phaseMask;
@@ -617,7 +627,7 @@ class GameObjectModel;
// 5 sec for bobber catch
#define FISHING_BOBBER_READY_TIME 5
-class GameObject : public WorldObject, public GridObject<GameObject>
+class GameObject : public WorldObject, public GridObject<GameObject>, public MapObject
{
public:
explicit GameObject();
@@ -811,8 +821,19 @@ class GameObject : public WorldObject, public GridObject<GameObject>
uint32 GetDisplayId() const { return GetUInt32Value(GAMEOBJECT_DISPLAYID); }
GameObjectModel* m_model;
+ void GetRespawnPosition(float &x, float &y, float &z, float* ori = NULL) const;
+
+ Transport* ToTransport() { if (GetGOInfo()->type == GAMEOBJECT_TYPE_MO_TRANSPORT) return reinterpret_cast<Transport*>(this); else return NULL; }
+ Transport const* ToTransport() const { if (GetGOInfo()->type == GAMEOBJECT_TYPE_MO_TRANSPORT) return reinterpret_cast<Transport const*>(this); else return NULL; }
+
+ float GetStationaryX() const { if (GetGOInfo()->type != GAMEOBJECT_TYPE_MO_TRANSPORT) return m_stationaryPosition.GetPositionX(); return GetPositionX(); }
+ float GetStationaryY() const { if (GetGOInfo()->type != GAMEOBJECT_TYPE_MO_TRANSPORT) return m_stationaryPosition.GetPositionY(); return GetPositionY(); }
+ float GetStationaryZ() const { if (GetGOInfo()->type != GAMEOBJECT_TYPE_MO_TRANSPORT) return m_stationaryPosition.GetPositionZ(); return GetPositionZ(); }
+ float GetStationaryO() const { if (GetGOInfo()->type != GAMEOBJECT_TYPE_MO_TRANSPORT) return m_stationaryPosition.GetOrientation(); return GetOrientation(); }
+
protected:
bool AIM_Initialize();
+ void UpdateModel(); // updates model in case displayId were changed
uint32 m_spellId;
time_t m_respawnTime; // (secs) time of next respawn (or despawn if GO have owner()),
uint32 m_respawnDelayTime; // (secs) if 0 then current GO state no dependent from timer
@@ -835,6 +856,7 @@ class GameObject : public WorldObject, public GridObject<GameObject>
GameObjectValue m_goValue;
uint64 m_rotation;
+ Position m_stationaryPosition;
uint64 m_lootRecipient;
uint32 m_lootRecipientGroup;
@@ -842,7 +864,6 @@ class GameObject : public WorldObject, public GridObject<GameObject>
private:
void RemoveFromOwner();
void SwitchDoorOrButton(bool activate, bool alternative = false);
- void UpdateModel(); // updates model in case displayId were changed
//! Object distance/size - overridden from Object::_IsWithinDist. Needs to take in account proper GO size.
bool _IsWithinDist(WorldObject const* obj, float dist2compare, bool /*is3D*/) const
diff --git a/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp b/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
index ba9604fcd52..1d0b7b66d6d 100644
--- a/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
+++ b/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
@@ -33,10 +33,10 @@ struct EnchStoreItem
float chance;
EnchStoreItem()
- : ench(0), chance(0) {}
+ : ench(0), chance(0) { }
EnchStoreItem(uint32 _ench, float _chance)
- : ench(_ench), chance(_chance) {}
+ : ench(_ench), chance(_chance) { }
};
typedef std::vector<EnchStoreItem> EnchStoreList;
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 9d77e144c0b..b7417c0e7c6 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -219,9 +219,6 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
case GAMEOBJECT_TYPE_FLAGDROP:
updateType = UPDATETYPE_CREATE_OBJECT2;
break;
- case GAMEOBJECT_TYPE_TRANSPORT:
- flags |= UPDATEFLAG_TRANSPORT;
- break;
default:
break;
}
@@ -414,13 +411,10 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
// 0x40
if (flags & UPDATEFLAG_STATIONARY_POSITION)
{
- *data << object->GetPositionX();
- *data << object->GetPositionY();
- if (isType(TYPEMASK_UNIT))
- *data << unit->GetPositionZMinusOffset();
- else
- *data << object->GetPositionZ();
- *data << object->GetOrientation();
+ *data << object->GetStationaryX();
+ *data << object->GetStationaryY();
+ *data << object->GetStationaryZ();
+ *data << object->GetStationaryO();
}
}
}
@@ -473,7 +467,11 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
// 0x2
if (flags & UPDATEFLAG_TRANSPORT)
{
- *data << uint32(getMSTime()); // Unknown - getMSTime is wrong.
+ GameObject const* go = ToGameObject();
+ if (go && go->IsTransport())
+ *data << uint32(go->GetGOValue()->Transport.PathProgress);
+ else
+ *data << uint32(getMSTime());
}
// 0x80
@@ -1883,7 +1881,7 @@ namespace Trinity
{
public:
MonsterChatBuilder(WorldObject const& obj, ChatMsg msgtype, int32 textId, uint32 language, uint64 targetGUID)
- : i_object(obj), i_msgtype(msgtype), i_textId(textId), i_language(language), i_targetGUID(targetGUID) {}
+ : i_object(obj), i_msgtype(msgtype), i_textId(textId), i_language(language), i_targetGUID(targetGUID) { }
void operator()(WorldPacket& data, LocaleConstant loc_idx)
{
char const* text = sObjectMgr->GetTrinityString(i_textId, loc_idx);
@@ -1904,7 +1902,7 @@ namespace Trinity
{
public:
MonsterCustomChatBuilder(WorldObject const& obj, ChatMsg msgtype, const char* text, uint32 language, uint64 targetGUID)
- : i_object(obj), i_msgtype(msgtype), i_text(text), i_language(language), i_targetGUID(targetGUID) {}
+ : i_object(obj), i_msgtype(msgtype), i_text(text), i_language(language), i_targetGUID(targetGUID) { }
void operator()(WorldPacket& data, LocaleConstant loc_idx)
{
/// @todo i_object.GetName() also must be localized?
@@ -2428,10 +2426,10 @@ namespace Trinity
{
public:
NearUsedPosDo(WorldObject const& obj, WorldObject const* searcher, float angle, ObjectPosSelector& selector)
- : i_object(obj), i_searcher(searcher), i_angle(angle), i_selector(selector) {}
+ : i_object(obj), i_searcher(searcher), i_angle(angle), i_selector(selector) { }
- void operator()(Corpse*) const {}
- void operator()(DynamicObject*) const {}
+ void operator()(Corpse*) const { }
+ void operator()(DynamicObject*) const { }
void operator()(Creature* c) const
{
@@ -2675,7 +2673,8 @@ void WorldObject::MovePosition(Position &pos, float dist, float angle)
// Prevent invalid coordinates here, position is unchanged
if (!Trinity::IsValidMapCoord(destx, desty, pos.m_positionZ))
{
- TC_LOG_FATAL(LOG_FILTER_GENERAL, "WorldObject::MovePosition invalid coordinates X: %f and Y: %f were passed!", destx, desty);
+ TC_LOG_FATAL(LOG_FILTER_GENERAL, "WorldObject::MovePosition: Object (TypeId: %u Entry: %u GUID: %u) has invalid coordinates X: %f and Y: %f were passed!",
+ GetTypeId(), GetEntry(), GetGUIDLow(), destx, desty);
return;
}
@@ -2851,7 +2850,7 @@ struct WorldObjectChangeAccumulator
UpdateDataMapType& i_updateDatas;
WorldObject& i_object;
std::set<uint64> plr_list;
- WorldObjectChangeAccumulator(WorldObject &obj, UpdateDataMapType &d) : i_updateDatas(d), i_object(obj) {}
+ WorldObjectChangeAccumulator(WorldObject &obj, UpdateDataMapType &d) : i_updateDatas(d), i_object(obj) { }
void Visit(PlayerMapType &m)
{
Player* source = NULL;
@@ -2913,7 +2912,7 @@ struct WorldObjectChangeAccumulator
}
}
- template<class SKIP> void Visit(GridRefManager<SKIP> &) {}
+ template<class SKIP> void Visit(GridRefManager<SKIP> &) { }
};
void WorldObject::BuildUpdate(UpdateDataMapType& data_map)
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 66b3a737e0c..f03b95d0cc7 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -200,7 +200,7 @@ class Object
virtual bool hasQuest(uint32 /* quest_id */) const { return false; }
virtual bool hasInvolvedQuest(uint32 /* quest_id */) const { return false; }
- virtual void BuildUpdate(UpdateDataMapType&) {}
+ virtual void BuildUpdate(UpdateDataMapType&) { }
void BuildFieldsUpdate(Player*, UpdateDataMapType &) const;
void SetFieldNotifyFlag(uint16 flag) { _fieldNotifyFlags |= flag; }
@@ -275,13 +275,13 @@ struct Position
{
struct PositionXYZStreamer
{
- explicit PositionXYZStreamer(Position& pos) : m_pos(&pos) {}
+ explicit PositionXYZStreamer(Position& pos) : m_pos(&pos) { }
Position* m_pos;
};
struct PositionXYZOStreamer
{
- explicit PositionXYZOStreamer(Position& pos) : m_pos(&pos) {}
+ explicit PositionXYZOStreamer(Position& pos) : m_pos(&pos) { }
Position* m_pos;
};
@@ -523,6 +523,35 @@ class FlaggedValuesArray32
T_FLAGS m_flags;
};
+enum MapObjectCellMoveState
+{
+ MAP_OBJECT_CELL_MOVE_NONE, //not in move list
+ MAP_OBJECT_CELL_MOVE_ACTIVE, //in move list
+ MAP_OBJECT_CELL_MOVE_INACTIVE, //in move list but should not move
+};
+
+class MapObject
+{
+ friend class Map; //map for moving creatures
+ friend class ObjectGridLoader; //grid loader for loading creatures
+
+ protected:
+ MapObject() : _moveState(MAP_OBJECT_CELL_MOVE_NONE) { }
+
+ private:
+ Cell _currentCell;
+ Cell const& GetCurrentCell() const { return _currentCell; }
+ void SetCurrentCell(Cell const& cell) { _currentCell = cell; }
+
+ MapObjectCellMoveState _moveState;
+ Position _newPosition;
+ void SetNewCellPosition(float x, float y, float z, float o)
+ {
+ _moveState = MAP_OBJECT_CELL_MOVE_ACTIVE;
+ _newPosition.Relocate(x, y, z, o);
+ }
+};
+
class WorldObject : public Object, public WorldLocation
{
protected:
@@ -621,7 +650,7 @@ class WorldObject : public Object, public WorldLocation
void SendObjectDeSpawnAnim(uint64 guid);
- virtual void SaveRespawnTime() {}
+ virtual void SaveRespawnTime() { }
void AddObjectToRemoveList();
float GetGridActivationRange() const;
@@ -700,16 +729,22 @@ class WorldObject : public Object, public WorldLocation
// Transports
Transport* GetTransport() const { return m_transport; }
- virtual float GetTransOffsetX() const { return 0; }
- virtual float GetTransOffsetY() const { return 0; }
- virtual float GetTransOffsetZ() const { return 0; }
- virtual float GetTransOffsetO() const { return 0; }
- virtual uint32 GetTransTime() const { return 0; }
- virtual int8 GetTransSeat() const { return -1; }
+ float GetTransOffsetX() const { return m_movementInfo.transport.pos.GetPositionX(); }
+ float GetTransOffsetY() const { return m_movementInfo.transport.pos.GetPositionY(); }
+ float GetTransOffsetZ() const { return m_movementInfo.transport.pos.GetPositionZ(); }
+ float GetTransOffsetO() const { return m_movementInfo.transport.pos.GetOrientation(); }
+ uint32 GetTransTime() const { return m_movementInfo.transport.time; }
+ int8 GetTransSeat() const { return m_movementInfo.transport.seat; }
virtual uint64 GetTransGUID() const;
void SetTransport(Transport* t) { m_transport = t; }
MovementInfo m_movementInfo;
+
+ virtual float GetStationaryX() const { return GetPositionX(); }
+ virtual float GetStationaryY() const { return GetPositionY(); }
+ virtual float GetStationaryZ() const { return GetPositionZ(); }
+ virtual float GetStationaryO() const { return GetOrientation(); }
+
protected:
std::string m_name;
bool m_isActive;
@@ -739,7 +774,6 @@ class WorldObject : public Object, public WorldLocation
uint16 m_notifyflags;
uint16 m_executed_notifies;
-
virtual bool _IsWithinDist(WorldObject const* obj, float dist2compare, bool is3D) const;
bool CanNeverSee(WorldObject const* obj) const;
@@ -755,7 +789,7 @@ namespace Trinity
class ObjectDistanceOrderPred
{
public:
- ObjectDistanceOrderPred(WorldObject const* pRefObj, bool ascending = true) : m_refObj(pRefObj), m_ascending(ascending) {}
+ ObjectDistanceOrderPred(WorldObject const* pRefObj, bool ascending = true) : m_refObj(pRefObj), m_ascending(ascending) { }
bool operator()(WorldObject const* pLeft, WorldObject const* pRight) const
{
return m_ascending ? m_refObj->GetDistanceOrder(pLeft, pRight) : !m_refObj->GetDistanceOrder(pLeft, pRight);
diff --git a/src/server/game/Entities/Object/ObjectPosSelector.h b/src/server/game/Entities/Object/ObjectPosSelector.h
index d381fb5627e..d3f43654969 100644
--- a/src/server/game/Entities/Object/ObjectPosSelector.h
+++ b/src/server/game/Entities/Object/ObjectPosSelector.h
@@ -34,7 +34,7 @@ struct ObjectPosSelector
{
struct UsedPos
{
- UsedPos(float sign_, float size_, float dist_) : sign(sign_), size(size_), dist(dist_) {}
+ UsedPos(float sign_, float size_, float dist_) : sign(sign_), size(size_), dist(dist_) { }
float sign;
diff --git a/src/server/game/Entities/Object/Updates/UpdateData.cpp b/src/server/game/Entities/Object/Updates/UpdateData.cpp
index ba4a4070e63..acf1e12b11b 100644
--- a/src/server/game/Entities/Object/Updates/UpdateData.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateData.cpp
@@ -25,9 +25,7 @@
#include "World.h"
#include "zlib.h"
-UpdateData::UpdateData() : m_blockCount(0)
-{
-}
+UpdateData::UpdateData() : m_blockCount(0) { }
void UpdateData::AddOutOfRangeGUID(std::set<uint64>& guids)
{
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 9758564c8f2..dfe658a30d3 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -2056,7 +2056,7 @@ void Pet::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
}
// Not send cooldown for this spells
- if (spellInfo->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (spellInfo->IsCooldownStartedOnEvent())
continue;
if (spellInfo->PreventionType != SPELL_PREVENTION_TYPE_SILENCE)
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9ada25b1c81..ea18a9836a7 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -923,9 +923,6 @@ void Player::CleanupsBeforeDelete(bool finalCleanup)
Unit::CleanupsBeforeDelete(finalCleanup);
- if (m_transport)
- m_transport->RemovePassenger(this);
-
// clean up player-instance binds, may unload some instance saves
for (uint8 i = 0; i < MAX_DIFFICULTY; ++i)
for (BoundInstancesMap::iterator itr = m_boundInstances[i].begin(); itr != m_boundInstances[i].end(); ++itr)
@@ -2181,8 +2178,26 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
if (!(options & TELE_TO_NOT_LEAVE_COMBAT))
CombatStop();
+ // new final coordinates
+ float final_x = x;
+ float final_y = y;
+ float final_z = z;
+ float final_o = orientation;
+
+ // Calculate final positions if on transport
+ if (m_transport)
+ {
+ float tx, ty, tz, to;
+ m_movementInfo.transport.pos.GetPosition(tx, ty, tz, to);
+
+ final_x = x + tx * std::cos(orientation) - ty * std::sin(orientation);
+ final_y = y + ty * std::cos(orientation) + tx * std::sin(orientation);
+ final_z = z + tz;
+ final_o = Position::NormalizeOrientation(orientation + m_movementInfo.transport.pos.GetOrientation());
+ }
+
// this will be used instead of the current location in SaveToDB
- m_teleport_dest = WorldLocation(mapid, x, y, z, orientation);
+ m_teleport_dest = WorldLocation(mapid, final_x, final_y, final_z, final_o);
SetFallInformation(0, z);
// code for finish transfer called in WorldSession::HandleMovementOpcodes()
@@ -2193,7 +2208,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
{
Position oldPos;
GetPosition(&oldPos);
- Relocate(x, y, z, orientation);
+ Relocate(final_x, final_y, final_z, final_o);
SendTeleportAckPacket();
SendTeleportPacket(oldPos); // this automatically relocates to oldPos in order to broadcast the packet in the right place
}
@@ -2295,16 +2310,20 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
float final_z = z;
float final_o = orientation;
+ // Calculate final positions if on transport
if (m_transport)
{
- final_x += m_movementInfo.transport.pos.GetPositionX();
- final_y += m_movementInfo.transport.pos.GetPositionY();
- final_z += m_movementInfo.transport.pos.GetPositionZ();
- final_o += m_movementInfo.transport.pos.GetOrientation();
+ float tx, ty, tz, to;
+ m_movementInfo.transport.pos.GetPosition(tx, ty, tz, to);
+
+ final_x = x + tx * std::cos(orientation) - ty * std::sin(orientation);
+ final_y = y + ty * std::cos(orientation) + tx * std::sin(orientation);
+ final_z = z + tz;
+ final_o = Position::NormalizeOrientation(orientation + m_movementInfo.transport.pos.GetOrientation());
}
m_teleport_dest = WorldLocation(mapid, final_x, final_y, final_z, final_o);
- SetFallInformation(0, final_z);
+ SetFallInformation(0, z);
// if the player is saved before worldportack (at logout for example)
// this will be used instead of the current location in SaveToDB
@@ -3365,7 +3384,7 @@ void Player::SendInitialSpells()
data << uint32(itr->first);
data << uint16(itr->second.itemid); // cast item id
- data << uint16(sEntry->Category); // spell category
+ data << uint16(sEntry->GetCategory()); // spell category
// send infinity cooldown in special format
if (itr->second.end >= infTime)
@@ -3377,7 +3396,7 @@ void Player::SendInitialSpells()
time_t cooldown = itr->second.end > curTime ? (itr->second.end-curTime)*IN_MILLISECONDS : 0;
- if (sEntry->Category) // may be wrong, but anyway better than nothing...
+ if (sEntry->GetCategory()) // may be wrong, but anyway better than nothing...
{
data << uint32(0); // cooldown
data << uint32(cooldown); // category cooldown
@@ -4240,16 +4259,16 @@ void Player::RemoveSpellCooldown(uint32 spell_id, bool update /* = false */)
// I am not sure which one is more efficient
void Player::RemoveCategoryCooldown(uint32 cat)
{
- SpellCategoryStore::const_iterator i_scstore = sSpellCategoryStore.find(cat);
- if (i_scstore != sSpellCategoryStore.end())
+ SpellCategoryStore::const_iterator i_scstore = sSpellsByCategoryStore.find(cat);
+ if (i_scstore != sSpellsByCategoryStore.end())
for (SpellCategorySet::const_iterator i_scset = i_scstore->second.begin(); i_scset != i_scstore->second.end(); ++i_scset)
RemoveSpellCooldown(*i_scset, true);
}
void Player::RemoveSpellCategoryCooldown(uint32 cat, bool update /* = false */)
{
- SpellCategoryStore::const_iterator ct = sSpellCategoryStore.find(cat);
- if (ct == sSpellCategoryStore.end())
+ SpellCategoryStore::const_iterator ct = sSpellsByCategoryStore.find(cat);
+ if (ct == sSpellsByCategoryStore.end())
return;
const SpellCategorySet& ct_set = ct->second;
@@ -6196,7 +6215,7 @@ bool Player::UpdateFishingSkill()
// levels sync. with spell requirement for skill levels to learn
// bonus abilities in sSkillLineAbilityStore
// Used only to avoid scan DBC at each skill grow
-static uint32 bonusSkillLevels[] = {75, 150, 225, 300, 375, 450};
+static uint32 bonusSkillLevels[ ] = {75, 150, 225, 300, 375, 450};
static const size_t bonusSkillLevelsSize = sizeof(bonusSkillLevels) / sizeof(uint32);
bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step)
@@ -15459,9 +15478,6 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg)
// can be start if only all quests in prev quest exclusive group completed and rewarded
ObjectMgr::ExclusiveQuestGroupsBounds range(sObjectMgr->mExclusiveQuestGroups.equal_range(qPrevInfo->GetExclusiveGroup()));
- // always must be found if qPrevInfo->ExclusiveGroup != 0
- ASSERT(range.first != range.second);
-
for (; range.first != range.second; ++range.first)
{
uint32 exclude_Id = range.first->second;
@@ -15495,9 +15511,6 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg)
// can be start if only all quests in prev quest exclusive group active
ObjectMgr::ExclusiveQuestGroupsBounds range(sObjectMgr->mExclusiveQuestGroups.equal_range(qPrevInfo->GetExclusiveGroup()));
- // always must be found if qPrevInfo->ExclusiveGroup != 0
- ASSERT(range.first != range.second);
-
for (; range.first != range.second; ++range.first)
{
uint32 exclude_Id = range.first->second;
@@ -15665,9 +15678,6 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg)
ObjectMgr::ExclusiveQuestGroupsBounds range(sObjectMgr->mExclusiveQuestGroups.equal_range(qInfo->GetExclusiveGroup()));
- // always must be found if qInfo->ExclusiveGroup != 0
- ASSERT(range.first != range.second);
-
for (; range.first != range.second; ++range.first)
{
uint32 exclude_Id = range.first->second;
@@ -17182,17 +17192,15 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
}
else
{
- for (MapManager::TransportSet::iterator iter = sMapMgr->m_Transports.begin(); iter != sMapMgr->m_Transports.end(); ++iter)
+ if (GameObject* go = HashMapHolder<GameObject>::Find(m_movementInfo.transport.guid))
+ m_transport = go->ToTransport();
+
+ if (m_transport)
{
- if ((*iter)->GetGUIDLow() == transGUID)
- {
- m_transport = *iter;
- m_transport->AddPassenger(this);
- mapId = (m_transport->GetMapId());
- break;
- }
+ m_transport->AddPassenger(this);
+ mapId = m_transport->GetMapId();
}
- if (!m_transport)
+ else
{
TC_LOG_ERROR(LOG_FILTER_PLAYER, "Player (guidlow %d) have problems with transport guid (%u). Teleport to bind location.",
guid, transGUID);
@@ -20425,13 +20433,13 @@ void Player::PetSpellInitialize()
time_t cooldown = (itr->second > curTime) ? (itr->second - curTime) * IN_MILLISECONDS : 0;
data << uint32(itr->first); // spell ID
- CreatureSpellCooldowns::const_iterator categoryitr = pet->m_CreatureCategoryCooldowns.find(spellInfo->Category);
+ CreatureSpellCooldowns::const_iterator categoryitr = pet->m_CreatureCategoryCooldowns.find(spellInfo->GetCategory());
if (categoryitr != pet->m_CreatureCategoryCooldowns.end())
{
time_t categoryCooldown = (categoryitr->second > curTime) ? (categoryitr->second - curTime) * IN_MILLISECONDS : 0;
- data << uint16(spellInfo->Category); // spell category
- data << uint32(cooldown); // spell cooldown
- data << uint32(categoryCooldown); // category cooldown
+ data << uint16(spellInfo->GetCategory()); // spell category
+ data << uint32(cooldown); // spell cooldown
+ data << uint32(categoryCooldown); // category cooldown
}
else
{
@@ -20538,13 +20546,13 @@ void Player::VehicleSpellInitialize()
time_t cooldown = (itr->second > now) ? (itr->second - now) * IN_MILLISECONDS : 0;
data << uint32(itr->first); // spell ID
- CreatureSpellCooldowns::const_iterator categoryitr = vehicle->m_CreatureCategoryCooldowns.find(spellInfo->Category);
+ CreatureSpellCooldowns::const_iterator categoryitr = vehicle->m_CreatureCategoryCooldowns.find(spellInfo->GetCategory());
if (categoryitr != vehicle->m_CreatureCategoryCooldowns.end())
{
time_t categoryCooldown = (categoryitr->second > now) ? (categoryitr->second - now) * IN_MILLISECONDS : 0;
- data << uint16(spellInfo->Category); // spell category
- data << uint32(cooldown); // spell cooldown
- data << uint32(categoryCooldown); // category cooldown
+ data << uint16(spellInfo->GetCategory()); // spell category
+ data << uint32(cooldown); // spell cooldown
+ data << uint32(categoryCooldown); // category cooldown
}
else
{
@@ -21212,7 +21220,7 @@ void Player::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
}
// Not send cooldown for this spells
- if (spellInfo->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (spellInfo->IsCooldownStartedOnEvent())
continue;
if (spellInfo->PreventionType != SPELL_PREVENTION_TYPE_SILENCE)
@@ -21675,7 +21683,7 @@ void Player::AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 ite
// if no cooldown found above then base at DBC data
if (rec < 0 && catrec < 0)
{
- cat = spellInfo->Category;
+ cat = spellInfo->GetCategory();
rec = spellInfo->RecoveryTime;
catrec = spellInfo->CategoryRecoveryTime;
}
@@ -21726,8 +21734,8 @@ void Player::AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 ite
// category spells
if (cat && catrec > 0)
{
- SpellCategoryStore::const_iterator i_scstore = sSpellCategoryStore.find(cat);
- if (i_scstore != sSpellCategoryStore.end())
+ SpellCategoryStore::const_iterator i_scstore = sSpellsByCategoryStore.find(cat);
+ if (i_scstore != sSpellsByCategoryStore.end())
{
for (SpellCategorySet::const_iterator i_scset = i_scstore->second.begin(); i_scset != i_scstore->second.end(); ++i_scset)
{
@@ -22165,7 +22173,7 @@ inline void UpdateVisibilityOf_helper(std::set<uint64>& s64, T* target, std::set
template<>
inline void UpdateVisibilityOf_helper(std::set<uint64>& s64, GameObject* target, std::set<Unit*>& /*v*/)
{
- // Don't update only GAMEOBJECT_TYPE_TRANSPORT (or all transports and destructible buildings?)
+ // @HACK: This is to prevent objects like deeprun tram from disappearing when player moves far from its spawn point while riding it
if ((target->GetGOInfo()->type != GAMEOBJECT_TYPE_TRANSPORT))
s64.insert(target->GetGUID());
}
@@ -22185,9 +22193,7 @@ inline void UpdateVisibilityOf_helper(std::set<uint64>& s64, Player* target, std
}
template<class T>
-inline void BeforeVisibilityDestroy(T* /*t*/, Player* /*p*/)
-{
-}
+inline void BeforeVisibilityDestroy(T* /*t*/, Player* /*p*/) { }
template<>
inline void BeforeVisibilityDestroy<Creature>(Creature* t, Player* p)
@@ -22217,9 +22223,6 @@ void Player::UpdateVisibilityOf(WorldObject* target)
{
if (CanSeeOrDetect(target, false, true))
{
- //if (target->isType(TYPEMASK_UNIT) && ((Unit*)target)->m_Vehicle)
- // UpdateVisibilityOf(((Unit*)target)->m_Vehicle);
-
target->SendUpdateToPlayer(this);
m_clientGUIDs.insert(target->GetGUID());
@@ -22308,9 +22311,6 @@ void Player::UpdateVisibilityOf(T* target, UpdateData& data, std::set<Unit*>& vi
{
if (CanSeeOrDetect(target, false, true))
{
- //if (target->isType(TYPEMASK_UNIT) && ((Unit*)target)->m_Vehicle)
- // UpdateVisibilityOf(((Unit*)target)->m_Vehicle, data, visibleNow);
-
target->BuildCreateUpdateBlockForPlayer(&data, this);
UpdateVisibilityOf_helper(m_clientGUIDs, target, visibleNow);
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index fee542a752e..35a3f5f10d4 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -111,7 +111,7 @@ struct PlayerTalent
// Spell modifier (used for modify other spells)
struct SpellModifier
{
- SpellModifier(Aura* _ownerAura = NULL) : op(SPELLMOD_DAMAGE), type(SPELLMOD_FLAT), charges(0), value(0), mask(), spellId(0), ownerAura(_ownerAura) {}
+ SpellModifier(Aura* _ownerAura = NULL) : op(SPELLMOD_DAMAGE), type(SPELLMOD_FLAT), charges(0), value(0), mask(), spellId(0), ownerAura(_ownerAura) { }
SpellModOp op : 8;
SpellModType type : 8;
int16 charges : 16;
@@ -179,7 +179,7 @@ enum ReputationSource
struct ActionButton
{
- ActionButton() : packedData(0), uState(ACTIONBUTTON_NEW) {}
+ ActionButton() : packedData(0), uState(ACTIONBUTTON_NEW) { }
uint32 packedData;
ActionButtonUpdateState uState;
@@ -205,7 +205,7 @@ typedef std::map<uint8, ActionButton> ActionButtonList;
struct PlayerCreateInfoItem
{
- PlayerCreateInfoItem(uint32 id, uint32 amount) : item_id(id), item_amount(amount) {}
+ PlayerCreateInfoItem(uint32 id, uint32 amount) : item_id(id), item_amount(amount) { }
uint32 item_id;
uint32 item_amount;
@@ -215,7 +215,7 @@ typedef std::list<PlayerCreateInfoItem> PlayerCreateInfoItems;
struct PlayerClassLevelInfo
{
- PlayerClassLevelInfo() : basehealth(0), basemana(0) {}
+ PlayerClassLevelInfo() : basehealth(0), basemana(0) { }
uint16 basehealth;
uint16 basemana;
};
@@ -238,8 +238,8 @@ typedef std::list<uint32> PlayerCreateInfoSpells;
struct PlayerCreateInfoAction
{
- PlayerCreateInfoAction() : button(0), type(0), action(0) {}
- PlayerCreateInfoAction(uint8 _button, uint32 _action, uint8 _type) : button(_button), type(_type), action(_action) {}
+ PlayerCreateInfoAction() : button(0), type(0), action(0) { }
+ PlayerCreateInfoAction(uint8 _button, uint32 _action, uint8 _type) : button(_button), type(_type), action(_action) { }
uint8 button;
uint8 type;
@@ -270,7 +270,7 @@ struct PlayerInfo
struct PvPInfo
{
- PvPInfo() : IsHostile(false), IsInHostileArea(false), IsInNoPvPArea(false), IsInFFAPvPArea(false), EndTimer(0) {}
+ PvPInfo() : IsHostile(false), IsInHostileArea(false), IsInNoPvPArea(false), IsInFFAPvPArea(false), EndTimer(0) { }
bool IsHostile;
bool IsInHostileArea; ///> Marks if player is in an area which forces PvP flag
@@ -281,7 +281,7 @@ struct PvPInfo
struct DuelInfo
{
- DuelInfo() : initiator(NULL), opponent(NULL), startTimer(0), startTime(0), outOfBound(0), isMounted(false) {}
+ DuelInfo() : initiator(NULL), opponent(NULL), startTimer(0), startTime(0), outOfBound(0), isMounted(false) { }
Player* initiator;
Player* opponent;
@@ -343,7 +343,7 @@ struct Runes
struct EnchantDuration
{
- EnchantDuration() : item(NULL), slot(MAX_ENCHANTMENT_SLOT), leftduration(0) {};
+ EnchantDuration() : item(NULL), slot(MAX_ENCHANTMENT_SLOT), leftduration(0) { };
EnchantDuration(Item* _item, EnchantmentSlot _slot, uint32 _leftduration) : item(_item), slot(_slot),
leftduration(_leftduration){ ASSERT(item); };
@@ -667,7 +667,7 @@ typedef std::map<uint32, EquipmentSet> EquipmentSets;
struct ItemPosCount
{
- ItemPosCount(uint16 _pos, uint32 _count) : pos(_pos), count(_count) {}
+ ItemPosCount(uint16 _pos, uint32 _count) : pos(_pos), count(_count) { }
bool isContainedIn(std::vector<ItemPosCount> const& vec) const;
uint16 pos;
uint32 count;
@@ -833,7 +833,7 @@ struct InstancePlayerBind
/* permanent PlayerInstanceBinds are created in Raid/Heroic instances for players
that aren't already permanently bound when they are inside when a boss is killed
or when they enter an instance that the group leader is permanently bound to. */
- InstancePlayerBind() : save(NULL), perm(false) {}
+ InstancePlayerBind() : save(NULL), perm(false) { }
};
struct AccessRequirement
@@ -900,7 +900,7 @@ class PlayerTaxi
{
public:
PlayerTaxi();
- ~PlayerTaxi() {}
+ ~PlayerTaxi() { }
// Nodes
void InitTaxiNodesForLevel(uint32 race, uint32 chrClass, uint8 level);
void LoadTaxiMask(std::string const& data);
diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp
index 8b37fef9500..6416455ebb6 100644
--- a/src/server/game/Entities/Player/SocialMgr.cpp
+++ b/src/server/game/Entities/Player/SocialMgr.cpp
@@ -191,13 +191,9 @@ bool PlayerSocial::HasIgnore(uint32 ignore_guid)
return false;
}
-SocialMgr::SocialMgr()
-{
-}
+SocialMgr::SocialMgr() { }
-SocialMgr::~SocialMgr()
-{
-}
+SocialMgr::~SocialMgr() { }
void SocialMgr::GetFriendInfo(Player* player, uint32 friendGUID, FriendInfo &friendInfo)
{
diff --git a/src/server/game/Entities/Totem/Totem.h b/src/server/game/Entities/Totem/Totem.h
index 565d13cd0d0..48cb71c4918 100644
--- a/src/server/game/Entities/Totem/Totem.h
+++ b/src/server/game/Entities/Totem/Totem.h
@@ -36,7 +36,7 @@ class Totem : public Minion
{
public:
Totem(SummonPropertiesEntry const* properties, Unit* owner);
- virtual ~Totem() {}
+ virtual ~Totem() { }
void Update(uint32 time);
void InitStats(uint32 duration);
void InitSummon();
@@ -48,12 +48,12 @@ class Totem : public Minion
bool UpdateStats(Stats /*stat*/) { return true; }
bool UpdateAllStats() { return true; }
- void UpdateResistances(uint32 /*school*/) {}
- void UpdateArmor() {}
- void UpdateMaxHealth() {}
- void UpdateMaxPower(Powers /*power*/) {}
- void UpdateAttackPowerAndDamage(bool /*ranged*/) {}
- void UpdateDamagePhysical(WeaponAttackType /*attType*/) {}
+ void UpdateResistances(uint32 /*school*/) { }
+ void UpdateArmor() { }
+ void UpdateMaxHealth() { }
+ void UpdateMaxPower(Powers /*power*/) { }
+ void UpdateAttackPowerAndDamage(bool /*ranged*/) { }
+ void UpdateDamagePhysical(WeaponAttackType /*attType*/) { }
bool IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const;
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp
index 23197b40ad0..ea8aae2af8c 100644
--- a/src/server/game/Entities/Transport/Transport.cpp
+++ b/src/server/game/Entities/Transport/Transport.cpp
@@ -26,166 +26,27 @@
#include "DBCStores.h"
#include "World.h"
#include "GameObjectAI.h"
+#include "Vehicle.h"
+#include "MapReference.h"
#include "Player.h"
+#include "Cell.h"
+#include "CellImpl.h"
-void MapManager::LoadTransports()
+Transport::Transport() : GameObject(),
+ _transportInfo(NULL), _isMoving(true), _pendingStop(false)
{
- uint32 oldMSTime = getMSTime();
-
- QueryResult result = WorldDatabase.Query("SELECT guid, entry, name, period, ScriptName FROM transports");
-
- if (!result)
- {
- TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 transports. DB table `transports` is empty!");
- return;
- }
-
- uint32 count = 0;
-
- do
- {
-
- Field* fields = result->Fetch();
- uint32 lowguid = fields[0].GetUInt32();
- uint32 entry = fields[1].GetUInt32();
- std::string name = fields[2].GetString();
- uint32 period = fields[3].GetUInt32();
- uint32 scriptId = sObjectMgr->GetScriptId(fields[4].GetCString());
-
- GameObjectTemplate const* goinfo = sObjectMgr->GetGameObjectTemplate(entry);
-
- if (!goinfo)
- {
- TC_LOG_ERROR(LOG_FILTER_SQL, "Transport ID:%u, Name: %s, will not be loaded, gameobject_template missing", entry, name.c_str());
- continue;
- }
-
- if (goinfo->type != GAMEOBJECT_TYPE_MO_TRANSPORT)
- {
- TC_LOG_ERROR(LOG_FILTER_SQL, "Transport ID:%u, Name: %s, will not be loaded, gameobject_template type wrong", entry, name.c_str());
- continue;
- }
-
- // TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading transport %d between %s, %s", entry, name.c_str(), goinfo->name);
-
- std::set<uint32> mapsUsed;
-
- Transport* t = new Transport(period, scriptId);
- if (!t->GenerateWaypoints(goinfo->moTransport.taxiPathId, mapsUsed))
- // skip transports with empty waypoints list
- {
- TC_LOG_ERROR(LOG_FILTER_SQL, "Transport (path id %u) path size = 0. Transport ignored, check DBC files or transport GO data0 field.", goinfo->moTransport.taxiPathId);
- delete t;
- continue;
- }
-
- float x = t->m_WayPoints[0].x;
- float y = t->m_WayPoints[0].y;
- float z = t->m_WayPoints[0].z;
- uint32 mapid = t->m_WayPoints[0].mapid;
- float o = 1.0f;
-
- // creates the Gameobject
- if (!t->Create(lowguid, entry, mapid, x, y, z, o, 255, 0))
- {
- delete t;
- continue;
- }
-
- m_Transports.insert(t);
-
- for (std::set<uint32>::const_iterator i = mapsUsed.begin(); i != mapsUsed.end(); ++i)
- m_TransportsByMap[*i].insert(t);
-
- //If we someday decide to use the grid to track transports, here:
- t->SetMap(sMapMgr->CreateBaseMap(mapid));
- t->AddToWorld();
-
- ++count;
- }
- while (result->NextRow());
-
- // check transport data DB integrity
- result = WorldDatabase.Query("SELECT gameobject.guid, gameobject.id, transports.name FROM gameobject, transports WHERE gameobject.id = transports.entry");
- if (result) // wrong data found
- {
- do
- {
- Field* fields = result->Fetch();
-
- uint32 guid = fields[0].GetUInt32();
- uint32 entry = fields[1].GetUInt32();
- std::string name = fields[2].GetString();
- TC_LOG_ERROR(LOG_FILTER_SQL, "Transport %u '%s' have record (GUID: %u) in `gameobject`. Transports must not have any records in `gameobject` or its behavior will be unpredictable/bugged.", entry, name.c_str(), guid);
- }
- while (result->NextRow());
- }
-
- TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u transports in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
-}
-
-void MapManager::LoadTransportNPCs()
-{
- uint32 oldMSTime = getMSTime();
-
- // 0 1 2 3 4 5 6 7
- QueryResult result = WorldDatabase.Query("SELECT guid, npc_entry, transport_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO, emote FROM creature_transport");
-
- if (!result)
- {
- TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 transport NPCs. DB table `creature_transport` is empty!");
- return;
- }
-
- uint32 count = 0;
-
- do
- {
- Field* fields = result->Fetch();
- uint32 guid = fields[0].GetInt32();
- uint32 entry = fields[1].GetInt32();
- uint32 transportEntry = fields[2].GetInt32();
- float tX = fields[3].GetFloat();
- float tY = fields[4].GetFloat();
- float tZ = fields[5].GetFloat();
- float tO = fields[6].GetFloat();
- uint32 anim = fields[7].GetInt32();
-
- for (MapManager::TransportSet::iterator itr = m_Transports.begin(); itr != m_Transports.end(); ++itr)
- {
- if ((*itr)->GetEntry() == transportEntry)
- {
- (*itr)->AddNPCPassenger(guid, entry, tX, tY, tZ, tO, anim);
- break;
- }
- }
-
- ++count;
- }
- while (result->NextRow());
-
- TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u transport npcs in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
-}
-
-Transport::Transport(uint32 period, uint32 script) : GameObject(), m_pathTime(0), m_timer(0),
-currenttguid(0), m_period(period), ScriptId(script), m_nextNodeTime(0)
-{
- m_updateFlag = (UPDATEFLAG_TRANSPORT | UPDATEFLAG_LOWGUID | UPDATEFLAG_STATIONARY_POSITION | UPDATEFLAG_ROTATION);
+ m_updateFlag = UPDATEFLAG_TRANSPORT | UPDATEFLAG_LOWGUID | UPDATEFLAG_STATIONARY_POSITION | UPDATEFLAG_ROTATION;
}
Transport::~Transport()
{
- for (CreatureSet::iterator itr = m_NPCPassengerSet.begin(); itr != m_NPCPassengerSet.end(); ++itr)
- {
- (*itr)->SetTransport(NULL);
- GetMap()->AddObjectToRemoveList(*itr);
- }
+ ASSERT(_passengers.empty());
+ UnloadStaticPassengers();
}
-bool Transport::Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, float y, float z, float ang, uint32 animprogress, uint32 dynflags)
+bool Transport::Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, float y, float z, float ang, uint32 animprogress)
{
Relocate(x, y, z, ang);
- // instance id and phaseMask isn't set to values different from std.
if (!IsPositionValid())
{
@@ -206,520 +67,506 @@ bool Transport::Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, floa
m_goInfo = goinfo;
- SetObjectScale(goinfo->size);
+ TransportTemplate const* tInfo = sTransportMgr->GetTransportTemplate(entry);
+ if (!tInfo)
+ {
+ TC_LOG_ERROR(LOG_FILTER_SQL, "Transport %u (name: %s) will not be created, missing `transport_template` entry.", entry, goinfo->name.c_str());
+ return false;
+ }
+
+ _transportInfo = tInfo;
+ // initialize waypoints
+ _nextFrame = tInfo->keyFrames.begin();
+ _currentFrame = _nextFrame++;
+ _triggeredArrivalEvent = false;
+ _triggeredDepartureEvent = false;
+
+ m_goValue.Transport.PathProgress = 0;
+ SetFloatValue(OBJECT_FIELD_SCALE_X, goinfo->size);
SetUInt32Value(GAMEOBJECT_FACTION, goinfo->faction);
SetUInt32Value(GAMEOBJECT_FLAGS, goinfo->flags);
- SetUInt32Value(GAMEOBJECT_LEVEL, m_period);
+ SetPeriod(tInfo->pathTime);
SetEntry(goinfo->entry);
-
SetDisplayId(goinfo->displayId);
-
SetGoState(GO_STATE_READY);
- SetGoType(GameobjectTypes(goinfo->type));
-
+ _pendingStop = goinfo->moTransport.canBeStopped != 0;
+ SetGoType(GAMEOBJECT_TYPE_MO_TRANSPORT);
SetGoAnimProgress(animprogress);
- if (dynflags)
- SetUInt32Value(GAMEOBJECT_DYNAMIC, MAKE_PAIR32(0, dynflags));
-
SetName(goinfo->name);
-
- SetZoneScript();
-
+ UpdateRotationFields(0.0f, 1.0f);
return true;
}
-struct keyFrame
+void Transport::Update(uint32 diff)
{
- explicit keyFrame(TaxiPathNodeEntry const& _node) : node(&_node),
- distSinceStop(-1.0f), distUntilStop(-1.0f), distFromPrev(-1.0f), tFrom(0.0f), tTo(0.0f)
- {
- }
+ uint32 const positionUpdateDelay = 200;
- TaxiPathNodeEntry const* node;
+ if (AI())
+ AI()->UpdateAI(diff);
+ else if (!AIM_Initialize())
+ TC_LOG_ERROR(LOG_FILTER_TRANSPORTS, "Could not initialize GameObjectAI for Transport");
- float distSinceStop;
- float distUntilStop;
- float distFromPrev;
- float tFrom, tTo;
-};
+ if (GetKeyFrames().size() <= 1)
+ return;
-bool Transport::GenerateWaypoints(uint32 pathid, std::set<uint32> &mapids)
-{
- if (pathid >= sTaxiPathNodesByPath.size())
- return false;
+ m_goValue.Transport.PathProgress += diff;
- TaxiPathNodeList const& path = sTaxiPathNodesByPath[pathid];
+ uint32 timer = m_goValue.Transport.PathProgress % GetPeriod();
- std::vector<keyFrame> keyFrames;
- int mapChange = 0;
- mapids.clear();
- for (size_t i = 1; i < path.size() - 1; ++i)
+ // Set current waypoint
+ // Desired outcome: _currentFrame->DepartureTime < timer < _nextFrame->ArriveTime
+ // ... arrive | ... delay ... | departure
+ // event / event /
+ for (;;)
{
- if (mapChange == 0)
+ if (timer >= _currentFrame->ArriveTime)
{
- TaxiPathNodeEntry const& node_i = path[i];
- if (node_i.mapid == path[i+1].mapid)
+ if (!_triggeredArrivalEvent)
{
- keyFrame k(node_i);
- keyFrames.push_back(k);
- mapids.insert(k.node->mapid);
+ DoEventIfAny(*_currentFrame, false);
+ _triggeredArrivalEvent = true;
}
- else
+
+ if (timer < _currentFrame->DepartureTime)
{
- mapChange = 1;
+ SetMoving(false);
+ if (_pendingStop)
+ SetGoState(GO_STATE_READY);
+ break; // its a stop frame and we are waiting
}
}
- else
- {
- --mapChange;
- }
- }
-
- int lastStop = -1;
- int firstStop = -1;
- // first cell is arrived at by teleportation :S
- keyFrames[0].distFromPrev = 0;
- if (keyFrames[0].node->actionFlag == 2)
- {
- lastStop = 0;
- }
-
- // find the rest of the distances between key points
- for (size_t i = 1; i < keyFrames.size(); ++i)
- {
- if ((keyFrames[i].node->actionFlag == 1) || (keyFrames[i].node->mapid != keyFrames[i-1].node->mapid))
+ if (_pendingStop && timer >= _currentFrame->DepartureTime && GetGoState() == GO_STATE_READY)
{
- keyFrames[i].distFromPrev = 0;
+ m_goValue.Transport.PathProgress = (m_goValue.Transport.PathProgress / GetPeriod());
+ m_goValue.Transport.PathProgress *= GetPeriod();
+ m_goValue.Transport.PathProgress += _currentFrame->ArriveTime;
+ break;
}
- else
- {
- keyFrames[i].distFromPrev =
- sqrt(pow(keyFrames[i].node->x - keyFrames[i - 1].node->x, 2) +
- pow(keyFrames[i].node->y - keyFrames[i - 1].node->y, 2) +
- pow(keyFrames[i].node->z - keyFrames[i - 1].node->z, 2));
- }
- if (keyFrames[i].node->actionFlag == 2)
+
+ if (timer >= _currentFrame->DepartureTime && !_triggeredDepartureEvent)
{
- // remember first stop frame
- if (firstStop == -1)
- firstStop = i;
- lastStop = i;
+ DoEventIfAny(*_currentFrame, true); // departure event
+ _triggeredDepartureEvent = true;
}
- }
-
- float tmpDist = 0;
- for (size_t i = 0; i < keyFrames.size(); ++i)
- {
- int j = (i + lastStop) % keyFrames.size();
- if (keyFrames[j].node->actionFlag == 2)
- tmpDist = 0;
- else
- tmpDist += keyFrames[j].distFromPrev;
- keyFrames[j].distSinceStop = tmpDist;
- }
- for (int i = int(keyFrames.size()) - 1; i >= 0; i--)
- {
- int j = (i + (firstStop+1)) % keyFrames.size();
- tmpDist += keyFrames[(j + 1) % keyFrames.size()].distFromPrev;
- keyFrames[j].distUntilStop = tmpDist;
- if (keyFrames[j].node->actionFlag == 2)
- tmpDist = 0;
- }
+ if (timer >= _currentFrame->DepartureTime && timer < _currentFrame->NextArriveTime)
+ break; // found current waypoint
- for (size_t i = 0; i < keyFrames.size(); ++i)
- {
- if (keyFrames[i].distSinceStop < (30 * 30 * 0.5f))
- keyFrames[i].tFrom = sqrt(2 * keyFrames[i].distSinceStop);
- else
- keyFrames[i].tFrom = ((keyFrames[i].distSinceStop - (30 * 30 * 0.5f)) / 30) + 30;
+ MoveToNextWaypoint();
- if (keyFrames[i].distUntilStop < (30 * 30 * 0.5f))
- keyFrames[i].tTo = sqrt(2 * keyFrames[i].distUntilStop);
- else
- keyFrames[i].tTo = ((keyFrames[i].distUntilStop - (30 * 30 * 0.5f)) / 30) + 30;
+ // not waiting anymore
+ SetMoving(true);
- keyFrames[i].tFrom *= 1000;
- keyFrames[i].tTo *= 1000;
- }
-
- // for (int i = 0; i < keyFrames.size(); ++i) {
- // TC_LOG_INFO(LOG_FILTER_TRANSPORTS, "%f, %f, %f, %f, %f, %f, %f", keyFrames[i].x, keyFrames[i].y, keyFrames[i].distUntilStop, keyFrames[i].distSinceStop, keyFrames[i].distFromPrev, keyFrames[i].tFrom, keyFrames[i].tTo);
- // }
+ // Enable movement
+ if (GetGOInfo()->moTransport.canBeStopped)
+ SetGoState(GO_STATE_ACTIVE);
- // Now we're completely set up; we can move along the length of each waypoint at 100 ms intervals
- // speed = max(30, t) (remember x = 0.5s^2, and when accelerating, a = 1 unit/s^2
- int t = 0;
- bool teleport = false;
- if (keyFrames[keyFrames.size() - 1].node->mapid != keyFrames[0].node->mapid)
- teleport = true;
+ // Departure event
+ if (_currentFrame->IsTeleportFrame())
+ TeleportTransport(_nextFrame->Node->mapid, _nextFrame->Node->x, _nextFrame->Node->y, _nextFrame->Node->z);
- m_WayPoints[0] = WayPoint(keyFrames[0].node->mapid, keyFrames[0].node->x, keyFrames[0].node->y, keyFrames[0].node->z, teleport, 0,
- keyFrames[0].node->arrivalEventID, keyFrames[0].node->departureEventID);
+ sScriptMgr->OnRelocate(this, _currentFrame->Node->index, _currentFrame->Node->mapid, _currentFrame->Node->x, _currentFrame->Node->y, _currentFrame->Node->z);
- t += keyFrames[0].node->delay * 1000;
+ TC_LOG_DEBUG(LOG_FILTER_TRANSPORTS, "Transport %u (%s) moved to node %u %u %f %f %f", GetEntry(), GetName().c_str(), _currentFrame->Node->index, _currentFrame->Node->mapid, _currentFrame->Node->x, _currentFrame->Node->y, _currentFrame->Node->z);
+ }
- uint32 cM = keyFrames[0].node->mapid;
- for (size_t i = 0; i < keyFrames.size() - 1; ++i)
+ // Set position
+ _positionChangeTimer.Update(diff);
+ if (_positionChangeTimer.Passed())
{
- float d = 0;
- float tFrom = keyFrames[i].tFrom;
- float tTo = keyFrames[i].tTo;
-
- // keep the generation of all these points; we use only a few now, but may need the others later
- if (((d < keyFrames[i + 1].distFromPrev) && (tTo > 0)))
+ _positionChangeTimer.Reset(positionUpdateDelay);
+ if (IsMoving())
{
- while ((d < keyFrames[i + 1].distFromPrev) && (tTo > 0))
- {
- tFrom += 100;
- tTo -= 100;
-
- if (d > 0)
- {
- float newX = keyFrames[i].node->x + (keyFrames[i + 1].node->x - keyFrames[i].node->x) * d / keyFrames[i + 1].distFromPrev;
- float newY = keyFrames[i].node->y + (keyFrames[i + 1].node->y - keyFrames[i].node->y) * d / keyFrames[i + 1].distFromPrev;
- float newZ = keyFrames[i].node->z + (keyFrames[i + 1].node->z - keyFrames[i].node->z) * d / keyFrames[i + 1].distFromPrev;
-
- teleport = false;
- if (keyFrames[i].node->mapid != cM)
- {
- teleport = true;
- cM = keyFrames[i].node->mapid;
- }
-
- // TC_LOG_INFO(LOG_FILTER_TRANSPORTS, "T: %d, D: %f, x: %f, y: %f, z: %f", t, d, newX, newY, newZ);
- if (teleport)
- m_WayPoints[t] = WayPoint(keyFrames[i].node->mapid, newX, newY, newZ, teleport, 0);
- }
-
- if (tFrom < tTo) // caught in tFrom dock's "gravitational pull"
- {
- if (tFrom <= 30000)
- {
- d = 0.5f * (tFrom / 1000) * (tFrom / 1000);
- }
- else
- {
- d = 0.5f * 30 * 30 + 30 * ((tFrom - 30000) / 1000);
- }
- d = d - keyFrames[i].distSinceStop;
- }
- else
- {
- if (tTo <= 30000)
- {
- d = 0.5f * (tTo / 1000) * (tTo / 1000);
- }
- else
- {
- d = 0.5f * 30 * 30 + 30 * ((tTo - 30000) / 1000);
- }
- d = keyFrames[i].distUntilStop - d;
- }
- t += 100;
- }
- t -= 100;
+ float t = CalculateSegmentPos(float(timer) * 0.001f);
+ G3D::Vector3 pos, dir;
+ _currentFrame->Spline->evaluate_percent(_currentFrame->Index, t, pos);
+ _currentFrame->Spline->evaluate_derivative(_currentFrame->Index, t, dir);
+ UpdatePosition(pos.x, pos.y, pos.z, atan2(dir.x, dir.y));
}
-
- if (keyFrames[i + 1].tFrom > keyFrames[i + 1].tTo)
- t += 100 - ((long)keyFrames[i + 1].tTo % 100);
- else
- t += (long)keyFrames[i + 1].tTo % 100;
-
- teleport = false;
- if ((keyFrames[i + 1].node->actionFlag == 1) || (keyFrames[i + 1].node->mapid != keyFrames[i].node->mapid))
- {
- teleport = true;
- cM = keyFrames[i + 1].node->mapid;
- }
-
- m_WayPoints[t] = WayPoint(keyFrames[i + 1].node->mapid, keyFrames[i + 1].node->x, keyFrames[i + 1].node->y, keyFrames[i + 1].node->z, teleport,
- 0, keyFrames[i + 1].node->arrivalEventID, keyFrames[i + 1].node->departureEventID);
- // TC_LOG_INFO(LOG_FILTER_TRANSPORTS, "T: %d, x: %f, y: %f, z: %f, t:%d", t, pos.x, pos.y, pos.z, teleport);
-
- t += keyFrames[i + 1].node->delay * 1000;
}
- uint32 timer = t;
-
- // TC_LOG_INFO(LOG_FILTER_TRANSPORTS, " Generated %lu waypoints, total time %u.", (unsigned long)m_WayPoints.size(), timer);
-
- m_curr = m_WayPoints.begin();
- m_next = GetNextWayPoint();
- m_pathTime = timer;
+ sScriptMgr->OnTransportUpdate(this, diff);
+}
- m_nextNodeTime = m_curr->first;
+void Transport::AddPassenger(WorldObject* passenger)
+{
+ if (_passengers.insert(passenger).second)
+ {
+ TC_LOG_DEBUG(LOG_FILTER_TRANSPORTS, "Object %s boarded transport %s.", passenger->GetName().c_str(), GetName().c_str());
- return true;
+ if (Player* plr = passenger->ToPlayer())
+ sScriptMgr->OnAddPassenger(this, plr);
+ }
}
-Transport::WayPointMap::const_iterator Transport::GetNextWayPoint()
+void Transport::RemovePassenger(WorldObject* passenger)
{
- WayPointMap::const_iterator iter = m_curr;
- ++iter;
- if (iter == m_WayPoints.end())
- iter = m_WayPoints.begin();
- return iter;
+ if (_passengers.erase(passenger) || _staticPassengers.erase(passenger)) // static passenger can remove itself in case of grid unload
+ {
+ TC_LOG_DEBUG(LOG_FILTER_TRANSPORTS, "Object %s removed from transport %s.", passenger->GetName().c_str(), GetName().c_str());
+
+ if (Player* plr = passenger->ToPlayer())
+ sScriptMgr->OnRemovePassenger(this, plr);
+ }
}
-void Transport::TeleportTransport(uint32 newMapid, float x, float y, float z)
+Creature* Transport::CreateNPCPassenger(uint32 guid, CreatureData const* data)
{
- Map const* oldMap = GetMap();
- Relocate(x, y, z);
+ Map* map = GetMap();
+ Creature* creature = new Creature();
- for (PlayerSet::const_iterator itr = m_passengers.begin(); itr != m_passengers.end();)
+ if (!creature->LoadCreatureFromDB(guid, map, false))
{
- Player* player = *itr;
- ++itr;
-
- if (player->isDead() && !player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST))
- player->ResurrectPlayer(1.0f);
-
- player->TeleportTo(newMapid, x, y, z, GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT);
+ delete creature;
+ return NULL;
}
- //we need to create and save new Map object with 'newMapid' because if not done -> lead to invalid Map object reference...
- //player far teleport would try to create same instance, but we need it NOW for transport...
+ float x = data->posX;
+ float y = data->posY;
+ float z = data->posZ;
+ float o = data->orientation;
+
+ creature->SetTransport(this);
+ creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
+ creature->m_movementInfo.transport.guid = GetGUID();
+ creature->m_movementInfo.transport.pos.Relocate(x, y, z, o);
+ CalculatePassengerPosition(x, y, z, &o);
+ creature->Relocate(x, y, z, o);
+ creature->SetHomePosition(creature->GetPositionX(), creature->GetPositionY(), creature->GetPositionZ(), creature->GetOrientation());
+ creature->SetTransportHomePosition(creature->m_movementInfo.transport.pos);
- RemoveFromWorld();
- ResetMap();
- Map* newMap = sMapMgr->CreateBaseMap(newMapid);
- SetMap(newMap);
- ASSERT(GetMap());
- AddToWorld();
+ if (!creature->IsPositionValid())
+ {
+ TC_LOG_ERROR(LOG_FILTER_TRANSPORTS, "Creature (guidlow %d, entry %d) not created. Suggested coordinates aren't valid (X: %f Y: %f)",creature->GetGUIDLow(),creature->GetEntry(),creature->GetPositionX(),creature->GetPositionY());
+ delete creature;
+ return NULL;
+ }
- if (oldMap != newMap)
+ if (!map->AddToMap(creature))
{
- UpdateForMap(oldMap);
- UpdateForMap(newMap);
+ delete creature;
+ return NULL;
}
- for (CreatureSet::iterator itr = m_NPCPassengerSet.begin(); itr != m_NPCPassengerSet.end(); ++itr)
- (*itr)->FarTeleportTo(newMap, x, y, z, (*itr)->GetOrientation());
+ _staticPassengers.insert(creature);
+ sScriptMgr->OnAddCreaturePassenger(this, creature);
+ return creature;
}
-bool Transport::AddPassenger(Player* passenger)
+GameObject* Transport::CreateGOPassenger(uint32 guid, GameObjectData const* data)
{
- if (m_passengers.insert(passenger).second)
- TC_LOG_INFO(LOG_FILTER_TRANSPORTS, "Player %s boarded transport %s.", passenger->GetName().c_str(), GetName().c_str());
+ Map* map = GetMap();
+ GameObject* go = new GameObject();
- sScriptMgr->OnAddPassenger(this, passenger);
- return true;
-}
+ if (!go->LoadGameObjectFromDB(guid, map, false))
+ {
+ delete go;
+ return NULL;
+ }
-bool Transport::RemovePassenger(Player* passenger)
-{
- if (m_passengers.erase(passenger))
- TC_LOG_INFO(LOG_FILTER_TRANSPORTS, "Player %s removed from transport %s.", passenger->GetName().c_str(), GetName().c_str());
+ float x = data->posX;
+ float y = data->posY;
+ float z = data->posZ;
+ float o = data->orientation;
- sScriptMgr->OnRemovePassenger(this, passenger);
- return true;
-}
+ go->SetTransport(this);
+ go->m_movementInfo.transport.guid = GetGUID();
+ go->m_movementInfo.transport.pos.Relocate(x, y, z, o);
+ CalculatePassengerPosition(x, y, z, &o);
+ go->Relocate(x, y, z, o);
-void Transport::Update(uint32 p_diff)
-{
- if (!AI())
+ if (!go->IsPositionValid())
{
- if (!AIM_Initialize())
- TC_LOG_ERROR(LOG_FILTER_TRANSPORTS, "Could not initialize GameObjectAI for Transport");
- } else
- AI()->UpdateAI(p_diff);
-
- if (m_WayPoints.size() <= 1)
- return;
+ TC_LOG_ERROR(LOG_FILTER_TRANSPORTS, "GameObject (guidlow %d, entry %d) not created. Suggested coordinates aren't valid (X: %f Y: %f)", go->GetGUIDLow(), go->GetEntry(), go->GetPositionX(), go->GetPositionY());
+ delete go;
+ return NULL;
+ }
- m_timer = getMSTime() % m_period;
- while (((m_timer - m_curr->first) % m_pathTime) > ((m_next->first - m_curr->first) % m_pathTime))
+ if (!map->AddToMap(go))
{
- DoEventIfAny(*m_curr, true);
-
- m_curr = GetNextWayPoint();
- m_next = GetNextWayPoint();
-
- DoEventIfAny(*m_curr, false);
-
- // first check help in case client-server transport coordinates de-synchronization
- if (m_curr->second.mapid != GetMapId() || m_curr->second.teleport)
- {
- TeleportTransport(m_curr->second.mapid, m_curr->second.x, m_curr->second.y, m_curr->second.z);
- }
- else
- {
- Relocate(m_curr->second.x, m_curr->second.y, m_curr->second.z, GetAngle(m_next->second.x, m_next->second.y) + float(M_PI));
- UpdatePassengerPositions(); // COME BACK MARKER
- }
+ delete go;
+ return NULL;
+ }
- sScriptMgr->OnRelocate(this, m_curr->first, m_curr->second.mapid, m_curr->second.x, m_curr->second.y, m_curr->second.z);
+ _staticPassengers.insert(go);
+ return go;
+}
- m_nextNodeTime = m_curr->first;
+void Transport::CalculatePassengerPosition(float& x, float& y, float& z, float* o /*= NULL*/) const
+{
+ float inx = x, iny = y, inz = z;
+ if (o)
+ *o = Position::NormalizeOrientation(GetOrientation() + *o);
- if (m_curr == m_WayPoints.begin())
- TC_LOG_DEBUG(LOG_FILTER_TRANSPORTS, " ************ BEGIN ************** %s", m_name.c_str());
+ x = GetPositionX() + inx * std::cos(GetOrientation()) - iny * std::sin(GetOrientation());
+ y = GetPositionY() + iny * std::cos(GetOrientation()) + inx * std::sin(GetOrientation());
+ z = GetPositionZ() + inz;
+}
- TC_LOG_DEBUG(LOG_FILTER_TRANSPORTS, "%s moved to %d %f %f %f %d", m_name.c_str(), m_curr->second.id, m_curr->second.x, m_curr->second.y, m_curr->second.z, m_curr->second.mapid);
- }
+void Transport::CalculatePassengerOffset(float& x, float& y, float& z, float* o /*= NULL*/) const
+{
+ if (o)
+ *o = Position::NormalizeOrientation(*o - GetOrientation());
- sScriptMgr->OnTransportUpdate(this, p_diff);
+ z -= GetPositionZ();
+ y -= GetPositionY(); // y = searchedY * std::cos(o) + searchedX * std::sin(o)
+ x -= GetPositionX(); // x = searchedX * std::cos(o) + searchedY * std::sin(o + pi)
+ float inx = x, iny = y;
+ y = (iny - inx * std::tan(GetOrientation())) / (std::cos(GetOrientation()) + std::sin(GetOrientation()) * std::tan(GetOrientation()));
+ x = (inx + iny * std::tan(GetOrientation())) / (std::cos(GetOrientation()) + std::sin(GetOrientation()) * std::tan(GetOrientation()));
}
-void Transport::UpdateForMap(Map const* targetMap)
+void Transport::UpdatePosition(float x, float y, float z, float o)
{
- Map::PlayerList const& player = targetMap->GetPlayers();
- if (player.isEmpty())
- return;
+ bool newActive = GetMap()->IsGridLoaded(x, y);
+
+ Relocate(x, y, z, o);
+
+ UpdatePassengerPositions(_passengers);
+
+ /* There are four possible scenarios that trigger loading/unloading passengers:
+ 1. transport moves from inactive to active grid
+ 2. the grid that transport is currently in becomes active
+ 3. transport moves from active to inactive grid
+ 4. the grid that transport is currently in unloads
+ */
+ if (_staticPassengers.empty() && newActive) // 1. and 2.
+ LoadStaticPassengers();
+ else if (!_staticPassengers.empty() && !newActive && Cell(x, y).DiffGrid(Cell(GetPositionX(), GetPositionY()))) // 3.
+ UnloadStaticPassengers();
+ else
+ UpdatePassengerPositions(_staticPassengers);
+ // 4. is handed by grid unload
+}
- if (GetMapId() == targetMap->GetId())
+void Transport::LoadStaticPassengers()
+{
+ if (uint32 mapId = GetGOInfo()->moTransport.mapID)
{
- for (Map::PlayerList::const_iterator itr = player.begin(); itr != player.end(); ++itr)
+ CellObjectGuidsMap const& cells = sObjectMgr->GetMapObjectGuids(mapId, GetMap()->GetSpawnMode());
+ CellGuidSet::const_iterator guidEnd;
+ for (CellObjectGuidsMap::const_iterator cellItr = cells.begin(); cellItr != cells.end(); ++cellItr)
{
- if (this != itr->GetSource()->GetTransport())
- {
- UpdateData transData;
- BuildCreateUpdateBlockForPlayer(&transData, itr->GetSource());
- WorldPacket packet;
- transData.BuildPacket(&packet);
- itr->GetSource()->SendDirectMessage(&packet);
- }
+ // Creatures on transport
+ guidEnd = cellItr->second.creatures.end();
+ for (CellGuidSet::const_iterator guidItr = cellItr->second.creatures.begin(); guidItr != guidEnd; ++guidItr)
+ CreateNPCPassenger(*guidItr, sObjectMgr->GetCreatureData(*guidItr));
+
+ // GameObjects on transport
+ guidEnd = cellItr->second.gameobjects.end();
+ for (CellGuidSet::const_iterator guidItr = cellItr->second.gameobjects.begin(); guidItr != guidEnd; ++guidItr)
+ CreateGOPassenger(*guidItr, sObjectMgr->GetGOData(*guidItr));
}
}
- else
- {
- UpdateData transData;
- BuildOutOfRangeUpdateBlock(&transData);
- WorldPacket out_packet;
- transData.BuildPacket(&out_packet);
-
- for (Map::PlayerList::const_iterator itr = player.begin(); itr != player.end(); ++itr)
- if (this != itr->GetSource()->GetTransport())
- itr->GetSource()->SendDirectMessage(&out_packet);
- }
}
-void Transport::DoEventIfAny(WayPointMap::value_type const& node, bool departure)
+void Transport::UnloadStaticPassengers()
{
- if (uint32 eventid = departure ? node.second.departureEventID : node.second.arrivalEventID)
+ while (!_staticPassengers.empty())
{
- TC_LOG_DEBUG(LOG_FILTER_MAPSCRIPTS, "Taxi %s event %u of node %u of %s path", departure ? "departure" : "arrival", eventid, node.first, GetName().c_str());
- GetMap()->ScriptsStart(sEventScripts, eventid, this, this);
- EventInform(eventid);
+ WorldObject* obj = *_staticPassengers.begin();
+ obj->AddObjectToRemoveList(); // also removes from _staticPassengers
}
}
-void Transport::BuildStartMovePacket(Map const* targetMap)
+void Transport::EnableMovement(bool enabled)
{
- SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
- SetGoState(GO_STATE_ACTIVE);
- UpdateForMap(targetMap);
+ if (!GetGOInfo()->moTransport.canBeStopped)
+ return;
+
+ _pendingStop = !enabled;
}
-void Transport::BuildStopMovePacket(Map const* targetMap)
+void Transport::MoveToNextWaypoint()
{
- RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
- SetGoState(GO_STATE_READY);
- UpdateForMap(targetMap);
+ // Clear events flagging
+ _triggeredArrivalEvent = false;
+ _triggeredDepartureEvent = false;
+
+ // Set frames
+ _currentFrame = _nextFrame++;
+ if (_nextFrame == GetKeyFrames().end())
+ _nextFrame = GetKeyFrames().begin();
}
-uint32 Transport::AddNPCPassenger(uint32 tguid, uint32 entry, float x, float y, float z, float o, uint32 anim)
+float Transport::CalculateSegmentPos(float now)
{
- Map* map = GetMap();
- //make it world object so it will not be unloaded with grid
- Creature* creature = new Creature(true);
-
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, GetPhaseMask(), entry, 0, GetGOInfo()->faction, 0, 0, 0, 0))
+ KeyFrame const& frame = *_currentFrame;
+ const float speed = float(m_goInfo->moTransport.moveSpeed);
+ const float accel = float(m_goInfo->moTransport.accelRate);
+ float timeSinceStop = frame.TimeFrom + (now - (1.0f/IN_MILLISECONDS) * frame.DepartureTime);
+ float timeUntilStop = frame.TimeTo - (now - (1.0f/IN_MILLISECONDS) * frame.DepartureTime);
+ float segmentPos, dist;
+ float accelTime = _transportInfo->accelTime;
+ float accelDist = _transportInfo->accelDist;
+ // calculate from nearest stop, less confusing calculation...
+ if (timeSinceStop < timeUntilStop)
{
- delete creature;
- return 0;
+ if (timeSinceStop < accelTime)
+ dist = 0.5f * accel * timeSinceStop * timeSinceStop;
+ else
+ dist = accelDist + (timeSinceStop - accelTime) * speed;
+ segmentPos = dist - frame.DistSinceStop;
+ }
+ else
+ {
+ if (timeUntilStop < _transportInfo->accelTime)
+ dist = 0.5f * accel * timeUntilStop * timeUntilStop;
+ else
+ dist = accelDist + (timeUntilStop - accelTime) * speed;
+ segmentPos = frame.DistUntilStop - dist;
}
- creature->SetTransport(this);
- creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
- creature->m_movementInfo.guid = GetGUID();
- creature->m_movementInfo.transport.pos.Relocate(x, y, z, o);
+ return segmentPos / frame.NextDistFromPrev;
+}
- if (anim)
- creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, anim);
+void Transport::TeleportTransport(uint32 newMapid, float x, float y, float z)
+{
+ Map const* oldMap = GetMap();
- creature->Relocate(
- GetPositionX() + (x * std::cos(GetOrientation()) + y * std::sin(GetOrientation() + float(M_PI))),
- GetPositionY() + (y * std::cos(GetOrientation()) + x * std::sin(GetOrientation())),
- z + GetPositionZ(),
- o + GetOrientation());
+ if (oldMap->GetId() != newMapid)
+ {
+ Map* newMap = sMapMgr->CreateBaseMap(newMapid);
+ Map::PlayerList const& oldPlayers = GetMap()->GetPlayers();
+ if (!oldPlayers.isEmpty())
+ {
+ UpdateData data;
+ BuildOutOfRangeUpdateBlock(&data);
+ WorldPacket packet;
+ data.BuildPacket(&packet);
+ for (Map::PlayerList::const_iterator itr = oldPlayers.begin(); itr != oldPlayers.end(); ++itr)
+ if (itr->GetSource()->GetTransport() != this)
+ itr->GetSource()->SendDirectMessage(&packet);
+ }
- creature->SetHomePosition(creature->GetPositionX(), creature->GetPositionY(), creature->GetPositionZ(), creature->GetOrientation());
- creature->SetTransportHomePosition(creature->m_movementInfo.transport.pos);
+ UnloadStaticPassengers();
+ GetMap()->RemoveFromMap<Transport>(this, false);
+ SetMap(newMap);
- if (!creature->IsPositionValid())
- {
- TC_LOG_ERROR(LOG_FILTER_TRANSPORTS, "Creature (guidlow %d, entry %d) not created. Suggested coordinates isn't valid (X: %f Y: %f)", creature->GetGUIDLow(), creature->GetEntry(), creature->GetPositionX(), creature->GetPositionY());
- delete creature;
- return 0;
- }
+ Map::PlayerList const& newPlayers = GetMap()->GetPlayers();
+ if (!newPlayers.isEmpty())
+ {
+ for (Map::PlayerList::const_iterator itr = newPlayers.begin(); itr != newPlayers.end(); ++itr)
+ {
+ if (itr->GetSource()->GetTransport() != this)
+ {
+ UpdateData data;
+ BuildCreateUpdateBlockForPlayer(&data, itr->GetSource());
+ WorldPacket packet;
+ data.BuildPacket(&packet);
+ itr->GetSource()->SendDirectMessage(&packet);
+ }
+ }
+ }
- map->AddToMap(creature);
- m_NPCPassengerSet.insert(creature);
+ for (std::set<WorldObject*>::iterator itr = _passengers.begin(); itr != _passengers.end();)
+ {
+ WorldObject* obj = (*itr++);
- if (tguid == 0)
- {
- ++currenttguid;
- tguid = currenttguid;
+ switch (obj->GetTypeId())
+ {
+ case TYPEID_UNIT:
+ if (!IS_PLAYER_GUID(obj->ToUnit()->GetOwnerGUID())) // pets should be teleported with player
+ obj->ToCreature()->FarTeleportTo(newMap, x, y, z, obj->GetOrientation());
+ break;
+ case TYPEID_GAMEOBJECT:
+ {
+ GameObject* go = obj->ToGameObject();
+ go->GetMap()->RemoveFromMap(go, false);
+ Relocate(x, y, z, go->GetOrientation());
+ SetMap(newMap);
+ newMap->AddToMap(go);
+ break;
+ }
+ case TYPEID_PLAYER:
+ if (!obj->ToPlayer()->TeleportTo(newMapid, x, y, z, GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT))
+ _passengers.erase(obj);
+ break;
+ default:
+ break;
+ }
+ }
+
+ GetMap()->AddToMap<Transport>(this);
}
else
- currenttguid = std::max(tguid, currenttguid);
-
- creature->SetGUIDTransport(tguid);
- sScriptMgr->OnAddCreaturePassenger(this, creature);
- return tguid;
-}
-
-void Transport::UpdatePosition(MovementInfo* mi)
-{
- float transport_o = mi->pos.GetOrientation() - mi->transport.pos.GetOrientation();
- float transport_x = mi->pos.m_positionX - (mi->transport.pos.m_positionX * std::cos(transport_o) - mi->transport.pos.m_positionY * std::sin(transport_o));
- float transport_y = mi->pos.m_positionY - (mi->transport.pos.m_positionY * std::cos(transport_o) + mi->transport.pos.m_positionX * std::sin(transport_o));
- float transport_z = mi->pos.m_positionZ - mi->transport.pos.m_positionZ;
+ {
+ // Teleport players, they need to know it
+ for (std::set<WorldObject*>::iterator itr = _passengers.begin(); itr != _passengers.end(); ++itr)
+ if ((*itr)->GetTypeId() == TYPEID_PLAYER)
+ (*itr)->ToUnit()->NearTeleportTo(x, y, z, GetOrientation());
+ }
- Relocate(transport_x, transport_y, transport_z, transport_o);
- UpdatePassengerPositions();
+ UpdatePosition(x, y, z, GetOrientation());
}
-void Transport::UpdatePassengerPositions()
+void Transport::UpdatePassengerPositions(std::set<WorldObject*>& passengers)
{
- for (CreatureSet::iterator itr = m_NPCPassengerSet.begin(); itr != m_NPCPassengerSet.end(); ++itr)
+ for (std::set<WorldObject*>::iterator itr = passengers.begin(); itr != passengers.end(); ++itr)
{
- Creature* npc = *itr;
+ WorldObject* passenger = *itr;
+ // transport teleported but passenger not yet (can happen for players)
+ if (passenger->GetMap() != GetMap())
+ continue;
+
+ // if passenger is on vehicle we have to assume the vehicle is also on transport
+ // and its the vehicle that will be updating its passengers
+ if (Unit* unit = passenger->ToUnit())
+ if (unit->GetVehicle())
+ continue;
+ // Do not use Unit::UpdatePosition here, we don't want to remove auras
+ // as if regular movement occurred
float x, y, z, o;
- npc->m_movementInfo.transport.pos.GetPosition(x, y, z, o);
+ passenger->m_movementInfo.transport.pos.GetPosition(x, y, z, o);
CalculatePassengerPosition(x, y, z, &o);
- GetMap()->CreatureRelocation(npc, x, y, z, o, false);
- npc->GetTransportHomePosition(x, y, z, o);
- CalculatePassengerPosition(x, y, z, &o);
- npc->SetHomePosition(x, y, z, o);
+ switch (passenger->GetTypeId())
+ {
+ case TYPEID_UNIT:
+ {
+ Creature* creature = passenger->ToCreature();
+ GetMap()->CreatureRelocation(creature, x, y, z, o, false);
+ creature->GetTransportHomePosition(x, y, z, o);
+ CalculatePassengerPosition(x, y, z, &o);
+ creature->SetHomePosition(x, y, z, o);
+ break;
+ }
+ case TYPEID_PLAYER:
+ GetMap()->PlayerRelocation(passenger->ToPlayer(), x, y, z, o);
+ break;
+ case TYPEID_GAMEOBJECT:
+ GetMap()->GameObjectRelocation(passenger->ToGameObject(), x, y, z, o, false);
+ break;
+ default:
+ break;
+ }
+
+ if (Unit* unit = passenger->ToUnit())
+ if (Vehicle* vehicle = unit->GetVehicleKit())
+ vehicle->RelocatePassengers();
}
}
-void Transport::CalculatePassengerPosition(float& x, float& y, float& z, float* o /*= NULL*/) const
+void Transport::DoEventIfAny(KeyFrame const& node, bool departure)
{
- float inx = x, iny = y, inz = z;
- if (o)
- *o = Position::NormalizeOrientation(GetOrientation() + *o);
-
- x = GetPositionX() + inx * std::cos(GetOrientation()) - iny * std::sin(GetOrientation());
- y = GetPositionY() + iny * std::cos(GetOrientation()) + inx * std::sin(GetOrientation());
- z = GetPositionZ() + inz;
+ if (uint32 eventid = departure ? node.Node->departureEventID : node.Node->arrivalEventID)
+ {
+ TC_LOG_DEBUG(LOG_FILTER_MAPSCRIPTS, "Taxi %s event %u of node %u of %s path", departure ? "departure" : "arrival", eventid, node.Node->index, GetName().c_str());
+ GetMap()->ScriptsStart(sEventScripts, eventid, this, this);
+ EventInform(eventid);
+ }
}
-void Transport::CalculatePassengerOffset(float& x, float& y, float& z, float* o /*= NULL*/) const
+void Transport::BuildUpdate(UpdateDataMapType& data_map)
{
- if (o)
- *o = Position::NormalizeOrientation(*o - GetOrientation());
+ Map::PlayerList const& players = GetMap()->GetPlayers();
+ if (players.isEmpty())
+ return;
- z -= GetPositionZ();
- y -= GetPositionY(); // y = searchedY * std::cos(o) + searchedX * std::sin(o)
- x -= GetPositionX(); // x = searchedX * std::cos(o) + searchedY * std::sin(o + pi)
- float inx = x, iny = y;
- y = (iny - inx * std::tan(GetOrientation())) / (std::cos(GetOrientation()) + std::sin(GetOrientation()) * std::tan(GetOrientation()));
- x = (inx + iny * std::tan(GetOrientation())) / (std::cos(GetOrientation()) + std::sin(GetOrientation()) * std::tan(GetOrientation()));
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ BuildFieldsUpdate(itr->GetSource(), data_map);
+
+ ClearUpdateMask(true);
}
diff --git a/src/server/game/Entities/Transport/Transport.h b/src/server/game/Entities/Transport/Transport.h
index 445bec456fd..0d020fe2c34 100644
--- a/src/server/game/Entities/Transport/Transport.h
+++ b/src/server/game/Entities/Transport/Transport.h
@@ -20,34 +20,30 @@
#define TRANSPORTS_H
#include "GameObject.h"
+#include "TransportMgr.h"
#include "VehicleDefines.h"
-#include <map>
-#include <set>
-#include <string>
+struct CreatureData;
class Transport : public GameObject, public TransportBase
{
+ friend Transport* TransportMgr::CreateTransport(uint32, uint32, Map*);
+
+ Transport();
public:
- Transport(uint32 period, uint32 script);
~Transport();
- bool Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, float y, float z, float ang, uint32 animprogress, uint32 dynflags);
- bool GenerateWaypoints(uint32 pathid, std::set<uint32> &mapids);
- void Update(uint32 p_time);
- bool AddPassenger(Player* passenger);
- bool RemovePassenger(Player* passenger);
+ bool Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, float y, float z, float ang, uint32 animprogress);
+ void Update(uint32 diff);
- void RemovePassenger(Creature* passenger) { m_NPCPassengerSet.erase(passenger); }
+ void BuildUpdate(UpdateDataMapType& data_map);
- typedef std::set<Player*> PlayerSet;
- PlayerSet const& GetPassengers() const { return m_passengers; }
+ void AddPassenger(WorldObject* passenger);
+ void RemovePassenger(WorldObject* passenger);
+ std::set<WorldObject*> const& GetPassengers() const { return _passengers; }
- typedef std::set<Creature*> CreatureSet;
- CreatureSet m_NPCPassengerSet;
- uint32 AddNPCPassenger(uint32 tguid, uint32 entry, float x, float y, float z, float o, uint32 anim=0);
- void UpdatePosition(MovementInfo* mi);
- void UpdatePassengerPositions();
+ Creature* CreateNPCPassenger(uint32 guid, CreatureData const* data);
+ GameObject* CreateGOPassenger(uint32 guid, GameObjectData const* data);
/// This method transforms supplied transport offsets into global coordinates
void CalculatePassengerPosition(float& x, float& y, float& z, float* o = NULL) const;
@@ -55,50 +51,50 @@ class Transport : public GameObject, public TransportBase
/// This method transforms supplied global coordinates into local offsets
void CalculatePassengerOffset(float& x, float& y, float& z, float* o = NULL) const;
- void BuildStartMovePacket(Map const* targetMap);
- void BuildStopMovePacket(Map const* targetMap);
- uint32 GetScriptId() const { return ScriptId; }
- private:
- struct WayPoint
- {
- WayPoint() : mapid(0), x(0), y(0), z(0), teleport(false), id(0) {}
- WayPoint(uint32 _mapid, float _x, float _y, float _z, bool _teleport, uint32 _id = 0,
- uint32 _arrivalEventID = 0, uint32 _departureEventID = 0)
- : mapid(_mapid), x(_x), y(_y), z(_z), teleport(_teleport), id(_id),
- arrivalEventID(_arrivalEventID), departureEventID(_departureEventID)
- {
- }
- uint32 mapid;
- float x;
- float y;
- float z;
- bool teleport;
- uint32 id;
- uint32 arrivalEventID;
- uint32 departureEventID;
- };
-
- typedef std::map<uint32, WayPoint> WayPointMap;
-
- WayPointMap::const_iterator m_curr;
- WayPointMap::const_iterator m_next;
- uint32 m_pathTime;
- uint32 m_timer;
-
- PlayerSet m_passengers;
-
- uint32 currenttguid;
- uint32 m_period;
- uint32 ScriptId;
- public:
- WayPointMap m_WayPoints;
- uint32 m_nextNodeTime;
+ uint32 GetPeriod() const { return GetUInt32Value(GAMEOBJECT_LEVEL); }
+ void SetPeriod(uint32 period) { SetUInt32Value(GAMEOBJECT_LEVEL, period); }
+ uint32 GetTimer() const { return GetGOValue()->Transport.PathProgress; }
+
+ KeyFrameVec const& GetKeyFrames() const { return _transportInfo->keyFrames; }
+
+ void UpdatePosition(float x, float y, float z, float o);
+
+ //! Needed when transport moves from inactive to active grid
+ void LoadStaticPassengers();
+
+ //! Needed when transport enters inactive grid
+ void UnloadStaticPassengers();
+
+ void EnableMovement(bool enabled);
+
+ TransportTemplate const* GetTransportTemplate() const { return _transportInfo; }
private:
+ void MoveToNextWaypoint();
+ float CalculateSegmentPos(float perc);
void TeleportTransport(uint32 newMapid, float x, float y, float z);
- void UpdateForMap(Map const* map);
- void DoEventIfAny(WayPointMap::value_type const& node, bool departure);
- WayPointMap::const_iterator GetNextWayPoint();
+ void UpdatePassengerPositions(std::set<WorldObject*>& passengers);
+ void DoEventIfAny(KeyFrame const& node, bool departure);
+
+ //! Helpers to know if stop frame was reached
+ bool IsMoving() const { return _isMoving; }
+ void SetMoving(bool val) { _isMoving = val; }
+
+ TransportTemplate const* _transportInfo;
+
+ KeyFrameVec::const_iterator _currentFrame;
+ KeyFrameVec::const_iterator _nextFrame;
+ uint32 _moveTimer;
+ TimeTrackerSmall _positionChangeTimer;
+ bool _isMoving;
+ bool _pendingStop;
+
+ //! These are needed to properly control events triggering only once for each frame
+ bool _triggeredArrivalEvent;
+ bool _triggeredDepartureEvent;
+
+ std::set<WorldObject*> _passengers;
+ std::set<WorldObject*> _staticPassengers;
};
-#endif
+#endif
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 985a110ff27..f861d0cba7b 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -4838,7 +4838,7 @@ void Unit::AddGameObject(GameObject* gameObj)
{
SpellInfo const* createBySpell = sSpellMgr->GetSpellInfo(gameObj->GetSpellId());
// Need disable spell use for owner
- if (createBySpell && createBySpell->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (createBySpell && createBySpell->IsCooldownStartedOnEvent())
// note: item based cooldowns and cooldown spell mods with charges ignored (unknown existing cases)
ToPlayer()->AddSpellAndCategoryCooldowns(createBySpell, 0, NULL, true);
}
@@ -4869,7 +4869,7 @@ void Unit::RemoveGameObject(GameObject* gameObj, bool del)
{
SpellInfo const* createBySpell = sSpellMgr->GetSpellInfo(spellid);
// Need activate spell use for owner
- if (createBySpell && createBySpell->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (createBySpell && createBySpell->IsCooldownStartedOnEvent())
// note: item based cooldowns and cooldown spell mods with charges ignored (unknown existing cases)
ToPlayer()->SendCooldownEvent(createBySpell);
}
@@ -7575,7 +7575,7 @@ bool Unit::HandleAuraProc(Unit* victim, uint32 damage, Aura* triggeredByAura, Sp
CastSpell(this, 28682, true);
- return (procEx & PROC_EX_CRITICAL_HIT) ? true : false;
+ return (procEx & PROC_EX_CRITICAL_HIT);
}
// Empowered Fire
case 31656:
@@ -8914,6 +8914,9 @@ bool Unit::Attack(Unit* victim, bool meleeAttack)
if (GetTypeId() == TYPEID_PLAYER && IsMounted())
return false;
+ if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED))
+ return false;
+
// nobody can attack GM in GM-mode
if (victim->GetTypeId() == TYPEID_PLAYER)
{
@@ -9379,7 +9382,7 @@ void Unit::SetMinion(Minion *minion, bool apply)
// Send infinity cooldown - client does that automatically but after relog cooldown needs to be set again
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(minion->GetUInt32Value(UNIT_CREATED_BY_SPELL));
- if (spellInfo && (spellInfo->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE))
+ if (spellInfo && (spellInfo->IsCooldownStartedOnEvent()))
ToPlayer()->AddSpellAndCategoryCooldowns(spellInfo, 0, NULL, true);
}
}
@@ -9421,7 +9424,7 @@ void Unit::SetMinion(Minion *minion, bool apply)
{
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(minion->GetUInt32Value(UNIT_CREATED_BY_SPELL));
// Remove infinity cooldown
- if (spellInfo && (spellInfo->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE))
+ if (spellInfo && (spellInfo->IsCooldownStartedOnEvent()))
ToPlayer()->SendCooldownEvent(spellInfo);
}
@@ -9582,7 +9585,7 @@ int32 Unit::DealHeal(Unit* victim, uint32 addhealth)
gain = victim->ModifyHealth(int32(addhealth));
// Hook for OnHeal Event
- sScriptMgr->OnHeal(this, victim, gain);
+ sScriptMgr->OnHeal(this, victim, (uint32&)gain);
Unit* unit = this;
@@ -10543,7 +10546,7 @@ bool Unit::isSpellCrit(Unit* victim, SpellInfo const* spellProto, SpellSchoolMas
break;
}
// Exorcism
- else if (spellProto->Category == 19)
+ else if (spellProto->GetCategory() == 19)
{
if (victim->GetCreatureTypeMask() & CREATURE_TYPEMASK_DEMON_OR_UNDEAD)
return true;
@@ -13349,7 +13352,7 @@ void Unit::SetPower(Powers power, uint32 val)
data.append(GetPackGUID());
data << uint8(power);
data << uint32(val);
- SendMessageToSet(&data, GetTypeId() == TYPEID_PLAYER ? true : false);
+ SendMessageToSet(&data, GetTypeId() == TYPEID_PLAYER);
// group update
if (Player* player = ToPlayer())
@@ -13499,9 +13502,12 @@ void Unit::CleanupsBeforeDelete(bool finalCleanup)
{
CleanupBeforeRemoveFromMap(finalCleanup);
- if (Creature* thisCreature = ToCreature())
- if (GetTransport())
- GetTransport()->RemovePassenger(thisCreature);
+ if (GetTransport())
+ {
+ GetTransport()->RemovePassenger(this);
+ SetTransport(NULL);
+ m_movementInfo.transport.Reset();
+ }
}
void Unit::UpdateCharmAI()
@@ -13564,9 +13570,7 @@ CharmInfo::CharmInfo(Unit* unit)
}
}
-CharmInfo::~CharmInfo()
-{
-}
+CharmInfo::~CharmInfo() { }
void CharmInfo::RestoreState()
{
@@ -17329,6 +17333,8 @@ void Unit::SetFacingTo(float ori)
{
Movement::MoveSplineInit init(this);
init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZMinusOffset(), false);
+ if (HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && GetTransGUID())
+ init.DisableTransportPathTransformations(); // It makes no sense to target global orientation
init.SetFacing(ori);
init.Launch();
}
@@ -17340,7 +17346,10 @@ void Unit::SetFacingToObject(WorldObject* object)
return;
/// @todo figure out under what conditions creature will move towards object instead of facing it where it currently is.
- SetFacingTo(GetAngle(object));
+ Movement::MoveSplineInit init(this);
+ init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZMinusOffset());
+ init.SetFacing(GetAngle(object)); // when on transport, GetAngle will still return global coordinates (and angle) that needs transforming
+ init.Launch();
}
bool Unit::SetWalk(bool enable)
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 13f8c8e781f..f8d5964beca 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -786,7 +786,7 @@ struct DiminishingReturn
{
DiminishingReturn(DiminishingGroup group, uint32 t, uint32 count)
: DRGroup(group), stack(0), hitTime(t), hitCount(count)
- {}
+ { }
DiminishingGroup DRGroup:16;
uint16 stack:16;
@@ -804,7 +804,7 @@ class DispelInfo
{
public:
explicit DispelInfo(Unit* dispeller, uint32 dispellerSpellId, uint8 chargesRemoved) :
- _dispellerUnit(dispeller), _dispellerSpell(dispellerSpellId), _chargesRemoved(chargesRemoved) {}
+ _dispellerUnit(dispeller), _dispellerSpell(dispellerSpellId), _chargesRemoved(chargesRemoved) { }
Unit* GetDispeller() const { return _dispellerUnit; }
uint32 GetDispellerSpellId() const { return _dispellerSpell; }
@@ -822,7 +822,7 @@ private:
struct CleanDamage
{
CleanDamage(uint32 mitigated, uint32 absorbed, WeaponAttackType _attackType, MeleeHitOutcome _hitOutCome) :
- absorbed_damage(absorbed), mitigated_damage(mitigated), attackType(_attackType), hitOutCome(_hitOutCome) {}
+ absorbed_damage(absorbed), mitigated_damage(mitigated), attackType(_attackType), hitOutCome(_hitOutCome) { }
uint32 absorbed_damage;
uint32 mitigated_damage;
@@ -951,7 +951,7 @@ struct SpellNonMeleeDamage
SpellNonMeleeDamage(Unit* _attacker, Unit* _target, uint32 _SpellID, uint32 _schoolMask)
: target(_target), attacker(_attacker), SpellID(_SpellID), damage(0), overkill(0), schoolMask(_schoolMask),
absorb(0), resist(0), physicalLog(false), unused(false), blocked(0), HitInfo(0), cleanDamage(0)
- {}
+ { }
Unit *target;
Unit *attacker;
@@ -972,7 +972,7 @@ struct SpellNonMeleeDamage
struct SpellPeriodicAuraLogInfo
{
SpellPeriodicAuraLogInfo(AuraEffect const* _auraEff, uint32 _damage, uint32 _overDamage, uint32 _absorb, uint32 _resist, float _multiplier, bool _critical)
- : auraEff(_auraEff), damage(_damage), overDamage(_overDamage), absorb(_absorb), resist(_resist), multiplier(_multiplier), critical(_critical){}
+ : auraEff(_auraEff), damage(_damage), overDamage(_overDamage), absorb(_absorb), resist(_resist), multiplier(_multiplier), critical(_critical){ }
AuraEffect const* auraEff;
uint32 damage;
@@ -1027,7 +1027,7 @@ enum CurrentSpellTypes
struct GlobalCooldown
{
- explicit GlobalCooldown(uint32 _dur = 0, uint32 _time = 0) : duration(_dur), cast_time(_time) {}
+ explicit GlobalCooldown(uint32 _dur = 0, uint32 _time = 0) : duration(_dur), cast_time(_time) { }
uint32 duration;
uint32 cast_time;
@@ -1038,7 +1038,7 @@ typedef UNORDERED_MAP<uint32 /*category*/, GlobalCooldown> GlobalCooldownList;
class GlobalCooldownMgr // Shared by Player and CharmInfo
{
public:
- GlobalCooldownMgr() {}
+ GlobalCooldownMgr() { }
public:
bool HasGlobalCooldown(SpellInfo const* spellInfo) const;
@@ -1080,7 +1080,7 @@ enum CommandStates
struct UnitActionBarEntry
{
- UnitActionBarEntry() : packedData(uint32(ACT_DISABLED) << 24) {}
+ UnitActionBarEntry() : packedData(uint32(ACT_DISABLED) << 24) { }
uint32 packedData;
@@ -2078,12 +2078,6 @@ class Unit : public WorldObject
bool IsOnVehicle(const Unit* vehicle) const;
Unit* GetVehicleBase() const;
Creature* GetVehicleCreatureBase() const;
- float GetTransOffsetX() const { return m_movementInfo.transport.pos.GetPositionX(); }
- float GetTransOffsetY() const { return m_movementInfo.transport.pos.GetPositionY(); }
- float GetTransOffsetZ() const { return m_movementInfo.transport.pos.GetPositionZ(); }
- float GetTransOffsetO() const { return m_movementInfo.transport.pos.GetOrientation(); }
- uint32 GetTransTime() const { return m_movementInfo.transport.time; }
- int8 GetTransSeat() const { return m_movementInfo.transport.seat; }
uint64 GetTransGUID() const;
/// Returns the transport this unit is on directly (if on vehicle and transport, return vehicle)
TransportBase* GetDirectTransport() const;
@@ -2261,7 +2255,7 @@ namespace Trinity
class PowerPctOrderPred
{
public:
- PowerPctOrderPred(Powers power, bool ascending = true) : m_power(power), m_ascending(ascending) {}
+ PowerPctOrderPred(Powers power, bool ascending = true) : m_power(power), m_ascending(ascending) { }
bool operator() (const Unit* a, const Unit* b) const
{
float rA = a->GetMaxPower(m_power) ? float(a->GetPower(m_power)) / float(a->GetMaxPower(m_power)) : 0.0f;
@@ -2277,7 +2271,7 @@ namespace Trinity
class HealthPctOrderPred
{
public:
- HealthPctOrderPred(bool ascending = true) : m_ascending(ascending) {}
+ HealthPctOrderPred(bool ascending = true) : m_ascending(ascending) { }
bool operator() (const Unit* a, const Unit* b) const
{
float rA = a->GetMaxHealth() ? float(a->GetHealth()) / float(a->GetMaxHealth()) : 0.0f;
diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h
index 9fb1b6614b5..f71ccded926 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.h
+++ b/src/server/game/Entities/Vehicle/Vehicle.h
@@ -114,7 +114,7 @@ class VehicleJoinEvent : public BasicEvent
{
friend class Vehicle;
protected:
- VehicleJoinEvent(Vehicle* v, Unit* u) : Target(v), Passenger(u), Seat(Target->Seats.end()) {}
+ VehicleJoinEvent(Vehicle* v, Unit* u) : Target(v), Passenger(u), Seat(Target->Seats.end()) { }
~VehicleJoinEvent();
bool Execute(uint64, uint32);
void Abort(uint64);
diff --git a/src/server/game/Entities/Vehicle/VehicleDefines.h b/src/server/game/Entities/Vehicle/VehicleDefines.h
index ce922b550c1..1c3a57593c3 100644
--- a/src/server/game/Entities/Vehicle/VehicleDefines.h
+++ b/src/server/game/Entities/Vehicle/VehicleDefines.h
@@ -81,7 +81,7 @@ struct VehicleSeat
struct VehicleAccessory
{
VehicleAccessory(uint32 entry, int8 seatId, bool isMinion, uint8 summonType, uint32 summonTime) :
- AccessoryEntry(entry), IsMinion(isMinion), SummonTime(summonTime), SeatId(seatId), SummonedType(summonType) {}
+ AccessoryEntry(entry), IsMinion(isMinion), SummonTime(summonTime), SeatId(seatId), SummonedType(summonType) { }
uint32 AccessoryEntry;
uint32 IsMinion;
uint32 SummonTime;
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 0d59b7fa2f4..892a23687de 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -1493,9 +1493,7 @@ void GameEventMgr::UpdateWorldStates(uint16 event_id, bool Activate)
}
}
-GameEventMgr::GameEventMgr() : isSystemInit(false)
-{
-}
+GameEventMgr::GameEventMgr() : isSystemInit(false) { }
void GameEventMgr::HandleQuestComplete(uint32 quest_id)
{
diff --git a/src/server/game/Events/GameEventMgr.h b/src/server/game/Events/GameEventMgr.h
index ad4ddeeba88..d25da0db89d 100644
--- a/src/server/game/Events/GameEventMgr.h
+++ b/src/server/game/Events/GameEventMgr.h
@@ -55,7 +55,7 @@ typedef std::map<uint32 /*condition id*/, GameEventFinishCondition> GameEventCon
struct GameEventData
{
- GameEventData() : start(1), end(0), nextstart(0), occurence(0), length(0), holiday_id(HOLIDAY_NONE), state(GAMEEVENT_NORMAL) {}
+ GameEventData() : start(1), end(0), nextstart(0), occurence(0), length(0), holiday_id(HOLIDAY_NONE), state(GAMEEVENT_NORMAL) { }
time_t start; // occurs after this time
time_t end; // occurs before this time
time_t nextstart; // after this time the follow-up events count this phase completed
@@ -98,7 +98,7 @@ class GameEventMgr
private:
GameEventMgr();
- ~GameEventMgr() {};
+ ~GameEventMgr() { };
public:
typedef std::set<uint16> ActiveEvents;
diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp
index afc27b74ecc..77d455d72a7 100644
--- a/src/server/game/Globals/ObjectAccessor.cpp
+++ b/src/server/game/Globals/ObjectAccessor.cpp
@@ -39,13 +39,9 @@
#include <cmath>
-ObjectAccessor::ObjectAccessor()
-{
-}
+ObjectAccessor::ObjectAccessor() { }
-ObjectAccessor::~ObjectAccessor()
-{
-}
+ObjectAccessor::~ObjectAccessor() { }
template<class T> T* ObjectAccessor::GetObjectInWorld(uint32 mapid, float x, float y, uint64 guid, T* /*fake*/)
{
@@ -147,6 +143,15 @@ GameObject* ObjectAccessor::GetGameObject(WorldObject const& u, uint64 guid)
return GetObjectInMap(guid, u.GetMap(), (GameObject*)NULL);
}
+Transport* ObjectAccessor::GetTransport(WorldObject const& u, uint64 guid)
+{
+ if (GUID_HIPART(guid) != HIGHGUID_MO_TRANSPORT)
+ return NULL;
+
+ GameObject* go = GetGameObject(u, guid);
+ return go ? go->ToTransport() : NULL;
+}
+
DynamicObject* ObjectAccessor::GetDynamicObject(WorldObject const& u, uint64 guid)
{
return GetObjectInMap(guid, u.GetMap(), (DynamicObject*)NULL);
diff --git a/src/server/game/Globals/ObjectAccessor.h b/src/server/game/Globals/ObjectAccessor.h
index 1abe3550729..4e5c12104ed 100644
--- a/src/server/game/Globals/ObjectAccessor.h
+++ b/src/server/game/Globals/ObjectAccessor.h
@@ -40,6 +40,7 @@ class WorldObject;
class Vehicle;
class Map;
class WorldRunnable;
+class Transport;
template <class T>
class HashMapHolder
@@ -74,7 +75,7 @@ class HashMapHolder
private:
//Non instanceable only static
- HashMapHolder() {}
+ HashMapHolder() { }
static LockType i_lock;
static MapType m_objectMap;
@@ -145,6 +146,7 @@ class ObjectAccessor
static Object* GetObjectByTypeMask(WorldObject const&, uint64, uint32 typemask);
static Corpse* GetCorpse(WorldObject const& u, uint64 guid);
static GameObject* GetGameObject(WorldObject const& u, uint64 guid);
+ static Transport* GetTransport(WorldObject const& u, uint64 guid);
static DynamicObject* GetDynamicObject(WorldObject const& u, uint64 guid);
static Unit* GetUnit(WorldObject const&, uint64 guid);
static Creature* GetCreature(WorldObject const& u, uint64 guid);
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 2f309c07cce..d515a9c20e9 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -804,6 +804,18 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
if ((cInfo->npcflag & UNIT_NPC_FLAG_TRAINER) && cInfo->trainer_type >= MAX_TRAINER_TYPE)
TC_LOG_ERROR(LOG_FILTER_SQL, "Creature (Entry: %u) has wrong trainer type %u.", cInfo->Entry, cInfo->trainer_type);
+ if (cInfo->speed_walk == 0.0f)
+ {
+ TC_LOG_ERROR(LOG_FILTER_SQL, "Creature (Entry: %u) has wrong value (%f) in speed_walk, set to 1.", cInfo->Entry, cInfo->speed_walk);
+ const_cast<CreatureTemplate*>(cInfo)->speed_walk = 1.0f;
+ }
+
+ if (cInfo->speed_run == 0.0f)
+ {
+ TC_LOG_ERROR(LOG_FILTER_SQL, "Creature (Entry: %u) has wrong value (%f) in speed_run, set to 1.14286.", cInfo->Entry, cInfo->speed_run);
+ const_cast<CreatureTemplate*>(cInfo)->speed_run = 1.14286f;
+ }
+
if (cInfo->type && !sCreatureTypeStore.LookupEntry(cInfo->type))
{
TC_LOG_ERROR(LOG_FILTER_SQL, "Creature (Entry: %u) has invalid creature type (%u) in `type`.", cInfo->Entry, cInfo->type);
@@ -7796,6 +7808,25 @@ GameTele const* ObjectMgr::GetGameTele(const std::string& name) const
return alt;
}
+GameTele const* ObjectMgr::GetGameTeleExactName(const std::string& name) const
+{
+ // explicit name case
+ std::wstring wname;
+ if (!Utf8toWStr(name, wname))
+ return NULL;
+
+ // converting string that we try to find to lower case
+ wstrToLower(wname);
+
+ for (GameTeleContainer::const_iterator itr = _gameTeleStore.begin(); itr != _gameTeleStore.end(); ++itr)
+ {
+ if (itr->second.wnameLow == wname)
+ return &itr->second;
+ }
+
+ return NULL;
+}
+
bool ObjectMgr::AddGameTele(GameTele& tele)
{
// find max id
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index e44333c4a7a..6ec41042653 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -467,8 +467,8 @@ struct PetLevelInfo
struct MailLevelReward
{
- MailLevelReward() : raceMask(0), mailTemplateId(0), senderEntry(0) {}
- MailLevelReward(uint32 _raceMask, uint32 _mailTemplateId, uint32 _senderEntry) : raceMask(_raceMask), mailTemplateId(_mailTemplateId), senderEntry(_senderEntry) {}
+ MailLevelReward() : raceMask(0), mailTemplateId(0), senderEntry(0) { }
+ MailLevelReward(uint32 _raceMask, uint32 _mailTemplateId, uint32 _senderEntry) : raceMask(_raceMask), mailTemplateId(_mailTemplateId), senderEntry(_senderEntry) { }
uint32 raceMask;
uint32 mailTemplateId;
@@ -556,8 +556,8 @@ struct QuestPOIPoint
int32 x;
int32 y;
- QuestPOIPoint() : x(0), y(0) {}
- QuestPOIPoint(int32 _x, int32 _y) : x(_x), y(_y) {}
+ QuestPOIPoint() : x(0), y(0) { }
+ QuestPOIPoint(int32 _x, int32 _y) : x(_x), y(_y) { }
};
struct QuestPOI
@@ -571,8 +571,8 @@ struct QuestPOI
uint32 Unk4;
std::vector<QuestPOIPoint> points;
- QuestPOI() : Id(0), ObjectiveIndex(0), MapId(0), AreaId(0), Unk2(0), Unk3(0), Unk4(0) {}
- QuestPOI(uint32 id, int32 objIndex, uint32 mapId, uint32 areaId, uint32 unk2, uint32 unk3, uint32 unk4) : Id(id), ObjectiveIndex(objIndex), MapId(mapId), AreaId(areaId), Unk2(unk2), Unk3(unk3), Unk4(unk4) {}
+ QuestPOI() : Id(0), ObjectiveIndex(0), MapId(0), AreaId(0), Unk2(0), Unk3(0), Unk4(0) { }
+ QuestPOI(uint32 id, int32 objIndex, uint32 mapId, uint32 areaId, uint32 unk2, uint32 unk3, uint32 unk4) : Id(id), ObjectiveIndex(objIndex), MapId(mapId), AreaId(areaId), Unk2(unk2), Unk3(unk3), Unk4(unk4) { }
};
typedef std::vector<QuestPOI> QuestPOIVector;
@@ -1019,6 +1019,11 @@ class ObjectMgr
return _mapObjectGuidsStore[MAKE_PAIR32(mapid, spawnMode)][cell_id];
}
+ CellObjectGuidsMap const& GetMapObjectGuids(uint16 mapid, uint8 spawnMode)
+ {
+ return _mapObjectGuidsStore[MAKE_PAIR32(mapid, spawnMode)];
+ }
+
/**
* Gets temp summon data for all creatures of specified group.
*
@@ -1156,6 +1161,7 @@ class ObjectMgr
return &itr->second;
}
GameTele const* GetGameTele(std::string const& name) const;
+ GameTele const* GetGameTeleExactName(std::string const& name) const;
GameTeleContainer const& GetGameTeleMap() const { return _gameTeleStore; }
bool AddGameTele(GameTele& data);
bool DeleteGameTele(std::string const& name);
diff --git a/src/server/game/Grids/Cells/Cell.h b/src/server/game/Grids/Cells/Cell.h
index 33a26c62ce0..ecfdfd6ce05 100644
--- a/src/server/game/Grids/Cells/Cell.h
+++ b/src/server/game/Grids/Cells/Cell.h
@@ -31,8 +31,8 @@ class WorldObject;
struct CellArea
{
- CellArea() {}
- CellArea(CellCoord low, CellCoord high) : low_bound(low), high_bound(high) {}
+ CellArea() { }
+ CellArea(CellCoord low, CellCoord high) : low_bound(low), high_bound(high) { }
bool operator!() const { return low_bound == high_bound; }
diff --git a/src/server/game/Grids/Grid.h b/src/server/game/Grids/Grid.h
index 0a5e84b8ded..57f79538e2b 100644
--- a/src/server/game/Grids/Grid.h
+++ b/src/server/game/Grids/Grid.h
@@ -52,7 +52,7 @@ class Grid
/** destructor to clean up its resources. This includes unloading the
grid if it has not been unload.
*/
- ~Grid() {}
+ ~Grid() { }
/** an object of interested enters the grid
*/
diff --git a/src/server/game/Grids/GridDefines.h b/src/server/game/Grids/GridDefines.h
index 9250c784dd9..7ddb4647afe 100644
--- a/src/server/game/Grids/GridDefines.h
+++ b/src/server/game/Grids/GridDefines.h
@@ -86,11 +86,11 @@ struct CoordPair
{
CoordPair(uint32 x=0, uint32 y=0)
: x_coord(x), y_coord(y)
- {}
+ { }
CoordPair(const CoordPair<LIMIT> &obj)
: x_coord(obj.x_coord), y_coord(obj.y_coord)
- {}
+ { }
CoordPair<LIMIT> & operator=(const CoordPair<LIMIT> &obj)
{
diff --git a/src/server/game/Grids/GridReference.h b/src/server/game/Grids/GridReference.h
index 3d662684060..18403e27a45 100644
--- a/src/server/game/Grids/GridReference.h
+++ b/src/server/game/Grids/GridReference.h
@@ -45,7 +45,7 @@ class GridReference : public Reference<GridRefManager<OBJECT>, OBJECT>
this->getTarget()->decSize();
}
public:
- GridReference() : Reference<GridRefManager<OBJECT>, OBJECT>() {}
+ GridReference() : Reference<GridRefManager<OBJECT>, OBJECT>() { }
~GridReference() { this->unlink(); }
GridReference* next() { return (GridReference*)Reference<GridRefManager<OBJECT>, OBJECT>::next(); }
};
diff --git a/src/server/game/Grids/GridStates.h b/src/server/game/Grids/GridStates.h
index 09682c716a9..38728d11757 100644
--- a/src/server/game/Grids/GridStates.h
+++ b/src/server/game/Grids/GridStates.h
@@ -34,7 +34,7 @@ class GridState
void setMagic() { i_Magic = MAGIC_TESTVAL; }
unsigned int i_Magic;
#endif
- virtual ~GridState() {};
+ virtual ~GridState() { };
virtual void Update(Map &, NGridType&, GridInfo &, uint32 t_diff) const = 0;
};
diff --git a/src/server/game/Grids/NGrid.h b/src/server/game/Grids/NGrid.h
index 65cdd3a6033..2e244ecbc62 100644
--- a/src/server/game/Grids/NGrid.h
+++ b/src/server/game/Grids/NGrid.h
@@ -34,10 +34,10 @@ class GridInfo
public:
GridInfo()
: i_timer(0), vis_Update(0, irand(0, DEFAULT_VISIBILITY_NOTIFY_PERIOD)),
- i_unloadActiveLockCount(0), i_unloadExplicitLock(false), i_unloadReferenceLock(false) {}
+ i_unloadActiveLockCount(0), i_unloadExplicitLock(false), i_unloadReferenceLock(false) { }
GridInfo(time_t expiry, bool unload = true )
: i_timer(expiry), vis_Update(0, irand(0, DEFAULT_VISIBILITY_NOTIFY_PERIOD)),
- i_unloadActiveLockCount(0), i_unloadExplicitLock(!unload), i_unloadReferenceLock(false) {}
+ i_unloadActiveLockCount(0), i_unloadExplicitLock(!unload), i_unloadReferenceLock(false) { }
const TimeTracker& getTimeTracker() const { return i_timer; }
bool getUnloadLock() const { return i_unloadActiveLockCount || i_unloadExplicitLock || i_unloadReferenceLock; }
void setUnloadExplicitLock(bool on) { i_unloadExplicitLock = on; }
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
index b8ab75f213b..00b1e82a0ea 100644
--- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
@@ -35,16 +35,28 @@ void VisibleNotifier::SendToSelf()
// at this moment i_clientGUIDs have guids that not iterate at grid level checks
// but exist one case when this possible and object not out of range: transports
if (Transport* transport = i_player.GetTransport())
- for (Transport::PlayerSet::const_iterator itr = transport->GetPassengers().begin();itr != transport->GetPassengers().end();++itr)
+ for (std::set<WorldObject*>::const_iterator itr = transport->GetPassengers().begin(); itr != transport->GetPassengers().end();++itr)
{
if (vis_guids.find((*itr)->GetGUID()) != vis_guids.end())
{
vis_guids.erase((*itr)->GetGUID());
- i_player.UpdateVisibilityOf((*itr), i_data, i_visibleNow);
-
- if (!(*itr)->isNeedNotify(NOTIFY_VISIBILITY_CHANGED))
- (*itr)->UpdateVisibilityOf(&i_player);
+ switch ((*itr)->GetTypeId())
+ {
+ case TYPEID_GAMEOBJECT:
+ i_player.UpdateVisibilityOf((*itr)->ToGameObject(), i_data, i_visibleNow);
+ break;
+ case TYPEID_PLAYER:
+ i_player.UpdateVisibilityOf((*itr)->ToPlayer(), i_data, i_visibleNow);
+ if (!(*itr)->isNeedNotify(NOTIFY_VISIBILITY_CHANGED))
+ (*itr)->ToPlayer()->UpdateVisibilityOf(&i_player);
+ break;
+ case TYPEID_UNIT:
+ i_player.UpdateVisibilityOf((*itr)->ToCreature(), i_data, i_visibleNow);
+ break;
+ default:
+ break;
+ }
}
}
@@ -324,10 +336,8 @@ template<class T>
void ObjectUpdater::Visit(GridRefManager<T> &m)
{
for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter)
- {
if (iter->GetSource()->IsInWorld())
iter->GetSource()->Update(i_timeDiff);
- }
}
bool AnyDeadUnitObjectInRangeCheck::operator()(Player* u)
@@ -360,5 +370,6 @@ bool AnyDeadUnitSpellTargetInRangeCheck::operator()(Creature* u)
return AnyDeadUnitObjectInRangeCheck::operator()(u) && i_check(u);
}
-template void ObjectUpdater::Visit<GameObject>(GameObjectMapType &);
-template void ObjectUpdater::Visit<DynamicObject>(DynamicObjectMapType &);
+template void ObjectUpdater::Visit<Creature>(CreatureMapType&);
+template void ObjectUpdater::Visit<GameObject>(GameObjectMapType&);
+template void ObjectUpdater::Visit<DynamicObject>(DynamicObjectMapType&);
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h
index d0df63155b2..7bf50b60c1c 100644
--- a/src/server/game/Grids/Notifiers/GridNotifiers.h
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.h
@@ -45,7 +45,7 @@ namespace Trinity
std::set<Unit*> i_visibleNow;
Player::ClientGUIDs vis_guids;
- VisibleNotifier(Player &player) : i_player(player), vis_guids(player.m_clientGUIDs) {}
+ VisibleNotifier(Player &player) : i_player(player), vis_guids(player.m_clientGUIDs) { }
template<class T> void Visit(GridRefManager<T> &m);
void SendToSelf(void);
};
@@ -54,8 +54,8 @@ namespace Trinity
{
WorldObject &i_object;
- explicit VisibleChangesNotifier(WorldObject &object) : i_object(object) {}
- template<class T> void Visit(GridRefManager<T> &) {}
+ explicit VisibleChangesNotifier(WorldObject &object) : i_object(object) { }
+ template<class T> void Visit(GridRefManager<T> &) { }
void Visit(PlayerMapType &);
void Visit(CreatureMapType &);
void Visit(DynamicObjectMapType &);
@@ -63,7 +63,7 @@ namespace Trinity
struct PlayerRelocationNotifier : public VisibleNotifier
{
- PlayerRelocationNotifier(Player &player) : VisibleNotifier(player) {}
+ PlayerRelocationNotifier(Player &player) : VisibleNotifier(player) { }
template<class T> void Visit(GridRefManager<T> &m) { VisibleNotifier::Visit(m); }
void Visit(CreatureMapType &);
@@ -73,8 +73,8 @@ namespace Trinity
struct CreatureRelocationNotifier
{
Creature &i_creature;
- CreatureRelocationNotifier(Creature &c) : i_creature(c) {}
- template<class T> void Visit(GridRefManager<T> &) {}
+ CreatureRelocationNotifier(Creature &c) : i_creature(c) { }
+ template<class T> void Visit(GridRefManager<T> &) { }
void Visit(CreatureMapType &);
void Visit(PlayerMapType &);
};
@@ -86,8 +86,8 @@ namespace Trinity
CellCoord &p;
const float i_radius;
DelayedUnitRelocation(Cell &c, CellCoord &pair, Map &map, float radius) :
- i_map(map), cell(c), p(pair), i_radius(radius) {}
- template<class T> void Visit(GridRefManager<T> &) {}
+ i_map(map), cell(c), p(pair), i_radius(radius) { }
+ template<class T> void Visit(GridRefManager<T> &) { }
void Visit(CreatureMapType &);
void Visit(PlayerMapType &);
};
@@ -96,8 +96,8 @@ namespace Trinity
{
Unit &i_unit;
bool isCreature;
- explicit AIRelocationNotifier(Unit &unit) : i_unit(unit), isCreature(unit.GetTypeId() == TYPEID_UNIT) {}
- template<class T> void Visit(GridRefManager<T> &) {}
+ explicit AIRelocationNotifier(Unit &unit) : i_unit(unit), isCreature(unit.GetTypeId() == TYPEID_UNIT) { }
+ template<class T> void Visit(GridRefManager<T> &) { }
void Visit(CreatureMapType &);
};
@@ -105,7 +105,7 @@ namespace Trinity
{
GridType &i_grid;
uint32 i_timeDiff;
- GridUpdater(GridType &grid, uint32 diff) : i_grid(grid), i_timeDiff(diff) {}
+ GridUpdater(GridType &grid, uint32 diff) : i_grid(grid), i_timeDiff(diff) { }
template<class T> void updateObjects(GridRefManager<T> &m)
{
@@ -141,7 +141,7 @@ namespace Trinity
void Visit(PlayerMapType &m);
void Visit(CreatureMapType &m);
void Visit(DynamicObjectMapType &m);
- template<class SKIP> void Visit(GridRefManager<SKIP> &) {}
+ template<class SKIP> void Visit(GridRefManager<SKIP> &) { }
void SendPacket(Player* player)
{
@@ -160,10 +160,10 @@ namespace Trinity
struct ObjectUpdater
{
uint32 i_timeDiff;
- explicit ObjectUpdater(const uint32 diff) : i_timeDiff(diff) {}
+ explicit ObjectUpdater(const uint32 diff) : i_timeDiff(diff) { }
template<class T> void Visit(GridRefManager<T> &m);
- void Visit(PlayerMapType &) {}
- void Visit(CorpseMapType &) {}
+ void Visit(PlayerMapType &) { }
+ void Visit(CorpseMapType &) { }
void Visit(CreatureMapType &);
};
@@ -180,7 +180,7 @@ namespace Trinity
Check &i_check;
WorldObjectSearcher(WorldObject const* searcher, WorldObject* & result, Check& check, uint32 mapTypeMask = GRID_MAP_TYPE_MASK_ALL)
- : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(GameObjectMapType &m);
void Visit(PlayerMapType &m);
@@ -188,7 +188,7 @@ namespace Trinity
void Visit(CorpseMapType &m);
void Visit(DynamicObjectMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Check>
@@ -200,7 +200,7 @@ namespace Trinity
Check &i_check;
WorldObjectLastSearcher(WorldObject const* searcher, WorldObject* & result, Check& check, uint32 mapTypeMask = GRID_MAP_TYPE_MASK_ALL)
- : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(GameObjectMapType &m);
void Visit(PlayerMapType &m);
@@ -208,7 +208,7 @@ namespace Trinity
void Visit(CorpseMapType &m);
void Visit(DynamicObjectMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Check>
@@ -220,7 +220,7 @@ namespace Trinity
Check& i_check;
WorldObjectListSearcher(WorldObject const* searcher, std::list<WorldObject*> &objects, Check & check, uint32 mapTypeMask = GRID_MAP_TYPE_MASK_ALL)
- : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) {}
+ : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) { }
void Visit(PlayerMapType &m);
void Visit(CreatureMapType &m);
@@ -228,7 +228,7 @@ namespace Trinity
void Visit(GameObjectMapType &m);
void Visit(DynamicObjectMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Do>
@@ -239,7 +239,7 @@ namespace Trinity
Do const& i_do;
WorldObjectWorker(WorldObject const* searcher, Do const& _do, uint32 mapTypeMask = GRID_MAP_TYPE_MASK_ALL)
- : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_do(_do) {}
+ : i_mapTypeMask(mapTypeMask), i_phaseMask(searcher->GetPhaseMask()), i_do(_do) { }
void Visit(GameObjectMapType &m)
{
@@ -285,7 +285,7 @@ namespace Trinity
i_do(itr->GetSource());
}
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// Gameobject searchers
@@ -298,11 +298,11 @@ namespace Trinity
Check &i_check;
GameObjectSearcher(WorldObject const* searcher, GameObject* & result, Check& check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(GameObjectMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// Last accepted by Check GO if any (Check can change requirements at each call)
@@ -314,11 +314,11 @@ namespace Trinity
Check& i_check;
GameObjectLastSearcher(WorldObject const* searcher, GameObject* & result, Check& check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(GameObjectMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Check>
@@ -329,18 +329,18 @@ namespace Trinity
Check& i_check;
GameObjectListSearcher(WorldObject const* searcher, std::list<GameObject*> &objects, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) { }
void Visit(GameObjectMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Functor>
struct GameObjectWorker
{
GameObjectWorker(WorldObject const* searcher, Functor& func)
- : _func(func), _phaseMask(searcher->GetPhaseMask()) {}
+ : _func(func), _phaseMask(searcher->GetPhaseMask()) { }
void Visit(GameObjectMapType& m)
{
@@ -349,7 +349,7 @@ namespace Trinity
_func(itr->GetSource());
}
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
private:
Functor& _func;
@@ -367,12 +367,12 @@ namespace Trinity
Check & i_check;
UnitSearcher(WorldObject const* searcher, Unit* & result, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(CreatureMapType &m);
void Visit(PlayerMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// Last accepted by Check Unit if any (Check can change requirements at each call)
@@ -384,12 +384,12 @@ namespace Trinity
Check & i_check;
UnitLastSearcher(WorldObject const* searcher, Unit* & result, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(CreatureMapType &m);
void Visit(PlayerMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// All accepted by Check units if any
@@ -401,12 +401,12 @@ namespace Trinity
Check& i_check;
UnitListSearcher(WorldObject const* searcher, std::list<Unit*> &objects, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) { }
void Visit(PlayerMapType &m);
void Visit(CreatureMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// Creature searchers
@@ -419,11 +419,11 @@ namespace Trinity
Check & i_check;
CreatureSearcher(WorldObject const* searcher, Creature* & result, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(CreatureMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// Last accepted by Check Creature if any (Check can change requirements at each call)
@@ -435,11 +435,11 @@ namespace Trinity
Check & i_check;
CreatureLastSearcher(WorldObject const* searcher, Creature* & result, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(CreatureMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Check>
@@ -450,11 +450,11 @@ namespace Trinity
Check& i_check;
CreatureListSearcher(WorldObject const* searcher, std::list<Creature*> &objects, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) { }
void Visit(CreatureMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Do>
@@ -464,7 +464,7 @@ namespace Trinity
Do& i_do;
CreatureWorker(WorldObject const* searcher, Do& _do)
- : i_phaseMask(searcher->GetPhaseMask()), i_do(_do) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_do(_do) { }
void Visit(CreatureMapType &m)
{
@@ -473,7 +473,7 @@ namespace Trinity
i_do(itr->GetSource());
}
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// Player searchers
@@ -486,11 +486,11 @@ namespace Trinity
Check & i_check;
PlayerSearcher(WorldObject const* searcher, Player* & result, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_object(result), i_check(check) { }
void Visit(PlayerMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Check>
@@ -501,11 +501,11 @@ namespace Trinity
Check& i_check;
PlayerListSearcher(WorldObject const* searcher, std::list<Player*> &objects, Check & check)
- : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_objects(objects), i_check(check) { }
void Visit(PlayerMapType &m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Check>
@@ -521,7 +521,7 @@ namespace Trinity
void Visit(PlayerMapType& m);
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Do>
@@ -531,7 +531,7 @@ namespace Trinity
Do& i_do;
PlayerWorker(WorldObject const* searcher, Do& _do)
- : i_phaseMask(searcher->GetPhaseMask()), i_do(_do) {}
+ : i_phaseMask(searcher->GetPhaseMask()), i_do(_do) { }
void Visit(PlayerMapType &m)
{
@@ -540,7 +540,7 @@ namespace Trinity
i_do(itr->GetSource());
}
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
template<class Do>
@@ -551,7 +551,7 @@ namespace Trinity
Do& i_do;
PlayerDistWorker(WorldObject const* searcher, float _dist, Do& _do)
- : i_searcher(searcher), i_dist(_dist), i_do(_do) {}
+ : i_searcher(searcher), i_dist(_dist), i_do(_do) { }
void Visit(PlayerMapType &m)
{
@@ -560,7 +560,7 @@ namespace Trinity
i_do(itr->GetSource());
}
- template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) {}
+ template<class NOT_INTERESTED> void Visit(GridRefManager<NOT_INTERESTED> &) { }
};
// CHECKS && DO classes
@@ -570,7 +570,7 @@ namespace Trinity
class AnyDeadUnitObjectInRangeCheck
{
public:
- AnyDeadUnitObjectInRangeCheck(Unit* searchObj, float range) : i_searchObj(searchObj), i_range(range) {}
+ AnyDeadUnitObjectInRangeCheck(Unit* searchObj, float range) : i_searchObj(searchObj), i_range(range) { }
bool operator()(Player* u);
bool operator()(Corpse* u);
bool operator()(Creature* u);
@@ -585,7 +585,7 @@ namespace Trinity
public:
AnyDeadUnitSpellTargetInRangeCheck(Unit* searchObj, float range, SpellInfo const* spellInfo, SpellTargetCheckTypes check)
: AnyDeadUnitObjectInRangeCheck(searchObj, range), i_spellInfo(spellInfo), i_check(searchObj, searchObj, spellInfo, check, NULL)
- {}
+ { }
bool operator()(Player* u);
bool operator()(Corpse* u);
bool operator()(Creature* u);
@@ -600,11 +600,11 @@ namespace Trinity
class RespawnDo
{
public:
- RespawnDo() {}
+ RespawnDo() { }
void operator()(Creature* u) const { u->Respawn(); }
void operator()(GameObject* u) const { u->Respawn(); }
- void operator()(WorldObject*) const {}
- void operator()(Corpse*) const {}
+ void operator()(WorldObject*) const { }
+ void operator()(Corpse*) const { }
};
// GameObject checks
@@ -612,7 +612,7 @@ namespace Trinity
class GameObjectFocusCheck
{
public:
- GameObjectFocusCheck(Unit const* unit, uint32 focusId) : i_unit(unit), i_focusId(focusId) {}
+ GameObjectFocusCheck(Unit const* unit, uint32 focusId) : i_unit(unit), i_focusId(focusId) { }
bool operator()(GameObject* go) const
{
if (go->GetGOInfo()->type != GAMEOBJECT_TYPE_SPELL_FOCUS)
@@ -634,7 +634,7 @@ namespace Trinity
class NearestGameObjectFishingHole
{
public:
- NearestGameObjectFishingHole(WorldObject const& obj, float range) : i_obj(obj), i_range(range) {}
+ NearestGameObjectFishingHole(WorldObject const& obj, float range) : i_obj(obj), i_range(range) { }
bool operator()(GameObject* go)
{
if (go->GetGOInfo()->type == GAMEOBJECT_TYPE_FISHINGHOLE && go->isSpawned() && i_obj.IsWithinDistInMap(go, i_range) && i_obj.IsWithinDistInMap(go, (float)go->GetGOInfo()->fishinghole.radius))
@@ -656,7 +656,7 @@ namespace Trinity
class NearestGameObjectCheck
{
public:
- NearestGameObjectCheck(WorldObject const& obj) : i_obj(obj), i_range(999) {}
+ NearestGameObjectCheck(WorldObject const& obj) : i_obj(obj), i_range(999) { }
bool operator()(GameObject* go)
{
if (i_obj.IsWithinDistInMap(go, i_range))
@@ -679,7 +679,7 @@ namespace Trinity
class NearestGameObjectEntryInObjectRangeCheck
{
public:
- NearestGameObjectEntryInObjectRangeCheck(WorldObject const& obj, uint32 entry, float range) : i_obj(obj), i_entry(entry), i_range(range) {}
+ NearestGameObjectEntryInObjectRangeCheck(WorldObject const& obj, uint32 entry, float range) : i_obj(obj), i_entry(entry), i_range(range) { }
bool operator()(GameObject* go)
{
if (go->GetEntry() == i_entry && i_obj.IsWithinDistInMap(go, i_range))
@@ -703,7 +703,7 @@ namespace Trinity
class NearestGameObjectTypeInObjectRangeCheck
{
public:
- NearestGameObjectTypeInObjectRangeCheck(WorldObject const& obj, GameobjectTypes type, float range) : i_obj(obj), i_type(type), i_range(range) {}
+ NearestGameObjectTypeInObjectRangeCheck(WorldObject const& obj, GameobjectTypes type, float range) : i_obj(obj), i_type(type), i_range(range) { }
bool operator()(GameObject* go)
{
if (go->GetGoType() == i_type && i_obj.IsWithinDistInMap(go, i_range))
@@ -726,7 +726,7 @@ namespace Trinity
class GameObjectWithDbGUIDCheck
{
public:
- GameObjectWithDbGUIDCheck(WorldObject const& /*obj*/, uint32 db_guid) : i_db_guid(db_guid) {}
+ GameObjectWithDbGUIDCheck(WorldObject const& /*obj*/, uint32 db_guid) : i_db_guid(db_guid) { }
bool operator()(GameObject const* go) const
{
return go->GetDBTableGUIDLow() == i_db_guid;
@@ -740,7 +740,7 @@ namespace Trinity
class MostHPMissingInRange
{
public:
- MostHPMissingInRange(Unit const* obj, float range, uint32 hp) : i_obj(obj), i_range(range), i_hp(hp) {}
+ MostHPMissingInRange(Unit const* obj, float range, uint32 hp) : i_obj(obj), i_range(range), i_hp(hp) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && u->IsInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) && u->GetMaxHealth() - u->GetHealth() > i_hp)
@@ -759,7 +759,7 @@ namespace Trinity
class FriendlyCCedInRange
{
public:
- FriendlyCCedInRange(Unit const* obj, float range) : i_obj(obj), i_range(range) {}
+ FriendlyCCedInRange(Unit const* obj, float range) : i_obj(obj), i_range(range) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && u->IsInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) &&
@@ -777,7 +777,7 @@ namespace Trinity
class FriendlyMissingBuffInRange
{
public:
- FriendlyMissingBuffInRange(Unit const* obj, float range, uint32 spellid) : i_obj(obj), i_range(range), i_spell(spellid) {}
+ FriendlyMissingBuffInRange(Unit const* obj, float range, uint32 spellid) : i_obj(obj), i_range(range), i_spell(spellid) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && u->IsInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) &&
@@ -796,7 +796,7 @@ namespace Trinity
class AnyUnfriendlyUnitInObjectRangeCheck
{
public:
- AnyUnfriendlyUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range) : i_obj(obj), i_funit(funit), i_range(range) {}
+ AnyUnfriendlyUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range) : i_obj(obj), i_funit(funit), i_range(range) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range) && !i_funit->IsFriendlyTo(u))
@@ -813,7 +813,7 @@ namespace Trinity
class AnyUnfriendlyNoTotemUnitInObjectRangeCheck
{
public:
- AnyUnfriendlyNoTotemUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range) : i_obj(obj), i_funit(funit), i_range(range) {}
+ AnyUnfriendlyNoTotemUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range) : i_obj(obj), i_funit(funit), i_range(range) { }
bool operator()(Unit* u)
{
if (!u->IsAlive())
@@ -840,7 +840,7 @@ namespace Trinity
{
public:
AnyUnfriendlyAttackableVisibleUnitInObjectRangeCheck(Unit const* funit, float range)
- : i_funit(funit), i_range(range) {}
+ : i_funit(funit), i_range(range) { }
bool operator()(const Unit* u)
{
@@ -859,7 +859,7 @@ namespace Trinity
class CreatureWithDbGUIDCheck
{
public:
- CreatureWithDbGUIDCheck(WorldObject const* /*obj*/, uint32 lowguid) : i_lowguid(lowguid) {}
+ CreatureWithDbGUIDCheck(WorldObject const* /*obj*/, uint32 lowguid) : i_lowguid(lowguid) { }
bool operator()(Creature* u)
{
return u->GetDBTableGUIDLow() == i_lowguid;
@@ -871,7 +871,7 @@ namespace Trinity
class AnyFriendlyUnitInObjectRangeCheck
{
public:
- AnyFriendlyUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range, bool playerOnly = false) : i_obj(obj), i_funit(funit), i_range(range), i_playerOnly(playerOnly) {}
+ AnyFriendlyUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range, bool playerOnly = false) : i_obj(obj), i_funit(funit), i_range(range), i_playerOnly(playerOnly) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range) && i_funit->IsFriendlyTo(u) && (!i_playerOnly || u->GetTypeId() == TYPEID_PLAYER))
@@ -889,7 +889,7 @@ namespace Trinity
class AnyGroupedUnitInObjectRangeCheck
{
public:
- AnyGroupedUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range, bool raid) : _source(obj), _refUnit(funit), _range(range), _raid(raid) {}
+ AnyGroupedUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range, bool raid) : _source(obj), _refUnit(funit), _range(range), _raid(raid) { }
bool operator()(Unit* u)
{
if (G3D::fuzzyEq(_range, 0))
@@ -916,7 +916,7 @@ namespace Trinity
class AnyUnitInObjectRangeCheck
{
public:
- AnyUnitInObjectRangeCheck(WorldObject const* obj, float range) : i_obj(obj), i_range(range) {}
+ AnyUnitInObjectRangeCheck(WorldObject const* obj, float range) : i_obj(obj), i_range(range) { }
bool operator()(Unit* u)
{
if (u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range))
@@ -933,7 +933,7 @@ namespace Trinity
class NearestAttackableUnitInObjectRangeCheck
{
public:
- NearestAttackableUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range) : i_obj(obj), i_funit(funit), i_range(range) {}
+ NearestAttackableUnitInObjectRangeCheck(WorldObject const* obj, Unit const* funit, float range) : i_obj(obj), i_funit(funit), i_range(range) { }
bool operator()(Unit* u)
{
if (u->isTargetableForAttack() && i_obj->IsWithinDistInMap(u, i_range) &&
@@ -993,7 +993,7 @@ namespace Trinity
public:
CallOfHelpCreatureInRangeDo(Unit* funit, Unit* enemy, float range)
: i_funit(funit), i_enemy(enemy), i_range(range)
- {}
+ { }
void operator()(Creature* u)
{
if (u == i_funit)
@@ -1161,7 +1161,7 @@ namespace Trinity
{
public:
NearestAssistCreatureInCreatureRangeCheck(Creature* obj, Unit* enemy, float range)
- : i_obj(obj), i_enemy(enemy), i_range(range) {}
+ : i_obj(obj), i_enemy(enemy), i_range(range) { }
bool operator()(Creature* u)
{
@@ -1194,7 +1194,7 @@ namespace Trinity
{
public:
NearestCreatureEntryWithLiveStateInObjectRangeCheck(WorldObject const& obj, uint32 entry, bool alive, float range)
- : i_obj(obj), i_entry(entry), i_alive(alive), i_range(range) {}
+ : i_obj(obj), i_entry(entry), i_alive(alive), i_range(range) { }
bool operator()(Creature* u)
{
@@ -1219,7 +1219,7 @@ namespace Trinity
class AnyPlayerInObjectRangeCheck
{
public:
- AnyPlayerInObjectRangeCheck(WorldObject const* obj, float range, bool reqAlive = true) : _obj(obj), _range(range), _reqAlive(reqAlive) {}
+ AnyPlayerInObjectRangeCheck(WorldObject const* obj, float range, bool reqAlive = true) : _obj(obj), _range(range), _reqAlive(reqAlive) { }
bool operator()(Player* u)
{
if (_reqAlive && !u->IsAlive())
@@ -1264,7 +1264,7 @@ namespace Trinity
class AllFriendlyCreaturesInGrid
{
public:
- AllFriendlyCreaturesInGrid(Unit const* obj) : unit(obj) {}
+ AllFriendlyCreaturesInGrid(Unit const* obj) : unit(obj) { }
bool operator() (Unit* u)
{
if (u->IsAlive() && u->IsVisible() && u->IsFriendlyTo(unit))
@@ -1279,7 +1279,7 @@ namespace Trinity
class AllGameObjectsWithEntryInRange
{
public:
- AllGameObjectsWithEntryInRange(const WorldObject* object, uint32 entry, float maxRange) : m_pObject(object), m_uiEntry(entry), m_fRange(maxRange) {}
+ AllGameObjectsWithEntryInRange(const WorldObject* object, uint32 entry, float maxRange) : m_pObject(object), m_uiEntry(entry), m_fRange(maxRange) { }
bool operator() (GameObject* go)
{
if (go->GetEntry() == m_uiEntry && m_pObject->IsWithinDist(go, m_fRange, false))
@@ -1296,7 +1296,7 @@ namespace Trinity
class AllCreaturesOfEntryInRange
{
public:
- AllCreaturesOfEntryInRange(const WorldObject* object, uint32 entry, float maxRange) : m_pObject(object), m_uiEntry(entry), m_fRange(maxRange) {}
+ AllCreaturesOfEntryInRange(const WorldObject* object, uint32 entry, float maxRange) : m_pObject(object), m_uiEntry(entry), m_fRange(maxRange) { }
bool operator() (Unit* unit)
{
if (unit->GetEntry() == m_uiEntry && m_pObject->IsWithinDist(unit, m_fRange, false))
@@ -1314,7 +1314,7 @@ namespace Trinity
class PlayerAtMinimumRangeAway
{
public:
- PlayerAtMinimumRangeAway(Unit const* unit, float fMinRange) : unit(unit), fRange(fMinRange) {}
+ PlayerAtMinimumRangeAway(Unit const* unit, float fMinRange) : unit(unit), fRange(fMinRange) { }
bool operator() (Player* player)
{
//No threat list check, must be done explicit if expected to be in combat with creature
@@ -1333,7 +1333,7 @@ namespace Trinity
{
public:
GameObjectInRangeCheck(float _x, float _y, float _z, float _range, uint32 _entry = 0) :
- x(_x), y(_y), z(_z), range(_range), entry(_entry) {}
+ x(_x), y(_y), z(_z), range(_range), entry(_entry) { }
bool operator() (GameObject* go)
{
if (!entry || (go->GetGOInfo() && go->GetGOInfo()->entry == entry))
@@ -1348,7 +1348,7 @@ namespace Trinity
class AllWorldObjectsInRange
{
public:
- AllWorldObjectsInRange(const WorldObject* object, float maxRange) : m_pObject(object), m_fRange(maxRange) {}
+ AllWorldObjectsInRange(const WorldObject* object, float maxRange) : m_pObject(object), m_fRange(maxRange) { }
bool operator() (WorldObject* go)
{
return m_pObject->IsWithinDist(go, m_fRange, false) && m_pObject->InSamePhase(go);
@@ -1361,7 +1361,7 @@ namespace Trinity
class ObjectTypeIdCheck
{
public:
- ObjectTypeIdCheck(TypeID typeId, bool equals) : _typeId(typeId), _equals(equals) {}
+ ObjectTypeIdCheck(TypeID typeId, bool equals) : _typeId(typeId), _equals(equals) { }
bool operator()(WorldObject* object)
{
return (object->GetTypeId() == _typeId) == _equals;
@@ -1375,7 +1375,7 @@ namespace Trinity
class ObjectGUIDCheck
{
public:
- ObjectGUIDCheck(uint64 GUID) : _GUID(GUID) {}
+ ObjectGUIDCheck(uint64 GUID) : _GUID(GUID) { }
bool operator()(WorldObject* object)
{
return object->GetGUID() == _GUID;
@@ -1388,7 +1388,7 @@ namespace Trinity
class UnitAuraCheck
{
public:
- UnitAuraCheck(bool present, uint32 spellId, uint64 casterGUID = 0) : _present(present), _spellId(spellId), _casterGUID(casterGUID) {}
+ UnitAuraCheck(bool present, uint32 spellId, uint64 casterGUID = 0) : _present(present), _spellId(spellId), _casterGUID(casterGUID) { }
bool operator()(Unit* unit) const
{
return unit->HasAura(_spellId, _casterGUID) == _present;
@@ -1412,7 +1412,7 @@ namespace Trinity
class LocalizedPacketDo
{
public:
- explicit LocalizedPacketDo(Builder& builder) : i_builder(builder) {}
+ explicit LocalizedPacketDo(Builder& builder) : i_builder(builder) { }
~LocalizedPacketDo()
{
@@ -1432,7 +1432,7 @@ namespace Trinity
{
public:
typedef std::vector<WorldPacket*> WorldPacketList;
- explicit LocalizedPacketListDo(Builder& builder) : i_builder(builder) {}
+ explicit LocalizedPacketListDo(Builder& builder) : i_builder(builder) { }
~LocalizedPacketListDo()
{
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp
index 58a5bbbff06..e43c624018e 100644
--- a/src/server/game/Grids/ObjectGridLoader.cpp
+++ b/src/server/game/Grids/ObjectGridLoader.cpp
@@ -43,6 +43,20 @@ void ObjectGridEvacuator::Visit(CreatureMapType &m)
}
}
+void ObjectGridEvacuator::Visit(GameObjectMapType &m)
+{
+ // gameobject in unloading grid can have respawn point in another grid
+ // if it will be unloaded then it will not respawn in original grid until unload/load original grid
+ // move to respawn point to prevent this case. For player view in respawn grid this will be normal respawn.
+ for (GameObjectMapType::iterator iter = m.begin(); iter != m.end();)
+ {
+ GameObject* go = iter->GetSource();
+ ++iter;
+
+ go->GetMap()->GameObjectRespawnRelocation(go, true);
+ }
+}
+
// for loading world object at grid loading (Corpses)
/// @todo to implement npc on transport, also need to load npcs at grid loading
class ObjectWorldLoader
@@ -50,7 +64,7 @@ class ObjectWorldLoader
public:
explicit ObjectWorldLoader(ObjectGridLoader& gloader)
: i_cell(gloader.i_cell), i_map(gloader.i_map), i_corpses (0)
- {}
+ { }
void Visit(CorpseMapType &m);
@@ -63,19 +77,31 @@ class ObjectWorldLoader
uint32 i_corpses;
};
-template<class T> void ObjectGridLoader::SetObjectCell(T* /*obj*/, CellCoord const& /*cellCoord*/)
-{
-}
+template<class T> void ObjectGridLoader::SetObjectCell(T* /*obj*/, CellCoord const& /*cellCoord*/) { }
template<> void ObjectGridLoader::SetObjectCell(Creature* obj, CellCoord const& cellCoord)
{
Cell cell(cellCoord);
+ obj->SetCurrentCell(cell);
+}
+template<> void ObjectGridLoader::SetObjectCell(GameObject* obj, CellCoord const& cellCoord)
+{
+ Cell cell(cellCoord);
obj->SetCurrentCell(cell);
}
template <class T>
-void AddObjectHelper(CellCoord &cell, GridRefManager<T> &m, uint32 &count, Map* map, T *obj)
+void AddObjectHelper(CellCoord &cell, GridRefManager<T> &m, uint32 &count, Map* /*map*/, T *obj)
+{
+ obj->AddToGrid(m);
+ ObjectGridLoader::SetObjectCell(obj, cell);
+ obj->AddToWorld();
+ ++count;
+}
+
+template <>
+void AddObjectHelper(CellCoord &cell, CreatureMapType &m, uint32 &count, Map* map, Creature *obj)
{
obj->AddToGrid(m);
ObjectGridLoader::SetObjectCell(obj, cell);
diff --git a/src/server/game/Grids/ObjectGridLoader.h b/src/server/game/Grids/ObjectGridLoader.h
index 11f91670a5f..da3baa9c03c 100644
--- a/src/server/game/Grids/ObjectGridLoader.h
+++ b/src/server/game/Grids/ObjectGridLoader.h
@@ -34,12 +34,12 @@ class ObjectGridLoader
public:
ObjectGridLoader(NGridType &grid, Map* map, const Cell &cell)
: i_cell(cell), i_grid(grid), i_map(map), i_gameObjects(0), i_creatures(0), i_corpses (0)
- {}
+ { }
void Visit(GameObjectMapType &m);
void Visit(CreatureMapType &m);
- void Visit(CorpseMapType &) const {}
- void Visit(DynamicObjectMapType&) const {}
+ void Visit(CorpseMapType &) const { }
+ void Visit(DynamicObjectMapType&) const { }
void LoadN(void);
@@ -59,7 +59,7 @@ class ObjectGridStoper
{
public:
void Visit(CreatureMapType &m);
- template<class T> void Visit(GridRefManager<T> &) {}
+ template<class T> void Visit(GridRefManager<T> &) { }
};
//Move the foreign creatures back to respawn positions before unloading the NGrid
@@ -67,7 +67,8 @@ class ObjectGridEvacuator
{
public:
void Visit(CreatureMapType &m);
- template<class T> void Visit(GridRefManager<T> &) {}
+ void Visit(GameObjectMapType &m);
+ template<class T> void Visit(GridRefManager<T> &) { }
};
//Clean up and remove from world
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index 8ec6aac9d4e..e5d737a7b36 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -39,13 +39,9 @@
Roll::Roll(uint64 _guid, LootItem const& li) : itemGUID(_guid), itemid(li.itemid),
itemRandomPropId(li.randomPropertyId), itemRandomSuffix(li.randomSuffix), itemCount(li.count),
totalPlayersRolling(0), totalNeed(0), totalGreed(0), totalPass(0), itemSlot(0),
-rollVoteMask(ROLL_ALL_TYPE_NO_DISENCHANT)
-{
-}
+rollVoteMask(ROLL_ALL_TYPE_NO_DISENCHANT) { }
-Roll::~Roll()
-{
-}
+Roll::~Roll() { }
void Roll::setLoot(Loot* pLoot)
{
diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h
index 356a1a59663..0f55aba464c 100644
--- a/src/server/game/Groups/Group.h
+++ b/src/server/game/Groups/Group.h
@@ -152,7 +152,7 @@ struct InstanceGroupBind
bool perm;
/* permanent InstanceGroupBinds exist if the leader has a permanent
PlayerInstanceBind for the same instance. */
- InstanceGroupBind() : save(NULL), perm(false) {}
+ InstanceGroupBind() : save(NULL), perm(false) { }
};
/** request member stats checken **/
diff --git a/src/server/game/Groups/GroupReference.h b/src/server/game/Groups/GroupReference.h
index 6c68710aeb5..6e323eefa27 100644
--- a/src/server/game/Groups/GroupReference.h
+++ b/src/server/game/Groups/GroupReference.h
@@ -32,7 +32,7 @@ class GroupReference : public Reference<Group, Player>
void targetObjectDestroyLink();
void sourceObjectDestroyLink();
public:
- GroupReference() : Reference<Group, Player>(), iSubGroup(0) {}
+ GroupReference() : Reference<Group, Player>(), iSubGroup(0) { }
~GroupReference() { unlink(); }
GroupReference* next() { return (GroupReference*)Reference<Group, Player>::next(); }
GroupReference const* next() const { return (GroupReference const*)Reference<Group, Player>::next(); }
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 031febc3806..1a3e48c8217 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -1764,7 +1764,7 @@ bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint32 amount, bool
{
//clamp amount to MAX_MONEY_AMOUNT, Players can't hold more than that anyway
amount = std::min(amount, uint32(MAX_MONEY_AMOUNT));
-
+
if (m_bankMoney < amount) // Not enough money in bank
return false;
diff --git a/src/server/game/Handlers/AddonHandler.cpp b/src/server/game/Handlers/AddonHandler.cpp
index 7110768cf1f..31404113eca 100644
--- a/src/server/game/Handlers/AddonHandler.cpp
+++ b/src/server/game/Handlers/AddonHandler.cpp
@@ -22,13 +22,9 @@
#include "Opcodes.h"
#include "Log.h"
-AddonHandler::AddonHandler()
-{
-}
+AddonHandler::AddonHandler() { }
-AddonHandler::~AddonHandler()
-{
-}
+AddonHandler::~AddonHandler() { }
bool AddonHandler::BuildAddonPacket(WorldPacket* source, WorldPacket* target)
{
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 8570ad03220..35f1bbbdb56 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -503,7 +503,7 @@ namespace Trinity
{
public:
EmoteChatBuilder(Player const& player, uint32 text_emote, uint32 emote_num, Unit const* target)
- : i_player(player), i_text_emote(text_emote), i_emote_num(emote_num), i_target(target) {}
+ : i_player(player), i_text_emote(text_emote), i_emote_num(emote_num), i_target(target) { }
void operator()(WorldPacket& data, LocaleConstant loc_idx)
{
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 5f458edbb07..d9727ea7ded 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -382,7 +382,7 @@ void WorldSession::HandleItemQuerySingleOpcode(WorldPacket& recvData)
else
{
data << uint32(spell->RecoveryTime);
- data << uint32(spell->Category);
+ data << uint32(spell->GetCategory());
data << uint32(spell->CategoryRecoveryTime);
}
}
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 1faa68b6ea4..955f6b3c456 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -303,30 +303,21 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvData)
{
if (!plrMover->GetTransport())
{
- // elevators also cause the client to send MOVEMENTFLAG_ONTRANSPORT - just dismount if the guid can be found in the transport list
- for (MapManager::TransportSet::const_iterator iter = sMapMgr->m_Transports.begin(); iter != sMapMgr->m_Transports.end(); ++iter)
+ if (Transport* transport = plrMover->GetMap()->GetTransport(movementInfo.transport.guid))
{
- if ((*iter)->GetGUID() == movementInfo.transport.guid)
- {
- plrMover->m_transport = *iter;
- (*iter)->AddPassenger(plrMover);
- break;
- }
+ plrMover->m_transport = transport;
+ transport->AddPassenger(plrMover);
}
}
else if (plrMover->GetTransport()->GetGUID() != movementInfo.transport.guid)
{
bool foundNewTransport = false;
plrMover->m_transport->RemovePassenger(plrMover);
- for (MapManager::TransportSet::const_iterator iter = sMapMgr->m_Transports.begin(); iter != sMapMgr->m_Transports.end(); ++iter)
+ if (Transport* transport = plrMover->GetMap()->GetTransport(movementInfo.transport.guid))
{
- if ((*iter)->GetGUID() == movementInfo.transport.guid)
- {
- foundNewTransport = true;
- plrMover->m_transport = *iter;
- (*iter)->AddPassenger(plrMover);
- break;
- }
+ foundNewTransport = true;
+ plrMover->m_transport = transport;
+ transport->AddPassenger(plrMover);
}
if (!foundNewTransport)
@@ -363,7 +354,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvData)
uint32 mstime = getMSTime();
/*----------------------*/
- if(m_clientTimeDelay == 0)
+ if (m_clientTimeDelay == 0)
m_clientTimeDelay = mstime - movementInfo.time;
/* process position-change */
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index 418709c8407..791e2d4c816 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -476,9 +476,7 @@ void WorldSession::HandlePetCancelAuraOpcode(WorldPacket& recvPacket)
pet->AddCreatureSpellCooldown(spellId);
}
-void WorldSession::HandleCancelGrowthAuraOpcode(WorldPacket& /*recvPacket*/)
-{
-}
+void WorldSession::HandleCancelGrowthAuraOpcode(WorldPacket& /*recvPacket*/) { }
void WorldSession::HandleCancelAutoRepeatSpellOpcode(WorldPacket& /*recvPacket*/)
{
diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp
index d7ffb70ccfa..d552f822f0a 100644
--- a/src/server/game/Instances/InstanceSaveMgr.cpp
+++ b/src/server/game/Instances/InstanceSaveMgr.cpp
@@ -163,9 +163,7 @@ void InstanceSaveManager::RemoveInstanceSave(uint32 InstanceId)
InstanceSave::InstanceSave(uint16 MapId, uint32 InstanceId, Difficulty difficulty, time_t resetTime, bool canReset)
: m_resetTime(resetTime), m_instanceid(InstanceId), m_mapid(MapId),
- m_difficulty(difficulty), m_canReset(canReset), m_toDelete(false)
-{
-}
+ m_difficulty(difficulty), m_canReset(canReset), m_toDelete(false) { }
InstanceSave::~InstanceSave()
{
diff --git a/src/server/game/Instances/InstanceSaveMgr.h b/src/server/game/Instances/InstanceSaveMgr.h
index e3717a934c3..5dda4eb620e 100644
--- a/src/server/game/Instances/InstanceSaveMgr.h
+++ b/src/server/game/Instances/InstanceSaveMgr.h
@@ -148,7 +148,7 @@ class InstanceSaveManager
friend class InstanceSave;
private:
- InstanceSaveManager() : lock_instLists(false) {};
+ InstanceSaveManager() : lock_instLists(false) { };
~InstanceSaveManager();
public:
@@ -163,9 +163,9 @@ class InstanceSaveManager
uint16 mapid;
uint16 instanceId;
- InstResetEvent() : type(0), difficulty(DUNGEON_DIFFICULTY_NORMAL), mapid(0), instanceId(0) {}
+ InstResetEvent() : type(0), difficulty(DUNGEON_DIFFICULTY_NORMAL), mapid(0), instanceId(0) { }
InstResetEvent(uint8 t, uint32 _mapid, Difficulty d, uint16 _instanceid)
- : type(t), difficulty(d), mapid(_mapid), instanceId(_instanceid) {}
+ : type(t), difficulty(d), mapid(_mapid), instanceId(_instanceid) { }
bool operator == (const InstResetEvent& e) const { return e.instanceId == instanceId; }
};
typedef std::multimap<time_t /*resetTime*/, InstResetEvent> ResetTimeQueue;
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h
index 943ae672046..2a2faacd200 100644
--- a/src/server/game/Instances/InstanceScript.h
+++ b/src/server/game/Instances/InstanceScript.h
@@ -101,7 +101,7 @@ struct MinionData
struct BossInfo
{
- BossInfo() : state(TO_BE_DECIDED) {}
+ BossInfo() : state(TO_BE_DECIDED) { }
EncounterState state;
DoorSet door[MAX_DOOR_TYPES];
MinionSet minion;
@@ -111,7 +111,7 @@ struct BossInfo
struct DoorInfo
{
explicit DoorInfo(BossInfo* _bossInfo, DoorType _type, BoundaryType _boundary)
- : bossInfo(_bossInfo), type(_type), boundary(_boundary) {}
+ : bossInfo(_bossInfo), type(_type), boundary(_boundary) { }
BossInfo* bossInfo;
DoorType type;
BoundaryType boundary;
@@ -119,7 +119,7 @@ struct DoorInfo
struct MinionInfo
{
- explicit MinionInfo(BossInfo* _bossInfo) : bossInfo(_bossInfo) {}
+ explicit MinionInfo(BossInfo* _bossInfo) : bossInfo(_bossInfo) { }
BossInfo* bossInfo;
};
@@ -131,14 +131,14 @@ typedef std::map<uint32 /*entry*/, MinionInfo> MinionInfoMap;
class InstanceScript : public ZoneScript
{
public:
- explicit InstanceScript(Map* map) : instance(map), completedEncounters(0) {}
+ explicit InstanceScript(Map* map) : instance(map), completedEncounters(0) { }
- virtual ~InstanceScript() {}
+ virtual ~InstanceScript() { }
Map* instance;
//On creation, NOT load.
- virtual void Initialize() {}
+ virtual void Initialize() { }
//On load
virtual void Load(char const* data) { LoadBossState(data); }
@@ -148,14 +148,14 @@ class InstanceScript : public ZoneScript
void SaveToDB();
- virtual void Update(uint32 /*diff*/) {}
+ virtual void Update(uint32 /*diff*/) { }
//Used by the map's CanEnter function.
//This is to prevent players from entering during boss encounters.
virtual bool IsEncounterInProgress() const;
//Called when a player successfully enters the instance.
- virtual void OnPlayerEnter(Player* /*player*/) {}
+ virtual void OnPlayerEnter(Player* /*player*/) { }
//Handle open / close objects
//use HandleGameObject(0, boolen, GO); in OnObjectCreate in instance scripts
@@ -212,7 +212,7 @@ class InstanceScript : public ZoneScript
void SendEncounterUnit(uint32 type, Unit* unit = NULL, uint8 param1 = 0, uint8 param2 = 0);
- virtual void FillInitialWorldStates(WorldPacket& /*data*/) {}
+ virtual void FillInitialWorldStates(WorldPacket& /*data*/) { }
protected:
void SetBossNumber(uint32 number) { bosses.resize(number); }
diff --git a/src/server/game/Loot/LootMgr.h b/src/server/game/Loot/LootMgr.h
index c2f74aab701..895d09fe7ad 100644
--- a/src/server/game/Loot/LootMgr.h
+++ b/src/server/game/Loot/LootMgr.h
@@ -117,7 +117,7 @@ struct LootStoreItem
LootStoreItem(uint32 _itemid, float _chanceOrQuestChance, uint16 _lootmode, uint8 _group, int32 _mincountOrRef, uint8 _maxcount)
: itemid(_itemid), chance(fabs(_chanceOrQuestChance)), mincountOrRef(_mincountOrRef), lootmode(_lootmode),
group(_group), needs_quest(_chanceOrQuestChance < 0), maxcount(_maxcount)
- {}
+ { }
bool Roll(bool rate) const; // Checks if the entry takes it's chance (at loot generation)
bool IsValid(LootStore const& store, uint32 entry) const;
@@ -148,7 +148,7 @@ struct LootItem
explicit LootItem(LootStoreItem const& li);
// Empty constructor for creating an empty LootItem to be filled in with DB data
- LootItem() : canSave(true){};
+ LootItem() : canSave(true){ };
// Basic checks for player/item compatibility - if false no chance to see the item in the loot
bool AllowedForPlayer(Player const* player) const;
@@ -162,10 +162,10 @@ struct QuestItem
bool is_looted;
QuestItem()
- : index(0), is_looted(false) {}
+ : index(0), is_looted(false) { }
QuestItem(uint8 _index, bool _islooted = false)
- : index(_index), is_looted(_islooted) {}
+ : index(_index), is_looted(_islooted) { }
};
struct Loot;
@@ -183,7 +183,7 @@ class LootStore
{
public:
explicit LootStore(char const* name, char const* entryName, bool ratesAllowed)
- : m_name(name), m_entryName(entryName), m_ratesAllowed(ratesAllowed) {}
+ : m_name(name), m_entryName(entryName), m_ratesAllowed(ratesAllowed) { }
virtual ~LootStore() { Clear(); }
@@ -256,9 +256,9 @@ class LootTemplate
class LootValidatorRef : public Reference<Loot, LootValidatorRef>
{
public:
- LootValidatorRef() {}
- void targetObjectDestroyLink() {}
- void sourceObjectDestroyLink() {}
+ LootValidatorRef() { }
+ void targetObjectDestroyLink() { }
+ void sourceObjectDestroyLink() { }
};
//=====================================================
@@ -303,7 +303,7 @@ struct Loot
// Only set for inventory items that can be right-click looted
uint32 containerID;
- Loot(uint32 _gold = 0) : gold(_gold), unlootedCount(0), loot_type(LOOT_CORPSE), maxDuplicates(1), containerID(0) {}
+ Loot(uint32 _gold = 0) : gold(_gold), unlootedCount(0), loot_type(LOOT_CORPSE), maxDuplicates(1), containerID(0) { }
~Loot() { clear(); }
// For deleting items at loot removal since there is no backward interface to the Item()
@@ -381,7 +381,7 @@ struct LootView
Player* viewer;
PermissionTypes permission;
LootView(Loot &_loot, Player* _viewer, PermissionTypes _permission = ALL_PERMISSION)
- : loot(_loot), viewer(_viewer), permission(_permission) {}
+ : loot(_loot), viewer(_viewer), permission(_permission) { }
};
extern LootStore LootTemplates_Creature;
diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp
index 2fa0a03e63f..fd4bcbd5dc0 100644
--- a/src/server/game/Mails/Mail.cpp
+++ b/src/server/game/Mails/Mail.cpp
@@ -62,9 +62,7 @@ MailSender::MailSender(CalendarEvent* sender)
}
MailSender::MailSender(AuctionEntry* sender)
- : m_messageType(MAIL_AUCTION), m_senderId(sender->GetHouseId()), m_stationery(MAIL_STATIONERY_AUCTION)
-{
-}
+ : m_messageType(MAIL_AUCTION), m_senderId(sender->GetHouseId()), m_stationery(MAIL_STATIONERY_AUCTION) { }
MailSender::MailSender(Player* sender)
{
@@ -73,9 +71,7 @@ MailSender::MailSender(Player* sender)
m_senderId = sender->GetGUIDLow();
}
-MailReceiver::MailReceiver(Player* receiver) : m_receiver(receiver), m_receiver_lowguid(receiver->GetGUIDLow())
-{
-}
+MailReceiver::MailReceiver(Player* receiver) : m_receiver(receiver), m_receiver_lowguid(receiver->GetGUIDLow()) { }
MailReceiver::MailReceiver(Player* receiver, uint32 receiver_lowguid) : m_receiver(receiver), m_receiver_lowguid(receiver_lowguid)
{
diff --git a/src/server/game/Mails/Mail.h b/src/server/game/Mails/Mail.h
index 6357d70e4a7..d4553233b64 100644
--- a/src/server/game/Mails/Mail.h
+++ b/src/server/game/Mails/Mail.h
@@ -102,7 +102,7 @@ class MailSender
class MailReceiver
{
public: // Constructors
- explicit MailReceiver(uint32 receiver_lowguid) : m_receiver(NULL), m_receiver_lowguid(receiver_lowguid) {}
+ explicit MailReceiver(uint32 receiver_lowguid) : m_receiver(NULL), m_receiver_lowguid(receiver_lowguid) { }
MailReceiver(Player* receiver);
MailReceiver(Player* receiver, uint32 receiver_lowguid);
public: // Accessors
@@ -120,9 +120,9 @@ class MailDraft
public: // Constructors
explicit MailDraft(uint16 mailTemplateId, bool need_items = true)
: m_mailTemplateId(mailTemplateId), m_mailTemplateItemsNeed(need_items), m_money(0), m_COD(0)
- {}
+ { }
MailDraft(std::string const& subject, std::string const& body)
- : m_mailTemplateId(0), m_mailTemplateItemsNeed(false), m_subject(subject), m_body(body), m_money(0), m_COD(0) {}
+ : m_mailTemplateId(0), m_mailTemplateItemsNeed(false), m_subject(subject), m_body(body), m_money(0), m_COD(0) { }
public: // Accessors
uint16 GetMailTemplateId() const { return m_mailTemplateId; }
std::string const& GetSubject() const { return m_subject; }
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index aaeb06462ef..3692029fa17 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -63,6 +63,19 @@ Map::~Map()
obj->ResetMap();
}
+ for (TransportsContainer::iterator itr = _transports.begin(); itr != _transports.end();)
+ {
+ Transport* transport = *itr;
+ ++itr;
+
+ // Destroy local transports
+ if (transport->GetTransportTemplate()->inInstance)
+ {
+ transport->RemoveFromWorld();
+ delete transport;
+ }
+ }
+
if (!m_scriptSchedule.empty())
sScriptMgr->DecreaseScheduledScriptCount(m_scriptSchedule.size());
@@ -223,10 +236,12 @@ void Map::DeleteStateMachine()
}
Map::Map(uint32 id, time_t expiry, uint32 InstanceId, uint8 SpawnMode, Map* _parent):
-_creatureToMoveLock(false), i_mapEntry (sMapStore.LookupEntry(id)), i_spawnMode(SpawnMode), i_InstanceId(InstanceId),
+_creatureToMoveLock(false), _gameObjectsToMoveLock(false),
+i_mapEntry(sMapStore.LookupEntry(id)), i_spawnMode(SpawnMode), i_InstanceId(InstanceId),
m_unloadTimer(0), m_VisibleDistance(DEFAULT_VISIBILITY_DISTANCE),
m_VisibilityNotifyPeriod(DEFAULT_VISIBILITY_NOTIFY_PERIOD),
-m_activeNonPlayersIter(m_activeNonPlayers.end()), i_gridExpiry(expiry),
+m_activeNonPlayersIter(m_activeNonPlayers.end()), _transportsUpdateIter(_transports.end()),
+i_gridExpiry(expiry),
i_scriptLock(false)
{
m_parentMap = (_parent ? _parent : this);
@@ -276,6 +291,19 @@ void Map::AddToGrid(Creature* obj, Cell const& cell)
obj->SetCurrentCell(cell);
}
+template<>
+void Map::AddToGrid(GameObject* obj, Cell const& cell)
+{
+ NGridType* grid = getNGrid(cell.GridX(), cell.GridY());
+ grid->GetGridType(cell.CellX(), cell.CellY()).AddGridObject(obj);
+
+ obj->SetCurrentCell(cell);
+}
+
+template<class T>
+void Map::SwitchGridContainers(T* /*obj*/, bool /*on*/) { }
+
+template<>
void Map::SwitchGridContainers(Creature* obj, bool on)
{
ASSERT(!obj->IsPermanentWorldObject());
@@ -297,6 +325,7 @@ void Map::SwitchGridContainers(Creature* obj, bool on)
GridType &grid = ngrid->GetGridType(cell.CellX(), cell.CellY());
obj->RemoveFromGrid(); //This step is not really necessary but we want to do ASSERT in remove/add
+
if (on)
{
grid.AddWorldObject(obj);
@@ -307,9 +336,45 @@ void Map::SwitchGridContainers(Creature* obj, bool on)
grid.AddGridObject(obj);
RemoveWorldObject(obj);
}
+
obj->m_isTempWorldObject = on;
}
+template<>
+void Map::SwitchGridContainers(GameObject* obj, bool on)
+{
+ ASSERT(!obj->IsPermanentWorldObject());
+ CellCoord p = Trinity::ComputeCellCoord(obj->GetPositionX(), obj->GetPositionY());
+ if (!p.IsCoordValid())
+ {
+ TC_LOG_ERROR(LOG_FILTER_MAPS, "Map::SwitchGridContainers: Object " UI64FMTD " has invalid coordinates X:%f Y:%f grid cell [%u:%u]", obj->GetGUID(), obj->GetPositionX(), obj->GetPositionY(), p.x_coord, p.y_coord);
+ return;
+ }
+
+ Cell cell(p);
+ if (!IsGridLoaded(GridCoord(cell.data.Part.grid_x, cell.data.Part.grid_y)))
+ return;
+
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "Switch object " UI64FMTD " from grid[%u, %u] %u", obj->GetGUID(), cell.data.Part.grid_x, cell.data.Part.grid_y, on);
+ NGridType *ngrid = getNGrid(cell.GridX(), cell.GridY());
+ ASSERT(ngrid != NULL);
+
+ GridType &grid = ngrid->GetGridType(cell.CellX(), cell.CellY());
+
+ obj->RemoveFromGrid(); //This step is not really necessary but we want to do ASSERT in remove/add
+
+ if (on)
+ {
+ grid.AddWorldObject(obj);
+ AddWorldObject(obj);
+ }
+ else
+ {
+ grid.AddGridObject(obj);
+ RemoveWorldObject(obj);
+ }
+}
+
template<class T>
void Map::DeleteFromWorld(T* obj)
{
@@ -431,18 +496,22 @@ bool Map::AddPlayerToMap(Player* player)
}
template<class T>
-void Map::InitializeObject(T* /*obj*/)
+void Map::InitializeObject(T* /*obj*/) { }
+
+template<>
+void Map::InitializeObject(Creature* obj)
{
+ obj->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
}
template<>
-void Map::InitializeObject(Creature* obj)
+void Map::InitializeObject(GameObject* obj)
{
- obj->_moveState = CREATURE_CELL_MOVE_NONE;
+ obj->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
}
template<class T>
-bool Map::AddToMap(T *obj)
+bool Map::AddToMap(T* obj)
{
/// @todo Needs clean up. An object should not be added to map twice.
if (obj->IsInWorld())
@@ -486,6 +555,26 @@ bool Map::AddToMap(T *obj)
return true;
}
+template<>
+bool Map::AddToMap(Transport* obj)
+{
+ //TODO: Needs clean up. An object should not be added to map twice.
+ if (obj->IsInWorld())
+ return true;
+
+ CellCoord cellCoord = Trinity::ComputeCellCoord(obj->GetPositionX(), obj->GetPositionY());
+ if (!cellCoord.IsCoordValid())
+ {
+ TC_LOG_ERROR(LOG_FILTER_MAPS, "Map::Add: Object " UI64FMTD " has invalid coordinates X:%f Y:%f grid cell [%u:%u]", obj->GetGUID(), obj->GetPositionX(), obj->GetPositionY(), cellCoord.x_coord, cellCoord.y_coord);
+ return false; //Should delete object
+ }
+
+ obj->AddToWorld();
+ _transports.insert(obj);
+
+ return true;
+}
+
bool Map::IsGridLoaded(const GridCoord &p) const
{
return (getNGrid(p.x_coord, p.y_coord) && isGridObjectDataLoaded(p.x_coord, p.y_coord));
@@ -571,6 +660,17 @@ void Map::Update(const uint32 t_diff)
VisitNearbyCellsOf(obj, grid_object_update, world_object_update);
}
+ for (_transportsUpdateIter = _transports.begin(); _transportsUpdateIter != _transports.end();)
+ {
+ WorldObject* obj = *_transportsUpdateIter;
+ ++_transportsUpdateIter;
+
+ if (!obj->IsInWorld())
+ continue;
+
+ obj->Update(t_diff);
+ }
+
///- Process necessary scripts
if (!m_scriptSchedule.empty())
{
@@ -580,6 +680,7 @@ void Map::Update(const uint32 t_diff)
}
MoveAllCreaturesInMoveList();
+ MoveAllGameObjectsInMoveList();
if (!m_mapRefManager.isEmpty() || !m_activeNonPlayers.empty())
ProcessRelocationNotifies(t_diff);
@@ -594,7 +695,7 @@ struct ResetNotifier
for (typename GridRefManager<T>::iterator iter=m.begin(); iter != m.end(); ++iter)
iter->GetSource()->ResetAllNotifies();
}
- template<class T> void Visit(GridRefManager<T> &) {}
+ template<class T> void Visit(GridRefManager<T> &) { }
void Visit(CreatureMapType &m) { resetNotify<Creature>(m);}
void Visit(PlayerMapType &m) { resetNotify<Player>(m);}
};
@@ -714,6 +815,34 @@ void Map::RemoveFromMap(T *obj, bool remove)
}
}
+template<>
+void Map::RemoveFromMap(Transport* obj, bool remove)
+{
+ obj->RemoveFromWorld();
+
+ if (_transportsUpdateIter != _transports.end())
+ {
+ TransportsContainer::iterator itr = _transports.find(obj);
+ if (itr == _transports.end())
+ return;
+ if (itr == _transportsUpdateIter)
+ ++_transportsUpdateIter;
+ _transports.erase(itr);
+ }
+ else
+ _transports.erase(obj);
+
+ obj->ResetMap();
+
+ if (remove)
+ {
+ // if option set then object already saved at this moment
+ if (!sWorld->getBoolConfig(CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY))
+ obj->SaveRespawnTime();
+ DeleteFromWorld(obj);
+ }
+}
+
void Map::PlayerRelocation(Player* player, float x, float y, float z, float orientation)
{
ASSERT(player);
@@ -783,12 +912,44 @@ void Map::CreatureRelocation(Creature* creature, float x, float y, float z, floa
ASSERT(CheckGridIntegrity(creature, true));
}
+void Map::GameObjectRelocation(GameObject* go, float x, float y, float z, float orientation, bool respawnRelocationOnFail)
+{
+ Cell integrity_check(go->GetPositionX(), go->GetPositionY());
+ Cell old_cell = go->GetCurrentCell();
+
+ ASSERT(integrity_check == old_cell);
+ Cell new_cell(x, y);
+
+ if (!respawnRelocationOnFail && !getNGrid(new_cell.GridX(), new_cell.GridY()))
+ return;
+
+ // delay creature move for grid/cell to grid/cell moves
+ if (old_cell.DiffCell(new_cell) || old_cell.DiffGrid(new_cell))
+ {
+#ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) added to moving list from grid[%u, %u]cell[%u, %u] to grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+#endif
+ AddGameObjectToMoveList(go, x, y, z, orientation);
+ // in diffcell/diffgrid case notifiers called at finishing move go in Map::MoveAllGameObjectsInMoveList
+ }
+ else
+ {
+ go->Relocate(x, y, z, orientation);
+ go->UpdateObjectVisibility(false);
+ RemoveGameObjectFromMoveList(go);
+ }
+
+ old_cell = go->GetCurrentCell();
+ integrity_check = Cell(go->GetPositionX(), go->GetPositionY());
+ ASSERT(integrity_check == old_cell);
+}
+
void Map::AddCreatureToMoveList(Creature* c, float x, float y, float z, float ang)
{
if (_creatureToMoveLock) //can this happen?
return;
- if (c->_moveState == CREATURE_CELL_MOVE_NONE)
+ if (c->_moveState == MAP_OBJECT_CELL_MOVE_NONE)
_creaturesToMove.push_back(c);
c->SetNewCellPosition(x, y, z, ang);
}
@@ -798,8 +959,27 @@ void Map::RemoveCreatureFromMoveList(Creature* c)
if (_creatureToMoveLock) //can this happen?
return;
- if (c->_moveState == CREATURE_CELL_MOVE_ACTIVE)
- c->_moveState = CREATURE_CELL_MOVE_INACTIVE;
+ if (c->_moveState == MAP_OBJECT_CELL_MOVE_ACTIVE)
+ c->_moveState = MAP_OBJECT_CELL_MOVE_INACTIVE;
+}
+
+void Map::AddGameObjectToMoveList(GameObject* go, float x, float y, float z, float ang)
+{
+ if (_gameObjectsToMoveLock) //can this happen?
+ return;
+
+ if (go->_moveState == MAP_OBJECT_CELL_MOVE_NONE)
+ _gameObjectsToMove.push_back(go);
+ go->SetNewCellPosition(x, y, z, ang);
+}
+
+void Map::RemoveGameObjectFromMoveList(GameObject* go)
+{
+ if (_gameObjectsToMoveLock) //can this happen?
+ return;
+
+ if (go->_moveState == MAP_OBJECT_CELL_MOVE_ACTIVE)
+ go->_moveState = MAP_OBJECT_CELL_MOVE_INACTIVE;
}
void Map::MoveAllCreaturesInMoveList()
@@ -811,13 +991,13 @@ void Map::MoveAllCreaturesInMoveList()
if (c->FindMap() != this) //pet is teleported to another map
continue;
- if (c->_moveState != CREATURE_CELL_MOVE_ACTIVE)
+ if (c->_moveState != MAP_OBJECT_CELL_MOVE_ACTIVE)
{
- c->_moveState = CREATURE_CELL_MOVE_NONE;
+ c->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
continue;
}
- c->_moveState = CREATURE_CELL_MOVE_NONE;
+ c->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
if (!c->IsInWorld())
continue;
@@ -858,6 +1038,50 @@ void Map::MoveAllCreaturesInMoveList()
_creatureToMoveLock = false;
}
+void Map::MoveAllGameObjectsInMoveList()
+{
+ _gameObjectsToMoveLock = true;
+ for (std::vector<GameObject*>::iterator itr = _gameObjectsToMove.begin(); itr != _gameObjectsToMove.end(); ++itr)
+ {
+ GameObject* go = *itr;
+ if (go->FindMap() != this) //transport is teleported to another map
+ continue;
+
+ if (go->_moveState != MAP_OBJECT_CELL_MOVE_ACTIVE)
+ {
+ go->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
+ continue;
+ }
+
+ go->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
+ if (!go->IsInWorld())
+ continue;
+
+ // do move or do move to respawn or remove creature if previous all fail
+ if (GameObjectCellRelocation(go, Cell(go->_newPosition.m_positionX, go->_newPosition.m_positionY)))
+ {
+ // update pos
+ go->Relocate(go->_newPosition);
+ go->UpdateObjectVisibility(false);
+ }
+ else
+ {
+ // if GameObject can't be move in new cell/grid (not loaded) move it to repawn cell/grid
+ // GameObject coordinates will be updated and notifiers send
+ if (!GameObjectRespawnRelocation(go, false))
+ {
+ // ... or unload (if respawn grid also not loaded)
+#ifdef TRINITY_DEBUG
+ sLog->outDebug(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) cannot be move to unloaded respawn grid.", go->GetGUIDLow(), go->GetEntry());
+#endif
+ AddObjectToRemoveList(go);
+ }
+ }
+ }
+ _gameObjectsToMove.clear();
+ _gameObjectsToMoveLock = false;
+}
+
bool Map::CreatureCellRelocation(Creature* c, Cell new_cell)
{
Cell const& old_cell = c->GetCurrentCell();
@@ -919,6 +1143,67 @@ bool Map::CreatureCellRelocation(Creature* c, Cell new_cell)
return false;
}
+bool Map::GameObjectCellRelocation(GameObject* go, Cell new_cell)
+{
+ Cell const& old_cell = go->GetCurrentCell();
+ if (!old_cell.DiffGrid(new_cell)) // in same grid
+ {
+ // if in same cell then none do
+ if (old_cell.DiffCell(new_cell))
+ {
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) moved in grid[%u, %u] from cell[%u, %u] to cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+
+ go->RemoveFromGrid();
+ AddToGrid(go, new_cell);
+ }
+ else
+ {
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) moved in same grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY());
+ #endif
+ }
+
+ return true;
+ }
+
+ // in diff. grids but active GameObject
+ if (go->isActiveObject())
+ {
+ EnsureGridLoadedForActiveObject(new_cell, go);
+
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "Active GameObject (GUID: %u Entry: %u) moved from grid[%u, %u]cell[%u, %u] to grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+
+ go->RemoveFromGrid();
+ AddToGrid(go, new_cell);
+
+ return true;
+ }
+
+ // in diff. loaded grid normal GameObject
+ if (IsGridLoaded(GridCoord(new_cell.GridX(), new_cell.GridY())))
+ {
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) moved from grid[%u, %u]cell[%u, %u] to grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+
+ go->RemoveFromGrid();
+ EnsureGridCreated(GridCoord(new_cell.GridX(), new_cell.GridY()));
+ AddToGrid(go, new_cell);
+
+ return true;
+ }
+
+ // fail to move: normal GameObject attempt move to unloaded grid
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) attempted to move from grid[%u, %u]cell[%u, %u] to unloaded grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+ return false;
+}
+
bool Map::CreatureRespawnRelocation(Creature* c, bool diffGridOnly)
{
float resp_x, resp_y, resp_z, resp_o;
@@ -949,6 +1234,31 @@ bool Map::CreatureRespawnRelocation(Creature* c, bool diffGridOnly)
return false;
}
+bool Map::GameObjectRespawnRelocation(GameObject* go, bool diffGridOnly)
+{
+ float resp_x, resp_y, resp_z, resp_o;
+ go->GetRespawnPosition(resp_x, resp_y, resp_z, &resp_o);
+ Cell resp_cell(resp_x, resp_y);
+
+ //GameObject will be unloaded with grid
+ if (diffGridOnly && !go->GetCurrentCell().DiffGrid(resp_cell))
+ return true;
+
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG(LOG_FILTER_MAPS, "GameObject (GUID: %u Entry: %u) moved from grid[%u, %u]cell[%u, %u] to respawn grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), go->GetEntry(), go->GetCurrentCell().GridX(), go->GetCurrentCell().GridY(), go->GetCurrentCell().CellX(), go->GetCurrentCell().CellY(), resp_cell.GridX(), resp_cell.GridY(), resp_cell.CellX(), resp_cell.CellY());
+ #endif
+
+ // teleport it to respawn point (like normal respawn if player see)
+ if (GameObjectCellRelocation(go, resp_cell))
+ {
+ go->Relocate(resp_x, resp_y, resp_z, resp_o);
+ go->UpdateObjectVisibility(false);
+ return true;
+ }
+
+ return false;
+}
+
bool Map::UnloadGrid(NGridType& ngrid, bool unloadAll)
{
const uint32 x = ngrid.getX();
@@ -972,6 +1282,7 @@ bool Map::UnloadGrid(NGridType& ngrid, bool unloadAll)
// Finish creature moves, remove and delete all creatures with delayed remove before moving to respawn grids
// Must know real mob position before move
MoveAllCreaturesInMoveList();
+ MoveAllGameObjectsInMoveList();
// move creatures to respawn grids if this is diff.grid or to remove list
ObjectGridEvacuator worker;
@@ -980,6 +1291,7 @@ bool Map::UnloadGrid(NGridType& ngrid, bool unloadAll)
// Finish creature moves, remove and delete all creatures with delayed remove before unload
MoveAllCreaturesInMoveList();
+ MoveAllGameObjectsInMoveList();
}
{
@@ -1047,6 +1359,7 @@ void Map::UnloadAll()
{
// clear all delayed moves, useless anyway do this moves before map unload.
_creaturesToMove.clear();
+ _gameObjectsToMove.clear();
for (GridRefManager<NGridType>::iterator i = GridRefManager<NGridType>::begin(); i != GridRefManager<NGridType>::end();)
{
@@ -2014,7 +2327,7 @@ void Map::SendInitSelf(Player* player)
// build other passengers at transport also (they always visible and marked as visible and will not send at visibility update at add to map
if (Transport* transport = player->GetTransport())
{
- for (Transport::PlayerSet::const_iterator itr = transport->GetPassengers().begin(); itr != transport->GetPassengers().end(); ++itr)
+ for (std::set<WorldObject*>::const_iterator itr = transport->GetPassengers().begin(); itr != transport->GetPassengers().end(); ++itr)
{
if (player != (*itr) && player->HaveAtClient(*itr))
{
@@ -2031,24 +2344,10 @@ void Map::SendInitSelf(Player* player)
void Map::SendInitTransports(Player* player)
{
// Hack to send out transports
- MapManager::TransportMap& tmap = sMapMgr->m_TransportsByMap;
-
- // no transports at map
- if (tmap.find(player->GetMapId()) == tmap.end())
- return;
-
UpdateData transData;
-
- MapManager::TransportSet& tset = tmap[player->GetMapId()];
-
- for (MapManager::TransportSet::const_iterator i = tset.begin(); i != tset.end(); ++i)
- {
- // send data for current transport in other place
- if ((*i) != player->GetTransport() && (*i)->GetMapId() == GetId())
- {
+ for (TransportsContainer::const_iterator i = _transports.begin(); i != _transports.end(); ++i)
+ if (*i != player->GetTransport())
(*i)->BuildCreateUpdateBlockForPlayer(&transData, player);
- }
- }
WorldPacket packet;
transData.BuildPacket(&packet);
@@ -2058,19 +2357,9 @@ void Map::SendInitTransports(Player* player)
void Map::SendRemoveTransports(Player* player)
{
// Hack to send out transports
- MapManager::TransportMap& tmap = sMapMgr->m_TransportsByMap;
-
- // no transports at map
- if (tmap.find(player->GetMapId()) == tmap.end())
- return;
-
UpdateData transData;
-
- MapManager::TransportSet& tset = tmap[player->GetMapId()];
-
- // except used transport
- for (MapManager::TransportSet::const_iterator i = tset.begin(); i != tset.end(); ++i)
- if ((*i) != player->GetTransport() && (*i)->GetMapId() != GetId())
+ for (TransportsContainer::const_iterator i = _transports.begin(); i != _transports.end(); ++i)
+ if (*i != player->GetTransport())
(*i)->BuildOutOfRangeUpdateBlock(&transData);
WorldPacket packet;
@@ -2122,7 +2411,7 @@ void Map::AddObjectToSwitchList(WorldObject* obj, bool on)
ASSERT(obj->GetMapId() == GetId() && obj->GetInstanceId() == GetInstanceId());
// i_objectsToSwitch is iterated only in Map::RemoveAllObjectsInRemoveList() and it uses
// the contained objects only if GetTypeId() == TYPEID_UNIT , so we can return in all other cases
- if (obj->GetTypeId() != TYPEID_UNIT)
+ if (obj->GetTypeId() != TYPEID_UNIT && obj->GetTypeId() != TYPEID_GAMEOBJECT)
return;
std::map<WorldObject*, bool>::iterator itr = i_objectsToSwitch.find(obj);
@@ -2143,8 +2432,8 @@ void Map::RemoveAllObjectsInRemoveList()
bool on = itr->second;
i_objectsToSwitch.erase(itr);
- if (obj->GetTypeId() == TYPEID_UNIT && !obj->IsPermanentWorldObject())
- SwitchGridContainers(obj->ToCreature(), on);
+ if ((obj->GetTypeId() == TYPEID_UNIT || obj->GetTypeId() == TYPEID_GAMEOBJECT) && !obj->IsPermanentWorldObject())
+ SwitchGridContainers(obj, on);
}
//TC_LOG_DEBUG(LOG_FILTER_MAPS, "Object remover 1 check.");
@@ -2239,6 +2528,13 @@ bool Map::ActiveObjectsNearGrid(NGridType const& ngrid) const
return false;
}
+template<class T>
+void Map::AddToActive(T* obj)
+{
+ AddToActiveHelper(obj);
+}
+
+template <>
void Map::AddToActive(Creature* c)
{
AddToActiveHelper(c);
@@ -2260,6 +2556,16 @@ void Map::AddToActive(Creature* c)
}
}
+template<>
+void Map::AddToActive(DynamicObject* d)
+{
+ AddToActiveHelper(d);
+}
+
+template<class T>
+void Map::RemoveFromActive(T* /*obj*/) { }
+
+template <>
void Map::RemoveFromActive(Creature* c)
{
RemoveFromActiveHelper(c);
@@ -2281,6 +2587,12 @@ void Map::RemoveFromActive(Creature* c)
}
}
+template<>
+void Map::RemoveFromActive(DynamicObject* obj)
+{
+ RemoveFromActiveHelper(obj);
+}
+
template bool Map::AddToMap(Corpse*);
template bool Map::AddToMap(Creature*);
template bool Map::AddToMap(GameObject*);
@@ -2778,6 +3090,15 @@ GameObject* Map::GetGameObject(uint64 guid)
return ObjectAccessor::GetObjectInMap(guid, this, (GameObject*)NULL);
}
+Transport* Map::GetTransport(uint64 guid)
+{
+ if (GUID_HIPART(guid) != HIGHGUID_MO_TRANSPORT)
+ return NULL;
+
+ GameObject* go = GetGameObject(guid);
+ return go ? go->ToTransport() : NULL;
+}
+
DynamicObject* Map::GetDynamicObject(uint64 guid)
{
return ObjectAccessor::GetObjectInMap(guid, this, (DynamicObject*)NULL);
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 3deeb4e04b1..932f3e213ae 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -52,6 +52,7 @@ struct Position;
class Battleground;
class MapInstanced;
class InstanceMap;
+class Transport;
namespace Trinity { struct ObjectUpdater; }
struct ScriptAction
@@ -278,6 +279,7 @@ class Map : public GridRefManager<NGridType>
void PlayerRelocation(Player*, float x, float y, float z, float orientation);
void CreatureRelocation(Creature* creature, float x, float y, float z, float ang, bool respawnRelocationOnFail = true);
+ void GameObjectRelocation(GameObject* go, float x, float y, float z, float orientation, bool respawnRelocationOnFail = true);
template<class T, class CONTAINER> void Visit(const Cell& cell, TypeContainerVisitor<T, CONTAINER> &visitor);
@@ -350,11 +352,13 @@ class Map : public GridRefManager<NGridType>
}
void MoveAllCreaturesInMoveList();
+ void MoveAllGameObjectsInMoveList();
void RemoveAllObjectsInRemoveList();
virtual void RemoveAllPlayers();
// used only in MoveAllCreaturesInMoveList and ObjectGridUnloader
bool CreatureRespawnRelocation(Creature* c, bool diffGridOnly);
+ bool GameObjectRespawnRelocation(GameObject* go, bool diffGridOnly);
// assert print helper
bool CheckGridIntegrity(Creature* c, bool moved) const;
@@ -415,17 +419,13 @@ class Map : public GridRefManager<NGridType>
// must called with AddToWorld
template<class T>
- void AddToActive(T* obj) { AddToActiveHelper(obj); }
-
- void AddToActive(Creature* obj);
+ void AddToActive(T* obj);
// must called with RemoveFromWorld
template<class T>
- void RemoveFromActive(T* obj) { RemoveFromActiveHelper(obj); }
-
- void RemoveFromActive(Creature* obj);
+ void RemoveFromActive(T* obj);
- void SwitchGridContainers(Creature* creature, bool toWorldContainer);
+ template<class T> void SwitchGridContainers(T* obj, bool on);
template<class NOTIFIER> void VisitAll(const float &x, const float &y, float radius, NOTIFIER &notifier);
template<class NOTIFIER> void VisitFirstFound(const float &x, const float &y, float radius, NOTIFIER &notifier);
template<class NOTIFIER> void VisitWorld(const float &x, const float &y, float radius, NOTIFIER &notifier);
@@ -438,6 +438,7 @@ class Map : public GridRefManager<NGridType>
void SummonCreatureGroup(uint8 group, std::list<TempSummon*>* list = NULL);
Creature* GetCreature(uint64 guid);
GameObject* GetGameObject(uint64 guid);
+ Transport* GetTransport(uint64 guid);
DynamicObject* GetDynamicObject(uint64 guid);
MapInstanced* ToMapInstanced(){ if (Instanceable()) return reinterpret_cast<MapInstanced*>(this); else return NULL; }
@@ -485,6 +486,9 @@ class Map : public GridRefManager<NGridType>
static void DeleteRespawnTimesInDB(uint16 mapId, uint32 instanceId);
+ void SendInitTransports(Player* player);
+ void SendRemoveTransports(Player* player);
+
private:
void LoadMapAndVMap(int gx, int gy);
void LoadVMap(int gx, int gy);
@@ -496,18 +500,21 @@ class Map : public GridRefManager<NGridType>
void SendInitSelf(Player* player);
- void SendInitTransports(Player* player);
- void SendRemoveTransports(Player* player);
-
bool CreatureCellRelocation(Creature* creature, Cell new_cell);
+ bool GameObjectCellRelocation(GameObject* go, Cell new_cell);
template<class T> void InitializeObject(T* obj);
void AddCreatureToMoveList(Creature* c, float x, float y, float z, float ang);
void RemoveCreatureFromMoveList(Creature* c);
+ void AddGameObjectToMoveList(GameObject* go, float x, float y, float z, float ang);
+ void RemoveGameObjectFromMoveList(GameObject* go);
bool _creatureToMoveLock;
std::vector<Creature*> _creaturesToMove;
+ bool _gameObjectsToMoveLock;
+ std::vector<GameObject*> _gameObjectsToMove;
+
bool IsGridLoaded(const GridCoord &) const;
void EnsureGridCreated(const GridCoord &);
void EnsureGridCreated_i(const GridCoord &);
@@ -516,9 +523,6 @@ class Map : public GridRefManager<NGridType>
void buildNGridLinkage(NGridType* pNGridType) { pNGridType->link(this); }
- template<class T> void AddType(T *obj);
- template<class T> void RemoveType(T *obj, bool);
-
NGridType* getNGrid(uint32 x, uint32 y) const
{
ASSERT(x < MAX_NUMBER_OF_GRIDS && y < MAX_NUMBER_OF_GRIDS);
@@ -555,6 +559,11 @@ class Map : public GridRefManager<NGridType>
ActiveNonPlayers m_activeNonPlayers;
ActiveNonPlayers::iterator m_activeNonPlayersIter;
+ // Objects that must update even in inactive grids without activating them
+ typedef std::set<Transport*> TransportsContainer;
+ TransportsContainer _transports;
+ TransportsContainer::iterator _transportsUpdateIter;
+
private:
Player* _GetScriptPlayerSourceOrTarget(Object* source, Object* target, const ScriptInfo* scriptInfo) const;
Creature* _GetScriptCreatureSourceOrTarget(Object* source, Object* target, const ScriptInfo* scriptInfo, bool bReverse = false) const;
@@ -589,19 +598,17 @@ class Map : public GridRefManager<NGridType>
// Type specific code for add/remove to/from grid
template<class T>
- void AddToGrid(T* object, Cell const& cell);
+ void AddToGrid(T* object, Cell const& cell);
template<class T>
- void DeleteFromWorld(T*);
+ void DeleteFromWorld(T*);
- template<class T>
- void AddToActiveHelper(T* obj)
+ void AddToActiveHelper(WorldObject* obj)
{
m_activeNonPlayers.insert(obj);
}
- template<class T>
- void RemoveFromActiveHelper(T* obj)
+ void RemoveFromActiveHelper(WorldObject* obj)
{
// Map::Update for active object in proccess
if (m_activeNonPlayersIter != m_activeNonPlayers.end())
diff --git a/src/server/game/Maps/MapInstanced.h b/src/server/game/Maps/MapInstanced.h
index 06a5f3e04a5..0955acc1432 100644
--- a/src/server/game/Maps/MapInstanced.h
+++ b/src/server/game/Maps/MapInstanced.h
@@ -30,7 +30,7 @@ class MapInstanced : public Map
typedef UNORDERED_MAP< uint32, Map*> InstancedMaps;
MapInstanced(uint32 id, time_t expiry);
- ~MapInstanced() {}
+ ~MapInstanced() { }
// functions overwrite Map versions
void Update(const uint32);
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp
index 60ebd3f8699..2d9366cba23 100644
--- a/src/server/game/Maps/MapManager.cpp
+++ b/src/server/game/Maps/MapManager.cpp
@@ -45,9 +45,7 @@ MapManager::MapManager()
i_timer.SetInterval(sWorld->getIntConfig(CONFIG_INTERVAL_MAPUPDATE));
}
-MapManager::~MapManager()
-{
-}
+MapManager::~MapManager() { }
void MapManager::Initialize()
{
@@ -292,15 +290,11 @@ void MapManager::Update(uint32 diff)
iter->second->DelayedUpdate(uint32(i_timer.GetCurrent()));
sObjectAccessor->Update(uint32(i_timer.GetCurrent()));
- for (TransportSet::iterator itr = m_Transports.begin(); itr != m_Transports.end(); ++itr)
- (*itr)->Update(uint32(i_timer.GetCurrent()));
i_timer.SetCurrent(0);
}
-void MapManager::DoDelayedMovesAndRemoves()
-{
-}
+void MapManager::DoDelayedMovesAndRemoves() { }
bool MapManager::ExistMapAndVMap(uint32 mapid, float x, float y)
{
@@ -326,12 +320,6 @@ bool MapManager::IsValidMAP(uint32 mapid, bool startUp)
void MapManager::UnloadAll()
{
- for (TransportSet::iterator i = m_Transports.begin(); i != m_Transports.end(); ++i)
- {
- (*i)->RemoveFromWorld();
- delete *i;
- }
-
for (MapMapType::iterator iter = i_maps.begin(); iter != i_maps.end();)
{
iter->second->UnloadAll();
diff --git a/src/server/game/Maps/MapManager.h b/src/server/game/Maps/MapManager.h
index 8af609c61e2..230b4648f4a 100644
--- a/src/server/game/Maps/MapManager.h
+++ b/src/server/game/Maps/MapManager.h
@@ -107,15 +107,6 @@ class MapManager
void DoDelayedMovesAndRemoves();
- void LoadTransports();
- void LoadTransportNPCs();
-
- typedef std::set<Transport*> TransportSet;
- TransportSet m_Transports;
-
- typedef std::map<uint32, TransportSet> TransportMap;
- TransportMap m_TransportsByMap;
-
bool CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck = false);
void InitializeVisibilityDistanceInfo();
diff --git a/src/server/game/Maps/MapReference.h b/src/server/game/Maps/MapReference.h
index f2f35e0955e..25c4b3870c5 100644
--- a/src/server/game/Maps/MapReference.h
+++ b/src/server/game/Maps/MapReference.h
@@ -42,7 +42,7 @@ class MapReference : public Reference<Map, Player>
getTarget()->m_mapRefManager.decSize();
}
public:
- MapReference() : Reference<Map, Player>() {}
+ MapReference() : Reference<Map, Player>() { }
~MapReference() { unlink(); }
MapReference* next() { return (MapReference*)Reference<Map, Player>::next(); }
MapReference const* next() const { return (MapReference const*)Reference<Map, Player>::next(); }
diff --git a/src/server/game/Maps/MapUpdater.cpp b/src/server/game/Maps/MapUpdater.cpp
index 5e5f520505c..f3a5a66bf66 100644
--- a/src/server/game/Maps/MapUpdater.cpp
+++ b/src/server/game/Maps/MapUpdater.cpp
@@ -58,9 +58,7 @@ class MapUpdateRequest : public ACE_Method_Request
};
MapUpdater::MapUpdater():
-m_executor(), m_mutex(), m_condition(m_mutex), pending_requests(0)
-{
-}
+m_executor(), m_mutex(), m_condition(m_mutex), pending_requests(0) { }
MapUpdater::~MapUpdater()
{
diff --git a/src/server/game/Maps/TransportMgr.cpp b/src/server/game/Maps/TransportMgr.cpp
new file mode 100644
index 00000000000..c0da12c5614
--- /dev/null
+++ b/src/server/game/Maps/TransportMgr.cpp
@@ -0,0 +1,471 @@
+/*
+ * Copyright (C) 2008-2012 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "TransportMgr.h"
+#include "Transport.h"
+#include "InstanceScript.h"
+#include "MoveSpline.h"
+#include "MapManager.h"
+
+TransportTemplate::~TransportTemplate()
+{
+ // Collect shared pointers into a set to avoid deleting the same memory more than once
+ std::set<TransportSpline*> splines;
+ for (size_t i = 0; i < keyFrames.size(); ++i)
+ splines.insert(keyFrames[i].Spline);
+
+ for (std::set<TransportSpline*>::iterator itr = splines.begin(); itr != splines.end(); ++itr)
+ delete *itr;
+}
+
+TransportMgr::TransportMgr() { }
+
+TransportMgr::~TransportMgr() { }
+
+void TransportMgr::Unload()
+{
+ _transportTemplates.clear();
+}
+
+void TransportMgr::LoadTransportTemplates()
+{
+ uint32 oldMSTime = getMSTime();
+
+ QueryResult result = WorldDatabase.Query("SELECT entry FROM gameobject_template WHERE type = 15 ORDER BY entry ASC");
+
+ if (!result)
+ {
+ TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 transport templates. DB table `gameobject_template` has no transports!");
+ return;
+ }
+
+ uint32 count = 0;
+
+ do
+ {
+ Field* fields = result->Fetch();
+ uint32 entry = fields[0].GetUInt32();
+ GameObjectTemplate const* goInfo = sObjectMgr->GetGameObjectTemplate(entry);
+ if (goInfo->moTransport.taxiPathId >= sTaxiPathNodesByPath.size())
+ {
+ TC_LOG_ERROR(LOG_FILTER_SQL, "Transport %u (name: %s) has an invalid path specified in `gameobject_template`.`data0` (%u) field, skipped.", entry, goInfo->name.c_str(), goInfo->moTransport.taxiPathId);
+ continue;
+ }
+
+ // paths are generated per template, saves us from generating it again in case of instanced transports
+ TransportTemplate& transport = _transportTemplates[entry];
+ transport.entry = entry;
+ GeneratePath(goInfo, &transport);
+
+ // transports in instance are only on one map
+ if (transport.inInstance)
+ _instanceTransports[*transport.mapsUsed.begin()].insert(entry);
+
+ ++count;
+ } while (result->NextRow());
+
+ TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u transport templates in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
+void TransportMgr::GeneratePath(GameObjectTemplate const* goInfo, TransportTemplate* transport)
+{
+ uint32 pathId = goInfo->moTransport.taxiPathId;
+ TaxiPathNodeList const& path = sTaxiPathNodesByPath[pathId];
+ std::vector<KeyFrame>& keyFrames = transport->keyFrames;
+ Movement::PointsArray splinePath;
+ bool mapChange = false;
+ bool cyclic = true;
+ for (size_t i = 0; i < path.size(); ++i)
+ {
+ if (!mapChange)
+ {
+ TaxiPathNodeEntry const& node_i = path[i];
+ if (i != path.size() - 1 && (node_i.actionFlag == 1 || node_i.mapid != path[i + 1].mapid))
+ {
+ cyclic = false;
+ keyFrames.back().Teleport = true;
+ mapChange = true;
+ }
+ else
+ {
+ KeyFrame k(node_i);
+ keyFrames.push_back(k);
+ splinePath.push_back(G3D::Vector3(node_i.x, node_i.y, node_i.z));
+ transport->mapsUsed.insert(k.Node->mapid);
+ }
+ }
+ else
+ mapChange = false;
+ }
+
+ // Not sure if data8 means the transport can be stopped or that its path in dbc does not contain extra spline points
+ if (!goInfo->moTransport.canBeStopped && splinePath.size() >= 2)
+ {
+ // Remove special catmull-rom spline points
+ splinePath.erase(splinePath.begin());
+ keyFrames.erase(keyFrames.begin());
+ splinePath.pop_back();
+ keyFrames.pop_back();
+ // Cyclic spline has one more extra point
+ if (cyclic && !splinePath.empty())
+ {
+ splinePath.pop_back();
+ keyFrames.pop_back();
+ }
+ }
+
+ ASSERT(!keyFrames.empty());
+
+ if (transport->mapsUsed.size() > 1)
+ {
+ for (std::set<uint32>::const_iterator itr = transport->mapsUsed.begin(); itr != transport->mapsUsed.end(); ++itr)
+ ASSERT(!sMapStore.LookupEntry(*itr)->Instanceable());
+
+ transport->inInstance = false;
+ }
+ else
+ transport->inInstance = sMapStore.LookupEntry(*transport->mapsUsed.begin())->Instanceable();
+
+ // last to first is always "teleport", even for closed paths
+ keyFrames.back().Teleport = true;
+
+ const float speed = float(goInfo->moTransport.moveSpeed);
+ const float accel = float(goInfo->moTransport.accelRate);
+ const float accel_dist = 0.5f * speed * speed / accel;
+
+ transport->accelTime = speed / accel;
+ transport->accelDist = accel_dist;
+
+ int32 firstStop = -1;
+ int32 lastStop = -1;
+
+ // first cell is arrived at by teleportation :S
+ keyFrames[0].DistFromPrev = 0;
+ keyFrames[0].Index = 1;
+ if (keyFrames[0].IsStopFrame())
+ {
+ firstStop = 0;
+ lastStop = 0;
+ }
+
+ // find the rest of the distances between key points
+ // Every path segment has its own spline
+ if (cyclic)
+ {
+ TransportSpline* spline = new TransportSpline();
+ spline->init_cyclic_spline(&splinePath[0], splinePath.size(), Movement::SplineBase::ModeCatmullrom, 0);
+ spline->initLengths();
+ keyFrames[0].DistFromPrev = spline->length(spline->last() - 2, spline->last() - 1);
+ keyFrames[0].Spline = spline;
+ for (size_t i = 0; i < keyFrames.size(); ++i)
+ {
+ keyFrames[i].Index = i + 1;
+ keyFrames[i].DistFromPrev = spline->length(i, i + 1);
+ if (i > 0)
+ keyFrames[i - 1].NextDistFromPrev = keyFrames[i].DistFromPrev;
+ keyFrames[i].Spline = spline;
+ if (keyFrames[i].IsStopFrame())
+ {
+ // remember first stop frame
+ if (firstStop == -1)
+ firstStop = i;
+ lastStop = i;
+ }
+ }
+ }
+ else
+ {
+ size_t start = 0;
+ for (size_t i = 1; i < keyFrames.size(); ++i)
+ {
+ if (keyFrames[i - 1].Teleport || i + 1 == keyFrames.size())
+ {
+ size_t extra = !keyFrames[i - 1].Teleport ? 1 : 0;
+ TransportSpline* spline = new TransportSpline();
+ spline->init_spline(&splinePath[start], i - start + extra, Movement::SplineBase::ModeCatmullrom);
+ spline->initLengths();
+ for (size_t j = start; j < i + extra; ++j)
+ {
+ keyFrames[j].Index = j - start + 1;
+ keyFrames[j].DistFromPrev = spline->length(j - start, j + 1 - start);
+ if (j > 0)
+ keyFrames[j - 1].NextDistFromPrev = keyFrames[j].DistFromPrev;
+ keyFrames[j].Spline = spline;
+ }
+
+ if (keyFrames[i - 1].Teleport)
+ {
+ keyFrames[i].Index = i - start + 1;
+ keyFrames[i].DistFromPrev = 0.0f;
+ keyFrames[i - 1].NextDistFromPrev = 0.0f;
+ keyFrames[i].Spline = spline;
+ }
+
+ start = i;
+ }
+
+ if (keyFrames[i].IsStopFrame())
+ {
+ // remember first stop frame
+ if (firstStop == -1)
+ firstStop = i;
+ lastStop = i;
+ }
+ }
+ }
+
+ keyFrames.back().NextDistFromPrev = keyFrames.front().DistFromPrev;
+
+ if (firstStop == -1 || lastStop == -1)
+ firstStop = lastStop = 0;
+
+ // at stopping keyframes, we define distSinceStop == 0,
+ // and distUntilStop is to the next stopping keyframe.
+ // this is required to properly handle cases of two stopping frames in a row (yes they do exist)
+ float tmpDist = 0.0f;
+ for (size_t i = 0; i < keyFrames.size(); ++i)
+ {
+ int32 j = (i + lastStop) % keyFrames.size();
+ if (keyFrames[j].IsStopFrame() || j == lastStop)
+ tmpDist = 0.0f;
+ else
+ tmpDist += keyFrames[j].DistFromPrev;
+ keyFrames[j].DistSinceStop = tmpDist;
+ }
+
+ tmpDist = 0.0f;
+ for (int32 i = int32(keyFrames.size()) - 1; i >= 0; i--)
+ {
+ int32 j = (i + firstStop) % keyFrames.size();
+ tmpDist += keyFrames[(j + 1) % keyFrames.size()].DistFromPrev;
+ keyFrames[j].DistUntilStop = tmpDist;
+ if (keyFrames[j].IsStopFrame() || j == firstStop)
+ tmpDist = 0.0f;
+ }
+
+ for (size_t i = 0; i < keyFrames.size(); ++i)
+ {
+ float total_dist = keyFrames[i].DistSinceStop + keyFrames[i].DistUntilStop;
+ if (total_dist < 2 * accel_dist) // won't reach full speed
+ {
+ if (keyFrames[i].DistSinceStop < keyFrames[i].DistUntilStop) // is still accelerating
+ {
+ // calculate accel+brake time for this short segment
+ float segment_time = 2.0f * sqrt((keyFrames[i].DistUntilStop + keyFrames[i].DistSinceStop) / accel);
+ // substract acceleration time
+ keyFrames[i].TimeTo = segment_time - sqrt(2 * keyFrames[i].DistSinceStop / accel);
+ }
+ else // slowing down
+ keyFrames[i].TimeTo = sqrt(2 * keyFrames[i].DistUntilStop / accel);
+ }
+ else if (keyFrames[i].DistSinceStop < accel_dist) // still accelerating (but will reach full speed)
+ {
+ // calculate accel + cruise + brake time for this long segment
+ float segment_time = (keyFrames[i].DistUntilStop + keyFrames[i].DistSinceStop) / speed + (speed / accel);
+ // substract acceleration time
+ keyFrames[i].TimeTo = segment_time - sqrt(2 * keyFrames[i].DistSinceStop / accel);
+ }
+ else if (keyFrames[i].DistUntilStop < accel_dist) // already slowing down (but reached full speed)
+ keyFrames[i].TimeTo = sqrt(2 * keyFrames[i].DistUntilStop / accel);
+ else // at full speed
+ keyFrames[i].TimeTo = (keyFrames[i].DistUntilStop / speed) + (0.5f * speed / accel);
+ }
+
+ // calculate tFrom times from tTo times
+ float segmentTime = 0.0f;
+ for (size_t i = 0; i < keyFrames.size(); ++i)
+ {
+ int32 j = (i + lastStop) % keyFrames.size();
+ if (keyFrames[j].IsStopFrame() || j == lastStop)
+ segmentTime = keyFrames[j].TimeTo;
+ keyFrames[j].TimeFrom = segmentTime - keyFrames[j].TimeTo;
+ }
+
+ // calculate path times
+ keyFrames[0].ArriveTime = 0;
+ float curPathTime = 0.0f;
+ if (keyFrames[0].IsStopFrame())
+ {
+ curPathTime = float(keyFrames[0].Node->delay);
+ keyFrames[0].DepartureTime = uint32(curPathTime * IN_MILLISECONDS);
+ }
+
+ for (size_t i = 1; i < keyFrames.size(); ++i)
+ {
+ curPathTime += keyFrames[i - 1].TimeTo;
+ if (keyFrames[i].IsStopFrame())
+ {
+ keyFrames[i].ArriveTime = uint32(curPathTime * IN_MILLISECONDS);
+ keyFrames[i - 1].NextArriveTime = keyFrames[i].ArriveTime;
+ curPathTime += float(keyFrames[i].Node->delay);
+ keyFrames[i].DepartureTime = uint32(curPathTime * IN_MILLISECONDS);
+ }
+ else
+ {
+ curPathTime -= keyFrames[i].TimeTo;
+ keyFrames[i].ArriveTime = uint32(curPathTime * IN_MILLISECONDS);
+ keyFrames[i - 1].NextArriveTime = keyFrames[i].ArriveTime;
+ keyFrames[i].DepartureTime = keyFrames[i].ArriveTime;
+ }
+ }
+
+ keyFrames.back().NextArriveTime = keyFrames.back().DepartureTime;
+
+ transport->pathTime = keyFrames.back().DepartureTime;
+}
+
+void TransportMgr::AddPathNodeToTransport(uint32 transportEntry, uint32 timeSeg, TransportAnimationEntry const* node)
+{
+ TransportAnimation& animNode = _transportAnimations[transportEntry];
+ if (animNode.TotalTime < timeSeg)
+ animNode.TotalTime = timeSeg;
+
+ animNode.Path[timeSeg] = node;
+}
+
+Transport* TransportMgr::CreateTransport(uint32 entry, uint32 guid /*= 0*/, Map* map /*= NULL*/)
+{
+ // instance case, execute GetGameObjectEntry hook
+ if (map)
+ {
+ // SetZoneScript() is called after adding to map, so fetch the script using map
+ if (map->IsDungeon())
+ if (InstanceScript* instance = static_cast<InstanceMap*>(map)->GetInstanceScript())
+ entry = instance->GetGameObjectEntry(0, entry);
+
+ if (!entry)
+ return NULL;
+ }
+
+ TransportTemplate const* tInfo = GetTransportTemplate(entry);
+ if (!tInfo)
+ {
+ TC_LOG_ERROR(LOG_FILTER_SQL, "Transport %u will not be loaded, `transport_template` missing", entry);
+ return NULL;
+ }
+
+ // create transport...
+ Transport* trans = new Transport();
+
+ // ...at first waypoint
+ TaxiPathNodeEntry const* startNode = tInfo->keyFrames.begin()->Node;
+ uint32 mapId = startNode->mapid;
+ float x = startNode->x;
+ float y = startNode->y;
+ float z = startNode->z;
+ float o = 0.0f;
+
+ // initialize the gameobject base
+ uint32 guidLow = guid ? guid : sObjectMgr->GenerateLowGuid(HIGHGUID_MO_TRANSPORT);
+ if (!trans->Create(guidLow, entry, mapId, x, y, z, o, 255))
+ {
+ delete trans;
+ return NULL;
+ }
+
+ if (MapEntry const* mapEntry = sMapStore.LookupEntry(mapId))
+ {
+ if (mapEntry->Instanceable() != tInfo->inInstance)
+ {
+ TC_LOG_ERROR(LOG_FILTER_TRANSPORTS, "Transport %u (name: %s) attempted creation in instance map (id: %u) but it is not an instanced transport!", entry, trans->GetName().c_str(), mapId);
+ delete trans;
+ return NULL;
+ }
+ }
+
+ // use preset map for instances (need to know which instance)
+ trans->SetMap(map ? map : sMapMgr->CreateMap(mapId, NULL));
+ if (map && map->IsDungeon())
+ trans->m_zoneScript = map->ToInstanceMap()->GetInstanceScript();
+
+ // Passengers will be loaded once a player is near
+
+ trans->GetMap()->AddToMap<Transport>(trans);
+ return trans;
+}
+
+void TransportMgr::SpawnContinentTransports()
+{
+ if (_transportTemplates.empty())
+ return;
+
+ uint32 oldMSTime = getMSTime();
+
+ QueryResult result = WorldDatabase.Query("SELECT guid, entry FROM transports");
+
+ uint32 count = 0;
+ if (result)
+ {
+ do
+ {
+ Field* fields = result->Fetch();
+ uint32 guid = fields[0].GetUInt32();
+ uint32 entry = fields[1].GetUInt32();
+
+ if (TransportTemplate const* tInfo = GetTransportTemplate(entry))
+ if (!tInfo->inInstance)
+ if (CreateTransport(entry, guid))
+ ++count;
+
+ } while (result->NextRow());
+ }
+
+ TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Spawned %u continent transports in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
+void TransportMgr::CreateInstanceTransports(Map* map)
+{
+ TransportInstanceMap::const_iterator mapTransports = _instanceTransports.find(map->GetId());
+
+ // no transports here
+ if (mapTransports == _instanceTransports.end() || mapTransports->second.empty())
+ return;
+
+ // create transports
+ for (std::set<uint32>::const_iterator itr = mapTransports->second.begin(); itr != mapTransports->second.end(); ++itr)
+ CreateTransport(*itr, 0, map);
+}
+
+TransportAnimationEntry const* TransportAnimation::GetAnimNode(uint32 time) const
+{
+ if (Path.empty())
+ return NULL;
+
+ for (TransportPathContainer::const_reverse_iterator itr2 = Path.rbegin(); itr2 != Path.rend(); ++itr2)
+ if (time >= itr2->first)
+ return itr2->second;
+
+ return Path.begin()->second;
+}
+
+G3D::Quat TransportAnimation::GetAnimRotation(uint32 time) const
+{
+ if (Rotations.empty())
+ return G3D::Quat(0.0f, 0.0f, 0.0f, 1.0f);
+
+ TransportRotationEntry const* rot = Rotations.begin()->second;
+ for (TransportPathRotationContainer::const_reverse_iterator itr2 = Rotations.rbegin(); itr2 != Rotations.rend(); ++itr2)
+ {
+ if (time >= itr2->first)
+ {
+ rot = itr2->second;
+ break;
+ }
+ }
+
+ return G3D::Quat(rot->X, rot->Y, rot->Z, rot->W);
+}
diff --git a/src/server/game/Maps/TransportMgr.h b/src/server/game/Maps/TransportMgr.h
new file mode 100644
index 00000000000..250a2c50bb1
--- /dev/null
+++ b/src/server/game/Maps/TransportMgr.h
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2008-2012 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef TRANSPORTMGR_H
+#define TRANSPORTMGR_H
+
+#include <ace/Singleton.h>
+#include <G3D/Quat.h>
+#include "Spline.h"
+#include "DBCStores.h"
+
+struct KeyFrame;
+struct GameObjectTemplate;
+struct TransportTemplate;
+class Transport;
+class Map;
+
+typedef Movement::Spline<double> TransportSpline;
+typedef std::vector<KeyFrame> KeyFrameVec;
+typedef UNORDERED_MAP<uint32, TransportTemplate> TransportTemplates;
+typedef std::set<Transport*> TransportSet;
+typedef UNORDERED_MAP<uint32, TransportSet> TransportMap;
+typedef UNORDERED_MAP<uint32, std::set<uint32> > TransportInstanceMap;
+
+struct KeyFrame
+{
+ explicit KeyFrame(TaxiPathNodeEntry const& _node) : Node(&_node),
+ DistSinceStop(-1.0f), DistUntilStop(-1.0f), DistFromPrev(-1.0f), TimeFrom(0.0f), TimeTo(0.0f),
+ Teleport(false), ArriveTime(0), DepartureTime(0), Spline(NULL), NextDistFromPrev(0.0f), NextArriveTime(0)
+ {
+ }
+
+ uint32 Index;
+ TaxiPathNodeEntry const* Node;
+ float DistSinceStop;
+ float DistUntilStop;
+ float DistFromPrev;
+ float TimeFrom;
+ float TimeTo;
+ bool Teleport;
+ uint32 ArriveTime;
+ uint32 DepartureTime;
+ TransportSpline* Spline;
+
+ // Data needed for next frame
+ float NextDistFromPrev;
+ uint32 NextArriveTime;
+
+ bool IsTeleportFrame() const { return Teleport; }
+ bool IsStopFrame() const { return Node->actionFlag == 2; }
+};
+
+struct TransportTemplate
+{
+ TransportTemplate() : pathTime(0), accelTime(0.0f), accelDist(0.0f) { }
+ ~TransportTemplate();
+
+ std::set<uint32> mapsUsed;
+ bool inInstance;
+ uint32 pathTime;
+ KeyFrameVec keyFrames;
+ float accelTime;
+ float accelDist;
+ uint32 entry;
+};
+
+typedef std::map<uint32, TransportAnimationEntry const*> TransportPathContainer;
+typedef std::map<uint32, TransportRotationEntry const*> TransportPathRotationContainer;
+
+struct TransportAnimation
+{
+ TransportPathContainer Path;
+ TransportPathRotationContainer Rotations;
+ uint32 TotalTime;
+
+ TransportAnimationEntry const* GetAnimNode(uint32 time) const;
+ G3D::Quat GetAnimRotation(uint32 time) const;
+};
+
+typedef std::map<uint32, TransportAnimation> TransportAnimationContainer;
+
+class TransportMgr
+{
+ friend class ACE_Singleton<TransportMgr, ACE_Thread_Mutex>;
+ friend void LoadDBCStores(std::string const&);
+
+ public:
+ void Unload();
+
+ void LoadTransportTemplates();
+
+ // Creates a transport using given GameObject template entry
+ Transport* CreateTransport(uint32 entry, uint32 guid = 0, Map* map = NULL);
+
+ // Spawns all continent transports, used at core startup
+ void SpawnContinentTransports();
+
+ // creates all transports for instance
+ void CreateInstanceTransports(Map* map);
+
+ TransportTemplate const* GetTransportTemplate(uint32 entry) const
+ {
+ TransportTemplates::const_iterator itr = _transportTemplates.find(entry);
+ if (itr != _transportTemplates.end())
+ return &itr->second;
+ return NULL;
+ }
+
+ TransportAnimation const* GetTransportAnimInfo(uint32 entry) const
+ {
+ TransportAnimationContainer::const_iterator itr = _transportAnimations.find(entry);
+ if (itr != _transportAnimations.end())
+ return &itr->second;
+
+ return NULL;
+ }
+
+ private:
+ TransportMgr();
+ ~TransportMgr();
+ TransportMgr(TransportMgr const&);
+ TransportMgr& operator=(TransportMgr const&);
+
+ // Generates and precaches a path for transport to avoid generation each time transport instance is created
+ void GeneratePath(GameObjectTemplate const* goInfo, TransportTemplate* transport);
+
+ void AddPathNodeToTransport(uint32 transportEntry, uint32 timeSeg, TransportAnimationEntry const* node);
+
+ void AddPathRotationToTransport(uint32 transportEntry, uint32 timeSeg, TransportRotationEntry const* node)
+ {
+ _transportAnimations[transportEntry].Rotations[timeSeg] = node;
+ }
+
+ // Container storing transport templates
+ TransportTemplates _transportTemplates;
+
+ // Container storing transport entries to create for instanced maps
+ TransportInstanceMap _instanceTransports;
+
+ TransportAnimationContainer _transportAnimations;
+};
+
+#define sTransportMgr ACE_Singleton<TransportMgr, ACE_Thread_Mutex>::instance()
+
+#endif // TRANSPORTMGR_H
diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h
index ce7168a4040..a745b94f466 100644
--- a/src/server/game/Maps/ZoneScript.h
+++ b/src/server/game/Maps/ZoneScript.h
@@ -26,8 +26,8 @@ class GameObject;
class ZoneScript
{
public:
- ZoneScript() {}
- virtual ~ZoneScript() {}
+ ZoneScript() { }
+ virtual ~ZoneScript() { }
virtual uint32 GetCreatureEntry(uint32 /*guidlow*/, CreatureData const* data) { return data->id; }
virtual uint32 GetGameObjectEntry(uint32 /*guidlow*/, uint32 entry) { return entry; }
@@ -42,13 +42,13 @@ class ZoneScript
//All-purpose data storage 64 bit
virtual uint64 GetData64(uint32 /*DataId*/) const { return 0; }
- virtual void SetData64(uint32 /*DataId*/, uint64 /*Value*/) {}
+ virtual void SetData64(uint32 /*DataId*/, uint64 /*Value*/) { }
//All-purpose data storage 32 bit
virtual uint32 GetData(uint32 /*DataId*/) const { return 0; }
- virtual void SetData(uint32 /*DataId*/, uint32 /*Value*/) {}
+ virtual void SetData(uint32 /*DataId*/, uint32 /*Value*/) { }
- virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/) {}
+ virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/) { }
};
#endif
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index c50db983845..327d7ed69fd 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -104,7 +104,7 @@ enum TrinityStrings
LANG_RBAC_PERM_REVOKED = 78,
LANG_RBAC_PERM_REVOKED_NOT_IN_LIST = 79,
// Free 80 - 95
-
+
LANG_GUILD_RENAME_ALREADY_EXISTS = 96,
LANG_GUILD_RENAME_DONE = 97,
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index c2daca325e4..81748f59b46 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -1495,7 +1495,8 @@ enum GameObjectDynamicLowFlags
GO_DYNFLAG_LO_ACTIVATE = 0x01, // enables interaction with GO
GO_DYNFLAG_LO_ANIMATE = 0x02, // possibly more distinct animation of GO
GO_DYNFLAG_LO_NO_INTERACT = 0x04, // appears to disable interaction (not fully verified)
- GO_DYNFLAG_LO_SPARKLE = 0x08 // makes GO sparkle
+ GO_DYNFLAG_LO_SPARKLE = 0x08, // makes GO sparkle
+ GO_DYNFLAG_LO_STOPPED = 0x10 // Transport is stopped
};
enum GameObjectDestructibleState
@@ -3552,7 +3553,7 @@ struct MmapTileHeader
bool usesLiquids : 1;
MmapTileHeader() : mmapMagic(MMAP_MAGIC), dtVersion(DT_NAVMESH_VERSION),
- mmapVersion(MMAP_VERSION), size(0), usesLiquids(true) {}
+ mmapVersion(MMAP_VERSION), size(0), usesLiquids(true) { }
};
enum NavTerrain
diff --git a/src/server/game/Movement/MovementGenerator.cpp b/src/server/game/Movement/MovementGenerator.cpp
index 408614833bb..b102f554c2f 100644
--- a/src/server/game/Movement/MovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerator.cpp
@@ -18,6 +18,4 @@
#include "MovementGenerator.h"
-MovementGenerator::~MovementGenerator()
-{
-}
+MovementGenerator::~MovementGenerator() { }
diff --git a/src/server/game/Movement/MovementGenerator.h b/src/server/game/Movement/MovementGenerator.h
index 39394a75513..92195037e23 100755
--- a/src/server/game/Movement/MovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerator.h
@@ -79,13 +79,13 @@ class MovementGeneratorMedium : public MovementGenerator
struct SelectableMovement : public FactoryHolder<MovementGenerator, MovementGeneratorType>
{
- SelectableMovement(MovementGeneratorType mgt) : FactoryHolder<MovementGenerator, MovementGeneratorType>(mgt) {}
+ SelectableMovement(MovementGeneratorType mgt) : FactoryHolder<MovementGenerator, MovementGeneratorType>(mgt) { }
};
template<class REAL_MOVEMENT>
struct MovementGeneratorFactory : public SelectableMovement
{
- MovementGeneratorFactory(MovementGeneratorType mgt) : SelectableMovement(mgt) {}
+ MovementGeneratorFactory(MovementGeneratorType mgt) : SelectableMovement(mgt) { }
MovementGenerator* Create(void *) const;
};
diff --git a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
index da29b8aa12e..1fa9465d6e8 100755
--- a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.h
@@ -26,7 +26,7 @@ template<class T>
class ConfusedMovementGenerator : public MovementGeneratorMedium< T, ConfusedMovementGenerator<T> >
{
public:
- explicit ConfusedMovementGenerator() : i_nextMoveTime(0) {}
+ explicit ConfusedMovementGenerator() : i_nextMoveTime(0) { }
void DoInitialize(T*);
void DoFinalize(T*);
diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
index 33a7c705564..b44bebdbfdf 100755
--- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.h
@@ -25,7 +25,7 @@ template<class T>
class FleeingMovementGenerator : public MovementGeneratorMedium< T, FleeingMovementGenerator<T> >
{
public:
- FleeingMovementGenerator(uint64 fright) : i_frightGUID(fright), i_nextCheckTime(0) {}
+ FleeingMovementGenerator(uint64 fright) : i_frightGUID(fright), i_nextCheckTime(0) { }
void DoInitialize(T*);
void DoFinalize(T*);
@@ -47,7 +47,7 @@ class TimedFleeingMovementGenerator : public FleeingMovementGenerator<Creature>
public:
TimedFleeingMovementGenerator(uint64 fright, uint32 time) :
FleeingMovementGenerator<Creature>(fright),
- i_totalFleeTime(time) {}
+ i_totalFleeTime(time) { }
MovementGeneratorType GetMovementGeneratorType() { return TIMED_FLEEING_MOTION_TYPE; }
bool Update(Unit*, uint32);
diff --git a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
index a94ef5d4f87..2d9fe4dd27f 100644
--- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
@@ -39,9 +39,7 @@ void HomeMovementGenerator<Creature>::DoFinalize(Creature* owner)
}
}
-void HomeMovementGenerator<Creature>::DoReset(Creature*)
-{
-}
+void HomeMovementGenerator<Creature>::DoReset(Creature*) { }
void HomeMovementGenerator<Creature>::_setTargetLocation(Creature* owner)
{
diff --git a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h
index 3d6c6ab18c9..c5bf8879b7b 100644
--- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.h
@@ -31,8 +31,8 @@ class HomeMovementGenerator<Creature> : public MovementGeneratorMedium< Creature
{
public:
- HomeMovementGenerator() : arrived(false) {}
- ~HomeMovementGenerator() {}
+ HomeMovementGenerator() : arrived(false) { }
+ ~HomeMovementGenerator() { }
void DoInitialize(Creature*);
void DoFinalize(Creature*);
diff --git a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h
index 0043891db2c..3c5b9c6d20f 100755
--- a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.h
@@ -37,7 +37,7 @@ extern IdleMovementGenerator si_idleMovement;
class RotateMovementGenerator : public MovementGenerator
{
public:
- explicit RotateMovementGenerator(uint32 time, RotateDirection direction) : m_duration(time), m_maxDuration(time), m_direction(direction) {}
+ explicit RotateMovementGenerator(uint32 time, RotateDirection direction) : m_duration(time), m_maxDuration(time), m_direction(direction) { }
void Initialize(Unit*);
void Finalize(Unit*);
@@ -53,7 +53,7 @@ class RotateMovementGenerator : public MovementGenerator
class DistractMovementGenerator : public MovementGenerator
{
public:
- explicit DistractMovementGenerator(uint32 timer) : m_timer(timer) {}
+ explicit DistractMovementGenerator(uint32 timer) : m_timer(timer) { }
void Initialize(Unit*);
void Finalize(Unit*);
@@ -69,7 +69,7 @@ class AssistanceDistractMovementGenerator : public DistractMovementGenerator
{
public:
AssistanceDistractMovementGenerator(uint32 timer) :
- DistractMovementGenerator(timer) {}
+ DistractMovementGenerator(timer) { }
MovementGeneratorType GetMovementGeneratorType() { return ASSISTANCE_DISTRACT_MOTION_TYPE; }
void Finalize(Unit*);
diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
index 917872c5960..f4968b21bd8 100755
--- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
@@ -102,9 +102,7 @@ void PointMovementGenerator<T>::DoReset(T* unit)
}
template<class T>
-void PointMovementGenerator<T>::MovementInform(T* /*unit*/)
-{
-}
+void PointMovementGenerator<T>::MovementInform(T* /*unit*/) { }
template <> void PointMovementGenerator<Creature>::MovementInform(Creature* unit)
{
diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
index 421736ca4ec..35e4afacb1a 100644
--- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.h
@@ -27,7 +27,7 @@ class PointMovementGenerator : public MovementGeneratorMedium< T, PointMovementG
{
public:
PointMovementGenerator(uint32 _id, float _x, float _y, float _z, bool _generatePath, float _speed = 0.0f) : id(_id),
- i_x(_x), i_y(_y), i_z(_z), speed(_speed), m_generatePath(_generatePath), i_recalculateSpeed(false) {}
+ i_x(_x), i_y(_y), i_z(_z), speed(_speed), m_generatePath(_generatePath), i_recalculateSpeed(false) { }
void DoInitialize(T*);
void DoFinalize(T*);
@@ -53,7 +53,7 @@ class AssistanceMovementGenerator : public PointMovementGenerator<Creature>
{
public:
AssistanceMovementGenerator(float _x, float _y, float _z) :
- PointMovementGenerator<Creature>(0, _x, _y, _z, true) {}
+ PointMovementGenerator<Creature>(0, _x, _y, _z, true) { }
MovementGeneratorType GetMovementGeneratorType() { return ASSISTANCE_MOTION_TYPE; }
void Finalize(Unit*);
@@ -63,10 +63,10 @@ class AssistanceMovementGenerator : public PointMovementGenerator<Creature>
class EffectMovementGenerator : public MovementGenerator
{
public:
- explicit EffectMovementGenerator(uint32 Id) : m_Id(Id) {}
- void Initialize(Unit*) {}
+ explicit EffectMovementGenerator(uint32 Id) : m_Id(Id) { }
+ void Initialize(Unit*) { }
void Finalize(Unit*);
- void Reset(Unit*) {}
+ void Reset(Unit*) { }
bool Update(Unit*, uint32);
MovementGeneratorType GetMovementGeneratorType() { return EFFECT_MOTION_TYPE; }
private:
diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
index a6159e995fe..ef2807a5f48 100644
--- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
@@ -25,7 +25,7 @@ template<class T>
class RandomMovementGenerator : public MovementGeneratorMedium< T, RandomMovementGenerator<T> >
{
public:
- RandomMovementGenerator(float spawn_dist = 0.0f) : i_nextMoveTime(0), wander_distance(spawn_dist) {}
+ RandomMovementGenerator(float spawn_dist = 0.0f) : i_nextMoveTime(0), wander_distance(spawn_dist) { }
void _setRandomLocation(T*);
void DoInitialize(T*);
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
index f457443dc8c..f71eddd2f89 100644
--- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
@@ -216,9 +216,7 @@ void ChaseMovementGenerator<T>::DoReset(T* owner)
}
template<class T>
-void ChaseMovementGenerator<T>::MovementInform(T* /*unit*/)
-{
-}
+void ChaseMovementGenerator<T>::MovementInform(T* /*unit*/) { }
template<>
void ChaseMovementGenerator<Creature>::MovementInform(Creature* unit)
@@ -290,9 +288,7 @@ void FollowMovementGenerator<T>::DoReset(T* owner)
}
template<class T>
-void FollowMovementGenerator<T>::MovementInform(T* /*unit*/)
-{
-}
+void FollowMovementGenerator<T>::MovementInform(T* /*unit*/) { }
template<>
void FollowMovementGenerator<Creature>::MovementInform(Creature* unit)
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
index 14d0ab0ec66..6358aa19cde 100755
--- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
@@ -68,10 +68,10 @@ class ChaseMovementGenerator : public TargetedMovementGeneratorMedium<T, ChaseMo
{
public:
ChaseMovementGenerator(Unit* target)
- : TargetedMovementGeneratorMedium<T, ChaseMovementGenerator<T> >(target) {}
+ : TargetedMovementGeneratorMedium<T, ChaseMovementGenerator<T> >(target) { }
ChaseMovementGenerator(Unit* target, float offset, float angle)
- : TargetedMovementGeneratorMedium<T, ChaseMovementGenerator<T> >(target, offset, angle) {}
- ~ChaseMovementGenerator() {}
+ : TargetedMovementGeneratorMedium<T, ChaseMovementGenerator<T> >(target, offset, angle) { }
+ ~ChaseMovementGenerator() { }
MovementGeneratorType GetMovementGeneratorType() { return CHASE_MOTION_TYPE; }
@@ -92,10 +92,10 @@ class FollowMovementGenerator : public TargetedMovementGeneratorMedium<T, Follow
{
public:
FollowMovementGenerator(Unit* target)
- : TargetedMovementGeneratorMedium<T, FollowMovementGenerator<T> >(target){}
+ : TargetedMovementGeneratorMedium<T, FollowMovementGenerator<T> >(target){ }
FollowMovementGenerator(Unit* target, float offset, float angle)
- : TargetedMovementGeneratorMedium<T, FollowMovementGenerator<T> >(target, offset, angle) {}
- ~FollowMovementGenerator() {}
+ : TargetedMovementGeneratorMedium<T, FollowMovementGenerator<T> >(target, offset, angle) { }
+ ~FollowMovementGenerator() { }
MovementGeneratorType GetMovementGeneratorType() { return FOLLOW_MOTION_TYPE; }
@@ -108,7 +108,7 @@ class FollowMovementGenerator : public TargetedMovementGeneratorMedium<T, Follow
static void _addUnitStateMove(T* u) { u->AddUnitState(UNIT_STATE_FOLLOW_MOVE); }
bool EnableWalking() const;
bool _lostTarget(T*) const { return false; }
- void _reachTarget(T*) {}
+ void _reachTarget(T*) { }
private:
void _updateSpeed(T* owner);
};
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
index 6311e629641..5506f74b221 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
@@ -20,6 +20,7 @@
//Extended headers
#include "ObjectMgr.h"
#include "World.h"
+#include "Transport.h"
//Flightmaster grid preloading
#include "MapManager.h"
//Creature-specific headers
@@ -92,14 +93,37 @@ bool WaypointMovementGenerator<Creature>::StartMove(Creature* creature)
{
if (!i_path || i_path->empty())
return false;
+
if (Stopped())
return true;
+ bool transportPath = creature->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && creature->GetTransGUID();
+
if (m_isArrivalDone)
{
if ((i_currentNode == i_path->size() - 1) && !repeating) // If that's our last waypoint
{
- creature->SetHomePosition(i_path->at(i_currentNode)->x, i_path->at(i_currentNode)->y, i_path->at(i_currentNode)->z, creature->GetOrientation());
+ float x = i_path->at(i_currentNode)->x;
+ float y = i_path->at(i_currentNode)->y;
+ float z = i_path->at(i_currentNode)->z;
+ float o = creature->GetOrientation();
+
+ if (!transportPath)
+ creature->SetHomePosition(x, y, z, o);
+ else
+ {
+ if (Transport* trans = creature->GetTransport())
+ {
+ o -= trans->GetOrientation();
+ creature->SetTransportHomePosition(x, y, z, o);
+ trans->CalculatePassengerPosition(x, y, z, &o);
+ creature->SetHomePosition(x, y, z, o);
+ }
+ else
+ transportPath = false;
+ // else if (vehicle) - this should never happen, vehicle offsets are const
+ }
+
creature->GetMotionMaster()->Initialize();
return false;
}
@@ -113,7 +137,19 @@ bool WaypointMovementGenerator<Creature>::StartMove(Creature* creature)
creature->AddUnitState(UNIT_STATE_ROAMING_MOVE);
+ Movement::Location formationDest(node->x, node->y, node->z, 0.0f);
Movement::MoveSplineInit init(creature);
+
+ //! If creature is on transport, we assume waypoints set in DB are already transport offsets
+ if (transportPath)
+ {
+ init.DisableTransportPathTransformations();
+ if (TransportBase* trans = creature->GetDirectTransport())
+ trans->CalculatePassengerPosition(formationDest.x, formationDest.y, formationDest.z, &formationDest.orientation);
+ }
+
+ //! Do not use formationDest here, MoveTo requires transport offsets due to DisableTransportPathTransformations() call
+ //! but formationDest contains global coordinates
init.MoveTo(node->x, node->y, node->z);
//! Accepts angles such as 0.00001 and -0.00001, 0 must be ignored, default value in waypoint table
@@ -125,7 +161,7 @@ bool WaypointMovementGenerator<Creature>::StartMove(Creature* creature)
//Call for creature group update
if (creature->GetFormation() && creature->GetFormation()->getLeader() == creature)
- creature->GetFormation()->LeaderMoveTo(node->x, node->y, node->z);
+ creature->GetFormation()->LeaderMoveTo(formationDest.x, formationDest.y, formationDest.z);
return true;
}
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
index 72650570e12..c22b0c5296f 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
@@ -42,8 +42,8 @@ template<class T, class P>
class PathMovementBase
{
public:
- PathMovementBase() : i_path(NULL), i_currentNode(0) {}
- virtual ~PathMovementBase() {};
+ PathMovementBase() : i_path(NULL), i_currentNode(0) { }
+ virtual ~PathMovementBase() { };
// template pattern, not defined .. override required
void LoadPath(T &);
@@ -63,7 +63,7 @@ class WaypointMovementGenerator<Creature> : public MovementGeneratorMedium< Crea
{
public:
WaypointMovementGenerator(uint32 _path_id = 0, bool _repeating = true)
- : i_nextMoveTime(0), m_isArrivalDone(false), path_id(_path_id), repeating(_repeating) {}
+ : i_nextMoveTime(0), m_isArrivalDone(false), path_id(_path_id), repeating(_repeating) { }
~WaypointMovementGenerator() { i_path = NULL; }
void DoInitialize(Creature*);
void DoFinalize(Creature*);
diff --git a/src/server/game/Movement/Spline/MoveSpline.cpp b/src/server/game/Movement/Spline/MoveSpline.cpp
index e786b78143a..ad7aa21a58c 100644
--- a/src/server/game/Movement/Spline/MoveSpline.cpp
+++ b/src/server/game/Movement/Spline/MoveSpline.cpp
@@ -92,7 +92,7 @@ inline uint32 computeDuration(float length, float velocity)
struct FallInitializer
{
- FallInitializer(float _start_elevation) : start_elevation(_start_elevation) {}
+ FallInitializer(float _start_elevation) : start_elevation(_start_elevation) { }
float start_elevation;
inline int32 operator()(Spline<int32>& s, int32 i)
{
@@ -106,7 +106,7 @@ enum{
struct CommonInitializer
{
- CommonInitializer(float _velocity) : velocityInv(1000.f/_velocity), time(minimal_duration) {}
+ CommonInitializer(float _velocity) : velocityInv(1000.f/_velocity), time(minimal_duration) { }
float velocityInv;
int32 time;
inline int32 operator()(Spline<int32>& s, int32 i)
diff --git a/src/server/game/Movement/Spline/MoveSpline.h b/src/server/game/Movement/Spline/MoveSpline.h
index 75ea89bee81..209f978d658 100644
--- a/src/server/game/Movement/Spline/MoveSpline.h
+++ b/src/server/game/Movement/Spline/MoveSpline.h
@@ -26,10 +26,10 @@ namespace Movement
{
struct Location : public Vector3
{
- Location() : orientation(0) {}
- Location(float x, float y, float z, float o) : Vector3(x, y, z), orientation(o) {}
- Location(const Vector3& v) : Vector3(v), orientation(0) {}
- Location(const Vector3& v, float o) : Vector3(v), orientation(o) {}
+ Location() : orientation(0) { }
+ Location(float x, float y, float z, float o) : Vector3(x, y, z), orientation(o) { }
+ Location(const Vector3& v) : Vector3(v), orientation(0) { }
+ Location(const Vector3& v, float o) : Vector3(v), orientation(o) { }
float orientation;
};
diff --git a/src/server/game/Movement/Spline/MoveSplineInitArgs.h b/src/server/game/Movement/Spline/MoveSplineInitArgs.h
index 474541cbf15..12c22898b6d 100644
--- a/src/server/game/Movement/Spline/MoveSplineInitArgs.h
+++ b/src/server/game/Movement/Spline/MoveSplineInitArgs.h
@@ -36,9 +36,9 @@ namespace Movement
uint64 target;
float angle;
- FacingInfo(float o) : angle(o) {}
- FacingInfo(uint64 t) : target(t) {}
- FacingInfo() {}
+ FacingInfo(float o) : angle(o) { }
+ FacingInfo(uint64 t) : target(t) { }
+ FacingInfo() { }
};
struct MoveSplineInitArgs
diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h
index d4b100ee46e..dab31e957f1 100644
--- a/src/server/game/Movement/Spline/Spline.h
+++ b/src/server/game/Movement/Spline/Spline.h
@@ -86,7 +86,7 @@ protected:
public:
- explicit SplineBase() : index_lo(0), index_hi(0), m_mode(UninitializedMode), cyclic(false) {}
+ explicit SplineBase() : index_lo(0), index_hi(0), m_mode(UninitializedMode), cyclic(false) { }
/** Caclulates the position for given segment Idx, and percent of segment length t
@param t - percent of segment length, assumes that t in range [0, 1]
@@ -144,7 +144,7 @@ protected:
index_type computeIndexInBounds(length_type length) const;
public:
- explicit Spline(){}
+ explicit Spline(){ }
/** Calculates the position for given t
@param t - percent of spline's length, assumes that t in range [0, 1]. */
diff --git a/src/server/game/Movement/Waypoints/WaypointManager.cpp b/src/server/game/Movement/Waypoints/WaypointManager.cpp
index 27df7b8a47f..406ac95322a 100644
--- a/src/server/game/Movement/Waypoints/WaypointManager.cpp
+++ b/src/server/game/Movement/Waypoints/WaypointManager.cpp
@@ -22,9 +22,7 @@
#include "MapManager.h"
#include "Log.h"
-WaypointMgr::WaypointMgr()
-{
-}
+WaypointMgr::WaypointMgr() { }
WaypointMgr::~WaypointMgr()
{
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.cpp b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
index 73b5399fa89..4d68e03a1c6 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.cpp
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
@@ -231,9 +231,7 @@ void OutdoorPvP::DeleteSpawns()
m_capturePoints.clear();
}
-OutdoorPvP::OutdoorPvP() : m_sendUpdate(true)
-{
-}
+OutdoorPvP::OutdoorPvP() : m_sendUpdate(true) { }
OutdoorPvP::~OutdoorPvP()
{
@@ -257,9 +255,7 @@ void OutdoorPvP::HandlePlayerLeaveZone(Player* player, uint32 /*zone*/)
TC_LOG_DEBUG(LOG_FILTER_OUTDOORPVP, "Player %s left an outdoorpvp zone", player->GetName().c_str());
}
-void OutdoorPvP::HandlePlayerResurrects(Player* /*player*/, uint32 /*zone*/)
-{
-}
+void OutdoorPvP::HandlePlayerResurrects(Player* /*player*/, uint32 /*zone*/) { }
bool OutdoorPvP::Update(uint32 diff)
{
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.h b/src/server/game/OutdoorPvP/OutdoorPvP.h
index 1e23f87a52e..30b9d5c58fc 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.h
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.h
@@ -93,9 +93,9 @@ class OPvPCapturePoint
OPvPCapturePoint(OutdoorPvP* pvp);
- virtual ~OPvPCapturePoint() {}
+ virtual ~OPvPCapturePoint() { }
- virtual void FillInitialWorldStates(WorldPacket & /*data*/) {}
+ virtual void FillInitialWorldStates(WorldPacket & /*data*/) { }
// send world state update to all players present
void SendUpdateWorldState(uint32 field, uint32 value);
@@ -119,7 +119,7 @@ class OPvPCapturePoint
virtual void ChangeState() = 0;
- virtual void ChangeTeam(TeamId /*oldTeam*/) {}
+ virtual void ChangeTeam(TeamId /*oldTeam*/) { }
virtual void SendChangePhase();
@@ -205,7 +205,7 @@ class OutdoorPvP : public ZoneScript
typedef std::map<uint32/*lowguid*/, OPvPCapturePoint*> OPvPCapturePointMap;
- virtual void FillInitialWorldStates(WorldPacket & /*data*/) {}
+ virtual void FillInitialWorldStates(WorldPacket & /*data*/) { }
// called when a player triggers an areatrigger
virtual bool HandleAreaTrigger(Player* player, uint32 trigger);
@@ -221,7 +221,7 @@ class OutdoorPvP : public ZoneScript
void OnGameObjectCreate(GameObject* go);
void OnGameObjectRemove(GameObject* go);
- void OnCreatureCreate(Creature*) {}
+ void OnCreatureCreate(Creature*) { }
// send world state update to all players present
void SendUpdateWorldState(uint32 field, uint32 value);
@@ -231,13 +231,13 @@ class OutdoorPvP : public ZoneScript
// handle npc/player kill
virtual void HandleKill(Player* killer, Unit* killed);
- virtual void HandleKillImpl(Player* /*killer*/, Unit* /*killed*/) {}
+ virtual void HandleKillImpl(Player* /*killer*/, Unit* /*killed*/) { }
// checks if player is in range of a capture credit marker
bool IsInsideObjective(Player* player) const;
// awards rewards for player kill
- virtual void AwardKillBonus(Player* /*player*/) {}
+ virtual void AwardKillBonus(Player* /*player*/) { }
uint32 GetTypeId() {return m_TypeId;}
@@ -261,7 +261,7 @@ class OutdoorPvP : public ZoneScript
bool m_sendUpdate;
// world state stuff
- virtual void SendRemoveWorldStates(Player* /*player*/) {}
+ virtual void SendRemoveWorldStates(Player* /*player*/) { }
void BroadcastPacket(WorldPacket & data) const;
diff --git a/src/server/game/OutdoorPvP/OutdoorPvPMgr.h b/src/server/game/OutdoorPvP/OutdoorPvPMgr.h
index 8a93987c878..2d8acb56252 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvPMgr.h
+++ b/src/server/game/OutdoorPvP/OutdoorPvPMgr.h
@@ -42,7 +42,7 @@ class OutdoorPvPMgr
private:
OutdoorPvPMgr();
- ~OutdoorPvPMgr() {};
+ ~OutdoorPvPMgr() { };
public:
// create outdoor pvp events
diff --git a/src/server/game/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp
index 1ea2ff9894a..8cb0c8e6191 100644
--- a/src/server/game/Pools/PoolMgr.cpp
+++ b/src/server/game/Pools/PoolMgr.cpp
@@ -525,22 +525,16 @@ void PoolGroup<GameObject>::ReSpawn1Object(PoolObject* obj)
// Nothing to do for a child Pool
template <>
-void PoolGroup<Pool>::ReSpawn1Object(PoolObject* /*obj*/)
-{
-}
+void PoolGroup<Pool>::ReSpawn1Object(PoolObject* /*obj*/) { }
// Nothing to do for a quest
template <>
-void PoolGroup<Quest>::ReSpawn1Object(PoolObject* /*obj*/)
-{
-}
+void PoolGroup<Quest>::ReSpawn1Object(PoolObject* /*obj*/) { }
////////////////////////////////////////////////////////////
// Methods of class PoolMgr
-PoolMgr::PoolMgr() : max_pool_id(0)
-{
-}
+PoolMgr::PoolMgr() : max_pool_id(0) { }
void PoolMgr::Initialize()
{
diff --git a/src/server/game/Pools/PoolMgr.h b/src/server/game/Pools/PoolMgr.h
index 8a9b4a953dd..c5ded289215 100644
--- a/src/server/game/Pools/PoolMgr.h
+++ b/src/server/game/Pools/PoolMgr.h
@@ -34,7 +34,7 @@ struct PoolObject
{
uint32 guid;
float chance;
- PoolObject(uint32 _guid, float _chance): guid(_guid), chance(fabs(_chance)) {}
+ PoolObject(uint32 _guid, float _chance): guid(_guid), chance(fabs(_chance)) { }
};
class Pool // for Pool of Pool case
@@ -73,7 +73,7 @@ class PoolGroup
public:
explicit PoolGroup() : poolId(0) { }
void SetPoolId(uint32 pool_id) { poolId = pool_id; }
- ~PoolGroup() {};
+ ~PoolGroup() { };
bool isEmpty() const { return ExplicitlyChanced.empty() && EqualChanced.empty(); }
void AddEntry(PoolObject& poolitem, uint32 maxentries);
bool CheckPool() const;
@@ -108,7 +108,7 @@ class PoolMgr
private:
PoolMgr();
- ~PoolMgr() {};
+ ~PoolMgr() { };
public:
void LoadFromDB();
diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h
index adc1df32f8a..e02cc5b62e0 100644
--- a/src/server/game/Reputation/ReputationMgr.h
+++ b/src/server/game/Reputation/ReputationMgr.h
@@ -65,8 +65,8 @@ class ReputationMgr
{
public: // constructors and global modifiers
explicit ReputationMgr(Player* owner) : _player(owner),
- _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) {}
- ~ReputationMgr() {}
+ _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) { }
+ ~ReputationMgr() { }
void SaveToDB(SQLTransaction& trans);
void LoadFromDB(PreparedQueryResult result);
diff --git a/src/server/game/Scripting/MapScripts.cpp b/src/server/game/Scripting/MapScripts.cpp
index c37cdf80730..ff133272724 100644
--- a/src/server/game/Scripting/MapScripts.cpp
+++ b/src/server/game/Scripting/MapScripts.cpp
@@ -315,6 +315,7 @@ void Map::ScriptsProcess()
case HIGHGUID_PLAYER:
source = HashMapHolder<Player>::Find(step.sourceGUID);
break;
+ case HIGHGUID_TRANSPORT:
case HIGHGUID_GAMEOBJECT:
source = HashMapHolder<GameObject>::Find(step.sourceGUID);
break;
@@ -322,15 +323,11 @@ void Map::ScriptsProcess()
source = HashMapHolder<Corpse>::Find(step.sourceGUID);
break;
case HIGHGUID_MO_TRANSPORT:
- for (MapManager::TransportSet::iterator itr2 = sMapMgr->m_Transports.begin(); itr2 != sMapMgr->m_Transports.end(); ++itr2)
- {
- if ((*itr2)->GetGUID() == step.sourceGUID)
- {
- source = *itr2;
- break;
- }
- }
+ {
+ GameObject* go = HashMapHolder<GameObject>::Find(step.sourceGUID);
+ source = go ? go->ToTransport() : NULL;
break;
+ }
default:
TC_LOG_ERROR(LOG_FILTER_TSCR, "%s source with unsupported high guid (GUID: " UI64FMTD ", high guid: %u).",
step.script->GetDebugInfo().c_str(), step.sourceGUID, GUID_HIPART(step.sourceGUID));
@@ -353,12 +350,19 @@ void Map::ScriptsProcess()
case HIGHGUID_PLAYER: // empty GUID case also
target = HashMapHolder<Player>::Find(step.targetGUID);
break;
+ case HIGHGUID_TRANSPORT:
case HIGHGUID_GAMEOBJECT:
target = HashMapHolder<GameObject>::Find(step.targetGUID);
break;
case HIGHGUID_CORPSE:
target = HashMapHolder<Corpse>::Find(step.targetGUID);
break;
+ case HIGHGUID_MO_TRANSPORT:
+ {
+ GameObject* go = HashMapHolder<GameObject>::Find(step.targetGUID);
+ target = go ? go->ToTransport() : NULL;
+ break;
+ }
default:
TC_LOG_ERROR(LOG_FILTER_TSCR, "%s target with unsupported high guid (GUID: " UI64FMTD ", high guid: %u).",
step.script->GetDebugInfo().c_str(), step.targetGUID, GUID_HIPART(step.targetGUID));
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index fb96c327b05..c74cf1735ff 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -176,13 +176,9 @@ struct TSpellSummary
} *SpellSummary;
ScriptMgr::ScriptMgr()
- : _scriptCount(0), _scheduledScripts(0)
-{
-}
+ : _scriptCount(0), _scheduledScripts(0) { }
-ScriptMgr::~ScriptMgr()
-{
-}
+ScriptMgr::~ScriptMgr() { }
void ScriptMgr::Initialize()
{
@@ -1363,12 +1359,12 @@ void ScriptMgr::OnGroupDisband(Group* group)
}
// Unit
-void ScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32 gain)
+void ScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32& gain)
{
FOREACH_SCRIPT(UnitScript)->OnHeal(healer, reciever, gain);
}
-void ScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32 damage)
+void ScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32& damage)
{
FOREACH_SCRIPT(UnitScript)->OnDamage(attacker, victim, damage);
}
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index a3eff880bb9..37a95c77254 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -396,11 +396,11 @@ class UnitScript : public ScriptObject
UnitScript(const char* name, bool addToScripts = true);
public:
- // Called when a unit deals damage to another unit
- virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32 /*gain*/) { }
+ // Called when a unit deals healing to another unit
+ virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32& /*gain*/) { }
// Called when a unit deals damage to another unit
- virtual void OnDamage(Unit* /*attacker*/, Unit* /*victim*/, uint32 /*damage*/) { }
+ virtual void OnDamage(Unit* /*attacker*/, Unit* /*victim*/, uint32& /*damage*/) { }
// Called when DoT's Tick Damage is being Dealt
virtual void ModifyPeriodicDamageAurasTick(Unit* /*target*/, Unit* /*attacker*/, uint32& /*damage*/) { }
@@ -1060,8 +1060,8 @@ class ScriptMgr
public: /* UnitScript */
- void OnHeal(Unit* healer, Unit* reciever, uint32 gain);
- void OnDamage(Unit* attacker, Unit* victim, uint32 damage);
+ void OnHeal(Unit* healer, Unit* reciever, uint32& gain);
+ void OnDamage(Unit* attacker, Unit* victim, uint32& damage);
void ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage);
void ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage);
void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage);
diff --git a/src/server/game/Scripting/ScriptSystem.h b/src/server/game/Scripting/ScriptSystem.h
index 0641cebd18f..af2e50bae36 100644
--- a/src/server/game/Scripting/ScriptSystem.h
+++ b/src/server/game/Scripting/ScriptSystem.h
@@ -49,8 +49,8 @@ typedef std::vector<ScriptPointMove> ScriptPointVector;
class SystemMgr
{
friend class ACE_Singleton<SystemMgr, ACE_Null_Mutex>;
- SystemMgr() {}
- ~SystemMgr() {}
+ SystemMgr() { }
+ ~SystemMgr() { }
public:
typedef UNORDERED_MAP<uint32, ScriptPointVector> PointMoveMap;
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index c60b09438c1..c33c12ae5d4 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -272,6 +272,8 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
//! delayed packets that were re-enqueued due to improper timing. To prevent an infinite
//! loop caused by re-enqueueing the same packets over and over again, we stop updating this session
//! and continue updating others. The re-enqueued packets will be handled in the next Update call for this session.
+ uint32 processedPackets = 0;
+
while (m_Socket && !m_Socket->IsClosed() &&
!_recvQueue.empty() && _recvQueue.peek(true) != firstDelayedPacket &&
_recvQueue.next(packet, updater))
@@ -383,6 +385,14 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
delete packet;
deletePacket = true;
+
+#define MAX_PROCESSED_PACKETS_IN_SAME_WORLDSESSION_UPDATE 100
+ processedPackets++;
+
+ //process only a max amout of packets in 1 Update() call.
+ //Any leftover will be processed in next update
+ if (processedPackets > MAX_PROCESSED_PACKETS_IN_SAME_WORLDSESSION_UPDATE)
+ break;
}
if (m_Socket && !m_Socket->IsClosed() && _warden)
@@ -786,10 +796,6 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
if (mi->HasExtraMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT))
data >> mi->transport.time2;
-
- if (mi->pos.m_positionX != mi->transport.pos.m_positionX)
- if (GetPlayer()->GetTransport())
- GetPlayer()->GetTransport()->UpdatePosition(mi);
}
if (mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (mi->HasExtraMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING)))
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 3842a4577de..099bfe8e2b2 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -86,7 +86,7 @@ enum AccountDataType
struct AccountData
{
- AccountData() : Time(0), Data("") {}
+ AccountData() : Time(0), Data("") { }
time_t Time;
std::string Data;
@@ -130,8 +130,8 @@ enum CharterTypes
class PacketFilter
{
public:
- explicit PacketFilter(WorldSession* pSession) : m_pSession(pSession) {}
- virtual ~PacketFilter() {}
+ explicit PacketFilter(WorldSession* pSession) : m_pSession(pSession) { }
+ virtual ~PacketFilter() { }
virtual bool Process(WorldPacket* /*packet*/) { return true; }
virtual bool ProcessLogout() const { return true; }
@@ -143,8 +143,8 @@ protected:
class MapSessionFilter : public PacketFilter
{
public:
- explicit MapSessionFilter(WorldSession* pSession) : PacketFilter(pSession) {}
- ~MapSessionFilter() {}
+ explicit MapSessionFilter(WorldSession* pSession) : PacketFilter(pSession) { }
+ ~MapSessionFilter() { }
virtual bool Process(WorldPacket* packet);
//in Map::Update() we do not process player logout!
@@ -156,8 +156,8 @@ public:
class WorldSessionFilter : public PacketFilter
{
public:
- explicit WorldSessionFilter(WorldSession* pSession) : PacketFilter(pSession) {}
- ~WorldSessionFilter() {}
+ explicit WorldSessionFilter(WorldSession* pSession) : PacketFilter(pSession) { }
+ ~WorldSessionFilter() { }
virtual bool Process(WorldPacket* packet);
};
@@ -173,7 +173,7 @@ class CharacterCreateInfo
CharacterCreateInfo(std::string const& name, uint8 race, uint8 cclass, uint8 gender, uint8 skin, uint8 face, uint8 hairStyle, uint8 hairColor, uint8 facialHair, uint8 outfitId,
WorldPacket& data) : Name(name), Race(race), Class(cclass), Gender(gender), Skin(skin), Face(face), HairStyle(hairStyle), HairColor(hairColor), FacialHair(facialHair),
OutfitId(outfitId), Data(data), CharCount(0)
- {}
+ { }
/// User specified variables
std::string Name;
@@ -923,7 +923,7 @@ class WorldSession
{
friend class World;
public:
- DosProtection(WorldSession* s) : Session(s), _policy((Policy)sWorld->getIntConfig(CONFIG_PACKET_SPOOF_POLICY)) {}
+ DosProtection(WorldSession* s) : Session(s), _policy((Policy)sWorld->getIntConfig(CONFIG_PACKET_SPOOF_POLICY)) { }
bool EvaluateOpcode(WorldPacket& p) const;
void AllowOpcode(uint16 opcode, bool allow) { _isOpcodeAllowed[opcode] = allow; }
protected:
diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp
index 57a77773d52..12da93fb537 100644
--- a/src/server/game/Server/WorldSocketMgr.cpp
+++ b/src/server/game/Server/WorldSocketMgr.cpp
@@ -217,9 +217,7 @@ WorldSocketMgr::WorldSocketMgr() :
m_SockOutKBuff(-1),
m_SockOutUBuff(65536),
m_UseNoDelay(true),
- m_Acceptor (0)
-{
-}
+ m_Acceptor (0) { }
WorldSocketMgr::~WorldSocketMgr()
{
diff --git a/src/server/game/Skills/SkillDiscovery.cpp b/src/server/game/Skills/SkillDiscovery.cpp
index 27e7f66fd1a..94fd0ac4428 100644
--- a/src/server/game/Skills/SkillDiscovery.cpp
+++ b/src/server/game/Skills/SkillDiscovery.cpp
@@ -33,10 +33,10 @@ struct SkillDiscoveryEntry
float chance; // chance
SkillDiscoveryEntry()
- : spellId(0), reqSkillValue(0), chance(0) {}
+ : spellId(0), reqSkillValue(0), chance(0) { }
SkillDiscoveryEntry(uint32 _spellId, uint32 req_skill_val, float _chance)
- : spellId(_spellId), reqSkillValue(req_skill_val), chance(_chance) {}
+ : spellId(_spellId), reqSkillValue(req_skill_val), chance(_chance) { }
};
typedef std::list<SkillDiscoveryEntry> SkillDiscoveryList;
diff --git a/src/server/game/Skills/SkillExtraItems.cpp b/src/server/game/Skills/SkillExtraItems.cpp
index 66ad6fc190a..ddd8d1908fa 100644
--- a/src/server/game/Skills/SkillExtraItems.cpp
+++ b/src/server/game/Skills/SkillExtraItems.cpp
@@ -37,10 +37,10 @@ struct SkillExtraItemEntry
uint8 additionalMaxNum;
SkillExtraItemEntry()
- : requiredSpecialization(0), additionalCreateChance(0.0f), additionalMaxNum(0) {}
+ : requiredSpecialization(0), additionalCreateChance(0.0f), additionalMaxNum(0) { }
SkillExtraItemEntry(uint32 rS, float aCC, uint8 aMN)
- : requiredSpecialization(rS), additionalCreateChance(aCC), additionalMaxNum(aMN) {}
+ : requiredSpecialization(rS), additionalCreateChance(aCC), additionalMaxNum(aMN) { }
};
// map to store the extra item creation info, the key is the spellId of the creation spell, the mapped value is the assigned SkillExtraItemEntry
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 4b73af1b681..3309a8c010e 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -350,7 +350,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleAuraModCritPct, //290 SPELL_AURA_MOD_CRIT_PCT
&AuraEffect::HandleNoImmediateEffect, //291 SPELL_AURA_MOD_XP_QUEST_PCT implemented in Player::RewardQuest
&AuraEffect::HandleAuraOpenStable, //292 SPELL_AURA_OPEN_STABLE
- &AuraEffect::HandleAuraOverrideSpells, //293 auras which probably add set of abilities to their target based on it's miscvalue
+ &AuraEffect::HandleAuraOverrideSpells, //293 SPELL_AURA_OVERRIDE_SPELLS auras which probably add set of abilities to their target based on it's miscvalue
&AuraEffect::HandleNoImmediateEffect, //294 SPELL_AURA_PREVENT_REGENERATE_POWER implemented in Player::Regenerate(Powers power)
&AuraEffect::HandleUnused, //295 0 spells in 3.3.5
&AuraEffect::HandleAuraSetVehicle, //296 SPELL_AURA_SET_VEHICLE_ID sets vehicle on target
@@ -2301,7 +2301,10 @@ void AuraEffect::HandleAuraModPacify(AuraApplication const* aurApp, uint8 mode,
Unit* target = aurApp->GetTarget();
if (apply)
+ {
target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
+ target->AttackStop();
+ }
else
{
// do not remove unit flag if there are more than this auraEffect of that kind on unit on unit
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.h b/src/server/game/Spells/Auras/SpellAuraEffects.h
index 7cfb1e04850..ddd6c1127e1 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.h
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.h
@@ -317,11 +317,11 @@ namespace Trinity
// Wards
if ((spellProtoA->SpellFamilyName == SPELLFAMILY_MAGE) ||
(spellProtoA->SpellFamilyName == SPELLFAMILY_WARLOCK))
- if (spellProtoA->Category == 56)
+ if (spellProtoA->GetCategory() == 56)
return true;
if ((spellProtoB->SpellFamilyName == SPELLFAMILY_MAGE) ||
(spellProtoB->SpellFamilyName == SPELLFAMILY_WARLOCK))
- if (spellProtoB->Category == 56)
+ if (spellProtoB->GetCategory() == 56)
return false;
// Sacred Shield
@@ -343,9 +343,9 @@ namespace Trinity
return false;
// Ice Barrier
- if (spellProtoA->Category == 471)
+ if (spellProtoA->GetCategory() == 471)
return true;
- if (spellProtoB->Category == 471)
+ if (spellProtoB->GetCategory() == 471)
return false;
// Sacrifice
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index d7b8003f19a..4b6423503c1 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -413,7 +413,7 @@ void Aura::_ApplyForTarget(Unit* target, Unit* caster, AuraApplication * auraApp
// set infinity cooldown state for spells
if (caster && caster->GetTypeId() == TYPEID_PLAYER)
{
- if (m_spellInfo->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (m_spellInfo->IsCooldownStartedOnEvent())
{
Item* castItem = m_castItemGuid ? caster->ToPlayer()->GetItemByGuid(m_castItemGuid) : NULL;
caster->ToPlayer()->AddSpellAndCategoryCooldowns(m_spellInfo, castItem ? castItem->GetEntry() : 0, NULL, true);
@@ -446,7 +446,7 @@ void Aura::_UnapplyForTarget(Unit* target, Unit* caster, AuraApplication * auraA
// reset cooldown state for spells
if (caster && caster->GetTypeId() == TYPEID_PLAYER)
{
- if (GetSpellInfo()->Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE)
+ if (GetSpellInfo()->IsCooldownStartedOnEvent())
// note: item based cooldowns and cooldown spell mods with charges ignored (unknown existed cases)
caster->ToPlayer()->SendCooldownEvent(GetSpellInfo());
}
@@ -1279,7 +1279,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
break;
case SPELLFAMILY_ROGUE:
// Sprint (skip non player casted spells by category)
- if (GetSpellInfo()->SpellFamilyFlags[0] & 0x40 && GetSpellInfo()->Category == 44)
+ if (GetSpellInfo()->SpellFamilyFlags[0] & 0x40 && GetSpellInfo()->GetCategory() == 44)
// in official maybe there is only one icon?
if (target->HasAura(58039)) // Glyph of Blurred Speed
target->CastSpell(target, 61922, true); // Sprint (waterwalk)
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 5f0b0135f58..94c0c54e065 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -99,9 +99,7 @@ SpellCastTargets::SpellCastTargets() : m_elevation(0), m_speed(0), m_strTarget()
m_targetMask = 0;
}
-SpellCastTargets::~SpellCastTargets()
-{
-}
+SpellCastTargets::~SpellCastTargets() { }
void SpellCastTargets::Read(ByteBuffer& data, Unit* caster)
{
@@ -2680,7 +2678,9 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
m_diminishLevel = unit->GetDiminishing(m_diminishGroup);
DiminishingReturnsType type = GetDiminishingReturnsGroupType(m_diminishGroup);
// Increase Diminishing on unit, current informations for actually casts will use values above
- if ((type == DRTYPE_PLAYER && unit->GetCharmerOrOwnerPlayerOrPlayerItself()) || type == DRTYPE_ALL)
+ if ((type == DRTYPE_PLAYER &&
+ (unit->GetCharmerOrOwnerPlayerOrPlayerItself() || (unit->GetTypeId() == TYPEID_UNIT && unit->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_ALL_DIMINISH))) ||
+ type == DRTYPE_ALL)
unit->IncrDiminishing(m_diminishGroup);
}
@@ -3550,7 +3550,7 @@ void Spell::SendSpellCooldown()
return;
// mana/health/etc potions, disabled by client (until combat out as declarate)
- if (m_CastItem && m_CastItem->IsPotion())
+ if (m_CastItem && (m_CastItem->IsPotion() || m_spellInfo->IsCooldownStartedOnEvent()))
{
// need in some way provided data for Spell::finish SendCooldownEvent
_player->SetLastPotionId(m_CastItem->GetEntry());
@@ -3558,7 +3558,7 @@ void Spell::SendSpellCooldown()
}
// have infinity cooldown but set at aura apply // do not set cooldown for triggered spells (needed by reincarnation)
- if (m_spellInfo->Attributes & (SPELL_ATTR0_DISABLED_WHILE_ACTIVE | SPELL_ATTR0_PASSIVE) || (_triggeredCastFlags & TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD))
+ if (m_spellInfo->IsCooldownStartedOnEvent() || m_spellInfo->IsPassive() || (_triggeredCastFlags & TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD))
return;
_player->AddSpellAndCategoryCooldowns(m_spellInfo, m_CastItem ? m_CastItem->GetEntry() : 0, this);
@@ -7372,9 +7372,7 @@ bool WorldObjectSpellTargetCheck::operator()(WorldObject* target)
WorldObjectSpellNearbyTargetCheck::WorldObjectSpellNearbyTargetCheck(float range, Unit* caster, SpellInfo const* spellInfo,
SpellTargetCheckTypes selectionType, ConditionList* condList)
- : WorldObjectSpellTargetCheck(caster, caster, spellInfo, selectionType, condList), _range(range), _position(caster)
-{
-}
+ : WorldObjectSpellTargetCheck(caster, caster, spellInfo, selectionType, condList), _range(range), _position(caster) { }
bool WorldObjectSpellNearbyTargetCheck::operator()(WorldObject* target)
{
@@ -7389,9 +7387,7 @@ bool WorldObjectSpellNearbyTargetCheck::operator()(WorldObject* target)
WorldObjectSpellAreaTargetCheck::WorldObjectSpellAreaTargetCheck(float range, Position const* position, Unit* caster,
Unit* referer, SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionList* condList)
- : WorldObjectSpellTargetCheck(caster, referer, spellInfo, selectionType, condList), _range(range), _position(position)
-{
-}
+ : WorldObjectSpellTargetCheck(caster, referer, spellInfo, selectionType, condList), _range(range), _position(position) { }
bool WorldObjectSpellAreaTargetCheck::operator()(WorldObject* target)
{
@@ -7402,9 +7398,7 @@ bool WorldObjectSpellAreaTargetCheck::operator()(WorldObject* target)
WorldObjectSpellConeTargetCheck::WorldObjectSpellConeTargetCheck(float coneAngle, float range, Unit* caster,
SpellInfo const* spellInfo, SpellTargetCheckTypes selectionType, ConditionList* condList)
- : WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList), _coneAngle(coneAngle)
-{
-}
+ : WorldObjectSpellAreaTargetCheck(range, caster, caster, caster, spellInfo, selectionType, condList), _coneAngle(coneAngle) { }
bool WorldObjectSpellConeTargetCheck::operator()(WorldObject* target)
{
@@ -7427,9 +7421,7 @@ bool WorldObjectSpellConeTargetCheck::operator()(WorldObject* target)
}
WorldObjectSpellTrajTargetCheck::WorldObjectSpellTrajTargetCheck(float range, Position const* position, Unit* caster, SpellInfo const* spellInfo)
- : WorldObjectSpellAreaTargetCheck(range, position, caster, caster, spellInfo, TARGET_CHECK_DEFAULT, NULL)
-{
-}
+ : WorldObjectSpellAreaTargetCheck(range, position, caster, caster, spellInfo, TARGET_CHECK_DEFAULT, NULL) { }
bool WorldObjectSpellTrajTargetCheck::operator()(WorldObject* target)
{
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 562d7fee518..e580a3d0f2d 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -369,7 +369,7 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
case SPELLFAMILY_WARRIOR:
{
// Shield Slam
- if (m_spellInfo->SpellFamilyFlags[1] & 0x200 && m_spellInfo->Category == 1209)
+ if (m_spellInfo->SpellFamilyFlags[1] & 0x200 && m_spellInfo->GetCategory() == 1209)
{
uint8 level = m_caster->getLevel();
uint32 block_value = m_caster->GetShieldBlockValue(uint32(float(level) * 24.5f), uint32(float(level) * 34.5f));
@@ -943,7 +943,7 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
// Remove spell cooldown (not category) if spell triggering spell with cooldown and same category
if (m_caster->GetTypeId() == TYPEID_PLAYER && m_spellInfo->CategoryRecoveryTime && spellInfo->CategoryRecoveryTime
- && m_spellInfo->Category == spellInfo->Category)
+ && m_spellInfo->GetCategory() == spellInfo->GetCategory())
m_caster->ToPlayer()->RemoveSpellCooldown(spellInfo->Id);
// original caster guid only for GO cast
@@ -996,7 +996,7 @@ void Spell::EffectTriggerMissileSpell(SpellEffIndex effIndex)
// Remove spell cooldown (not category) if spell triggering spell with cooldown and same category
if (m_caster->GetTypeId() == TYPEID_PLAYER && m_spellInfo->CategoryRecoveryTime && spellInfo->CategoryRecoveryTime
- && m_spellInfo->Category == spellInfo->Category)
+ && m_spellInfo->GetCategory() == spellInfo->GetCategory())
m_caster->ToPlayer()->RemoveSpellCooldown(spellInfo->Id);
// original caster guid only for GO cast
@@ -1150,10 +1150,15 @@ void Spell::EffectTeleportUnits(SpellEffIndex /*effIndex*/)
orientation = m_targets.GetUnitTarget()->GetOrientation();
TC_LOG_DEBUG(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTeleportUnits - teleport unit to %u %f %f %f %f\n", mapid, x, y, z, orientation);
- if (mapid == unitTarget->GetMapId())
- unitTarget->NearTeleportTo(x, y, z, orientation, unitTarget == m_caster);
- else if (unitTarget->GetTypeId() == TYPEID_PLAYER)
+ if (unitTarget->GetTypeId() == TYPEID_PLAYER)
unitTarget->ToPlayer()->TeleportTo(mapid, x, y, z, orientation, unitTarget == m_caster ? TELE_TO_SPELL : 0);
+ else if (mapid == unitTarget->GetMapId())
+ unitTarget->NearTeleportTo(x, y, z, orientation, unitTarget == m_caster);
+ else
+ {
+ TC_LOG_ERROR(LOG_FILTER_SPELLS_AURAS, "Spell::EffectTeleportUnits - spellId %u attempted to teleport creature to a different map.", m_spellInfo->Id);
+ return;
+ }
// post effects for TARGET_DEST_DB
switch (m_spellInfo->Id)
@@ -2516,7 +2521,7 @@ void Spell::EffectDispel(SpellEffIndex effIndex)
// On success dispel
// Devour Magic
- if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellInfo->Category == SPELLCATEGORY_DEVOUR_MAGIC)
+ if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellInfo->GetCategory() == SPELLCATEGORY_DEVOUR_MAGIC)
{
int32 heal_amount = m_spellInfo->Effects[EFFECT_1].CalcValue();
m_caster->CastCustomSpell(m_caster, 19658, &heal_amount, NULL, NULL, true);
@@ -4101,7 +4106,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
case SPELLFAMILY_PALADIN:
{
// Judgement (seal trigger)
- if (m_spellInfo->Category == SPELLCATEGORY_JUDGEMENT)
+ if (m_spellInfo->GetCategory() == SPELLCATEGORY_JUDGEMENT)
{
if (!unitTarget || !unitTarget->IsAlive())
return;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index a0e1ec065cc..0cab2cd4540 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -763,7 +763,7 @@ SpellEffectInfo::StaticData SpellEffectInfo::_data[TOTAL_SPELL_EFFECTS] =
SpellInfo::SpellInfo(SpellEntry const* spellEntry)
{
Id = spellEntry->Id;
- Category = spellEntry->Category;
+ CategoryEntry = spellEntry->Category ? sSpellCategoryStore.LookupEntry(spellEntry->Category) : NULL;
Dispel = spellEntry->Dispel;
Mechanic = spellEntry->Mechanic;
Attributes = spellEntry->Attributes;
@@ -859,6 +859,11 @@ SpellInfo::~SpellInfo()
_UnloadImplicitTargetConditionLists();
}
+uint32 SpellInfo::GetCategory() const
+{
+ return CategoryEntry ? CategoryEntry->Id : 0;
+}
+
bool SpellInfo::HasEffect(SpellEffects effect) const
{
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
@@ -1103,6 +1108,11 @@ bool SpellInfo::IsStackableOnOneSlotWithDifferentCasters() const
return StackAmount > 1 && !IsChanneled() && !(AttributesEx3 & SPELL_ATTR3_STACK_FOR_DIFF_CASTERS);
}
+bool SpellInfo::IsCooldownStartedOnEvent() const
+{
+ return Attributes & SPELL_ATTR0_DISABLED_WHILE_ACTIVE || (CategoryEntry && CategoryEntry->Flags & SPELL_CATEGORY_FLAG_COOLDOWN_STARTS_ON_EVENT);
+}
+
bool SpellInfo::IsDeathPersistent() const
{
return AttributesEx3 & SPELL_ATTR3_DEATH_PERSISTENT;
@@ -1712,7 +1722,7 @@ SpellCastResult SpellInfo::CheckVehicle(Unit const* caster) const
bool SpellInfo::CheckTargetCreatureType(Unit const* target) const
{
// Curse of Doom & Exorcism: not find another way to fix spell target check :/
- if (SpellFamilyName == SPELLFAMILY_WARLOCK && Category == 1179)
+ if (SpellFamilyName == SPELLFAMILY_WARLOCK && GetCategory() == 1179)
{
// not allow cast at player
if (target->GetTypeId() == TYPEID_PLAYER)
@@ -1816,7 +1826,7 @@ AuraStateType SpellInfo::GetAuraState() const
return AURA_STATE_FAERIE_FIRE;
// Sting (hunter's pet ability)
- if (Category == 1133)
+ if (GetCategory() == 1133)
return AURA_STATE_FAERIE_FIRE;
// Victorious
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index c2ca938d26f..2b1dd6a147a 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -250,7 +250,7 @@ public:
flag96 SpellClassMask;
std::list<Condition*>* ImplicitTargetConditions;
- SpellEffectInfo() {}
+ SpellEffectInfo() { }
SpellEffectInfo(SpellEntry const* spellEntry, SpellInfo const* spellInfo, uint8 effIndex);
bool IsEffect() const;
@@ -290,7 +290,7 @@ class SpellInfo
{
public:
uint32 Id;
- uint32 Category;
+ SpellCategoryEntry const* CategoryEntry;
uint32 Dispel;
uint32 Mechanic;
uint32 Attributes;
@@ -368,6 +368,7 @@ public:
SpellInfo(SpellEntry const* spellEntry);
~SpellInfo();
+ uint32 GetCategory() const;
bool HasEffect(SpellEffects effect) const;
bool HasAura(AuraType aura) const;
bool HasAreaAuraEffect() const;
@@ -393,6 +394,7 @@ public:
bool IsPassiveStackableWithRanks() const;
bool IsMultiSlotAura() const;
bool IsStackableOnOneSlotWithDifferentCasters() const;
+ bool IsCooldownStartedOnEvent() const;
bool IsDeathPersistent() const;
bool IsRequiringDeadTarget() const;
bool IsAllowingDeadTarget() const;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 29a869cf458..6138cbef773 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -191,6 +191,13 @@ DiminishingGroup GetDiminishingReturnsGroupForSpell(SpellInfo const* spellproto,
return DIMINISHING_FEAR;
break;
}
+ case SPELLFAMILY_SHAMAN:
+ {
+ // Storm, Earth and Fire - Earthgrab
+ if (spellproto->SpellFamilyFlags[2] & 0x4000)
+ return DIMINISHING_NONE;
+ break;
+ }
case SPELLFAMILY_DEATHKNIGHT:
{
// Hungering Cold (no flags)
@@ -340,9 +347,7 @@ bool IsDiminishingReturnsGroupDurationLimited(DiminishingGroup group)
}
}
-SpellMgr::SpellMgr()
-{
-}
+SpellMgr::SpellMgr() { }
SpellMgr::~SpellMgr()
{
@@ -1855,7 +1860,7 @@ void SpellMgr::LoadSpellProcEvents()
}
if (!spellInfo->ProcFlags && !spellProcEvent.procFlags)
- TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` probally not triggered spell", spellInfo->Id);
+ TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` probably not triggered spell", spellInfo->Id);
mSpellProcEventMap[spellInfo->Id] = spellProcEvent;
diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp
index bb9aab023af..172a9dbcc52 100644
--- a/src/server/game/Spells/SpellScript.cpp
+++ b/src/server/game/Spells/SpellScript.cpp
@@ -204,9 +204,7 @@ void SpellScript::HitHandler::Call(SpellScript* spellScript)
}
SpellScript::TargetHook::TargetHook(uint8 _effectIndex, uint16 _targetType, bool _area)
- : _SpellScript::EffectHook(_effectIndex), targetType(_targetType), area(_area)
-{
-}
+ : _SpellScript::EffectHook(_effectIndex), targetType(_targetType), area(_area) { }
std::string SpellScript::TargetHook::ToString()
{
@@ -727,9 +725,7 @@ void AuraScript::AuraDispelHandler::Call(AuraScript* auraScript, DispelInfo* _di
}
AuraScript::EffectBase::EffectBase(uint8 _effIndex, uint16 _effName)
- : _SpellScript::EffectAuraNameCheck(_effName), _SpellScript::EffectHook(_effIndex)
-{
-}
+ : _SpellScript::EffectAuraNameCheck(_effName), _SpellScript::EffectHook(_effIndex) { }
bool AuraScript::EffectBase::CheckEffect(SpellInfo const* spellEntry, uint8 effIndex)
{
diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h
index f7940b2b8da..fe5f102dbe9 100644
--- a/src/server/game/Spells/SpellScript.h
+++ b/src/server/game/Spells/SpellScript.h
@@ -60,8 +60,8 @@ class _SpellScript
virtual bool _Validate(SpellInfo const* entry);
public:
- _SpellScript() : m_currentScriptState(SPELL_SCRIPT_STATE_NONE) {}
- virtual ~_SpellScript() {}
+ _SpellScript() : m_currentScriptState(SPELL_SCRIPT_STATE_NONE) { }
+ virtual ~_SpellScript() { }
virtual void _Register();
virtual void _Unload();
virtual void _Init(std::string const* scriptname, uint32 spellId);
@@ -230,12 +230,12 @@ class SpellScript : public _SpellScript
};
#define SPELLSCRIPT_FUNCTION_CAST_DEFINES(CLASSNAME) \
- class CastHandlerFunction : public SpellScript::CastHandler { public: CastHandlerFunction(SpellCastFnType _pCastHandlerScript) : SpellScript::CastHandler((SpellScript::SpellCastFnType)_pCastHandlerScript) {} }; \
- class CheckCastHandlerFunction : public SpellScript::CheckCastHandler { public: CheckCastHandlerFunction(SpellCheckCastFnType _checkCastHandlerScript) : SpellScript::CheckCastHandler((SpellScript::SpellCheckCastFnType)_checkCastHandlerScript) {} }; \
- class EffectHandlerFunction : public SpellScript::EffectHandler { public: EffectHandlerFunction(SpellEffectFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : SpellScript::EffectHandler((SpellScript::SpellEffectFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
- class HitHandlerFunction : public SpellScript::HitHandler { public: HitHandlerFunction(SpellHitFnType _pHitHandlerScript) : SpellScript::HitHandler((SpellScript::SpellHitFnType)_pHitHandlerScript) {} }; \
- class ObjectAreaTargetSelectHandlerFunction : public SpellScript::ObjectAreaTargetSelectHandler { public: ObjectAreaTargetSelectHandlerFunction(SpellObjectAreaTargetSelectFnType _pObjectAreaTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType) : SpellScript::ObjectAreaTargetSelectHandler((SpellScript::SpellObjectAreaTargetSelectFnType)_pObjectAreaTargetSelectHandlerScript, _effIndex, _targetType) {} }; \
- class ObjectTargetSelectHandlerFunction : public SpellScript::ObjectTargetSelectHandler { public: ObjectTargetSelectHandlerFunction(SpellObjectTargetSelectFnType _pObjectTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType) : SpellScript::ObjectTargetSelectHandler((SpellScript::SpellObjectTargetSelectFnType)_pObjectTargetSelectHandlerScript, _effIndex, _targetType) {} };
+ class CastHandlerFunction : public SpellScript::CastHandler { public: CastHandlerFunction(SpellCastFnType _pCastHandlerScript) : SpellScript::CastHandler((SpellScript::SpellCastFnType)_pCastHandlerScript) { } }; \
+ class CheckCastHandlerFunction : public SpellScript::CheckCastHandler { public: CheckCastHandlerFunction(SpellCheckCastFnType _checkCastHandlerScript) : SpellScript::CheckCastHandler((SpellScript::SpellCheckCastFnType)_checkCastHandlerScript) { } }; \
+ class EffectHandlerFunction : public SpellScript::EffectHandler { public: EffectHandlerFunction(SpellEffectFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : SpellScript::EffectHandler((SpellScript::SpellEffectFnType)_pEffectHandlerScript, _effIndex, _effName) { } }; \
+ class HitHandlerFunction : public SpellScript::HitHandler { public: HitHandlerFunction(SpellHitFnType _pHitHandlerScript) : SpellScript::HitHandler((SpellScript::SpellHitFnType)_pHitHandlerScript) { } }; \
+ class ObjectAreaTargetSelectHandlerFunction : public SpellScript::ObjectAreaTargetSelectHandler { public: ObjectAreaTargetSelectHandlerFunction(SpellObjectAreaTargetSelectFnType _pObjectAreaTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType) : SpellScript::ObjectAreaTargetSelectHandler((SpellScript::SpellObjectAreaTargetSelectFnType)_pObjectAreaTargetSelectHandlerScript, _effIndex, _targetType) { } }; \
+ class ObjectTargetSelectHandlerFunction : public SpellScript::ObjectTargetSelectHandler { public: ObjectTargetSelectHandlerFunction(SpellObjectTargetSelectFnType _pObjectTargetSelectHandlerScript, uint8 _effIndex, uint16 _targetType) : SpellScript::ObjectTargetSelectHandler((SpellScript::SpellObjectTargetSelectFnType)_pObjectTargetSelectHandlerScript, _effIndex, _targetType) { } };
#define PrepareSpellScript(CLASSNAME) SPELLSCRIPT_FUNCTION_TYPE_DEFINES(CLASSNAME) SPELLSCRIPT_FUNCTION_CAST_DEFINES(CLASSNAME)
public:
@@ -589,26 +589,26 @@ class AuraScript : public _SpellScript
};
#define AURASCRIPT_FUNCTION_CAST_DEFINES(CLASSNAME) \
- class CheckAreaTargetFunction : public AuraScript::CheckAreaTargetHandler { public: CheckAreaTargetFunction(AuraCheckAreaTargetFnType _pHandlerScript) : AuraScript::CheckAreaTargetHandler((AuraScript::AuraCheckAreaTargetFnType)_pHandlerScript) {} }; \
- class AuraDispelFunction : public AuraScript::AuraDispelHandler { public: AuraDispelFunction(AuraDispelFnType _pHandlerScript) : AuraScript::AuraDispelHandler((AuraScript::AuraDispelFnType)_pHandlerScript) {} }; \
- class EffectPeriodicHandlerFunction : public AuraScript::EffectPeriodicHandler { public: EffectPeriodicHandlerFunction(AuraEffectPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectPeriodicHandler((AuraScript::AuraEffectPeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
- class EffectUpdatePeriodicHandlerFunction : public AuraScript::EffectUpdatePeriodicHandler { public: EffectUpdatePeriodicHandlerFunction(AuraEffectUpdatePeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectUpdatePeriodicHandler((AuraScript::AuraEffectUpdatePeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
- class EffectCalcAmountHandlerFunction : public AuraScript::EffectCalcAmountHandler { public: EffectCalcAmountHandlerFunction(AuraEffectCalcAmountFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcAmountHandler((AuraScript::AuraEffectCalcAmountFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
- class EffectCalcPeriodicHandlerFunction : public AuraScript::EffectCalcPeriodicHandler { public: EffectCalcPeriodicHandlerFunction(AuraEffectCalcPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcPeriodicHandler((AuraScript::AuraEffectCalcPeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
- class EffectCalcSpellModHandlerFunction : public AuraScript::EffectCalcSpellModHandler { public: EffectCalcSpellModHandlerFunction(AuraEffectCalcSpellModFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcSpellModHandler((AuraScript::AuraEffectCalcSpellModFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
- class EffectApplyHandlerFunction : public AuraScript::EffectApplyHandler { public: EffectApplyHandlerFunction(AuraEffectApplicationModeFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName, AuraEffectHandleModes _mode) : AuraScript::EffectApplyHandler((AuraScript::AuraEffectApplicationModeFnType)_pEffectHandlerScript, _effIndex, _effName, _mode) {} }; \
- class EffectAbsorbFunction : public AuraScript::EffectAbsorbHandler { public: EffectAbsorbFunction(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex) : AuraScript::EffectAbsorbHandler((AuraScript::AuraEffectAbsorbFnType)_pEffectHandlerScript, _effIndex) {} }; \
- class EffectManaShieldFunction : public AuraScript::EffectManaShieldHandler { public: EffectManaShieldFunction(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex) : AuraScript::EffectManaShieldHandler((AuraScript::AuraEffectAbsorbFnType)_pEffectHandlerScript, _effIndex) {} }; \
- class EffectSplitFunction : public AuraScript::EffectSplitHandler { public: EffectSplitFunction(AuraEffectSplitFnType _pEffectHandlerScript, uint8 _effIndex) : AuraScript::EffectSplitHandler((AuraScript::AuraEffectSplitFnType)_pEffectHandlerScript, _effIndex) {} }; \
- class CheckProcHandlerFunction : public AuraScript::CheckProcHandler { public: CheckProcHandlerFunction(AuraCheckProcFnType handlerScript) : AuraScript::CheckProcHandler((AuraScript::AuraCheckProcFnType)handlerScript) {} }; \
- class AuraProcHandlerFunction : public AuraScript::AuraProcHandler { public: AuraProcHandlerFunction(AuraProcFnType handlerScript) : AuraScript::AuraProcHandler((AuraScript::AuraProcFnType)handlerScript) {} }; \
- class EffectProcHandlerFunction : public AuraScript::EffectProcHandler { public: EffectProcHandlerFunction(AuraEffectProcFnType effectHandlerScript, uint8 effIndex, uint16 effName) : AuraScript::EffectProcHandler((AuraScript::AuraEffectProcFnType)effectHandlerScript, effIndex, effName) {} }; \
+ class CheckAreaTargetFunction : public AuraScript::CheckAreaTargetHandler { public: CheckAreaTargetFunction(AuraCheckAreaTargetFnType _pHandlerScript) : AuraScript::CheckAreaTargetHandler((AuraScript::AuraCheckAreaTargetFnType)_pHandlerScript) { } }; \
+ class AuraDispelFunction : public AuraScript::AuraDispelHandler { public: AuraDispelFunction(AuraDispelFnType _pHandlerScript) : AuraScript::AuraDispelHandler((AuraScript::AuraDispelFnType)_pHandlerScript) { } }; \
+ class EffectPeriodicHandlerFunction : public AuraScript::EffectPeriodicHandler { public: EffectPeriodicHandlerFunction(AuraEffectPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectPeriodicHandler((AuraScript::AuraEffectPeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) { } }; \
+ class EffectUpdatePeriodicHandlerFunction : public AuraScript::EffectUpdatePeriodicHandler { public: EffectUpdatePeriodicHandlerFunction(AuraEffectUpdatePeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectUpdatePeriodicHandler((AuraScript::AuraEffectUpdatePeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) { } }; \
+ class EffectCalcAmountHandlerFunction : public AuraScript::EffectCalcAmountHandler { public: EffectCalcAmountHandlerFunction(AuraEffectCalcAmountFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcAmountHandler((AuraScript::AuraEffectCalcAmountFnType)_pEffectHandlerScript, _effIndex, _effName) { } }; \
+ class EffectCalcPeriodicHandlerFunction : public AuraScript::EffectCalcPeriodicHandler { public: EffectCalcPeriodicHandlerFunction(AuraEffectCalcPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcPeriodicHandler((AuraScript::AuraEffectCalcPeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) { } }; \
+ class EffectCalcSpellModHandlerFunction : public AuraScript::EffectCalcSpellModHandler { public: EffectCalcSpellModHandlerFunction(AuraEffectCalcSpellModFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcSpellModHandler((AuraScript::AuraEffectCalcSpellModFnType)_pEffectHandlerScript, _effIndex, _effName) { } }; \
+ class EffectApplyHandlerFunction : public AuraScript::EffectApplyHandler { public: EffectApplyHandlerFunction(AuraEffectApplicationModeFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName, AuraEffectHandleModes _mode) : AuraScript::EffectApplyHandler((AuraScript::AuraEffectApplicationModeFnType)_pEffectHandlerScript, _effIndex, _effName, _mode) { } }; \
+ class EffectAbsorbFunction : public AuraScript::EffectAbsorbHandler { public: EffectAbsorbFunction(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex) : AuraScript::EffectAbsorbHandler((AuraScript::AuraEffectAbsorbFnType)_pEffectHandlerScript, _effIndex) { } }; \
+ class EffectManaShieldFunction : public AuraScript::EffectManaShieldHandler { public: EffectManaShieldFunction(AuraEffectAbsorbFnType _pEffectHandlerScript, uint8 _effIndex) : AuraScript::EffectManaShieldHandler((AuraScript::AuraEffectAbsorbFnType)_pEffectHandlerScript, _effIndex) { } }; \
+ class EffectSplitFunction : public AuraScript::EffectSplitHandler { public: EffectSplitFunction(AuraEffectSplitFnType _pEffectHandlerScript, uint8 _effIndex) : AuraScript::EffectSplitHandler((AuraScript::AuraEffectSplitFnType)_pEffectHandlerScript, _effIndex) { } }; \
+ class CheckProcHandlerFunction : public AuraScript::CheckProcHandler { public: CheckProcHandlerFunction(AuraCheckProcFnType handlerScript) : AuraScript::CheckProcHandler((AuraScript::AuraCheckProcFnType)handlerScript) { } }; \
+ class AuraProcHandlerFunction : public AuraScript::AuraProcHandler { public: AuraProcHandlerFunction(AuraProcFnType handlerScript) : AuraScript::AuraProcHandler((AuraScript::AuraProcFnType)handlerScript) { } }; \
+ class EffectProcHandlerFunction : public AuraScript::EffectProcHandler { public: EffectProcHandlerFunction(AuraEffectProcFnType effectHandlerScript, uint8 effIndex, uint16 effName) : AuraScript::EffectProcHandler((AuraScript::AuraEffectProcFnType)effectHandlerScript, effIndex, effName) { } }; \
#define PrepareAuraScript(CLASSNAME) AURASCRIPT_FUNCTION_TYPE_DEFINES(CLASSNAME) AURASCRIPT_FUNCTION_CAST_DEFINES(CLASSNAME)
public:
AuraScript() : _SpellScript(), m_aura(NULL), m_auraApplication(NULL), m_defaultActionPrevented(false)
- {}
+ { }
bool _Validate(SpellInfo const* entry);
bool _Load(Aura* aura);
void _PrepareScriptCall(AuraScriptHookType hookType, AuraApplication const* aurApp = NULL);
@@ -627,7 +627,7 @@ class AuraScript : public _SpellScript
bool _defaultActionPrevented;
ScriptStateStore(uint8 currentScriptState, AuraApplication const* auraApplication, bool defaultActionPrevented)
: _auraApplication(auraApplication), _currentScriptState(currentScriptState), _defaultActionPrevented(defaultActionPrevented)
- {}
+ { }
};
typedef std::stack<ScriptStateStore> ScriptStateStack;
ScriptStateStack m_scriptStates;
diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h
index c32e35e8770..198877bfe86 100644
--- a/src/server/game/Texts/CreatureTextMgr.h
+++ b/src/server/game/Texts/CreatureTextMgr.h
@@ -82,10 +82,10 @@ typedef UNORDERED_MAP<uint64, CreatureTextRepeatGroup> CreatureTextRepeatMap;//g
class CreatureTextMgr
{
friend class ACE_Singleton<CreatureTextMgr, ACE_Null_Mutex>;
- CreatureTextMgr() {};
+ CreatureTextMgr() { };
public:
- ~CreatureTextMgr() {};
+ ~CreatureTextMgr() { };
void LoadCreatureTexts();
void LoadCreatureTextLocales();
CreatureTextMap const& GetTextMap() const { return mTextMap; }
diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp
index ccfeb35e5b8..608f0a1ace5 100644
--- a/src/server/game/Tickets/TicketMgr.cpp
+++ b/src/server/game/Tickets/TicketMgr.cpp
@@ -240,9 +240,7 @@ void GmTicket::SetChatLog(std::list<uint32> time, std::string const& log)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Ticket manager
TicketMgr::TicketMgr() : _status(true), _lastTicketId(0), _lastSurveyId(0), _openTicketCount(0),
- _lastChange(time(NULL))
-{
-}
+ _lastChange(time(NULL)) { }
TicketMgr::~TicketMgr()
{
@@ -257,9 +255,17 @@ void TicketMgr::Initialize()
void TicketMgr::ResetTickets()
{
- for (GmTicketList::const_iterator itr = _ticketList.begin(); itr != _ticketList.end(); ++itr)
+ for (GmTicketList::const_iterator itr = _ticketList.begin(); itr != _ticketList.end();)
+ {
if (itr->second->IsClosed())
- sTicketMgr->RemoveTicket(itr->second->GetId());
+ {
+ uint32 ticketId = itr->second->GetId();
+ ++itr;
+ sTicketMgr->RemoveTicket(ticketId);
+ }
+ else
+ ++itr;
+ }
_lastTicketId = 0;
diff --git a/src/server/game/Tools/PlayerDump.h b/src/server/game/Tools/PlayerDump.h
index 895676eb5db..4fd411d02ac 100644
--- a/src/server/game/Tools/PlayerDump.h
+++ b/src/server/game/Tools/PlayerDump.h
@@ -64,13 +64,13 @@ enum DumpReturn
class PlayerDump
{
protected:
- PlayerDump() {}
+ PlayerDump() { }
};
class PlayerDumpWriter : public PlayerDump
{
public:
- PlayerDumpWriter() {}
+ PlayerDumpWriter() { }
bool GetDump(uint32 guid, std::string& dump);
DumpReturn WriteDump(std::string const& file, uint32 guid);
@@ -89,7 +89,7 @@ class PlayerDumpWriter : public PlayerDump
class PlayerDumpReader : public PlayerDump
{
public:
- PlayerDumpReader() {}
+ PlayerDumpReader() { }
DumpReturn LoadDump(std::string const& file, uint32 account, std::string name, uint32 guid);
};
diff --git a/src/server/game/Warden/Warden.cpp b/src/server/game/Warden/Warden.cpp
index f02cbf321b3..5e2cd82f6cc 100644
--- a/src/server/game/Warden/Warden.cpp
+++ b/src/server/game/Warden/Warden.cpp
@@ -30,9 +30,7 @@
#include "Warden.h"
#include "AccountMgr.h"
-Warden::Warden() : _inputCrypto(16), _outputCrypto(16), _checkTimer(10000/*10 sec*/), _clientResponseTimer(0), _dataSent(false), _initialized(false)
-{
-}
+Warden::Warden() : _inputCrypto(16), _outputCrypto(16), _checkTimer(10000/*10 sec*/), _clientResponseTimer(0), _dataSent(false), _initialized(false) { }
Warden::~Warden()
{
diff --git a/src/server/game/Warden/WardenCheckMgr.cpp b/src/server/game/Warden/WardenCheckMgr.cpp
index a8bcd61db73..cdd2a2f6bac 100644
--- a/src/server/game/Warden/WardenCheckMgr.cpp
+++ b/src/server/game/Warden/WardenCheckMgr.cpp
@@ -25,9 +25,7 @@
#include "WardenCheckMgr.h"
#include "Warden.h"
-WardenCheckMgr::WardenCheckMgr()
-{
-}
+WardenCheckMgr::WardenCheckMgr() { }
WardenCheckMgr::~WardenCheckMgr()
{
diff --git a/src/server/game/Warden/WardenMac.cpp b/src/server/game/Warden/WardenMac.cpp
index 27e859e741d..1cd4a4ea877 100644
--- a/src/server/game/Warden/WardenMac.cpp
+++ b/src/server/game/Warden/WardenMac.cpp
@@ -30,13 +30,9 @@
#include "WardenMac.h"
#include "WardenModuleMac.h"
-WardenMac::WardenMac() : Warden()
-{
-}
+WardenMac::WardenMac() : Warden() { }
-WardenMac::~WardenMac()
-{
-}
+WardenMac::~WardenMac() { }
void WardenMac::Init(WorldSession* pClient, BigNumber* K)
{
diff --git a/src/server/game/Warden/WardenWin.cpp b/src/server/game/Warden/WardenWin.cpp
index 60a1fecedc9..a9fcc041ff6 100644
--- a/src/server/game/Warden/WardenWin.cpp
+++ b/src/server/game/Warden/WardenWin.cpp
@@ -34,13 +34,9 @@
#include "WardenCheckMgr.h"
#include "AccountMgr.h"
-WardenWin::WardenWin() : Warden()
-{
-}
+WardenWin::WardenWin() : Warden() { }
-WardenWin::~WardenWin()
-{
-}
+WardenWin::~WardenWin() { }
void WardenWin::Init(WorldSession* session, BigNumber* k)
{
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index d3258aa3401..1a18e26d049 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -80,6 +80,7 @@
#include "Warden.h"
#include "CalendarMgr.h"
#include "BattlefieldMgr.h"
+#include "TransportMgr.h"
ACE_Atomic_Op<ACE_Thread_Mutex, bool> World::m_stopEvent = false;
uint8 World::m_ExitCode = SHUTDOWN_EXIT_CODE;
@@ -1374,6 +1375,9 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Game Object Templates..."); // must be after LoadPageTexts
sObjectMgr->LoadGameObjectTemplate();
+ TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Transport templates...");
+ sTransportMgr->LoadTransportTemplates();
+
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Spell Rank Data...");
sSpellMgr->LoadSpellRanks();
@@ -1784,10 +1788,7 @@ void World::SetInitialWorldSettings()
sBattlefieldMgr->InitBattlefield();
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Transports...");
- sMapMgr->LoadTransports();
-
- TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Transport NPCs...");
- sMapMgr->LoadTransportNPCs();
+ sTransportMgr->SpawnContinentTransports();
///- Initialize Warden
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Warden Checks...");
@@ -2168,7 +2169,7 @@ namespace Trinity
{
public:
typedef std::vector<WorldPacket*> WorldPacketList;
- explicit WorldWorldTextBuilder(int32 textId, va_list* args = NULL) : i_textId(textId), i_args(args) {}
+ explicit WorldWorldTextBuilder(int32 textId, va_list* args = NULL) : i_textId(textId), i_args(args) { }
void operator()(WorldPacketList& data_list, LocaleConstant loc_idx)
{
char const* text = sObjectMgr->GetTrinityString(i_textId, loc_idx);
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 199b1e43f6c..f33e583522e 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -31,6 +31,7 @@ EndScriptData */
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "GossipDef.h"
+#include "Transport.h"
#include "Language.h"
#include <fstream>
@@ -91,6 +92,7 @@ public:
{ "areatriggers", rbac::RBAC_PERM_COMMAND_DEBUG_AREATRIGGERS, false, &HandleDebugAreaTriggersCommand, "", NULL },
{ "los", rbac::RBAC_PERM_COMMAND_DEBUG_LOS, false, &HandleDebugLoSCommand, "", NULL },
{ "moveflags", rbac::RBAC_PERM_COMMAND_DEBUG_MOVEFLAGS, false, &HandleDebugMoveflagsCommand, "", NULL },
+ { "transport", rbac::RBAC_PERM_COMMAND_DEBUG_TRANSPORT, false, &HandleDebugTransportCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand commandTable[] =
@@ -1363,6 +1365,30 @@ public:
handler->PSendSysMessage("Waypoint SQL written to SQL Developer log");
return true;
}
+
+ static bool HandleDebugTransportCommand(ChatHandler* handler, char const* args)
+ {
+ Transport* transport = handler->GetSession()->GetPlayer()->GetTransport();
+ if (!transport)
+ return false;
+
+ bool start = false;
+ if (!stricmp(args, "stop"))
+ transport->EnableMovement(false);
+ else if (!stricmp(args, "start"))
+ {
+ transport->EnableMovement(true);
+ start = true;
+ }
+ else
+ {
+ handler->PSendSysMessage("Transport %s is %s", transport->GetName().c_str(), transport->GetGoState() == GO_STATE_READY ? "stopped" : "moving");
+ return true;
+ }
+
+ handler->PSendSysMessage("Transport %s %s", transport->GetName().c_str(), start ? "started" : "stopped");
+ return true;
+ }
};
void AddSC_debug_commandscript()
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index 8c38d954203..fda34586f0c 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -260,24 +260,35 @@ public:
static bool HandleGroupListCommand(ChatHandler* handler, char const* args)
{
+ // Get ALL the variables!
Player* playerTarget;
+ uint32 phase = 0;
uint64 guidTarget;
std::string nameTarget;
+ std::string zoneName;
+ const char* onlineState = "";
+ // Parse the guid to uint32...
uint32 parseGUID = MAKE_NEW_GUID(atol((char*)args), 0, HIGHGUID_PLAYER);
+ // ... and try to extract a player out of it.
if (sObjectMgr->GetPlayerNameByGUID(parseGUID, nameTarget))
{
playerTarget = sObjectMgr->GetPlayerByLowGUID(parseGUID);
guidTarget = parseGUID;
}
+ // If not, we return false and end right away.
else if (!handler->extractPlayerTarget((char*)args, &playerTarget, &guidTarget, &nameTarget))
return false;
+ // Next, we need a group. So we define a group variable.
Group* groupTarget = NULL;
+
+ // We try to extract a group from an online player.
if (playerTarget)
groupTarget = playerTarget->GetGroup();
+ // If not, we extract it from the SQL.
if (!groupTarget)
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GROUP_MEMBER);
@@ -287,6 +298,7 @@ public:
groupTarget = sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
}
+ // If both fails, players simply has no party. Return false.
if (!groupTarget)
{
handler->PSendSysMessage(LANG_GROUP_NOT_IN_GROUP, nameTarget.c_str());
@@ -294,12 +306,20 @@ public:
return false;
}
- handler->PSendSysMessage(LANG_GROUP_TYPE, (groupTarget->isRaidGroup() ? "raid" : "party"));
+ // We get the group members after successfully detecting a group.
Group::MemberSlotList const& members = groupTarget->GetMemberSlots();
+
+ // To avoid a cluster fuck, namely trying multiple queries to simply get a group member count...
+ handler->PSendSysMessage(LANG_GROUP_TYPE, (groupTarget->isRaidGroup() ? "raid" : "party"), members.size());
+ // ... we simply move the group type and member count print after retrieving the slots and simply output it's size.
+
+ // While rather dirty codestyle-wise, it saves space (if only a little). For each member, we look several informations up.
for (Group::MemberSlotList::const_iterator itr = members.begin(); itr != members.end(); ++itr)
{
+ // Define temporary variable slot to iterator.
Group::MemberSlot const& slot = *itr;
+ // Check for given flag and assign it to that iterator
std::string flags;
if (slot.flags & MEMBER_FLAG_ASSISTANT)
flags = "Assistant";
@@ -321,13 +341,38 @@ public:
if (flags.empty())
flags = "None";
+ // Check if iterator is online. If is...
Player* p = ObjectAccessor::FindPlayer((*itr).guid);
- const char* onlineState = (p && p->IsInWorld()) ? "online" : "offline";
+ if (p && p->IsInWorld())
+ {
+ // ... than, it prints information like "is online", where he is, etc...
+ onlineState = "online";
+ phase = (!p->IsGameMaster() ? p->GetPhaseMask() : -1);
+ uint32 locale = handler->GetSessionDbcLocale();
+
+ AreaTableEntry const* area = GetAreaEntryByAreaID(p->GetAreaId());
+ if (area)
+ {
+ AreaTableEntry const* zone = GetAreaEntryByAreaID(area->zone);
+ if (zone)
+ zoneName = zone->area_name[locale];
+ }
+ }
+ else
+ {
+ // ... else, everything is set to offline or neutral values.
+ zoneName = "<ERROR>";
+ onlineState = "Offline";
+ phase = 0;
+ }
+ // Now we can print those informations for every single member of each group!
handler->PSendSysMessage(LANG_GROUP_PLAYER_NAME_GUID, slot.name.c_str(), onlineState,
- GUID_LOPART(slot.guid), flags.c_str(), lfg::GetRolesString(slot.roles).c_str());
+ zoneName.c_str(), phase, GUID_LOPART(slot.guid), flags.c_str(),
+ lfg::GetRolesString(slot.roles).c_str());
}
+ // And finish after every iterator is done.
return true;
}
};
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 9db75fb5477..2a52ffc8f22 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -1655,7 +1655,7 @@ public:
// Output III. LANG_PINFO_BANNED if ban exists and is applied
if (banTime >= 0)
- handler->PSendSysMessage(LANG_PINFO_BANNED, banType.c_str(), banTime > 0 ? secsToTimeString(banTime - time(NULL), true).c_str() : "permanently", banReason.c_str(), bannedBy.c_str());
+ handler->PSendSysMessage(LANG_PINFO_BANNED, banType.c_str(), banReason.c_str(), banTime > 0 ? secsToTimeString(banTime - time(NULL), true).c_str() : "permanently", bannedBy.c_str());
// Output IV. LANG_PINFO_MUTED if mute is applied
if (muteTime > 0)
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 1cedeb79c22..a1b23fd5935 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -245,24 +245,22 @@ public:
float o = chr->GetOrientation();
Map* map = chr->GetMap();
- if (chr->GetTransport())
+ if (Transport* trans = chr->GetTransport())
{
- uint32 tguid = chr->GetTransport()->AddNPCPassenger(0, id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO());
- if (tguid > 0)
- {
- PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_INS_CREATURE_TRANSPORT);
+ uint32 guid = sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT);
+ CreatureData& data = sObjectMgr->NewOrExistCreatureData(guid);
+ data.id = id;
+ data.phaseMask = chr->GetPhaseMaskForSpawn();
+ data.posX = chr->GetTransOffsetX();
+ data.posY = chr->GetTransOffsetY();
+ data.posZ = chr->GetTransOffsetZ();
+ data.orientation = chr->GetTransOffsetO();
- stmt->setInt32(0, int32(tguid));
- stmt->setInt32(1, int32(id));
- stmt->setInt32(2, int32(chr->GetTransport()->GetEntry()));
- stmt->setFloat(3, chr->GetTransOffsetX());
- stmt->setFloat(4, chr->GetTransOffsetY());
- stmt->setFloat(5, chr->GetTransOffsetZ());
- stmt->setFloat(6, chr->GetTransOffsetO());
+ Creature* creature = trans->CreateNPCPassenger(guid, &data);
- WorldDatabase.Execute(stmt);
- }
+ creature->SaveToDB(trans->GetGOInfo()->moTransport.mapID, 1 << map->GetSpawnMode(), chr->GetPhaseMaskForSpawn());
+ sObjectMgr->AddCreatureToGrid(guid, &data);
return true;
}
@@ -899,17 +897,6 @@ public:
return false;
}
- if (target->GetTransport() && target->GetGUIDTransport())
- {
- PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_TRANSPORT_EMOTE);
-
- stmt->setInt32(0, int32(emote));
- stmt->setInt32(1, target->GetTransport()->GetEntry());
- stmt->setInt32(2, target->GetGUIDTransport());
-
- WorldDatabase.Execute(stmt);
- }
-
target->SetUInt32Value(UNIT_NPC_EMOTESTATE, emote);
return true;
@@ -1337,7 +1324,8 @@ public:
{
if (!*args)
return false;
- char* charID = strtok((char*)args, " ");
+
+ char* charID = handler->extractKeyFromLink((char*)args, "Hcreature_entry");
if (!charID)
return false;
diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp
index 154da04db6a..ca9f4a59045 100644
--- a/src/server/scripts/Commands/cs_tele.cpp
+++ b/src/server/scripts/Commands/cs_tele.cpp
@@ -65,7 +65,7 @@ public:
std::string name = args;
- if (sObjectMgr->GetGameTele(name))
+ if (sObjectMgr->GetGameTeleExactName(name))
{
handler->SendSysMessage(LANG_COMMAND_TP_ALREADYEXIST);
handler->SetSentErrorMessage(true);
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 1b5a42a83ef..6dbcdffca72 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -50,7 +50,7 @@ public:
struct npc_water_elementalAI : public ScriptedAI
{
- npc_water_elementalAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_water_elementalAI(Creature* creature) : ScriptedAI(creature) { }
uint32 waterBoltTimer;
uint64 balindaGUID;
@@ -99,7 +99,7 @@ public:
struct boss_balindaAI : public ScriptedAI
{
- boss_balindaAI(Creature* creature) : ScriptedAI(creature), summons(me) {}
+ boss_balindaAI(Creature* creature) : ScriptedAI(creature), summons(me) { }
uint32 arcaneExplosionTimer;
uint32 coneOfColdTimer;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
index 8bddff621fa..7559d71bf78 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
@@ -45,7 +45,7 @@ public:
struct boss_drektharAI : public ScriptedAI
{
- boss_drektharAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_drektharAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WhirlwindTimer;
uint32 Whirlwind2Timer;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
index 1dcf70d28b9..4f91e57be50 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
@@ -40,7 +40,7 @@ public:
struct boss_galvangarAI : public ScriptedAI
{
- boss_galvangarAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_galvangarAI(Creature* creature) : ScriptedAI(creature) { }
uint32 CleaveTimer;
uint32 FrighteningShoutTimer;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
index f2ba479ac86..0e5370f0f07 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
@@ -42,7 +42,7 @@ public:
struct boss_vanndarAI : public ScriptedAI
{
- boss_vanndarAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_vanndarAI(Creature* creature) : ScriptedAI(creature) { }
uint32 AvatarTimer;
uint32 ThunderclapTimer;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
index e9a6b15dcf8..1f393205bc1 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
@@ -359,7 +359,7 @@ public:
struct npc_phalanxAI : public ScriptedAI
{
- npc_phalanxAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_phalanxAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ThunderClap_Timer;
uint32 FireballVolley_Timer;
@@ -613,7 +613,7 @@ public:
struct npc_dughal_stormwingAI : public npc_escortAI
{
- npc_dughal_stormwingAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_dughal_stormwingAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -634,8 +634,8 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE {}
- void Reset() OVERRIDE {}
+ void EnterCombat(Unit* who) OVERRIDE { }
+ void Reset() OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
{
@@ -804,7 +804,7 @@ public:
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void JustDied(Unit* slayer) OVERRIDE
{
@@ -1019,7 +1019,7 @@ public:
break;
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void JustDied(Unit* slayer) OVERRIDE
{
@@ -1125,10 +1125,10 @@ public:
struct npc_tobias_seecherAI : public npc_escortAI
{
- npc_tobias_seecherAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_tobias_seecherAI(Creature* creature) : npc_escortAI(creature) { }
- void EnterCombat(Unit* who) OVERRIDE {}
- void Reset() OVERRIDE {}
+ void EnterCombat(Unit* who) OVERRIDE { }
+ void Reset() OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
index 3a4f734429c..75f85ace2bd 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
@@ -36,7 +36,7 @@ public:
struct boss_ambassador_flamelashAI : public ScriptedAI
{
- boss_ambassador_flamelashAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_ambassador_flamelashAI(Creature* creature) : ScriptedAI(creature) { }
uint32 FireBlast_Timer;
uint32 Spirit_Timer;
@@ -47,7 +47,7 @@ public:
Spirit_Timer = 24000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SummonSpirits(Unit* victim)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
index 63a94ca616a..84964ba375a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
@@ -40,7 +40,7 @@ public:
struct boss_anubshiahAI : public ScriptedAI
{
- boss_anubshiahAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_anubshiahAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ShadowBolt_Timer;
uint32 CurseOfTongues_Timer;
@@ -57,7 +57,7 @@ public:
EnvelopingWeb_Timer = 16000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
index 80bfa651301..869479a7ae0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
@@ -38,7 +38,7 @@ public:
struct boss_general_angerforgeAI : public ScriptedAI
{
- boss_general_angerforgeAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_general_angerforgeAI(Creature* creature) : ScriptedAI(creature) { }
uint32 MightyBlow_Timer;
uint32 HamString_Timer;
@@ -55,7 +55,7 @@ public:
Medics = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SummonAdds(Unit* victim)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
index d79c4d191b6..f865a6f6742 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
@@ -37,7 +37,7 @@ public:
struct boss_gorosh_the_dervishAI : public ScriptedAI
{
- boss_gorosh_the_dervishAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_gorosh_the_dervishAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WhirlWind_Timer;
uint32 MortalStrike_Timer;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
index 504fca44c4c..1c2953a6a22 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
@@ -38,7 +38,7 @@ public:
struct boss_grizzleAI : public ScriptedAI
{
- boss_grizzleAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_grizzleAI(Creature* creature) : ScriptedAI(creature) { }
uint32 GroundTremor_Timer;
uint32 Frenzy_Timer;
@@ -49,7 +49,7 @@ public:
Frenzy_Timer =0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
index 7a98cc321dc..86748977749 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
@@ -39,7 +39,7 @@ public:
struct boss_high_interrogator_gerstahnAI : public ScriptedAI
{
- boss_high_interrogator_gerstahnAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_high_interrogator_gerstahnAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ShadowWordPain_Timer;
uint32 ManaBurn_Timer;
@@ -54,7 +54,7 @@ public:
ShadowShield_Timer = 8000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
index 998e7b17897..f4c63f630c3 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
@@ -42,7 +42,7 @@ public:
struct boss_magmusAI : public ScriptedAI
{
- boss_magmusAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_magmusAI(Creature* creature) : ScriptedAI(creature) { }
uint32 FieryBurst_Timer;
uint32 WarStomp_Timer;
@@ -53,7 +53,7 @@ public:
WarStomp_Timer =0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
index 9021649a61e..c647737bea9 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
@@ -41,7 +41,7 @@ public:
struct boss_moira_bronzebeardAI : public ScriptedAI
{
- boss_moira_bronzebeardAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_moira_bronzebeardAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Heal_Timer;
uint32 MindBlast_Timer;
@@ -56,7 +56,7 @@ public:
Smite_Timer = 8000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
index a080e117583..fbec94887b2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
@@ -76,7 +76,7 @@ public:
struct instance_blackrock_depths_InstanceMapScript : public InstanceScript
{
- instance_blackrock_depths_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_blackrock_depths_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 encounter[MAX_ENCOUNTER];
std::string str_data;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
index 59581204b05..009c22e40b3 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
@@ -43,7 +43,7 @@ public:
struct boss_drakkisathAI : public BossAI
{
- boss_drakkisathAI(Creature* creature) : BossAI(creature, DATA_GENERAL_DRAKKISATH) {}
+ boss_drakkisathAI(Creature* creature) : BossAI(creature, DATA_GENERAL_DRAKKISATH) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
index f1bd81f2e6a..9f22c2c1e85 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
@@ -46,7 +46,7 @@ public:
struct boss_gizrul_the_slavenerAI : public BossAI
{
- boss_gizrul_the_slavenerAI(Creature* creature) : BossAI(creature, DATA_GIZRUL_THE_SLAVENER) {}
+ boss_gizrul_the_slavenerAI(Creature* creature) : BossAI(creature, DATA_GIZRUL_THE_SLAVENER) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
index 630d6ff2a0d..b79a6e4733e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
@@ -45,7 +45,7 @@ public:
struct boss_halyconAI : public BossAI
{
- boss_halyconAI(Creature* creature) : BossAI(creature, DATA_HALYCON) {}
+ boss_halyconAI(Creature* creature) : BossAI(creature, DATA_HALYCON) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
index 54ed5d44e34..5b5e9bc082a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
@@ -44,7 +44,7 @@ public:
struct boss_highlordomokkAI : public BossAI
{
- boss_highlordomokkAI(Creature* creature) : BossAI(creature, DATA_HIGHLORD_OMOKK) {}
+ boss_highlordomokkAI(Creature* creature) : BossAI(creature, DATA_HIGHLORD_OMOKK) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
index b54c8f11f34..26540eb38a6 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
@@ -46,7 +46,7 @@ public:
struct boss_lord_valthalakAI : public BossAI
{
- boss_lord_valthalakAI(Creature* creature) : BossAI(creature, DATA_LORD_VALTHALAK) {}
+ boss_lord_valthalakAI(Creature* creature) : BossAI(creature, DATA_LORD_VALTHALAK) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
index 608cb75bbb2..f9b0441af77 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
@@ -45,7 +45,7 @@ public:
struct boss_mothersmolderwebAI : public BossAI
{
- boss_mothersmolderwebAI(Creature* creature) : BossAI(creature, DATA_MOTHER_SMOLDERWEB) {}
+ boss_mothersmolderwebAI(Creature* creature) : BossAI(creature, DATA_MOTHER_SMOLDERWEB) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
index 2b68b640720..2a448898813 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
@@ -57,7 +57,7 @@ public:
struct boss_overlordwyrmthalakAI : public BossAI
{
- boss_overlordwyrmthalakAI(Creature* creature) : BossAI(creature, DATA_OVERLORD_WYRMTHALAK) {}
+ boss_overlordwyrmthalakAI(Creature* creature) : BossAI(creature, DATA_OVERLORD_WYRMTHALAK) { }
bool Summoned;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
index 57c3dfac7ff..1c40385c0fd 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -75,7 +75,7 @@ public:
struct boss_pyroguard_emberseerAI : public BossAI
{
- boss_pyroguard_emberseerAI(Creature* creature) : BossAI(creature, DATA_PYROGAURD_EMBERSEER) {}
+ boss_pyroguard_emberseerAI(Creature* creature) : BossAI(creature, DATA_PYROGAURD_EMBERSEER) { }
void Reset() OVERRIDE
{
@@ -340,7 +340,7 @@ public:
struct npc_blackhand_incarceratorAI : public ScriptedAI
{
- npc_blackhand_incarceratorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_blackhand_incarceratorAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
index a20822839e6..4dbade9e07b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
@@ -40,7 +40,7 @@ public:
struct boss_quatermasterzigrisAI : public BossAI
{
- boss_quatermasterzigrisAI(Creature* creature) : BossAI(creature, DATA_QUARTERMASTER_ZIGRIS) {}
+ boss_quatermasterzigrisAI(Creature* creature) : BossAI(creature, DATA_QUARTERMASTER_ZIGRIS) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
index 1936e5e72d0..7fcb201a5ad 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
@@ -46,7 +46,7 @@ public:
struct boss_shadowvoshAI : public BossAI
{
- boss_shadowvoshAI(Creature* creature) : BossAI(creature, DATA_SHADOW_HUNTER_VOSHGAJIN) {}
+ boss_shadowvoshAI(Creature* creature) : BossAI(creature, DATA_SHADOW_HUNTER_VOSHGAJIN) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
index c4abaac158c..8cb0dfbce64 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
@@ -46,7 +46,7 @@ public:
struct boss_thebeastAI : public BossAI
{
- boss_thebeastAI(Creature* creature) : BossAI(creature, DATA_THE_BEAST) {}
+ boss_thebeastAI(Creature* creature) : BossAI(creature, DATA_THE_BEAST) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
index afee357aad5..76b673eed06 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
@@ -46,7 +46,7 @@ public:
struct boss_urok_doomhowlAI : public BossAI
{
- boss_urok_doomhowlAI(Creature* creature) : BossAI(creature, DATA_UROK_DOOMHOWL) {}
+ boss_urok_doomhowlAI(Creature* creature) : BossAI(creature, DATA_UROK_DOOMHOWL) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
index e3423fd02b6..ccd74b204ce 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
@@ -52,7 +52,7 @@ public:
struct boss_warmastervooneAI : public BossAI
{
- boss_warmastervooneAI(Creature* creature) : BossAI(creature, DATA_WARMASTER_VOONE) {}
+ boss_warmastervooneAI(Creature* creature) : BossAI(creature, DATA_WARMASTER_VOONE) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
index d49cca2045f..f3a788918f2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
@@ -218,7 +218,7 @@ public:
}
}
- void JustSummoned(Creature* /*summon*/) OVERRIDE {}
+ void JustSummoned(Creature* /*summon*/) OVERRIDE { }
void SetData(uint32 type, uint32 data) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
index 5eabc11618b..420c9fcc290 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
@@ -108,7 +108,7 @@ class npc_firesworn : public CreatureScript
struct npc_fireswornAI : public ScriptedAI
{
- npc_fireswornAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fireswornAI(Creature* creature) : ScriptedAI(creature) { }
uint32 immolateTimer;
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 7e7d1b72415..f029e8505d4 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -57,7 +57,7 @@ class instance_deadmines : public InstanceMapScript
struct instance_deadmines_InstanceMapScript : public InstanceScript
{
- instance_deadmines_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_deadmines_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 FactoryDoorGUID;
uint64 IronCladDoorGUID;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
index 6599af7c2aa..04b9ebffbf7 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
@@ -60,7 +60,7 @@ public:
struct boss_curatorAI : public ScriptedAI
{
- boss_curatorAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_curatorAI(Creature* creature) : ScriptedAI(creature) { }
uint32 AddTimer;
uint32 HatefulBoltTimer;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
index 0a9aee6269c..a04953cb3f5 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
@@ -52,7 +52,7 @@ public:
struct boss_maiden_of_virtueAI : public ScriptedAI
{
- boss_maiden_of_virtueAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_maiden_of_virtueAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Repentance_Timer;
uint32 Holyfire_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 0b11d425e85..071a5e83d2f 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -90,7 +90,7 @@ public:
ResetTimer = 2000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
@@ -126,7 +126,7 @@ public:
struct boss_midnightAI : public ScriptedAI
{
- boss_midnightAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_midnightAI(Creature* creature) : ScriptedAI(creature) { }
uint64 Attumen;
uint8 Phase;
@@ -142,7 +142,7 @@ public:
me->SetVisible(true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
index 780f781f58d..fc37c42be85 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
@@ -399,7 +399,7 @@ public:
struct boss_baroness_dorothea_millstipeAI : public boss_moroes_guestAI
{
//Shadow Priest
- boss_baroness_dorothea_millstipeAI(Creature* creature) : boss_moroes_guestAI(creature) {}
+ boss_baroness_dorothea_millstipeAI(Creature* creature) : boss_moroes_guestAI(creature) { }
uint32 ManaBurn_Timer;
uint32 MindFlay_Timer;
@@ -462,7 +462,7 @@ public:
struct boss_baron_rafe_dreugerAI : public boss_moroes_guestAI
{
//Retr Pally
- boss_baron_rafe_dreugerAI(Creature* creature) : boss_moroes_guestAI(creature){}
+ boss_baron_rafe_dreugerAI(Creature* creature) : boss_moroes_guestAI(creature){ }
uint32 HammerOfJustice_Timer;
uint32 SealOfCommand_Timer;
@@ -519,7 +519,7 @@ public:
struct boss_lady_catriona_von_indiAI : public boss_moroes_guestAI
{
//Holy Priest
- boss_lady_catriona_von_indiAI(Creature* creature) : boss_moroes_guestAI(creature) {}
+ boss_lady_catriona_von_indiAI(Creature* creature) : boss_moroes_guestAI(creature) { }
uint32 DispelMagic_Timer;
uint32 GreaterHeal_Timer;
@@ -589,7 +589,7 @@ public:
struct boss_lady_keira_berrybuckAI : public boss_moroes_guestAI
{
//Holy Pally
- boss_lady_keira_berrybuckAI(Creature* creature) : boss_moroes_guestAI(creature) {}
+ boss_lady_keira_berrybuckAI(Creature* creature) : boss_moroes_guestAI(creature) { }
uint32 Cleanse_Timer;
uint32 GreaterBless_Timer;
@@ -663,7 +663,7 @@ public:
struct boss_lord_robin_darisAI : public boss_moroes_guestAI
{
//Arms Warr
- boss_lord_robin_darisAI(Creature* creature) : boss_moroes_guestAI(creature) {}
+ boss_lord_robin_darisAI(Creature* creature) : boss_moroes_guestAI(creature) { }
uint32 Hamstring_Timer;
uint32 MortalStrike_Timer;
@@ -719,7 +719,7 @@ public:
struct boss_lord_crispin_ferenceAI : public boss_moroes_guestAI
{
//Arms Warr
- boss_lord_crispin_ferenceAI(Creature* creature) : boss_moroes_guestAI(creature) {}
+ boss_lord_crispin_ferenceAI(Creature* creature) : boss_moroes_guestAI(creature) { }
uint32 Disarm_Timer;
uint32 HeroicStrike_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index 8f292f2d008..7c6cdd4cb3e 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -110,16 +110,16 @@ public:
struct netherspite_infernalAI : public ScriptedAI
{
netherspite_infernalAI(Creature* creature) : ScriptedAI(creature),
- HellfireTimer(0), CleanupTimer(0), malchezaar(0), point(NULL) {}
+ HellfireTimer(0), CleanupTimer(0), malchezaar(0), point(NULL) { }
uint32 HellfireTimer;
uint32 CleanupTimer;
uint64 malchezaar;
InfernalPoint *point;
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
index 7999524f853..2d3fabb810b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -520,7 +520,7 @@ public:
struct water_elementalAI : public ScriptedAI
{
- water_elementalAI(Creature* creature) : ScriptedAI(creature) {}
+ water_elementalAI(Creature* creature) : ScriptedAI(creature) { }
uint32 CastTimer;
@@ -529,7 +529,7 @@ public:
CastTimer = 2000 + (rand()%3000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
index f348cf95a82..9e7897cd56a 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
@@ -148,7 +148,7 @@ public:
struct npc_demon_chainAI : public ScriptedAI
{
- npc_demon_chainAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_demon_chainAI(Creature* creature) : ScriptedAI(creature) { }
uint64 SacrificeGUID;
@@ -157,9 +157,9 @@ public:
SacrificeGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
@@ -186,7 +186,7 @@ public:
struct npc_fiendish_portalAI : public PassiveAI
{
- npc_fiendish_portalAI(Creature* creature) : PassiveAI(creature), summons(me){}
+ npc_fiendish_portalAI(Creature* creature) : PassiveAI(creature), summons(me){ }
SummonList summons;
@@ -220,7 +220,7 @@ public:
struct npc_fiendish_impAI : public ScriptedAI
{
- npc_fiendish_impAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fiendish_impAI(Creature* creature) : ScriptedAI(creature) { }
uint32 FireboltTimer;
@@ -231,7 +231,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index 29ae4890fdc..beff85b730f 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -238,7 +238,7 @@ public:
struct npc_titoAI : public ScriptedAI
{
- npc_titoAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_titoAI(Creature* creature) : ScriptedAI(creature) { }
uint64 DorotheeGUID;
uint32 YipTimer;
@@ -249,7 +249,7 @@ public:
YipTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -724,7 +724,7 @@ public:
struct npc_cycloneAI : public ScriptedAI
{
- npc_cycloneAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_cycloneAI(Creature* creature) : ScriptedAI(creature) { }
uint32 MoveTimer;
@@ -733,7 +733,7 @@ public:
MoveTimer = 1000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
@@ -1073,7 +1073,7 @@ public:
RomuloDead = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void AttackStart(Unit* who) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index 82dc85861da..bf213e68f10 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -56,7 +56,7 @@ public:
struct instance_karazhan_InstanceMapScript : public InstanceScript
{
- instance_karazhan_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_karazhan_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string strSaveData;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index 679f52343eb..6997b7123bc 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -176,7 +176,7 @@ public:
Start(false, false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -512,7 +512,7 @@ public:
me->RemoveCorpse();
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 74d65480611..074ad3f1b96 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -461,8 +461,8 @@ public:
DoCast(me, SPELL_FLAMESTRIKE2, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -509,7 +509,7 @@ public:
FakeDeath = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
{
@@ -600,7 +600,7 @@ public:
struct npc_felkael_phoenix_eggAI : public ScriptedAI
{
- npc_felkael_phoenix_eggAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_felkael_phoenix_eggAI(Creature* creature) : ScriptedAI(creature) { }
uint32 HatchTimer;
@@ -609,8 +609,8 @@ public:
HatchTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
@@ -652,7 +652,7 @@ public:
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
index 03c06664edf..c8ab4a147ff 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
@@ -510,7 +510,7 @@ public:
struct boss_kagani_nightstrikeAI : public boss_priestess_lackey_commonAI
{
//Rogue
- boss_kagani_nightstrikeAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_kagani_nightstrikeAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
uint32 Gouge_Timer;
uint32 Kick_Timer;
@@ -614,7 +614,7 @@ public:
struct boss_ellris_duskhallowAI : public boss_priestess_lackey_commonAI
{
//Warlock
- boss_ellris_duskhallowAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_ellris_duskhallowAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
uint32 Immolate_Timer;
uint32 Shadow_Bolt_Timer;
@@ -705,7 +705,7 @@ public:
struct boss_eramas_brightblazeAI : public boss_priestess_lackey_commonAI
{
//Monk
- boss_eramas_brightblazeAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_eramas_brightblazeAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
uint32 Knockdown_Timer;
uint32 Snap_Kick_Timer;
@@ -766,7 +766,7 @@ public:
struct boss_yazzaiAI : public boss_priestess_lackey_commonAI
{
//Mage
- boss_yazzaiAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_yazzaiAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
bool HasIceBlocked;
@@ -896,7 +896,7 @@ public:
struct boss_warlord_salarisAI : public boss_priestess_lackey_commonAI
{
//Warrior
- boss_warlord_salarisAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_warlord_salarisAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
uint32 Intercept_Stun_Timer;
uint32 Disarm_Timer;
@@ -1127,7 +1127,7 @@ public:
struct boss_apokoAI : public boss_priestess_lackey_commonAI
{
//Shaman
- boss_apokoAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_apokoAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
uint32 Totem_Timer;
uint8 Totem_Amount;
@@ -1225,7 +1225,7 @@ public:
struct boss_zelfanAI : public boss_priestess_lackey_commonAI
{
//Engineer
- boss_zelfanAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) {}
+ boss_zelfanAI(Creature* creature) : boss_priestess_lackey_commonAI(creature) { }
uint32 Goblin_Dragon_Gun_Timer;
uint32 Rocket_Launch_Timer;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index 668f7ec58f4..c31eb1bea11 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -332,14 +332,14 @@ public:
struct npc_fel_crystalAI : public ScriptedAI
{
- npc_fel_crystalAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fel_crystalAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index 3694fa4a864..24b48112bb6 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -222,7 +222,7 @@ public:
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void JustDied(Unit* slayer) OVERRIDE
{
@@ -233,10 +233,10 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
index 54323b5c133..f7abb46b9b7 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -62,7 +62,7 @@ public:
struct instance_magisters_terrace_InstanceMapScript : public InstanceScript
{
- instance_magisters_terrace_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_magisters_terrace_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 Encounter[MAX_ENCOUNTER];
uint32 DelrissaDeathCount;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
index 6fcc050a55e..c9e530bce56 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
@@ -115,7 +115,7 @@ public:
struct npc_kalecgosAI : public ScriptedAI
{
- npc_kalecgosAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_kalecgosAI(Creature* creature) : ScriptedAI(creature) { }
uint32 m_uiTransformTimer;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 7feb0e47926..65577d9e770 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -288,7 +288,7 @@ public:
struct npc_unworthy_initiate_anchorAI : public PassiveAI
{
- npc_unworthy_initiate_anchorAI(Creature* creature) : PassiveAI(creature), prisonerGUID(0) {}
+ npc_unworthy_initiate_anchorAI(Creature* creature) : PassiveAI(creature), prisonerGUID(0) { }
uint64 prisonerGUID;
@@ -615,7 +615,7 @@ public:
struct npc_salanar_the_horsemanAI : public ScriptedAI
{
- npc_salanar_the_horsemanAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_salanar_the_horsemanAI(Creature* creature) : ScriptedAI(creature) { }
void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
{
@@ -687,7 +687,7 @@ public:
struct npc_ros_dark_riderAI : public ScriptedAI
{
- npc_ros_dark_riderAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_ros_dark_riderAI(Creature* creature) : ScriptedAI(creature) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
@@ -742,7 +742,7 @@ public:
struct npc_dkc1_gothikAI : public ScriptedAI
{
- npc_dkc1_gothikAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_dkc1_gothikAI(Creature* creature) : ScriptedAI(creature) { }
void MoveInLineOfSight(Unit* who) OVERRIDE
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index ba6f0f23656..20a7ccedb17 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -51,7 +51,7 @@ public:
struct npc_crusade_persuadedAI : public ScriptedAI
{
- npc_crusade_persuadedAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_crusade_persuadedAI(Creature* creature) : ScriptedAI(creature) { }
uint32 speechTimer;
uint32 speechCounter;
@@ -375,7 +375,7 @@ public:
struct npc_scarlet_courierAI : public ScriptedAI
{
- npc_scarlet_courierAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_scarlet_courierAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiStage;
uint32 uiStage_timer;
@@ -467,7 +467,7 @@ public:
struct npc_high_inquisitor_valrothAI : public ScriptedAI
{
- npc_high_inquisitor_valrothAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_high_inquisitor_valrothAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiRenew_timer;
uint32 uiInquisitor_Penance_timer;
@@ -603,7 +603,7 @@ public:
struct npc_a_special_surpriseAI : public ScriptedAI
{
- npc_a_special_surpriseAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_a_special_surpriseAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ExecuteSpeech_Timer;
uint32 ExecuteSpeech_Counter;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
index ab1367ed684..97359ba65a9 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -1678,10 +1678,10 @@ public:
struct npc_the_lich_king_tirion_dawnAI : public ScriptedAI
{
npc_the_lich_king_tirion_dawnAI(Creature* creature) : ScriptedAI(creature) { Reset(); }
- void Reset() OVERRIDE {}
- void AttackStart(Unit* /*who*/) {} // very sample, just don't make them aggreesive OVERRIDE
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
- void JustDied(Unit* /*killer*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void AttackStart(Unit* /*who*/) { } // very sample, just don't make them aggreesive OVERRIDE
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void JustDied(Unit* /*killer*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
index aa4be5d2523..2bb187692fa 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
@@ -46,7 +46,7 @@ public:
struct npc_valkyr_battle_maidenAI : public PassiveAI
{
- npc_valkyr_battle_maidenAI(Creature* creature) : PassiveAI(creature) {}
+ npc_valkyr_battle_maidenAI(Creature* creature) : PassiveAI(creature) { }
uint32 FlyBackTimer;
float x, y, z;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
index 4cf6c069648..694fdf9d84e 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
@@ -53,7 +53,7 @@ public:
struct boss_arcanist_doanAI : public ScriptedAI
{
- boss_arcanist_doanAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_arcanist_doanAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Polymorph_Timer;
uint32 AoESilence_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
index a88ff8b2977..6f028e33726 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
@@ -45,7 +45,7 @@ public:
struct boss_azshir_the_sleeplessAI : public ScriptedAI
{
- boss_azshir_the_sleeplessAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_azshir_the_sleeplessAI(Creature* creature) : ScriptedAI(creature) { }
uint32 SoulSiphon_Timer;
uint32 CallOftheGrave_Timer;
@@ -58,7 +58,7 @@ public:
Terrify_Timer = 20000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
index f10ac0b5ba2..b3375d9448f 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
@@ -53,7 +53,7 @@ public:
struct boss_bloodmage_thalnosAI : public ScriptedAI
{
- boss_bloodmage_thalnosAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_bloodmage_thalnosAI(Creature* creature) : ScriptedAI(creature) { }
bool HpYell;
uint32 FlameShock_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index fb2d8374c18..463e88b670b 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -162,8 +162,8 @@ public:
uint32 delay;
uint32 spell;
uint32 spell2;
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SetType(uint32 _type)
{
switch (Creaturetype = _type)
@@ -233,7 +233,7 @@ public:
struct npc_headAI : public ScriptedAI
{
- npc_headAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_headAI(Creature* creature) : ScriptedAI(creature) { }
uint64 bodyGUID;
@@ -254,7 +254,7 @@ public:
laugh = urand(15000, 30000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SaySound(uint8 textEntry, Unit* target = 0)
{
@@ -580,7 +580,11 @@ public:
Map::PlayerList const& players = me->GetMap()->GetPlayers();
if (!players.isEmpty())
- sLFGMgr->FinishDungeon(players.begin()->GetSource()->GetGroup()->GetGUID(), 285);
+ {
+ if (Group* group = players.begin()->GetSource()->GetGroup())
+ if (group->isLFGGroup())
+ sLFGMgr->FinishDungeon(group->GetGUID(), 285);
+ }
}
void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
@@ -792,7 +796,7 @@ public:
struct npc_pulsing_pumpkinAI : public ScriptedAI
{
- npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature) { }
bool sprouted;
uint64 debuffGUID;
@@ -817,7 +821,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
index 3c662fae9f8..40fe93155a5 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
@@ -62,7 +62,7 @@ public:
struct boss_herodAI : public ScriptedAI
{
- boss_herodAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_herodAI(Creature* creature) : ScriptedAI(creature) { }
bool Enrage;
@@ -148,9 +148,9 @@ public:
uint32 Start_Timer;
- void Reset() OVERRIDE {}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void WaypointReached(uint32 /*waypointId*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
index 38fb663a073..46680730f7e 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -48,7 +48,7 @@ public:
struct boss_high_inquisitor_fairbanksAI : public ScriptedAI
{
- boss_high_inquisitor_fairbanksAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_high_inquisitor_fairbanksAI(Creature* creature) : ScriptedAI(creature) { }
uint32 CurseOfBlood_Timer;
uint32 DispelMagic_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
index 10d60eb15cd..4a0d8ff4796 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
@@ -49,7 +49,7 @@ public:
struct boss_houndmaster_lokseyAI : public ScriptedAI
{
- boss_houndmaster_lokseyAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_houndmaster_lokseyAI(Creature* creature) : ScriptedAI(creature) { }
uint32 BloodLust_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
index fcd0975fbc0..b2289f324f3 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
@@ -46,7 +46,7 @@ public:
struct boss_scornAI : public ScriptedAI
{
- boss_scornAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_scornAI(Creature* creature) : ScriptedAI(creature) { }
uint32 LichSlap_Timer;
uint32 FrostboltVolley_Timer;
@@ -61,7 +61,7 @@ public:
FrostNova_Timer = 30000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
index 05664a946ed..b91a54e5afc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
@@ -49,7 +49,7 @@ public:
struct instance_scarlet_monastery_InstanceMapScript : public InstanceScript
{
- instance_scarlet_monastery_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_scarlet_monastery_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 PumpkinShrineGUID;
uint64 HorsemanGUID;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
index cb6da60bf28..2277c53ae6b 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
@@ -54,7 +54,7 @@ class boss_darkmaster_gandling : public CreatureScript
struct boss_darkmaster_gandlingAI : public BossAI
{
- boss_darkmaster_gandlingAI(Creature* creature) : BossAI(creature, DATA_DARKMASTERGANDLING) {}
+ boss_darkmaster_gandlingAI(Creature* creature) : BossAI(creature, DATA_DARKMASTERGANDLING) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
index 8ca8f04f33a..108dcc92f22 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
@@ -38,7 +38,7 @@ public:
struct boss_death_knight_darkreaverAI : public ScriptedAI
{
- boss_death_knight_darkreaverAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_death_knight_darkreaverAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
index 3dae50ebf44..bcf5e82bc66 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
@@ -51,7 +51,7 @@ class boss_doctor_theolen_krastinov : public CreatureScript
struct boss_theolenkrastinovAI : public BossAI
{
- boss_theolenkrastinovAI(Creature* creature) : BossAI(creature, DATA_DOCTORTHEOLENKRASTINOV) {}
+ boss_theolenkrastinovAI(Creature* creature) : BossAI(creature, DATA_DOCTORTHEOLENKRASTINOV) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
index 5da1bf14c7d..c3255ba9c65 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
@@ -48,7 +48,7 @@ class boss_illucia_barov : public CreatureScript
struct boss_illuciabarovAI : public BossAI
{
- boss_illuciabarovAI(Creature* creature) : BossAI(creature, DATA_LADYILLUCIABAROV) {}
+ boss_illuciabarovAI(Creature* creature) : BossAI(creature, DATA_LADYILLUCIABAROV) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
index c3bd97c9a0b..88f95df69c4 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
@@ -50,7 +50,7 @@ class boss_instructor_malicia : public CreatureScript
struct boss_instructormaliciaAI : public BossAI
{
- boss_instructormaliciaAI(Creature* creature) : BossAI(creature, DATA_INSTRUCTORMALICIA) {}
+ boss_instructormaliciaAI(Creature* creature) : BossAI(creature, DATA_INSTRUCTORMALICIA) { }
uint32 FlashCounter;
uint32 TouchCounter;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
index ab259680c07..2663146317a 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
@@ -47,7 +47,7 @@ public:
struct boss_jandicebarovAI : public ScriptedAI
{
- boss_jandicebarovAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_jandicebarovAI(Creature* creature) : ScriptedAI(creature) { }
uint32 CurseOfBlood_Timer;
uint32 Illusion_Timer;
@@ -169,7 +169,7 @@ public:
struct npc_illusionofjandicebarovAI : public ScriptedAI
{
- npc_illusionofjandicebarovAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_illusionofjandicebarovAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Cleave_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
index 0ba0ab4cb92..57cfeb7dc33 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
@@ -44,7 +44,7 @@ public:
struct boss_kormokAI : public ScriptedAI
{
- boss_kormokAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_kormokAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ShadowVolley_Timer;
uint32 BoneShield_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
index 26028590f5c..e06c0d6bfbb 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
@@ -44,7 +44,7 @@ class boss_lord_alexei_barov : public CreatureScript
struct boss_lordalexeibarovAI : public BossAI
{
- boss_lordalexeibarovAI(Creature* creature) : BossAI(creature, DATA_LORDALEXEIBAROV) {}
+ boss_lordalexeibarovAI(Creature* creature) : BossAI(creature, DATA_LORDALEXEIBAROV) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
index bc6646be633..f41f456d24a 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
@@ -48,7 +48,7 @@ class boss_lorekeeper_polkelt : public CreatureScript
struct boss_lorekeeperpolkeltAI : public BossAI
{
- boss_lorekeeperpolkeltAI(Creature* creature) : BossAI(creature, DATA_LOREKEEPERPOLKELT) {}
+ boss_lorekeeperpolkeltAI(Creature* creature) : BossAI(creature, DATA_LOREKEEPERPOLKELT) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
index 62922289821..451fd46938d 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
@@ -48,7 +48,7 @@ public:
struct boss_rasfrostAI : public ScriptedAI
{
- boss_rasfrostAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_rasfrostAI(Creature* creature) : ScriptedAI(creature) { }
uint32 IceArmor_Timer;
uint32 Frostbolt_Timer;
@@ -69,7 +69,7 @@ public:
DoCast(me, SPELL_ICEARMOR, true);
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
index 1e2c38fc487..9af473d4b4c 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
@@ -48,7 +48,7 @@ class boss_the_ravenian : public CreatureScript
struct boss_theravenianAI : public BossAI
{
- boss_theravenianAI(Creature* creature) : BossAI(creature, DATA_THERAVENIAN) {}
+ boss_theravenianAI(Creature* creature) : BossAI(creature, DATA_THERAVENIAN) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index e426fb4ec11..395581b3562 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -51,7 +51,7 @@ public:
struct boss_vectusAI : public ScriptedAI
{
- boss_vectusAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_vectusAI(Creature* creature) : ScriptedAI(creature) { }
uint32 m_uiFireShield_Timer;
uint32 m_uiBlastWave_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index fde5bffd07a..8c022c98ba7 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -78,7 +78,7 @@ public:
struct instance_shadowfang_keep_InstanceMapScript : public InstanceScript
{
- instance_shadowfang_keep_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_shadowfang_keep_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data;
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
index d5c3d27eed3..8d89592090e 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
@@ -145,8 +145,8 @@ public:
}
}
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
index 319afb3deb2..42714c3f12e 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
@@ -92,7 +92,7 @@ public:
struct boss_cannon_master_willeyAI : public ScriptedAI
{
- boss_cannon_master_willeyAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_cannon_master_willeyAI(Creature* creature) : ScriptedAI(creature) { }
uint32 KnockAway_Timer;
uint32 Pummel_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
index 21320ed738f..5847f7b132b 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
@@ -81,7 +81,7 @@ public:
struct boss_dathrohan_balnazzarAI : public ScriptedAI
{
- boss_dathrohan_balnazzarAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_dathrohan_balnazzarAI(Creature* creature) : ScriptedAI(creature) { }
uint32 m_uiCrusadersHammer_Timer;
uint32 m_uiCrusaderStrike_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
index 1c5f0c72153..150d134da07 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
@@ -53,7 +53,7 @@ public:
struct boss_magistrate_barthilasAI : public ScriptedAI
{
- boss_magistrate_barthilasAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_magistrate_barthilasAI(Creature* creature) : ScriptedAI(creature) { }
uint32 DrainingBlow_Timer;
uint32 CrowdPummel_Timer;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
index 5f169ece0d5..b67c039ec74 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
@@ -59,9 +59,9 @@ class boss_postmaster_malown : public CreatureScript
struct boss_postmaster_malownAI : public BossAI
{
- boss_postmaster_malownAI(Creature* creature) : BossAI(creature, TYPE_MALOWN) {}
+ boss_postmaster_malownAI(Creature* creature) : BossAI(creature, TYPE_MALOWN) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
index 020b14f4823..6d4ba8a1631 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
@@ -48,7 +48,7 @@ public:
struct boss_timmy_the_cruelAI : public ScriptedAI
{
- boss_timmy_the_cruelAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_timmy_the_cruelAI(Creature* creature) : ScriptedAI(creature) { }
uint32 RavenousClaw_Timer;
bool HasYelled;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index ff2bc1cb15c..1b15f30353b 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -100,14 +100,14 @@ public:
struct npc_freed_soulAI : public ScriptedAI
{
- npc_freed_soulAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_freed_soulAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
Talk(SAY_ZAPPED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
};
@@ -142,7 +142,7 @@ public:
struct npc_restless_soulAI : public ScriptedAI
{
- npc_restless_soulAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_restless_soulAI(Creature* creature) : ScriptedAI(creature) { }
uint64 Tagger;
uint32 Die_Timer;
@@ -155,7 +155,7 @@ public:
Tagged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
{
@@ -224,7 +224,7 @@ public:
struct npc_spectral_ghostly_citizenAI : public ScriptedAI
{
- npc_spectral_ghostly_citizenAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_spectral_ghostly_citizenAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Die_Timer;
bool Tagged;
@@ -235,7 +235,7 @@ public:
Tagged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index d402eccedd4..692f9ae5440 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -675,7 +675,7 @@ public:
struct npc_shadow_imageAI : public ScriptedAI
{
- npc_shadow_imageAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_shadow_imageAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ShadowfuryTimer;
uint32 KillTimer;
@@ -689,7 +689,7 @@ public:
KillTimer = 15000;
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index a74e2cc87b1..561ba361f26 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -531,7 +531,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetSpeed(MOVE_RUN, 0.8f);
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
DoZoneInCombat();
@@ -565,12 +565,12 @@ public:
me->SetTarget(me->GetGUID());
me->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 0.01f); // core bug
}
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 855ed46e5cf..2730d308828 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -1055,7 +1055,7 @@ public:
struct npc_volatile_felfire_fiendAI : public ScriptedAI
{
- npc_volatile_felfire_fiendAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_volatile_felfire_fiendAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiExplodeTimer;
@@ -1256,7 +1256,7 @@ public:
struct npc_sinster_reflectionAI : public ScriptedAI
{
- npc_sinster_reflectionAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_sinster_reflectionAI(Creature* creature) : ScriptedAI(creature) { }
uint8 victimClass;
uint32 uiTimer[3];
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index c3d00ddba53..e36310f85b1 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -464,7 +464,7 @@ public:
struct npc_dark_fiendAI : public ScriptedAI
{
- npc_dark_fiendAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_dark_fiendAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WaitTimer;
bool InAction;
@@ -525,7 +525,7 @@ public:
struct npc_void_sentinelAI : public ScriptedAI
{
- npc_void_sentinelAI(Creature* creature) : ScriptedAI(creature){}
+ npc_void_sentinelAI(Creature* creature) : ScriptedAI(creature){ }
uint32 PulseTimer;
uint32 VoidBlastTimer;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
index f1febf07bb7..8a7944464a1 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
@@ -51,7 +51,7 @@ public:
struct instance_sunwell_plateau_InstanceMapScript : public InstanceScript
{
- instance_sunwell_plateau_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_sunwell_plateau_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp
index 2db77197eb0..4b190f04a70 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp
@@ -62,6 +62,4 @@ enum LiadrinnSpeeches
#define CS_GOSSIP3 "Why did they stop?"
#define CS_GOSSIP4 "Your insight is appreciated."
-void AddSC_sunwell_plateau()
-{
-}
+void AddSC_sunwell_plateau() { }
diff --git a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
index 9550ac13208..50d4f0d1578 100644
--- a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
+++ b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
@@ -37,7 +37,7 @@ public:
struct instance_the_stockade_InstanceMapScript : public InstanceScript
{
- instance_the_stockade_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_the_stockade_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
index 1a41becfad5..830942ae2c3 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
@@ -45,7 +45,7 @@ class boss_ironaya : public CreatureScript
struct boss_ironayaAI : public ScriptedAI
{
- boss_ironayaAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_ironayaAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiArcingTimer;
bool bHasCastedWstomp;
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index 7d17a339d5f..f221355b1c8 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -41,11 +41,11 @@ enum Events
class instance_uldaman : public InstanceMapScript
{
public:
- instance_uldaman() : InstanceMapScript("instance_uldaman", 70) {}
+ instance_uldaman() : InstanceMapScript("instance_uldaman", 70) { }
struct instance_uldaman_InstanceMapScript : public InstanceScript
{
- instance_uldaman_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_uldaman_InstanceMapScript(Map* map) : InstanceScript(map) { }
void Initialize() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
index 4dcb6af2392..1dfb48f746f 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
@@ -54,7 +54,7 @@ class npc_jadespine_basilisk : public CreatureScript
struct npc_jadespine_basiliskAI : public ScriptedAI
{
- npc_jadespine_basiliskAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_jadespine_basiliskAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiCslumberTimer;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
index 380293d743c..72b71bb045d 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
@@ -389,7 +389,7 @@ class npc_akilzon_eagle : public CreatureScript
DoZoneInCombat();
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void MovementInform(uint32, uint32) OVERRIDE
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
index 8bfe45a7f17..a174b4833b4 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
@@ -359,7 +359,7 @@ class npc_halazzi_lynx : public CreatureScript
struct npc_halazzi_lynxAI : public ScriptedAI
{
- npc_halazzi_lynxAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_halazzi_lynxAI(Creature* creature) : ScriptedAI(creature) { }
uint32 FrenzyTimer;
uint32 shredder_timer;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
index 8a13e072be8..c2975bdf9da 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
@@ -222,7 +222,7 @@ struct boss_hexlord_addAI : public ScriptedAI
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
@@ -526,7 +526,7 @@ class boss_thurg : public CreatureScript
struct boss_thurgAI : public boss_hexlord_addAI
{
- boss_thurgAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_thurgAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 bloodlust_timer;
uint32 cleave_timer;
@@ -583,7 +583,7 @@ class boss_alyson_antille : public CreatureScript
struct boss_alyson_antilleAI : public boss_hexlord_addAI
{
//Holy Priest
- boss_alyson_antilleAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_alyson_antilleAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 flashheal_timer;
uint32 dispelmagic_timer;
@@ -670,7 +670,7 @@ class boss_alyson_antille : public CreatureScript
struct boss_gazakrothAI : public boss_hexlord_addAI
{
- boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 firebolt_timer;
@@ -721,7 +721,7 @@ class boss_lord_raadan : public CreatureScript
struct boss_lord_raadanAI : public boss_hexlord_addAI
{
- boss_lord_raadanAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_lord_raadanAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 flamebreath_timer;
uint32 thunderclap_timer;
@@ -772,7 +772,7 @@ class boss_darkheart : public CreatureScript
struct boss_darkheartAI : public boss_hexlord_addAI
{
- boss_darkheartAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_darkheartAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 psychicwail_timer;
@@ -814,7 +814,7 @@ class boss_slither : public CreatureScript
struct boss_slitherAI : public boss_hexlord_addAI
{
- boss_slitherAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_slitherAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 venomspit_timer;
@@ -872,7 +872,7 @@ class boss_fenstalker : public CreatureScript
struct boss_fenstalkerAI : public boss_hexlord_addAI
{
- boss_fenstalkerAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_fenstalkerAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 volatileinf_timer;
@@ -915,7 +915,7 @@ class boss_koragg : public CreatureScript
struct boss_koraggAI : public boss_hexlord_addAI
{
- boss_koraggAI(Creature* creature) : boss_hexlord_addAI(creature) {}
+ boss_koraggAI(Creature* creature) : boss_hexlord_addAI(creature) { }
uint32 coldstare_timer;
uint32 mightyblow_timer;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index 329034a7682..8ed866d7f08 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -457,9 +457,9 @@ class npc_janalai_firebomb : public CreatureScript
struct npc_janalai_firebombAI : public ScriptedAI
{
- npc_janalai_firebombAI(Creature* creature) : ScriptedAI(creature){}
+ npc_janalai_firebombAI(Creature* creature) : ScriptedAI(creature){ }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
{
@@ -467,14 +467,14 @@ class npc_janalai_firebomb : public CreatureScript
DoCast(me, SPELL_FIRE_BOMB_DUMMY, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
@@ -551,9 +551,9 @@ class npc_janalai_hatcher : public CreatureScript
return num == 0; // if num == 0, no more templist
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void MovementInform(uint32, uint32) OVERRIDE
{
@@ -678,7 +678,7 @@ class npc_janalai_hatchling : public CreatureScript
class npc_janalai_egg : public CreatureScript
{
public:
- npc_janalai_egg(): CreatureScript("npc_janalai_egg") {}
+ npc_janalai_egg(): CreatureScript("npc_janalai_egg") { }
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
@@ -687,11 +687,11 @@ public:
struct npc_janalai_eggAI : public ScriptedAI
{
- npc_janalai_eggAI(Creature* creature) : ScriptedAI(creature){}
+ npc_janalai_eggAI(Creature* creature) : ScriptedAI(creature){ }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
index 11b18e9e5cc..6281bcef5df 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
@@ -570,11 +570,11 @@ class npc_zuljin_vortex : public CreatureScript
struct npc_zuljin_vortexAI : public ScriptedAI
{
- npc_zuljin_vortexAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_zuljin_vortexAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*target*/) OVERRIDE {}
+ void EnterCombat(Unit* /*target*/) OVERRIDE { }
void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index 5803f1b981c..4d567dbca32 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -66,7 +66,7 @@ class instance_zulaman : public InstanceMapScript
struct instance_zulaman_InstanceMapScript : public InstanceScript
{
- instance_zulaman_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_zulaman_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 HarkorsSatchelGUID;
uint64 TanzarsTrunkGUID;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index 4c3b50e4c3a..a4176322288 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -68,9 +68,9 @@ class npc_forest_frog : public CreatureScript
InstanceScript* instance;
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DoSpawnRandom()
{
@@ -144,9 +144,9 @@ class npc_zulaman_hostage : public CreatureScript
bool IsLoot;
uint64 PlayerGUID;
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -295,7 +295,7 @@ class npc_harrison_jones : public CreatureScript
uiTargetGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
index 2c48d18d112..7fe80c12fd2 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
@@ -88,7 +88,7 @@ Position const PosMoveOnSpawn[1] =
class boss_arlokk : public CreatureScript
{
- public: boss_arlokk() : CreatureScript("boss_arlokk") {}
+ public: boss_arlokk() : CreatureScript("boss_arlokk") { }
struct boss_arlokkAI : public BossAI
{
@@ -338,7 +338,7 @@ Position const PosProwlerCenter[1] =
class npc_zulian_prowler : public CreatureScript
{
- public: npc_zulian_prowler() : CreatureScript("npc_zulian_prowler") {}
+ public: npc_zulian_prowler() : CreatureScript("npc_zulian_prowler") { }
struct npc_zulian_prowlerAI : public ScriptedAI
{
@@ -433,7 +433,7 @@ Position const PosSummonArlokk[1] =
class go_gong_of_bethekk : public GameObjectScript
{
- public: go_gong_of_bethekk() : GameObjectScript("go_gong_of_bethekk") {}
+ public: go_gong_of_bethekk() : GameObjectScript("go_gong_of_bethekk") { }
bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
index a6ed3b72146..017730f1186 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
@@ -43,11 +43,11 @@ enum Events
class boss_gahzranka : public CreatureScript // gahzranka
{
- public: boss_gahzranka() : CreatureScript("boss_gahzranka") {}
+ public: boss_gahzranka() : CreatureScript("boss_gahzranka") { }
struct boss_gahzrankaAI : public BossAI
{
- boss_gahzrankaAI(Creature* creature) : BossAI(creature, DATA_GAHZRANKA) {}
+ boss_gahzrankaAI(Creature* creature) : BossAI(creature, DATA_GAHZRANKA) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
index 3c472b1e6d5..6d21e6015fe 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
@@ -41,11 +41,11 @@ enum Events
class boss_grilek : public CreatureScript // grilek
{
- public: boss_grilek() : CreatureScript("boss_grilek") {}
+ public: boss_grilek() : CreatureScript("boss_grilek") { }
struct boss_grilekAI : public BossAI
{
- boss_grilekAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) {}
+ boss_grilekAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
index 7603e14ea2a..b25daf85a7c 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
@@ -66,11 +66,11 @@ enum Events
class boss_hakkar : public CreatureScript
{
- public: boss_hakkar() : CreatureScript("boss_hakkar") {}
+ public: boss_hakkar() : CreatureScript("boss_hakkar") { }
struct boss_hakkarAI : public BossAI
{
- boss_hakkarAI(Creature* creature) : BossAI(creature, DATA_HAKKAR) {}
+ boss_hakkarAI(Creature* creature) : BossAI(creature, DATA_HAKKAR) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
index 27159a700cb..f988a43f728 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
@@ -42,11 +42,11 @@ enum Events
class boss_hazzarah : public CreatureScript
{
- public: boss_hazzarah() : CreatureScript("boss_hazzarah") {}
+ public: boss_hazzarah() : CreatureScript("boss_hazzarah") { }
struct boss_hazzarahAI : public BossAI
{
- boss_hazzarahAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) {}
+ boss_hazzarahAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
index 2a04a03938d..50b7d277a70 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
@@ -50,11 +50,11 @@ enum Spells
class boss_jeklik : public CreatureScript //jeklik
{
- public: boss_jeklik() : CreatureScript("boss_jeklik") {}
+ public: boss_jeklik() : CreatureScript("boss_jeklik") { }
struct boss_jeklikAI : public BossAI
{
- boss_jeklikAI(Creature* creature) : BossAI(creature, DATA_JEKLIK) {}
+ boss_jeklikAI(Creature* creature) : BossAI(creature, DATA_JEKLIK) { }
uint32 Charge_Timer;
uint32 SonicBurst_Timer;
@@ -247,7 +247,7 @@ class npc_batrider : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
index 0bbfefc69fb..886e000c093 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
@@ -59,11 +59,11 @@ Position const TeleportLoc = {-11583.7783f, -1249.4278f, 77.5471f, 4.745f};
class boss_jindo : public CreatureScript
{
- public: boss_jindo() : CreatureScript("boss_jindo") {}
+ public: boss_jindo() : CreatureScript("boss_jindo") { }
struct boss_jindoAI : public BossAI
{
- boss_jindoAI(Creature* creature) : BossAI(creature, DATA_JINDO) {}
+ boss_jindoAI(Creature* creature) : BossAI(creature, DATA_JINDO) { }
void Reset() OVERRIDE
{
@@ -248,7 +248,7 @@ class npc_shade_of_jindo : public CreatureScript
struct npc_shade_of_jindoAI : public ScriptedAI
{
- npc_shade_of_jindoAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_shade_of_jindoAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ShadowShock_Timer;
@@ -258,7 +258,7 @@ class npc_shade_of_jindo : public CreatureScript
DoCast(me, SPELL_INVISIBLE, true);
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index ac65842fa44..08215f6a9de 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -106,7 +106,7 @@ Position const PosMandokir[2] =
class boss_mandokir : public CreatureScript
{
- public: boss_mandokir() : CreatureScript("boss_mandokir") {}
+ public: boss_mandokir() : CreatureScript("boss_mandokir") { }
struct boss_mandokirAI : public BossAI
{
@@ -293,7 +293,7 @@ enum OhganSpells
class npc_ohgan : public CreatureScript
{
- public: npc_ohgan() : CreatureScript("npc_ohgan") {}
+ public: npc_ohgan() : CreatureScript("npc_ohgan") { }
struct npc_ohganAI : public ScriptedAI
{
@@ -304,7 +304,7 @@ class npc_ohgan : public CreatureScript
SunderArmor_Timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -345,7 +345,7 @@ enum VilebranchSpells
class npc_vilebranch_speaker : public CreatureScript
{
- public: npc_vilebranch_speaker() : CreatureScript("npc_vilebranch_speaker") {}
+ public: npc_vilebranch_speaker() : CreatureScript("npc_vilebranch_speaker") { }
struct npc_vilebranch_speakerAI : public ScriptedAI
{
@@ -357,7 +357,7 @@ class npc_vilebranch_speaker : public CreatureScript
cleave_Timer = urand(5000, 8000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
index c372cb0324d..3edbe6ff721 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
@@ -71,11 +71,11 @@ enum ModelId
class boss_marli : public CreatureScript
{
- public: boss_marli() : CreatureScript("boss_marli") {}
+ public: boss_marli() : CreatureScript("boss_marli") { }
struct boss_marliAI : public BossAI
{
- boss_marliAI(Creature* creature) : BossAI(creature, DATA_MARLI) {}
+ boss_marliAI(Creature* creature) : BossAI(creature, DATA_MARLI) { }
void Reset() OVERRIDE
{
@@ -219,11 +219,11 @@ class boss_marli : public CreatureScript
// Spawn of Marli
class npc_spawn_of_marli : public CreatureScript
{
- public: npc_spawn_of_marli() : CreatureScript("npc_spawn_of_marli") {}
+ public: npc_spawn_of_marli() : CreatureScript("npc_spawn_of_marli") { }
struct npc_spawn_of_marliAI : public ScriptedAI
{
- npc_spawn_of_marliAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_spawn_of_marliAI(Creature* creature) : ScriptedAI(creature) { }
uint32 LevelUp_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
index 4d9d446d823..581f1de5013 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
@@ -40,11 +40,11 @@ enum Misc
class boss_renataki : public CreatureScript
{
- public: boss_renataki() : CreatureScript("boss_renataki") {}
+ public: boss_renataki() : CreatureScript("boss_renataki") { }
struct boss_renatakiAI : public BossAI
{
- boss_renatakiAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) {}
+ boss_renatakiAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) { }
uint32 Invisible_Timer;
uint32 Ambush_Timer;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
index 6a945c545a0..d20414705cf 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
@@ -78,11 +78,11 @@ enum Phases
class boss_thekal : public CreatureScript
{
- public: boss_thekal() : CreatureScript("boss_thekal") {}
+ public: boss_thekal() : CreatureScript("boss_thekal") { }
struct boss_thekalAI : public BossAI
{
- boss_thekalAI(Creature* creature) : BossAI(creature, DATA_THEKAL) {}
+ boss_thekalAI(Creature* creature) : BossAI(creature, DATA_THEKAL) { }
bool Enraged;
bool WasDead;
@@ -258,7 +258,7 @@ class boss_thekal : public CreatureScript
//Zealot Lor'Khan
class npc_zealot_lorkhan : public CreatureScript
{
- public: npc_zealot_lorkhan() : CreatureScript("npc_zealot_lorkhan") {}
+ public: npc_zealot_lorkhan() : CreatureScript("npc_zealot_lorkhan") { }
struct npc_zealot_lorkhanAI : public ScriptedAI
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
index f57503fcac0..0d3548ae253 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
@@ -85,11 +85,11 @@ enum NPCs
class boss_venoxis : public CreatureScript
{
- public: boss_venoxis() : CreatureScript("boss_venoxis") {}
+ public: boss_venoxis() : CreatureScript("boss_venoxis") { }
struct boss_venoxisAI : public BossAI
{
- boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) {}
+ boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
index 0e492f57588..8778a306230 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
@@ -41,11 +41,11 @@ enum Events
class boss_wushoolay : public CreatureScript
{
- public: boss_wushoolay() : CreatureScript("boss_wushoolay") {}
+ public: boss_wushoolay() : CreatureScript("boss_wushoolay") { }
struct boss_wushoolayAI : public BossAI
{
- boss_wushoolayAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) {}
+ boss_wushoolayAI(Creature* creature) : BossAI(creature, DATA_EDGE_OF_MADNESS) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
index 797695a70f3..e9a2172040a 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
@@ -29,7 +29,7 @@ EndScriptData */
class instance_zulgurub : public InstanceMapScript
{
- public: instance_zulgurub(): InstanceMapScript(ZGScriptName, 309) {}
+ public: instance_zulgurub(): InstanceMapScript(ZGScriptName, 309) { }
struct instance_zulgurub_InstanceMapScript : public InstanceScript
{
diff --git a/src/server/scripts/EasternKingdoms/boss_kruul.cpp b/src/server/scripts/EasternKingdoms/boss_kruul.cpp
index 02fce8f3cf2..5ac197aa7db 100644
--- a/src/server/scripts/EasternKingdoms/boss_kruul.cpp
+++ b/src/server/scripts/EasternKingdoms/boss_kruul.cpp
@@ -49,7 +49,7 @@ public:
struct boss_kruulAI : public ScriptedAI
{
- boss_kruulAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_kruulAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ShadowVolley_Timer;
uint32 Cleave_Timer;
diff --git a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
index 55d3cc927a5..5c760a36e70 100644
--- a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
@@ -68,7 +68,7 @@ class npc_professor_phizzlethorpe : public CreatureScript
struct npc_professor_phizzlethorpeAI : public npc_escortAI
{
- npc_professor_phizzlethorpeAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_professor_phizzlethorpeAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp b/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
index 94f227a3de0..5a61663a0bb 100644
--- a/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
@@ -130,9 +130,9 @@ public:
struct npc_ragged_johnAI : public ScriptedAI
{
- npc_ragged_johnAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_ragged_johnAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -150,7 +150,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
index 23b9d99935b..8f7865dbf71 100644
--- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
@@ -87,7 +87,7 @@ public:
struct boss_twilight_corrupterAI : public ScriptedAI
{
- boss_twilight_corrupterAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_twilight_corrupterAI(Creature* creature) : ScriptedAI(creature) { }
uint32 SoulCorruption_Timer;
uint32 CreatureOfNightmare_Timer;
diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
index ea8f3cd056a..ed14875b36d 100644
--- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
@@ -45,9 +45,9 @@ public:
{
npc_ghoul_flayerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
{
@@ -121,7 +121,7 @@ public:
struct npc_darrowshire_spiritAI : public ScriptedAI
{
- npc_darrowshire_spiritAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_darrowshire_spiritAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -129,7 +129,7 @@ public:
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
index 5381b19ebf3..aa41ee7adbb 100644
--- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
@@ -66,7 +66,7 @@ public:
struct npc_apprentice_mirvedaAI : public ScriptedAI
{
- npc_apprentice_mirvedaAI(Creature* creature) : ScriptedAI(creature), Summons(me) {}
+ npc_apprentice_mirvedaAI(Creature* creature) : ScriptedAI(creature), Summons(me) { }
uint32 KillCount;
uint64 PlayerGUID;
@@ -81,7 +81,7 @@ public:
Summon = false;
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void JustSummoned(Creature* summoned) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
index ebbf8ef9f5b..1b181581f5e 100644
--- a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
@@ -140,7 +140,7 @@ public:
struct npc_ranger_lilathaAI : public npc_escortAI
{
- npc_ranger_lilathaAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_ranger_lilathaAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
index f68ffb66f30..ebec0170d23 100644
--- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
@@ -87,7 +87,7 @@ public:
{
npc_00x09hlAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
index 32a7feffa72..50b230b836d 100644
--- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
@@ -57,7 +57,7 @@ public:
struct npc_converted_sentryAI : public ScriptedAI
{
- npc_converted_sentryAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_converted_sentryAI(Creature* creature) : ScriptedAI(creature) { }
bool Credit;
uint32 Timer;
@@ -68,9 +68,9 @@ public:
Timer = 2500;
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -111,7 +111,7 @@ public:
struct npc_greengill_slaveAI : public ScriptedAI
{
- npc_greengill_slaveAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_greengill_slaveAI(Creature* creature) : ScriptedAI(creature) { }
void EnterCombat(Unit* /*who*/) OVERRIDE { }
diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
index 6609f8a9d46..604d51f9d8f 100644
--- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
@@ -63,7 +63,7 @@ public:
struct npc_corporal_keeshanAI : public npc_escortAI
{
- npc_corporal_keeshanAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_corporal_keeshanAI(Creature* creature) : npc_escortAI(creature) { }
uint32 uiPhase;
uint32 uiTimer;
diff --git a/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp b/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp
index b5f85d38105..36abdead399 100644
--- a/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp
@@ -56,7 +56,7 @@ public:
struct npc_blood_knight_stillbladeAI : public ScriptedAI
{
- npc_blood_knight_stillbladeAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_blood_knight_stillbladeAI(Creature* creature) : ScriptedAI(creature) { }
uint32 lifeTimer;
bool spellHit;
diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
index 8ddd609da29..48afdb6754f 100644
--- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
@@ -65,7 +65,7 @@ public:
struct npc_deathstalker_erlandAI : public npc_escortAI
{
- npc_deathstalker_erlandAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_deathstalker_erlandAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -108,7 +108,7 @@ public:
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* who) OVERRIDE
{
@@ -212,7 +212,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void JustSummoned(Creature* summoned) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
index 61c8e6aa28e..e4eca2c387f 100644
--- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
@@ -489,7 +489,7 @@ public:
struct npc_tyrion_spybotAI : public npc_escortAI
{
- npc_tyrion_spybotAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_tyrion_spybotAI(Creature* creature) : npc_escortAI(creature) { }
uint32 uiTimer;
uint32 uiPhase;
diff --git a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
index 4dc41e5551c..91bf802abf7 100644
--- a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
@@ -82,7 +82,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
index b06786caf44..7cf7b69a0bc 100644
--- a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
@@ -86,7 +86,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void AttackedBy(Unit* pAttacker) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index 33f884408e2..d205fe8cb40 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -99,7 +99,7 @@ public:
struct npc_lady_sylvanas_windrunnerAI : public ScriptedAI
{
- npc_lady_sylvanas_windrunnerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_lady_sylvanas_windrunnerAI(Creature* creature) : ScriptedAI(creature) { }
uint32 LamentEventTimer;
bool LamentEvent;
@@ -124,7 +124,7 @@ public:
MultiShotTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustSummoned(Creature* summoned) OVERRIDE
{
@@ -231,7 +231,7 @@ public:
struct npc_highborne_lamenterAI : public ScriptedAI
{
- npc_highborne_lamenterAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_highborne_lamenterAI(Creature* creature) : ScriptedAI(creature) { }
uint32 EventMoveTimer;
uint32 EventCastTimer;
@@ -246,7 +246,7 @@ public:
EventCast = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index 8937e896faf..7077e3d9a31 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -172,11 +172,11 @@ public:
struct npc_the_scourge_cauldronAI : public ScriptedAI
{
- npc_the_scourge_cauldronAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_the_scourge_cauldronAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DoDie()
{
@@ -393,7 +393,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/EasternKingdoms/zone_westfall.cpp b/src/server/scripts/EasternKingdoms/zone_westfall.cpp
index 0ded937d5a8..3869ee5bbb5 100644
--- a/src/server/scripts/EasternKingdoms/zone_westfall.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_westfall.cpp
@@ -84,7 +84,7 @@ public:
struct npc_daphne_stilwellAI : public npc_escortAI
{
- npc_daphne_stilwellAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_daphne_stilwellAI(Creature* creature) : npc_escortAI(creature) { }
uint32 uiWPHolder;
uint32 uiShootTimer;
@@ -269,7 +269,7 @@ public:
Talk(SAY_AGGRO, who->GetGUID());
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
};
};
diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp
index ca9d4cbc49e..75c5ef797e1 100644
--- a/src/server/scripts/Events/childrens_week.cpp
+++ b/src/server/scripts/Events/childrens_week.cpp
@@ -146,11 +146,11 @@ uint64 getOrphanGUID(Player* player, uint32 orphan)
class npc_winterfin_playmate : public CreatureScript
{
public:
- npc_winterfin_playmate() : CreatureScript("npc_winterfin_playmate") {}
+ npc_winterfin_playmate() : CreatureScript("npc_winterfin_playmate") { }
struct npc_winterfin_playmateAI : public ScriptedAI
{
- npc_winterfin_playmateAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_winterfin_playmateAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
{
@@ -245,11 +245,11 @@ class npc_winterfin_playmate : public CreatureScript
class npc_snowfall_glade_playmate : public CreatureScript
{
public:
- npc_snowfall_glade_playmate() : CreatureScript("npc_snowfall_glade_playmate") {}
+ npc_snowfall_glade_playmate() : CreatureScript("npc_snowfall_glade_playmate") { }
struct npc_snowfall_glade_playmateAI : public ScriptedAI
{
- npc_snowfall_glade_playmateAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_snowfall_glade_playmateAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
{
@@ -343,7 +343,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
class npc_the_biggest_tree : public CreatureScript
{
public:
- npc_the_biggest_tree() : CreatureScript("npc_the_biggest_tree") {}
+ npc_the_biggest_tree() : CreatureScript("npc_the_biggest_tree") { }
struct npc_the_biggest_treeAI : public ScriptedAI
{
@@ -433,11 +433,11 @@ class npc_the_biggest_tree : public CreatureScript
class npc_high_oracle_soo_roo : public CreatureScript
{
public:
- npc_high_oracle_soo_roo() : CreatureScript("npc_high_oracle_soo_roo") {}
+ npc_high_oracle_soo_roo() : CreatureScript("npc_high_oracle_soo_roo") { }
struct npc_high_oracle_soo_rooAI : public ScriptedAI
{
- npc_high_oracle_soo_rooAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_high_oracle_soo_rooAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
{
@@ -522,11 +522,11 @@ class npc_high_oracle_soo_roo : public CreatureScript
class npc_elder_kekek : public CreatureScript
{
public:
- npc_elder_kekek() : CreatureScript("npc_elder_kekek") {}
+ npc_elder_kekek() : CreatureScript("npc_elder_kekek") { }
struct npc_elder_kekekAI : public ScriptedAI
{
- npc_elder_kekekAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_elder_kekekAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
{
@@ -611,11 +611,11 @@ class npc_elder_kekek : public CreatureScript
class npc_the_etymidian : public CreatureScript
{
public:
- npc_the_etymidian() : CreatureScript("npc_the_etymidian") {}
+ npc_the_etymidian() : CreatureScript("npc_the_etymidian") { }
struct npc_the_etymidianAI : public ScriptedAI
{
- npc_the_etymidianAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_the_etymidianAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
{
@@ -707,11 +707,11 @@ class npc_the_etymidian : public CreatureScript
class npc_alexstraza_the_lifebinder : public CreatureScript
{
public:
- npc_alexstraza_the_lifebinder() : CreatureScript("npc_alexstraza_the_lifebinder") {}
+ npc_alexstraza_the_lifebinder() : CreatureScript("npc_alexstraza_the_lifebinder") { }
struct npc_alexstraza_the_lifebinderAI : public ScriptedAI
{
- npc_alexstraza_the_lifebinderAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_alexstraza_the_lifebinderAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
{
@@ -924,7 +924,7 @@ class at_bring_your_orphan_to : public AreaTriggerScript
class npc_cw_area_trigger : public CreatureScript
{
public:
- npc_cw_area_trigger() : CreatureScript("npc_cw_area_trigger") {}
+ npc_cw_area_trigger() : CreatureScript("npc_cw_area_trigger") { }
struct npc_cw_area_triggerAI : public ScriptedAI
{
@@ -1021,7 +1021,7 @@ class npc_cw_area_trigger : public CreatureScript
class npc_grizzlemaw_cw_trigger : public CreatureScript
{
public:
- npc_grizzlemaw_cw_trigger() : CreatureScript("npc_grizzlemaw_cw_trigger") {}
+ npc_grizzlemaw_cw_trigger() : CreatureScript("npc_grizzlemaw_cw_trigger") { }
struct npc_grizzlemaw_cw_triggerAI : public ScriptedAI
{
diff --git a/src/server/scripts/Examples/example_creature.cpp b/src/server/scripts/Examples/example_creature.cpp
index 92c248c1fc9..b13ec1e1503 100644
--- a/src/server/scripts/Examples/example_creature.cpp
+++ b/src/server/scripts/Examples/example_creature.cpp
@@ -94,7 +94,7 @@ class example_creature : public CreatureScript
{
// *** HANDLED FUNCTION ***
//This is the constructor, called only once when the Creature is first created
- example_creatureAI(Creature* creature) : ScriptedAI(creature) {}
+ example_creatureAI(Creature* creature) : ScriptedAI(creature) { }
// *** CUSTOM VARIABLES ****
//These variables are for use only by this individual script.
diff --git a/src/server/scripts/Examples/example_spell.cpp b/src/server/scripts/Examples/example_spell.cpp
index 8e22c4b66c8..4652eef3faa 100644
--- a/src/server/scripts/Examples/example_spell.cpp
+++ b/src/server/scripts/Examples/example_spell.cpp
@@ -442,7 +442,7 @@ class spell_ex : public SpellScriptLoader
//bool Validate(SpellInfo const* spellEntry){return true;} OVERRIDE
//bool Load(){return true;}
- //void Unload(){}
+ //void Unload(){ }
//void Function(SpellEffIndex effIndex) //OnEffect += SpellEffectFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_EFFECT_ANY);
//void Function() //OnHit += SpellEffectFn(spell_ex_SpellScript::Function);
@@ -469,7 +469,7 @@ class spell_ex : public SpellScriptLoader
PrepareAuraScript(spell_ex)
//bool Validate(SpellInfo const* spellEntry){return true;} OVERRIDE
//bool Load(){return true;}
- //void Unload(){}
+ //void Unload(){ }
//void spell_ex_SpellScript::Function(AuraEffect const* aurEff, AuraEffectHandleModes mode) //OnEffectApply += AuraEffectApplyFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_AURA_ANY, AURA_EFFECT_HANDLE_REAL);
//void spell_ex_SpellScript::Function(AuraEffect const* aurEff, AuraEffectHandleModes mode) //OnEffectRemove += AuraEffectRemoveFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_AURA_ANY, AURA_EFFECT_HANDLE_REAL);
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 6aa12e8ce77..b1d3dba105e 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -64,7 +64,7 @@ public:
struct instance_blackfathom_deeps_InstanceMapScript : public InstanceScript
{
- instance_blackfathom_deeps_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_blackfathom_deeps_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 twilightLordKelrisGUID;
uint64 shrine1GUID;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index 3623ad88a0a..41cc1d0241d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -108,7 +108,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
{
@@ -146,13 +146,13 @@ public:
struct npc_doomfireAI : public ScriptedAI
{
- npc_doomfireAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_doomfireAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
{
@@ -175,7 +175,7 @@ public:
struct npc_doomfire_targettingAI : public ScriptedAI
{
- npc_doomfire_targettingAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_doomfire_targettingAI(Creature* creature) : ScriptedAI(creature) { }
uint64 TargetGUID;
uint32 ChangeTargetTimer;
@@ -195,7 +195,7 @@ public:
TargetGUID = who->GetGUID();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
{
@@ -638,7 +638,7 @@ public:
DoMeleeAttackIfReady();
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE {}
+ void WaypointReached(uint32 /*waypointId*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 24d0422e06e..43d75fad876 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -443,7 +443,7 @@ public:
imol = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -594,7 +594,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -697,7 +697,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -820,7 +820,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -918,7 +918,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -1017,7 +1017,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -1107,7 +1107,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -1206,7 +1206,7 @@ public:
me->SetPosition(x, y, z, 0);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index 5f425f780cb..6bfd04a7614 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -54,7 +54,7 @@ public:
struct instance_mount_hyjal_InstanceMapScript : public InstanceScript
{
- instance_mount_hyjal_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_mount_hyjal_InstanceMapScript(Map* map) : InstanceScript(map) { }
void Initialize() OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
index 681ed8e447f..c623ff40a10 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
@@ -114,7 +114,7 @@ public:
struct boss_lieutenant_drakeAI : public ScriptedAI
{
- boss_lieutenant_drakeAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_lieutenant_drakeAI(Creature* creature) : ScriptedAI(creature) { }
bool CanPatrol;
uint32 wpId;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
index 0cb9c1e454d..e9edbb46537 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
@@ -52,7 +52,7 @@ public:
struct instance_old_hillsbrad_InstanceMapScript : public InstanceScript
{
- instance_old_hillsbrad_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_old_hillsbrad_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
uint32 mBarrelCount;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index ffa0eea14f6..46978366224 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -639,8 +639,8 @@ public:
}
}
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
index 0d67426d039..c929a1b6a55 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
@@ -59,7 +59,7 @@ public:
{
boss_aeonusAI(Creature* creature) : BossAI(creature, TYPE_AEONUS) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
index a181c0fe43e..fe91f3ab712 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
@@ -60,7 +60,7 @@ public:
{
boss_chrono_lord_dejaAI(Creature* creature) : BossAI(creature, TYPE_CRONO_LORD_DEJA) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
index 4bd06546a88..4d94edf7339 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
@@ -59,7 +59,7 @@ public:
{
boss_temporusAI(Creature* creature) : BossAI(creature, TYPE_TEMPORUS) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
index d8dfa2f5cf6..19024172aa0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
@@ -196,7 +196,7 @@ public:
TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance The Black Morass: Starting event.");
InitWorldState();
m_auiEncounter[1] = IN_PROGRESS;
- Events.ScheduleEvent(EVENT_NEXT_PORTAL, 15000);
+ ScheduleEventNextPortal(15000);
}
if (data == DONE)
@@ -228,7 +228,7 @@ public:
if (data == SPECIAL)
{
if (mRiftPortalCount < 7)
- Events.ScheduleEvent(EVENT_NEXT_PORTAL, 5000);
+ ScheduleEventNextPortal(5000);
}
else
m_auiEncounter[1] = data;
@@ -336,10 +336,16 @@ public:
++mRiftPortalCount;
DoUpdateWorldState(WORLD_STATE_BM_RIFT, mRiftPortalCount);
DoSpawnPortal();
- Events.ScheduleEvent(EVENT_NEXT_PORTAL, RiftWaves[GetRiftWaveId()].NextPortalTime);
+ ScheduleEventNextPortal(RiftWaves[GetRiftWaveId()].NextPortalTime);
}
}
+ void ScheduleEventNextPortal(uint32 nextPortalTime)
+ {
+ if (nextPortalTime > 0)
+ Events.RescheduleEvent(EVENT_NEXT_PORTAL, nextPortalTime);
+ }
+
protected:
EventMap Events;
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
index 70c569a3259..8cdf5f246d0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
@@ -151,7 +151,7 @@ public:
//ScriptedAI::AttackStart(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
{
@@ -303,7 +303,7 @@ public:
else mWaveId = 1;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DoSummonAtRift(uint32 creature_entry)
{
diff --git a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp
index a478d7aea25..e28e65b6911 100644
--- a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp
+++ b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp
@@ -37,7 +37,7 @@ public:
struct instance_dire_maul_InstanceMapScript : public InstanceScript
{
- instance_dire_maul_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_dire_maul_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
index b8c1b4746b2..2a00565e4bd 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
@@ -45,7 +45,7 @@ public:
struct celebras_the_cursedAI : public ScriptedAI
{
- celebras_the_cursedAI(Creature* creature) : ScriptedAI(creature) {}
+ celebras_the_cursedAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WrathTimer;
uint32 EntanglingRootsTimer;
@@ -58,7 +58,7 @@ public:
CorruptForcesTimer = 30000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
index 3cf6e3fab33..723070fd18d 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
@@ -45,7 +45,7 @@ public:
struct boss_landslideAI : public ScriptedAI
{
- boss_landslideAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_landslideAI(Creature* creature) : ScriptedAI(creature) { }
uint32 KnockAwayTimer;
uint32 TrampleTimer;
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
index d512478a229..6478c6eae75 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
@@ -44,7 +44,7 @@ public:
struct boss_noxxionAI : public ScriptedAI
{
- boss_noxxionAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_noxxionAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ToxicVolleyTimer;
uint32 UppercutTimer;
@@ -61,7 +61,7 @@ public:
Invisible = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SummonAdds(Unit* victim)
{
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
index 7098d0da3fb..654ef986a17 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
@@ -47,7 +47,7 @@ public:
struct boss_ptheradrasAI : public ScriptedAI
{
- boss_ptheradrasAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_ptheradrasAI(Creature* creature) : ScriptedAI(creature) { }
uint32 DustfieldTimer;
uint32 BoulderTimer;
@@ -62,7 +62,7 @@ public:
RepulsiveGazeTimer = 23000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp b/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
index a44f4078a9b..53b04c9b4e7 100644
--- a/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
@@ -37,7 +37,7 @@ public:
struct instance_maraudon_InstanceMapScript : public InstanceScript
{
- instance_maraudon_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_maraudon_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
index aaf6b059c3a..fcb6a484a9b 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
@@ -43,7 +43,7 @@ public:
struct instance_onyxias_lair_InstanceMapScript : public InstanceScript
{
- instance_onyxias_lair_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_onyxias_lair_InstanceMapScript(Map* map) : InstanceScript(map) { }
//Eruption is a BFS graph problem
//One map to remember all floor, one map to keep floor that still need to erupt and one queue to know what needs to be removed
diff --git a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
index 6b13fecb26a..2205845e6f8 100644
--- a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
+++ b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
@@ -37,7 +37,7 @@ public:
struct instance_ragefire_chasm_InstanceMapScript : public InstanceScript
{
- instance_ragefire_chasm_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_ragefire_chasm_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
index 15b1fa51548..4a4d7fe4b07 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -52,7 +52,7 @@ public:
struct boss_amnennar_the_coldbringerAI : public ScriptedAI
{
- boss_amnennar_the_coldbringerAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_amnennar_the_coldbringerAI(Creature* creature) : ScriptedAI(creature) { }
uint32 AmnenarsWrath_Timer;
uint32 FrostBolt_Timer;
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
index b40429af794..4bf2ed9d8bf 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
@@ -42,7 +42,7 @@ public:
struct instance_razorfen_kraul_InstanceMapScript : public InstanceScript
{
- instance_razorfen_kraul_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_razorfen_kraul_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 DoorWardGUID;
int WardKeeperDeath;
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
index 13ce8e8c964..ee8618eacc9 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
@@ -66,7 +66,7 @@ public:
struct npc_willixAI : public npc_escortAI
{
- npc_willixAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_willixAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -118,7 +118,7 @@ public:
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
@@ -149,7 +149,7 @@ enum SnufflenoseGopher
struct DistanceOrder : public std::binary_function<GameObject, GameObject, bool>
{
- DistanceOrder(Creature* me) : me(me) {}
+ DistanceOrder(Creature* me) : me(me) { }
bool operator() (GameObject* first, GameObject* second)
{
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
index 52ef2a5430b..0cf56df50e3 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
@@ -22,7 +22,7 @@
class instance_ruins_of_ahnqiraj : public InstanceMapScript
{
public:
- instance_ruins_of_ahnqiraj() : InstanceMapScript("instance_ruins_of_ahnqiraj", 509) {}
+ instance_ruins_of_ahnqiraj() : InstanceMapScript("instance_ruins_of_ahnqiraj", 509) { }
struct instance_ruins_of_ahnqiraj_InstanceMapScript : public InstanceScript
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
index 59c7565d060..bc6f03517b8 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
@@ -53,7 +53,7 @@ public:
struct boss_fankrissAI : public ScriptedAI
{
- boss_fankrissAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_fankrissAI(Creature* creature) : ScriptedAI(creature) { }
uint32 MortalWound_Timer;
uint32 SpawnHatchlings_Timer;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
index 54da5a30802..2104d7f5837 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
@@ -51,7 +51,7 @@ public:
struct boss_huhuranAI : public ScriptedAI
{
- boss_huhuranAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_huhuranAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Frenzy_Timer;
uint32 Wyvern_Timer;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
index 36dd93076e7..33c3f29b94e 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
@@ -48,7 +48,7 @@ public:
struct boss_ouroAI : public ScriptedAI
{
- boss_ouroAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_ouroAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Sweep_Timer;
uint32 SandBlast_Timer;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
index a12da4fabd1..a3edd9ad83d 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
@@ -53,7 +53,7 @@ public:
struct boss_sarturaAI : public ScriptedAI
{
- boss_sarturaAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_sarturaAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WhirlWind_Timer;
uint32 WhirlWindRandom_Timer;
@@ -196,7 +196,7 @@ public:
struct npc_sartura_royal_guardAI : public ScriptedAI
{
- npc_sartura_royal_guardAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_sartura_royal_guardAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WhirlWind_Timer;
uint32 WhirlWindRandom_Timer;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index e9cf887f22b..1d888f3ce8b 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -400,7 +400,7 @@ public:
struct boss_veknilashAI : public boss_twinemperorsAI
{
bool IAmVeklor() {return false;}
- boss_veknilashAI(Creature* creature) : boss_twinemperorsAI(creature) {}
+ boss_veknilashAI(Creature* creature) : boss_twinemperorsAI(creature) { }
uint32 UpperCut_Timer;
uint32 UnbalancingStrike_Timer;
@@ -486,7 +486,7 @@ public:
struct boss_veklorAI : public boss_twinemperorsAI
{
bool IAmVeklor() {return true;}
- boss_veklorAI(Creature* creature) : boss_twinemperorsAI(creature) {}
+ boss_veklorAI(Creature* creature) : boss_twinemperorsAI(creature) { }
uint32 ShadowBolt_Timer;
uint32 Blizzard_Timer;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
index 54845c6b746..0a5733f1c7f 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
@@ -39,7 +39,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
struct instance_temple_of_ahnqiraj_InstanceMapScript : public InstanceScript
{
- instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map) { }
//If Vem is dead...
bool IsBossDied[3];
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
index 5c4fb7bbaba..522345c4fd4 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
@@ -41,7 +41,7 @@ public:
struct instance_wailing_caverns_InstanceMapScript : public InstanceScript
{
- instance_wailing_caverns_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_wailing_caverns_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index 8e2d393e6a6..8cb1cfebd15 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -108,7 +108,7 @@ public:
struct instance_zulfarrak_InstanceMapScript : public InstanceScript
{
- instance_zulfarrak_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_zulfarrak_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 GahzRillaEncounter;
uint64 ZumrahGUID;
diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp
index 56d380b7b46..e433884c24a 100644
--- a/src/server/scripts/Kalimdor/boss_azuregos.cpp
+++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp
@@ -54,7 +54,7 @@ public:
struct boss_azuregosAI : public ScriptedAI
{
- boss_azuregosAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_azuregosAI(Creature* creature) : ScriptedAI(creature) { }
uint32 MarkOfFrostTimer;
uint32 ManaStormTimer;
@@ -79,7 +79,7 @@ public:
Enraged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index bd4c2f893c5..dbcf054f8f4 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -72,7 +72,7 @@ class npc_torek : public CreatureScript
struct npc_torekAI : public npc_escortAI
{
- npc_torekAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_torekAI(Creature* creature) : npc_escortAI(creature) { }
uint32 Rend_Timer;
uint32 Thunderclap_Timer;
@@ -229,7 +229,7 @@ class npc_ruul_snowhoof : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp
index f48bd1f9339..58829abc940 100644
--- a/src/server/scripts/Kalimdor/zone_azshara.cpp
+++ b/src/server/scripts/Kalimdor/zone_azshara.cpp
@@ -52,7 +52,7 @@ public:
struct npc_spitelashesAI : public ScriptedAI
{
- npc_spitelashesAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_spitelashesAI(Creature* creature) : ScriptedAI(creature) { }
uint32 morphtimer;
bool spellhit;
@@ -63,7 +63,7 @@ public:
spellhit = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SpellHit(Unit* unit, const SpellInfo* spell) OVERRIDE
{
@@ -309,7 +309,7 @@ public:
struct npc_rizzle_sprysprocketAI : public ScriptedAI
{
- npc_rizzle_sprysprocketAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_rizzle_sprysprocketAI(Creature* creature) : ScriptedAI(creature) { }
uint32 SpellEscapeTimer;
uint32 TeleportTimer;
@@ -443,7 +443,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
@@ -477,7 +477,7 @@ public:
struct npc_depth_chargeAI : public ScriptedAI
{
- npc_depth_chargeAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_depth_chargeAI(Creature* creature) : ScriptedAI(creature) { }
bool WeMustDie;
uint32 WeMustDieTimer;
@@ -517,9 +517,9 @@ public:
}
}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index e0d181646e1..a6504955f30 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -68,7 +68,7 @@ public:
struct npc_draenei_survivorAI : public ScriptedAI
{
- npc_draenei_survivorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_draenei_survivorAI(Creature* creature) : ScriptedAI(creature) { }
uint64 pCaster;
@@ -96,7 +96,7 @@ public:
me->SetStandState(UNIT_STAND_STATE_SLEEP);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -301,7 +301,7 @@ public:
struct npc_injured_draeneiAI : public ScriptedAI
{
- npc_injured_draeneiAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_injured_draeneiAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -319,12 +319,12 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
};
@@ -368,7 +368,7 @@ public:
struct npc_magwinAI : public npc_escortAI
{
- npc_magwinAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_magwinAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -399,7 +399,7 @@ public:
Talk(SAY_AGGRO, who->GetGUID());
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
};
};
@@ -442,7 +442,7 @@ public:
struct npc_geezleAI : public ScriptedAI
{
- npc_geezleAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_geezleAI(Creature* creature) : ScriptedAI(creature) { }
uint64 SparkGUID;
@@ -458,7 +458,7 @@ public:
StartEvent();
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void StartEvent()
{
@@ -615,7 +615,7 @@ public:
struct npc_death_ravagerAI : public ScriptedAI
{
- npc_death_ravagerAI(Creature* creature) : ScriptedAI(creature){}
+ npc_death_ravagerAI(Creature* creature) : ScriptedAI(creature){ }
uint32 RendTimer;
uint32 EnragingBiteTimer;
@@ -677,7 +677,7 @@ class npc_stillpine_capitive : public CreatureScript
struct npc_stillpine_capitiveAI : public ScriptedAI
{
- npc_stillpine_capitiveAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_stillpine_capitiveAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
index 8ee1de1c8d5..694d63d5295 100644
--- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
@@ -52,11 +52,11 @@ public:
struct npc_webbed_creatureAI : public ScriptedAI
{
- npc_webbed_creatureAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_webbed_creatureAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
{
@@ -185,7 +185,7 @@ public:
struct npc_princess_stillpineAI : public ScriptedAI
{
- npc_princess_stillpineAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_princess_stillpineAI(Creature* creature) : ScriptedAI(creature) { }
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp
index 5350693471b..99a693a0eb6 100644
--- a/src/server/scripts/Kalimdor/zone_darkshore.cpp
+++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp
@@ -223,7 +223,7 @@ public:
struct npc_prospector_remtravelAI : public npc_escortAI
{
- npc_prospector_remtravelAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_prospector_remtravelAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -286,7 +286,7 @@ public:
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* who) OVERRIDE
{
@@ -358,7 +358,7 @@ public:
{
npc_threshwackonatorAI(Creature* creature) : FollowerAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp
index 05496c0fcda..b748db4592c 100644
--- a/src/server/scripts/Kalimdor/zone_desolace.cpp
+++ b/src/server/scripts/Kalimdor/zone_desolace.cpp
@@ -75,7 +75,7 @@ public:
struct npc_aged_dying_ancient_kodoAI : public ScriptedAI
{
- npc_aged_dying_ancient_kodoAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_aged_dying_ancient_kodoAI(Creature* creature) : ScriptedAI(creature) { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -195,9 +195,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index 1eec2c826ea..ff96d5e8465 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -51,7 +51,7 @@ public:
struct npc_lazy_peonAI : public ScriptedAI
{
- npc_lazy_peonAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_lazy_peonAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
@@ -230,7 +230,7 @@ class npc_tiger_matriarch_credit : public CreatureScript
class npc_tiger_matriarch : public CreatureScript
{
public:
- npc_tiger_matriarch() : CreatureScript("npc_tiger_matriarch") {}
+ npc_tiger_matriarch() : CreatureScript("npc_tiger_matriarch") { }
struct npc_tiger_matriarchAI : public ScriptedAI
{
@@ -443,7 +443,7 @@ typedef npc_troll_volunteer::npc_troll_volunteerAI VolunteerAI;
class spell_mount_check : public SpellScriptLoader
{
public:
- spell_mount_check() : SpellScriptLoader("spell_mount_check") {}
+ spell_mount_check() : SpellScriptLoader("spell_mount_check") { }
class spell_mount_check_AuraScript : public AuraScript
{
@@ -491,7 +491,7 @@ class spell_mount_check : public SpellScriptLoader
class spell_voljin_war_drums : public SpellScriptLoader
{
public:
- spell_voljin_war_drums() : SpellScriptLoader("spell_voljin_war_drums") {}
+ spell_voljin_war_drums() : SpellScriptLoader("spell_voljin_war_drums") { }
class spell_voljin_war_drums_SpellScript : public SpellScript
{
@@ -548,7 +548,7 @@ enum VoodooSpells
class spell_voodoo : public SpellScriptLoader
{
public:
- spell_voodoo() : SpellScriptLoader("spell_voodoo") {}
+ spell_voodoo() : SpellScriptLoader("spell_voodoo") { }
class spell_voodoo_SpellScript : public SpellScript
{
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 33cce095abf..9ad9b8dc835 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -568,7 +568,7 @@ public:
Talk(SAY_ATTACKED_1, who->GetGUID());
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp
index 509adb566cd..7fb423f53ee 100644
--- a/src/server/scripts/Kalimdor/zone_moonglade.cpp
+++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp
@@ -667,7 +667,7 @@ public:
struct npc_giant_spotlightAI : public ScriptedAI
{
- npc_giant_spotlightAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_giant_spotlightAI(Creature* creature) : ScriptedAI(creature) { }
EventMap events;
diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp
index 6b42b971531..e043f5e5db3 100644
--- a/src/server/scripts/Kalimdor/zone_mulgore.cpp
+++ b/src/server/scripts/Kalimdor/zone_mulgore.cpp
@@ -98,7 +98,7 @@ public:
struct npc_kyle_frenziedAI : public ScriptedAI
{
- npc_kyle_frenziedAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_kyle_frenziedAI(Creature* creature) : ScriptedAI(creature) { }
bool EventActive;
bool IsMovingToLunch;
@@ -271,7 +271,7 @@ public:
struct npc_plains_visionAI : public ScriptedAI
{
- npc_plains_visionAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_plains_visionAI(Creature* creature) : ScriptedAI(creature) { }
bool newWaypoint;
uint8 WayPointId;
@@ -284,7 +284,7 @@ public:
amountWP = 49;
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
index 7928ab10978..f1887b9f55a 100644
--- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
+++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
@@ -64,7 +64,7 @@ public:
struct npc_shenthulAI : public ScriptedAI
{
- npc_shenthulAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_shenthulAI(Creature* creature) : ScriptedAI(creature) { }
bool CanTalk;
bool CanEmote;
@@ -81,7 +81,7 @@ public:
PlayerGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -211,7 +211,7 @@ public:
struct npc_thrall_warchiefAI : public ScriptedAI
{
- npc_thrall_warchiefAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_thrall_warchiefAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ChainLightningTimer;
uint32 ShockTimer;
@@ -222,7 +222,7 @@ public:
ShockTimer = 8000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index fd8a1069ff7..7e580a29d3b 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -496,7 +496,7 @@ public:
struct npc_anachronos_the_ancientAI : public ScriptedAI
{
- npc_anachronos_the_ancientAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_anachronos_the_ancientAI(Creature* creature) : ScriptedAI(creature) { }
uint32 AnimationTimer;
uint8 AnimationCount;
@@ -824,7 +824,7 @@ public:
struct npc_qiraj_war_spawnAI : public ScriptedAI
{
- npc_qiraj_war_spawnAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_qiraj_war_spawnAI(Creature* creature) : ScriptedAI(creature) { }
uint64 MobGUID;
uint64 PlayerGUID;
@@ -840,7 +840,7 @@ public:
hasTarget = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*slayer*/) OVERRIDE;
void UpdateAI(uint32 diff) OVERRIDE
@@ -937,7 +937,7 @@ public:
struct npc_anachronos_quest_triggerAI : public ScriptedAI
{
- npc_anachronos_quest_triggerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_anachronos_quest_triggerAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
@@ -1014,7 +1014,7 @@ public:
uint8 DeadMemberCount = 0;
uint8 FailedMemberCount = 0;
- Group::MemberSlotList const members = EventGroup->GetMemberSlots();
+ Group::MemberSlotList const& members = EventGroup->GetMemberSlots();
for (Group::member_citerator itr = members.begin(); itr!= members.end(); ++itr)
{
diff --git a/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp b/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
index 058cd19e3b4..24390bbaaa5 100644
--- a/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
+++ b/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
@@ -115,7 +115,7 @@ public:
struct npc_kaya_flathoofAI : public npc_escortAI
{
- npc_kaya_flathoofAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_kaya_flathoofAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -144,7 +144,7 @@ public:
summoned->AI()->AttackStart(me);
}
- void Reset()OVERRIDE {}
+ void Reset()OVERRIDE { }
};
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index 0b12e6bf48c..84fe734eb09 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -65,7 +65,7 @@ public:
struct npc_aquementasAI : public ScriptedAI
{
- npc_aquementasAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_aquementasAI(Creature* creature) : ScriptedAI(creature) { }
uint32 SendItemTimer;
uint32 SwitchFactionTimer;
@@ -182,7 +182,7 @@ public:
struct npc_custodian_of_timeAI : public npc_escortAI
{
- npc_custodian_of_timeAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_custodian_of_timeAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -270,8 +270,8 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void Reset() OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -470,7 +470,7 @@ public:
struct npc_OOX17AI : public npc_escortAI
{
- npc_OOX17AI(Creature* creature) : npc_escortAI(creature) {}
+ npc_OOX17AI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -500,7 +500,7 @@ public:
}
}
- void Reset()OVERRIDE {}
+ void Reset()OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_teldrassil.cpp b/src/server/scripts/Kalimdor/zone_teldrassil.cpp
index 8cf08953fc2..14f8f2a9dac 100644
--- a/src/server/scripts/Kalimdor/zone_teldrassil.cpp
+++ b/src/server/scripts/Kalimdor/zone_teldrassil.cpp
@@ -68,7 +68,7 @@ public:
{
npc_mistAI(Creature* creature) : FollowerAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index 122ce84091b..292017d2cc4 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -126,7 +126,7 @@ public:
{
npc_giltharesAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -240,7 +240,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -314,7 +314,7 @@ public:
struct npc_twiggy_flatheadAI : public ScriptedAI
{
- npc_twiggy_flatheadAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_twiggy_flatheadAI(Creature* creature) : ScriptedAI(creature) { }
bool EventInProgress;
bool EventGrate;
@@ -345,7 +345,7 @@ public:
BigWill = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -362,7 +362,7 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE {}
+ void KilledUnit(Unit* /*victim*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
index 9afa825972f..1ba9bf2cb54 100644
--- a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
+++ b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
@@ -75,7 +75,7 @@ public:
{
npc_kanatiAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -164,7 +164,7 @@ public:
{
npc_lakota_windsongAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -247,7 +247,7 @@ public:
{
npc_paoka_swiftmountainAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -433,7 +433,7 @@ public:
struct npc_enraged_pantherAI : public ScriptedAI
{
- npc_enraged_pantherAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_enraged_pantherAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
index 7dda6ab027f..fee15608884 100644
--- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
+++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
@@ -79,7 +79,7 @@ public:
struct npc_cairne_bloodhoofAI : public ScriptedAI
{
- npc_cairne_bloodhoofAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_cairne_bloodhoofAI(Creature* creature) : ScriptedAI(creature) { }
uint32 BerserkerChargeTimer;
uint32 CleaveTimer;
@@ -96,7 +96,7 @@ public:
UppercutTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
index 3dc77e0cf04..5f19e838c8a 100644
--- a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
+++ b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
@@ -77,7 +77,7 @@ public:
struct npc_ameAI : public npc_escortAI
{
- npc_ameAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_ameAI(Creature* creature) : npc_escortAI(creature) { }
uint32 DemoralizingShoutTimer;
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index 92d15322f4c..18df584e64a 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -159,7 +159,7 @@ public:
_dialogueArray(dialogueArray),
_currentEntry(NULL),
_actionTimer(0)
- {}
+ { }
// The array MUST be terminated by {0, 0, 0, 0, 0}
/// Function to initialize the dialogue helper for instances. If not used with instances, GetSpeakerByEntry MUST be overwritten to obtain the speakers
@@ -199,7 +199,7 @@ public:
protected:
/// Will be called when a dialogue step was done
- virtual void JustDidDialogueStep(int32 /*entry*/) {}
+ virtual void JustDidDialogueStep(int32 /*entry*/) { }
/// Will be called to get a speaker, MUST be implemented if not used in instances
virtual Creature* GetSpeakerByEntry(int32 /*entry*/) { return NULL; }
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
index 7132ba825f1..977aa97a974 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
@@ -165,7 +165,7 @@ public:
struct npc_amanitar_mushroomsAI : public ScriptedAI
{
- npc_amanitar_mushroomsAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_amanitar_mushroomsAI(Creature* creature) : ScriptedAI(creature) { }
EventMap events;
@@ -189,8 +189,8 @@ public:
DoCast(me, SPELL_HEALTHY_MUSHROOM_POTENT_FUNGUS, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*victim*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*victim*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
index c549de9dda1..a670e14338e 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -235,12 +235,12 @@ public:
creature->UpdateAllStats();
}
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*victim*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*victim*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
@@ -291,7 +291,7 @@ public:
class achievement_respect_your_elders : public AchievementCriteriaScript
{
public:
- achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders") {}
+ achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders") { }
bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
index 78513fec486..a68a122bc31 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -541,10 +541,10 @@ public:
bool bCasted;
bool bCasted2;
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*victim*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*victim*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 /*diff*/) OVERRIDE
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
index 2f01cc734e6..e0098570923 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -17,6 +17,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "Player.h"
#include "ahnkahet.h"
enum Spells
@@ -29,11 +30,9 @@ enum Spells
SPELL_FLAME_SPHERE_SPAWN_EFFECT = 55891,
SPELL_FLAME_SPHERE_VISUAL = 55928,
SPELL_FLAME_SPHERE_PERIODIC = 55926,
- H_SPELL_FLAME_SPHERE_PERIODIC = 59508,
SPELL_FLAME_SPHERE_DEATH_EFFECT = 55947,
SPELL_BEAM_VISUAL = 60342,
SPELL_EMBRACE_OF_THE_VAMPYR = 55959,
- H_SPELL_EMBRACE_OF_THE_VAMPYR = 59513,
SPELL_VANISH = 55964,
CREATURE_FLAME_SPHERE = 30106,
H_CREATURE_FLAME_SPHERE_1 = 31686,
@@ -48,8 +47,8 @@ enum Misc
DATA_SPHERE_DISTANCE = 15
};
-#define DATA_SPHERE_ANGLE_OFFSET 0.7f
-#define DATA_GROUND_POSITION_Z 11.30809f
+#define DATA_SPHERE_ANGLE_OFFSET 0.7f
+#define DATA_GROUND_POSITION_Z 11.30809f
enum Yells
{
@@ -61,315 +60,299 @@ enum Yells
SAY_FEED = 5,
SAY_VANISH = 6
};
-enum CombatPhase
+
+enum Events
+{
+ EVENT_CASTING_FLAME_SPHERES = 1,
+ EVENT_JUST_VANISHED,
+ EVENT_VANISHED,
+ EVENT_FEEDING,
+
+ EVENT_BLOODTHIRST,
+ EVENT_FLAME_SPHERE,
+ EVENT_VANISH
+};
+
+enum Phase
{
- NORMAL,
- CASTING_FLAME_SPHERES,
- JUST_VANISHED,
- VANISHED,
- FEEDING
+ PHASE_NORMAL = 1,
+ PHASE_SPECIAL = 2
};
class boss_taldaram : public CreatureScript
{
-public:
- boss_taldaram() : CreatureScript("boss_taldaram") { }
+ public:
+ boss_taldaram() : CreatureScript("boss_taldaram") { }
- struct boss_taldaramAI : public ScriptedAI
- {
- boss_taldaramAI(Creature* creature) : ScriptedAI(creature)
+ struct boss_taldaramAI : public BossAI
{
- instance = creature->GetInstanceScript();
- me->SetDisableGravity(true);
- }
-
- uint32 uiBloodthirstTimer;
- uint32 uiVanishTimer;
- uint32 uiWaitTimer;
- uint32 uiEmbraceTimer;
- uint32 uiEmbraceTakenDamage;
- uint32 uiFlamesphereTimer;
- uint32 uiPhaseTimer;
+ boss_taldaramAI(Creature* creature) : BossAI(creature, DATA_PRINCE_TALDARAM)
+ {
+ me->SetDisableGravity(true);
+ }
- uint64 uiEmbraceTarget;
+ void Reset() OVERRIDE
+ {
+ _Reset();
+ _embraceTargetGUID = 0;
+ _embraceTakenDamage = 0;
+ }
- CombatPhase Phase;
+ void EnterCombat(Unit* /*who*/) OVERRIDE
+ {
+ _EnterCombat();
+ Talk(SAY_AGGRO);
+ events.SetPhase(PHASE_NORMAL);
+ events.ScheduleEvent(EVENT_BLOODTHIRST, 10000);
+ events.ScheduleEvent(EVENT_VANISH, urand(25000, 35000));
+ events.ScheduleEvent(EVENT_FLAME_SPHERE, 5000);
+ }
- InstanceScript* instance;
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ if (!UpdateVictim())
+ return;
- void Reset() OVERRIDE
- {
- uiBloodthirstTimer = 10*IN_MILLISECONDS;
- uiVanishTimer = urand(25*IN_MILLISECONDS, 35*IN_MILLISECONDS);
- uiEmbraceTimer = 20*IN_MILLISECONDS;
- uiFlamesphereTimer = 5*IN_MILLISECONDS;
- uiEmbraceTakenDamage = 0;
- Phase = NORMAL;
- uiPhaseTimer = 0;
- uiEmbraceTarget = 0;
- if (instance)
- instance->SetBossState(DATA_PRINCE_TALDARAM, NOT_STARTED);
- }
+ events.Update(diff);
- void EnterCombat(Unit* /*who*/) OVERRIDE
- {
- if (instance)
- instance->SetBossState(DATA_PRINCE_TALDARAM, IN_PROGRESS);
- Talk(SAY_AGGRO);
- }
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
- if (uiPhaseTimer <= diff)
- {
- switch (Phase)
+ while (uint32 eventId = events.ExecuteEvent())
{
- case CASTING_FLAME_SPHERES:
+ switch (eventId)
{
- Creature* pSpheres[3];
-
- //DoCast(me, SPELL_FLAME_SPHERE_SUMMON_1);
- pSpheres[0] = DoSpawnCreature(CREATURE_FLAME_SPHERE, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10*IN_MILLISECONDS);
- Unit* pSphereTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
- if (pSphereTarget && pSpheres[0])
- {
- float angle, x, y;
- angle = pSpheres[0]->GetAngle(pSphereTarget);
- x = pSpheres[0]->GetPositionX() + DATA_SPHERE_DISTANCE * std::cos(angle);
- y = pSpheres[0]->GetPositionY() + DATA_SPHERE_DISTANCE * std::sin(angle);
- pSpheres[0]->GetMotionMaster()->MovePoint(0, x, y, pSpheres[0]->GetPositionZ());
- }
- if (IsHeroic())
+ if (events.IsInPhase(PHASE_NORMAL))
{
- //DoCast(me, H_SPELL_FLAME_SPHERE_SUMMON_1);
- pSpheres[1] = DoSpawnCreature(H_CREATURE_FLAME_SPHERE_1, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10*IN_MILLISECONDS);
- //DoCast(me, H_SPELL_FLAME_SPHERE_SUMMON_2);
- pSpheres[2] = DoSpawnCreature(H_CREATURE_FLAME_SPHERE_2, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10*IN_MILLISECONDS);
- if (pSphereTarget && pSpheres[1] && pSpheres[2])
+ case EVENT_BLOODTHIRST:
+ DoCast(me, SPELL_BLOODTHIRST);
+ events.ScheduleEvent(EVENT_BLOODTHIRST, 10000);
+ break;
+ case EVENT_FLAME_SPHERE:
+ DoCastVictim(SPELL_CONJURE_FLAME_SPHERE);
+ events.SetPhase(PHASE_SPECIAL);
+ events.ScheduleEvent(EVENT_CASTING_FLAME_SPHERES, 3000);
+ events.ScheduleEvent(EVENT_FLAME_SPHERE, 15000);
+ break;
+ case EVENT_VANISH:
{
- float angle, x, y;
- angle = pSpheres[1]->GetAngle(pSphereTarget) + DATA_SPHERE_ANGLE_OFFSET;
- x = pSpheres[1]->GetPositionX() + DATA_SPHERE_DISTANCE/2 * std::cos(angle);
- y = pSpheres[1]->GetPositionY() + DATA_SPHERE_DISTANCE/2 * std::sin(angle);
- pSpheres[1]->GetMotionMaster()->MovePoint(0, x, y, pSpheres[1]->GetPositionZ());
- angle = pSpheres[2]->GetAngle(pSphereTarget) - DATA_SPHERE_ANGLE_OFFSET;
- x = pSpheres[2]->GetPositionX() + DATA_SPHERE_DISTANCE/2 * std::cos(angle);
- y = pSpheres[2]->GetPositionY() + DATA_SPHERE_DISTANCE/2 * std::sin(angle);
- pSpheres[2]->GetMotionMaster()->MovePoint(0, x, y, pSpheres[2]->GetPositionZ());
+ Map::PlayerList const& players = me->GetMap()->GetPlayers();
+ uint32 targets = 0;
+ for (Map::PlayerList::const_iterator i = players.begin(); i != players.end(); ++i)
+ {
+ Player* player = i->GetSource();
+ if (player && player->IsAlive())
+ ++targets;
+ }
+
+ if (targets > 2)
+ {
+ Talk(SAY_VANISH);
+ DoCast(me, SPELL_VANISH);
+ events.SetPhase(PHASE_SPECIAL);
+ events.ScheduleEvent(EVENT_JUST_VANISHED, 500);
+ if (Unit* embraceTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ _embraceTargetGUID = embraceTarget->GetGUID();
+ }
+ events.ScheduleEvent(EVENT_VANISH, urand(25000, 35000));
+ break;
}
}
-
- Phase = NORMAL;
- uiPhaseTimer = 0;
- break;
- }
- case JUST_VANISHED:
- if (Unit* pEmbraceTarget = GetEmbraceTarget())
- {
- me->GetMotionMaster()->Clear();
- me->SetSpeed(MOVE_WALK, 2.0f, true);
- me->GetMotionMaster()->MoveChase(pEmbraceTarget);
- }
- Phase = VANISHED;
- uiPhaseTimer = 1300;
- break;
- case VANISHED:
- if (Unit* pEmbraceTarget = GetEmbraceTarget())
- DoCast(pEmbraceTarget, DUNGEON_MODE(SPELL_EMBRACE_OF_THE_VAMPYR, H_SPELL_EMBRACE_OF_THE_VAMPYR));
- Talk(SAY_FEED);
- me->GetMotionMaster()->Clear();
- me->SetSpeed(MOVE_WALK, 1.0f, true);
- me->GetMotionMaster()->MoveChase(me->GetVictim());
- Phase = FEEDING;
- uiPhaseTimer = 20*IN_MILLISECONDS;
- break;
- case FEEDING:
- Phase = NORMAL;
- uiPhaseTimer = 0;
- uiEmbraceTarget = 0;
- break;
- case NORMAL:
- if (uiBloodthirstTimer <= diff)
+ case EVENT_CASTING_FLAME_SPHERES:
{
- DoCast(me, SPELL_BLOODTHIRST);
- uiBloodthirstTimer = 10*IN_MILLISECONDS;
- } else uiBloodthirstTimer -= diff;
+ events.SetPhase(PHASE_NORMAL);
+ Unit* sphereTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
+ if (!sphereTarget)
+ break;
- if (uiFlamesphereTimer <= diff)
- {
- // because TARGET_UNIT_TARGET_ENEMY we need a target selected to cast
- DoCastVictim(SPELL_CONJURE_FLAME_SPHERE);
- Phase = CASTING_FLAME_SPHERES;
- uiPhaseTimer = 3*IN_MILLISECONDS + diff;
- uiFlamesphereTimer = 15*IN_MILLISECONDS;
- } else uiFlamesphereTimer -= diff;
-
- if (uiVanishTimer <= diff)
- {
- //Count alive players
- Unit* target = NULL;
- std::list<HostileReference*> t_list = me->getThreatManager().getThreatList();
- std::vector<Unit*> target_list;
- for (std::list<HostileReference*>::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
+ float angle, x, y;
+
+ //DoCast(me, SPELL_FLAME_SPHERE_SUMMON_1);
+ if (Creature* sphere = DoSpawnCreature(CREATURE_FLAME_SPHERE, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10 * IN_MILLISECONDS))
{
- target = Unit::GetUnit(*me, (*itr)->getUnitGuid());
- // exclude pets & totems
- if (target && target->GetTypeId() == TYPEID_PLAYER && target->IsAlive())
- target_list.push_back(target);
- target = NULL;
+ angle = sphere->GetAngle(sphereTarget);
+ x = sphere->GetPositionX() + DATA_SPHERE_DISTANCE * std::cos(angle);
+ y = sphere->GetPositionY() + DATA_SPHERE_DISTANCE * std::sin(angle);
+ sphere->GetMotionMaster()->MovePoint(0, x, y, sphere->GetPositionZ());
}
- //He only vanishes if there are 3 or more alive players
- if (target_list.size() > 2)
- {
- Talk(SAY_VANISH);
- DoCast(me, SPELL_VANISH);
- Phase = JUST_VANISHED;
- uiPhaseTimer = 500;
- if (Unit* pEmbraceTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- uiEmbraceTarget = pEmbraceTarget->GetGUID();
+ if (IsHeroic())
+ {
+ //DoCast(me, H_SPELL_FLAME_SPHERE_SUMMON_1);
+ if (Creature* sphere = DoSpawnCreature(H_CREATURE_FLAME_SPHERE_1, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10 * IN_MILLISECONDS))
+ {
+ angle = sphere->GetAngle(sphereTarget) + DATA_SPHERE_ANGLE_OFFSET;
+ x = sphere->GetPositionX() + DATA_SPHERE_DISTANCE/2 * std::cos(angle);
+ y = sphere->GetPositionY() + DATA_SPHERE_DISTANCE/2 * std::sin(angle);
+ sphere->GetMotionMaster()->MovePoint(0, x, y, sphere->GetPositionZ());
+ }
+
+ //DoCast(me, H_SPELL_FLAME_SPHERE_SUMMON_2);
+ if (Creature* sphere = DoSpawnCreature(H_CREATURE_FLAME_SPHERE_2, 0, 0, 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10 * IN_MILLISECONDS))
+ {
+ angle = sphere->GetAngle(sphereTarget) - DATA_SPHERE_ANGLE_OFFSET;
+ x = sphere->GetPositionX() + DATA_SPHERE_DISTANCE/2 * std::cos(angle);
+ y = sphere->GetPositionY() + DATA_SPHERE_DISTANCE/2 * std::sin(angle);
+ sphere->GetMotionMaster()->MovePoint(0, x, y, sphere->GetPositionZ());
+ }
}
- uiVanishTimer = urand(25*IN_MILLISECONDS, 35*IN_MILLISECONDS);
- } else uiVanishTimer -= diff;
-
- DoMeleeAttackIfReady();
- break;
+ break;
+ }
+ case EVENT_JUST_VANISHED:
+ if (Unit* embraceTarget = GetEmbraceTarget())
+ {
+ me->GetMotionMaster()->Clear();
+ me->SetSpeed(MOVE_WALK, 2.0f, true);
+ me->GetMotionMaster()->MoveChase(embraceTarget);
+ }
+ events.ScheduleEvent(EVENT_VANISHED, 1300);
+ break;
+ case EVENT_VANISHED:
+ if (Unit* embraceTarget = GetEmbraceTarget())
+ DoCast(embraceTarget, SPELL_EMBRACE_OF_THE_VAMPYR);
+ Talk(SAY_FEED);
+ me->GetMotionMaster()->Clear();
+ me->SetSpeed(MOVE_WALK, 1.0f, true);
+ me->GetMotionMaster()->MoveChase(me->GetVictim());
+ events.ScheduleEvent(EVENT_FEEDING, 20000);
+ break;
+ case EVENT_FEEDING:
+ _embraceTargetGUID = 0;
+ events.SetPhase(PHASE_NORMAL);
+ break;
+ default:
+ break;
+ }
}
- } else uiPhaseTimer -= diff;
- }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
- {
- Unit* pEmbraceTarget = GetEmbraceTarget();
+ DoMeleeAttackIfReady();
+ }
- if (Phase == FEEDING && pEmbraceTarget && pEmbraceTarget->IsAlive())
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage) OVERRIDE
{
- uiEmbraceTakenDamage += damage;
- if (uiEmbraceTakenDamage > (uint32) DUNGEON_MODE(DATA_EMBRACE_DMG, H_DATA_EMBRACE_DMG))
- {
- Phase = NORMAL;
- uiPhaseTimer = 0;
- uiEmbraceTarget = 0;
- me->CastStop();
- }
+ Unit* embraceTarget = GetEmbraceTarget();
+
+ if (events.IsInPhase(PHASE_SPECIAL) && embraceTarget && embraceTarget->IsAlive())
+ {
+ _embraceTakenDamage += damage;
+ if (_embraceTakenDamage > DUNGEON_MODE<uint32>(DATA_EMBRACE_DMG, H_DATA_EMBRACE_DMG))
+ {
+ _embraceTargetGUID = 0;
+ events.SetPhase(PHASE_NORMAL);
+ me->CastStop();
+ }
+ }
}
- }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- Talk(SAY_DEATH);
+ void JustDied(Unit* /*killer*/) OVERRIDE
+ {
+ Talk(SAY_DEATH);
+ _JustDied();
+ }
- if (instance)
- instance->SetBossState(DATA_PRINCE_TALDARAM, DONE);
- }
+ void KilledUnit(Unit* victim) OVERRIDE
+ {
+ if (victim->GetTypeId() != TYPEID_PLAYER)
+ return;
- void KilledUnit(Unit* victim) OVERRIDE
- {
- if (victim->GetTypeId() != TYPEID_PLAYER)
- return;
+ Unit* embraceTarget = GetEmbraceTarget();
+ if (events.IsInPhase(PHASE_SPECIAL) && embraceTarget && victim == embraceTarget)
+ {
+ _embraceTargetGUID = 0;
+ events.SetPhase(PHASE_NORMAL);
+ }
+ Talk(SAY_SLAY);
+ }
- Unit* pEmbraceTarget = GetEmbraceTarget();
- if (Phase == FEEDING && pEmbraceTarget && victim == pEmbraceTarget)
+ bool CheckSpheres()
{
- Phase = NORMAL;
- uiPhaseTimer = 0;
- uiEmbraceTarget = 0;
- }
- Talk(SAY_SLAY);
- }
+ for (uint8 i = 0; i < 2; ++i)
+ if (!instance->GetData(DATA_SPHERE_1 + i))
+ return false;
- bool CheckSpheres()
- {
- for (uint8 i = 0; i < 2; ++i)
- if (!instance->GetData(DATA_SPHERE_1 + i))
- return false;
+ RemovePrison();
+ return true;
+ }
- RemovePrison();
- return true;
- }
+ Unit* GetEmbraceTarget()
+ {
+ if (_embraceTargetGUID)
+ return ObjectAccessor::GetUnit(*me, _embraceTargetGUID);
- Unit* GetEmbraceTarget()
- {
- if (!uiEmbraceTarget)
return NULL;
+ }
- return Unit::GetUnit(*me, uiEmbraceTarget);
- }
+ void RemovePrison()
+ {
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ me->RemoveAurasDueToSpell(SPELL_BEAM_VISUAL);
+ me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), DATA_GROUND_POSITION_Z, me->GetOrientation());
+ DoCast(SPELL_HOVER_FALL);
+ me->SetDisableGravity(false);
+ me->GetMotionMaster()->MovePoint(0, me->GetHomePosition());
+ Talk(SAY_WARNING);
+ instance->HandleGameObject(instance->GetData64(DATA_PRINCE_TALDARAM_PLATFORM), true);
+ }
+
+ private:
+ uint64 _embraceTargetGUID;
+ uint32 _embraceTakenDamage;
+ };
- void RemovePrison()
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- if (!instance)
- return;
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->RemoveAurasDueToSpell(SPELL_BEAM_VISUAL);
- me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), DATA_GROUND_POSITION_Z, me->GetOrientation());
- DoCast(SPELL_HOVER_FALL);
- me->SetDisableGravity(false);
- me->GetMotionMaster()->MovePoint(0, me->GetHomePosition());
- Talk(SAY_WARNING);
- uint64 prison_GUID = instance->GetData64(DATA_PRINCE_TALDARAM_PLATFORM);
- instance->HandleGameObject(prison_GUID, true);
+ return GetAhnKahetAI<boss_taldaramAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetAhnKahetAI<boss_taldaramAI>(creature);
- }
};
class npc_taldaram_flamesphere : public CreatureScript
{
-public:
- npc_taldaram_flamesphere() : CreatureScript("npc_taldaram_flamesphere") { }
+ public:
+ npc_taldaram_flamesphere() : CreatureScript("npc_taldaram_flamesphere") { }
- struct npc_taldaram_flamesphereAI : public ScriptedAI
- {
- npc_taldaram_flamesphereAI(Creature* creature) : ScriptedAI(creature)
+ struct npc_taldaram_flamesphereAI : public ScriptedAI
{
- instance = creature->GetInstanceScript();
- }
+ npc_taldaram_flamesphereAI(Creature* creature) : ScriptedAI(creature)
+ {
+ }
- uint32 uiDespawnTimer;
- InstanceScript* instance;
+ void Reset() OVERRIDE
+ {
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ //! HACK: Creature's can't have MOVEMENTFLAG_FLYING
+ me->AddUnitMovementFlag(MOVEMENTFLAG_FLYING);
+ me->setFaction(16);
+ me->SetObjectScale(1.0f);
+ DoCast(me, SPELL_FLAME_SPHERE_VISUAL);
+ DoCast(me, SPELL_FLAME_SPHERE_SPAWN_EFFECT);
+ DoCast(me, SPELL_FLAME_SPHERE_PERIODIC);
+ _despawnTimer = 10 * IN_MILLISECONDS;
+ }
- void Reset() OVERRIDE
- {
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- //! HACK: Creature's can't have MOVEMENTFLAG_FLYING
- me->AddUnitMovementFlag(MOVEMENTFLAG_FLYING);
- me->setFaction(16);
- me->SetObjectScale(1.0f);
- DoCast(me, SPELL_FLAME_SPHERE_VISUAL);
- DoCast(me, SPELL_FLAME_SPHERE_SPAWN_EFFECT);
- DoCast(me, SPELL_FLAME_SPHERE_PERIODIC);
- uiDespawnTimer = 10*IN_MILLISECONDS;
- }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void JustDied(Unit* /*killer*/) OVERRIDE
+ {
+ DoCast(me, SPELL_FLAME_SPHERE_DEATH_EFFECT);
+ }
+ void UpdateAI(uint32 diff) OVERRIDE
+ {
+ if (_despawnTimer <= diff)
+ me->DisappearAndDie();
+ else
+ _despawnTimer -= diff;
+ }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- DoCast(me, SPELL_FLAME_SPHERE_DEATH_EFFECT);
- }
+ private:
+ uint32 _despawnTimer;
+ };
- void UpdateAI(uint32 diff) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
- if (uiDespawnTimer <= diff)
- me->DisappearAndDie();
- else
- uiDespawnTimer -= diff;
+ return new npc_taldaram_flamesphereAI(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_taldaram_flamesphereAI(creature);
- }
};
class prince_taldaram_sphere : public GameObjectScript
@@ -377,7 +360,7 @@ class prince_taldaram_sphere : public GameObjectScript
public:
prince_taldaram_sphere() : GameObjectScript("prince_taldaram_sphere") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go)
+ bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
{
InstanceScript* instance = go->GetInstanceScript();
if (!instance)
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
index c5e40052a9d..143ccc29e0d 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
@@ -206,7 +206,7 @@ public:
struct npc_skittering_infectorAI : public ScriptedAI
{
- npc_skittering_infectorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_skittering_infectorAI(Creature* creature) : ScriptedAI(creature) { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -228,7 +228,7 @@ public:
struct npc_anub_ar_skirmisherAI : public ScriptedAI
{
- npc_anub_ar_skirmisherAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_anub_ar_skirmisherAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiChargeTimer;
uint32 uiBackstabTimer;
@@ -279,7 +279,7 @@ public:
struct npc_anub_ar_shadowcasterAI : public ScriptedAI
{
- npc_anub_ar_shadowcasterAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_anub_ar_shadowcasterAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiShadowBoltTimer;
uint32 uiShadowNovaTimer;
@@ -325,7 +325,7 @@ public:
struct npc_anub_ar_warriorAI : public ScriptedAI
{
- npc_anub_ar_warriorAI(Creature* creature) : ScriptedAI(creature){}
+ npc_anub_ar_warriorAI(Creature* creature) : ScriptedAI(creature){ }
uint32 uiCleaveTimer;
uint32 uiStrikeTimer;
@@ -370,7 +370,7 @@ public:
struct npc_watcher_gashraAI : public ScriptedAI
{
- npc_watcher_gashraAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_watcher_gashraAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiWebWrapTimer;
uint32 uiInfectedBiteTimer;
@@ -421,7 +421,7 @@ public:
struct npc_watcher_narjilAI : public ScriptedAI
{
- npc_watcher_narjilAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_watcher_narjilAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiWebWrapTimer;
uint32 uiInfectedBiteTimer;
@@ -475,7 +475,7 @@ public:
struct npc_watcher_silthikAI : public ScriptedAI
{
- npc_watcher_silthikAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_watcher_silthikAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiWebWrapTimer;
uint32 uiInfectedBiteTimer;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 1c1cdbdac53..2088ef2fa2e 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -991,7 +991,7 @@ public:
struct npc_tenebronAI : public dummy_dragonAI
{
- npc_tenebronAI(Creature* creature) : dummy_dragonAI(creature) {}
+ npc_tenebronAI(Creature* creature) : dummy_dragonAI(creature) { }
uint32 m_uiShadowBreathTimer;
uint32 m_uiShadowFissureTimer;
@@ -1082,7 +1082,7 @@ public:
struct npc_shadronAI : public dummy_dragonAI
{
- npc_shadronAI(Creature* creature) : dummy_dragonAI(creature) {}
+ npc_shadronAI(Creature* creature) : dummy_dragonAI(creature) { }
uint32 m_uiShadowBreathTimer;
uint32 m_uiShadowFissureTimer;
@@ -1188,7 +1188,7 @@ public:
struct npc_vesperonAI : public dummy_dragonAI
{
- npc_vesperonAI(Creature* creature) : dummy_dragonAI(creature) {}
+ npc_vesperonAI(Creature* creature) : dummy_dragonAI(creature) { }
uint32 m_uiShadowBreathTimer;
uint32 m_uiShadowFissureTimer;
@@ -1536,8 +1536,8 @@ public:
m_uiHatchEggTimer -= uiDiff;
}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
};
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
index f5ef0f7cab3..ace2258ac9f 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
@@ -37,7 +37,7 @@ public:
struct instance_obsidian_sanctum_InstanceMapScript : public InstanceScript
{
- instance_obsidian_sanctum_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_obsidian_sanctum_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 m_uiSartharionGUID;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index 7561d1c4991..f968add0b5b 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -491,7 +491,7 @@ class boss_twilight_halion : public CreatureScript
}
// Never evade
- void EnterEvadeMode() OVERRIDE {}
+ void EnterEvadeMode() OVERRIDE { }
void KilledUnit(Unit* victim) OVERRIDE
{
@@ -1025,8 +1025,8 @@ class npc_meteor_strike_initial : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
- void EnterEvadeMode() OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void EnterEvadeMode() OVERRIDE { }
private:
InstanceScript* _instance;
std::list<Creature*> _meteorList;
@@ -1166,7 +1166,7 @@ class npc_combustion_consumption : public CreatureScript
summoner->CastCustomSpell(_explosionSpell, SPELLVALUE_BASE_POINT0, damage, summoner);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
private:
InstanceScript* _instance;
@@ -1620,7 +1620,7 @@ class spell_halion_clear_debuffs : public SpellScriptLoader
class TwilightCutterSelector
{
public:
- TwilightCutterSelector(Unit* caster, Unit* target) : _caster(caster), _channelTarget(target) {}
+ TwilightCutterSelector(Unit* caster, Unit* target) : _caster(caster), _channelTarget(target) { }
bool operator()(WorldObject* unit)
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
index 9d7a3c17b1b..f6fd1c14a9b 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -417,7 +417,7 @@ public:
struct npc_memoryAI : public ScriptedAI
{
- npc_memoryAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_memoryAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiOldWoundsTimer;
uint32 uiShadowPastTimer;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
index 970c53e56ee..1922ad26060 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -311,7 +311,7 @@ public:
struct npc_risen_ghoulAI : public ScriptedAI
{
- npc_risen_ghoulAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_risen_ghoulAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiAttackTimer;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
index 78ee6ba1c6b..2a203b49764 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
@@ -41,7 +41,7 @@ public:
struct instance_trial_of_the_champion_InstanceMapScript : public InstanceScript
{
- instance_trial_of_the_champion_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_trial_of_the_champion_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
index ce0f8e4778c..4c73d1a5f55 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -757,7 +757,7 @@ class npc_toc_druid : public CreatureScript
struct npc_toc_druidAI : public boss_faction_championsAI
{
- npc_toc_druidAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) {}
+ npc_toc_druidAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
void Reset() OVERRIDE
{
@@ -850,7 +850,7 @@ class npc_toc_shaman : public CreatureScript
struct npc_toc_shamanAI : public boss_faction_championsAI
{
- npc_toc_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) {}
+ npc_toc_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
void Reset() OVERRIDE
{
@@ -943,7 +943,7 @@ class npc_toc_paladin : public CreatureScript
struct npc_toc_paladinAI : public boss_faction_championsAI
{
- npc_toc_paladinAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) {}
+ npc_toc_paladinAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
void Reset() OVERRIDE
{
@@ -1047,7 +1047,7 @@ class npc_toc_priest : public CreatureScript
struct npc_toc_priestAI : public boss_faction_championsAI
{
- npc_toc_priestAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) {}
+ npc_toc_priestAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
void Reset() OVERRIDE
{
@@ -1135,7 +1135,7 @@ class npc_toc_shadow_priest : public CreatureScript
struct npc_toc_shadow_priestAI : public boss_faction_championsAI
{
- npc_toc_shadow_priestAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) {}
+ npc_toc_shadow_priestAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
void Reset() OVERRIDE
{
@@ -1230,7 +1230,7 @@ class npc_toc_warlock : public CreatureScript
struct npc_toc_warlockAI : public boss_faction_championsAI
{
- npc_toc_warlockAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) {}
+ npc_toc_warlockAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
void Reset() OVERRIDE
{
@@ -1321,7 +1321,7 @@ class npc_toc_mage : public CreatureScript
struct npc_toc_mageAI : public boss_faction_championsAI
{
- npc_toc_mageAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) {}
+ npc_toc_mageAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
void Reset() OVERRIDE
{
@@ -1415,7 +1415,7 @@ class npc_toc_hunter : public CreatureScript
struct npc_toc_hunterAI : public boss_faction_championsAI
{
- npc_toc_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) {}
+ npc_toc_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
void Reset() OVERRIDE
{
@@ -1517,7 +1517,7 @@ class npc_toc_boomkin : public CreatureScript
struct npc_toc_boomkinAI : public boss_faction_championsAI
{
- npc_toc_boomkinAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) {}
+ npc_toc_boomkinAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
void Reset() OVERRIDE
{
@@ -1612,7 +1612,7 @@ class npc_toc_warrior : public CreatureScript
struct npc_toc_warriorAI : public boss_faction_championsAI
{
- npc_toc_warriorAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) {}
+ npc_toc_warriorAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
void Reset() OVERRIDE
{
@@ -1713,7 +1713,7 @@ class npc_toc_dk : public CreatureScript
struct npc_toc_dkAI : public boss_faction_championsAI
{
- npc_toc_dkAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) {}
+ npc_toc_dkAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
void Reset() OVERRIDE
{
@@ -1809,7 +1809,7 @@ class npc_toc_rogue : public CreatureScript
struct npc_toc_rogueAI : public boss_faction_championsAI
{
- npc_toc_rogueAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) {}
+ npc_toc_rogueAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
void Reset() OVERRIDE
{
@@ -1914,7 +1914,7 @@ class npc_toc_enh_shaman : public CreatureScript
struct npc_toc_enh_shamanAI : public boss_faction_championsAI
{
- npc_toc_enh_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) {}
+ npc_toc_enh_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
void Reset() OVERRIDE
{
@@ -2040,7 +2040,7 @@ class npc_toc_retro_paladin : public CreatureScript
struct npc_toc_retro_paladinAI : public boss_faction_championsAI
{
- npc_toc_retro_paladinAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) {}
+ npc_toc_retro_paladinAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
void Reset() OVERRIDE
{
@@ -2146,7 +2146,7 @@ class npc_toc_pet_warlock : public CreatureScript
struct npc_toc_pet_warlockAI : public boss_faction_championsAI
{
- npc_toc_pet_warlockAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) {}
+ npc_toc_pet_warlockAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) { }
void Reset() OVERRIDE
{
@@ -2198,7 +2198,7 @@ class npc_toc_pet_hunter : public CreatureScript
struct npc_toc_pet_hunterAI : public boss_faction_championsAI
{
- npc_toc_pet_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) {}
+ npc_toc_pet_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
index 7b0867b771c..4cea1ea5b06 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
@@ -296,7 +296,7 @@ class npc_infernal_volcano : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
private:
SummonList _summons;
@@ -400,7 +400,7 @@ class npc_nether_portal : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
private:
SummonList _summons;
@@ -553,7 +553,7 @@ class MistressKissTargetSelector
class spell_mistress_kiss_area : public SpellScriptLoader
{
public:
- spell_mistress_kiss_area() : SpellScriptLoader("spell_mistress_kiss_area") {}
+ spell_mistress_kiss_area() : SpellScriptLoader("spell_mistress_kiss_area") { }
class spell_mistress_kiss_area_SpellScript : public SpellScript
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
index 18cc45657f0..8f6b951d524 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -830,7 +830,7 @@ class npc_slime_pool : public CreatureScript
class spell_gormok_fire_bomb : public SpellScriptLoader
{
public:
- spell_gormok_fire_bomb() : SpellScriptLoader("spell_gormok_fire_bomb") {}
+ spell_gormok_fire_bomb() : SpellScriptLoader("spell_gormok_fire_bomb") { }
class spell_gormok_fire_bomb_SpellScript : public SpellScript
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
index eb36c35d895..0674696a033 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -462,7 +462,7 @@ class boss_eydis : public CreatureScript
struct boss_eydisAI : public boss_twin_baseAI
{
- boss_eydisAI(Creature* creature) : boss_twin_baseAI(creature) {}
+ boss_eydisAI(Creature* creature) : boss_twin_baseAI(creature) { }
void Reset() OVERRIDE
{
@@ -592,7 +592,7 @@ class npc_unleashed_dark : public CreatureScript
struct npc_unleashed_darkAI : public npc_unleashed_ballAI
{
- npc_unleashed_darkAI(Creature* creature) : npc_unleashed_ballAI(creature) {}
+ npc_unleashed_darkAI(Creature* creature) : npc_unleashed_ballAI(creature) { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -624,7 +624,7 @@ class npc_unleashed_light : public CreatureScript
struct npc_unleashed_lightAI : public npc_unleashed_ballAI
{
- npc_unleashed_lightAI(Creature* creature) : npc_unleashed_ballAI(creature) {}
+ npc_unleashed_lightAI(Creature* creature) : npc_unleashed_ballAI(creature) { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
index 43e696f3b3c..9e401c4f962 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
@@ -29,7 +29,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
struct instance_trial_of_the_crusader_InstanceMapScript : public InstanceScript
{
- instance_trial_of_the_crusader_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_trial_of_the_crusader_InstanceMapScript(Map* map) : InstanceScript(map) { }
void Initialize() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
index fdf39519409..ff7092590e7 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
@@ -124,7 +124,7 @@ class npc_announcer_toc10 : public CreatureScript
pAlly->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
};
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
@@ -547,9 +547,9 @@ class npc_tirion_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 uiDiff) OVERRIDE
{
@@ -835,9 +835,9 @@ class npc_garrosh_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 uiDiff) OVERRIDE
{
@@ -919,9 +919,9 @@ class npc_varian_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 uiDiff) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index 0160359f0f2..71386167d5d 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -276,11 +276,11 @@ public:
class npc_crystal_channel_target : public CreatureScript
{
public:
- npc_crystal_channel_target() : CreatureScript("npc_crystal_channel_target") {}
+ npc_crystal_channel_target() : CreatureScript("npc_crystal_channel_target") { }
struct npc_crystal_channel_targetAI : public ScriptedAI
{
- npc_crystal_channel_targetAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_crystal_channel_targetAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -339,7 +339,7 @@ public:
class achievement_oh_novos : public AchievementCriteriaScript
{
public:
- achievement_oh_novos() : AchievementCriteriaScript("achievement_oh_novos") {}
+ achievement_oh_novos() : AchievementCriteriaScript("achievement_oh_novos") { }
bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index 530741ea710..e2d285f7306 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -57,7 +57,7 @@ public:
struct boss_falricAI : public boss_horAI
{
- boss_falricAI(Creature* creature) : boss_horAI(creature) {}
+ boss_falricAI(Creature* creature) : boss_horAI(creature) { }
uint8 uiHopelessnessCount;
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
index 49fd7481dde..a87b7b6d93d 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
@@ -56,7 +56,7 @@ public:
struct boss_marwynAI : public boss_horAI
{
- boss_marwynAI(Creature* creature) : boss_horAI(creature) {}
+ boss_marwynAI(Creature* creature) : boss_horAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
index 04145b8784e..1b82de35f54 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -1363,7 +1363,7 @@ public:
struct npc_phantom_hallucinationAI : public npc_phantom_mage::npc_phantom_mageAI
{
- npc_phantom_hallucinationAI(Creature* creature) : npc_phantom_mage::npc_phantom_mageAI(creature) {}
+ npc_phantom_hallucinationAI(Creature* creature) : npc_phantom_mage::npc_phantom_mageAI(creature) { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -1728,7 +1728,7 @@ public:
class at_hor_intro_start : public AreaTriggerScript
{
public:
- at_hor_intro_start() : AreaTriggerScript("at_hor_intro_start") {}
+ at_hor_intro_start() : AreaTriggerScript("at_hor_intro_start") { }
bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
{
@@ -1747,7 +1747,7 @@ public:
class at_hor_waves_restarter : public AreaTriggerScript
{
public:
- at_hor_waves_restarter() : AreaTriggerScript("at_hor_waves_restarter") {}
+ at_hor_waves_restarter() : AreaTriggerScript("at_hor_waves_restarter") { }
bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
index 50600453368..0599596fc0a 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
@@ -73,7 +73,7 @@ public:
struct instance_halls_of_reflection_InstanceMapScript : public InstanceScript
{
- instance_halls_of_reflection_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_halls_of_reflection_InstanceMapScript(Map* map) : InstanceScript(map) { }
void Initialize() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
index 003b313d28c..d8a4dd01f90 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -407,7 +407,7 @@ class player_overlord_brandAI : public PlayerAI
me->CastCustomSpell(SPELL_OVERLORD_BRAND_HEAL, SPELLVALUE_BASE_POINT0, int32(addHealth*5.5f), tyrannus, true, NULL, NULL, tyrannus->GetGUID());
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
private:
uint64 _tyrannus;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index 0097fe8c4d7..441149c6dd8 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -221,7 +221,7 @@ public:
struct npc_slad_ran_constrictorAI : public ScriptedAI
{
- npc_slad_ran_constrictorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_slad_ran_constrictorAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiGripOfSladRanTimer;
@@ -272,7 +272,7 @@ public:
struct npc_slad_ran_viperAI : public ScriptedAI
{
- npc_slad_ran_viperAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_slad_ran_viperAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiVenomousBiteTimer;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index bdab8f3fce6..1e5919536f3 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -636,7 +636,7 @@ class spell_blood_queen_frenzied_bloodthirst : public SpellScriptLoader
class BloodboltHitCheck
{
public:
- explicit BloodboltHitCheck(LanaThelAI* ai) : _ai(ai) {}
+ explicit BloodboltHitCheck(LanaThelAI* ai) : _ai(ai) { }
bool operator()(WorldObject* object) const
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index 0367a29bb30..027c8823af8 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -633,7 +633,7 @@ class npc_cult_fanatic : public CreatureScript
struct npc_cult_fanaticAI : public ScriptedAI
{
- npc_cult_fanaticAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_cult_fanaticAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -710,7 +710,7 @@ class npc_cult_adherent : public CreatureScript
struct npc_cult_adherentAI : public ScriptedAI
{
- npc_cult_adherentAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_cult_adherentAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 96627548848..cdcd8ed796a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -924,7 +924,7 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
class ExactDistanceCheck
{
public:
- ExactDistanceCheck(Unit* source, float dist) : _source(source), _dist(dist) {}
+ ExactDistanceCheck(Unit* source, float dist) : _source(source), _dist(dist) { }
bool operator()(WorldObject* unit) const
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index fba64a89d83..d8a95d5c1fb 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -2422,7 +2422,7 @@ class spell_the_lich_king_raging_spirit : public SpellScriptLoader
class ExactDistanceCheck
{
public:
- ExactDistanceCheck(Unit* source, float dist) : _source(source), _dist(dist) {}
+ ExactDistanceCheck(Unit* source, float dist) : _source(source), _dist(dist) { }
bool operator()(WorldObject* unit)
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index e3e1bfedc44..9116222a4e0 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -288,7 +288,7 @@ enum MovementPoints
class FrostwingVrykulSearcher
{
public:
- FrostwingVrykulSearcher(Creature const* source, float range) : _source(source), _range(range) {}
+ FrostwingVrykulSearcher(Creature const* source, float range) : _source(source), _range(range) { }
bool operator()(Unit* unit)
{
@@ -1833,7 +1833,7 @@ class spell_icc_sprit_alarm : public SpellScriptLoader
class DeathPlagueTargetSelector
{
public:
- explicit DeathPlagueTargetSelector(Unit* caster) : _caster(caster) {}
+ explicit DeathPlagueTargetSelector(Unit* caster) : _caster(caster) { }
bool operator()(WorldObject* object) const
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index 928ffd14dea..b873b3ee15c 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -64,7 +64,7 @@ public:
struct boss_anubrekhanAI : public BossAI
{
- boss_anubrekhanAI(Creature* creature) : BossAI(creature, BOSS_ANUBREKHAN) {}
+ boss_anubrekhanAI(Creature* creature) : BossAI(creature, BOSS_ANUBREKHAN) { }
bool hasTaunted;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 90f14bf43e4..a5c35650032 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -145,7 +145,7 @@ float const PosPlatform[4] = {2640.5f, -3360.6f, 285.26f, 0.0f};
// Predicate function to check that the r efzr unit is NOT on the same side as the source.
struct NotOnSameSide : public std::unary_function<Unit*, bool>
{
- NotOnSameSide(Unit* source) : _onLiveSide(IN_LIVE_SIDE(source)) {}
+ NotOnSameSide(Unit* source) : _onLiveSide(IN_LIVE_SIDE(source)) { }
bool operator() (Unit const* target)
{
@@ -163,7 +163,7 @@ class boss_gothik : public CreatureScript
struct boss_gothikAI : public BossAI
{
- boss_gothikAI(Creature* creature) : BossAI(creature, BOSS_GOTHIK) {}
+ boss_gothikAI(Creature* creature) : BossAI(creature, BOSS_GOTHIK) { }
uint32 waveCount;
typedef std::vector<Creature*> TriggerVct;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index 14a7a03bd70..a8e2783602f 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -66,7 +66,7 @@ public:
struct boss_heiganAI : public BossAI
{
- boss_heiganAI(Creature* creature) : BossAI(creature, BOSS_HEIGAN) {}
+ boss_heiganAI(Creature* creature) : BossAI(creature, BOSS_HEIGAN) { }
uint32 eruptSection;
bool eruptDirection;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index a77b21a900b..f9efdfce28b 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -248,7 +248,7 @@ const Position PosWeavers[MAX_WEAVERS] =
// predicate function to select not charmed target
struct NotCharmedTargetSelector : public std::unary_function<Unit*, bool>
{
- NotCharmedTargetSelector() {}
+ NotCharmedTargetSelector() { }
bool operator()(Unit const* target) const
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
index 468739894f6..588d58c1436 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
@@ -70,7 +70,7 @@ public:
struct boss_maexxnaAI : public BossAI
{
- boss_maexxnaAI(Creature* creature) : BossAI(creature, BOSS_MAEXXNA) {}
+ boss_maexxnaAI(Creature* creature) : BossAI(creature, BOSS_MAEXXNA) { }
bool enraged;
@@ -161,7 +161,7 @@ public:
struct npc_webwrapAI : public NullCreatureAI
{
- npc_webwrapAI(Creature* creature) : NullCreatureAI(creature), victimGUID(0) {}
+ npc_webwrapAI(Creature* creature) : NullCreatureAI(creature), victimGUID(0) { }
uint64 victimGUID;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index e01417574bb..d90db5e077e 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -80,7 +80,7 @@ public:
struct boss_nothAI : public BossAI
{
- boss_nothAI(Creature* creature) : BossAI(creature, BOSS_NOTH) {}
+ boss_nothAI(Creature* creature) : BossAI(creature, BOSS_NOTH) { }
uint32 waveCount, balconyCount;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
index bf3e7706f4d..96f2d743cac 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
@@ -62,7 +62,7 @@ public:
struct boss_patchwerkAI : public BossAI
{
- boss_patchwerkAI(Creature* creature) : BossAI(creature, BOSS_PATCHWERK) {}
+ boss_patchwerkAI(Creature* creature) : BossAI(creature, BOSS_PATCHWERK) { }
bool Enraged;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
index 5505b83d411..3ac20df24d6 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
@@ -68,7 +68,7 @@ public:
struct boss_razuviousAI : public BossAI
{
- boss_razuviousAI(Creature* creature) : BossAI(creature, BOSS_RAZUVIOUS) {}
+ boss_razuviousAI(Creature* creature) : BossAI(creature, BOSS_RAZUVIOUS) { }
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
index 175816e3ae7..a864d679b89 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
@@ -54,12 +54,12 @@ public:
struct boss_commander_kolurgAI : public ScriptedAI
{
- boss_commander_kolurgAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_commander_kolurgAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 /*diff*/) OVERRIDE
{
@@ -69,7 +69,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE {}
+ void JustDied(Unit* /*killer*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
index 2f73c85a9cd..3a74d3408c3 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
@@ -48,11 +48,11 @@ public:
struct boss_commander_stoutbeardAI : public ScriptedAI
{
- boss_commander_stoutbeardAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_commander_stoutbeardAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 /*diff*/) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
index f26e70d6838..423937303b5 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
@@ -49,7 +49,7 @@ enum Events
class OrmorokTanglerPredicate
{
public:
- OrmorokTanglerPredicate(Unit* unit) : me(unit) {}
+ OrmorokTanglerPredicate(Unit* unit) : me(unit) { }
bool operator() (WorldObject* object) const
{
@@ -67,7 +67,7 @@ public:
struct boss_ormorokAI : public BossAI
{
- boss_ormorokAI(Creature* creature) : BossAI(creature, DATA_ORMOROK_EVENT) {}
+ boss_ormorokAI(Creature* creature) : BossAI(creature, DATA_ORMOROK_EVENT) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
@@ -188,7 +188,7 @@ public:
struct npc_crystal_spike_triggerAI : public ScriptedAI
{
- npc_crystal_spike_triggerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_crystal_spike_triggerAI(Creature* creature) : ScriptedAI(creature) { }
void IsSummonedBy(Unit* owner) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index 4df7109c16c..109106d4d59 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -40,7 +40,7 @@ public:
struct instance_nexus_InstanceMapScript : public InstanceScript
{
- instance_nexus_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_nexus_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[NUMBER_OF_ENCOUNTERS];
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
index 59652a7d4a1..25091a457f2 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
@@ -62,7 +62,7 @@ public:
struct boss_drakosAI : public BossAI
{
- boss_drakosAI(Creature* creature) : BossAI(creature, DATA_DRAKOS_EVENT) {}
+ boss_drakosAI(Creature* creature) : BossAI(creature, DATA_DRAKOS_EVENT) { }
void Reset() OVERRIDE
{
@@ -156,7 +156,7 @@ public:
struct npc_unstable_sphereAI : public ScriptedAI
{
- npc_unstable_sphereAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_unstable_sphereAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index 436a978d15e..678748b1f01 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -99,7 +99,7 @@ public:
struct boss_uromAI : public BossAI
{
- boss_uromAI(Creature* creature) : BossAI(creature, DATA_UROM_EVENT) {}
+ boss_uromAI(Creature* creature) : BossAI(creature, DATA_UROM_EVENT) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index fbf39a705ee..bc72c808a6f 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -293,7 +293,7 @@ class spell_varos_centrifuge_shield : public SpellScriptLoader
class spell_varos_energize_core_area_enemy : public SpellScriptLoader
{
public:
- spell_varos_energize_core_area_enemy() : SpellScriptLoader("spell_varos_energize_core_area_enemy") {}
+ spell_varos_energize_core_area_enemy() : SpellScriptLoader("spell_varos_energize_core_area_enemy") { }
class spell_varos_energize_core_area_enemySpellScript : public SpellScript
{
@@ -340,7 +340,7 @@ class spell_varos_energize_core_area_enemy : public SpellScriptLoader
class spell_varos_energize_core_area_entry : public SpellScriptLoader
{
public:
- spell_varos_energize_core_area_entry() : SpellScriptLoader("spell_varos_energize_core_area_entry") {}
+ spell_varos_energize_core_area_entry() : SpellScriptLoader("spell_varos_energize_core_area_entry") { }
class spell_varos_energize_core_area_entrySpellScript : public SpellScript
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index 428d24a38ea..70424119a0a 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -41,7 +41,7 @@ public:
struct instance_oculus_InstanceMapScript : public InstanceScript
{
- instance_oculus_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_oculus_InstanceMapScript(Map* map) : InstanceScript(map) { }
void Initialize() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index 8f69d905d6f..aa3c034da6e 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -295,7 +295,7 @@ class SummonUnleashedDarkMatter : public BasicEvent
class boss_algalon_the_observer : public CreatureScript
{
public:
- boss_algalon_the_observer() : CreatureScript("boss_algalon_the_observer") {}
+ boss_algalon_the_observer() : CreatureScript("boss_algalon_the_observer") { }
struct boss_algalon_the_observerAI : public BossAI
{
@@ -957,7 +957,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
class go_celestial_planetarium_access : public GameObjectScript
{
public:
- go_celestial_planetarium_access() : GameObjectScript("go_celestial_planetarium_access") {}
+ go_celestial_planetarium_access() : GameObjectScript("go_celestial_planetarium_access") { }
struct go_celestial_planetarium_accessAI : public GameObjectAI
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index dec27808321..554556e4084 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -680,7 +680,7 @@ class boss_flame_leviathan_defense_turret : public CreatureScript
struct boss_flame_leviathan_defense_turretAI : public TurretAI
{
- boss_flame_leviathan_defense_turretAI(Creature* creature) : TurretAI(creature) {}
+ boss_flame_leviathan_defense_turretAI(Creature* creature) : TurretAI(creature) { }
void DamageTaken(Unit* who, uint32 &damage) OVERRIDE
{
@@ -858,7 +858,7 @@ class npc_pool_of_tar : public CreatureScript
me->CastSpell(me, SPELL_BLAZE, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
@@ -1498,7 +1498,7 @@ class spell_auto_repair : public SpellScriptLoader
};
public:
- spell_auto_repair() : SpellScriptLoader("spell_auto_repair") {}
+ spell_auto_repair() : SpellScriptLoader("spell_auto_repair") { }
class spell_auto_repair_SpellScript : public SpellScript
{
@@ -1607,7 +1607,7 @@ class FlameLeviathanPursuedTargetSelector
};
public:
- explicit FlameLeviathanPursuedTargetSelector(Unit* unit) : _me(unit) {};
+ explicit FlameLeviathanPursuedTargetSelector(Unit* unit) : _me(unit) { };
bool operator()(WorldObject* target) const
{
@@ -1645,7 +1645,7 @@ class FlameLeviathanPursuedTargetSelector
class spell_pursue : public SpellScriptLoader
{
public:
- spell_pursue() : SpellScriptLoader("spell_pursue") {}
+ spell_pursue() : SpellScriptLoader("spell_pursue") { }
class spell_pursue_SpellScript : public SpellScript
{
@@ -1717,7 +1717,7 @@ class spell_pursue : public SpellScriptLoader
class spell_vehicle_throw_passenger : public SpellScriptLoader
{
public:
- spell_vehicle_throw_passenger() : SpellScriptLoader("spell_vehicle_throw_passenger") {}
+ spell_vehicle_throw_passenger() : SpellScriptLoader("spell_vehicle_throw_passenger") { }
class spell_vehicle_throw_passenger_SpellScript : public SpellScript
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index dfeeebaae99..ec2cf36822d 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -361,7 +361,7 @@ class spell_ulduar_rubble_summon : public SpellScriptLoader
class StoneGripTargetSelector : public std::unary_function<Unit*, bool>
{
public:
- StoneGripTargetSelector(Creature* me, Unit const* victim) : _me(me), _victim(victim) {}
+ StoneGripTargetSelector(Creature* me, Unit const* victim) : _me(me), _victim(victim) { }
bool operator()(WorldObject* target)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index fb835b5a4d9..31c635c7de5 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -307,7 +307,7 @@ class boss_razorscale_controller : public CreatureScript
class go_razorscale_harpoon : public GameObjectScript
{
public:
- go_razorscale_harpoon() : GameObjectScript("go_razorscale_harpoon") {}
+ go_razorscale_harpoon() : GameObjectScript("go_razorscale_harpoon") { }
bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
{
@@ -851,7 +851,7 @@ class npc_darkrune_watcher : public CreatureScript
struct npc_darkrune_watcherAI : public ScriptedAI
{
- npc_darkrune_watcherAI(Creature* creature) : ScriptedAI(creature){}
+ npc_darkrune_watcherAI(Creature* creature) : ScriptedAI(creature){ }
uint32 ChainTimer;
uint32 LightTimer;
@@ -900,7 +900,7 @@ class npc_darkrune_guardian : public CreatureScript
struct npc_darkrune_guardianAI : public ScriptedAI
{
- npc_darkrune_guardianAI(Creature* creature) : ScriptedAI(creature){}
+ npc_darkrune_guardianAI(Creature* creature) : ScriptedAI(creature){ }
uint32 StormTimer;
@@ -955,7 +955,7 @@ class npc_darkrune_sentinel : public CreatureScript
struct npc_darkrune_sentinelAI : public ScriptedAI
{
- npc_darkrune_sentinelAI(Creature* creature) : ScriptedAI(creature){}
+ npc_darkrune_sentinelAI(Creature* creature) : ScriptedAI(creature){ }
uint32 HeroicTimer;
uint32 WhirlTimer;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index bed7bd86b91..12925f1c6e1 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -459,7 +459,7 @@ class npc_xt002_heart : public CreatureScript
SetCombatMovement(false);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index 7fcb624c35e..4ba6d948f1a 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -1047,7 +1047,7 @@ class boss_brain_of_yogg_saron : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
void DoAction(int32 action) OVERRIDE
{
@@ -1132,7 +1132,7 @@ class npc_ominous_cloud : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
void DoAction(int32 action) OVERRIDE
{
@@ -1400,7 +1400,7 @@ class npc_influence_tentacle : public CreatureScript
brain->AI()->DoAction(ACTION_TENTACLE_KILLED);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
private:
InstanceScript* _instance;
@@ -1431,7 +1431,7 @@ class npc_descend_into_madness : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
private:
InstanceScript* _instance;
@@ -1544,7 +1544,7 @@ class npc_observation_ring_keeper : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
@@ -1914,7 +1914,7 @@ class npc_laughing_skull : public CreatureScript
}
// don't evade, otherwise the Lunatic Gaze aura is removed
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index b46a41af678..75aa2994dbc 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -321,7 +321,7 @@ class npc_vrykul_skeleton : public CreatureScript
class spell_frost_tomb : public SpellScriptLoader
{
public:
- spell_frost_tomb() : SpellScriptLoader("spell_frost_tomb") {}
+ spell_frost_tomb() : SpellScriptLoader("spell_frost_tomb") { }
class spell_frost_tomb_AuraScript : public AuraScript
{
@@ -352,7 +352,7 @@ class spell_frost_tomb : public SpellScriptLoader
class achievement_on_the_rocks : public AchievementCriteriaScript
{
public:
- achievement_on_the_rocks() : AchievementCriteriaScript("achievement_on_the_rocks") {}
+ achievement_on_the_rocks() : AchievementCriteriaScript("achievement_on_the_rocks") { }
bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
index ffdd8fe232f..5247f9019da 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
@@ -61,7 +61,7 @@ enum Spells
class SkarvaldChargePredicate
{
public:
- SkarvaldChargePredicate(Unit* unit) : me(unit) {}
+ SkarvaldChargePredicate(Unit* unit) : me(unit) { }
bool operator() (WorldObject* object) const
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index b8fa87106a4..818631788b6 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -514,7 +514,7 @@ public:
{
npc_spectatorAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void MovementInform(uint32 motionType, uint32 pointId) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
index 0277c21cb83..4959b3a6b58 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
@@ -47,7 +47,7 @@ public:
struct instance_pinnacle : public InstanceScript
{
- instance_pinnacle(Map* map) : InstanceScript(map) {}
+ instance_pinnacle(Map* map) : InstanceScript(map) { }
uint64 uiSvalaSorrowgrave;
uint64 uiGortokPalehoof;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
index 22174ea2528..e8e54184cb3 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
@@ -128,7 +128,7 @@ class npc_frost_warder : public CreatureScript
struct npc_frost_warderAI : public ScriptedAI
{
- npc_frost_warderAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_frost_warderAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
index 8f44e47dd74..80ebc01debc 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
@@ -87,7 +87,7 @@ public:
instance->SetData(DATA_CYANIGOSA_EVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 0052d7bc87e..883ea8fa0c0 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -142,7 +142,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
@@ -303,7 +303,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index efaa9a8644b..4852b6cea07 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -206,7 +206,7 @@ public:
return 0;
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 uiDiff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index 5eaeaab8dc0..964f6b75e72 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -100,7 +100,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index 2d53fdebde7..d5dd41e7a90 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -93,7 +93,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 20f7e7952fe..8b39c48fb92 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -152,7 +152,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 uiDiff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index a3c84e248e7..3db389ac703 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -123,7 +123,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 60d7570b96f..4ff0f2d36e9 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -112,7 +112,7 @@ public:
struct instance_violet_hold_InstanceMapScript : public InstanceScript
{
- instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 uiMoragg;
uint64 uiErekem;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index db382dd9d72..c78a1ee1740 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -578,9 +578,9 @@ public:
bPortalGuardianOrKeeperOrEliteSpawn = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
@@ -1342,7 +1342,7 @@ public:
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
}
- void EnterCombat(Unit * /*who*/) OVERRIDE {}
+ void EnterCombat(Unit * /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/isle_of_conquest.cpp b/src/server/scripts/Northrend/isle_of_conquest.cpp
index 9efcd8406d7..62173bb2145 100644
--- a/src/server/scripts/Northrend/isle_of_conquest.cpp
+++ b/src/server/scripts/Northrend/isle_of_conquest.cpp
@@ -27,7 +27,7 @@
class npc_four_car_garage : public CreatureScript
{
public:
- npc_four_car_garage() : CreatureScript("npc_four_car_garage") {}
+ npc_four_car_garage() : CreatureScript("npc_four_car_garage") { }
struct npc_four_car_garageAI : public NullCreatureAI
{
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index 2b5508272d9..f5700358150 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -64,7 +64,7 @@ public:
struct npc_sinkhole_kill_creditAI : public ScriptedAI
{
- npc_sinkhole_kill_creditAI(Creature* creature) : ScriptedAI(creature){}
+ npc_sinkhole_kill_creditAI(Creature* creature) : ScriptedAI(creature){ }
uint32 phaseTimer;
uint8 phase;
@@ -90,7 +90,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -175,7 +175,7 @@ public:
struct npc_khunok_the_behemothAI : public ScriptedAI
{
- npc_khunok_the_behemothAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_khunok_the_behemothAI(Creature* creature) : ScriptedAI(creature) { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -355,11 +355,11 @@ public:
struct npc_nerubar_victimAI : public ScriptedAI
{
- npc_nerubar_victimAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_nerubar_victimAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
@@ -411,7 +411,7 @@ public:
struct npc_jennyAI : public ScriptedAI
{
- npc_jennyAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_jennyAI(Creature* creature) : ScriptedAI(creature) { }
bool setCrateNumber;
@@ -472,7 +472,7 @@ public:
struct npc_fezzix_geartwistAI : public ScriptedAI
{
- npc_fezzix_geartwistAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fezzix_geartwistAI(Creature* creature) : ScriptedAI(creature) { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -557,8 +557,8 @@ public:
go_caribouGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
@@ -672,7 +672,7 @@ public:
struct npc_lurgglbrAI : public npc_escortAI
{
- npc_lurgglbrAI(Creature* creature) : npc_escortAI(creature){}
+ npc_lurgglbrAI(Creature* creature) : npc_escortAI(creature){ }
uint32 IntroTimer;
uint32 IntroPhase;
@@ -959,7 +959,7 @@ public:
struct npc_thassarianAI : public npc_escortAI
{
- npc_thassarianAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_thassarianAI(Creature* creature) : npc_escortAI(creature) { }
uint64 arthasGUID;
uint64 talbotGUID;
@@ -1263,7 +1263,7 @@ public:
struct npc_image_lich_kingAI : public ScriptedAI
{
- npc_image_lich_kingAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_image_lich_kingAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1298,7 +1298,7 @@ public:
struct npc_general_arlosAI : public ScriptedAI
{
- npc_general_arlosAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_general_arlosAI(Creature* creature) : ScriptedAI(creature) { }
void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
{
@@ -1587,7 +1587,7 @@ public:
struct npc_beryl_sorcererAI : public FollowerAI
{
- npc_beryl_sorcererAI(Creature* creature) : FollowerAI(creature) {}
+ npc_beryl_sorcererAI(Creature* creature) : FollowerAI(creature) { }
bool bEnslaved;
@@ -1672,7 +1672,7 @@ public:
struct npc_imprisoned_beryl_sorcererAI : public ScriptedAI
{
- npc_imprisoned_beryl_sorcererAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_imprisoned_beryl_sorcererAI(Creature* creature) : ScriptedAI(creature) { }
uint32 rebuff;
@@ -1799,7 +1799,7 @@ public:
struct npc_mootoo_the_youngerAI : public npc_escortAI
{
- npc_mootoo_the_youngerAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_mootoo_the_youngerAI(Creature* creature) : npc_escortAI(creature) { }
void Reset() OVERRIDE
{
@@ -1880,7 +1880,7 @@ public:
struct npc_bonker_togglevoltAI : public npc_escortAI
{
- npc_bonker_togglevoltAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_bonker_togglevoltAI(Creature* creature) : npc_escortAI(creature) { }
uint32 Bonker_agro;
void Reset() OVERRIDE
@@ -1978,7 +1978,7 @@ public:
struct npc_trapped_mammoth_calfAI : public ScriptedAI
{
- npc_trapped_mammoth_calfAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_trapped_mammoth_calfAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiTimer;
bool bStarted;
@@ -2067,7 +2067,7 @@ public:
struct npc_magmoth_crusherAI : public ScriptedAI
{
- npc_magmoth_crusherAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_magmoth_crusherAI(Creature* creature) : ScriptedAI(creature) { }
void JustDied(Unit* killer) OVERRIDE
{
@@ -2168,7 +2168,7 @@ public:
struct npc_valiance_keep_cannoneerAI : public ScriptedAI
{
- npc_valiance_keep_cannoneerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_valiance_keep_cannoneerAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiTimer;
@@ -2226,7 +2226,7 @@ public:
struct npc_warmage_coldarraAI : public ScriptedAI
{
- npc_warmage_coldarraAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_warmage_coldarraAI(Creature* creature) : ScriptedAI(creature) { }
uint32 m_uiTimer; //Timer until recast
@@ -2235,9 +2235,9 @@ public:
m_uiTimer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 uiDiff) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index 0ae31d08182..11f353b1cc2 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -64,11 +64,11 @@ public:
creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
}
- void Reset()OVERRIDE {}
+ void Reset()OVERRIDE { }
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
- void AttackStart(Unit* /*who*/)OVERRIDE {}
+ void AttackStart(Unit* /*who*/)OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -118,7 +118,7 @@ public:
return;
}
- void UpdateAI(uint32 /*diff*/)OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/)OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index 1a080824136..6bf791417ab 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -217,9 +217,9 @@ public:
struct npc_mrfloppyAI : public ScriptedAI
{
- npc_mrfloppyAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_mrfloppyAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* Who) OVERRIDE
{
@@ -239,9 +239,9 @@ public:
}
}
- void EnterEvadeMode() OVERRIDE {}
+ void EnterEvadeMode() OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 /*diff*/) OVERRIDE
@@ -279,7 +279,7 @@ public:
struct npc_outhouse_bunnyAI : public ScriptedAI
{
- npc_outhouse_bunnyAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_outhouse_bunnyAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -341,7 +341,7 @@ public:
struct npc_tallhorn_stagAI : public ScriptedAI
{
- npc_tallhorn_stagAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_tallhorn_stagAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -393,7 +393,7 @@ public:
struct npc_amberpine_woodsmanAI : public ScriptedAI
{
- npc_amberpine_woodsmanAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_amberpine_woodsmanAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -459,7 +459,7 @@ public:
struct npc_wounded_skirmisherAI : public ScriptedAI
{
- npc_wounded_skirmisherAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_wounded_skirmisherAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 4626ffabd79..671628e4cbc 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -71,7 +71,7 @@ public:
struct npc_Apothecary_HanesAI : public npc_escortAI
{
- npc_Apothecary_HanesAI(Creature* creature) : npc_escortAI(creature){}
+ npc_Apothecary_HanesAI(Creature* creature) : npc_escortAI(creature){ }
uint32 PotTimer;
void Reset() OVERRIDE
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index 24452a5fb5f..d952321c749 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -306,7 +306,7 @@ public:
struct npc_vereth_the_cunningAI : public ScriptedAI
{
- npc_vereth_the_cunningAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_vereth_the_cunningAI(Creature* creature) : ScriptedAI(creature) { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -364,7 +364,7 @@ enum TournamentDummy
class npc_tournament_training_dummy : public CreatureScript
{
public:
- npc_tournament_training_dummy(): CreatureScript("npc_tournament_training_dummy"){}
+ npc_tournament_training_dummy(): CreatureScript("npc_tournament_training_dummy"){ }
struct npc_tournament_training_dummyAI : ScriptedAI
{
@@ -483,7 +483,7 @@ class npc_tournament_training_dummy : public CreatureScript
me->SetControlled(true, UNIT_STATE_STUNNED);
}
- void MoveInLineOfSight(Unit* /*who*/)OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/)OVERRIDE { }
};
@@ -616,9 +616,9 @@ public:
events.ScheduleEvent(EVENT_SPAWN, 3000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void JustSummoned(Creature* Summoned) OVERRIDE
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index bf284c5138b..77b85037a01 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -502,7 +502,7 @@ public:
struct npc_jungle_punch_targetAI : public ScriptedAI
{
- npc_jungle_punch_targetAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_jungle_punch_targetAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1016,7 +1016,7 @@ public:
struct npc_vics_flying_machineAI : public VehicleAI
{
- npc_vics_flying_machineAI(Creature* creature) : VehicleAI(creature) {}
+ npc_vics_flying_machineAI(Creature* creature) : VehicleAI(creature) { }
void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) OVERRIDE
{
@@ -1073,7 +1073,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index 1fc0cce51b4..83d49045eff 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -65,9 +65,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -178,7 +178,7 @@ public:
struct npc_brunnhildar_prisonerAI : public ScriptedAI
{
- npc_brunnhildar_prisonerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_brunnhildar_prisonerAI(Creature* creature) : ScriptedAI(creature) { }
bool freed;
@@ -250,7 +250,7 @@ public:
struct npc_freed_protodrakeAI : public VehicleAI
{
- npc_freed_protodrakeAI(Creature* creature) : VehicleAI(creature) {}
+ npc_freed_protodrakeAI(Creature* creature) : VehicleAI(creature) { }
EventMap events;
@@ -323,11 +323,11 @@ public:
struct npc_icefangAI : public npc_escortAI
{
- npc_icefangAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_icefangAI(Creature* creature) : npc_escortAI(creature) { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void EnterEvadeMode() OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterEvadeMode() OVERRIDE { }
void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) OVERRIDE
{
@@ -378,7 +378,7 @@ class npc_hyldsmeet_protodrake : public CreatureScript
class npc_hyldsmeet_protodrakeAI : public CreatureAI
{
public:
- npc_hyldsmeet_protodrakeAI(Creature* creature) : CreatureAI(creature), _accessoryRespawnTimer(0), _vehicleKit(creature->GetVehicleKit()) {}
+ npc_hyldsmeet_protodrakeAI(Creature* creature) : CreatureAI(creature), _accessoryRespawnTimer(0), _vehicleKit(creature->GetVehicleKit()) { }
void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) OVERRIDE
{
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 532ede3f849..66415448d32 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -47,7 +47,7 @@ public:
struct npc_drakuru_shacklesAI : public ScriptedAI
{
- npc_drakuru_shacklesAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_drakuru_shacklesAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -133,7 +133,7 @@ public:
struct npc_captured_rageclawAI : public ScriptedAI
{
- npc_captured_rageclawAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_captured_rageclawAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -141,7 +141,7 @@ public:
DoCast(me, SPELL_KNEEL, true); // Little Hack for kneel - Thanks Illy :P
}
- void MoveInLineOfSight(Unit* /*who*/)OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/)OVERRIDE { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
@@ -267,7 +267,7 @@ public:
struct npc_gurgthockAI : public ScriptedAI
{
- npc_gurgthockAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_gurgthockAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -726,7 +726,7 @@ public:
struct npc_yggdrasAI : public ScriptedAI
{
- npc_yggdrasAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_yggdrasAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -943,7 +943,7 @@ public:
struct npc_elemental_lordAI : public ScriptedAI
{
- npc_elemental_lordAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_elemental_lordAI(Creature* creature) : ScriptedAI(creature) { }
std::list<uint64> SummonList;
@@ -1088,7 +1088,7 @@ public:
struct npc_fiend_elementalAI : public ScriptedAI
{
- npc_fiend_elementalAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fiend_elementalAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1154,7 +1154,7 @@ public:
struct npc_released_offspring_harkoaAI : public ScriptedAI
{
- npc_released_offspring_harkoaAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_released_offspring_harkoaAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1200,7 +1200,7 @@ public:
struct npc_crusade_recruitAI : public ScriptedAI
{
- npc_crusade_recruitAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_crusade_recruitAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1815,7 +1815,7 @@ class spell_fetch_ingredient_aura : public SpellScriptLoader
}
};
-enum StormCloud
+enum StormCloud
{
STORM_COULD = 29939,
HEALING_WINDS = 55549,
@@ -1831,7 +1831,7 @@ public:
struct npc_storm_cloudAI : public ScriptedAI
{
- npc_storm_cloudAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_storm_cloudAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1842,7 +1842,7 @@ public:
{
Reset();
}
-
+
void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
{
if (spell->Id != GYMERS_GRAB)
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
index 60dce43bc42..d6743428db0 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
@@ -205,7 +205,7 @@ class OPvPCapturePointZM_GraveYard : public OPvPCapturePoint
bool Update(uint32 diff);
- void ChangeState() {}
+ void ChangeState() { }
void FillInitialWorldStates(WorldPacket & data);
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
index 9735011ba81..4f7ac113547 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -61,7 +61,7 @@ public:
struct npc_stolen_soulAI : public ScriptedAI
{
- npc_stolen_soulAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_stolen_soulAI(Creature* creature) : ScriptedAI(creature) { }
uint8 myClass;
uint32 Class_Timer;
@@ -314,7 +314,7 @@ public:
struct npc_avatar_of_martyredAI : public ScriptedAI
{
- npc_avatar_of_martyredAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_avatar_of_martyredAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Mortal_Strike_timer;
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
index 83c0cbf04d5..862fe76decd 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -331,7 +331,7 @@ public:
struct npc_ethereal_apprenticeAI : public ScriptedAI
{
- npc_ethereal_apprenticeAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_ethereal_apprenticeAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Cast_Timer;
@@ -378,9 +378,9 @@ public:
struct npc_yorAI : public ScriptedAI
{
- npc_yorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_yorAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
index be3a109b9f0..c077cec3c04 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -220,7 +220,7 @@ public:
flamebuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -279,7 +279,7 @@ public:
arcanebuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -333,7 +333,7 @@ public:
frostbuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -388,7 +388,7 @@ public:
shadowbuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
index a44c5f58dc4..57c494756e5 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
@@ -63,7 +63,7 @@ public:
struct npc_spirit_of_olumAI : public ScriptedAI
{
- npc_spirit_of_olumAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_spirit_of_olumAI(Creature* creature) : ScriptedAI(creature) { }
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 279a846140c..718ac1667b8 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -377,7 +377,7 @@ public:
struct flame_of_azzinothAI : public ScriptedAI
{
- flame_of_azzinothAI(Creature* creature) : ScriptedAI(creature) {}
+ flame_of_azzinothAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -534,7 +534,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit*) OVERRIDE {}
+ void MoveInLineOfSight(Unit*) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
@@ -1140,7 +1140,7 @@ public:
struct boss_maievAI : public ScriptedAI
{
- boss_maievAI(Creature* creature) : ScriptedAI(creature) {};
+ boss_maievAI(Creature* creature) : ScriptedAI(creature) { };
void Reset() OVERRIDE
{
@@ -1154,10 +1154,10 @@ public:
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 45738);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void EnterEvadeMode() OVERRIDE {}
+ void EnterEvadeMode() OVERRIDE { }
void GetIllidanGUID(uint64 guid)
{
@@ -1428,8 +1428,8 @@ public:
me->CombatStop(true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void MovementInform(uint32 MovementType, uint32 /*Data*/) OVERRIDE
@@ -1976,7 +1976,7 @@ public:
struct cage_trap_triggerAI : public ScriptedAI
{
- cage_trap_triggerAI(Creature* creature) : ScriptedAI(creature) {}
+ cage_trap_triggerAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1990,7 +1990,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -2074,7 +2074,7 @@ public:
struct shadow_demonAI : public ScriptedAI
{
- shadow_demonAI(Creature* creature) : ScriptedAI(creature) {}
+ shadow_demonAI(Creature* creature) : ScriptedAI(creature) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
@@ -2130,7 +2130,7 @@ public:
struct blade_of_azzinothAI : public NullCreatureAI
{
- blade_of_azzinothAI(Creature* creature) : NullCreatureAI(creature) {}
+ blade_of_azzinothAI(Creature* creature) : NullCreatureAI(creature) { }
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
index ab3bc98b41b..ad913a45071 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -111,7 +111,7 @@ public:
struct npc_enslaved_soulAI : public ScriptedAI
{
- npc_enslaved_soulAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_enslaved_soulAI(Creature* creature) : ScriptedAI(creature) { }
uint64 ReliquaryGUID;
@@ -393,7 +393,7 @@ public:
struct boss_essence_of_sufferingAI : public ScriptedAI
{
- boss_essence_of_sufferingAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_essence_of_sufferingAI(Creature* creature) : ScriptedAI(creature) { }
uint64 StatAuraGUID;
@@ -516,7 +516,7 @@ public:
struct boss_essence_of_desireAI : public ScriptedAI
{
- boss_essence_of_desireAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_essence_of_desireAI(Creature* creature) : ScriptedAI(creature) { }
uint32 RuneShieldTimer;
uint32 DeadenTimer;
@@ -619,7 +619,7 @@ public:
struct boss_essence_of_angerAI : public ScriptedAI
{
- boss_essence_of_angerAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_essence_of_angerAI(Creature* creature) : ScriptedAI(creature) { }
uint64 AggroTargetGUID;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 92647cfb69f..1a2a55e6d00 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -784,7 +784,7 @@ public:
CAST_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void AttackStart(Unit* who) OVERRIDE
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index 94423f87bdf..b62e7b35a3c 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -70,7 +70,7 @@ public:
struct molten_flameAI : public NullCreatureAI
{
- molten_flameAI(Creature* creature) : NullCreatureAI(creature) {}
+ molten_flameAI(Creature* creature) : NullCreatureAI(creature) { }
void InitializeAI() OVERRIDE
{
@@ -283,9 +283,9 @@ public:
}
uint32 wait;
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void DoAction(int32 /*info*/) OVERRIDE
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index c02954c7b2f..7d445e23053 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -63,7 +63,7 @@ public:
struct npc_doom_blossomAI : public ScriptedAI
{
- npc_doom_blossomAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_doom_blossomAI(Creature* creature) : ScriptedAI(creature) { }
uint32 CheckTeronTimer;
uint32 ShadowBoltTimer;
@@ -76,9 +76,9 @@ public:
TeronGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void Despawn()
@@ -132,7 +132,7 @@ public:
struct npc_shadowy_constructAI : public ScriptedAI
{
- npc_shadowy_constructAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_shadowy_constructAI(Creature* creature) : ScriptedAI(creature) { }
uint64 GhostGUID;
uint64 TeronGUID;
@@ -149,7 +149,7 @@ public:
CheckTeronTimer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -266,7 +266,7 @@ public:
Done = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 05d19eb62bf..cf552abe042 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -164,10 +164,10 @@ public:
} else TC_LOG_ERROR(LOG_FILTER_TSCR, ERROR_INST_DATA);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
@@ -277,9 +277,9 @@ public:
me->SetDisplayId(11686);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void StartEvent(Unit* target)
@@ -481,7 +481,7 @@ public:
struct boss_gathios_the_shattererAI : public boss_illidari_councilAI
{
- boss_gathios_the_shattererAI(Creature* creature) : boss_illidari_councilAI(creature) {}
+ boss_gathios_the_shattererAI(Creature* creature) : boss_illidari_councilAI(creature) { }
uint32 ConsecrationTimer;
uint32 HammerOfJusticeTimer;
@@ -613,7 +613,7 @@ public:
struct boss_high_nethermancer_zerevorAI : public boss_illidari_councilAI
{
- boss_high_nethermancer_zerevorAI(Creature* creature) : boss_illidari_councilAI(creature) {}
+ boss_high_nethermancer_zerevorAI(Creature* creature) : boss_illidari_councilAI(creature) { }
uint32 BlizzardTimer;
uint32 FlamestrikeTimer;
@@ -717,7 +717,7 @@ public:
struct boss_lady_malandeAI : public boss_illidari_councilAI
{
- boss_lady_malandeAI(Creature* creature) : boss_illidari_councilAI(creature) {}
+ boss_lady_malandeAI(Creature* creature) : boss_illidari_councilAI(creature) { }
uint32 EmpoweredSmiteTimer;
uint32 CircleOfHealingTimer;
@@ -795,7 +795,7 @@ public:
struct boss_veras_darkshadowAI : public boss_illidari_councilAI
{
- boss_veras_darkshadowAI(Creature* creature) : boss_illidari_councilAI(creature) {}
+ boss_veras_darkshadowAI(Creature* creature) : boss_illidari_councilAI(creature) { }
uint64 EnvenomTargetGUID;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
index ff66dcb550c..1d233aa6da4 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -601,9 +601,9 @@ public:
VashjGUID = instance->GetData64(DATA_LADYVASHJ);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
@@ -842,7 +842,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
index a87ad44ef1c..83ec5e053c0 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
@@ -609,7 +609,7 @@ public:
struct boss_leotheras_the_blind_demonformAI : public ScriptedAI
{
- boss_leotheras_the_blind_demonformAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_leotheras_the_blind_demonformAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ChaosBlast_Timer;
bool DealDamage;
@@ -801,7 +801,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE {}
+ void JustDied(Unit* /*killer*/) OVERRIDE { }
};
};
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
index cd56005b3f6..0393379d26a 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -429,7 +429,7 @@ public:
class go_strange_pool : public GameObjectScript
{
public:
- go_strange_pool() : GameObjectScript("go_strange_pool") {}
+ go_strange_pool() : GameObjectScript("go_strange_pool") { }
bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
index e0469dbfbfb..48a4a1e5ecd 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
@@ -299,7 +299,7 @@ public:
struct npc_water_globuleAI : public ScriptedAI
{
- npc_water_globuleAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_water_globuleAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Check_Timer;
@@ -312,7 +312,7 @@ public:
me->setFaction(14);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
index 50e9ffee196..d6162fd1ea4 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
@@ -146,7 +146,7 @@ public:
struct npc_coilfang_waterelementalAI : public ScriptedAI
{
- npc_coilfang_waterelementalAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_coilfang_waterelementalAI(Creature* creature) : ScriptedAI(creature) { }
uint32 WaterBoltVolley_Timer;
@@ -155,7 +155,7 @@ public:
WaterBoltVolley_Timer = 3000+rand()%3000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
index 7c31c0dab0c..241d0f8fec2 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
@@ -221,7 +221,7 @@ public:
//react only if attacked
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
index 10a0b63a7b5..887d51a43bf 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -78,7 +78,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void StartRageGen(Unit* /*caster*/)
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
index 3475e83f02c..cd11e2e1bf1 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
@@ -37,7 +37,7 @@ public:
struct instance_the_slave_pens_InstanceMapScript : public InstanceScript
{
- instance_the_slave_pens_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_the_slave_pens_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
index 0db48d83ebb..ef3d317643b 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
@@ -116,7 +116,7 @@ public:
struct npc_underbog_mushroomAI : public ScriptedAI
{
- npc_underbog_mushroomAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_underbog_mushroomAI(Creature* creature) : ScriptedAI(creature) { }
bool Stop;
uint32 Grow_Timer;
@@ -132,12 +132,12 @@ public:
DoCast(me, SPELL_SPORE_CLOUD, true);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
index c22dedd269e..47bd4e3bb6c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
@@ -80,7 +80,7 @@ public:
Striders.clear();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustSummoned(Creature* summon) OVERRIDE
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
index 0a305edf23f..08d80d3dd82 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
@@ -37,7 +37,7 @@ public:
struct instance_the_underbog_InstanceMapScript : public InstanceScript
{
- instance_the_underbog_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_the_underbog_InstanceMapScript(Map* map) : InstanceScript(map) { }
};
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index 2f5e160b335..be4cac80adb 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -161,7 +161,7 @@ class boss_broggok : public CreatureScript
class go_broggok_lever : public GameObjectScript
{
public:
- go_broggok_lever() : GameObjectScript("go_broggok_lever") {}
+ go_broggok_lever() : GameObjectScript("go_broggok_lever") { }
bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
index fedf56eb929..f6bceb78a14 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
@@ -296,11 +296,11 @@ class npc_shadowmoon_channeler : public CreatureScript
{
public:
- npc_shadowmoon_channeler() : CreatureScript("npc_shadowmoon_channeler") {}
+ npc_shadowmoon_channeler() : CreatureScript("npc_shadowmoon_channeler") { }
struct npc_shadowmoon_channelerAI : public ScriptedAI
{
- npc_shadowmoon_channelerAI(Creature* creature) : ScriptedAI(creature){}
+ npc_shadowmoon_channelerAI(Creature* creature) : ScriptedAI(creature){ }
uint32 ShadowBolt_Timer;
uint32 MarkOfShadow_Timer;
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
index 8b233901608..b8edd55a3ed 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
@@ -36,11 +36,11 @@ class instance_blood_furnace : public InstanceMapScript
{
public:
instance_blood_furnace()
- : InstanceMapScript("instance_blood_furnace", 542) {}
+ : InstanceMapScript("instance_blood_furnace", 542) { }
struct instance_blood_furnace_InstanceMapScript : public InstanceScript
{
- instance_blood_furnace_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_blood_furnace_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 The_MakerGUID;
uint64 BroggokGUID;
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
index a4007a5a7b1..2388a67b3e5 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
@@ -83,7 +83,7 @@ class boss_nazan : public CreatureScript
Turn_Timer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void IsSummonedBy(Unit* summoner) OVERRIDE
{
@@ -456,14 +456,14 @@ class npc_hellfire_sentry : public CreatureScript
struct npc_hellfire_sentryAI : public ScriptedAI
{
- npc_hellfire_sentryAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_hellfire_sentryAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
KidneyShot_Timer = urand(3000, 7000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
index 260cdf0e2e6..0c8df4c01e7 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
@@ -34,7 +34,7 @@ class instance_ramparts : public InstanceMapScript
struct instance_ramparts_InstanceMapScript : public InstanceScript
{
- instance_ramparts_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_ramparts_InstanceMapScript(Map* map) : InstanceScript(map) { }
void Initialize() OVERRIDE
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index f99bb4ade85..f4ee716dc67 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -320,7 +320,7 @@ class boss_magtheridon : public CreatureScript
Talk(SAY_DEATH);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void AttackStart(Unit* who) OVERRIDE
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index 0dbd21ff94a..981774a677b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -384,12 +384,12 @@ class npc_lesser_shadow_fissure : public CreatureScript
struct npc_lesser_shadow_fissureAI : public ScriptedAI
{
- npc_lesser_shadow_fissureAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_lesser_shadow_fissureAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index 8b2cce69dc7..5d789359864 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -157,7 +157,7 @@ class boss_alar : public CreatureScript
summon->AI()->AttackStart(target);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void AttackStart(Unit* who) OVERRIDE
{
@@ -539,13 +539,13 @@ class npc_flame_patch_alar : public CreatureScript
struct npc_flame_patch_alarAI : public ScriptedAI
{
- npc_flame_patch_alarAI(Creature* creature) : ScriptedAI(creature) {}
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ npc_flame_patch_alarAI(Creature* creature) : ScriptedAI(creature) { }
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*diff*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index cf25efb17c6..f109dcf22ba 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -1026,7 +1026,7 @@ class boss_thaladred_the_darkener : public CreatureScript
}
struct boss_thaladred_the_darkenerAI : public advisorbase_ai
{
- boss_thaladred_the_darkenerAI(Creature* creature) : advisorbase_ai(creature) {}
+ boss_thaladred_the_darkenerAI(Creature* creature) : advisorbase_ai(creature) { }
uint32 Gaze_Timer;
uint32 Silence_Timer;
@@ -1124,7 +1124,7 @@ class boss_lord_sanguinar : public CreatureScript
}
struct boss_lord_sanguinarAI : public advisorbase_ai
{
- boss_lord_sanguinarAI(Creature* creature) : advisorbase_ai(creature) {}
+ boss_lord_sanguinarAI(Creature* creature) : advisorbase_ai(creature) { }
uint32 Fear_Timer;
@@ -1191,7 +1191,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
}
struct boss_grand_astromancer_capernianAI : public advisorbase_ai
{
- boss_grand_astromancer_capernianAI(Creature* creature) : advisorbase_ai(creature) {}
+ boss_grand_astromancer_capernianAI(Creature* creature) : advisorbase_ai(creature) { }
uint32 Fireball_Timer;
uint32 Conflagration_Timer;
@@ -1336,7 +1336,7 @@ class boss_master_engineer_telonicus : public CreatureScript
}
struct boss_master_engineer_telonicusAI : public advisorbase_ai
{
- boss_master_engineer_telonicusAI(Creature* creature) : advisorbase_ai(creature) {}
+ boss_master_engineer_telonicusAI(Creature* creature) : advisorbase_ai(creature) { }
uint32 Bomb_Timer;
uint32 RemoteToy_Timer;
@@ -1438,10 +1438,10 @@ class npc_kael_flamestrike : public CreatureScript
me->setFaction(14);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -1487,7 +1487,7 @@ class npc_phoenix_tk : public CreatureScript
}
struct npc_phoenix_tkAI : public ScriptedAI
{
- npc_phoenix_tkAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_phoenix_tkAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Cycle_Timer;
@@ -1541,7 +1541,7 @@ class npc_phoenix_egg_tk : public CreatureScript
}
struct npc_phoenix_egg_tkAI : public ScriptedAI
{
- npc_phoenix_egg_tkAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_phoenix_egg_tkAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Rebirth_Timer;
@@ -1551,7 +1551,7 @@ class npc_phoenix_egg_tk : public CreatureScript
}
//ignore any
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void AttackStart(Unit* who) OVERRIDE
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
index 9995efee99a..f5f75d79b63 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
@@ -46,7 +46,7 @@ class instance_the_eye : public InstanceMapScript
struct instance_the_eye_InstanceMapScript : public InstanceScript
{
- instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint64 ThaladredTheDarkener;
uint64 LordSanguinar;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
index ab9b6ab3046..e8d52c3f819 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
@@ -47,7 +47,7 @@ class npc_crystalcore_devastator : public CreatureScript
}
struct npc_crystalcore_devastatorAI : public ScriptedAI
{
- npc_crystalcore_devastatorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_crystalcore_devastatorAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Knockaway_Timer;
uint32 Countercharge_Timer;
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
index a2c6ba399a3..97a165453f8 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
@@ -53,11 +53,11 @@ enum Events
class boss_gatewatcher_gyrokill : public CreatureScript
{
public:
- boss_gatewatcher_gyrokill() : CreatureScript("boss_gatewatcher_gyrokill") {}
+ boss_gatewatcher_gyrokill() : CreatureScript("boss_gatewatcher_gyrokill") { }
struct boss_gatewatcher_gyrokillAI : public BossAI
{
- boss_gatewatcher_gyrokillAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_GYROKILL) {}
+ boss_gatewatcher_gyrokillAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_GYROKILL) { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
index 7dc073d82d7..6a4de059eb7 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
@@ -56,11 +56,11 @@ enum Events
class boss_gatewatcher_iron_hand : public CreatureScript
{
public:
- boss_gatewatcher_iron_hand(): CreatureScript("boss_gatewatcher_iron_hand") {}
+ boss_gatewatcher_iron_hand(): CreatureScript("boss_gatewatcher_iron_hand") { }
struct boss_gatewatcher_iron_handAI : public BossAI
{
- boss_gatewatcher_iron_handAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_IRON_HAND) {}
+ boss_gatewatcher_iron_handAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_IRON_HAND) { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
index 565aefbd6b9..b5172245b49 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
@@ -61,11 +61,11 @@ enum Events
class boss_nethermancer_sepethrea : public CreatureScript
{
- public: boss_nethermancer_sepethrea(): CreatureScript("boss_nethermancer_sepethrea") {}
+ public: boss_nethermancer_sepethrea(): CreatureScript("boss_nethermancer_sepethrea") { }
struct boss_nethermancer_sepethreaAI : public BossAI
{
- boss_nethermancer_sepethreaAI(Creature* creature) : BossAI(creature, DATA_NETHERMANCER_SEPRETHREA) {}
+ boss_nethermancer_sepethreaAI(Creature* creature) : BossAI(creature, DATA_NETHERMANCER_SEPRETHREA) { }
void EnterCombat(Unit* who) OVERRIDE
{
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
index 1bcdcd48fce..59dee587ef6 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
@@ -69,7 +69,7 @@ enum Creatures
class boss_pathaleon_the_calculator : public CreatureScript
{
public:
- boss_pathaleon_the_calculator(): CreatureScript("boss_pathaleon_the_calculator") {}
+ boss_pathaleon_the_calculator(): CreatureScript("boss_pathaleon_the_calculator") { }
struct boss_pathaleon_the_calculatorAI : public BossAI
{
@@ -172,7 +172,7 @@ class npc_nether_wraith : public CreatureScript
struct npc_nether_wraithAI : public ScriptedAI
{
- npc_nether_wraithAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_nether_wraithAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ArcaneMissiles_Timer;
uint32 Detonation_Timer;
@@ -187,7 +187,7 @@ class npc_nether_wraith : public CreatureScript
Detonation = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index f03cb033b0f..9206636893c 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -122,7 +122,7 @@ class npc_millhouse_manastorm : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
@@ -308,7 +308,7 @@ class npc_warden_mellichar : public CreatureScript
instance->SetData(TYPE_HARBINGERSKYRISS, NOT_STARTED);
}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -539,7 +539,7 @@ class npc_zerekethvoidzone : public CreatureScript
}
struct npc_zerekethvoidzoneAI : public ScriptedAI
{
- npc_zerekethvoidzoneAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_zerekethvoidzoneAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -550,7 +550,7 @@ class npc_zerekethvoidzone : public CreatureScript
DoCast(me, SPELL_VOID_ZONE_DAMAGE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
index c7765eb24ad..eda90d3b734 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -112,7 +112,7 @@ class boss_harbinger_skyriss : public CreatureScript
ScriptedAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -289,11 +289,11 @@ class boss_harbinger_skyriss_illusion : public CreatureScript
}
struct boss_harbinger_skyriss_illusionAI : public ScriptedAI
{
- boss_harbinger_skyriss_illusionAI(Creature* creature) : ScriptedAI(creature) {}
+ boss_harbinger_skyriss_illusionAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
index 41b87495c93..e836c5c4bf9 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
@@ -60,7 +60,7 @@ class instance_arcatraz : public InstanceMapScript
}
struct instance_arcatraz_InstanceMapScript : public InstanceScript
{
- instance_arcatraz_InstanceMapScript(Map* map) : InstanceScript(map) {}
+ instance_arcatraz_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 m_auiEncounter[MAX_ENCOUNTER];
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
index 36a17996f94..68b7c4e8117 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
@@ -86,9 +86,9 @@ class npc_warp_splinter_treant : public CreatureScript
check_Timer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index 57eb587140f..a005153a4fc 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -67,9 +67,9 @@ public:
struct npc_bladespire_ogreAI : public ScriptedAI
{
- npc_bladespire_ogreAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_bladespire_ogreAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void UpdateAI(uint32 /*uiDiff*/) OVERRIDE
{
@@ -119,7 +119,7 @@ public:
struct npc_nether_drakeAI : public ScriptedAI
{
- npc_nether_drakeAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_nether_drakeAI(Creature* creature) : ScriptedAI(creature) { }
bool IsNihil;
uint32 NihilSpeech_Timer;
@@ -140,7 +140,7 @@ public:
IntangiblePresence_Timer = 15000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -284,11 +284,11 @@ public:
struct npc_daranelleAI : public ScriptedAI
{
- npc_daranelleAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_daranelleAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -470,7 +470,7 @@ public:
OgreGUID = 0;
}
- void UpdateAI(uint32 /*uiDiff*/) OVERRIDE {}
+ void UpdateAI(uint32 /*uiDiff*/) OVERRIDE { }
};
};
@@ -490,7 +490,7 @@ public:
struct npc_ogre_bruteAI : public ScriptedAI
{
- npc_ogre_bruteAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_ogre_bruteAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index fc7f4d2ae00..ed7d90cf808 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -68,7 +68,7 @@ public:
struct npc_aeranasAI : public ScriptedAI
{
- npc_aeranasAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_aeranasAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Faction_Timer;
uint32 EnvelopingWinds_Timer;
@@ -388,7 +388,7 @@ public:
struct npc_wounded_blood_elfAI : public npc_escortAI
{
- npc_wounded_blood_elfAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_wounded_blood_elfAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -424,7 +424,7 @@ public:
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void EnterCombat(Unit* /*who*/) OVERRIDE
{
@@ -462,7 +462,7 @@ public:
struct npc_fel_guard_houndAI : public ScriptedAI
{
- npc_fel_guard_houndAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fel_guard_houndAI(Creature* creature) : ScriptedAI(creature) { }
uint32 uiCheckTimer;
uint64 uiHelboarGUID;
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index 1d5e1b8b6a5..c8e4241974e 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -328,11 +328,11 @@ public:
struct npc_creditmarker_visit_with_ancestorsAI : public ScriptedAI
{
- npc_creditmarker_visit_with_ancestorsAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_creditmarker_visit_with_ancestorsAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -433,7 +433,7 @@ public:
struct npc_corkiAI : public ScriptedAI
{
- npc_corkiAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_corkiAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Say_Timer;
bool ReleasedFromCage;
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index 7c328f57e78..e69b6b017a4 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -81,7 +81,7 @@ public:
struct npc_manaforge_control_consoleAI : public ScriptedAI
{
- npc_manaforge_control_consoleAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_manaforge_control_consoleAI(Creature* creature) : ScriptedAI(creature) { }
uint32 Event_Timer;
uint32 Wave_Timer;
@@ -102,7 +102,7 @@ public:
add = NULL;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
/*void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
{
@@ -426,7 +426,7 @@ public:
isEvent = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustSummoned(Creature* summoned) OVERRIDE
{
@@ -746,7 +746,7 @@ public:
struct npc_phase_hunterAI : public ScriptedAI
{
- npc_phase_hunterAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_phase_hunterAI(Creature* creature) : ScriptedAI(creature) { }
bool Weak;
bool Materialize;
@@ -882,7 +882,7 @@ public:
struct npc_bessyAI : public npc_escortAI
{
- npc_bessyAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_bessyAI(Creature* creature) : npc_escortAI(creature) { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -953,7 +953,7 @@ public:
struct npc_maxx_a_million_escortAI : public npc_escortAI
{
- npc_maxx_a_million_escortAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_maxx_a_million_escortAI(Creature* creature) : npc_escortAI(creature) { }
bool bTake;
uint32 uiTakeTimer;
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index eac3dce43b0..db25f9f6158 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -349,7 +349,7 @@ public:
struct npc_dragonmaw_peonAI : public ScriptedAI
{
- npc_dragonmaw_peonAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_dragonmaw_peonAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
bool Tapped;
@@ -726,7 +726,7 @@ public:
struct npc_overlord_morghorAI : public ScriptedAI
{
- npc_overlord_morghorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_overlord_morghorAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
uint64 IllidanGUID;
@@ -1262,7 +1262,7 @@ public:
struct npc_torloth_the_magnificentAI : public ScriptedAI
{
- npc_torloth_the_magnificentAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_torloth_the_magnificentAI(Creature* creature) : ScriptedAI(creature) { }
uint32 AnimationTimer, SpellTimer1, SpellTimer2, SpellTimer3;
@@ -1286,7 +1286,7 @@ public:
me->SetTarget(0);
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void HandleAnimation()
{
@@ -1417,7 +1417,7 @@ public:
struct npc_lord_illidan_stormrageAI : public ScriptedAI
{
- npc_lord_illidan_stormrageAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_lord_illidan_stormrageAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
@@ -1447,10 +1447,10 @@ public:
me->SetVisible(false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE {}
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
void SummonNextWave();
@@ -1467,7 +1467,7 @@ public:
uint8 DeadMemberCount = 0;
uint8 FailedMemberCount = 0;
- const Group::MemberSlotList members = EventGroup->GetMemberSlots();
+ Group::MemberSlotList const& members = EventGroup->GetMemberSlots();
for (Group::member_citerator itr = members.begin(); itr!= members.end(); ++itr)
{
@@ -1559,7 +1559,7 @@ public:
struct npc_illidari_spawnAI : public ScriptedAI
{
- npc_illidari_spawnAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_illidari_spawnAI(Creature* creature) : ScriptedAI(creature) { }
uint64 LordIllidanGUID;
uint32 SpellTimer1, SpellTimer2, SpellTimer3;
@@ -1571,7 +1571,7 @@ public:
Timers = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -1814,11 +1814,11 @@ public:
struct npc_enraged_spiritAI : public ScriptedAI
{
- npc_enraged_spiritAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_enraged_spiritAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void JustDied(Unit* /*killer*/) OVERRIDE
{
@@ -1930,11 +1930,11 @@ enum ShadowMoonTuberEnum
class npc_shadowmoon_tuber_node : public CreatureScript
{
public:
- npc_shadowmoon_tuber_node() : CreatureScript("npc_shadowmoon_tuber_node") {}
+ npc_shadowmoon_tuber_node() : CreatureScript("npc_shadowmoon_tuber_node") { }
struct npc_shadowmoon_tuber_nodeAI : public ScriptedAI
{
- npc_shadowmoon_tuber_nodeAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_shadowmoon_tuber_nodeAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp
index 6f4694a5924..adbec22ca2d 100644
--- a/src/server/scripts/Outland/zone_shattrath_city.cpp
+++ b/src/server/scripts/Outland/zone_shattrath_city.cpp
@@ -162,7 +162,7 @@ public:
struct npc_salsalabimAI : public ScriptedAI
{
- npc_salsalabimAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_salsalabimAI(Creature* creature) : ScriptedAI(creature) { }
uint32 MagneticPull_Timer;
@@ -331,7 +331,7 @@ public:
struct npc_kservantAI : public npc_escortAI
{
public:
- npc_kservantAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_kservantAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -428,7 +428,7 @@ public:
}
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
};
};
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index 2cf82cce4d1..ec7f5f976fd 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -68,7 +68,7 @@ public:
struct npc_unkor_the_ruthlessAI : public ScriptedAI
{
- npc_unkor_the_ruthlessAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_unkor_the_ruthlessAI(Creature* creature) : ScriptedAI(creature) { }
bool CanDoQuest;
uint32 UnkorUnfriendly_Timer;
@@ -83,7 +83,7 @@ public:
me->setFaction(FACTION_HOSTILE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DoNice()
{
@@ -175,10 +175,10 @@ public:
struct npc_infested_root_walkerAI : public ScriptedAI
{
- npc_infested_root_walkerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_infested_root_walkerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
{
@@ -207,7 +207,7 @@ public:
struct npc_skywingAI : public npc_escortAI
{
public:
- npc_skywingAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_skywingAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -223,7 +223,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void MoveInLineOfSight(Unit* who) OVERRIDE
@@ -237,7 +237,7 @@ public:
Start(false, false, who->GetGUID());
}
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -262,10 +262,10 @@ public:
struct npc_rotting_forest_ragerAI : public ScriptedAI
{
- npc_rotting_forest_ragerAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_rotting_forest_ragerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
{
@@ -305,11 +305,11 @@ public:
struct npc_netherweb_victimAI : public ScriptedAI
{
- npc_netherweb_victimAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_netherweb_victimAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void JustDied(Unit* killer) OVERRIDE
@@ -414,7 +414,7 @@ public:
me->setFaction(m_uiNormFaction);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -467,7 +467,7 @@ public:
struct npc_isla_starmaneAI : public npc_escortAI
{
- npc_isla_starmaneAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_isla_starmaneAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
@@ -672,7 +672,7 @@ public:
struct npc_akunoAI : public npc_escortAI
{
- npc_akunoAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_akunoAI(Creature* creature) : npc_escortAI(creature) { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp
index be938582d9c..2497df76bb1 100644
--- a/src/server/scripts/Outland/zone_zangarmarsh.cpp
+++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp
@@ -190,7 +190,7 @@ public:
me->setFaction(m_uiNormFaction);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -342,9 +342,9 @@ public:
struct npc_kayra_longmaneAI : public npc_escortAI
{
- npc_kayra_longmaneAI(Creature* creature) : npc_escortAI(creature) {}
+ npc_kayra_longmaneAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
void WaypointReached(uint32 waypointId) OVERRIDE
{
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index e1305d71b73..e78d690d3c0 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -436,7 +436,7 @@ class spell_dk_death_coil : public SpellScriptLoader
class spell_dk_death_gate : public SpellScriptLoader
{
public:
- spell_dk_death_gate() : SpellScriptLoader("spell_dk_death_gate") {}
+ spell_dk_death_gate() : SpellScriptLoader("spell_dk_death_gate") { }
class spell_dk_death_gate_SpellScript : public SpellScript
{
diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp
index f61da1f7179..73db091eee1 100644
--- a/src/server/scripts/Spells/spell_holiday.cpp
+++ b/src/server/scripts/Spells/spell_holiday.cpp
@@ -203,7 +203,7 @@ enum TrickOrTreatSpells
class spell_hallow_end_trick_or_treat : public SpellScriptLoader
{
public:
- spell_hallow_end_trick_or_treat() : SpellScriptLoader("spell_hallow_end_trick_or_treat") {}
+ spell_hallow_end_trick_or_treat() : SpellScriptLoader("spell_hallow_end_trick_or_treat") { }
class spell_hallow_end_trick_or_treat_SpellScript : public SpellScript
{
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 9f7386ab7e6..630485b0b88 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -1350,7 +1350,7 @@ class spell_item_create_heart_candy : public SpellScriptLoader
class spell_item_book_of_glyph_mastery : public SpellScriptLoader
{
public:
- spell_item_book_of_glyph_mastery() : SpellScriptLoader("spell_item_book_of_glyph_mastery") {}
+ spell_item_book_of_glyph_mastery() : SpellScriptLoader("spell_item_book_of_glyph_mastery") { }
class spell_item_book_of_glyph_mastery_SpellScript : public SpellScript
{
@@ -1404,7 +1404,7 @@ enum GiftOfTheHarvester
class spell_item_gift_of_the_harvester : public SpellScriptLoader
{
public:
- spell_item_gift_of_the_harvester() : SpellScriptLoader("spell_item_gift_of_the_harvester") {}
+ spell_item_gift_of_the_harvester() : SpellScriptLoader("spell_item_gift_of_the_harvester") { }
class spell_item_gift_of_the_harvester_SpellScript : public SpellScript
{
@@ -1445,7 +1445,7 @@ enum Sinkholes
class spell_item_map_of_the_geyser_fields : public SpellScriptLoader
{
public:
- spell_item_map_of_the_geyser_fields() : SpellScriptLoader("spell_item_map_of_the_geyser_fields") {}
+ spell_item_map_of_the_geyser_fields() : SpellScriptLoader("spell_item_map_of_the_geyser_fields") { }
class spell_item_map_of_the_geyser_fields_SpellScript : public SpellScript
{
@@ -1536,7 +1536,7 @@ enum AshbringerSounds
class spell_item_ashbringer : public SpellScriptLoader
{
public:
- spell_item_ashbringer() : SpellScriptLoader("spell_item_ashbringer") {}
+ spell_item_ashbringer() : SpellScriptLoader("spell_item_ashbringer") { }
class spell_item_ashbringer_SpellScript : public SpellScript
{
@@ -1585,7 +1585,7 @@ enum MagicEater
class spell_magic_eater_food : public SpellScriptLoader
{
public:
- spell_magic_eater_food() : SpellScriptLoader("spell_magic_eater_food") {}
+ spell_magic_eater_food() : SpellScriptLoader("spell_magic_eater_food") { }
class spell_magic_eater_food_AuraScript : public AuraScript
{
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index 6cd5e962c02..40af44911ed 100644
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -223,7 +223,7 @@ enum ArgentTournamentAreas
class achievement_tilted : public AchievementCriteriaScript
{
public:
- achievement_tilted() : AchievementCriteriaScript("achievement_tilted") {}
+ achievement_tilted() : AchievementCriteriaScript("achievement_tilted") { }
bool OnCheck(Player* player, Unit* /*target*/) OVERRIDE
{
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index 1b43ee30cd1..3ab9a1511af 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -243,7 +243,7 @@ class AreaTrigger_at_sholazar_waygate : public AreaTriggerScript
{
public:
- AreaTrigger_at_sholazar_waygate() : AreaTriggerScript("at_sholazar_waygate") {}
+ AreaTrigger_at_sholazar_waygate() : AreaTriggerScript("at_sholazar_waygate") { }
bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
{
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index ce44cb57eef..84ef56eb413 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -889,7 +889,7 @@ enum SoulWellData
class go_soulwell : public GameObjectScript
{
public:
- go_soulwell() : GameObjectScript("go_soulwell") {}
+ go_soulwell() : GameObjectScript("go_soulwell") { }
struct go_soulwellAI : public GameObjectAI
{
diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp
index f83d35b4039..95f97b1dc84 100644
--- a/src/server/scripts/World/guards.cpp
+++ b/src/server/scripts/World/guards.cpp
@@ -54,7 +54,7 @@ public:
struct guard_genericAI : public GuardAI
{
- guard_genericAI(Creature* creature) : GuardAI(creature) {}
+ guard_genericAI(Creature* creature) : GuardAI(creature) { }
void Reset() OVERRIDE
{
@@ -263,7 +263,7 @@ public:
struct guard_shattrath_scryerAI : public GuardAI
{
- guard_shattrath_scryerAI(Creature* creature) : GuardAI(creature) {}
+ guard_shattrath_scryerAI(Creature* creature) : GuardAI(creature) { }
void Reset() OVERRIDE
{
@@ -328,7 +328,7 @@ public:
struct guard_shattrath_aldorAI : public GuardAI
{
- guard_shattrath_aldorAI(Creature* creature) : GuardAI(creature) {}
+ guard_shattrath_aldorAI(Creature* creature) : GuardAI(creature) { }
void Reset() OVERRIDE
{
diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp
index 7b6cb90f6c9..5b8e780e3d3 100644
--- a/src/server/scripts/World/item_scripts.cpp
+++ b/src/server/scripts/World/item_scripts.cpp
@@ -172,7 +172,7 @@ public:
class item_disgusting_jar : public ItemScript
{
public:
- item_disgusting_jar() : ItemScript("item_disgusting_jar") {}
+ item_disgusting_jar() : ItemScript("item_disgusting_jar") { }
bool OnExpire(Player* player, ItemTemplate const* /*pItemProto*/) OVERRIDE
{
diff --git a/src/server/scripts/World/mob_generic_creature.cpp b/src/server/scripts/World/mob_generic_creature.cpp
index 3891de93261..ed086712ca2 100644
--- a/src/server/scripts/World/mob_generic_creature.cpp
+++ b/src/server/scripts/World/mob_generic_creature.cpp
@@ -36,7 +36,7 @@ public:
struct generic_creatureAI : public ScriptedAI
{
- generic_creatureAI(Creature* creature) : ScriptedAI(creature) {}
+ generic_creatureAI(Creature* creature) : ScriptedAI(creature) { }
uint32 GlobalCooldown; //This variable acts like the global cooldown that players have (1.5 seconds)
uint32 BuffTimer; //This variable keeps track of buffs
@@ -212,7 +212,7 @@ public:
struct trigger_deathAI : public NullCreatureAI
{
- trigger_deathAI(Creature* creature) : NullCreatureAI(creature) {}
+ trigger_deathAI(Creature* creature) : NullCreatureAI(creature) { }
void JustDied(Unit* killer) OVERRIDE
{
if (me->m_spells[0])
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 5304cbf56ca..f2bc4debff5 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -157,7 +157,7 @@ public:
SpawnAssociation* SpawnAssoc;
uint64 SpawnedGUID;
- void Reset() OVERRIDE {}
+ void Reset() OVERRIDE { }
Creature* SummonGuard()
{
@@ -330,7 +330,7 @@ public:
struct npc_chicken_cluckAI : public ScriptedAI
{
- npc_chicken_cluckAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_chicken_cluckAI(Creature* creature) : ScriptedAI(creature) { }
uint32 ResetFlagTimer;
@@ -341,7 +341,7 @@ public:
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -425,7 +425,7 @@ public:
struct npc_dancing_flamesAI : public ScriptedAI
{
- npc_dancing_flamesAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_dancing_flamesAI(Creature* creature) : ScriptedAI(creature) { }
bool Active;
uint32 CanIteract;
@@ -461,7 +461,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
{
@@ -572,11 +572,11 @@ uint32 const HordeSoldierId[3] =
class npc_doctor : public CreatureScript
{
public:
- npc_doctor() : CreatureScript("npc_doctor") {}
+ npc_doctor() : CreatureScript("npc_doctor") { }
struct npc_doctorAI : public ScriptedAI
{
- npc_doctorAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_doctorAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
@@ -693,7 +693,7 @@ public:
void UpdateAI(uint32 diff) OVERRIDE;
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
};
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
@@ -721,7 +721,7 @@ public:
struct npc_injured_patientAI : public ScriptedAI
{
- npc_injured_patientAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_injured_patientAI(Creature* creature) : ScriptedAI(creature) { }
uint64 DoctorGUID;
Location* Coord;
@@ -759,7 +759,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/)OVERRIDE {}
+ void EnterCombat(Unit* /*who*/)OVERRIDE { }
void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
{
@@ -942,7 +942,7 @@ public:
me->SetHealth(me->CountPctFromMaxHealth(70));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
{
@@ -1123,7 +1123,7 @@ public:
struct npc_guardianAI : public ScriptedAI
{
- npc_guardianAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_guardianAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() OVERRIDE
{
@@ -1498,10 +1498,10 @@ public:
struct npc_steam_tonkAI : public ScriptedAI
{
- npc_steam_tonkAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_steam_tonkAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE {}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void OnPossess(bool apply)
{
@@ -1548,9 +1548,9 @@ public:
ExplosionTimer = 3000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
- void AttackStart(Unit* /*who*/) OVERRIDE {}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
void UpdateAI(uint32 diff) OVERRIDE
@@ -1679,7 +1679,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
+ void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
@@ -1716,11 +1716,11 @@ enum WormholeSpells
class npc_wormhole : public CreatureScript
{
public:
- npc_wormhole() : CreatureScript("npc_wormhole") {}
+ npc_wormhole() : CreatureScript("npc_wormhole") { }
struct npc_wormholeAI : public PassiveAI
{
- npc_wormholeAI(Creature* creature) : PassiveAI(creature) {}
+ npc_wormholeAI(Creature* creature) : PassiveAI(creature) { }
void InitializeAI() OVERRIDE
{
@@ -2135,7 +2135,7 @@ public:
struct npc_fireworkAI : public ScriptedAI
{
- npc_fireworkAI(Creature* creature) : ScriptedAI(creature) {}
+ npc_fireworkAI(Creature* creature) : ScriptedAI(creature) { }
bool isCluster()
{
@@ -2393,7 +2393,7 @@ public:
me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE {}
+ void EnterCombat(Unit* /*who*/) OVERRIDE { }
void DoAction(int32 /*param*/) OVERRIDE
{
diff --git a/src/server/shared/DataStores/DBCFileLoader.cpp b/src/server/shared/DataStores/DBCFileLoader.cpp
index 5e82579d29d..0aa94f1d14a 100644
--- a/src/server/shared/DataStores/DBCFileLoader.cpp
+++ b/src/server/shared/DataStores/DBCFileLoader.cpp
@@ -23,9 +23,7 @@
#include "DBCFileLoader.h"
#include "Errors.h"
-DBCFileLoader::DBCFileLoader() : fieldsOffset(NULL), data(NULL), stringTable(NULL)
-{
-}
+DBCFileLoader::DBCFileLoader() : fieldsOffset(NULL), data(NULL), stringTable(NULL) { }
bool DBCFileLoader::Load(const char* filename, const char* fmt)
{
diff --git a/src/server/shared/DataStores/DBCFileLoader.h b/src/server/shared/DataStores/DBCFileLoader.h
index 8605e6a7633..1f8768e5da4 100644
--- a/src/server/shared/DataStores/DBCFileLoader.h
+++ b/src/server/shared/DataStores/DBCFileLoader.h
@@ -77,7 +77,7 @@ class DBCFileLoader
}
private:
- Record(DBCFileLoader &file_, unsigned char *offset_): offset(offset_), file(file_) {}
+ Record(DBCFileLoader &file_, unsigned char *offset_): offset(offset_), file(file_) { }
unsigned char *offset;
DBCFileLoader &file;
diff --git a/src/server/shared/Database/DatabaseWorker.h b/src/server/shared/Database/DatabaseWorker.h
index 252517e336e..179806d29cb 100644
--- a/src/server/shared/Database/DatabaseWorker.h
+++ b/src/server/shared/Database/DatabaseWorker.h
@@ -33,7 +33,7 @@ class DatabaseWorker : protected ACE_Task_Base
int wait() { return ACE_Task_Base::wait(); }
private:
- DatabaseWorker() : ACE_Task_Base() {}
+ DatabaseWorker() : ACE_Task_Base() { }
ACE_Activation_Queue* m_queue;
MySQLConnection* m_conn;
};
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h
index 4aeee0ac525..aa47fb53097 100644
--- a/src/server/shared/Database/Implementation/CharacterDatabase.h
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.h
@@ -25,8 +25,8 @@ class CharacterDatabaseConnection : public MySQLConnection
{
public:
//- Constructors for sync and async connections
- CharacterDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) {}
- CharacterDatabaseConnection(ACE_Activation_Queue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) {}
+ CharacterDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) { }
+ CharacterDatabaseConnection(ACE_Activation_Queue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) { }
//- Loads database type specific prepared statements
void DoPrepareStatements();
diff --git a/src/server/shared/Database/Implementation/LoginDatabase.h b/src/server/shared/Database/Implementation/LoginDatabase.h
index abb1e1c7b13..c9d34a26617 100644
--- a/src/server/shared/Database/Implementation/LoginDatabase.h
+++ b/src/server/shared/Database/Implementation/LoginDatabase.h
@@ -25,8 +25,8 @@ class LoginDatabaseConnection : public MySQLConnection
{
public:
//- Constructors for sync and async connections
- LoginDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) {}
- LoginDatabaseConnection(ACE_Activation_Queue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) {}
+ LoginDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) { }
+ LoginDatabaseConnection(ACE_Activation_Queue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) { }
//- Loads database type specific prepared statements
void DoPrepareStatements();
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp
index 41280471bd4..f27ee2b72e0 100644
--- a/src/server/shared/Database/Implementation/WorldDatabase.cpp
+++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp
@@ -75,8 +75,6 @@ void WorldDatabaseConnection::DoPrepareStatements()
PrepareStatement(WORLD_UPD_WAYPOINT_SCRIPT_O, "UPDATE waypoint_scripts SET o = ? WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_ID_BY_GUID, "SELECT id FROM waypoint_scripts WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_DEL_CREATURE, "DELETE FROM creature WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(WORLD_INS_CREATURE_TRANSPORT, "INSERT INTO creature_transport (guid, npc_entry, transport_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
- PrepareStatement(WORLD_UPD_CREATURE_TRANSPORT_EMOTE, "UPDATE creature_transport SET emote = ? WHERE transport_entry = ? AND guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, permission, help FROM command", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_spell, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName FROM creature_template WHERE entry = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_BY_ID, "SELECT guid, delay, command, datalong, datalong2, dataint, x, y, z, o FROM waypoint_scripts WHERE id = ?", CONNECTION_SYNCH);
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h
index 171627bb83a..0126cdc3a80 100644
--- a/src/server/shared/Database/Implementation/WorldDatabase.h
+++ b/src/server/shared/Database/Implementation/WorldDatabase.h
@@ -25,8 +25,8 @@ class WorldDatabaseConnection : public MySQLConnection
{
public:
//- Constructors for sync and async connections
- WorldDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) {}
- WorldDatabaseConnection(ACE_Activation_Queue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) {}
+ WorldDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) { }
+ WorldDatabaseConnection(ACE_Activation_Queue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) { }
//- Loads database type specific prepared statements
void DoPrepareStatements();
@@ -95,8 +95,6 @@ enum WorldDatabaseStatements
WORLD_UPD_WAYPOINT_SCRIPT_O,
WORLD_SEL_WAYPOINT_SCRIPT_ID_BY_GUID,
WORLD_DEL_CREATURE,
- WORLD_INS_CREATURE_TRANSPORT,
- WORLD_UPD_CREATURE_TRANSPORT_EMOTE,
WORLD_SEL_COMMANDS,
WORLD_SEL_CREATURE_TEMPLATE,
WORLD_SEL_WAYPOINT_SCRIPT_BY_ID,
diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp
index 4307cab98f2..25ffbc18614 100644
--- a/src/server/shared/Database/MySQLConnection.cpp
+++ b/src/server/shared/Database/MySQLConnection.cpp
@@ -41,9 +41,7 @@ m_queue(NULL),
m_worker(NULL),
m_Mysql(NULL),
m_connectionInfo(connInfo),
-m_connectionFlags(CONNECTION_SYNCH)
-{
-}
+m_connectionFlags(CONNECTION_SYNCH) { }
MySQLConnection::MySQLConnection(ACE_Activation_Queue* queue, MySQLConnectionInfo& connInfo) :
m_reconnecting(false),
diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h
index 989c447fcd5..656d7917315 100644
--- a/src/server/shared/Database/MySQLConnection.h
+++ b/src/server/shared/Database/MySQLConnection.h
@@ -38,7 +38,7 @@ enum ConnectionFlags
struct MySQLConnectionInfo
{
- MySQLConnectionInfo() {}
+ MySQLConnectionInfo() { }
MySQLConnectionInfo(const std::string& infoString)
{
Tokenizer tokens(infoString, ';');
diff --git a/src/server/shared/Database/PreparedStatement.cpp b/src/server/shared/Database/PreparedStatement.cpp
index 24097ca41c5..84f1e1b6fd1 100644
--- a/src/server/shared/Database/PreparedStatement.cpp
+++ b/src/server/shared/Database/PreparedStatement.cpp
@@ -21,13 +21,9 @@
PreparedStatement::PreparedStatement(uint32 index) :
m_stmt(NULL),
-m_index(index)
-{
-}
+m_index(index) { }
-PreparedStatement::~PreparedStatement()
-{
-}
+PreparedStatement::~PreparedStatement() { }
void PreparedStatement::BindParameters()
{
@@ -451,16 +447,12 @@ std::string MySQLPreparedStatement::getQueryString(std::string const& sqlPattern
//- Execution
PreparedStatementTask::PreparedStatementTask(PreparedStatement* stmt) :
m_stmt(stmt),
-m_has_result(false)
-{
-}
+m_has_result(false) { }
PreparedStatementTask::PreparedStatementTask(PreparedStatement* stmt, PreparedQueryResultFuture result) :
m_stmt(stmt),
m_has_result(true),
-m_result(result)
-{
-}
+m_result(result) { }
PreparedStatementTask::~PreparedStatementTask()
diff --git a/src/server/shared/Database/QueryHolder.h b/src/server/shared/Database/QueryHolder.h
index fd2cbcacbcc..05c9e869290 100644
--- a/src/server/shared/Database/QueryHolder.h
+++ b/src/server/shared/Database/QueryHolder.h
@@ -27,7 +27,7 @@ class SQLQueryHolder
typedef std::pair<SQLElementData, SQLResultSetUnion> SQLResultPair;
std::vector<SQLResultPair> m_queries;
public:
- SQLQueryHolder() {}
+ SQLQueryHolder() { }
~SQLQueryHolder();
bool SetQuery(size_t index, const char *sql);
bool SetPQuery(size_t index, const char *format, ...) ATTR_PRINTF(3, 4);
@@ -49,7 +49,7 @@ class SQLQueryHolderTask : public SQLOperation
public:
SQLQueryHolderTask(SQLQueryHolder *holder, QueryResultHolderFuture res)
- : m_holder(holder), m_result(res){};
+ : m_holder(holder), m_result(res){ };
bool Execute();
};
diff --git a/src/server/shared/Database/SQLOperation.h b/src/server/shared/Database/SQLOperation.h
index 400355e7c76..d7870a7d22e 100644
--- a/src/server/shared/Database/SQLOperation.h
+++ b/src/server/shared/Database/SQLOperation.h
@@ -59,7 +59,7 @@ class MySQLConnection;
class SQLOperation : public ACE_Method_Request
{
public:
- SQLOperation(): m_conn(NULL) {}
+ SQLOperation(): m_conn(NULL) { }
virtual int call()
{
Execute();
diff --git a/src/server/shared/Database/Transaction.h b/src/server/shared/Database/Transaction.h
index 026cc1fdf96..e8e5a743a63 100644
--- a/src/server/shared/Database/Transaction.h
+++ b/src/server/shared/Database/Transaction.h
@@ -33,7 +33,7 @@ class Transaction
friend class DatabaseWorkerPool;
public:
- Transaction() : _cleanedUp(false) {}
+ Transaction() : _cleanedUp(false) { }
~Transaction() { Cleanup(); }
void Append(PreparedStatement* statement);
@@ -59,8 +59,8 @@ class TransactionTask : public SQLOperation
friend class DatabaseWorker;
public:
- TransactionTask(SQLTransaction trans) : m_trans(trans) {} ;
- ~TransactionTask(){};
+ TransactionTask(SQLTransaction trans) : m_trans(trans) { } ;
+ ~TransactionTask(){ };
protected:
bool Execute();
diff --git a/src/server/shared/Dynamic/FactoryHolder.h b/src/server/shared/Dynamic/FactoryHolder.h
index f0b45a8924b..cea8cb9c0bb 100644
--- a/src/server/shared/Dynamic/FactoryHolder.h
+++ b/src/server/shared/Dynamic/FactoryHolder.h
@@ -33,8 +33,8 @@ class FactoryHolder
friend class ACE_Singleton<FactoryHolderRegistry, ACE_Null_Mutex>;
typedef ACE_Singleton<FactoryHolderRegistry, ACE_Null_Mutex> FactoryHolderRepository;
- FactoryHolder(Key k) : i_key(k) {}
- virtual ~FactoryHolder() {}
+ FactoryHolder(Key k) : i_key(k) { }
+ virtual ~FactoryHolder() { }
inline Key key() const { return i_key; }
void RegisterSelf(void) { FactoryHolderRepository::instance()->InsertItem(this, i_key); }
@@ -54,7 +54,7 @@ template<class T>
class Permissible
{
public:
- virtual ~Permissible() {}
+ virtual ~Permissible() { }
virtual int Permit(const T *) const = 0;
};
#endif
diff --git a/src/server/shared/Dynamic/LinkedList.h b/src/server/shared/Dynamic/LinkedList.h
index a7c230554e2..c8a6a88e473 100644
--- a/src/server/shared/Dynamic/LinkedList.h
+++ b/src/server/shared/Dynamic/LinkedList.h
@@ -33,7 +33,7 @@ class LinkedListElement
LinkedListElement* iNext;
LinkedListElement* iPrev;
public:
- LinkedListElement(): iNext(NULL), iPrev(NULL) {}
+ LinkedListElement(): iNext(NULL), iPrev(NULL) { }
~LinkedListElement() { delink(); }
bool hasNext() const { return(iNext && iNext->iNext != NULL); }
diff --git a/src/server/shared/Dynamic/LinkedReference/Reference.h b/src/server/shared/Dynamic/LinkedReference/Reference.h
index 6be75c296d8..8604f3431e0 100644
--- a/src/server/shared/Dynamic/LinkedReference/Reference.h
+++ b/src/server/shared/Dynamic/LinkedReference/Reference.h
@@ -40,7 +40,7 @@ template <class TO, class FROM> class Reference : public LinkedListElement
virtual void sourceObjectDestroyLink() = 0;
public:
Reference() { iRefTo = NULL; iRefFrom = NULL; }
- virtual ~Reference() {}
+ virtual ~Reference() { }
// Create new link
void link(TO* toObj, FROM* fromObj)
diff --git a/src/server/shared/Dynamic/ObjectRegistry.h b/src/server/shared/Dynamic/ObjectRegistry.h
index 2d7f12b0069..1b402eb3be1 100644
--- a/src/server/shared/Dynamic/ObjectRegistry.h
+++ b/src/server/shared/Dynamic/ObjectRegistry.h
@@ -92,7 +92,7 @@ class ObjectRegistry
return i_registeredObjects;
}
- ObjectRegistry() {}
+ ObjectRegistry() { }
~ObjectRegistry()
{
for (typename RegistryMapType::iterator iter=i_registeredObjects.begin(); iter != i_registeredObjects.end(); ++iter)
diff --git a/src/server/shared/Dynamic/TypeContainer.h b/src/server/shared/Dynamic/TypeContainer.h
index 10d6ba324c4..a99a448e0b8 100644
--- a/src/server/shared/Dynamic/TypeContainer.h
+++ b/src/server/shared/Dynamic/TypeContainer.h
@@ -60,7 +60,7 @@ template<class OBJECT> struct ContainerArrayList
};
// termination condition
-template<> struct ContainerArrayList<TypeNull> {};
+template<> struct ContainerArrayList<TypeNull> { };
// recursion
template<class H, class T> struct ContainerArrayList<TypeList<H, T> >
{
@@ -78,7 +78,7 @@ template<class OBJECT> struct ContainerList
};
/* TypeNull is underfined */
-template<> struct ContainerList<TypeNull> {};
+template<> struct ContainerList<TypeNull> { };
template<class H, class T> struct ContainerList<TypeList<H, T> >
{
ContainerList<H> _elements;
diff --git a/src/server/shared/Dynamic/TypeContainerVisitor.h b/src/server/shared/Dynamic/TypeContainerVisitor.h
index 800a21bed5d..8ca3ee8dbc4 100644
--- a/src/server/shared/Dynamic/TypeContainerVisitor.h
+++ b/src/server/shared/Dynamic/TypeContainerVisitor.h
@@ -38,9 +38,7 @@ template<class VISITOR, class TYPE_CONTAINER> void VisitorHelper(VISITOR &v, TYP
}
// terminate condition for container list
-template<class VISITOR> void VisitorHelper(VISITOR &/*v*/, ContainerList<TypeNull> &/*c*/)
-{
-}
+template<class VISITOR> void VisitorHelper(VISITOR &/*v*/, ContainerList<TypeNull> &/*c*/) { }
template<class VISITOR, class T> void VisitorHelper(VISITOR &v, ContainerList<T> &c)
{
@@ -55,9 +53,7 @@ template<class VISITOR, class H, class T> void VisitorHelper(VISITOR &v, Contain
}
// terminate condition container map list
-template<class VISITOR> void VisitorHelper(VISITOR &/*v*/, ContainerMapList<TypeNull> &/*c*/)
-{
-}
+template<class VISITOR> void VisitorHelper(VISITOR &/*v*/, ContainerMapList<TypeNull> &/*c*/) { }
template<class VISITOR, class T> void VisitorHelper(VISITOR &v, ContainerMapList<T> &c)
{
@@ -77,9 +73,7 @@ template<class VISITOR, class T> void VisitorHelper(VISITOR &v, ContainerArrayLi
v.Visit(c._element);
}
-template<class VISITOR> void VisitorHelper(VISITOR &/*v*/, ContainerArrayList<TypeNull> &/*c*/)
-{
-}
+template<class VISITOR> void VisitorHelper(VISITOR &/*v*/, ContainerArrayList<TypeNull> &/*c*/) { }
// recursion
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR &v, ContainerArrayList<TypeList<H, T> > &c)
@@ -98,7 +92,7 @@ template<class VISITOR, class TYPE_CONTAINER>
class TypeContainerVisitor
{
public:
- TypeContainerVisitor(VISITOR &v) : i_visitor(v) {}
+ TypeContainerVisitor(VISITOR &v) : i_visitor(v) { }
void Visit(TYPE_CONTAINER &c)
{
diff --git a/src/server/shared/Logging/Appender.cpp b/src/server/shared/Logging/Appender.cpp
index f47cbc3b095..89fe8d39a1d 100644
--- a/src/server/shared/Logging/Appender.cpp
+++ b/src/server/shared/Logging/Appender.cpp
@@ -33,13 +33,9 @@ std::string LogMessage::getTimeStr()
}
Appender::Appender(uint8 _id, std::string const& _name, AppenderType _type /* = APPENDER_NONE*/, LogLevel _level /* = LOG_LEVEL_DISABLED */, AppenderFlags _flags /* = APPENDER_FLAGS_NONE */):
-id(_id), name(_name), type(_type), level(_level), flags(_flags)
-{
-}
+id(_id), name(_name), type(_type), level(_level), flags(_flags) { }
-Appender::~Appender()
-{
-}
+Appender::~Appender() { }
uint8 Appender::getId() const
{
diff --git a/src/server/shared/Logging/AppenderDB.cpp b/src/server/shared/Logging/AppenderDB.cpp
index ae5fc17de73..8b237277d79 100644
--- a/src/server/shared/Logging/AppenderDB.cpp
+++ b/src/server/shared/Logging/AppenderDB.cpp
@@ -19,13 +19,9 @@
#include "Database/DatabaseEnv.h"
AppenderDB::AppenderDB(uint8 id, std::string const& name, LogLevel level)
- : Appender(id, name, APPENDER_DB, level), realmId(0), enabled(false)
-{
-}
+ : Appender(id, name, APPENDER_DB, level), realmId(0), enabled(false) { }
-AppenderDB::~AppenderDB()
-{
-}
+AppenderDB::~AppenderDB() { }
void AppenderDB::_write(LogMessage const& message)
{
diff --git a/src/server/shared/Logging/Logger.cpp b/src/server/shared/Logging/Logger.cpp
index 641a9ea1a4b..5cb0d0966f4 100644
--- a/src/server/shared/Logging/Logger.cpp
+++ b/src/server/shared/Logging/Logger.cpp
@@ -17,9 +17,7 @@
#include "Logger.h"
-Logger::Logger(): name(""), type(LOG_FILTER_GENERAL), level(LOG_LEVEL_DISABLED)
-{
-}
+Logger::Logger(): name(""), type(LOG_FILTER_GENERAL), level(LOG_LEVEL_DISABLED) { }
void Logger::Create(std::string const& _name, LogFilterType _type, LogLevel _level)
{
diff --git a/src/server/shared/Threading/Callback.h b/src/server/shared/Threading/Callback.h
index e0215f5b3d3..d4214cf0843 100644
--- a/src/server/shared/Threading/Callback.h
+++ b/src/server/shared/Threading/Callback.h
@@ -35,7 +35,7 @@ template <typename Result, typename ParamType, bool chain = false>
class QueryCallback
{
public:
- QueryCallback() : _param(), _stage(chain ? 0 : CALLBACK_STAGE_INVALID) {}
+ QueryCallback() : _param(), _stage(chain ? 0 : CALLBACK_STAGE_INVALID) { }
//! The parameter of this function should be a resultset returned from either .AsyncQuery or .AsyncPQuery
void SetFutureResult(ACE_Future<Result> value)
@@ -115,7 +115,7 @@ template <typename Result, typename ParamType1, typename ParamType2, bool chain
class QueryCallback_2
{
public:
- QueryCallback_2() : _stage(chain ? 0 : CALLBACK_STAGE_INVALID) {}
+ QueryCallback_2() : _stage(chain ? 0 : CALLBACK_STAGE_INVALID) { }
//! The parameter of this function should be a resultset returned from either .AsyncQuery or .AsyncPQuery
void SetFutureResult(ACE_Future<Result> value)
diff --git a/src/server/shared/Threading/DelayExecutor.cpp b/src/server/shared/Threading/DelayExecutor.cpp
index 685e86e2a2f..ba8a19429b2 100644
--- a/src/server/shared/Threading/DelayExecutor.cpp
+++ b/src/server/shared/Threading/DelayExecutor.cpp
@@ -10,9 +10,7 @@ DelayExecutor* DelayExecutor::instance()
}
DelayExecutor::DelayExecutor()
- : pre_svc_hook_(0), post_svc_hook_(0), activated_(false)
-{
-}
+ : pre_svc_hook_(0), post_svc_hook_(0), activated_(false) { }
DelayExecutor::~DelayExecutor()
{
diff --git a/src/server/shared/Threading/Threading.h b/src/server/shared/Threading/Threading.h
index 3f2c121d666..00be82c6555 100644
--- a/src/server/shared/Threading/Threading.h
+++ b/src/server/shared/Threading/Threading.h
@@ -30,7 +30,7 @@ namespace ACE_Based
class Runnable
{
public:
- virtual ~Runnable() {}
+ virtual ~Runnable() { }
virtual void run() = 0;
void incReference() { ++m_refs; }
@@ -100,7 +100,7 @@ namespace ACE_Based
typedef ACE_TSS<Thread> ThreadStorage;
//global object - container for Thread class representation of every thread
static ThreadStorage m_ThreadStorage;
- //use this object to determine current OS thread priority values mapped to enum Priority{}
+ //use this object to determine current OS thread priority values mapped to enum Priority{ }
static ThreadPriority m_TpEnum;
};
diff --git a/src/server/shared/Utilities/ByteConverter.h b/src/server/shared/Utilities/ByteConverter.h
index ffa467bb812..b114f8915a4 100644
--- a/src/server/shared/Utilities/ByteConverter.h
+++ b/src/server/shared/Utilities/ByteConverter.h
@@ -35,8 +35,8 @@ namespace ByteConverter
convert<T - 2>(val + 1);
}
- template<> inline void convert<0>(char *) {}
- template<> inline void convert<1>(char *) {} // ignore central byte
+ template<> inline void convert<0>(char *) { }
+ template<> inline void convert<1>(char *) { } // ignore central byte
template<typename T> inline void apply(T *val)
{
diff --git a/src/server/shared/Utilities/EventProcessor.h b/src/server/shared/Utilities/EventProcessor.h
index 69e14b98484..8abf0f09dfe 100644
--- a/src/server/shared/Utilities/EventProcessor.h
+++ b/src/server/shared/Utilities/EventProcessor.h
@@ -29,7 +29,7 @@ class BasicEvent
{
public:
BasicEvent() { to_Abort = false; }
- virtual ~BasicEvent() {} // override destructor to perform some actions on event removal
+ virtual ~BasicEvent() { } // override destructor to perform some actions on event removal
// this method executes when the event is triggered
// return false if event does not want to be deleted
@@ -38,7 +38,7 @@ class BasicEvent
virtual bool IsDeletable() const { return true; } // this event can be safely deleted
- virtual void Abort(uint64 /*e_time*/) {} // this method executes when the event is aborted
+ virtual void Abort(uint64 /*e_time*/) { } // this method executes when the event is aborted
bool to_Abort; // set by externals when the event is aborted, aborted events don't execute
// and get Abort call when deleted
diff --git a/src/server/shared/Utilities/SignalHandler.h b/src/server/shared/Utilities/SignalHandler.h
index 8b49d586dcd..51bb9a4b27b 100644
--- a/src/server/shared/Utilities/SignalHandler.h
+++ b/src/server/shared/Utilities/SignalHandler.h
@@ -33,7 +33,7 @@ class SignalHandler : public ACE_Event_Handler
HandleSignal(SigNum);
return 0;
}
- virtual void HandleSignal(int /*SigNum*/) {};
+ virtual void HandleSignal(int /*SigNum*/) { };
};
}
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp
index a44c6f00acb..43b4b57c179 100644
--- a/src/tools/map_extractor/System.cpp
+++ b/src/tools/map_extractor/System.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
diff --git a/src/tools/map_extractor/adt.cpp b/src/tools/map_extractor/adt.cpp
index 30524dbd640..04d1ea9aa45 100644
--- a/src/tools/map_extractor/adt.cpp
+++ b/src/tools/map_extractor/adt.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#define _CRT_SECURE_NO_DEPRECATE
#include "adt.h"
diff --git a/src/tools/map_extractor/adt.h b/src/tools/map_extractor/adt.h
index 5daf5820c3f..46a517f3e84 100644
--- a/src/tools/map_extractor/adt.h
+++ b/src/tools/map_extractor/adt.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef ADT_H
#define ADT_H
diff --git a/src/tools/map_extractor/dbcfile.cpp b/src/tools/map_extractor/dbcfile.cpp
index c1cab7ddb2f..0a1aa6a8341 100644
--- a/src/tools/map_extractor/dbcfile.cpp
+++ b/src/tools/map_extractor/dbcfile.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#define _CRT_SECURE_NO_DEPRECATE
#include "dbcfile.h"
diff --git a/src/tools/map_extractor/dbcfile.h b/src/tools/map_extractor/dbcfile.h
index 6862678a73b..8c519a1b745 100644
--- a/src/tools/map_extractor/dbcfile.h
+++ b/src/tools/map_extractor/dbcfile.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef DBCFILE_H
#define DBCFILE_H
#include <cassert>
diff --git a/src/tools/map_extractor/loadlib.cpp b/src/tools/map_extractor/loadlib.cpp
index f5b0ac40875..6b103c282b5 100644
--- a/src/tools/map_extractor/loadlib.cpp
+++ b/src/tools/map_extractor/loadlib.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#define _CRT_SECURE_NO_DEPRECATE
#include "loadlib.h"
diff --git a/src/tools/map_extractor/loadlib/loadlib.h b/src/tools/map_extractor/loadlib/loadlib.h
index f32f46c63b9..7fc1f92728d 100644
--- a/src/tools/map_extractor/loadlib/loadlib.h
+++ b/src/tools/map_extractor/loadlib/loadlib.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef LOAD_LIB_H
#define LOAD_LIB_H
diff --git a/src/tools/map_extractor/mpq_libmpq.cpp b/src/tools/map_extractor/mpq_libmpq.cpp
index 1c1a12e7b85..7f63cebc66e 100644
--- a/src/tools/map_extractor/mpq_libmpq.cpp
+++ b/src/tools/map_extractor/mpq_libmpq.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "mpq_libmpq04.h"
#include <deque>
#include <cstdio>
diff --git a/src/tools/map_extractor/mpq_libmpq04.h b/src/tools/map_extractor/mpq_libmpq04.h
index a4eaf1d42db..95e87fd7a7a 100644
--- a/src/tools/map_extractor/mpq_libmpq04.h
+++ b/src/tools/map_extractor/mpq_libmpq04.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef MPQ_H
#define MPQ_H
diff --git a/src/tools/map_extractor/wdt.cpp b/src/tools/map_extractor/wdt.cpp
index ff255145583..cc97c12371e 100644
--- a/src/tools/map_extractor/wdt.cpp
+++ b/src/tools/map_extractor/wdt.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#define _CRT_SECURE_NO_DEPRECATE
#include "wdt.h"
diff --git a/src/tools/map_extractor/wdt.h b/src/tools/map_extractor/wdt.h
index fcee8ac64f2..9d1ca50e6b9 100644
--- a/src/tools/map_extractor/wdt.h
+++ b/src/tools/map_extractor/wdt.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef WDT_H
#define WDT_H
#include "loadlib.h"
diff --git a/src/tools/mesh_extractor/ADT.cpp b/src/tools/mesh_extractor/ADT.cpp
index 3d3fbdd6365..39b600d21b7 100644
--- a/src/tools/mesh_extractor/ADT.cpp
+++ b/src/tools/mesh_extractor/ADT.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "ADT.h"
#include "DoodadHandler.h"
#include "LiquidHandler.h"
diff --git a/src/tools/mesh_extractor/ADT.h b/src/tools/mesh_extractor/ADT.h
index 6f9973f7cde..e5d27708bfc 100644
--- a/src/tools/mesh_extractor/ADT.h
+++ b/src/tools/mesh_extractor/ADT.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef ADT_H
#define ADT_H
#include "ChunkedData.h"
diff --git a/src/tools/mesh_extractor/Cache.h b/src/tools/mesh_extractor/Cache.h
index 5625b6f8926..499983c6eb0 100644
--- a/src/tools/mesh_extractor/Cache.h
+++ b/src/tools/mesh_extractor/Cache.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef CACHE_H
#define CACHE_H
#include <string>
diff --git a/src/tools/mesh_extractor/Chunk.cpp b/src/tools/mesh_extractor/Chunk.cpp
index a89bb5cadce..bc6d9b66b96 100644
--- a/src/tools/mesh_extractor/Chunk.cpp
+++ b/src/tools/mesh_extractor/Chunk.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "Chunk.h"
#include "Utils.h"
diff --git a/src/tools/mesh_extractor/Chunk.h b/src/tools/mesh_extractor/Chunk.h
index 917a85531da..95d06efe206 100644
--- a/src/tools/mesh_extractor/Chunk.h
+++ b/src/tools/mesh_extractor/Chunk.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef CHUNK_H
#define CHUNK_H
#include "Define.h"
diff --git a/src/tools/mesh_extractor/ChunkedData.cpp b/src/tools/mesh_extractor/ChunkedData.cpp
index cec6dae7fbe..00c528352aa 100644
--- a/src/tools/mesh_extractor/ChunkedData.cpp
+++ b/src/tools/mesh_extractor/ChunkedData.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "ChunkedData.h"
#include "MPQManager.h"
#include "Utils.h"
diff --git a/src/tools/mesh_extractor/ChunkedData.h b/src/tools/mesh_extractor/ChunkedData.h
index 1b47b54f272..349750b6c85 100644
--- a/src/tools/mesh_extractor/ChunkedData.h
+++ b/src/tools/mesh_extractor/ChunkedData.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef CHNK_H
#define CHNK_H
diff --git a/src/tools/mesh_extractor/Constants.h b/src/tools/mesh_extractor/Constants.h
index f2d9e8af8f5..5a89be9fe9c 100644
--- a/src/tools/mesh_extractor/Constants.h
+++ b/src/tools/mesh_extractor/Constants.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef CONSTANTS_H
#define CONSTANTS_H
diff --git a/src/tools/mesh_extractor/ContinentBuilder.cpp b/src/tools/mesh_extractor/ContinentBuilder.cpp
index b4b29325171..e2c5616db31 100644
--- a/src/tools/mesh_extractor/ContinentBuilder.cpp
+++ b/src/tools/mesh_extractor/ContinentBuilder.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "ContinentBuilder.h"
#include "TileBuilder.h"
#include "WDT.h"
diff --git a/src/tools/mesh_extractor/ContinentBuilder.h b/src/tools/mesh_extractor/ContinentBuilder.h
index 64d7be49aed..5349b8e1ba5 100644
--- a/src/tools/mesh_extractor/ContinentBuilder.h
+++ b/src/tools/mesh_extractor/ContinentBuilder.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef CONT_BUILDER_H
#define CONT_BUILDER_H
#include <string>
diff --git a/src/tools/mesh_extractor/DBC.cpp b/src/tools/mesh_extractor/DBC.cpp
index 52e4d8c3760..eb3bed43fdb 100644
--- a/src/tools/mesh_extractor/DBC.cpp
+++ b/src/tools/mesh_extractor/DBC.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include <cstdio>
#include "DBC.h"
#include "Define.h"
diff --git a/src/tools/mesh_extractor/DBC.h b/src/tools/mesh_extractor/DBC.h
index 339e896949d..61912cd456d 100644
--- a/src/tools/mesh_extractor/DBC.h
+++ b/src/tools/mesh_extractor/DBC.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef DBC_H
#define DBC_H
#include <vector>
diff --git a/src/tools/mesh_extractor/DoodadHandler.cpp b/src/tools/mesh_extractor/DoodadHandler.cpp
index 506f3192344..90f676ef769 100644
--- a/src/tools/mesh_extractor/DoodadHandler.cpp
+++ b/src/tools/mesh_extractor/DoodadHandler.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "DoodadHandler.h"
#include "Chunk.h"
#include "Cache.h"
diff --git a/src/tools/mesh_extractor/DoodadHandler.h b/src/tools/mesh_extractor/DoodadHandler.h
index fcf8c2ede28..b02fcc664d1 100644
--- a/src/tools/mesh_extractor/DoodadHandler.h
+++ b/src/tools/mesh_extractor/DoodadHandler.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef DOOADHNDL_H
#define DOOADHNDL_H
#include "ObjectDataHandler.h"
diff --git a/src/tools/mesh_extractor/Geometry.cpp b/src/tools/mesh_extractor/Geometry.cpp
index 49be7ef71e7..a11dda85659 100644
--- a/src/tools/mesh_extractor/Geometry.cpp
+++ b/src/tools/mesh_extractor/Geometry.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "Geometry.h"
#include "Constants.h"
#include "ADT.h"
diff --git a/src/tools/mesh_extractor/Geometry.h b/src/tools/mesh_extractor/Geometry.h
index e445234dd12..f2ea43e381e 100644
--- a/src/tools/mesh_extractor/Geometry.h
+++ b/src/tools/mesh_extractor/Geometry.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef GEOMETRY_H
#define GEOMETRY_H
#include <vector>
diff --git a/src/tools/mesh_extractor/LiquidHandler.cpp b/src/tools/mesh_extractor/LiquidHandler.cpp
index 6317748ea23..ce9ea4fc84f 100644
--- a/src/tools/mesh_extractor/LiquidHandler.cpp
+++ b/src/tools/mesh_extractor/LiquidHandler.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "LiquidHandler.h"
#include "Utils.h"
diff --git a/src/tools/mesh_extractor/LiquidHandler.h b/src/tools/mesh_extractor/LiquidHandler.h
index 41e128ba20b..c053b621088 100644
--- a/src/tools/mesh_extractor/LiquidHandler.h
+++ b/src/tools/mesh_extractor/LiquidHandler.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef LIQUID_H
#define LIQUID_H
#include "ADT.h"
diff --git a/src/tools/mesh_extractor/MPQ.cpp b/src/tools/mesh_extractor/MPQ.cpp
index 5e822a6835c..4a86ab0b4de 100644
--- a/src/tools/mesh_extractor/MPQ.cpp
+++ b/src/tools/mesh_extractor/MPQ.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "MPQ.h"
#include "MPQManager.h"
#include "Stream.h"
diff --git a/src/tools/mesh_extractor/MPQ.h b/src/tools/mesh_extractor/MPQ.h
index d548f16adc1..c9b55545f1f 100644
--- a/src/tools/mesh_extractor/MPQ.h
+++ b/src/tools/mesh_extractor/MPQ.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef MPQ_H
#define MPQ_H
diff --git a/src/tools/mesh_extractor/MPQManager.cpp b/src/tools/mesh_extractor/MPQManager.cpp
index cd98a5e017b..82e4a2b5bff 100644
--- a/src/tools/mesh_extractor/MPQManager.cpp
+++ b/src/tools/mesh_extractor/MPQManager.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "MPQManager.h"
#include "MPQ.h"
#include "DBC.h"
diff --git a/src/tools/mesh_extractor/MPQManager.h b/src/tools/mesh_extractor/MPQManager.h
index 3fd27b6bffd..32a60917c82 100644
--- a/src/tools/mesh_extractor/MPQManager.h
+++ b/src/tools/mesh_extractor/MPQManager.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef MPQ_MANAGER_H
#define MPQ_MANAGER_H
diff --git a/src/tools/mesh_extractor/MapChunk.cpp b/src/tools/mesh_extractor/MapChunk.cpp
index ffed64b13af..f9d49762209 100644
--- a/src/tools/mesh_extractor/MapChunk.cpp
+++ b/src/tools/mesh_extractor/MapChunk.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "MapChunk.h"
#include "ADT.h"
#include "LiquidHandler.h"
diff --git a/src/tools/mesh_extractor/MapChunk.h b/src/tools/mesh_extractor/MapChunk.h
index a317c3a371b..c5127b08002 100644
--- a/src/tools/mesh_extractor/MapChunk.h
+++ b/src/tools/mesh_extractor/MapChunk.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef MAPCHUNK_H
#define MAPCHUNK_H
#include "Chunk.h"
diff --git a/src/tools/mesh_extractor/MeshExtractor.cpp b/src/tools/mesh_extractor/MeshExtractor.cpp
index b55965cfc29..e0991d7942f 100644
--- a/src/tools/mesh_extractor/MeshExtractor.cpp
+++ b/src/tools/mesh_extractor/MeshExtractor.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "MPQManager.h"
#include "WDT.h"
#include "ContinentBuilder.h"
diff --git a/src/tools/mesh_extractor/Model.cpp b/src/tools/mesh_extractor/Model.cpp
index 0b21ad1027d..f88f620720c 100644
--- a/src/tools/mesh_extractor/Model.cpp
+++ b/src/tools/mesh_extractor/Model.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "Model.h"
#include "MPQManager.h"
#include "Utils.h"
diff --git a/src/tools/mesh_extractor/Model.h b/src/tools/mesh_extractor/Model.h
index fcbdd81145c..9b460b1e2b6 100644
--- a/src/tools/mesh_extractor/Model.h
+++ b/src/tools/mesh_extractor/Model.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef MODEL_H
#define MODEL_H
#include <vector>
diff --git a/src/tools/mesh_extractor/ObjectDataHandler.cpp b/src/tools/mesh_extractor/ObjectDataHandler.cpp
index f98d198eecd..0e06a9f7e56 100644
--- a/src/tools/mesh_extractor/ObjectDataHandler.cpp
+++ b/src/tools/mesh_extractor/ObjectDataHandler.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "ObjectDataHandler.h"
#include "Chunk.h"
#include "ADT.h"
diff --git a/src/tools/mesh_extractor/ObjectDataHandler.h b/src/tools/mesh_extractor/ObjectDataHandler.h
index 9b347ef418a..3b18427db47 100644
--- a/src/tools/mesh_extractor/ObjectDataHandler.h
+++ b/src/tools/mesh_extractor/ObjectDataHandler.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef ODATA_HNDL_H
#define ODATA_HNDL_H
#include "ADT.h"
diff --git a/src/tools/mesh_extractor/TileBuilder.cpp b/src/tools/mesh_extractor/TileBuilder.cpp
index 7e2f7fe3c47..a3845c561a2 100644
--- a/src/tools/mesh_extractor/TileBuilder.cpp
+++ b/src/tools/mesh_extractor/TileBuilder.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "ContinentBuilder.h"
#include "TileBuilder.h"
#include "Geometry.h"
diff --git a/src/tools/mesh_extractor/TileBuilder.h b/src/tools/mesh_extractor/TileBuilder.h
index 165b3594ed6..fb8950c552b 100644
--- a/src/tools/mesh_extractor/TileBuilder.h
+++ b/src/tools/mesh_extractor/TileBuilder.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef TILE_BUILD_H
#define TILE_BUILD_H
#include <string>
diff --git a/src/tools/mesh_extractor/Utils.cpp b/src/tools/mesh_extractor/Utils.cpp
index 255362d0e9c..c2a7577937a 100644
--- a/src/tools/mesh_extractor/Utils.cpp
+++ b/src/tools/mesh_extractor/Utils.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "Utils.h"
#include "WorldModelHandler.h"
#include "Constants.h"
diff --git a/src/tools/mesh_extractor/Utils.h b/src/tools/mesh_extractor/Utils.h
index 231aa181e01..ad521852271 100644
--- a/src/tools/mesh_extractor/Utils.h
+++ b/src/tools/mesh_extractor/Utils.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef UTILS_H
#define UTILS_H
#include <cstdio>
diff --git a/src/tools/mesh_extractor/WDT.cpp b/src/tools/mesh_extractor/WDT.cpp
index 4a1d9c45b58..3dfd45b666e 100644
--- a/src/tools/mesh_extractor/WDT.cpp
+++ b/src/tools/mesh_extractor/WDT.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "WDT.h"
#include "Chunk.h"
#include "ChunkedData.h"
diff --git a/src/tools/mesh_extractor/WDT.h b/src/tools/mesh_extractor/WDT.h
index ce8a97fff00..d1e8e30918d 100644
--- a/src/tools/mesh_extractor/WDT.h
+++ b/src/tools/mesh_extractor/WDT.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef WDT_H
#define WDT_H
#include <string>
diff --git a/src/tools/mesh_extractor/WorldModelGroup.cpp b/src/tools/mesh_extractor/WorldModelGroup.cpp
index 08b315b9db3..2e4d31086b2 100644
--- a/src/tools/mesh_extractor/WorldModelGroup.cpp
+++ b/src/tools/mesh_extractor/WorldModelGroup.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "WorldModelGroup.h"
#include "ChunkedData.h"
#include "Chunk.h"
diff --git a/src/tools/mesh_extractor/WorldModelGroup.h b/src/tools/mesh_extractor/WorldModelGroup.h
index e4fe34cbc75..b3c2c2bd940 100644
--- a/src/tools/mesh_extractor/WorldModelGroup.h
+++ b/src/tools/mesh_extractor/WorldModelGroup.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef WMOGROUP_H
#define WMOGROUP_H
#include "ChunkedData.h"
diff --git a/src/tools/mesh_extractor/WorldModelHandler.cpp b/src/tools/mesh_extractor/WorldModelHandler.cpp
index bf54609ca5b..e4238b1e321 100644
--- a/src/tools/mesh_extractor/WorldModelHandler.cpp
+++ b/src/tools/mesh_extractor/WorldModelHandler.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "WorldModelHandler.h"
#include "WorldModelRoot.h"
#include "Chunk.h"
diff --git a/src/tools/mesh_extractor/WorldModelHandler.h b/src/tools/mesh_extractor/WorldModelHandler.h
index 7924eb3f1a9..9e5b1d1a3f7 100644
--- a/src/tools/mesh_extractor/WorldModelHandler.h
+++ b/src/tools/mesh_extractor/WorldModelHandler.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef WMODEL_HNDL_H
#define WMODEL_HNDL_H
#include "Define.h"
diff --git a/src/tools/mesh_extractor/WorldModelRoot.cpp b/src/tools/mesh_extractor/WorldModelRoot.cpp
index db909ad919c..360a8dfed59 100644
--- a/src/tools/mesh_extractor/WorldModelRoot.cpp
+++ b/src/tools/mesh_extractor/WorldModelRoot.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "WorldModelRoot.h"
#include "ChunkedData.h"
#include "Utils.h"
diff --git a/src/tools/mesh_extractor/WorldModelRoot.h b/src/tools/mesh_extractor/WorldModelRoot.h
index ad2e15b36d5..c2303ceafe4 100644
--- a/src/tools/mesh_extractor/WorldModelRoot.h
+++ b/src/tools/mesh_extractor/WorldModelRoot.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef WMOROOT_H
#define WMOROOT_H
#include <string>
diff --git a/src/tools/mmaps_generator/PathGenerator.cpp b/src/tools/mmaps_generator/PathGenerator.cpp
index 882ec7ffb66..8ccd04f4924 100644
--- a/src/tools/mmaps_generator/PathGenerator.cpp
+++ b/src/tools/mmaps_generator/PathGenerator.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "PathCommon.h"
diff --git a/src/tools/vmap4_assembler/VMapAssembler.cpp b/src/tools/vmap4_assembler/VMapAssembler.cpp
index 4ee6f5fce3c..56368e4a78d 100644
--- a/src/tools/vmap4_assembler/VMapAssembler.cpp
+++ b/src/tools/vmap4_assembler/VMapAssembler.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include <string>
#include <iostream>
diff --git a/src/tools/vmap4_extractor/adtfile.cpp b/src/tools/vmap4_extractor/adtfile.cpp
index 56e62d474d1..82f26afbdc2 100644
--- a/src/tools/vmap4_extractor/adtfile.cpp
+++ b/src/tools/vmap4_extractor/adtfile.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "vmapexport.h"
diff --git a/src/tools/vmap4_extractor/adtfile.h b/src/tools/vmap4_extractor/adtfile.h
index 3de1dccfacd..88693659e52 100644
--- a/src/tools/vmap4_extractor/adtfile.h
+++ b/src/tools/vmap4_extractor/adtfile.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ADT_H
diff --git a/src/tools/vmap4_extractor/dbcfile.cpp b/src/tools/vmap4_extractor/dbcfile.cpp
index a651456d916..c96174bae59 100644
--- a/src/tools/vmap4_extractor/dbcfile.cpp
+++ b/src/tools/vmap4_extractor/dbcfile.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "dbcfile.h"
diff --git a/src/tools/vmap4_extractor/dbcfile.h b/src/tools/vmap4_extractor/dbcfile.h
index 56cce9a521c..0e58c942919 100644
--- a/src/tools/vmap4_extractor/dbcfile.h
+++ b/src/tools/vmap4_extractor/dbcfile.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef DBCFILE_H
diff --git a/src/tools/vmap4_extractor/gameobject_extract.cpp b/src/tools/vmap4_extractor/gameobject_extract.cpp
index 30cedfe7987..73bd2f77d18 100644
--- a/src/tools/vmap4_extractor/gameobject_extract.cpp
+++ b/src/tools/vmap4_extractor/gameobject_extract.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "model.h"
#include "dbcfile.h"
#include "adtfile.h"
diff --git a/src/tools/vmap4_extractor/loadlib/loadlib.h b/src/tools/vmap4_extractor/loadlib/loadlib.h
index 61865c4b436..2d95cfb3bd1 100644
--- a/src/tools/vmap4_extractor/loadlib/loadlib.h
+++ b/src/tools/vmap4_extractor/loadlib/loadlib.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef LOAD_LIB_H
diff --git a/src/tools/vmap4_extractor/model.cpp b/src/tools/vmap4_extractor/model.cpp
index 919bf6a9610..2a8417bafc1 100644
--- a/src/tools/vmap4_extractor/model.cpp
+++ b/src/tools/vmap4_extractor/model.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "vmapexport.h"
diff --git a/src/tools/vmap4_extractor/model.h b/src/tools/vmap4_extractor/model.h
index 9dcea722c3b..66e42bd7947 100644
--- a/src/tools/vmap4_extractor/model.h
+++ b/src/tools/vmap4_extractor/model.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MODEL_H
diff --git a/src/tools/vmap4_extractor/modelheaders.h b/src/tools/vmap4_extractor/modelheaders.h
index d859fd3511e..e0a6c46ca17 100644
--- a/src/tools/vmap4_extractor/modelheaders.h
+++ b/src/tools/vmap4_extractor/modelheaders.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MODELHEADERS_H
diff --git a/src/tools/vmap4_extractor/mpq_libmpq.cpp b/src/tools/vmap4_extractor/mpq_libmpq.cpp
index ffa097d9a22..b06470d3c80 100644
--- a/src/tools/vmap4_extractor/mpq_libmpq.cpp
+++ b/src/tools/vmap4_extractor/mpq_libmpq.cpp
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "mpq_libmpq04.h"
#include <deque>
#include <cstdio>
diff --git a/src/tools/vmap4_extractor/mpq_libmpq04.h b/src/tools/vmap4_extractor/mpq_libmpq04.h
index 8986ca4e0c8..87321912135 100644
--- a/src/tools/vmap4_extractor/mpq_libmpq04.h
+++ b/src/tools/vmap4_extractor/mpq_libmpq04.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef MPQ_H
#define MPQ_H
diff --git a/src/tools/vmap4_extractor/vec3d.h b/src/tools/vmap4_extractor/vec3d.h
index 06a5b730f16..59150229ac7 100644
--- a/src/tools/vmap4_extractor/vec3d.h
+++ b/src/tools/vmap4_extractor/vec3d.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef VEC3D_H
#define VEC3D_H
diff --git a/src/tools/vmap4_extractor/vmapexport.cpp b/src/tools/vmap4_extractor/vmapexport.cpp
index 82270cfaa50..a5173638df4 100644
--- a/src/tools/vmap4_extractor/vmapexport.cpp
+++ b/src/tools/vmap4_extractor/vmapexport.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define _CRT_SECURE_NO_DEPRECATE
diff --git a/src/tools/vmap4_extractor/vmapexport.h b/src/tools/vmap4_extractor/vmapexport.h
index 0381011efb7..e9436eb7d0d 100644
--- a/src/tools/vmap4_extractor/vmapexport.h
+++ b/src/tools/vmap4_extractor/vmapexport.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef VMAPEXPORT_H
diff --git a/src/tools/vmap4_extractor/wdtfile.cpp b/src/tools/vmap4_extractor/wdtfile.cpp
index d9216fd77eb..87e63f201e6 100644
--- a/src/tools/vmap4_extractor/wdtfile.cpp
+++ b/src/tools/vmap4_extractor/wdtfile.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "vmapexport.h"
diff --git a/src/tools/vmap4_extractor/wdtfile.h b/src/tools/vmap4_extractor/wdtfile.h
index 5d6aed8f0bc..af0979e981b 100644
--- a/src/tools/vmap4_extractor/wdtfile.h
+++ b/src/tools/vmap4_extractor/wdtfile.h
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
+ * Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef WDTFILE_H
#define WDTFILE_H
diff --git a/src/tools/vmap4_extractor/wmo.cpp b/src/tools/vmap4_extractor/wmo.cpp
index 25a65f87e2c..e4e66c682b3 100644
--- a/src/tools/vmap4_extractor/wmo.cpp
+++ b/src/tools/vmap4_extractor/wmo.cpp
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "vmapexport.h"
diff --git a/src/tools/vmap4_extractor/wmo.h b/src/tools/vmap4_extractor/wmo.h
index fe6cef03655..493c84f422f 100644
--- a/src/tools/vmap4_extractor/wmo.h
+++ b/src/tools/vmap4_extractor/wmo.h
@@ -1,19 +1,19 @@
/*
+ * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2011 MaNGOS <http://getmangos.com/>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef WMO_H