diff options
author | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-03-10 01:08:55 +0100 |
---|---|---|
committer | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-03-10 01:08:55 +0100 |
commit | a9b740ab747332dde2967426027c43f98efbebac (patch) | |
tree | 04f3999dd51a9eb2d7811f751dad124242390fb8 /src | |
parent | 83a5043741c0ef3d96ff59571305eae30d360ed5 (diff) | |
parent | f3617abdba8c247d4e9f423e5e97e3b42dab7b41 (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')
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 |