aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent_Michael <Vincent_Michael@gmx.de>2013-03-10 01:08:55 +0100
committerVincent_Michael <Vincent_Michael@gmx.de>2013-03-10 01:08:55 +0100
commita9b740ab747332dde2967426027c43f98efbebac (patch)
tree04f3999dd51a9eb2d7811f751dad124242390fb8 /src
parent83a5043741c0ef3d96ff59571305eae30d360ed5 (diff)
parentf3617abdba8c247d4e9f423e5e97e3b42dab7b41 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/AI/EventAI/CreatureEventAI.cpp src/server/game/AI/EventAI/CreatureEventAIMgr.h src/server/game/Entities/Creature/Creature.cpp src/server/game/Entities/Object/Object.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Unit/Unit.cpp src/server/game/Entities/Unit/Unit.h src/server/game/Guilds/Guild.cpp src/server/game/Handlers/MailHandler.cpp src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/game/Spells/Auras/SpellAuras.cpp src/server/game/Spells/SpellEffects.cpp src/server/scripts/Commands/cs_misc.cpp src/server/scripts/Commands/cs_modify.cpp src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp src/server/scripts/Kalimdor/zone_azshara.cpp src/server/scripts/Kalimdor/zone_darkshore.cpp src/server/scripts/Kalimdor/zone_durotar.cpp src/server/scripts/Kalimdor/zone_orgrimmar.cpp src/server/scripts/Spells/spell_mage.cpp src/server/shared/Packets/ByteBuffer.h
Diffstat (limited to 'src')
-rw-r--r--src/server/CMakeLists.txt2
-rw-r--r--src/server/authserver/Authentication/AuthCodes.h4
-rw-r--r--src/server/authserver/CMakeLists.txt30
-rw-r--r--src/server/collision/BoundingIntervalHierarchy.cpp8
-rw-r--r--src/server/collision/Management/MMapFactory.h2
-rw-r--r--src/server/collision/Maps/MapTree.cpp2
-rw-r--r--src/server/collision/Maps/MapTree.h4
-rw-r--r--src/server/collision/Maps/TileAssembler.cpp2
-rw-r--r--src/server/collision/Models/WorldModel.h6
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.cpp2
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.h2
-rw-r--r--src/server/game/AI/CreatureAI.cpp2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp2
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp2
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.h2
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp15
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.cpp1
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h15
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp2
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp4
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp17
-rw-r--r--src/server/game/Battlegrounds/ArenaTeam.cpp2
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp4
-rw-r--r--src/server/game/Battlegrounds/Battleground.h2
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp2
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.h2
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp24
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundDS.h20
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp2
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundRV.h8
-rw-r--r--src/server/game/DataStores/DBCEnums.h10
-rw-r--r--src/server/game/DataStores/DBCStructure.h12
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp2
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp4
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp8
-rw-r--r--src/server/game/Entities/Creature/TemporarySummon.cpp2
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp14
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h20
-rw-r--r--src/server/game/Entities/Object/Object.cpp6
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp4
-rw-r--r--src/server/game/Entities/Player/Player.cpp49
-rw-r--r--src/server/game/Entities/Totem/Totem.cpp2
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp36
-rw-r--r--src/server/game/Entities/Unit/Unit.h6
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.cpp60
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h3
-rw-r--r--src/server/game/Events/GameEventMgr.cpp4
-rw-r--r--src/server/game/Globals/ObjectAccessor.cpp4
-rw-r--r--src/server/game/Grids/ObjectGridLoader.cpp6
-rw-r--r--src/server/game/Groups/Group.h2
-rw-r--r--src/server/game/Guilds/Guild.cpp6
-rw-r--r--src/server/game/Handlers/CalendarHandler.cpp4
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp4
-rw-r--r--src/server/game/Handlers/MailHandler.cpp2
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp2
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp2
-rw-r--r--src/server/game/Handlers/PetHandler.cpp6
-rw-r--r--src/server/game/Handlers/PetitionsHandler.cpp2
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp2
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp15
-rw-r--r--src/server/game/Instances/InstanceSaveMgr.cpp2
-rw-r--r--src/server/game/Loot/LootMgr.cpp4
-rw-r--r--src/server/game/Maps/Map.cpp10
-rw-r--r--src/server/game/Maps/MapManager.cpp6
-rw-r--r--src/server/game/Movement/PathGenerator.cpp6
-rw-r--r--src/server/game/Movement/Spline/MoveSpline.cpp2
-rw-r--r--src/server/game/Scripting/MapScripts.cpp2
-rw-r--r--src/server/game/Scripting/ScriptLoader.cpp2
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp6
-rw-r--r--src/server/game/Scripting/ScriptMgr.h2
-rw-r--r--src/server/game/Scripting/ScriptSystem.h2
-rw-r--r--src/server/game/Server/WorldSession.cpp4
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp11
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp14
-rw-r--r--src/server/game/Spells/Spell.cpp46
-rw-r--r--src/server/game/Spells/SpellEffects.cpp24
-rw-r--r--src/server/game/Spells/SpellInfo.cpp2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp2
-rw-r--r--src/server/game/Spells/SpellMgr.h2
-rw-r--r--src/server/game/Tickets/TicketMgr.h2
-rw-r--r--src/server/game/Tools/PlayerDump.cpp4
-rw-r--r--src/server/game/Warden/WardenWin.cpp2
-rw-r--r--src/server/game/World/World.cpp6
-rw-r--r--src/server/game/World/World.h2
-rw-r--r--src/server/scripts/Commands/CMakeLists.txt1
-rw-r--r--src/server/scripts/Commands/cs_account.cpp2
-rw-r--r--src/server/scripts/Commands/cs_character.cpp4
-rw-r--r--src/server/scripts/Commands/cs_deserter.cpp199
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp2
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp15
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp1
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp8
-rw-r--r--src/server/scripts/Commands/cs_wp.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp2
-rw-r--r--src/server/scripts/Events/childrens_week.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp4
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_thunder_bluff.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp2
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp4
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp20
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp8
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp6
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp6
-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_razuvious.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp5
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp5
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp4
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.h2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.h2
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp4
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_gruul.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp2
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp4
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp2
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp2
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp2
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp6
-rw-r--r--src/server/scripts/Spells/spell_hunter.cpp2
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp3
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp2
-rw-r--r--src/server/scripts/World/go_scripts.cpp4
-rw-r--r--src/server/scripts/World/npcs_special.cpp2
-rw-r--r--src/server/shared/Common.h2
-rw-r--r--src/server/shared/Database/DatabaseWorkerPool.h2
-rw-r--r--src/server/shared/Database/MySQLConnection.cpp4
-rw-r--r--src/server/shared/Debugging/WheatyExceptionReport.cpp2
-rw-r--r--src/server/shared/Debugging/WheatyExceptionReport.h2
-rw-r--r--src/server/shared/Packets/ByteBuffer.h1
-rw-r--r--src/server/worldserver/CMakeLists.txt32
-rw-r--r--src/server/worldserver/Main.cpp2
180 files changed, 718 insertions, 462 deletions
diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
index e8816ea8816..02fca56340f 100644
--- a/src/server/CMakeLists.txt
+++ b/src/server/CMakeLists.txt
@@ -12,7 +12,7 @@
# This to stop a few silly crashes that could have been avoided IF people
# weren't doing some -O3 psychooptimizations etc.
-if(CMAKE_COMPILER_IS_GNUCXX)
+if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW)
add_definitions(-fno-delete-null-pointer-checks)
endif()
diff --git a/src/server/authserver/Authentication/AuthCodes.h b/src/server/authserver/Authentication/AuthCodes.h
index 492ac53f8cd..416d14ba5a0 100644
--- a/src/server/authserver/Authentication/AuthCodes.h
+++ b/src/server/authserver/Authentication/AuthCodes.h
@@ -41,7 +41,7 @@ enum AuthResult
WOW_FAIL_GAME_ACCOUNT_LOCKED = 0x18,
WOW_FAIL_INTERNET_GAME_ROOM_WITHOUT_BNET = 0x19,
WOW_FAIL_UNLOCKABLE_LOCK = 0x20,
- WOW_FAIL_DISCONNECTED = 0xFF,
+ WOW_FAIL_DISCONNECTED = 0xFF
};
enum LoginResult
@@ -62,7 +62,7 @@ enum LoginResult
LOGIN_FAILED4 = 0x0D,
LOGIN_CONNECTED = 0x0E,
LOGIN_PARENTALCONTROL = 0x0F,
- LOGIN_LOCKED_ENFORCED = 0x10,
+ LOGIN_LOCKED_ENFORCED = 0x10
};
enum ExpansionFlags
diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt
index 328369cb908..f7c4b9cb8ca 100644
--- a/src/server/authserver/CMakeLists.txt
+++ b/src/server/authserver/CMakeLists.txt
@@ -29,11 +29,18 @@ set(authserver_SRCS
)
if( WIN32 )
-set(authserver_SRCS
- ${authserver_SRCS}
- ${sources_Debugging}
+ if ( MSVC )
+ set(authserver_SRCS
+ ${authserver_SRCS}
+ ${sources_Debugging}
authserver.rc
-)
+ )
+ else ( )
+ set(authserver_SRCS
+ ${authserver_SRCS}
+ ${sources_Debugging}
+ )
+ endif ()
endif()
include_directories(
@@ -76,10 +83,17 @@ target_link_libraries(authserver
)
if( WIN32 )
- add_custom_command(TARGET authserver
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
- )
+ if ( MSVC )
+ add_custom_command(TARGET authserver
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
+ )
+ elseif ( MINGW )
+ add_custom_command(TARGET authserver
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/
+ )
+ endif()
endif()
if( UNIX )
diff --git a/src/server/collision/BoundingIntervalHierarchy.cpp b/src/server/collision/BoundingIntervalHierarchy.cpp
index 4c1f449da25..340d66ddaf0 100644
--- a/src/server/collision/BoundingIntervalHierarchy.cpp
+++ b/src/server/collision/BoundingIntervalHierarchy.cpp
@@ -18,12 +18,10 @@
#include "BoundingIntervalHierarchy.h"
-#if defined __APPLE__
- #define isnan std::isnan
-#elif defined __CYGWIN__
- #define isnan std::isnan
-#elif defined _MSC_VER
+#ifdef _MSC_VER
#define isnan _isnan
+#else
+ #define isnan std::isnan
#endif
void BIH::buildHierarchy(std::vector<uint32> &tempTree, buildData &dat, BuildStats &stats)
diff --git a/src/server/collision/Management/MMapFactory.h b/src/server/collision/Management/MMapFactory.h
index 00f19a194d3..038d44a941c 100644
--- a/src/server/collision/Management/MMapFactory.h
+++ b/src/server/collision/Management/MMapFactory.h
@@ -31,7 +31,7 @@ namespace MMAP
{
MMAP_LOAD_RESULT_ERROR,
MMAP_LOAD_RESULT_OK,
- MMAP_LOAD_RESULT_IGNORED,
+ MMAP_LOAD_RESULT_IGNORED
};
// static class
diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp
index eb4b4555cb4..bd925d5a0c4 100644
--- a/src/server/collision/Maps/MapTree.cpp
+++ b/src/server/collision/Maps/MapTree.cpp
@@ -243,7 +243,7 @@ namespace VMAP
FILE* rf = fopen(fullname.c_str(), "rb");
if (!rf)
return false;
- // TODO: check magic number when implemented...
+ /// @todo check magic number when implemented...
char tiled;
char chunk[8];
if (!readChunk(rf, chunk, VMAP_MAGIC, 8) || fread(&tiled, sizeof(char), 1, rf) != 1)
diff --git a/src/server/collision/Maps/MapTree.h b/src/server/collision/Maps/MapTree.h
index 5de8e616d2b..e97c44d089e 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;
@@ -85,7 +85,7 @@ namespace VMAP
struct AreaInfo
{
- AreaInfo(): result(false), ground_Z(-G3D::inf()) {};
+ AreaInfo(): result(false), ground_Z(-G3D::inf()) {}
bool result;
float ground_Z;
uint32 flags;
diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp
index c087f773630..ba1ae275c9a 100644
--- a/src/server/collision/Maps/TileAssembler.cpp
+++ b/src/server/collision/Maps/TileAssembler.cpp
@@ -88,7 +88,7 @@ namespace VMAP
}
else if (entry->second.flags & MOD_WORLDSPAWN) // WMO maps and terrain maps use different origin, so we need to adapt :/
{
- // TODO: remove extractor hack and uncomment below line:
+ /// @todo remove extractor hack and uncomment below line:
//entry->second.iPos += Vector3(533.33333f*32, 533.33333f*32, 0.f);
entry->second.iBound = entry->second.iBound + Vector3(533.33333f*32, 533.33333f*32, 0.f);
}
diff --git a/src/server/collision/Models/WorldModel.h b/src/server/collision/Models/WorldModel.h
index cea32cfedfb..9d588316cce 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
diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp
index 7f0cec1a41d..34a0e522796 100644
--- a/src/server/game/AI/CoreAI/CombatAI.cpp
+++ b/src/server/game/AI/CoreAI/CombatAI.cpp
@@ -247,7 +247,7 @@ TurretAI::TurretAI(Creature* c) : CreatureAI(c)
bool TurretAI::CanAIAttack(const Unit* /*who*/) const
{
- // TODO: use one function to replace it
+ /// @todo use one function to replace it
if (!me->IsWithinCombatRange(me->getVictim(), me->m_CombatDistance)
|| (m_minRange && me->IsWithinCombatRange(me->getVictim(), m_minRange)))
return false;
diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h
index 5ab97ac5978..f048c049b34 100644
--- a/src/server/game/AI/CoreAI/UnitAI.h
+++ b/src/server/game/AI/CoreAI/UnitAI.h
@@ -89,7 +89,7 @@ struct DefaultTargetSelector : public std::unary_function<Unit*, bool>
};
// Target selector for spell casts checking range, auras and attributes
-// TODO: Add more checks from Spell::CheckCast
+/// @todo Add more checks from Spell::CheckCast
struct SpellTargetSelector : public std::unary_function<Unit*, bool>
{
public:
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp
index 427818fe571..e8df19630c4 100644
--- a/src/server/game/AI/CreatureAI.cpp
+++ b/src/server/game/AI/CreatureAI.cpp
@@ -134,7 +134,7 @@ void CreatureAI::MoveInLineOfSight(Unit* who)
AttackStart(who);
//else if (who->getVictim() && me->IsFriendlyTo(who)
// && me->IsWithinDistInMap(who, sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS))
- // && me->canStartAttack(who->getVictim(), true)) // TODO: if we use true, it will not attack it when it arrives
+ // && me->canStartAttack(who->getVictim(), true)) /// @todo if we use true, it will not attack it when it arrives
// me->GetMotionMaster()->MoveChase(who->getVictim());
}
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index b43cd1e7cd4..0f0e461e4cf 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -415,7 +415,7 @@ void npc_escortAI::SetRun(bool on)
m_bIsRunning = on;
}
-//TODO: get rid of this many variables passed in function.
+/// @todo get rid of this many variables passed in function.
void npc_escortAI::Start(bool isActiveAttacker /* = true*/, bool run /* = false */, uint64 playerGUID /* = 0 */, Quest const* quest /* = NULL */, bool instantRespawn /* = false */, bool canLoopPath /* = false */, bool resetWaypoints /* = true */)
{
if (me->getVictim())
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
index 63d5ad1fd05..887714a6ce2 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -122,7 +122,7 @@ void FollowerAI::JustDied(Unit* /*killer*/)
if (!HasFollowState(STATE_FOLLOW_INPROGRESS) || !m_uiLeaderGUID || !m_pQuestForFollow)
return;
- //TODO: need a better check for quests with time limit.
+ /// @todo need a better check for quests with time limit.
if (Player* player = GetLeaderForFollower())
{
if (Group* group = player->GetGroup())
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp
index 30cc3cf246b..f1328bbd259 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/server/game/AI/SmartScripts/SmartAI.cpp
@@ -336,7 +336,7 @@ void SmartAI::UpdateAI(uint32 diff)
UpdatePath(diff);
UpdateDespawn(diff);
- //TODO move to void
+ /// @todo move to void
if (mFollowGuid)
{
if (mFollowArrivedTimer < diff)
diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h
index b5b92efdcd2..dee6bec905c 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
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index bc94169687c..b5af76a1219 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -1904,7 +1904,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
creature->GetMotionMaster()->Clear();
creature->GetMotionMaster()->MoveJump(e.target.x, e.target.y, e.target.z, (float)e.action.jump.speedxy, (float)e.action.jump.speedz);
}
- // TODO: Resume path when reached jump location
+ /// @todo Resume path when reached jump location
delete targets;
break;
@@ -2068,6 +2068,19 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
delete targets;
break;
}
+ case SMART_ACTION_SUMMON_CREATURE_GROUP:
+ {
+ std::list<TempSummon*> summonList;
+ GetBaseObject()->SummonCreatureGroup(e.action.creatureGroup.group, &summonList);
+
+ for (std::list<TempSummon*>::const_iterator itr = summonList.begin(); itr != summonList.end(); ++itr)
+ {
+ if (unit && e.action.creatureGroup.attackInvoker)
+ (*itr)->AI()->AttackStart(unit);
+ }
+
+ break;
+ }
default:
sLog->outError(LOG_FILTER_SQL, "SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Unhandled Action type %u", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
break;
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
index 679d2d87ffc..e01fd51ddfb 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
@@ -910,6 +910,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_ACTION_SET_GO_FLAG:
case SMART_ACTION_ADD_GO_FLAG:
case SMART_ACTION_REMOVE_GO_FLAG:
+ case SMART_ACTION_SUMMON_CREATURE_GROUP:
break;
default:
sLog->outError(LOG_FILTER_SQL, "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry %d SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index f117ab52e01..d300cf64451 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -427,7 +427,7 @@ enum SMART_ACTION
SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL = 42, // MinHpValue(+pct, -flat)
SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL = 43, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to dismount)
SMART_ACTION_SET_INGAME_PHASE_MASK = 44, // mask
- SMART_ACTION_SET_DATA = 45, // Field, Data (only creature TODO)
+ SMART_ACTION_SET_DATA = 45, // Field, Data (only creature @todo)
SMART_ACTION_MOVE_FORWARD = 46, // distance
SMART_ACTION_SET_VISIBILITY = 47, // on/off
SMART_ACTION_SET_ACTIVE = 48, // No Params
@@ -489,8 +489,9 @@ enum SMART_ACTION
SMART_ACTION_SET_GO_FLAG = 104, // Flags
SMART_ACTION_ADD_GO_FLAG = 105, // Flags
SMART_ACTION_REMOVE_GO_FLAG = 106, // Flags
+ SMART_ACTION_SUMMON_CREATURE_GROUP = 107, // Group, attackInvoker
- SMART_ACTION_END = 107
+ SMART_ACTION_END = 108
};
struct SmartAction
@@ -932,6 +933,12 @@ struct SmartAction
uint32 flag;
} goFlag;
+ struct
+ {
+ uint32 group;
+ uint32 attackInvoker;
+ } creatureGroup;
+
//! Note for any new future actions
//! All parameters must have type uint32
@@ -1295,9 +1302,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/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index c71b85b2d27..dac4104d3ad 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -1867,7 +1867,7 @@ void AchievementMgr<Player>::CompletedAchievement(AchievementEntry const* achiev
ca.changed = true;
// don't insert for ACHIEVEMENT_FLAG_REALM_FIRST_KILL since otherwise only the first group member would reach that achievement
- // TODO: where do set this instead?
+ /// @todo where do set this instead?
if (!(achievement->flags & ACHIEVEMENT_FLAG_REALM_FIRST_KILL))
sAchievementMgr->SetRealmCompleted(achievement);
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index 393206f4202..daab9b79f21 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -82,7 +82,7 @@ void Battlefield::HandlePlayerEnterZone(Player* player, uint32 /*zone*/)
InvitePlayerToWar(player);
else // No more vacant places
{
- // TODO: Send a packet to announce it to player
+ /// @todo Send a packet to announce it to player
m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = time(NULL) + 10;
InvitePlayerToQueue(player);
}
@@ -257,7 +257,7 @@ void Battlefield::InvitePlayerToWar(Player* player)
if (!player)
return;
- // TODO : needed ?
+ /// @todo needed ?
if (player->isInFlight())
return;
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
index 060aca3e5aa..4f481f36716 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
@@ -15,9 +15,9 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-// TODO: Implement proper support for vehicle+player teleportation
-// TODO: Use spell victory/defeat in wg instead of RewardMarkOfHonor() && RewardHonor
-// TODO: Add proper implement of achievement
+/// @todo Implement proper support for vehicle+player teleportation
+/// @todo Use spell victory/defeat in wg instead of RewardMarkOfHonor() && RewardHonor
+/// @todo Add proper implement of achievement
#include "BattlefieldWG.h"
#include "AchievementMgr.h"
@@ -397,7 +397,7 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
for (GuidSet::const_iterator itr = m_vehicles[team].begin(); itr != m_vehicles[team].end(); ++itr)
if (Creature* creature = GetCreature(*itr))
if (creature->IsVehicle())
- creature->GetVehicleKit()->Dismiss();
+ creature->DespawnOrUnsummon();
m_vehicles[team].clear();
}
@@ -658,7 +658,7 @@ void BattlefieldWG::HandleKill(Player* killer, Unit* victim)
}
}
}
- // TODO:Recent PvP activity worldstate
+ /// @todoRecent PvP activity worldstate
}
bool BattlefieldWG::FindAndRemoveVehicleFromList(Unit* vehicle)
@@ -764,11 +764,12 @@ void BattlefieldWG::OnPlayerJoinWar(Player* player)
void BattlefieldWG::OnPlayerLeaveWar(Player* player)
{
- // Remove all aura from WG // TODO: false we can go out of this zone on retail and keep Rank buff, remove on end of WG
+ // Remove all aura from WG /// @todo false we can go out of this zone on retail and keep Rank buff, remove on end of WG
if (!player->GetSession()->PlayerLogout())
{
- if (player->GetVehicle()) // Remove vehicle of player if he go out.
- player->GetVehicle()->Dismiss();
+ if (Creature* vehicle = player->GetVehicleCreatureBase()) // Remove vehicle of player if he go out.
+ vehicle->DespawnOrUnsummon();
+
RemoveAurasFromPlayer(player);
}
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp
index 4fe00ff123c..06c7e2df427 100644
--- a/src/server/game/Battlegrounds/ArenaTeam.cpp
+++ b/src/server/game/Battlegrounds/ArenaTeam.cpp
@@ -640,7 +640,7 @@ int32 ArenaTeam::GetRatingMod(uint32 ownRating, uint32 opponentRating, bool won
// Calculate the rating modification
float mod;
- // TODO: Replace this hack with using the confidence factor (limiting the factor to 2.0f)
+ /// @todo Replace this hack with using the confidence factor (limiting the factor to 2.0f)
if (won && ownRating < 1300)
{
if (ownRating < 1000)
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 445d1295629..27eeb80a880 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -543,7 +543,7 @@ inline void Battleground::_ProcessJoin(uint32 diff)
// Remove preparation
if (isArena())
{
- // TODO : add arena sound PlaySoundToAll(SOUND_ARENA_START);
+ /// @todo add arena sound PlaySoundToAll(SOUND_ARENA_START);
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
if (Player* player = ObjectAccessor::FindPlayer(itr->first))
{
@@ -1709,7 +1709,7 @@ bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float
creature->setDeathState(DEAD);
creature->SetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT, creature->GetGUID());
// aura
- // TODO: Fix display here
+ /// @todo Fix display here
// creature->SetVisibleAura(0, SPELL_SPIRIT_HEAL_CHANNEL);
// casting visual effect
creature->SetUInt32Value(UNIT_CHANNEL_SPELL, SPELL_SPIRIT_HEAL_CHANNEL);
diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
index 418c2e8137b..13479e7ff30 100644
--- a/src/server/game/Battlegrounds/Battleground.h
+++ b/src/server/game/Battlegrounds/Battleground.h
@@ -499,7 +499,7 @@ class Battleground
void HandleTriggerBuff(uint64 go_guid);
void SetHoliday(bool is_holiday);
- // TODO: make this protected:
+ /// @todo make this protected:
typedef std::vector<uint64> BGObjects;
typedef std::vector<uint64> BGCreatures;
BGObjects BgObjects;
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 1061f8aadba..0c56b32fa2e 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -1333,7 +1333,7 @@ void BattlegroundMgr::SetHolidayWeekends(uint32 mask)
void BattlegroundMgr::ScheduleQueueUpdate(uint32 arenaMatchmakerRating, uint8 arenaType, BattlegroundQueueTypeId bgQueueTypeId, BattlegroundTypeId bgTypeId, BattlegroundBracketId bracket_id)
{
- //This method must be atomic, TODO add mutex
+ //This method must be atomic, @todo add mutex
//we will use only 1 number created of bgTypeId and bracket_id
uint64 const scheduleId = ((uint64)arenaMatchmakerRating << 32) | (arenaType << 24) | (bgQueueTypeId << 16) | (bgTypeId << 8) | bracket_id;
if (std::find(m_QueueUpdateScheduler.begin(), m_QueueUpdateScheduler.end(), scheduleId) == m_QueueUpdateScheduler.end())
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
index 87e27a990ed..3467cf56ba6 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
@@ -282,7 +282,7 @@ class BattlegroundAB : public Battleground
void _SendNodeUpdate(uint8 node);
/* Creature spawning/despawning */
- // TODO: working, scripted peons spawning
+ /// @todo working, scripted peons spawning
void _NodeOccupied(uint8 node, Team team);
void _NodeDeOccupied(uint8 node);
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index e0c62f9ca56..e89d80efc1f 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -43,7 +43,7 @@ BattlegroundAV::~BattlegroundAV()
{
}
-uint16 BattlegroundAV::GetBonusHonor(uint8 kills) //TODO: move this function to Battleground.cpp (needs to find a way to get m_MaxLevel)
+uint16 BattlegroundAV::GetBonusHonor(uint8 kills) /// @todo move this function to Battleground.cpp (needs to find a way to get m_MaxLevel)
{
return Trinity::Honor::hk_honor_at_level(m_MaxLevel, kills);
}
@@ -139,7 +139,7 @@ void BattlegroundAV::HandleQuestComplete(uint32 questid, Player* player)
if (GetStatus() != STATUS_IN_PROGRESS)
return;//maybe we should log this, cause this must be a cheater or a big bug
uint8 team = GetTeamIndexByTeamId(player->GetTeam());
- //TODO add reputation, events (including quest not available anymore, next quest availabe, go/npc de/spawning)and maybe honor
+ /// @todo add reputation, events (including quest not available anymore, next quest availabe, go/npc de/spawning)and maybe honor
sLog->outDebug(LOG_FILTER_BATTLEGROUND, "BG_AV Quest %i completed", questid);
switch (questid)
{
@@ -298,7 +298,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
if (!creature)
return NULL;
if (creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_A_CAPTAIN][0] || creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_H_CAPTAIN][0])
- creature->SetRespawnDelay(RESPAWN_ONE_DAY); // TODO: look if this can be done by database + also add this for the wingcommanders
+ creature->SetRespawnDelay(RESPAWN_ONE_DAY); /// @todo look if this can be done by database + also add this for the wingcommanders
if ((isStatic && cinfoid >= 10 && cinfoid <= 14) || (!isStatic && ((cinfoid >= AV_NPC_A_GRAVEDEFENSE0 && cinfoid <= AV_NPC_A_GRAVEDEFENSE3) ||
(cinfoid >= AV_NPC_H_GRAVEDEFENSE0 && cinfoid <= AV_NPC_H_GRAVEDEFENSE3))))
@@ -314,7 +314,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
creature->GetMotionMaster()->Initialize();
creature->setDeathState(JUST_DIED);
creature->Respawn();
- //TODO: find a way to add a motionmaster without killing the creature (i
+ /// @todo find a way to add a motionmaster without killing the creature (i
//just copied this code from a gm-command
}
@@ -384,11 +384,11 @@ void BattlegroundAV::PostUpdateImpl(uint32 diff)
else
{
CastSpellOnTeam(AV_BUFF_H_CAPTAIN, HORDE);
- Creature* creature = GetBGCreature(AV_CPLACE_MAX + 59); //TODO: make the captains a dynamic creature
+ Creature* creature = GetBGCreature(AV_CPLACE_MAX + 59); /// @todo make the captains a dynamic creature
if (creature)
YellToAll(creature, LANG_BG_AV_H_CAPTAIN_BUFF, LANG_ORCISH);
}
- m_CaptainBuffTimer[i] = 120000 + urand(0, 4)* 60000; //as far as i could see, the buff is randomly so i make 2minutes (thats the duration of the buff itself) + 0-4minutes TODO get the right times
+ m_CaptainBuffTimer[i] = 120000 + urand(0, 4)* 60000; //as far as i could see, the buff is randomly so i make 2minutes (thats the duration of the buff itself) + 0-4minutes @todo get the right times
}
}
//add points from mine owning, and look if he neutral team wanrts to reclaim the mine
@@ -455,7 +455,7 @@ void BattlegroundAV::AddPlayer(Player* player)
BattlegroundAVScore* sc = new BattlegroundAVScore;
PlayerScores[player->GetGUID()] = sc;
if (m_MaxLevel == 0)
- m_MaxLevel=(player->getLevel()%10 == 0)? player->getLevel() : (player->getLevel()-(player->getLevel()%10))+10; //TODO: just look at the code \^_^/ --but queue-info should provide this information..
+ m_MaxLevel=(player->getLevel()%10 == 0)? player->getLevel() : (player->getLevel()-(player->getLevel()%10))+10; /// @todo just look at the code \^_^/ --but queue-info should provide this information..
}
void BattlegroundAV::EndBattleground(uint32 winner)
@@ -494,7 +494,7 @@ void BattlegroundAV::EndBattleground(uint32 winner)
RewardHonorToTeam(GetBonusHonor(kills[i]), i == 0 ? ALLIANCE : HORDE);
}
- //TODO add enterevademode for all attacking creatures
+ /// @todo add enterevademode for all attacking creatures
Battleground::EndBattleground(winner);
}
@@ -505,7 +505,7 @@ void BattlegroundAV::RemovePlayer(Player* player, uint64 /*guid*/, uint32 /*team
sLog->outError(LOG_FILTER_BATTLEGROUND, "bg_AV no player at remove");
return;
}
- //TODO search more buffs
+ /// @todo search more buffs
player->RemoveAurasDueToSpell(AV_BUFF_ARMOR);
player->RemoveAurasDueToSpell(AV_BUFF_A_CAPTAIN);
player->RemoveAurasDueToSpell(AV_BUFF_H_CAPTAIN);
@@ -666,10 +666,10 @@ void BattlegroundAV::ChangeMineOwner(uint8 mine, uint32 team, bool initial)
if (mine == AV_SOUTH_MINE)
for (uint16 i=AV_CPLACE_MINE_S_S_MIN; i <= AV_CPLACE_MINE_S_S_MAX; i++)
if (BgCreatures[i])
- DelCreature(i); //TODO just set the respawntime to 999999
+ DelCreature(i); /// @todo just set the respawntime to 999999
for (uint16 i=((mine == AV_NORTH_MINE)?AV_CPLACE_MINE_N_1_MIN:AV_CPLACE_MINE_S_1_MIN); i <= ((mine == AV_NORTH_MINE)?AV_CPLACE_MINE_N_3:AV_CPLACE_MINE_S_3); i++)
if (BgCreatures[i])
- DelCreature(i); //TODO here also
+ DelCreature(i); /// @todo here also
}
SendMineWorldStates(mine);
@@ -1617,7 +1617,7 @@ void BattlegroundAV::ResetBGSubclass()
m_Team_Scores[i]=BG_AV_SCORE_INITIAL_POINTS;
m_IsInformedNearVictory[i]=false;
m_CaptainAlive[i] = true;
- m_CaptainBuffTimer[i] = 120000 + urand(0, 4)* 60; //as far as i could see, the buff is randomly so i make 2minutes (thats the duration of the buff itself) + 0-4minutes TODO get the right times
+ m_CaptainBuffTimer[i] = 120000 + urand(0, 4)* 60; //as far as i could see, the buff is randomly so i make 2minutes (thats the duration of the buff itself) + 0-4minutes @todo get the right times
m_Mine_Owner[i] = AV_NEUTRAL_TEAM;
m_Mine_PrevOwner[i] = m_Mine_Owner[i];
}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h
index c9fe5e43c33..43437595220 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.h
@@ -106,15 +106,15 @@ class BattlegroundDS : public Battleground
void PostUpdateImpl(uint32 diff);
protected:
- uint32 getWaterFallStatus() { return _waterfallStatus; };
- void setWaterFallStatus(uint8 status) { _waterfallStatus = status; };
- uint32 getWaterFallTimer() { return _waterfallTimer; };
- void setWaterFallTimer(uint32 timer) { _waterfallTimer = timer; };
- uint32 getWaterFallKnockbackTimer() { return _waterfallKnockbackTimer; };
- void setWaterFallKnockbackTimer(uint32 timer) { _waterfallKnockbackTimer = timer; };
- uint8 getPipeKnockBackCount() { return _pipeKnockBackCount; };
- void setPipeKnockBackCount(uint8 count) { _pipeKnockBackCount = count; };
- uint32 getPipeKnockBackTimer() { return _pipeKnockBackTimer; };
- void setPipeKnockBackTimer(uint32 timer) { _pipeKnockBackTimer = timer; };
+ uint32 getWaterFallStatus() { return _waterfallStatus; }
+ void setWaterFallStatus(uint8 status) { _waterfallStatus = status; }
+ uint32 getWaterFallTimer() { return _waterfallTimer; }
+ void setWaterFallTimer(uint32 timer) { _waterfallTimer = timer; }
+ uint32 getWaterFallKnockbackTimer() { return _waterfallKnockbackTimer; }
+ void setWaterFallKnockbackTimer(uint32 timer) { _waterfallKnockbackTimer = timer; }
+ uint8 getPipeKnockBackCount() { return _pipeKnockBackCount; }
+ void setPipeKnockBackCount(uint8 count) { _pipeKnockBackCount = count; }
+ uint32 getPipeKnockBackTimer() { return _pipeKnockBackTimer; }
+ void setPipeKnockBackTimer(uint32 timer) { _pipeKnockBackTimer = timer; }
};
#endif
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
index b6452e76b5d..3d1c8844230 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
@@ -272,7 +272,7 @@ void BattlegroundEY::UpdatePointStatuses()
void BattlegroundEY::UpdateTeamScore(uint32 Team)
{
uint32 score = GetTeamScore(Team);
- //TODO there should be some sound played when one team is near victory!! - and define variables
+ /// @todo there should be some sound played when one team is near victory!! - and define variables
/*if (!m_IsInformedNearVictory && score >= BG_EY_WARNING_NEAR_VICTORY_SCORE)
{
if (Team == ALLIANCE)
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.h b/src/server/game/Battlegrounds/Zones/BattlegroundRV.h
index af6b5996edd..b6dc3775df8 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.h
@@ -118,11 +118,11 @@ class BattlegroundRV : public Battleground
void PostUpdateImpl(uint32 diff);
protected:
- uint32 getTimer() { return Timer; };
- void setTimer(uint32 timer) { Timer = timer; };
+ uint32 getTimer() { return Timer; }
+ void setTimer(uint32 timer) { Timer = timer; }
- uint32 getState() { return State; };
- void setState(uint32 state) { State = state; };
+ uint32 getState() { return State; }
+ void setState(uint32 state) { State = state; }
void TogglePillarCollision();
bool GetPillarCollision() { return PillarCollision; }
void SetPillarCollision(bool apply) { PillarCollision = apply; }
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index c6e5e2b9c66..fc94b49a336 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -216,13 +216,13 @@ enum AchievementCriteriaTypes
ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION = 47,
ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP = 48,
ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49,
- ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50, // TODO: itemlevel is mentioned in text but not present in dbc
+ ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50, /// @todo itemlevel is mentioned in text but not present in dbc
ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT = 51,
ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS = 52,
ACHIEVEMENT_CRITERIA_TYPE_HK_RACE = 53,
ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54,
ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55,
- ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56, // TODO: in some cases map not present, and in some cases need do without die
+ ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56, /// @todo in some cases map not present, and in some cases need do without die
ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM = 57,
ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS = 59,
ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS = 60,
@@ -236,8 +236,8 @@ enum AchievementCriteriaTypes
ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2 = 69,
ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70,
ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72,
- // TODO 73: Achievements 1515, 1241, 1103 (Name: Mal'Ganis)
- ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE = 74, // TODO: title id is not mentioned in dbc
+ /// @todo 73: Achievements 1515, 1241, 1103 (Name: Mal'Ganis)
+ ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE = 74, /// @todo title id is not mentioned in dbc
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75,
ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76,
ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL = 77,
@@ -264,7 +264,7 @@ enum AchievementCriteriaTypes
ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED = 107,
ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN = 108,
ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE = 109,
- ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110, // TODO: target entry is missing
+ ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110, /// @todo target entry is missing
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE = 112,
ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113,
ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114,
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index 816c6e73b7a..4426c6388c7 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -72,7 +72,7 @@ struct AchievementCriteriaEntry
union
{
// ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE = 0
- // TODO: also used for player deaths..
+ /// @todo also used for player deaths..
struct
{
uint32 creatureID; // 3
@@ -299,14 +299,14 @@ struct AchievementCriteriaEntry
// ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43
struct
{
- // TODO: This rank is _NOT_ the index from AreaTable.dbc
+ /// @todo This rank is _NOT_ the index from AreaTable.dbc
uint32 areaReference; // 3
} explore_area;
// ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK = 44
struct
{
- // TODO: This rank is _NOT_ the index from CharTitles.dbc
+ /// @todo This rank is _NOT_ the index from CharTitles.dbc
uint32 rank; // 3
} own_rank;
@@ -339,7 +339,7 @@ struct AchievementCriteriaEntry
} visit_barber;
// ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49
- // TODO: where is the required itemlevel stored?
+ /// @todo where is the required itemlevel stored?
struct
{
uint32 itemSlot; // 3
@@ -374,7 +374,7 @@ struct AchievementCriteriaEntry
} hk_race;
// ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54
- // TODO: where is the information about the target stored?
+ /// @todo where is the information about the target stored?
struct
{
uint32 emoteID; // 3 enum TextEmotes
@@ -425,7 +425,7 @@ struct AchievementCriteriaEntry
} use_gameobject;
// ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70
- // TODO: are those special criteria stored in the dbc or do we have to add another sql table?
+ /// @todo are those special criteria stored in the dbc or do we have to add another sql table?
struct
{
uint32 unused; // 3
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index ce18c227656..9fc880c3f4a 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -421,7 +421,7 @@ void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */)
lockData = LFG_LOCKSTATUS_MISSING_ITEM;
}
- /* TODO VoA closed if WG is not under team control (LFG_LOCKSTATUS_RAID_LOCKED)
+ /* @todo VoA closed if WG is not under team control (LFG_LOCKSTATUS_RAID_LOCKED)
lockData = LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE;
lockData = LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE;
lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL;
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index 22b86a094dd..3a70dc59e66 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -78,7 +78,7 @@ void LFGPlayerScript::OnLogin(Player* player)
sLFGMgr->InitializeLockedDungeons(player);
sLFGMgr->SetTeam(player->GetGUID(), player->GetTeam());
- // TODO - Restore LfgPlayerData and send proper status to player if it was in a group
+ /// @todo - Restore LfgPlayerData and send proper status to player if it was in a group
}
void LFGPlayerScript::OnBindToInstance(Player* player, Difficulty difficulty, uint32 mapId, bool /*permanent*/)
@@ -166,7 +166,7 @@ void LFGGroupScript::OnRemoveMember(Group* group, uint64 guid, RemoveMethod meth
if (isLFG && method == GROUP_REMOVEMETHOD_KICK) // Player have been kicked
{
- // TODO - Update internal kick cooldown of kicker
+ /// @todo - Update internal kick cooldown of kicker
std::string str_reason = "";
if (reason)
str_reason = std::string(reason);
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 868102a19c0..02388fa57bf 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -398,7 +398,7 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data)
SetMeleeDamageSchool(SpellSchools(cInfo->dmgschool));
CreatureBaseStats const* stats = sObjectMgr->GetCreatureBaseStats(getLevel(), cInfo->unit_class);
- float armor = (float)stats->GenerateArmor(cInfo); // TODO: Why is this treated as uint32 when it's a float?
+ float armor = (float)stats->GenerateArmor(cInfo); /// @todo Why is this treated as uint32 when it's a float?
SetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE, armor);
SetModifierValue(UNIT_MOD_RESISTANCE_HOLY, BASE_VALUE, float(cInfo->resistance[SPELL_SCHOOL_HOLY]));
SetModifierValue(UNIT_MOD_RESISTANCE_FIRE, BASE_VALUE, float(cInfo->resistance[SPELL_SCHOOL_FIRE]));
@@ -736,7 +736,7 @@ void Creature::DoFleeToGetAssistance()
if (!creature)
//SetFeared(true, getVictim()->GetGUID(), 0, sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_FLEE_DELAY));
- //TODO: use 31365
+ /// @todo use 31365
SetControlled(true, UNIT_STATE_FLEEING);
else
GetMotionMaster()->MoveSeekAssistance(creature->GetPositionX(), creature->GetPositionY(), creature->GetPositionZ());
@@ -849,7 +849,7 @@ bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry,
LastUsedScriptID = GetCreatureTemplate()->ScriptID;
- // TODO: Replace with spell, handle from DB
+ /// @todo Replace with spell, handle from DB
if (isSpiritHealer() || isSpiritGuide())
{
m_serverSideVisibility.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST);
@@ -1484,7 +1484,7 @@ bool Creature::canStartAttack(Unit const* who, bool force) const
if (!CanFly() && (GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE + m_CombatDistance))
//|| who->IsControlledByPlayer() && who->IsFlying()))
// we cannot check flying for other creatures, too much map/vmap calculation
- // TODO: should switch to range attack
+ /// @todo should switch to range attack
return false;
if (!force)
diff --git a/src/server/game/Entities/Creature/TemporarySummon.cpp b/src/server/game/Entities/Creature/TemporarySummon.cpp
index 2f691f68c99..eb7c0e7da6c 100644
--- a/src/server/game/Entities/Creature/TemporarySummon.cpp
+++ b/src/server/game/Entities/Creature/TemporarySummon.cpp
@@ -372,7 +372,7 @@ void Puppet::Update(uint32 time)
if (!isAlive())
{
UnSummon();
- // TODO: why long distance .die does not remove it
+ /// @todo why long distance .die does not remove it
}
}
}
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 9a6085ebc75..7ac40ad08a0 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -429,8 +429,8 @@ void GameObject::Update(uint32 diff)
bool IsBattlegroundTrap = false;
//FIXME: this is activation radius (in different casting radius that must be selected from spell data)
- //TODO: move activated state code (cast itself) to GO_ACTIVATED, in this place only check activating and set state
- float radius = (float)(goInfo->trap.radius)/3*2; // TODO rename radius to diameter (goInfo->trap.radius) should be (goInfo->trap.diameter)
+ /// @todo move activated state code (cast itself) to GO_ACTIVATED, in this place only check activating and set state
+ float radius = (float)(goInfo->trap.radius)/3*2; /// @todo rename radius to diameter (goInfo->trap.radius) should be (goInfo->trap.diameter)
if (!radius)
{
if (goInfo->trap.cooldown != 3) // cast in other case (at some triggering/linked go/etc explicit call)
@@ -946,7 +946,7 @@ bool GameObject::ActivateToQuest(Player* target) const
{
if (LootTemplates_Gameobject.HaveQuestLootForPlayer(GetGOInfo()->GetLootId(), target))
{
- //TODO: fix this hack
+ /// @todo fix this hack
//look for battlegroundAV for some objects which are only activated after mine gots captured by own team
if (GetEntry() == BG_AV_OBJECTID_MINE_N || GetEntry() == BG_AV_OBJECTID_MINE_S)
if (Battleground* bg = target->GetBattleground())
@@ -1354,12 +1354,12 @@ void GameObject::Use(Unit* user)
{
player->UpdateFishingSkill();
- //TODO: I do not understand this hack. Need some explanation.
+ /// @todo I do not understand this hack. Need some explanation.
// prevent removing GO at spell cancel
RemoveFromOwner();
SetOwnerGUID(player->GetGUID());
- //TODO: find reasonable value for fishing hole search
+ /// @todo find reasonable value for fishing hole search
GameObject* ok = LookupFishingHoleAround(20.0f + CONTACT_DISTANCE);
if (ok)
{
@@ -1369,7 +1369,7 @@ void GameObject::Use(Unit* user)
else
player->SendLoot(GetGUID(), LOOT_FISHING);
}
- // TODO: else: junk
+ /// @todo else: junk
else
m_respawnTime = time(NULL);
@@ -1832,7 +1832,7 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= NULL*/, u
Player* player = attackerOrHealer->GetCharmerOrOwnerPlayerOrPlayerItself();
// dealing damage, send packet
- // TODO: is there any packet for healing?
+ /// @todo is there any packet for healing?
if (change < 0 && player)
{
WorldPacket data(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 8 + 8 + 8 + 4 + 4);
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index e8b2ca46530..94444ac8765 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -82,7 +82,7 @@ struct GameObjectTemplate
uint32 noDamageImmune; //5
uint32 openTextID; //6 can be used to replace castBarCaption?
uint32 losOK; //7
- uint32 allowMounted; //8
+ uint32 allowMounted; //8 Is usable while on mount/vehicle. (0/1)
uint32 large; //9
} questgiver;
//3 GAMEOBJECT_TYPE_CHEST
@@ -161,7 +161,7 @@ struct GameObjectTemplate
uint32 pageID; //0
uint32 language; //1
uint32 pageMaterial; //2
- uint32 allowMounted; //3
+ uint32 allowMounted; //3 Is usable while on mount/vehicle. (0/1)
} text;
//10 GAMEOBJECT_TYPE_GOOBER
struct
@@ -183,7 +183,7 @@ struct GameObjectTemplate
uint32 openTextID; //14 can be used to replace castBarCaption?
uint32 closeTextID; //15
uint32 losOK; //16 isBattlegroundObject
- uint32 allowMounted; //17
+ uint32 allowMounted; //17 Is usable while on mount/vehicle. (0/1)
uint32 floatingTooltip; //18
uint32 gossipID; //19
uint32 WorldStateSetsState; //20
@@ -258,7 +258,7 @@ struct GameObjectTemplate
uint32 spellId; //0
uint32 charges; //1
uint32 partyOnly; //2
- uint32 allowMounted; //3
+ uint32 allowMounted; //3 Is usable while on mount/vehicle. (0/1)
uint32 large; //4
} spellcaster;
//23 GAMEOBJECT_TYPE_MEETINGSTONE
@@ -410,6 +410,18 @@ struct GameObjectTemplate
}
}
+ bool IsUsableMounted() const
+ {
+ switch (type)
+ {
+ case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.allowMounted;
+ case GAMEOBJECT_TYPE_TEXT: return text.allowMounted;
+ case GAMEOBJECT_TYPE_GOOBER: return goober.allowMounted;
+ case GAMEOBJECT_TYPE_SPELLCASTER: return spellcaster.allowMounted;
+ default: return false;
+ }
+ }
+
uint32 GetLockId() const
{
switch (type)
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index c7c56da7cff..e0a183b48de 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2317,7 +2317,7 @@ namespace Trinity
{
char const* text = sObjectMgr->GetTrinityString(i_textId, loc_idx);
- // TODO: i_object.GetName() also must be localized?
+ /// @todo i_object.GetName() also must be localized?
i_object.BuildMonsterChat(&data, i_msgtype, text, i_language, i_object.GetNameForLocaleIdx(loc_idx), i_targetGUID);
}
@@ -2336,7 +2336,7 @@ namespace Trinity
: 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?
+ /// @todo i_object.GetName() also must be localized?
i_object.BuildMonsterChat(&data, i_msgtype, i_text, i_language, i_object.GetNameForLocaleIdx(loc_idx), i_targetGUID);
}
@@ -3267,7 +3267,7 @@ void WorldObject::DestroyForNearbyPlayers()
if (!player->HaveAtClient(this))
continue;
- if (isType(TYPEMASK_UNIT) && ((Unit*)this)->GetCharmerGUID() == player->GetGUID()) // TODO: this is for puppet
+ if (isType(TYPEMASK_UNIT) && ((Unit*)this)->GetCharmerGUID() == player->GetGUID()) /// @todo this is for puppet
continue;
DestroyForPlayer(player);
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 426096216b3..77e8093b861 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -285,7 +285,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petentry, uint32 petnumber, bool c
// Send fake summon spell cast - this is needed for correct cooldown application for spells
// Example: 46584 - without this cooldown (which should be set always when pet is loaded) isn't set clientside
- // TODO: pets should be summoned from real cast instead of just faking it?
+ /// @todo pets should be summoned from real cast instead of just faking it?
if (summon_spell_id)
{
WorldPacket data(SMSG_SPELL_GO, (8+8+4+4+2));
@@ -779,7 +779,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map, uint32 phas
return true;
}
-// TODO: Move stat mods code to pet passive auras
+/// @todo Move stat mods code to pet passive auras
bool Guardian::InitStatsForLevel(uint8 petlevel)
{
CreatureTemplate const* cinfo = GetCreatureTemplate();
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 1a59b5ddeba..9215dc1aebe 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -928,7 +928,7 @@ void Player::CleanupsBeforeDelete(bool finalCleanup)
bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo)
{
//FIXME: outfitId not used in player creating
- // TODO: need more checks against packet modifications
+ /// @todo need more checks against packet modifications
// should check that skin, face, hair* are valid via DBC per race/class
// also do it in Player::BuildEnumData, Player::LoadFromDB
@@ -1036,7 +1036,7 @@ bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo)
SetFlag(PLAYER_EXPLORED_ZONES_1+i, 0xFFFFFFFF);
}
- //Reputations if "StartAllReputation" is enabled, -- TODO: Fix this in a better way
+ //Reputations if "StartAllReputation" is enabled, -- @todo Fix this in a better way
if (sWorld->getBoolConfig(CONFIG_START_ALL_REP))
{
GetReputationMgr().SetReputation(sFactionStore.LookupEntry(942), 42999);
@@ -1366,7 +1366,7 @@ void Player::HandleDrowning(uint32 time_diff)
{
m_MirrorTimer[BREATH_TIMER]+= 1*IN_MILLISECONDS;
// Calculate and deal damage
- // TODO: Check this formula
+ /// @todo Check this formula
uint32 damage = GetMaxHealth() / 5 + urand(0, getLevel()-1);
EnvironmentalDamage(DAMAGE_DROWNING, damage);
}
@@ -1435,7 +1435,7 @@ void Player::HandleDrowning(uint32 time_diff)
{
m_MirrorTimer[FIRE_TIMER]+= 1*IN_MILLISECONDS;
// Calculate and deal damage
- // TODO: Check this formula
+ /// @todo Check this formula
uint32 damage = urand(600, 700);
if (m_MirrorTimerFlags & UNDERWATER_INLAVA)
EnvironmentalDamage(DAMAGE_LAVA, damage);
@@ -1611,7 +1611,7 @@ void Player::Update(uint32 p_time)
if (Unit* victim = getVictim())
{
// default combat reach 10
- // TODO add weapon, skill check
+ /// @todo add weapon, skill check
if (isAttackReady(BASE_ATTACK))
{
@@ -2548,7 +2548,7 @@ void Player::Regenerate(Powers power)
uint32 curValue = GetPower(power);
- // TODO: possible use of miscvalueb instead of amount
+ /// @todo possible use of miscvalueb instead of amount
if (HasAuraTypeWithValue(SPELL_AURA_PREVENT_REGENERATE_POWER, power))
return;
@@ -2825,7 +2825,7 @@ GameObject* Player::GetGameObjectIfCanInteractWith(uint64 guid, GameobjectTypes
float maxdist;
switch (type)
{
- // TODO: find out how the client calculates the maximal usage distance to spellless working
+ /// @todo find out how the client calculates the maximal usage distance to spellless working
// gameobjects like guildbanks and mailboxes - 10.0 is a just an abitrary choosen number
case GAMEOBJECT_TYPE_GUILD_BANK:
case GAMEOBJECT_TYPE_MAILBOX:
@@ -2864,7 +2864,7 @@ void Player::SetInWater(bool apply)
//move player's guid into HateOfflineList of those mobs
//which can't swim and move guid back into ThreatList when
//on surface.
- //TODO: exist also swimming mobs, and function must be symmetric to enter/leave water
+ /// @todo exist also swimming mobs, and function must be symmetric to enter/leave water
m_isInWater = apply;
// remove auras that need water/land
@@ -2968,7 +2968,7 @@ bool Player::IsInSameRaidWith(Player const* p) const
}
///- If the player is invited, remove him. If the group if then only 1 person, disband the group.
-/// \todo Shouldn't we also check if there is no other invitees before disbanding the group?
+/// @todo Shouldn't we also check if there is no other invitees before disbanding the group?
void Player::UninviteFromGroup()
{
Group* group = GetGroupInvite();
@@ -3154,7 +3154,7 @@ void Player::GiveLevel(uint8 level)
if (MailLevelReward const* mailReward = sObjectMgr->GetMailLevelReward(level, getRaceMask()))
{
- //- TODO: Poor design of mail system
+ /// @todo Poor design of mail system
SQLTransaction trans = CharacterDatabase.BeginTransaction();
MailDraft(mailReward->mailTemplateId).SendMailTo(trans, this, MailSender(MAIL_CREATURE, mailReward->senderEntry));
CharacterDatabase.CommitTransaction(trans);
@@ -5799,7 +5799,7 @@ void Player::GetDodgeFromAgility(float &diminishing, float &nondiminishing)
if (dodgeRatio == NULL || pclass > MAX_CLASSES)
return;
- // TODO: research if talents/effects that increase total agility by x% should increase non-diminishing part
+ /// @todo research if talents/effects that increase total agility by x% should increase non-diminishing part
float base_agility = GetCreateStat(STAT_AGILITY) * m_auraModifiersGroup[UNIT_MOD_STAT_START + STAT_AGILITY][BASE_PCT];
float bonus_agility = GetStat(STAT_AGILITY) - base_agility;
@@ -8959,7 +8959,7 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
{
uint32 lootid = go->GetGOInfo()->GetLootId();
- //TODO: fix this big hack
+ /// @todo fix this big hack
if ((go->GetEntry() == BG_AV_OBJECTID_MINE_N || go->GetEntry() == BG_AV_OBJECTID_MINE_S))
if (Battleground* bg = GetBattleground())
if (bg->GetTypeID(true) == BATTLEGROUND_AV)
@@ -11759,8 +11759,7 @@ InventoryResult Player::CanUseItem(Item* pItem, bool not_loading) const
// Armor that is binded to account can "morph" from plate to mail, etc. if skill is not learned yet.
if (pProto->Quality == ITEM_QUALITY_HEIRLOOM && pProto->Class == ITEM_CLASS_ARMOR && !HasSkill(itemSkill))
{
- // TODO: when you right-click already equipped item it throws EQUIP_ERR_PROFICIENCY_NEEDED.
-
+ /// @todo when you right-click already equipped item it throws EQUIP_ERR_PROFICIENCY_NEEDED.
// In fact it's a visual bug, everything works properly... I need sniffs of operations with
// binded to account items from off server.
@@ -13438,7 +13437,7 @@ void Player::AddTradeableItem(Item* item)
m_itemSoulboundTradeable.push_back(item);
}
-//TODO: should never allow an item to be added to m_itemSoulboundTradeable twice
+/// @todo should never allow an item to be added to m_itemSoulboundTradeable twice
void Player::RemoveTradeableItem(Item* item)
{
m_itemSoulboundTradeable.remove(item);
@@ -14741,7 +14740,7 @@ void Player::SendPreparedQuest(uint64 guid)
else if (icon == 4)
PlayerTalkClass->SendQuestGiverRequestItems(quest, guid, CanRewardQuest(quest, false), true);
// Send completable on repeatable and autoCompletable quest if player don't have quest
- // TODO: verify if check for !quest->IsDaily() is really correct (possibly not)
+ /// @todo verify if check for !quest->IsDaily() is really correct (possibly not)
else
{
Object* object = ObjectAccessor::GetObjectByTypeMask(*this, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM);
@@ -15294,7 +15293,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
// Send reward mail
if (uint32 mail_template_id = quest->GetRewMailTemplateId())
{
- //- TODO: Poor design of mail system
+ /// @todo Poor design of mail system
SQLTransaction trans = CharacterDatabase.BeginTransaction();
MailDraft(mail_template_id).SendMailTo(trans, this, questGiver, MAIL_CHECK_MASK_HAS_BODY, quest->GetRewMailDelaySecs());
CharacterDatabase.CommitTransaction(trans);
@@ -17840,7 +17839,7 @@ void Player::_LoadInventory(PreparedQueryResult result, uint32 timeDiff)
//NOTE: the "order by `bag`" is important because it makes sure
//the bagMap is filled before items in the bags are loaded
//NOTE2: the "order by `slot`" is needed because mainhand weapons are (wrongly?)
- //expected to be equipped before offhand items (TODO: fixme)
+ //expected to be equipped before offhand items (@todo fixme)
if (result)
{
@@ -19051,7 +19050,7 @@ void Player::SaveToDB(bool create /*=false*/)
if (create)
{
//! Insert query
- //! TO DO: Filter out more redundant fields that can take their default value at player create
+ /// @todo: Filter out more redundant fields that can take their default value at player create
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER);
stmt->setUInt32(index++, GetGUIDLow());
stmt->setUInt32(index++, GetSession()->GetAccountId());
@@ -20955,7 +20954,7 @@ void Player::RestoreSpellMods(Spell* spell, uint32 ownerAuraId, Aura* aura)
mod->charges = mod->ownerAura->GetCharges();
// Skip this check for now - aura charges may change due to various reason
- // TODO: trac these changes correctly
+ /// @todo trac these changes correctly
//ASSERT (mod->ownerAura->GetCharges() <= mod->charges);
}
}
@@ -21959,7 +21958,7 @@ void Player::UpdateHomebindTime(uint32 time)
void Player::UpdatePvPState(bool onlyFFA)
{
- // TODO: should we always synchronize UNIT_FIELD_BYTES_2, 1 of controller and controlled?
+ /// @todo should we always synchronize UNIT_FIELD_BYTES_2, 1 of controller and controlled?
// no, we shouldn't, those are checked for affecting player by client
if (!pvpInfo.IsInNoPvPArea && !isGameMaster()
&& (pvpInfo.IsInFFAPvPArea || sWorld->IsFFAPvPRealm()))
@@ -24080,14 +24079,14 @@ void Player::UpdateAreaDependentAuras(uint32 newArea)
if (!HasAura(itr->second->spellId))
CastSpell(this, itr->second->spellId, true);
- if (newArea == 4273 && GetVehicle() && GetPositionX() > 400) // Ulduar
+ if (newArea == 4273 && GetVehicleCreatureBase() && GetPositionX() > 400) // Ulduar
{
switch (GetVehicleBase()->GetEntry())
{
case 33062:
case 33109:
case 33060:
- GetVehicle()->Dismiss();
+ GetVehicleCreatureBase()->DespawnOrUnsummon();
break;
}
}
@@ -24232,7 +24231,7 @@ PartyResult Player::CanUninviteFromGroup() const
if (grp->isRollLootActive())
return ERR_PARTY_LFG_BOOT_LOOT_ROLLS;
- // TODO: Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer.
+ /// @todo Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer.
for (GroupReference const* itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())
if (itr->getSource() && itr->getSource()->isInCombat())
return ERR_PARTY_LFG_BOOT_IN_COMBAT;
@@ -26445,7 +26444,7 @@ bool Player::AddItem(uint32 itemId, uint32 count)
if (count == 0 || dest.empty())
{
- // -- TODO: Send to mailbox if no space
+ /// @todo Send to mailbox if no space
ChatHandler(GetSession()).PSendSysMessage("You don't have any space in your bags.");
return false;
}
diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp
index c2dec9086ca..07aa28ecee0 100644
--- a/src/server/game/Entities/Totem/Totem.cpp
+++ b/src/server/game/Entities/Totem/Totem.cpp
@@ -148,7 +148,7 @@ void Totem::UnSummon(uint32 msTime)
bool Totem::IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const
{
- // TODO: possibly all negative auras immune?
+ /// @todo possibly all negative auras immune?
if (GetEntry() == 5925)
return false;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index a2b3a655785..84874625393 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -633,7 +633,7 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam
uint32 share = CalculatePct(damage, (*i)->GetAmount());
- // TODO: check packets if damage is done by victim, or by attacker of victim
+ /// @todo check packets if damage is done by victim, or by attacker of victim
DealDamageMods(shareDamageTarget, share, NULL);
DealDamage(shareDamageTarget, share, NULL, NODAMAGE, spell->GetSchoolMask(), spell, false);
}
@@ -834,7 +834,7 @@ void Unit::CastSpell(SpellCastTargets const& targets, SpellInfo const* spellInfo
return;
}
- // TODO: this is a workaround - not needed anymore, but required for some scripts :(
+ /// @todo this is a workaround - not needed anymore, but required for some scripts :(
if (!originalCaster && triggeredByAura)
originalCaster = triggeredByAura->GetCasterGUID();
@@ -1086,7 +1086,7 @@ void Unit::DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss)
DealDamage(victim, damageInfo->damage, &cleanDamage, SPELL_DIRECT_DAMAGE, SpellSchoolMask(damageInfo->schoolMask), spellProto, durabilityLoss);
}
-// TODO for melee need create structure as in
+/// @todo for melee need create structure as in
void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* damageInfo, WeaponAttackType attackType)
{
damageInfo->attacker = this;
@@ -1392,7 +1392,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
// No Unit::CalcAbsorbResist here - opcode doesn't send that data - this damage is probably not affected by that
victim->DealDamageMods(this, damage, NULL);
- // TODO: Move this to a packet handler
+ /// @todo Move this to a packet handler
WorldPacket data(SMSG_SPELLDAMAGESHIELD, 8 + 8 + 4 + 4 + 4 + 4 + 4);
data << uint64(victim->GetGUID());
data << uint64(GetGUID());
@@ -2345,7 +2345,7 @@ SpellMissInfo Unit::MeleeSpellHitResult(Unit* victim, SpellInfo const* spell)
return SPELL_MISS_NONE;
}
-// TODO need use unit spell resistances in calculations
+/// @todo need use unit spell resistances in calculations
SpellMissInfo Unit::MagicSpellHitResult(Unit* victim, SpellInfo const* spell)
{
// Can`t miss on dead target (on skinning for example)
@@ -2434,7 +2434,7 @@ SpellMissInfo Unit::SpellHitResult(Unit* victim, SpellInfo const* spell, bool Ca
return SPELL_MISS_IMMUNE;
// All positive spells can`t miss
- // TODO: client not show miss log for this spells - so need find info for this in dbc and use it!
+ /// @todo client not show miss log for this spells - so need find info for this in dbc and use it!
if (spell->IsPositive()
&&(!IsHostileTo(victim))) // prevent from affecting enemy by "positive" spell
return SPELL_MISS_NONE;
@@ -5098,7 +5098,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
target = this;
if (roll_chance_i(10))
- ToPlayer()->Say("This is Madness!", LANG_UNIVERSAL); // TODO: It should be moved to database, shouldn't it?
+ ToPlayer()->Say("This is Madness!", LANG_UNIVERSAL); /// @todo It should be moved to database, shouldn't it?
break;
}
// Sunwell Exalted Caster Neck (??? neck)
@@ -8590,7 +8590,7 @@ void Unit::SetCharm(Unit* charm, bool apply)
sLog->outFatal(LOG_FILTER_UNITS, "Player %s is trying to charm unit %u, but it already has a charmed unit " UI64FMTD "", GetName().c_str(), charm->GetEntry(), GetCharmGUID());
charm->m_ControlledByPlayer = true;
- // TODO: maybe we can use this flag to check if controlled by player
+ /// @todo maybe we can use this flag to check if controlled by player
charm->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE);
}
else
@@ -8707,7 +8707,7 @@ Unit* Unit::GetMagicHitRedirectTarget(Unit* victim, SpellInfo const* spellInfo)
&& spellInfo->CheckTarget(this, magnet, false) == SPELL_CAST_OK
&& _IsValidAttackTarget(magnet, spellInfo))
{
- // TODO: handle this charge drop by proc in cast phase on explicit target
+ /// @todo handle this charge drop by proc in cast phase on explicit target
(*itr)->GetBase()->DropCharge(AURA_REMOVE_BY_EXPIRE);
return magnet;
}
@@ -9566,7 +9566,7 @@ uint32 Unit::SpellCriticalDamageBonus(SpellInfo const* spellProto, uint32 damage
{
case SPELL_DAMAGE_CLASS_MELEE: // for melee based spells is 100%
case SPELL_DAMAGE_CLASS_RANGED:
- // TODO: write here full calculation for melee/ranged spells
+ /// @todo write here full calculation for melee/ranged spells
crit_bonus += damage;
break;
default:
@@ -11114,7 +11114,7 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)
}
// Normalize speed by 191 aura SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED if need
- // TODO: possible affect only on MOVE_RUN
+ /// @todo possible affect only on MOVE_RUN
if (int32 normalization = GetMaxPositiveAuraModifier(SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED))
{
// Use speed from aura
@@ -11858,7 +11858,7 @@ Unit* Creature::SelectVictim()
return NULL;
}
- // TODO: a vehicle may eat some mob, so mob should not evade
+ /// @todo a vehicle may eat some mob, so mob should not evade
if (GetVehicle())
return NULL;
@@ -14602,7 +14602,7 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
{
Map* instanceMap = creature->GetMap();
Player* creditedPlayer = GetCharmerOrOwnerPlayerOrPlayerItself();
- // TODO: do instance binding anyway if the charmer/owner is offline
+ /// @todo do instance binding anyway if the charmer/owner is offline
if (instanceMap->IsDungeon() && creditedPlayer)
{
@@ -15038,7 +15038,7 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
}
CastStop();
- CombatStop(); // TODO: CombatStop(true) may cause crash (interrupt spells)
+ CombatStop(); /// @todo CombatStop(true) may cause crash (interrupt spells)
DeleteThreatList();
// Charmer stop charming
@@ -15173,7 +15173,7 @@ void Unit::RemoveCharmedBy(Unit* charmer)
type = CHARM_TYPE_CHARM;
CastStop();
- CombatStop(); // TODO: CombatStop(true) may cause crash (interrupt spells)
+ CombatStop(); /// @todo CombatStop(true) may cause crash (interrupt spells)
getHostileRefManager().deleteReferences();
DeleteThreatList();
Map* map = GetMap();
@@ -16395,9 +16395,9 @@ void Unit::_ExitVehicle(Position const* exitPosition)
if (player)
player->ResummonPetTemporaryUnSummonedIfAny();
- if (vehicle->GetBase()->HasUnitTypeMask(UNIT_MASK_MINION))
+ if (vehicle->GetBase()->HasUnitTypeMask(UNIT_MASK_MINION) && vehicle->GetBase()->GetTypeId() == TYPEID_UNIT)
if (((Minion*)vehicle->GetBase())->GetOwner() == this)
- vehicle->Dismiss();
+ vehicle->GetBase()->ToCreature()->DespawnOrUnsummon();
if (HasUnitTypeMask(UNIT_MASK_ACCESSORY))
{
@@ -17411,7 +17411,7 @@ void Unit::SetFacingToObject(WorldObject* object)
if (!IsStopped())
return;
- // TODO: figure out under what conditions creature will move towards object instead of facing it where it currently is.
+ /// @todo figure out under what conditions creature will move towards object instead of facing it where it currently is.
SetFacingTo(GetAngle(object));
}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index c20fd6a3417..e6bc56432a4 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -709,7 +709,7 @@ enum MovementFlags
MOVEMENTFLAG_FALLING_SLOW = 0x08000000, // active rogue safe fall spell (passive)
MOVEMENTFLAG_HOVER = 0x10000000, // hover, cannot jump
- // TODO: Check if PITCH_UP and PITCH_DOWN really belong here..
+ /// @todo Check if PITCH_UP and PITCH_DOWN really belong here..
MOVEMENTFLAG_MASK_MOVING =
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT |
MOVEMENTFLAG_PITCH_UP | MOVEMENTFLAG_PITCH_DOWN | MOVEMENTFLAG_FALLING | MOVEMENTFLAG_FALLING_FAR | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING |
@@ -727,7 +727,7 @@ enum MovementFlags
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_ROOT | MOVEMENTFLAG_SWIMMING |
MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_WATERWALKING | MOVEMENTFLAG_FALLING_SLOW | MOVEMENTFLAG_HOVER,
- //! TODO if needed: add more flags to this masks that are exclusive to players
+ /// @todo if needed: add more flags to this masks that are exclusive to players
MOVEMENTFLAG_MASK_PLAYER_ONLY =
MOVEMENTFLAG_FLYING
};
@@ -934,7 +934,7 @@ struct CalcDamageInfo
uint32 procVictim;
uint32 procEx;
uint32 cleanDamage; // Used only for rage calculation
- MeleeHitOutcome hitOutCome; // TODO: remove this field (need use TargetState)
+ MeleeHitOutcome hitOutCome; /// @todo remove this field (need use TargetState)
};
// Spell damage info structure based on structure sending in SMSG_SPELLNONMELEEDAMAGELOG opcode
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index 7d3e2372c23..be440d3859e 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -256,11 +256,17 @@ void Vehicle::RemoveAllPassengers()
/// Setting to_Abort to true will cause @VehicleJoinEvent::Abort to be executed on next @Unit::UpdateEvents call
/// This will properly "reset" the pending join process for the passenger.
- while (!_pendingJoinEvents.empty())
{
- VehicleJoinEvent* e = _pendingJoinEvents.front();
- e->to_Abort = true;
- _pendingJoinEvents.pop_front();
+ /// Update vehicle pointer in every pending join event - Abort may be called after vehicle is deleted
+ Vehicle* eventVehicle = _status != STATUS_UNINSTALLING ? this : NULL;
+
+ while (!_pendingJoinEvents.empty())
+ {
+ VehicleJoinEvent* e = _pendingJoinEvents.front();
+ e->to_Abort = true;
+ e->Target = eventVehicle;
+ _pendingJoinEvents.pop_front();
+ }
}
// Passengers always cast an aura with SPELL_AURA_CONTROL_VEHICLE on the vehicle
@@ -381,13 +387,13 @@ void Vehicle::InstallAccessory(uint32 entry, int8 seatId, bool minion, uint8 typ
/// @Prevent adding accessories when vehicle is uninstalling. (Bad script in OnUninstall/OnRemovePassenger/PassengerBoarded hook.)
if (_status == STATUS_UNINSTALLING)
{
- sLog->outError(LOG_FILTER_VEHICLES, "Vehicle (GuidLow: %u, DB GUID: %u, Entry: %u) attempts to install accessory (Entry: %u) on seat %i with STATUS_UNINSTALLING! "
+ sLog->outError(LOG_FILTER_VEHICLES, "Vehicle (GuidLow: %u, DB GUID: %u, Entry: %u) attempts to install accessory (Entry: %u) on seat %d with STATUS_UNINSTALLING! "
"Check Uninstall/PassengerBoarded script hooks for errors.", _me->GetGUIDLow(),
(_me->GetTypeId() == TYPEID_UNIT ? _me->ToCreature()->GetDBTableGUIDLow() : _me->GetGUIDLow()), GetCreatureEntry(), entry, (int32)seatId);
return;
}
- sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle (GuidLow: %u, DB Guid: %u, Entry %u): installing accessory (Entry: %u) on seat: %i",
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle (GuidLow: %u, DB Guid: %u, Entry %u): installing accessory (Entry: %u) on seat: %d",
_me->GetGUIDLow(), (_me->GetTypeId() == TYPEID_UNIT ? _me->ToCreature()->GetDBTableGUIDLow() : _me->GetGUIDLow()), GetCreatureEntry(),
entry, (int32)seatId);
@@ -557,25 +563,6 @@ void Vehicle::RelocatePassengers()
}
/**
- * @fn void Vehicle::Dismiss()
- *
- * @brief Dismiss the vehicle. Removes passengers and despawns self. Only valid for creatures.
- *
- * @author Machiavelli
- * @date 17-2-2013
- */
-
-void Vehicle::Dismiss()
-{
- if (GetBase()->GetTypeId() != TYPEID_UNIT)
- return;
-
- sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Dismiss Entry: %u, GuidLow %u, DBGuid: %u", GetCreatureEntry(), _me->GetGUIDLow(), _me->ToCreature()->GetDBTableGUIDLow());
- Uninstall();
- GetBase()->ToCreature()->DespawnOrUnsummon();
-}
-
-/**
* @fn bool Vehicle::IsVehicleInUse() const
*
* @brief Returns information whether the vehicle is currently used by any unit
@@ -633,10 +620,9 @@ void Vehicle::InitMovementInfoForBase()
* @return null if passenger not found on vehicle, else the DBC record for the seat.
*/
-VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit const* passenger)
+VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit const* passenger) const
{
- SeatMap::iterator itr;
- for (itr = Seats.begin(); itr != Seats.end(); ++itr)
+ for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); ++itr)
if (itr->second.Passenger == passenger->GetGUID())
return itr->second.SeatInfo;
@@ -867,13 +853,19 @@ bool VehicleJoinEvent::Execute(uint64, uint32)
void VehicleJoinEvent::Abort(uint64)
{
- sLog->outDebug(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, board on vehicle GuidLow: %u, Entry: %u SeatId: %i cancelled",
- Passenger->GetGUIDLow(), Passenger->GetEntry(), Target->GetBase()->GetGUIDLow(), Target->GetBase()->GetEntry(), (int32)Seat->first);
+ if (Target)
+ {
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, board on vehicle GuidLow: %u, Entry: %u SeatId: %d cancelled",
+ Passenger->GetGUIDLow(), Passenger->GetEntry(), Target->GetBase()->GetGUIDLow(), Target->GetBase()->GetEntry(), (int32)Seat->first);
- /// @SPELL_AURA_CONTROL_VEHICLE auras can be applied even when the passenger is not (yet) on the vehicle.
- /// When this code is triggered it means that something went wrong in @Vehicle::AddPassenger, and we should remove
- /// the aura manually.
- Target->GetBase()->RemoveAurasByType(SPELL_AURA_CONTROL_VEHICLE, Passenger->GetGUID());
+ /// @SPELL_AURA_CONTROL_VEHICLE auras can be applied even when the passenger is not (yet) on the vehicle.
+ /// When this code is triggered it means that something went wrong in @Vehicle::AddPassenger, and we should remove
+ /// the aura manually.
+ Target->GetBase()->RemoveAurasByType(SPELL_AURA_CONTROL_VEHICLE, Passenger->GetGUID());
+ }
+ else
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, board on destroyed vehicle SeatId: %d cancelled",
+ Passenger->GetGUIDLow(), Passenger->GetEntry(), (int32)Seat->first);
if (Passenger->IsInWorld() && Passenger->HasUnitTypeMask(UNIT_MASK_ACCESSORY))
Passenger->ToCreature()->DespawnOrUnsummon();
diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h
index f9bf3c21ef4..b8ed3a8f947 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.h
+++ b/src/server/game/Entities/Vehicle/Vehicle.h
@@ -62,7 +62,6 @@ class Vehicle : public TransportBase
void RemovePassenger(Unit* passenger);
void RelocatePassengers();
void RemoveAllPassengers();
- void Dismiss();
bool IsVehicleInUse() const;
void SetLastShootPos(Position const& pos) { _lastShootPos.Relocate(pos); }
@@ -70,7 +69,7 @@ class Vehicle : public TransportBase
SeatMap Seats; ///< The collection of all seats on the vehicle. Including vacant ones.
- VehicleSeatEntry const* GetSeatForPassenger(Unit const* passenger);
+ VehicleSeatEntry const* GetSeatForPassenger(Unit const* passenger) const;
protected:
friend class VehicleJoinEvent;
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 36193d78218..e2650a91aee 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -765,7 +765,7 @@ void GameEventMgr::LoadFromDB()
Field* fields = result->Fetch();
uint32 questId = fields[0].GetUInt32();
- uint32 eventEntry = fields[1].GetUInt32(); // TODO: Change to uint8
+ uint32 eventEntry = fields[1].GetUInt32(); /// @todo Change to uint8
if (!sObjectMgr->GetQuestTemplate(questId))
{
@@ -1228,7 +1228,7 @@ void GameEventMgr::GameEventSpawn(int16 event_id)
{
GameObject* pGameobject = new GameObject;
//sLog->outDebug(LOG_FILTER_GENERAL, "Spawning gameobject %u", *itr);
- //TODO: find out when it is add to map
+ /// @todo find out when it is add to map
if (!pGameobject->LoadGameObjectFromDB(*itr, map, false))
delete pGameobject;
else
diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp
index 75b8413c934..0ea66a056fb 100644
--- a/src/server/game/Globals/ObjectAccessor.cpp
+++ b/src/server/game/Globals/ObjectAccessor.cpp
@@ -213,7 +213,7 @@ void ObjectAccessor::RemoveCorpse(Corpse* corpse)
{
ASSERT(corpse && corpse->GetType() != CORPSE_BONES);
- //TODO: more works need to be done for corpse and other world object
+ /// @todo more works need to be done for corpse and other world object
if (Map* map = corpse->FindMap())
{
corpse->DestroyForNearbyPlayers();
@@ -234,7 +234,7 @@ void ObjectAccessor::RemoveCorpse(Corpse* corpse)
TRINITY_WRITE_GUARD(ACE_RW_Thread_Mutex, i_corpseLock);
Player2CorpsesMapType::iterator iter = i_player2corpse.find(corpse->GetOwnerGUID());
- if (iter == i_player2corpse.end()) // TODO: Fix this
+ if (iter == i_player2corpse.end()) /// @todo Fix this
return;
// build mapid*cellid -> guid_set map
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp
index 3fb74b6fdcc..dd54836edee 100644
--- a/src/server/game/Grids/ObjectGridLoader.cpp
+++ b/src/server/game/Grids/ObjectGridLoader.cpp
@@ -44,7 +44,7 @@ void ObjectGridEvacuator::Visit(CreatureMapType &m)
}
// for loading world object at grid loading (Corpses)
-//TODO: to implement npc on transport, also need to load npcs at grid loading
+/// @todo to implement npc on transport, also need to load npcs at grid loading
class ObjectWorldLoader
{
public:
@@ -121,7 +121,7 @@ void LoadHelper(CellCorpseSet const& cell_corpses, CellCoord &cell, CorpseMapTyp
if (!obj)
continue;
- // TODO: this is a hack
+ /// @todo this is a hack
// corpse's map should be reset when the map is unloaded
// but it may still exist when the grid is unloaded but map is not
// in that case map == currMap
@@ -200,7 +200,7 @@ void ObjectGridUnloader::Visit(GridRefManager<T> &m)
//Some creatures may summon other temp summons in CleanupsBeforeDelete()
//So we need this even after cleaner (maybe we can remove cleaner)
//Example: Flame Leviathan Turret 33139 is summoned when a creature is deleted
- //TODO: Check if that script has the correct logic. Do we really need to summons something before deleting?
+ /// @todo Check if that script has the correct logic. Do we really need to summons something before deleting?
obj->CleanupsBeforeDelete();
///- object will get delinked from the manager when deleted
delete obj;
diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h
index fe8ac3aa7e5..8bc52e158c7 100644
--- a/src/server/game/Groups/Group.h
+++ b/src/server/game/Groups/Group.h
@@ -160,7 +160,7 @@ struct InstanceGroupBind
};
/** request member stats checken **/
-/** todo: uninvite people that not accepted invite **/
+/// @todo uninvite people that not accepted invite
class Group
{
public:
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 0485b272f98..f559e581dd8 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -1019,7 +1019,7 @@ void Guild::BankMoveItemData::LogBankEvent(SQLTransaction& trans, MoveItemData*
void Guild::BankMoveItemData::LogAction(MoveItemData* pFrom) const
{
MoveItemData::LogAction(pFrom);
- if (!pFrom->IsBank() && m_pPlayer->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE))
+ if (!pFrom->IsBank() && m_pPlayer->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE)) /// @todo Move this to scripts
{
sLog->outCommand(m_pPlayer->GetSession()->GetAccountId(),
"GM %s (Account: %u) deposit item: %s (Entry: %d Count: %u) to guild bank (Guild ID: %u)",
@@ -3148,7 +3148,7 @@ bool Guild::_DoItemsMove(MoveItemData* pSrc, MoveItemData* pDest, bool sendError
if (!pSrc->CanStore(pDestItem, true, true))
return false;
- // GM LOG (TODO: move to scripts)
+ // GM LOG (@todo move to scripts)
pDest->LogAction(pSrc);
if (swap)
pSrc->LogAction(pDest);
@@ -3447,7 +3447,7 @@ void Guild::GiveXP(uint32 xp, Player* source)
if (!sWorld->getBoolConfig(CONFIG_GUILD_LEVELING_ENABLED))
return;
- /// @TODO: Award reputation and count activity for player
+ /// @todo: Award reputation and count activity for player
if (GetLevel() >= sWorld->getIntConfig(CONFIG_GUILD_MAX_LEVEL))
xp = 0; // SMSG_GUILD_XP_GAIN is always sent, even for no gains
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp
index a3f45a8773c..78cd97a8a35 100644
--- a/src/server/game/Handlers/CalendarHandler.cpp
+++ b/src/server/game/Handlers/CalendarHandler.cpp
@@ -25,7 +25,7 @@ SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT [ uint64(inviteId), string(Text) ]
SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT [ uint64(eventId), uint32(eventTime), uint32(unkFlag), uint8(deletePending) ]
SMSG_CALENDAR_RAID_LOCKOUT_UPDATED SendCalendarRaidLockoutUpdated(InstanceSave const* save)
------ TODO -----
+@todo
Finish complains' handling - what to do with received complains and how to respond?
Find out what to do with all "not used yet" opcodes
@@ -151,7 +151,7 @@ void WorldSession::HandleCalendarGetCalendar(WorldPacket& /*recvData*/)
data << uint32(boundCounter);
data.append(dataBuffer);
- // TODO: Fix this, how we do know how many and what holidays to send?
+ /// @todo Fix this, how we do know how many and what holidays to send?
uint32 holidayCount = 0;
data << uint32(holidayCount);
for (uint32 i = 0; i < holidayCount; ++i)
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 8ed84db245d..cdc6ef1f2cb 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -581,7 +581,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
}
// need to check team only for first character
- // TODO: what to if account already has characters of both races?
+ /// @todo what to if account already has characters of both races?
if (!allowTwoSideAccounts)
{
uint32 accTeam = 0;
@@ -600,7 +600,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
}
// search same race for cinematic or same class if need
- // TODO: check if cinematic already shown? (already logged in?; cinematic field)
+ /// @todo check if cinematic already shown? (already logged in?; cinematic field)
while ((skipCinematics == 1 && !haveSameRace) || createInfo->Class == CLASS_DEATH_KNIGHT)
{
if (!result->NextRow())
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp
index af9b178d587..ff870cec4f8 100644
--- a/src/server/game/Handlers/MailHandler.cpp
+++ b/src/server/game/Handlers/MailHandler.cpp
@@ -781,7 +781,7 @@ void WorldSession::HandleMailCreateTextItem(WorldPacket& recvData)
}
}
-//TODO Fix me! ... this void has probably bad condition, but good data are sent
+/// @todo Fix me! ... this void has probably bad condition, but good data are sent
void WorldSession::HandleQueryNextMailTime(WorldPacket& /*recvData*/)
{
WorldPacket data(MSG_QUERY_NEXT_MAIL_TIME, 8);
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 2df2ed1b15f..94ef34e8dd7 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -1094,7 +1094,7 @@ void WorldSession::HandleMoveTimeSkippedOpcode(WorldPacket& recvData)
recvData >> time_skipped;
sLog->outDebug(LOG_FILTER_PACKETIO, "WORLD: CMSG_MOVE_TIME_SKIPPED");
- /// TODO
+ //// @todo
must be need use in Trinity
We substract server Lags to move time (AntiLags)
for exmaple
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index dfb2af66833..d4ba2ec7b7b 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -405,7 +405,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket)
{
// NOTE: this is actually called many times while falling
// even after the player has been teleported away
- // TODO: discard movement packets after the player is rooted
+ /// @todo discard movement packets after the player is rooted
if (plrMover->isAlive())
{
plrMover->EnvironmentalDamage(DAMAGE_FALL_TO_VOID, GetPlayer()->GetMaxHealth());
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index f7f540a7be5..76185dcd6cd 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -98,7 +98,7 @@ void WorldSession::HandlePetAction(WorldPacket& recvData)
return;
}
- //TODO: allow control charmed player?
+ /// @todo allow control charmed player?
if (pet->GetTypeId() == TYPEID_PLAYER && !(flag == ACT_COMMAND && spellid == COMMAND_ATTACK))
return;
@@ -190,7 +190,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, uint64 guid1, uint32 spellid
if (_player->HasAuraType(SPELL_AURA_MOD_PACIFY))
{
//pet->SendPetCastFail(spellid, SPELL_FAILED_PACIFIED);
- //TODO: Send proper error message to client
+ /// @todo Send proper error message to client
return;
}
@@ -801,7 +801,7 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket)
spell->m_cast_count = castCount; // probably pending spell cast
spell->m_targets = targets;
- // TODO: need to check victim?
+ /// @todo need to check victim?
SpellCastResult result;
if (caster->m_movedPlayer)
result = spell->CheckPetCast(caster->m_movedPlayer->GetSelectedUnit());
diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp
index 876b719adc7..36a929f1222 100644
--- a/src/server/game/Handlers/PetitionsHandler.cpp
+++ b/src/server/game/Handlers/PetitionsHandler.cpp
@@ -111,7 +111,7 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket& recvData)
}
else
{
- // TODO: find correct opcode
+ /// @todo find correct opcode
if (_player->getLevel() < sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
{
SendNotification(LANG_ARENA_ONE_TOOLOW, sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL));
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index 76b4ec64380..3efb127bc4f 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -525,7 +525,7 @@ void WorldSession::HandleQuestgiverCompleteQuest(WorldPacket& recvData)
_player->GetName().c_str(), _player->GetGUIDLow(), questId);
return;
}
- // TODO: need a virtual function
+ /// @todo need a virtual function
if (_player->InBattleground())
if (Battleground* bg = _player->GetBattleground())
if (bg->GetTypeID() == BATTLEGROUND_AV)
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index c98a9fbcb5c..6ec94e4bf52 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -81,7 +81,7 @@ void WorldSession::HandleClientCastFlags(WorldPacket& recvPacket, uint8 castFlag
void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
{
- // TODO: add targets.read() check
+ /// @todo add targets.read() check
Player* pUser = _player;
// ignore for remote control state
@@ -293,12 +293,15 @@ void WorldSession::HandleGameObjectUseOpcode(WorldPacket& recvData)
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_GAMEOBJ_USE Message [guid=%u]", GUID_LOPART(guid));
- // ignore for remote control state
- if (_player->m_mover != _player)
- return;
-
if (GameObject* obj = GetPlayer()->GetMap()->GetGameObject(guid))
+ {
+ // ignore for remote control state
+ if (_player->m_mover != _player)
+ if (!(_player->IsOnVehicle(_player->m_mover) || _player->IsMounted()) && !obj->GetGOInfo()->IsUsableMounted())
+ return;
+
obj->Use(_player);
+ }
}
void WorldSession::HandleGameobjectReportUse(WorldPacket& recvPacket)
@@ -595,7 +598,7 @@ void WorldSession::HandleSpellClick(WorldPacket& recvData)
if (!unit)
return;
- // TODO: Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash
+ /// @todo Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash
if (!unit->IsInWorld())
return;
diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp
index 81b148d8eaf..c4967e46623 100644
--- a/src/server/game/Instances/InstanceSaveMgr.cpp
+++ b/src/server/game/Instances/InstanceSaveMgr.cpp
@@ -646,7 +646,7 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b
((InstanceMap*)map2)->Reset(INSTANCE_RESET_GLOBAL);
}
- // TODO: delete creature/gameobject respawn times even if the maps are not loaded
+ /// @todo delete creature/gameobject respawn times even if the maps are not loaded
}
uint32 InstanceSaveManager::GetNumBoundPlayersTotal()
diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp
index 232dbc1e186..bf131fb2d33 100644
--- a/src/server/game/Loot/LootMgr.cpp
+++ b/src/server/game/Loot/LootMgr.cpp
@@ -1190,7 +1190,7 @@ float LootTemplate::LootGroup::TotalChance() const
void LootTemplate::LootGroup::Verify(LootStore const& lootstore, uint32 id, uint8 group_id) const
{
float chance = RawTotalChance();
- if (chance > 101.0f) // TODO: replace with 100% when DBs will be ready
+ if (chance > 101.0f) /// @todo replace with 100% when DBs will be ready
sLog->outError(LOG_FILTER_SQL, "Table '%s' entry %u group %d has total chance > 100%% (%f)", lootstore.GetName(), id, group_id, chance);
if (chance >= 100.0f && !EqualChanced.empty())
@@ -1411,7 +1411,7 @@ void LootTemplate::Verify(LootStore const& lootstore, uint32 id) const
if (Groups[i])
Groups[i]->Verify(lootstore, id, i + 1);
- // TODO: References validity checks
+ /// @todo References validity checks
}
void LootTemplate::CheckLootRefs(LootTemplateMap const& store, LootIdSet* ref_set) const
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 45fee50c5e5..b73d6fd3c66 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -315,7 +315,7 @@ template<>
void Map::DeleteFromWorld(Player* player)
{
sObjectAccessor->RemoveObject(player);
- sObjectAccessor->RemoveUpdateObject(player); //TODO: I do not know why we need this, it should be removed in ~Object anyway
+ sObjectAccessor->RemoveUpdateObject(player); /// @todo I do not know why we need this, it should be removed in ~Object anyway
delete player;
}
@@ -438,7 +438,7 @@ void Map::InitializeObject(Creature* obj)
template<class T>
bool Map::AddToMap(T *obj)
{
- //TODO: Needs clean up. An object should not be added to map twice.
+ /// @todo Needs clean up. An object should not be added to map twice.
if (obj->IsInWorld())
{
ASSERT(obj->IsInGrid());
@@ -839,7 +839,7 @@ void Map::MoveAllCreaturesInMoveList()
//This may happen when a player just logs in and a pet moves to a nearby unloaded cell
//To avoid this, we can load nearby cells when player log in
//But this check is always needed to ensure safety
- //TODO: pets will disappear if this is outside CreatureRespawnRelocation
+ /// @todo pets will disappear if this is outside CreatureRespawnRelocation
//need to check why pet is frequently relocated to an unloaded cell
if (c->isPet())
((Pet*)c)->Remove(PET_SAVE_NOT_IN_SLOT, true);
@@ -2387,7 +2387,7 @@ bool InstanceMap::CanEnter(Player* player)
*/
bool InstanceMap::AddPlayerToMap(Player* player)
{
- // TODO: Not sure about checking player level: already done in HandleAreaTriggerOpcode
+ /// @todo Not sure about checking player level: already done in HandleAreaTriggerOpcode
// GMs still can teleport player in instance.
// Is it needed?
@@ -2542,7 +2542,7 @@ void InstanceMap::CreateInstanceData(bool load)
if (load)
{
- // TODO: make a global storage for this
+ /// @todo make a global storage for this
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_INSTANCE);
stmt->setUInt16(0, uint16(GetId()));
stmt->setUInt32(1, i_InstanceId);
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp
index 32824addff2..73676416475 100644
--- a/src/server/game/Maps/MapManager.cpp
+++ b/src/server/game/Maps/MapManager.cpp
@@ -195,7 +195,7 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
if ((!group || !group->isRaidGroup()) && !sWorld->getBoolConfig(CONFIG_INSTANCE_IGNORE_RAID))
{
// probably there must be special opcode, because client has this string constant in GlobalStrings.lua
- // TODO: this is not a good place to send the message
+ /// @todo this is not a good place to send the message
player->GetSession()->SendAreaTriggerMessage(player->GetSession()->GetTrinityString(LANG_INSTANCE_RAID_GROUP_ONLY), mapName);
sLog->outDebug(LOG_FILTER_MAPS, "MAP: Player '%s' must be in a raid group to enter instance '%s'", player->GetName().c_str(), mapName);
return false;
@@ -247,7 +247,7 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
if (playerBoundedInstance && playerBoundedInstance->perm && playerBoundedInstance->save &&
boundedInstance->save->GetInstanceId() != playerBoundedInstance->save->GetInstanceId())
{
- //TODO: send some kind of error message to the player
+ /// @todo send some kind of error message to the player
return false;
}*/
}
@@ -321,7 +321,7 @@ bool MapManager::IsValidMAP(uint32 mapid, bool startUp)
else
return mEntry && (!mEntry->IsDungeon() || sObjectMgr->GetInstanceTemplate(mapid));
- // TODO: add check for battleground template
+ /// @todo add check for battleground template
}
void MapManager::UnloadAll()
diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp
index dbda4aa2411..07e33f353c7 100644
--- a/src/server/game/Movement/PathGenerator.cpp
+++ b/src/server/game/Movement/PathGenerator.cpp
@@ -256,7 +256,7 @@ void PathGenerator::BuildPolyPath(Vector3 const& startPos, Vector3 const& endPos
}
// look for startPoly/endPoly in current path
- // TODO: we can merge it with getPathPolyByPosition() loop
+ /// @todo we can merge it with getPathPolyByPosition() loop
bool startPolyFound = false;
bool endPolyFound = false;
uint32 pathStartIndex = 0;
@@ -310,7 +310,7 @@ void PathGenerator::BuildPolyPath(Vector3 const& startPos, Vector3 const& endPos
// sub-path of optimal path is optimal
// take ~80% of the original length
- // TODO : play with the values here
+ /// @todo play with the values here
uint32 prefixPolyLength = uint32(_polyLength * 0.8f + 0.5f);
memmove(_pathPolyRefs, _pathPolyRefs+pathStartIndex, prefixPolyLength * sizeof(dtPolyRef));
@@ -433,7 +433,7 @@ void PathGenerator::BuildPointPath(const float *startPoint, const float *endPoin
{
// only happens if pass bad data to findStraightPath or navmesh is broken
// single point paths can be generated here
- // TODO : check the exact cases
+ /// @todo check the exact cases
sLog->outDebug(LOG_FILTER_MAPS, "++ PathGenerator::BuildPointPath FAILED! path sized %d returned\n", pointCount);
BuildShortcut();
_type = PATHFIND_NOPATH;
diff --git a/src/server/game/Movement/Spline/MoveSpline.cpp b/src/server/game/Movement/Spline/MoveSpline.cpp
index 9f521d2c3f9..01954ad1e82 100644
--- a/src/server/game/Movement/Spline/MoveSpline.cpp
+++ b/src/server/game/Movement/Spline/MoveSpline.cpp
@@ -151,7 +151,7 @@ void MoveSpline::init_spline(const MoveSplineInitArgs& args)
spline.initLengths(init);
}
- // TODO: what to do in such cases? problem is in input data (all points are at same coords)
+ /// @todo what to do in such cases? problem is in input data (all points are at same coords)
if (spline.length() < minimal_duration)
{
sLog->outError(LOG_FILTER_GENERAL, "MoveSpline::init_spline: zero length spline, wrong input data?");
diff --git a/src/server/game/Scripting/MapScripts.cpp b/src/server/game/Scripting/MapScripts.cpp
index 7cee754bba7..d36e351ba9d 100644
--- a/src/server/game/Scripting/MapScripts.cpp
+++ b/src/server/game/Scripting/MapScripts.cpp
@@ -698,7 +698,7 @@ void Map::ScriptsProcess()
case SCRIPT_COMMAND_CAST_SPELL:
{
- // TODO: Allow gameobjects to be targets and casters
+ /// @todo Allow gameobjects to be targets and casters
if (!source && !target)
{
sLog->outError(LOG_FILTER_TSCR, "%s source and target objects are NULL.", step.script->GetDebugInfo().c_str());
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index 245ca7fd41d..d904e1365be 100644
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -52,6 +52,7 @@ void AddSC_cast_commandscript();
void AddSC_character_commandscript();
void AddSC_cheat_commandscript();
void AddSC_debug_commandscript();
+void AddSC_deserter_commandscript();
void AddSC_disable_commandscript();
void AddSC_event_commandscript();
void AddSC_gm_commandscript();
@@ -683,6 +684,7 @@ void AddCommandScripts()
AddSC_character_commandscript();
AddSC_cheat_commandscript();
AddSC_debug_commandscript();
+ AddSC_deserter_commandscript();
AddSC_disable_commandscript();
AddSC_event_commandscript();
AddSC_gm_commandscript();
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index dd479984178..7aa456a2734 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -766,7 +766,7 @@ uint32 ScriptMgr::GetDialogStatus(Player* player, Creature* creature)
ASSERT(player);
ASSERT(creature);
- // TODO: 100 is a funny magic number to have hanging around here...
+ /// @todo 100 is a funny magic number to have hanging around here...
GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, 100);
player->PlayerTalkClass->ClearMenus();
return tmpscript->GetDialogStatus(player, creature);
@@ -852,7 +852,7 @@ uint32 ScriptMgr::GetDialogStatus(Player* player, GameObject* go)
ASSERT(player);
ASSERT(go);
- // TODO: 100 is a funny magic number to have hanging around here...
+ /// @todo 100 is a funny magic number to have hanging around here...
GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, 100);
player->PlayerTalkClass->ClearMenus();
return tmpscript->GetDialogStatus(player, go);
@@ -918,7 +918,7 @@ bool ScriptMgr::OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger)
Battleground* ScriptMgr::CreateBattleground(BattlegroundTypeId /*typeId*/)
{
- // TODO: Implement script-side battlegrounds.
+ /// @todo Implement script-side battlegrounds.
ASSERT(false);
return NULL;
}
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index e9d040200e4..fdc54399ccb 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -70,7 +70,7 @@ struct OutdoorPvPData;
/*
- TODO: Add more script type classes.
+ @todo Add more script type classes.
MailScript
SessionScript
diff --git a/src/server/game/Scripting/ScriptSystem.h b/src/server/game/Scripting/ScriptSystem.h
index cc65d493f3e..0641cebd18f 100644
--- a/src/server/game/Scripting/ScriptSystem.h
+++ b/src/server/game/Scripting/ScriptSystem.h
@@ -10,7 +10,7 @@
#define TEXT_SOURCE_RANGE -1000000 //the amount of entries each text source has available
-//TODO: find better namings and definitions.
+/// @todo find better namings and definitions.
//N=Neutral, A=Alliance, H=Horde.
//NEUTRAL or FRIEND = Hostility to player surroundings (not a good definition)
//ACTIVE or PASSIVE = Hostility to environment surroundings.
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 9efad4664aa..642e6e7d29c 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -875,7 +875,7 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data)
sLog->outInfo(LOG_FILTER_GENERAL, "ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC);
}
- // TODO: Find out when to not use CRC/pubkey, and other possible states.
+ /// @todo Find out when to not use CRC/pubkey, and other possible states.
m_addonsList.push_back(addon);
}
@@ -932,7 +932,7 @@ void WorldSession::SendAddonsInfo()
data.append(addonPublicKey, sizeof(addonPublicKey));
}
- data << uint32(0); // TODO: Find out the meaning of this.
+ data << uint32(0); /// @todo Find out the meaning of this.
}
uint8 unk3 = 0; // 0 is sent here
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 0ef69a38ea4..ca8008c352c 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -1111,7 +1111,7 @@ void AuraEffect::CleanupTriggeredSpells(Unit* target)
return;
// needed for spell 43680, maybe others
- // TODO: is there a spell flag, which can solve this in a more sophisticated way?
+ /// @todo is there a spell flag, which can solve this in a more sophisticated way?
if (m_spellInfo->Effects[GetEffIndex()].ApplyAuraName == SPELL_AURA_PERIODIC_TRIGGER_SPELL &&
uint32(m_spellInfo->GetDuration()) == m_spellInfo->Effects[GetEffIndex()].Amplitude)
return;
@@ -2395,7 +2395,8 @@ void AuraEffect::HandleAuraModPacifyAndSilence(AuraApplication const* aurApp, ui
Unit* target = aurApp->GetTarget();
- // Vengeance of the Blue Flight (TODO: REMOVE THIS!)
+ // Vengeance of the Blue Flight (@todo REMOVE THIS!)
+ /// @workaround
if (m_spellInfo->Id == 45839)
{
if (apply)
@@ -3494,7 +3495,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
&& GetSpellInfo()->AttributesEx2 & SPELL_ATTR2_DAMAGE_REDUCED_SHIELD)
target->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_IMMUNE_OR_LOST_SELECTION);
- // TODO: optimalize this cycle - use RemoveAurasWithInterruptFlags call or something else
+ /// @todo optimalize this cycle - use RemoveAurasWithInterruptFlags call or something else
if ((apply)
&& GetSpellInfo()->AttributesEx & SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY
&& GetSpellInfo()->IsPositive()) //Only positive immunity removes auras
@@ -5420,7 +5421,7 @@ void AuraEffect::HandlePeriodicDummyAuraTick(Unit* target, Unit* caster) const
// Killing Spree
case 51690:
{
- // TODO: this should use effect[1] of 51690
+ /// @todo this should use effect[1] of 51690
UnitList targets;
{
// eff_radius == 0
@@ -5617,7 +5618,7 @@ void AuraEffect::HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster)
triggerSpellId = 30571;
break;
// Doom
- // TODO: effect trigger spell may be independant on spell targets, and executed in spell finish phase
+ /// @todo effect trigger spell may be independant on spell targets, and executed in spell finish phase
// so instakill will be naturally done before trigger spell
case 31347:
{
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 36e58287599..8687034a9f3 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -429,7 +429,7 @@ void Aura::_UnapplyForTarget(Unit* target, Unit* caster, AuraApplication * auraA
ApplicationMap::iterator itr = m_applications.find(target->GetGUID());
- // TODO: Figure out why this happens
+ /// @todo Figure out why this happens
if (itr == m_applications.end())
{
sLog->outError(LOG_FILTER_SPELLS_AURAS, "Aura::_UnapplyForTarget, target:%u, caster:%u, spell:%u was not found in owners application map!",
@@ -573,7 +573,7 @@ void Aura::UpdateTargetMap(Unit* caster, bool apply)
// owner has to be in world, or effect has to be applied to self
if (!GetOwner()->IsSelfOrInSameMap(itr->first))
{
- //TODO: There is a crash caused by shadowfiend load addon
+ /// @todo There is a crash caused by shadowfiend load addon
sLog->outFatal(LOG_FILTER_SPELLS_AURAS, "Aura %u: Owner %s (map %u) is not in the same map as target %s (map %u).", GetSpellInfo()->Id,
GetOwner()->GetName().c_str(), GetOwner()->IsInWorld() ? GetOwner()->GetMap()->GetId() : uint32(-1),
itr->first->GetName().c_str(), itr->first->IsInWorld() ? itr->first->GetMap()->GetId() : uint32(-1));
@@ -970,7 +970,7 @@ void Aura::UnregisterSingleTarget()
{
ASSERT(m_isSingleTarget);
Unit* caster = GetCaster();
- // TODO: find a better way to do this.
+ /// @todo find a better way to do this.
if (!caster)
caster = ObjectAccessor::GetObjectInOrOutOfWorld(GetCasterGUID(), (Unit*)NULL);
ASSERT(caster);
@@ -1183,7 +1183,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
case SPELLFAMILY_MAGE:
if (!caster)
break;
- // Todo: This should be moved to similar function in spell::hit
+ /// @todo This should be moved to similar function in spell::hit
if (GetSpellInfo()->SpellFamilyFlags[0] & 0x01000000)
{
// Polymorph Sound - Sheep && Penguin
@@ -1691,7 +1691,7 @@ bool Aura::IsProcTriggeredOnEvent(AuraApplication* aurApp, ProcEventInfo& eventI
if (IsProcOnCooldown())
return false;
- // TODO:
+ /// @todo
// something about triggered spells triggering, and add extra attack effect
// do checks against db data
@@ -1709,14 +1709,14 @@ bool Aura::IsProcTriggeredOnEvent(AuraApplication* aurApp, ProcEventInfo& eventI
if (!check)
return false;
- // TODO:
+ /// @todo
// do allow additional requirements for procs
// this is needed because this is the last moment in which you can prevent aura charge drop on proc
// and possibly a way to prevent default checks (if there're going to be any)
// Check if current equipment meets aura requirements
// do that only for passive spells
- // TODO: this needs to be unified for all kinds of auras
+ /// @todo this needs to be unified for all kinds of auras
Unit* target = aurApp->GetTarget();
if (IsPassive() && target->GetTypeId() == TYPEID_PLAYER)
{
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 3c3c36b86dc..4f8562ce5ec 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1074,7 +1074,7 @@ void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTarge
Trinity::Containers::RandomResizeList(targets, maxTargets);
// for compability with older code - add only unit and go targets
- // TODO: remove this
+ /// @todo remove this
std::list<Unit*> unitTargets;
std::list<GameObject*> gObjTargets;
@@ -1151,7 +1151,7 @@ void Spell::SelectImplicitAreaTargets(SpellEffIndex effIndex, SpellImplicitTarge
SearchAreaTargets(targets, radius, center, referer, targetType.GetObjectType(), targetType.GetCheckType(), m_spellInfo->Effects[effIndex].ImplicitTargetConditions);
// Custom entries
- // TODO: remove those
+ /// @todo remove those
switch (m_spellInfo->Id)
{
case 46584: // Raise Dead
@@ -1226,7 +1226,7 @@ void Spell::SelectImplicitAreaTargets(SpellEffIndex effIndex, SpellImplicitTarge
std::list<Unit*> unitTargets;
std::list<GameObject*> gObjTargets;
// for compability with older code - add only unit and go targets
- // TODO: remove this
+ /// @todo remove this
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
{
if (Unit* unitTarget = (*itr)->ToUnit())
@@ -1376,7 +1376,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici
case TARGET_DEST_DB:
if (SpellTargetPosition const* st = sSpellMgr->GetSpellTargetPosition(m_spellInfo->Id))
{
- // TODO: fix this check
+ /// @todo fix this check
if (m_spellInfo->HasEffect(SPELL_EFFECT_TELEPORT_UNITS) || m_spellInfo->HasEffect(SPELL_EFFECT_BIND))
m_targets.SetDst(st->target_X, st->target_Y, st->target_Z, st->target_Orientation, (int32)st->target_mapId);
else if (st->target_mapId == m_caster->GetMapId())
@@ -1635,7 +1635,7 @@ void Spell::SelectImplicitTrajTargets()
continue;
const float size = std::max((*itr)->GetObjectSize() * 0.7f, 1.0f); // 1/sqrt(3)
- // TODO: all calculation should be based on src instead of m_caster
+ /// @todo all calculation should be based on src instead of m_caster
const float objDist2d = m_targets.GetSrcPos()->GetExactDist2d(*itr) * std::cos(m_targets.GetSrcPos()->GetRelativeAngle(*itr));
const float dz = (*itr)->GetPositionZ() - m_targets.GetSrcPos()->m_positionZ;
@@ -1738,7 +1738,7 @@ void Spell::SelectImplicitTrajTargets()
void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
{
// special case for SPELL_EFFECT_SUMMON_RAF_FRIEND and SPELL_EFFECT_SUMMON_PLAYER
- // TODO: this is a workaround - target shouldn't be stored in target map for those spells
+ /// @todo this is a workaround - target shouldn't be stored in target map for those spells
switch (m_spellInfo->Effects[effIndex].Effect)
{
case SPELL_EFFECT_SUMMON_RAF_FRIEND:
@@ -1781,7 +1781,7 @@ void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
{
if (Corpse* corpseTarget = m_targets.GetCorpseTarget())
{
- // TODO: this is a workaround - corpses should be added to spell target map too, but we can't do that so we add owner instead
+ /// @todo this is a workaround - corpses should be added to spell target map too, but we can't do that so we add owner instead
if (Player* owner = ObjectAccessor::FindPlayer(corpseTarget->GetOwnerGUID()))
target = owner;
}
@@ -2162,7 +2162,7 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*=
if (m_spellInfo->Speed > 0.0f && m_caster != target)
{
// calculate spell incoming interval
- // TODO: this is a hack
+ /// @todo this is a hack
float dist = m_caster->GetDistance(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
if (dist < 5.0f)
@@ -2399,7 +2399,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
{
m_needComboPoints = false;
// Restore spell mods for a miss/dodge/parry Cold Blood
- // TODO: check how broad this rule should be
+ /// @todo check how broad this rule should be
if (m_caster->GetTypeId() == TYPEID_PLAYER && (missInfo == SPELL_MISS_MISS ||
missInfo == SPELL_MISS_DODGE || missInfo == SPELL_MISS_PARRY))
m_caster->ToPlayer()->RestoreSpellMods(this, 14177);
@@ -2605,14 +2605,14 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
if (m_caster->_IsValidAttackTarget(unit, m_spellInfo))
{
unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_HITBYSPELL);
- //TODO: This is a hack. But we do not know what types of stealth should be interrupted by CC
+ /// @todo This is a hack. But we do not know what types of stealth should be interrupted by CC
if ((m_spellInfo->AttributesCu & SPELL_ATTR0_CU_AURA_CC) && unit->IsControlledByPlayer())
unit->RemoveAurasByType(SPELL_AURA_MOD_STEALTH);
}
else if (m_caster->IsFriendlyTo(unit))
{
// for delayed spells ignore negative spells (after duel end) for friendly targets
- // TODO: this cause soul transfer bugged
+ /// @todo this cause soul transfer bugged
if (m_spellInfo->Speed > 0.0f && unit->GetTypeId() == TYPEID_PLAYER && !m_spellInfo->IsPositive())
return SPELL_MISS_EVADE;
@@ -2754,7 +2754,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask)
{
// Apply additional spell effects to target
- // TODO: move this code to scripts
+ /// @todo move this code to scripts
if (m_preCastSpell)
{
// Paladin immunity shields
@@ -2810,7 +2810,7 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask)
}
// trigger linked auras remove/apply
- // TODO: remove/cleanup this, as this table is not documented and people are doing stupid things with it
+ /// @todo remove/cleanup this, as this table is not documented and people are doing stupid things with it
if (std::vector<int32> const* spellTriggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id + SPELL_LINK_HIT))
{
for (std::vector<int32>::const_iterator i = spellTriggered->begin(); i != spellTriggered->end(); ++i)
@@ -3047,7 +3047,7 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered
sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell::prepare: spell id %u source %u caster %d customCastFlags %u mask %u", m_spellInfo->Id, m_caster->GetEntry(), m_originalCaster ? m_originalCaster->GetEntry() : -1, _triggeredCastFlags, m_targets.GetTargetMask());
//Containers for channeled spells have to be set
- //TODO:Apply this to all casted spells if needed
+ /// @todoApply this to all casted spells if needed
// Why check duration? 29350: channelled triggers channelled
if ((_triggeredCastFlags & TRIGGERED_CAST_DIRECTLY) && (!m_spellInfo->IsChanneled() || !m_spellInfo->GetMaxDuration()))
cast(true);
@@ -3488,7 +3488,7 @@ void Spell::_handle_immediate_phase()
if (!m_originalCaster)
return;
// Handle procs on cast
- // TODO: finish new proc system:P
+ /// @todo finish new proc system:P
if (m_UniqueTargetInfo.empty() && m_targets.HasDst())
{
uint32 procAttacker = m_procAttacker;
@@ -3519,7 +3519,7 @@ void Spell::_handle_finish_phase()
if (m_caster->m_extraAttacks && GetSpellInfo()->HasEffect(SPELL_EFFECT_ADD_EXTRA_ATTACKS))
m_caster->HandleProcExtraAttackFor(m_caster->getVictim());
- // TODO: trigger proc phase finish here
+ /// @todo trigger proc phase finish here
}
void Spell::SendSpellCooldown()
@@ -4014,7 +4014,7 @@ void Spell::SendSpellGo()
if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list
{
- //TODO: There is a crash caused by a spell with CAST_FLAG_RUNE_LIST casted by a creature
+ /// @todo There is a crash caused by a spell with CAST_FLAG_RUNE_LIST casted by a creature
//The creature is the mover of a player, so HandleCastSpellOpcode uses it as the caster
if (Player* player = m_caster->ToPlayer())
{
@@ -4999,7 +4999,7 @@ SpellCastResult Spell::CheckCast(bool strict)
}
// Triggered spells also have range check
- // TODO: determine if there is some flag to enable/disable the check
+ /// @todo determine if there is some flag to enable/disable the check
castResult = CheckRange(strict);
if (castResult != SPELL_CAST_OK)
return castResult;
@@ -6097,7 +6097,7 @@ SpellCastResult Spell::CheckItems()
if (msg != EQUIP_ERR_OK)
{
ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(m_spellInfo->Effects[i].ItemType);
- // TODO: Needs review
+ /// @todo Needs review
if (pProto && !(pProto->ItemLimitCategory))
{
p_caster->SendEquipError(msg, NULL, NULL, m_spellInfo->Effects[i].ItemType);
@@ -6516,7 +6516,7 @@ bool Spell::CheckEffectTarget(Unit const* target, uint32 eff) const
if (IsTriggered() || m_spellInfo->AttributesEx2 & SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS || DisableMgr::IsDisabledFor(DISABLE_TYPE_SPELL, m_spellInfo->Id, NULL, SPELL_DISABLE_LOS))
return true;
- // todo: shit below shouldn't be here, but it's temporary
+ /// @todo shit below shouldn't be here, but it's temporary
//Check targets for LOS visibility (except spells without range limitations)
switch (m_spellInfo->Effects[eff].Effect)
{
@@ -6562,7 +6562,7 @@ bool Spell::IsNextMeleeSwingSpell() const
bool Spell::IsAutoActionResetSpell() const
{
- // TODO: changed SPELL_INTERRUPT_FLAG_AUTOATTACK -> SPELL_INTERRUPT_FLAG_INTERRUPT to fix compile - is this check correct at all?
+ /// @todo changed SPELL_INTERRUPT_FLAG_AUTOATTACK -> SPELL_INTERRUPT_FLAG_INTERRUPT to fix compile - is this check correct at all?
return !IsTriggered() && (m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_INTERRUPT);
}
@@ -7180,7 +7180,7 @@ bool Spell::CanExecuteTriggersOnHit(uint8 effMask, SpellInfo const* triggeredByA
void Spell::PrepareTriggersExecutedOnHit()
{
- // todo: move this to scripts
+ /// @todo move this to scripts
if (m_spellInfo->SpellFamilyName)
{
SpellInfo const* excludeCasterSpellInfo = sSpellMgr->GetSpellInfo(m_spellInfo->ExcludeCasterAuraSpell);
@@ -7191,7 +7191,7 @@ void Spell::PrepareTriggersExecutedOnHit()
m_preCastSpell = m_spellInfo->ExcludeTargetAuraSpell;
}
- // todo: move this to scripts
+ /// @todo move this to scripts
switch (m_spellInfo->SpellFamilyName)
{
case SPELLFAMILY_MAGE:
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 6c3b21fc4e0..6004888fdda 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -694,7 +694,7 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
uint32 triggered_spell_id = m_spellInfo->Effects[effIndex].TriggerSpell;
- // todo: move those to spell scripts
+ /// @todo move those to spell scripts
if (m_spellInfo->Effects[effIndex].Effect == SPELL_EFFECT_TRIGGER_SPELL
&& effectHandleMode == SPELL_EFFECT_HANDLE_LAUNCH_TARGET)
{
@@ -1247,7 +1247,7 @@ void Spell::EffectSendEvent(SpellEffIndex effIndex)
// some spells have no target entries in dbc and they use focus target
if (focusObject)
target = focusObject;
- // TODO: there should be a possibility to pass dest target to event script
+ /// @todo there should be a possibility to pass dest target to event script
}
sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Spell ScriptStart %u for spellid %u in EffectSendEvent ", m_spellInfo->Effects[effIndex].MiscValue, m_spellInfo->Id);
@@ -1611,7 +1611,7 @@ void Spell::EffectCreateItem2(SpellEffIndex effIndex)
else
player->AutoStoreLoot(m_spellInfo->Id, LootTemplates_Spell); // create some random items
}
- // TODO: ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
+ /// @todo ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
}
void Spell::EffectCreateRandomItem(SpellEffIndex /*effIndex*/)
@@ -1625,7 +1625,7 @@ void Spell::EffectCreateRandomItem(SpellEffIndex /*effIndex*/)
// create some random items
player->AutoStoreLoot(m_spellInfo->Id, LootTemplates_Spell);
- // TODO: ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
+ /// @todo ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
}
void Spell::EffectPersistentAA(SpellEffIndex effIndex)
@@ -1837,7 +1837,7 @@ void Spell::SendLoot(uint64 guid, LootType loottype)
return;
case GAMEOBJECT_TYPE_CHEST:
- // TODO: possible must be moved to loot release (in different from linked triggering)
+ /// @todo possible must be moved to loot release (in different from linked triggering)
if (gameObjTarget->GetGOInfo()->chest.eventId)
{
sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "Chest ScriptStart id %u for GO %u", gameObjTarget->GetGOInfo()->chest.eventId, gameObjTarget->GetDBTableGUIDLow());
@@ -1878,7 +1878,7 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
if (gameObjTarget)
{
GameObjectTemplate const* goInfo = gameObjTarget->GetGOInfo();
- // Arathi Basin banner opening. // TODO: Verify correctness of this check
+ // Arathi Basin banner opening. /// @todo Verify correctness of this check
if ((goInfo->type == GAMEOBJECT_TYPE_BUTTON && goInfo->button.noDamageImmune) ||
(goInfo->type == GAMEOBJECT_TYPE_GOOBER && goInfo->goober.losOK))
{
@@ -1906,7 +1906,7 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
gameObjTarget->SetLootState(GO_JUST_DEACTIVATED);
return;
}
- // TODO: Add script for spell 41920 - Filling, becouse server it freze when use this spell
+ /// @todo Add script for spell 41920 - Filling, becouse server it freze when use this spell
// handle outdoor pvp object opening, return true if go was registered for handling
// these objects must have been spawned by outdoorpvp!
else if (gameObjTarget->GetGOInfo()->type == GAMEOBJECT_TYPE_GOOBER && sOutdoorPvPMgr->HandleOpenGo(player, gameObjTarget->GetGUID()))
@@ -2410,7 +2410,7 @@ void Spell::EffectDualWield(SpellEffIndex /*effIndex*/)
void Spell::EffectPull(SpellEffIndex effIndex)
{
- // TODO: create a proper pull towards distract spell center for distract
+ /// @todo create a proper pull towards distract spell center for distract
EffectNULL(effIndex);
}
@@ -3226,7 +3226,7 @@ void Spell::EffectInterruptCast(SpellEffIndex effIndex)
if (!unitTarget || !unitTarget->isAlive())
return;
- // TODO: not all spells that used this effect apply cooldown at school spells
+ /// @todo not all spells that used this effect apply cooldown at school spells
// also exist case: apply cooldown to interrupted cast only and to all spells
// there is no CURRENT_AUTOREPEAT_SPELL spells that can be interrupted
for (uint32 i = CURRENT_FIRST_NON_MELEE_SPELL; i < CURRENT_AUTOREPEAT_SPELL; ++i)
@@ -3324,7 +3324,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
- // TODO: we must implement hunter pet summon at login there (spell 6962)
+ /// @todo we must implement hunter pet summon at login there (spell 6962)
switch (m_spellInfo->SpellFamilyName)
{
@@ -3757,7 +3757,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
{
if (Unit* parent = seat->GetVehicleBase())
{
- // TODO: a hack, range = 11, should after some time cast, otherwise too far
+ /// @todo a hack, range = 11, should after some time cast, otherwise too far
m_caster->CastSpell(parent, 62496, true);
unitTarget->CastSpell(parent, m_spellInfo->Effects[EFFECT_0].CalcValue());
}
@@ -4340,7 +4340,7 @@ void Spell::EffectFeedPet(SpellEffIndex effIndex)
uint32 count = 1;
player->DestroyItemCount(foodItem, count, true);
- // TODO: fix crash when a spell has two effects, both pointed at the same item target
+ /// @todo fix crash when a spell has two effects, both pointed at the same item target
m_caster->CastCustomSpell(pet, m_spellInfo->Effects[effIndex].TriggerSpell, &benefit, NULL, NULL, true);
}
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index a08ffb5734f..7a9ef241ad3 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1451,7 +1451,7 @@ SpellCastResult SpellInfo::CheckShapeshift(uint32 form) const
// Check if stance disables cast of not-stance spells
// Example: cannot cast any other spells in zombie or ghoul form
- // TODO: Find a way to disable use of these spells clientside
+ /// @todo Find a way to disable use of these spells clientside
if (shapeInfo && shapeInfo->flags1 & 0x400)
{
if (!(stanceMask & Stances))
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index fc6dec7e2ec..d2e4ed362f0 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2102,7 +2102,7 @@ void SpellMgr::LoadEnchantCustomAttr()
if (!spellInfo)
continue;
- // TODO: find a better check
+ /// @todo find a better check
if (!(spellInfo->AttributesEx2 & SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA) || !(spellInfo->Attributes & SPELL_ATTR0_NOT_SHAPESHIFT))
continue;
diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h
index 653fccb17af..391be0c7311 100644
--- a/src/server/game/Spells/SpellMgr.h
+++ b/src/server/game/Spells/SpellMgr.h
@@ -84,7 +84,7 @@ enum SpellFamilyFlag
SPELLFAMILYFLAG_DK_DEATH_STRIKE = 0x00000010,
SPELLFAMILYFLAG_DK_DEATH_COIL = 0x00002000,
- // TODO: Figure out a more accurate name for the following familyflag(s)
+ /// @todo Figure out a more accurate name for the following familyflag(s)
SPELLFAMILYFLAG_SHAMAN_TOTEM_EFFECTS = 0x04000000 // Seems to be linked to most totems and some totem effects
};
diff --git a/src/server/game/Tickets/TicketMgr.h b/src/server/game/Tickets/TicketMgr.h
index 22315ab1926..0fe45f81360 100644
--- a/src/server/game/Tickets/TicketMgr.h
+++ b/src/server/game/Tickets/TicketMgr.h
@@ -162,7 +162,7 @@ private:
bool _completed;
GMTicketEscalationStatus _escalatedStatus;
bool _viewed;
- bool _needResponse; // TODO: find out the use of this, and then store it in DB
+ bool _needResponse; /// @todo find out the use of this, and then store it in DB
bool _haveTicket;
std::string _response;
std::string _chatLog; // No need to store in db, will be refreshed every session client side
diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp
index 052797851d1..32d38a10aec 100644
--- a/src/server/game/Tools/PlayerDump.cpp
+++ b/src/server/game/Tools/PlayerDump.cpp
@@ -356,8 +356,8 @@ bool PlayerDumpWriter::GetDump(uint32 guid, std::string &dump)
if (!DumpTable(dump, guid, dumpTables[i].name, dumpTables[i].name, dumpTables[i].type))
return false;
- // TODO: Add instance/group..
- // TODO: Add a dump level option to skip some non-important tables
+ /// @todo Add instance/group..
+ /// @todo Add a dump level option to skip some non-important tables
return true;
}
diff --git a/src/server/game/Warden/WardenWin.cpp b/src/server/game/Warden/WardenWin.cpp
index bf423459222..21bf3527a9a 100644
--- a/src/server/game/Warden/WardenWin.cpp
+++ b/src/server/game/Warden/WardenWin.cpp
@@ -349,7 +349,7 @@ void WardenWin::HandleData(ByteBuffer &buff)
{
uint8 result;
buff >> result;
- // TODO: test it.
+ /// @todo test it.
if (result == 0x00)
{
sLog->outWarn(LOG_FILTER_WARDEN, "%s failed timing check. Action: %s", _session->GetPlayerInfo().c_str(), Penalty().c_str());
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index ffed29b6aa5..018c5bc932a 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -141,7 +141,7 @@ World::~World()
VMAP::VMapFactory::clear();
MMAP::MMapFactory::clear();
- //TODO free addSessQueue
+ /// @todo free addSessQueue
}
/// Find a player in a specified zone
@@ -634,7 +634,7 @@ void World::LoadConfigSettings(bool reload)
m_float_configs[CONFIG_GROUP_XP_DISTANCE] = ConfigMgr::GetFloatDefault("MaxGroupXPDistance", 74.0f);
m_float_configs[CONFIG_MAX_RECRUIT_A_FRIEND_DISTANCE] = ConfigMgr::GetFloatDefault("MaxRecruitAFriendBonusDistance", 100.0f);
- /// \todo Add MonsterSight and GuarderSight (with meaning) in worldserver.conf or put them as define
+ /// @todo Add MonsterSight and GuarderSight (with meaning) in worldserver.conf or put them as define
m_float_configs[CONFIG_SIGHT_MONSTER] = ConfigMgr::GetFloatDefault("MonsterSight", 50);
m_float_configs[CONFIG_SIGHT_GUARDER] = ConfigMgr::GetFloatDefault("GuarderSight", 50);
@@ -1760,7 +1760,7 @@ void World::SetInitialWorldSettings()
//to set mailtimer to return mails every day between 4 and 5 am
//mailtimer is increased when updating auctions
//one second is 1000 -(tested on win system)
- //TODO: Get rid of magic numbers
+ /// @todo Get rid of magic numbers
mail_timer = ((((localtime(&m_gameTime)->tm_hour + 20) % 24)* HOUR * IN_MILLISECONDS) / m_timers[WUPDATE_AUCTIONS].GetInterval());
//1440
mail_timer_expires = ((DAY * IN_MILLISECONDS) / (m_timers[WUPDATE_AUCTIONS].GetInterval()));
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index a07375bca1e..d7c20b08941 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -578,7 +578,7 @@ class World
int32 GetQueuePos(WorldSession*);
bool HasRecentlyDisconnected(WorldSession*);
- /// \todo Actions on m_allowMovement still to be implemented
+ /// @todo Actions on m_allowMovement still to be implemented
/// Is movement allowed?
bool getAllowMovement() const { return m_allowMovement; }
/// Allow/Disallow object movements
diff --git a/src/server/scripts/Commands/CMakeLists.txt b/src/server/scripts/Commands/CMakeLists.txt
index 83e97b2c80d..15e16c2caf1 100644
--- a/src/server/scripts/Commands/CMakeLists.txt
+++ b/src/server/scripts/Commands/CMakeLists.txt
@@ -18,6 +18,7 @@ set(scripts_STAT_SRCS
Commands/cs_character.cpp
Commands/cs_cheat.cpp
Commands/cs_debug.cpp
+ Commands/cs_deserter.cpp
Commands/cs_disable.cpp
Commands/cs_event.cpp
Commands/cs_gm.cpp
diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp
index 4dc44bbfc58..3953beab3da 100644
--- a/src/server/scripts/Commands/cs_account.cpp
+++ b/src/server/scripts/Commands/cs_account.cpp
@@ -140,7 +140,7 @@ public:
}
/// Delete a user account and all associated characters in this realm
- /// \todo This function has to be enhanced to respect the login/realm split (delete char, delete account chars in realm then delete account)
+ /// @todo This function has to be enhanced to respect the login/realm split (delete char, delete account chars in realm then delete account)
static bool HandleAccountDeleteCommand(ChatHandler* handler, char const* args)
{
if (!*args)
diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp
index 2ab3793f881..1ed00f32b87 100644
--- a/src/server/scripts/Commands/cs_character.cpp
+++ b/src/server/scripts/Commands/cs_character.cpp
@@ -443,7 +443,7 @@ public:
stmt->setUInt16(0, uint16(AT_LOGIN_CHANGE_RACE));
if (target)
{
- // TODO : add text into database
+ /// @todo add text into database
handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER, handler->GetNameLink(target).c_str());
target->SetAtLoginFlag(AT_LOGIN_CHANGE_RACE);
stmt->setUInt32(1, target->GetGUIDLow());
@@ -451,7 +451,7 @@ public:
else
{
std::string oldNameLink = handler->playerLink(targetName);
- // TODO : add text into database
+ /// @todo add text into database
handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid));
stmt->setUInt32(1, GUID_LOPART(targetGuid));
}
diff --git a/src/server/scripts/Commands/cs_deserter.cpp b/src/server/scripts/Commands/cs_deserter.cpp
new file mode 100644
index 00000000000..3850456fcb3
--- /dev/null
+++ b/src/server/scripts/Commands/cs_deserter.cpp
@@ -0,0 +1,199 @@
+/*
+ * 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/>.
+ */
+
+/**
+* @file cs_deserter.cpp
+* @brief .deserter related commands
+*
+* This file contains the CommandScripts for all deserter sub-commands
+*/
+
+#include "Chat.h"
+#include "Player.h"
+#include "Language.h"
+#include "ScriptMgr.h"
+#include "SpellAuras.h"
+
+enum Spells
+{
+ LFG_SPELL_DUNGEON_DESERTER = 71041,
+ BG_SPELL_DESERTER = 26013
+};
+
+class deserter_commandscript : public CommandScript
+{
+public:
+ deserter_commandscript() : CommandScript("deserter_commandscript") { }
+
+ /**
+ * @brief Returns the command structure for the system.
+ */
+
+ ChatCommand* GetCommands() const
+ {
+ static ChatCommand deserterInstanceCommandTable[] =
+ {
+ { "add", SEC_ADMINISTRATOR, false, &HandleDeserterInstanceAdd, "", NULL },
+ { "remove", SEC_ADMINISTRATOR, false, &HandleDeserterInstanceRemove, "", NULL },
+ { NULL, SEC_PLAYER, false, NULL, "", NULL }
+ };
+ static ChatCommand deserterBGCommandTable[] =
+ {
+ { "add", SEC_ADMINISTRATOR, false, &HandleDeserterBGAdd, "", NULL },
+ { "remove", SEC_ADMINISTRATOR, false, &HandleDeserterBGRemove, "", NULL },
+ { NULL, SEC_PLAYER, false, NULL, "", NULL }
+ };
+
+ static ChatCommand deserterCommandTable[] =
+ {
+ { "instance", SEC_ADMINISTRATOR, false, NULL, "", deserterInstanceCommandTable },
+ { "bg", SEC_ADMINISTRATOR, false, NULL, "", deserterBGCommandTable },
+ { NULL, SEC_PLAYER, false, NULL, "", NULL }
+ };
+ static ChatCommand commandTable[] =
+ {
+ { "deserter", SEC_ADMINISTRATOR, false, NULL, "", deserterCommandTable },
+ { NULL, SEC_PLAYER, false, NULL, "", NULL }
+ };
+ return commandTable;
+ }
+
+ /**
+ * @brief Applies the Deserter Debuff to a player
+ *
+ * This function applies a Deserter Debuff of the given type (Instance or BG) to the
+ * selected player, with the provided duration in seconds.
+ *
+ * @param handler The ChatHandler, passed by the system.
+ * @param args The provided duration in seconds.
+ * @param isInstance provided by the relaying functions, so we don't have
+ * to write that much code :)
+ *
+ * @return true if everything was correct, false if an error occured.
+ *
+ * Example Usage:
+ * @code
+ * .deserter instance add 3600 (one hour)
+ * -or-
+ * .deserter bg add 3600 (one hour)
+ * @endcode
+ */
+ static bool HandleDeserterAdd(ChatHandler* handler, char const* args, bool isInstance)
+ {
+ if (!*args)
+ return false;
+
+ Player* player = handler->getSelectedPlayer();
+ if (!player)
+ {
+ handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+ char* timeStr = strtok((char*)args, " ");
+ if (!timeStr)
+ {
+ handler->SendSysMessage(LANG_BAD_VALUE);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+ uint32 time = atoi(timeStr);
+
+ if (!time)
+ {
+ handler->SendSysMessage(LANG_BAD_VALUE);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ Aura* aura = player->AddAura(isInstance ? LFG_SPELL_DUNGEON_DESERTER : BG_SPELL_DESERTER, player);
+
+ if (!aura)
+ {
+ handler->SendSysMessage(LANG_BAD_VALUE);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+ aura->SetDuration(time * IN_MILLISECONDS);
+
+ return true;
+ }
+
+ /**
+ * @brief Removes the Deserter Debuff from a player
+ *
+ * This function removes a Deserter Debuff of the given type (Instance or BG) from the
+ * selected player.
+ *
+ * @param handler The ChatHandler, passed by the system.
+ * @param args Should be nothing.
+ * @param isInstance provided by the relaying functions, so we don't have
+ * to write that much code :)
+ *
+ * @return true if everything was correct, false if an error occured.
+ *
+ * Example Usage:
+ * @code
+ * .deserter instance remove
+ * -or-
+ * .deserter bg remove
+ * @endcode
+ */
+ static bool HandleDeserterRemove(ChatHandler* handler, char const* /*args*/, bool isInstance)
+ {
+ Player* player = handler->getSelectedPlayer();
+ if (!player)
+ {
+ handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ player->RemoveAura(isInstance ? LFG_SPELL_DUNGEON_DESERTER : BG_SPELL_DESERTER);
+
+ return true;
+ }
+
+ /// @sa HandleDeserterAdd()
+ static bool HandleDeserterInstanceAdd(ChatHandler* handler, char const* args)
+ {
+ return HandleDeserterAdd(handler, args, true);
+ }
+
+ /// @sa HandleDeserterAdd()
+ static bool HandleDeserterBGAdd(ChatHandler* handler, char const* args)
+ {
+ return HandleDeserterAdd(handler, args, false);
+ }
+
+ /// @sa HandleDeserterRemove()
+ static bool HandleDeserterInstanceRemove(ChatHandler* handler, char const* args)
+ {
+ return HandleDeserterRemove(handler, args, true);
+ }
+
+ /// @sa HandleDeserterRemove()
+ static bool HandleDeserterBGRemove(ChatHandler* handler, char const* args)
+ {
+ return HandleDeserterRemove(handler, args, false);
+ }
+};
+
+void AddSC_deserter_commandscript()
+{
+ new deserter_commandscript();
+}
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index a2d8e557ea1..3bdd0fbe132 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -174,7 +174,7 @@ public:
return false;
}
- // TODO: is it really necessary to add both the real and DB table guid here ?
+ /// @todo is it really necessary to add both the real and DB table guid here ?
sObjectMgr->AddGameobjectToGrid(guidLow, sObjectMgr->GetGOData(guidLow));
handler->PSendSysMessage(LANG_GAMEOBJECT_ADD, objectId, objectInfo->name.c_str(), guidLow, x, y, z);
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index e695a171255..8357b0ec090 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -35,6 +35,7 @@
#include "Pet.h"
#include "LFG.h"
#include "GroupMgr.h"
+#include "MMapFactory.h"
class misc_commandscript : public CommandScript
{
@@ -190,8 +191,9 @@ public:
uint32 zoneId, areaId;
object->GetZoneAndAreaId(zoneId, areaId);
+ uint32 mapId = object->GetMapId();
- MapEntry const* mapEntry = sMapStore.LookupEntry(object->GetMapId());
+ MapEntry const* mapEntry = sMapStore.LookupEntry(mapId);
AreaTableEntry const* zoneEntry = GetAreaEntryByAreaID(zoneId);
AreaTableEntry const* areaEntry = GetAreaEntryByAreaID(areaId);
@@ -210,8 +212,9 @@ public:
int gridX = 63 - gridCoord.x_coord;
int gridY = 63 - gridCoord.y_coord;
- uint32 haveMap = Map::ExistMap(object->GetMapId(), gridX, gridY) ? 1 : 0;
- uint32 haveVMap = Map::ExistVMap(object->GetMapId(), gridX, gridY) ? 1 : 0;
+ uint32 haveMap = Map::ExistMap(mapId, gridX, gridY) ? 1 : 0;
+ uint32 haveVMap = Map::ExistVMap(mapId, gridX, gridY) ? 1 : 0;
+ uint32 haveMMap = (MMAP::MMapFactory::IsPathfindingEnabled(mapId) && MMAP::MMapFactory::createOrGetMMapManager()->GetNavMesh(handler->GetSession()->GetPlayer()->GetMapId())) ? 1 : 0;
if (haveVMap)
{
@@ -224,13 +227,13 @@ public:
handler->PSendSysMessage("no VMAP available for area info");
handler->PSendSysMessage(LANG_MAP_POSITION,
- object->GetMapId(), (mapEntry ? mapEntry->name : "<unknown>"),
+ mapId, (mapEntry ? mapEntry->name : "<unknown>"),
zoneId, (zoneEntry ? zoneEntry->area_name : "<unknown>"),
areaId, (areaEntry ? areaEntry->area_name : "<unknown>"),
object->GetPhaseMask(),
object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation(),
cell.GridX(), cell.GridY(), cell.CellX(), cell.CellY(), object->GetInstanceId(),
- zoneX, zoneY, groundZ, floorZ, haveMap, haveVMap);
+ zoneX, zoneY, groundZ, floorZ, haveMap, haveVMap, haveMMap);
LiquidData liquidStatus;
ZLiquidStatus status = map->getLiquidStatus(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), MAP_ALL_LIQUIDS, &liquidStatus);
@@ -2209,7 +2212,7 @@ public:
// from console show not existed sender
MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUIDLow() : 0, MAIL_STATIONERY_GM);
- //- TODO: Fix poor design
+ /// @todo Fix poor design
SQLTransaction trans = CharacterDatabase.BeginTransaction();
MailDraft(subject, text)
.SendMailTo(trans, MailReceiver(target, GUID_LOPART(targetGuid)), sender);
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 466cd318b68..809b6e8db74 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -1251,6 +1251,7 @@ public:
}
target->GetReputationMgr().SetOneFactionReputation(factionEntry, amount, false);
+ target->GetReputationMgr().SendState(target->GetReputationMgr().GetState(factionEntry));
handler->PSendSysMessage(LANG_COMMAND_MODIFY_REP, factionEntry->name, factionId,
handler->GetNameLink(target).c_str(), target->GetReputationMgr().GetReputation(factionEntry));
return true;
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 06f8aecef04..e60fd36a375 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -82,7 +82,7 @@ public:
{ "item", SEC_GAMEMASTER, false, &HandleNpcAddVendorItemCommand, "", NULL },
{ "move", SEC_GAMEMASTER, false, &HandleNpcAddMoveCommand, "", NULL },
{ "temp", SEC_GAMEMASTER, false, &HandleNpcAddTempSpawnCommand, "", NULL },
- //{ TODO: fix or remove this command
+ //{@todo fix or remove this command
{ "weapon", SEC_ADMINISTRATOR, false, &HandleNpcAddWeaponCommand, "", NULL },
//}
{ "", SEC_GAMEMASTER, false, &HandleNpcAddCommand, "", NULL },
@@ -114,7 +114,7 @@ public:
{ "spawndist", SEC_GAMEMASTER, false, &HandleNpcSetSpawnDistCommand, "", NULL },
{ "spawntime", SEC_GAMEMASTER, false, &HandleNpcSetSpawnTimeCommand, "", NULL },
{ "data", SEC_ADMINISTRATOR, false, &HandleNpcSetDataCommand, "", NULL },
- //{ TODO: fix or remove these commands
+ //{ @todo fix or remove these commands
{ "name", SEC_GAMEMASTER, false, &HandleNpcSetNameCommand, "", NULL },
{ "subname", SEC_GAMEMASTER, false, &HandleNpcSetSubNameCommand, "", NULL },
//}
@@ -651,7 +651,7 @@ public:
handler->PSendSysMessage(LANG_NPCINFO_LEVEL, target->getLevel());
handler->PSendSysMessage(LANG_NPCINFO_EQUIPMENT, target->GetCurrentEquipmentId(), target->GetOriginalEquipmentId());
handler->PSendSysMessage(LANG_NPCINFO_HEALTH, target->GetCreateHealth(), target->GetMaxHealth(), target->GetHealth());
- handler->PSendSysMessage(LANG_NPCINFO_FLAGS, target->GetUInt32Value(UNIT_FIELD_FLAGS), target->GetUInt32Value(UNIT_DYNAMIC_FLAGS), target->getFaction());
+ handler->PSendSysMessage(LANG_NPCINFO_FLAGS, target->GetUInt32Value(UNIT_FIELD_FLAGS), target->GetUInt32Value(UNIT_FIELD_FLAGS_2), target->GetUInt32Value(UNIT_DYNAMIC_FLAGS), target->getFaction());
handler->PSendSysMessage(LANG_COMMAND_RAWPAWNTIMES, defRespawnDelayStr.c_str(), curRespawnDelayStr.c_str());
handler->PSendSysMessage(LANG_NPCINFO_LOOT, cInfo->lootid, cInfo->pickpocketLootId, cInfo->SkinLootId);
handler->PSendSysMessage(LANG_NPCINFO_DUNGEON_ID, target->GetInstanceId());
@@ -1425,7 +1425,7 @@ public:
return true;
}
- //TODO: NpcCommands that need to be fixed :
+ /// @todo NpcCommands that need to be fixed :
static bool HandleNpcAddWeaponCommand(ChatHandler* /*handler*/, char const* /*args*/)
{
/*if (!*args)
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index 4cf41a8d087..b162e0c51a4 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -704,7 +704,7 @@ public:
wpCreature2->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), chr->GetPhaseMgr().GetPhaseMaskForSpawn());
// To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells();
- //TODO: Should we first use "Create" then use "LoadFromDB"?
+ /// @todo Should we first use "Create" then use "LoadFromDB"?
if (!wpCreature2->LoadCreatureFromDB(wpCreature2->GetDBTableGUIDLow(), map))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
index 0c8092013aa..0cbeec50f98 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
@@ -109,7 +109,7 @@ enum GrimstoneTexts
SAY_TEXT6 = 5
};
-//TODO: implement quest part of event (different end boss)
+/// @todo implement quest part of event (different end boss)
class npc_grimstone : public CreatureScript
{
public:
@@ -160,7 +160,7 @@ public:
CanWalk = false;
}
- //TODO: move them to center
+ /// @todo move them to center
void SummonRingMob()
{
if (Creature* tmp = me->SummonCreature(RingMob[MobSpawnId], 608.960f, -235.322f, -53.907f, 1.857f, TEMPSUMMON_DEAD_DESPAWN, 0))
@@ -172,7 +172,7 @@ public:
MobDeath_Timer = 2500;
}
- //TODO: move them to center
+ /// @todo move them to center
void SummonRingBoss()
{
if (Creature* tmp = me->SummonCreature(RingBoss[rand()%6], 644.300f, -175.989f, -53.739f, 3.418f, TEMPSUMMON_DEAD_DESPAWN, 0))
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
index 7a4f1aac17d..667265cdba0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
@@ -30,7 +30,7 @@ enum Spells
enum Adds
{
- MODEL_REND_ON_DRAKE = 9723, // TODO: use creature_template 10459 instead of its modelid
+ MODEL_REND_ON_DRAKE = 9723, /// @todo use creature_template 10459 instead of its modelid
NPC_RAGE_TALON_FIRE_TONG = 10372,
NPC_CHROMATIC_WHELP = 10442,
NPC_CHROMATIC_DRAGONSPAWN = 10447,
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 1bbc1bc98fa..19023f70c80 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -44,7 +44,7 @@ enum Midnight
MOUNTED_DISPLAYID = 16040,
- //Attumen (TODO: Use the summoning spell instead of Creature id. It works, but is not convenient for us)
+ //Attumen (@todo Use the summoning spell instead of Creature id. It works, but is not convenient for us)
SUMMON_ATTUMEN = 15550,
};
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index 28bb17055f9..412fcae76b1 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -19,7 +19,7 @@
/* ScriptData
SDName: Instance_Karazhan
SD%Complete: 70
-SDComment: Instance Script for Karazhan to help in various encounters. TODO: GameObject visibility for Opera event.
+SDComment: Instance Script for Karazhan to help in various encounters. @todo GameObject visibility for Opera event.
SDCategory: Karazhan
EndScriptData */
@@ -224,7 +224,7 @@ public:
switch (m_uiOperaEvent)
{
- //TODO: Set Object visibilities for Opera based on performance
+ /// @todo Set Object visibilities for Opera based on performance
case EVENT_OZ:
break;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 699793402f0..308ff45fac5 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -134,7 +134,7 @@ public:
void Reset()
{
- // TODO: Timers
+ /// @todo Timers
FireballTimer = 0;
PhoenixTimer = 10000;
FlameStrikeTimer = 25000;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index c9d3201d02c..d3cb21c75f0 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -493,7 +493,7 @@ public:
}
}
- // TODO: spells
+ /// @todo spells
CombatAI::UpdateAI(uiDiff);
}
@@ -758,7 +758,7 @@ public:
if (CAST_PLR(owner)->GetQuestStatus(12698) == QUEST_STATUS_INCOMPLETE)
CAST_CRE(who)->CastSpell(owner, 52517, true);
- //Todo: Creatures must not be removed, but, must instead
+ /// @todo Creatures must not be removed, but, must instead
// stand next to Gothik and be commanded into the pit
// and dig into the ground.
CAST_CRE(who)->DespawnOrUnsummon();
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index cb067fccf0d..1f87d6f65cc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -690,7 +690,7 @@ public:
return;
}
- //TODO: simplify text's selection
+ /// @todo simplify text's selection
switch (player->getRace())
{
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 12148157062..235add380de 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -19,7 +19,7 @@
/* ScriptData
SDName: Boss_High_Inquisitor_Fairbanks
SD%Complete: 100
-SDComment: TODO: if this guy not involved in some special event, remove (and let ACID script)
+SDComment: @todo if this guy not involved in some special event, remove (and let ACID script)
SDCategory: Scarlet Monastery
EndScriptData */
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 3607a2e0f17..8e74642a140 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -22,7 +22,7 @@ SDComment: Sinister Reflection Model, Armageddon Visual, SAY_KJ_SHADOWSPIKE3, Em
SDCategory: Sunwell_Plateau
EndScriptData */
-//TODO rewrite Armageddon
+/// @todo rewrite Armageddon
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
@@ -105,7 +105,7 @@ enum Spells
SPELL_ARMAGEDDON_DAMAGE = 45915, // This does the area damage
/* Shield Orb Spells*/
- SPELL_SHADOW_BOLT = 45680, //45679 would be correct but triggers to often //TODO fix console error
+ SPELL_SHADOW_BOLT = 45680, //45679 would be correct but triggers to often /// @todo fix console error
/* Anveena's spells and cosmetics (Or, generally, everything that has "Anveena" in name) */
SPELL_ANVEENA_PRISON = 46367, // She hovers locked within a bubble
@@ -784,7 +784,7 @@ public:
break;
case TIMER_FLAME_DART: //Phase 3
DoCastAOE(SPELL_FLAME_DART, false);
- Timer[TIMER_FLAME_DART] = 3000; //TODO Timer
+ Timer[TIMER_FLAME_DART] = 3000; /// @todo Timer
break;
case TIMER_DARKNESS: //Phase 3
if (!me->IsNonMeleeSpellCasted(false))
@@ -918,7 +918,7 @@ public:
void Reset()
{
- // TODO: Timers!
+ /// @todo Timers!
ShadowBoltVolleyTimer = urand(8000, 14000); // So they don't all cast it in the same moment.
FelfirePortalTimer = 20000;
if (instance)
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
index e1cbb52e8d9..6c8b1cd8aba 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
@@ -155,7 +155,7 @@ class boss_nalorakk : public CreatureScript
Berserk_Timer = 600000;
inBearForm = false;
- // me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 5122); // TODO: find the correct equipment id
+ // me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 5122); /// @todo find the correct equipment id
}
void SendAttacker(Unit* target)
diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp
index 4541e160e63..2ec5e1190c8 100644
--- a/src/server/scripts/Events/childrens_week.cpp
+++ b/src/server/scripts/Events/childrens_week.cpp
@@ -601,7 +601,7 @@ class npc_elder_kekek : public CreatureScript
/*######
## npc_the_etymidian
-## TODO: A red crystal as a gift for the great one should be spawned during the event.
+## @todo A red crystal as a gift for the great one should be spawned during the event.
######*/
class npc_the_etymidian : public CreatureScript
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
index db568ddc81c..2259cc84e15 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
@@ -19,7 +19,7 @@
SDName: Boss epoch
SDAuthor: Tartalo
SD%Complete: 80
-SDComment: TODO: Intro, consecutive attacks to a random target durin time wrap, adjust timers
+SDComment: @todo Intro, consecutive attacks to a random target durin time wrap, adjust timers
SDCategory:
Script Data End */
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
index 09335ffb865..8020d606532 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -19,7 +19,7 @@
SDName: Boss mal_ganis
SDAuthor: Tartalo
SD%Complete: 80
-SDComment: TODO: Intro & outro
+SDComment: @todo Intro & outro
SDCategory:
Script Data End */
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
index 828ffd90113..cda2175a22d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
@@ -19,7 +19,7 @@
SDName: Boss salramm
SDAuthor: Tartalo
SD%Complete: 80
-SDComment: TODO: Intro
+SDComment: @todo Intro
SDCategory:
Script Data End */
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
index c7c88e380cb..69054727e4a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
@@ -229,7 +229,7 @@ public:
if (me->HasAura(SPELL_CHANNEL))
me->RemoveAura(SPELL_CHANNEL);
- //TODO: start the post-event here
+ /// @todo start the post-event here
instance->SetData(TYPE_MEDIVH, DONE);
}
} else Check_Timer -= diff;
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 241bdc18be6..a4de0409573 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
@@ -152,7 +152,7 @@ public:
void UpdateAI(uint32 diff)
{
- //TODO: make this work
+ /// @todo make this work
if (CanPatrol && wpId == 0)
{
me->GetMotionMaster()->MovePoint(DrakeWP[0].wpId, DrakeWP[0].x, DrakeWP[0].y, DrakeWP[0].z);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index 0fce48939af..b9820790d47 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -507,7 +507,7 @@ public:
{
switch (summoned->GetEntry())
{
- //TODO: make Scarloc start into event instead, and not start attack directly
+ /// @todo make Scarloc start into event instead, and not start attack directly
case MOB_ENTRY_BARN_GUARDSMAN:
case MOB_ENTRY_BARN_PROTECTOR:
case MOB_ENTRY_BARN_LOOKOUT:
@@ -543,7 +543,7 @@ public:
if (!UpdateVictim())
return;
- //TODO: add his abilities'n-crap here
+ /// @todo add his abilities'n-crap here
if (!LowHp && HealthBelowPct(20))
{
Talk(SAY_TH_RANDOM_LOW_HP);
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index 20872903c7b..aec78581514 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -63,7 +63,7 @@ enum Points
const Position AyamissAirPos = { -9689.292f, 1547.912f, 48.02729f, 0.0f };
const Position AltarPos = { -9717.18f, 1517.72f, 27.4677f, 0.0f };
-// TODO: These below are probably incorrect, taken from SD2
+/// @todo These below are probably incorrect, taken from SD2
const Position SwarmerPos = { -9647.352f, 1578.062f, 55.32f, 0.0f };
const Position LarvaPos[2] =
{
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index f29f4999d2d..bd010849045 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -74,7 +74,7 @@ Position CrystalCoordinates[NUM_CRYSTALS] =
};
float RoomRadius = 165.0f;
-uint8 const NUM_TORNADOS = 5; // TODO: This number is completly random!
+uint8 const NUM_TORNADOS = 5; /// @todo This number is completly random!
uint8 const NUM_WEAKNESS = 5;
uint32 const SpellWeakness[NUM_WEAKNESS] = { 25177, 25178, 25180, 25181, 25183 };
Position const RoomCenter = { -9343.041992f, 1923.278198f, 85.555984f, 0.0 };
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
index 034b27f081e..79bc0c5accf 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -150,7 +150,7 @@ class boss_skeram : public CreatureScript
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, urand(8000, 18000));
break;
case EVENT_FULLFILMENT:
- // TODO: For some weird reason boss does not cast this
+ /// @todo For some weird reason boss does not cast this
// Spell actually works, tested in duel
DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true), SPELL_TRUE_FULFILLMENT, true);
events.ScheduleEvent(EVENT_FULLFILMENT, urand(20000, 30000));
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index 86ab6371789..5f677eedcf1 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -151,7 +151,7 @@ struct boss_twinemperorsAI : public ScriptedAI
Creature* pOtherBoss = GetOtherBoss();
if (pOtherBoss)
{
- // TODO: we should activate the other boss location so he can start attackning even if nobody
+ /// @todo we should activate the other boss location so he can start attackning even if nobody
// is near I dont know how to do that
ScriptedAI* otherAI = CAST_AI(ScriptedAI, pOtherBoss->AI());
if (!pOtherBoss->isInCombat())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index 413149e0d5e..ba93c3c2640 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -81,8 +81,8 @@ enum MovePoints
ROOM_CENTER = 1
};
-Position const ViscidusCoord = { -7992.36f, 908.19f, -52.62f, 1.68f }; // TODO: Visci isn't in room middle
-float const RoomRadius = 40.0f; // TODO: Not sure if its correct
+Position const ViscidusCoord = { -7992.36f, 908.19f, -52.62f, 1.68f }; /// @todo Visci isn't in room middle
+float const RoomRadius = 40.0f; /// @todo Not sure if its correct
class boss_viscidus : public CreatureScript
{
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index 59c91dbd549..f3a74c620ae 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -370,7 +370,7 @@ public:
if (destroyingDoor)
{
instance->DoUseDoorOrButton(instance->GetData64(GO_END_DOOR));
- //TODO: leave the area...
+ /// @todo leave the area...
me->DespawnOrUnsummon();
};
}
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index ec24e870ae9..4d7ded57501 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -91,7 +91,7 @@ class npc_torek : public CreatureScript
Talk(SAY_PREPARE, player->GetGUID());
break;
case 19:
- //TODO: verify location and creatures amount.
+ /// @todo verify location and creatures amount.
me->SummonCreature(ENTRY_DURIEL, 1776.73f, -2049.06f, 109.83f, 1.54f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
me->SummonCreature(ENTRY_SILVERWING_SENTINEL, 1774.64f, -2049.41f, 109.83f, 1.40f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
me->SummonCreature(ENTRY_SILVERWING_WARRIOR, 1778.73f, -2049.50f, 109.83f, 1.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
@@ -154,7 +154,7 @@ class npc_torek : public CreatureScript
{
if (quest->GetQuestId() == QUEST_TOREK_ASSULT)
{
- //TODO: find companions, make them follow Torek, at any time (possibly done by core/database in future?)
+ /// @todo find companions, make them follow Torek, at any time (possibly done by core/database in future?)
creature->AI()->Talk(SAY_READY, player->GetGUID());
creature->setFaction(113);
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 487f70d32a1..318fccfb5b6 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -333,7 +333,7 @@ enum Hendel
NPC_TERVOSH = 4967
};
-//TODO: develop this further, end event not created
+/// @todo develop this further, end event not created
class npc_private_hendel : public CreatureScript
{
public:
diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
index 009eaabc481..e2cf1fdd855 100644
--- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
+++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
@@ -42,7 +42,7 @@ enum CairneBloodhoof
};
#define GOSSIP_HCB "I know this is rather silly but a young ward who is a bit shy would like your hoofprint."
-//TODO: verify abilities/timers
+/// @todo verify abilities/timers
class npc_cairne_bloodhoof : public CreatureScript
{
public:
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index 0e219219eec..9a61b83dbce 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -779,7 +779,7 @@ class npc_halion_controller : public CreatureScript
}
private:
- /// TODO: Find out a better scaling, if any.
+ //// @todo Find out a better scaling, if any.
// [0 , 0.98[: Corporeality goes down
// [0.98, 0.99]: Do nothing
// ]0.99, 1.01[: Twilight Mending
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index 9e9ecc561d5..3dcac3f68dc 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -16,7 +16,7 @@
*/
/*
- * Comment: TODO: spawn troll waves
+ * Comment: @todo spawn troll waves
*/
#include "ScriptMgr.h"
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
index 623124f441f..61a654ec2bb 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
@@ -22,7 +22,7 @@
#include "SpellInfo.h"
/*
- * TODO:
+ * @todo
* - Fix model id during unleash soul -> seems DB issue 36503 is missing (likewise 36504 is also missing).
* - Fix outro npc movement
*/
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index 5e13fd22c47..58dc74d0f0a 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -34,7 +34,7 @@ enum Spells
SPELL_IMPENDING_DESPAIR = 72426,
SPELL_DEFILING_HORROR = 72435,
SPELL_HOPELESSNESS = 72395,
- H_SPELL_HOPELESSNESS = 72390, // TODO: not in dbc. Add in DB.
+ H_SPELL_HOPELESSNESS = 72390, /// @todo not in dbc. Add in DB.
};
enum Events
@@ -79,7 +79,7 @@ public:
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 23000);
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 9000);
- events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(25000, 45000)); // TODO adjust timer.
+ events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(25000, 45000)); /// @todo adjust timer.
}
void JustDied(Unit* /*killer*/)
@@ -122,7 +122,7 @@ public:
break;
case EVENT_DEFILING_HORROR:
DoCast(SPELL_DEFILING_HORROR);
- events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(25000, 45000)); // TODO adjust timer.
+ events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(25000, 45000)); /// @todo adjust timer.
break;
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
index 191465a52f3..08d5cf70ee1 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
@@ -72,10 +72,10 @@ public:
if (instance)
instance->SetData(DATA_MARWYN_EVENT, IN_PROGRESS);
- events.ScheduleEvent(EVENT_OBLITERATE, 30000); // TODO Check timer
+ events.ScheduleEvent(EVENT_OBLITERATE, 30000); /// @todo Check timer
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
- events.ScheduleEvent(EVENT_SHARED_SUFFERING, 20000); // TODO Check timer
+ events.ScheduleEvent(EVENT_SHARED_SUFFERING, 20000); /// @todo Check timer
}
void JustDied(Unit* /*killer*/)
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 c6093d6bc0f..b140801d8f1 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -270,7 +270,7 @@ public:
events.ScheduleEvent(EVENT_INTRO_A2_3, 10000);
break;
case EVENT_INTRO_A2_3:
- // TODO: she's doing some kind of spell casting emote
+ /// @todo she's doing some kind of spell casting emote
instance->HandleGameObject(instance->GetData64(DATA_FROSTMOURNE), true);
events.ScheduleEvent(EVENT_INTRO_A2_4, 10000);
break;
@@ -367,7 +367,7 @@ public:
break;
case EVENT_INTRO_H2_3:
Talk(SAY_SYLVANAS_INTRO_3);
- // TODO: she's doing some kind of spell casting emote
+ /// @todo she's doing some kind of spell casting emote
events.ScheduleEvent(EVENT_INTRO_H2_4, 6000);
break;
case EVENT_INTRO_H2_4:
@@ -524,7 +524,7 @@ public:
Talk(SAY_SYLVANAS_INTRO_END);
me->GetMotionMaster()->MovePoint(0, LichKingSpawnPos);
- // TODO: Loralen/Koreln shall run also
+ /// @todo Loralen/Koreln shall run also
events.ScheduleEvent(EVENT_INTRO_END, 10000);
break;
@@ -537,7 +537,7 @@ public:
break;
case EVENT_SKIP_INTRO:
- // TODO: implement
+ /// @todo implement
if (Creature* pFalric = me->GetCreature(*me, instance->GetData64(DATA_FALRIC)))
pFalric->SetVisible(true);
@@ -545,7 +545,7 @@ public:
pMarwyn->SetVisible(true);
me->GetMotionMaster()->MovePoint(0, LichKingSpawnPos);
- // TODO: Loralen/Koreln shall run also
+ /// @todo Loralen/Koreln shall run also
events.ScheduleEvent(EVENT_INTRO_END, 15000);
break;
@@ -651,7 +651,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 8000); // TODO: adjust timers
+ events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 8000); /// @todo adjust timers
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
events.ScheduleEvent(EVENT_DARK_MENDING, 20000);
@@ -733,7 +733,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- events.ScheduleEvent(EVENT_FIREBALL, 3000); // TODO: adjust timers
+ events.ScheduleEvent(EVENT_FIREBALL, 3000); /// @todo adjust timers
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
@@ -834,7 +834,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- events.ScheduleEvent(EVENT_SHADOW_STEP, 8000); // TODO: adjust timers
+ events.ScheduleEvent(EVENT_SHADOW_STEP, 8000); /// @todo adjust timers
events.ScheduleEvent(EVENT_DEADLY_POISON, 5000);
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 12000);
@@ -905,7 +905,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000); // TODO: adjust timers
+ events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000); /// @todo adjust timers
events.ScheduleEvent(EVENT_SHIELD_BASH, 10000);
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
}
@@ -970,7 +970,7 @@ public:
void EnterCombat(Unit* /*who*/)
{
- events.ScheduleEvent(EVENT_SHOOT, 2000); // TODO: adjust timers
+ events.ScheduleEvent(EVENT_SHOOT, 2000); /// @todo adjust timers
events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
events.ScheduleEvent(EVENT_FROST_TRAP, 1000);
events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
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 3b910c39e38..dde3f7acc67 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
@@ -182,7 +182,7 @@ public:
void OnGameObjectCreate(GameObject* go)
{
- // TODO: init state depending on encounters
+ /// @todo init state depending on encounters
switch (go->GetEntry())
{
case GO_FROSTMOURNE:
@@ -364,7 +364,7 @@ public:
DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, uiWaveCount);
HandleGameObject(uiFrontDoor, true);
- // TODO
+ /// @todo
// in case of wipe, the event is normally restarted by jumping into the center of the room.
// As I can't find a trigger area there, just respawn Jaina/Sylvanas so the event may be restarted.
if (Creature* pJaina = instance->GetCreature(uiJainaPart1))
@@ -385,7 +385,7 @@ public:
summoner->SetVisible(true);
- // TODO: do composition at random. # of spawn also depends on uiWaveCount
+ /// @todo do composition at random. # of spawn also depends on uiWaveCount
// As of now, it is just one of each.
index = urand(0, ENCOUNTER_WAVE_MERCENARY-1);
summoner->SummonCreature(NPC_WAVE_MERCENARY, MercenarySpawnPos[index], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 0);
@@ -417,7 +417,7 @@ public:
AddWave();
break;
case EVENT_START_LICH_KING:
- // TODO
+ /// @todo
break;
}
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index 182f79b6ea0..31a1e94357e 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -448,7 +448,7 @@ class boss_krick : public CreatureScript
break;
case EVENT_OUTRO_9:
Talk(SAY_KRICK_OUTRO_8);
- // TODO: Tyrannus starts killing Krick.
+ /// @todo Tyrannus starts killing Krick.
// there shall be some visual spell effect
if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID))
tyrannus->CastSpell(me, SPELL_NECROMANTIC_POWER, true); //not sure if it's the right spell :/
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index fe135ea70a4..f01c28766f9 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -63,7 +63,7 @@ enum ScriptTexts
SAY_INTRO_ALLIANCE_1 = 0,
SAY_INTRO_ALLIANCE_4 = 1,
SAY_INTRO_ALLIANCE_5 = 2,
- SAY_OUTRO_ALLIANCE_1 = 3, // TODO ALLIANCE OUTRO
+ SAY_OUTRO_ALLIANCE_1 = 3, /// @todo ALLIANCE OUTRO
SAY_OUTRO_ALLIANCE_2 = 4,
SAY_OUTRO_ALLIANCE_3 = 5,
SAY_OUTRO_ALLIANCE_4 = 6,
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 6727b20b602..aab1996a01d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -138,7 +138,7 @@ enum Spells
SPELL_IN_FROSTMOURNE_ROOM = 74276,
SPELL_KILL_FROSTMOURNE_PLAYERS = 75127,
SPELL_HARVESTED_SOUL = 72679,
- SPELL_TRIGGER_VILE_SPIRIT_HEROIC = 73582, // TODO: Cast every 3 seconds during Frostmourne phase, targets a Wicked Spirit amd activates it
+ SPELL_TRIGGER_VILE_SPIRIT_HEROIC = 73582, /// @todo Cast every 3 seconds during Frostmourne phase, targets a Wicked Spirit amd activates it
// Frostmourne
SPELL_LIGHTS_FAVOR = 69382,
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
index 1efee1b45ba..c528b8413af 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
@@ -42,7 +42,7 @@ class icecrown_citadel_teleport : public GameObjectScript
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Deathbringer's Rise.", GOSSIP_SENDER_ICC_PORT, DEATHBRINGER_S_RISE_TELEPORT);
if (instance->GetData(DATA_COLDFLAME_JETS) == DONE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Upper Spire.", GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT);
- // TODO: Gauntlet event before Sindragosa
+ /// @todo Gauntlet event before Sindragosa
if (instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index d4b16594bc8..421dabf48ac 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -95,7 +95,7 @@ public:
void KilledUnit(Unit* victim)
{
- //Force the player to spawn corpse scarabs via spell, TODO: Check percent chance for scarabs, 20% at the moment
+ /// Force the player to spawn corpse scarabs via spell, @todo Check percent chance for scarabs, 20% at the moment
if (!(rand()%5))
if (victim->GetTypeId() == TYPEID_PLAYER)
victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, true, NULL, NULL, me->GetGUID());
@@ -164,13 +164,13 @@ public:
events.ScheduleEvent(EVENT_IMPALE, urand(10000, 20000));
break;
case EVENT_LOCUST:
- // TODO : Add Text
+ /// @todo Add Text
DoCast(me, RAID_MODE(SPELL_LOCUST_SWARM_10, SPELL_LOCUST_SWARM_25));
DoSummon(MOB_CRYPT_GUARD, GuardSummonPos, 0, TEMPSUMMON_CORPSE_DESPAWN);
events.ScheduleEvent(EVENT_LOCUST, 90000);
break;
case EVENT_SPAWN_GUARDIAN_NORMAL:
- // TODO : Add Text
+ /// @todo Add Text
DoSummon(MOB_CRYPT_GUARD, GuardSummonPos, 0, TEMPSUMMON_CORPSE_DESPAWN);
break;
case EVENT_BERSERK:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index 35f23db24f7..316ddee540c 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -107,7 +107,7 @@ class boss_faerlina : public CreatureScript
{
if (spell->Id == SPELL_WIDOWS_EMBRACE || spell->Id == H_SPELL_WIDOWS_EMBRACE)
{
- // TODO : Add Text
+ /// @todo Add Text
++_frenzyDispels;
_delayFrenzy = true;
me->Kill(caster);
@@ -153,7 +153,7 @@ class boss_faerlina : public CreatureScript
events.ScheduleEvent(EVENT_FIRE, urand(6000, 18000));
break;
case EVENT_FRENZY:
- // TODO : Add Text
+ /// @todo Add Text
if (!me->HasAura(SPELL_WIDOWS_EMBRACE_HELPER))
DoCast(me, RAID_MODE(SPELL_FRENZY, H_SPELL_FRENZY));
else
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
index 723b2538fc8..86ea9ce929a 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
@@ -69,7 +69,7 @@ public:
if (who->GetEntry() == MOB_ZOMBIE && me->IsWithinDistInMap(who, 7))
{
SetGazeOn(who);
- // TODO: use a script text
+ /// @todo use a script text
me->MonsterTextEmote(EMOTE_NEARBY, 0, true);
}
else
@@ -109,12 +109,12 @@ public:
events.ScheduleEvent(EVENT_WOUND, 10000);
break;
case EVENT_ENRAGE:
- // TODO : Add missing text
+ /// @todo Add missing text
DoCast(me, SPELL_ENRAGE);
events.ScheduleEvent(EVENT_ENRAGE, 15000);
break;
case EVENT_DECIMATE:
- // TODO : Add missing text
+ /// @todo Add missing text
DoCastAOE(SPELL_DECIMATE);
events.ScheduleEvent(EVENT_DECIMATE, 105000);
break;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index ec2335df8e1..61640f1d225 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -153,7 +153,7 @@ public:
events.ScheduleEvent(EVENT_FEVER, urand(20000, 25000));
break;
case EVENT_PHASE:
- // TODO : Add missing texts for both phase switches
+ /// @todo Add missing texts for both phase switches
EnterPhase(phase == PHASE_FIGHT ? PHASE_DANCE : PHASE_FIGHT);
break;
case EVENT_ERUPT:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 1ee32c8a36e..9b5b26dd4f5 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -474,7 +474,7 @@ public:
{
if (uiGuardiansOfIcecrownTimer <= diff)
{
- // TODO : Add missing text
+ /// @todo Add missing text
if (Creature* pGuardian = DoSummon(NPC_ICECROWN, Pos[RAND(2, 5, 8, 11)]))
pGuardian->SetFloatValue(UNIT_FIELD_COMBATREACH, 2);
++nGuardiansOfIcecrownCount;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
index dfac6049875..f1b2d9aeaed 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
@@ -103,7 +103,7 @@ public:
switch (eventId)
{
case EVENT_WRAP:
- // TODO : Add missing text
+ /// @todo Add missing text
for (uint8 i = 0; i < RAID_MODE(1, 2); ++i)
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0, true, -SPELL_WEB_WRAP))
@@ -134,7 +134,7 @@ public:
events.ScheduleEvent(EVENT_FRENZY, 600000);
break;
case EVENT_SUMMON:
- // TODO : Add missing text
+ /// @todo Add missing text
uint8 amount = urand(8, 10);
for (uint8 i = 0; i < amount; ++i)
DoSummon(MOB_SPIDERLING, me, 0, TEMPSUMMON_CORPSE_DESPAWN);
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
index 0829ecb094d..c78f7d0a757 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
@@ -86,7 +86,7 @@ public:
{
_JustDied();
DoPlaySoundToSet(me, SOUND_DEATH);
- me->CastSpell(me, SPELL_HOPELESS, true); // TODO: this may affect other creatures
+ me->CastSpell(me, SPELL_HOPELESS, true); /// @todo this may affect other creatures
}
void EnterCombat(Unit* /*who*/)
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 6f50dbc427a..bafd9a4510b 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -19,11 +19,6 @@
SDName: Boss Malygos
Script Data End */
-/* Main problem needing most attention:
- Add support for using Exit Portal while on drake which means to
- find seat flag that allows casting on passenger or something that
- will prevent valid target filtering. */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
index 9099f03c6f0..da008d10367 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
@@ -78,7 +78,7 @@ public:
return true;
}
- // TO DO: this should be handled in map, maybe add a summon function in map
+ /// @todo this should be handled in map, maybe add a summon function in map
// There is no other way afaik...
void SpawnGameObject(uint32 entry, Position& pos)
{
@@ -162,8 +162,7 @@ public:
// This fix not being able to press release button.
// Variation of this with some check needs to be implemented somewhere within core code.
// It'll stay here until someone find where and why the leak happens.
- if (Player* dyingPlayer = unit->ToPlayer())
- dyingPlayer->StopMoving();
+ unit->StopMoving();
}
void ProcessEvent(WorldObject* /*obj*/, uint32 eventId)
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index 8c06895f08f..e84431a0788 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -244,7 +244,7 @@ class spell_intense_cold : public SpellScriptLoader
if (aurEff->GetBase()->GetStackAmount() < 2)
return;
Unit* caster = GetCaster();
- //TODO: the caster should be boss but not the player
+ /// @todo the caster should be boss but not the player
if (!caster || !caster->GetAI())
return;
caster->GetAI()->SetGUID(GetTarget()->GetGUID(), DATA_INTENSE_COLD);
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
index 6a16a644b5c..e7c6e920970 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
@@ -206,7 +206,7 @@ public:
instance->SetData(TYPE_BJARNGRIM, DONE);
}
- //TODO: remove when removal is done by the core
+ /// @todo remove when removal is done by the core
void DoRemoveStanceAura(uint8 uiStance)
{
switch (uiStance)
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
index e24ce570c5a..adbc8827212 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
@@ -164,7 +164,7 @@ public:
//this part should be in the core
if (pSpell->Id == SPELL_SHATTER || pSpell->Id == H_SPELL_SHATTER)
{
- // todo: we need eventmap to kill this stuff
+ /// @todo we need eventmap to kill this stuff
//clear this, if we are still performing
if (bIsSlam)
{
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 236791a4f6f..f89112e3d67 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -1176,7 +1176,7 @@ class npc_lorekeeper : public CreatureScript
if (Creature* Branz = creature->FindNearestCreature(NPC_BRANZ_BRONZBEARD, 1000, true))
{
Delorah->GetMotionMaster()->MovePoint(0, Branz->GetPositionX()-4, Branz->GetPositionY(), Branz->GetPositionZ());
- //TODO Delorah->AI()->Talk(xxxx, Branz->GetGUID()); when reached at branz
+ /// @todo Delorah->AI()->Talk(xxxx, Branz->GetGUID()); when reached at branz
}
}
}
@@ -1608,7 +1608,7 @@ class FlameLeviathanPursuedTargetSelector
bool operator()(WorldObject* target) const
{
- //! No players, only vehicles (todo: check if blizzlike)
+ //! No players, only vehicles (@todo check if blizzlike)
Creature* creatureTarget = target->ToCreature();
if (!creatureTarget)
return true;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 95ac326aa84..b970dc6d7ab 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -25,7 +25,7 @@
#include "GridNotifiersImpl.h"
#include "ulduar.h"
-/* #TODO: Achievements
+/* @todo Achievements
Storm Cloud (Shaman ability)
Destroying of Toasty Fires
*/
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 94df327d3da..5e94fc2ee5d 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -26,7 +26,7 @@
/* ScriptData
SDName: boss_kologarn
SD%Complete: 90
-SDComment: TODO: Achievements
+SDComment: @todo Achievements
SDCategory: Ulduar
EndScriptData */
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index b74c4109fd7..ac46fbc1227 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -15,7 +15,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-//TODO: Harpoon chain from 62505 should not get removed when other chain is applied
+/// @todo Harpoon chain from 62505 should not get removed when other chain is applied
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index b75a6a67a30..89ce6ab2733 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -82,7 +82,7 @@ class boss_thorim : public CreatureScript
{
if (!UpdateVictim())
return;
- //SPELLS TODO:
+ //SPELLS @todo
//
DoMeleeAttackIfReady();
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index a358fc41db0..76a60607f7e 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -16,7 +16,7 @@
*/
/*
- TODO:
+ @todo
Fix void zone damage
If the boss is to close to a scrap pile -> no summon -- Needs retail confirmation
make the life sparks visible... /? Need test
@@ -674,7 +674,7 @@ class mob_boombot : public CreatureScript
me->SetFloatValue(UNIT_FIELD_MINDAMAGE, 15000.0f);
me->SetFloatValue(UNIT_FIELD_MAXDAMAGE, 18000.0f);
- // Todo: proper waypoints?
+ /// @todo proper waypoints?
if (Creature* pXT002 = me->GetCreature(*me, _instance->GetData64(BOSS_XT002)))
me->GetMotionMaster()->MoveFollow(pXT002, 0.0f, 0.0f);
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
index 50cb8f017b3..d6db736b82c 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
@@ -65,10 +65,10 @@ class boss_koralon : public CreatureScript
{
DoCast(me, SPELL_BURNING_FURY);
- events.ScheduleEvent(EVENT_BURNING_FURY, 20000); // TODO check timer
+ events.ScheduleEvent(EVENT_BURNING_FURY, 20000); /// @todo check timer
events.ScheduleEvent(EVENT_BURNING_BREATH, 15000); // 1st after 15sec, then every 45sec
events.ScheduleEvent(EVENT_METEOR_FISTS_A, 75000); // 1st after 75sec, then every 45sec
- events.ScheduleEvent(EVENT_FLAME_CINDER_A, 30000); // TODO check timer
+ events.ScheduleEvent(EVENT_FLAME_CINDER_A, 30000); /// @todo check timer
_EnterCombat();
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index 364602f8fa1..cfb3c03b12c 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -55,7 +55,7 @@ enum Actions
ACTION_WATER_ELEMENT_KILLED = 2,
};
-// TODO get those positions from spawn of creature 29326
+/// @todo get those positions from spawn of creature 29326
#define MAX_SPAWN_LOC 5
static Position SpawnLoc[MAX_SPAWN_LOC]=
{
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 11887e732ed..df79366e6cd 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -792,7 +792,7 @@ public:
void ActivateCrystal()
{
// Kill all mobs registered with SetData64(ADD_TRASH_MOB)
- // TODO: All visual, spells etc
+ /// @todo All visual, spells etc
for (std::set<uint64>::const_iterator itr = trashMobs.begin(); itr != trashMobs.end(); ++itr)
{
Creature* creature = instance->GetCreature(*itr);
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index ff4d8ec7a79..65d69e368b8 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -362,7 +362,7 @@ public:
return true;
}
- // TODO: make prisoners help (unclear if summoned or using npc's from surrounding cages (summon inside small cages?))
+ /// @todo make prisoners help (unclear if summoned or using npc's from surrounding cages (summon inside small cages?))
struct npc_daegarnAI : public ScriptedAI
{
npc_daegarnAI(Creature* creature) : ScriptedAI(creature) { }
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index 63143673185..57228595b9b 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -948,7 +948,7 @@ public:
bird->Kill(bird);
crunchy->GetMotionMaster()->MovePoint(0, bird->GetPositionX(), bird->GetPositionY(),
bird->GetMap()->GetWaterOrGroundLevel(bird->GetPositionX(), bird->GetPositionY(), bird->GetPositionZ()));
- // TODO: Make crunchy perform emote eat when he reaches the bird
+ /// @todo Make crunchy perform emote eat when he reaches the bird
break;
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
index 04555c671bb..637f86591d4 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
@@ -20,7 +20,7 @@
#include "OutdoorPvP.h"
-// TODO: "sometimes" set to neutral
+/// @todo "sometimes" set to neutral
enum OutdoorPvPNASpells
{
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
index bab537682ad..60dce43bc42 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
@@ -267,5 +267,5 @@ class OutdoorPvPZM : public OutdoorPvP
uint32 m_HordeTowersControlled;
};
-// todo: flag carrier death/leave/mount/activitychange should give back the gossip options
+/// @todo flag carrier death/leave/mount/activitychange should give back the gossip options
#endif
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
index ae0a17e1a8c..f8467b297cc 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
@@ -19,7 +19,7 @@
/* ScriptData
SDName: Black_Temple
SD%Complete: 95
-SDComment: Spirit of Olum: Player Teleporter to Seer Kanai Teleport after defeating Naj'entus and Supremus. TODO: Find proper gossip.
+SDComment: Spirit of Olum: Player Teleporter to Seer Kanai Teleport after defeating Naj'entus and Supremus. @todo Find proper gossip.
SDCategory: Black Temple
EndScriptData */
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 844428c8fa7..e990a6f6825 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -577,7 +577,7 @@ public:
if (victim == me)
return;
- // TODO: Find better way to handle emote
+ /// @todo Find better way to handle emote
switch (urand(0, 1))
{
case 0:
@@ -2091,7 +2091,7 @@ public:
// {
// if (Unit* Illidan = Unit::GetUnit(*me, IllidanGUID)
// {
- // // TODO: Find proper spells and properly apply 'caged' Illidan effect
+ // /// @todo Find proper spells and properly apply 'caged' Illidan effect
// }
// }
}
diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
index 8abde7e0694..6c3e21aa5c0 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
@@ -142,7 +142,7 @@ public:
//this part should be in the core
if (pSpell->Id == SPELL_SHATTER)
{
- // todo: use eventmap to kill this stuff
+ /// @todo use eventmap to kill this stuff
//clear this, if we are still performing
if (m_bPerformingGroundSlam)
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index 09dd791020e..4095f3295fa 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -138,7 +138,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
{
Talk(SAY_TAUNT);
- //TODO: kill the peons first
+ /// @todo kill the peons first
IsIntroEvent = false;
PeonEngagedCount = 4;
PeonKilledCount = 4;
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 4a2026a4ed1..5e29a8d0c31 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
@@ -103,7 +103,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
break;
case EVENT_JACKHAMMER:
Talk(EMOTE_HAMMER);
- //TODO: expect cast this about 5 times in a row (?), announce it by emote only once
+ /// @todo expect cast this about 5 times in a row (?), announce it by emote only once
DoCastVictim(SPELL_JACKHAMMER, true);
if (roll_chance_i(50))
Talk(SAY_HAMMER);
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index 0b52b705753..2fc0b475cdf 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -19,7 +19,7 @@
/* ScriptData
SDName: Arcatraz
SD%Complete: 60
-SDComment: Warden Mellichar, event controller for Skyriss event. Millhouse Manastorm. TODO: make better combatAI for Millhouse.
+SDComment: Warden Mellichar, event controller for Skyriss event. Millhouse Manastorm. @todo make better combatAI for Millhouse.
SDCategory: Tempest Keep, The Arcatraz
EndScriptData */
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index fc317c4eca7..91d9eb53506 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -54,7 +54,7 @@ bool obelisk_one, obelisk_two, obelisk_three, obelisk_four, obelisk_five;
## mobs_bladespire_ogre
######*/
-//TODO: add support for quest 10512 + Creature abilities
+/// @todo add support for quest 10512 + Creature abilities
class mobs_bladespire_ogre : public CreatureScript
{
public:
@@ -296,7 +296,7 @@ public:
if (who->HasAura(SPELL_LASHHAN_CHANNEL) && me->IsWithinDistInMap(who, 10.0f))
{
Talk(SAY_SPELL_INFLUENCE, who->GetGUID());
- //TODO: Move the below to updateAI and run if this statement == true
+ /// @todo Move the below to updateAI and run if this statement == true
DoCast(who, 37028, true);
}
}
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index e25d5403c02..779ab3261ed 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -305,7 +305,7 @@ public:
## go_manaforge_control_console
######*/
-//TODO: clean up this workaround when Trinity adds support to do it properly (with gossip selections instead of instant summon)
+/// @todo clean up this workaround when Trinity adds support to do it properly (with gossip selections instead of instant summon)
class go_manaforge_control_console : public GameObjectScript
{
public:
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index a0c365a9a96..5a9fcba8fd4 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -1132,7 +1132,7 @@ public:
if (!UpdateVictim())
return;
- //TODO: add more abilities
+ /// @todo add more abilities
if (!HealthAbovePct(30))
{
if (m_uiHealingTimer <= uiDiff)
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index f5a6bb61120..96495232aeb 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -76,7 +76,7 @@ class spell_dk_anti_magic_shell_raid : public SpellScriptLoader
void CalculateAmount(AuraEffect const* /*aurEff*/, int32 & amount, bool & /*canBeRecalculated*/)
{
- // TODO: this should absorb limited amount of damage, but no info on calculation formula
+ /// @todo this should absorb limited amount of damage, but no info on calculation formula
amount = -1;
}
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 74334f192f4..7d7cdb84861 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -1572,7 +1572,7 @@ class spell_gen_vehicle_scaling : public SpellScriptLoader
float factor;
uint16 baseItemLevel;
- // TODO: Reserach coeffs for different vehicles
+ /// @todo Reserach coeffs for different vehicles
switch (GetId())
{
case SPELL_GEAR_SCALING:
@@ -1587,7 +1587,7 @@ class spell_gen_vehicle_scaling : public SpellScriptLoader
float avgILvl = caster->ToPlayer()->GetAverageItemLevel();
if (avgILvl < baseItemLevel)
- return; // TODO: Research possibility of scaling down
+ return; /// @todo Research possibility of scaling down
amount = uint16((avgILvl - baseItemLevel) * factor);
}
@@ -3009,7 +3009,7 @@ class spell_gen_summon_elemental : public SpellScriptLoader
{
if (GetCaster())
if (Unit* owner = GetCaster()->GetOwner())
- if (owner->GetTypeId() == TYPEID_PLAYER) // todo: this check is maybe wrong
+ if (owner->GetTypeId() == TYPEID_PLAYER) /// @todo this check is maybe wrong
owner->ToPlayer()->RemovePet(NULL, PET_SAVE_NOT_IN_SLOT, true);
}
diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp
index 891a7daaa1f..08f65d8323f 100644
--- a/src/server/scripts/Spells/spell_hunter.cpp
+++ b/src/server/scripts/Spells/spell_hunter.cpp
@@ -200,7 +200,7 @@ class spell_hun_chimera_shot : public SpellScriptLoader
// Amount of one aura tick
basePoint = int32(CalculatePct(unitTarget->GetMaxPower(POWER_MANA), aurEff->GetAmount()));
- int32 casterBasePoint = aurEff->GetAmount() * unitTarget->GetMaxPower(POWER_MANA) / 50; // TODO: WTF? caster uses unitTarget?
+ int32 casterBasePoint = aurEff->GetAmount() * unitTarget->GetMaxPower(POWER_MANA) / 50; /// @todo WTF? caster uses unitTarget?
if (basePoint > casterBasePoint)
basePoint = casterBasePoint;
ApplyPct(basePoint, TickCount * 60);
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index cd3673c17de..7865ba0eb8e 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -795,7 +795,8 @@ enum SilvermoonPolymorph
NPC_AUROSALIA = 18744
};
-// TODO: move out of here and rename - not a mage spell
+/// @todo move out of here and rename - not a mage spell
+// 32826 - Polymorph (Visual)
class spell_mage_polymorph_cast_visual : public SpellScriptLoader
{
public:
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 41508a80241..4e95a6162d3 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -304,7 +304,7 @@ class boss_ysondre : public CreatureScript
* --- Dragonspecific scripts and handling: LETHON
* ---
*
- * TODO:
+ * @todo
* - Spell: Shadow bolt whirl casts needs custom handling (spellscript)
*/
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index 5ed45764ed6..f57b6b8942c 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -251,7 +251,7 @@ class go_tablet_of_the_seven : public GameObjectScript
public:
go_tablet_of_the_seven() : GameObjectScript("go_tablet_of_the_seven") { }
- //TODO: use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
+ /// @todo use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
bool OnGossipHello(Player* player, GameObject* go)
{
if (go->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
@@ -1072,7 +1072,7 @@ public:
Quest const* qInfo = sObjectMgr->GetQuestTemplate(QUEST_PRISONERS_OF_WYRMSKULL);
if (qInfo)
{
- //TODO: prisoner should help player for a short period of time
+ /// @todo prisoner should help player for a short period of time
player->KilledMonsterCredit(qInfo->RequiredNpcOrGo[0], 0);
pPrisoner->DisappearAndDie();
}
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index cac0427af20..43dbe778d6d 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -881,7 +881,7 @@ void npc_doctor::npc_doctorAI::UpdateAI(uint32 diff)
## npc_garments_of_quests
######*/
-//TODO: get text for each NPC
+/// @todo get text for each NPC
enum Garments
{
diff --git a/src/server/shared/Common.h b/src/server/shared/Common.h
index 44a7749334d..70ee32d2868 100644
--- a/src/server/shared/Common.h
+++ b/src/server/shared/Common.h
@@ -20,7 +20,7 @@
#define TRINITYCORE_COMMON_H
// config.h needs to be included 1st
-// TODO this thingy looks like hack, but its not, need to
+/// @todo this thingy looks like hack, but its not, need to
// make separate header however, because It makes mess here.
#ifdef HAVE_CONFIG_H
// Remove Some things that we will define
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index c43cc8fab82..524a3de2628 100644
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -388,7 +388,7 @@ class DatabaseWorkerPool
}
//! Handle MySQL Errno 1213 without extending deadlock to the core itself
- //! TODO: More elegant way
+ /// @todo More elegant way
if (con->GetLastError() == 1213)
{
uint8 loopBreaker = 5;
diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp
index ce23f4ca4f6..a5bcac7eeef 100644
--- a/src/server/shared/Database/MySQLConnection.cpp
+++ b/src/server/shared/Database/MySQLConnection.cpp
@@ -188,7 +188,7 @@ bool MySQLConnection::Execute(PreparedStatement* stmt)
MySQLPreparedStatement* m_mStmt = GetPreparedStatement(index);
ASSERT(m_mStmt); // Can only be null if preparation failed, server side error or bad query
m_mStmt->m_stmt = stmt; // Cross reference them for debug output
- stmt->m_stmt = m_mStmt; // TODO: Cleaner way
+ stmt->m_stmt = m_mStmt; /// @todo Cleaner way
stmt->BindParameters();
@@ -238,7 +238,7 @@ bool MySQLConnection::_Query(PreparedStatement* stmt, MYSQL_RES **pResult, uint6
MySQLPreparedStatement* m_mStmt = GetPreparedStatement(index);
ASSERT(m_mStmt); // Can only be null if preparation failed, server side error or bad query
m_mStmt->m_stmt = stmt; // Cross reference them for debug output
- stmt->m_stmt = m_mStmt; // TODO: Cleaner way
+ stmt->m_stmt = m_mStmt; /// @todo Cleaner way
stmt->BindParameters();
diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/server/shared/Debugging/WheatyExceptionReport.cpp
index ea9ab096dcd..d07e579ab5d 100644
--- a/src/server/shared/Debugging/WheatyExceptionReport.cpp
+++ b/src/server/shared/Debugging/WheatyExceptionReport.cpp
@@ -3,7 +3,7 @@
// MSDN Magazine, 2002
// FILE: WheatyExceptionReport.CPP
//==========================================
-#if PLATFORM == PLATFORM_WINDOWS
+#if PLATFORM == PLATFORM_WINDOWS && !defined(__MINGW32__)
#define WIN32_LEAN_AND_MEAN
#pragma warning(disable:4996)
#pragma warning(disable:4312)
diff --git a/src/server/shared/Debugging/WheatyExceptionReport.h b/src/server/shared/Debugging/WheatyExceptionReport.h
index 8ade80ca47b..582f1f157b8 100644
--- a/src/server/shared/Debugging/WheatyExceptionReport.h
+++ b/src/server/shared/Debugging/WheatyExceptionReport.h
@@ -1,7 +1,7 @@
#ifndef _WHEATYEXCEPTIONREPORT_
#define _WHEATYEXCEPTIONREPORT_
-#if PLATFORM == PLATFORM_WINDOWS
+#if PLATFORM == PLATFORM_WINDOWS && !defined(__MINGW32__)
#include <dbghelp.h>
diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h
index c0a5daedf25..6504a645e2b 100644
--- a/src/server/shared/Packets/ByteBuffer.h
+++ b/src/server/shared/Packets/ByteBuffer.h
@@ -769,6 +769,7 @@ inline ByteBuffer &operator>>(ByteBuffer &b, std::map<K, V> &m)
return b;
}
+/// @todo Make a ByteBuffer.cpp and move all this inlining to it.
template<> inline std::string ByteBuffer::read<std::string>()
{
std::string tmp;
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index 16b48287ead..840ae6ad0b6 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -29,11 +29,18 @@ set(worldserver_SRCS
)
if( WIN32 )
- set(worldserver_SRCS
- ${worldserver_SRCS}
- ${sources_Debugging}
- worldserver.rc
- )
+ if ( MSVC )
+ set(worldserver_SRCS
+ ${worldserver_SRCS}
+ ${sources_Debugging}
+ worldserver.rc
+ )
+ else ( )
+ set(worldserver_SRCS
+ ${worldserver_SRCS}
+ ${sources_Debugging}
+ )
+ endif ()
endif()
include_directories(
@@ -174,10 +181,17 @@ target_link_libraries(worldserver
)
if( WIN32 )
- add_custom_command(TARGET worldserver
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
- )
+ if ( MSVC )
+ add_custom_command(TARGET worldserver
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
+ )
+ elseif ( MINGW )
+ add_custom_command(TARGET worldserver
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/
+ )
+ endif()
endif()
if( UNIX )
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp
index 5287847fa6f..3bd6ff8edf3 100644
--- a/src/server/worldserver/Main.cpp
+++ b/src/server/worldserver/Main.cpp
@@ -141,7 +141,7 @@ extern int main(int argc, char **argv)
sLog->outInfo(LOG_FILTER_WORLDSERVER, "Using ACE version: %s", ACE_VERSION);
///- and run the 'Master'
- /// \todo Why do we need this 'Master'? Can't all of this be in the Main as for Realmd?
+ /// @todo Why do we need this 'Master'? Can't all of this be in the Main as for Realmd?
int ret = sMaster->Run();
// at sMaster return function exist with codes