Merge commit '7833d3414667af5e2c55280a060fa54f43d1e25f' into 4.3.4
Conflicts: sql/updates/world/2015_03_14_00_world.sql src/server/collision/Management/MMapManager.cpp src/server/game/Achievements/AchievementMgr.cpp src/server/game/Entities/Object/Object.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Server/WorldSocket.cpp
This commit is contained in:
commit
17bed260e3
27 files changed
+149
-169
No files matched your search
@@ -58,7 +58,7 @@ boost::asio::deadline_timer _dbPingTimer(_ioService);
|
||||
uint32 _dbPingInterval;
|
||||
LoginDatabaseWorkerPool LoginDatabase;
|
||||
|
||||
int mainImpl(int argc, char** argv)
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
std::string configFile = _TRINITY_REALM_CONFIG;
|
||||
auto vm = GetConsoleArguments(argc, argv, configFile);
|
||||
@@ -144,24 +144,6 @@ int mainImpl(int argc, char** argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// Launch the Trinity server
|
||||
extern int main(int argc, char** argv)
|
||||
{
|
||||
try
|
||||
{
|
||||
return mainImpl(argc, argv);
|
||||
}
|
||||
catch (std::exception& ex)
|
||||
{
|
||||
std::cerr << "Top-level exception caught:" << ex.what() << "\n";
|
||||
|
||||
#ifndef NDEBUG // rethrow exception for the debugger
|
||||
throw;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/// Initialize connection to the database
|
||||
bool StartDB()
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace MMAP
|
||||
|
||||
delete[] fileName;
|
||||
|
||||
TC_LOG_INFO("maps", "MMAP:loadMapData: Loaded %03i.mmap", mapId);
|
||||
TC_LOG_DEBUG("maps", "MMAP:loadMapData: Loaded %03i.mmap", mapId);
|
||||
|
||||
// store inside our map list
|
||||
MMapData* mmap_data = new MMapData(mesh, mapId);
|
||||
@@ -156,7 +156,7 @@ namespace MMAP
|
||||
{
|
||||
mmap->loadedTileRefs.insert(std::pair<uint32, dtTileRef>(packedGridPos, tileRef));
|
||||
++loadedTiles;
|
||||
TC_LOG_INFO("maps", "MMAP:loadMap: Loaded mmtile %03i[%02i, %02i] into %03i[%02i, %02i]", mapId, x, y, mapId, header->x, header->y);
|
||||
TC_LOG_DEBUG("maps", "MMAP:loadMap: Loaded mmtile %03i[%02i, %02i] into %03i[%02i, %02i]", mapId, x, y, mapId, header->x, header->y);
|
||||
|
||||
LoadPhaseTiles(mapId, x, y);
|
||||
|
||||
@@ -302,7 +302,7 @@ namespace MMAP
|
||||
{
|
||||
mmap->loadedTileRefs.erase(packedGridPos);
|
||||
--loadedTiles;
|
||||
TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
|
||||
TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
|
||||
|
||||
UnloadPhaseTile(mapId, x, y);
|
||||
return true;
|
||||
@@ -332,13 +332,13 @@ namespace MMAP
|
||||
{
|
||||
UnloadPhaseTile(mapId, x, y);
|
||||
--loadedTiles;
|
||||
TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
|
||||
TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
|
||||
}
|
||||
}
|
||||
|
||||
delete mmap;
|
||||
loadedMMaps.erase(mapId);
|
||||
TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded %03i.mmap", mapId);
|
||||
TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded %03i.mmap", mapId);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -364,7 +364,7 @@ namespace MMAP
|
||||
|
||||
dtFreeNavMeshQuery(query);
|
||||
mmap->navMeshQueries.erase(instanceId);
|
||||
TC_LOG_INFO("maps", "MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId);
|
||||
TC_LOG_DEBUG("maps", "MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -395,7 +395,7 @@ namespace MMAP
|
||||
return NULL;
|
||||
}
|
||||
|
||||
TC_LOG_INFO("maps", "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId);
|
||||
TC_LOG_DEBUG("maps", "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId);
|
||||
mmap->navMeshQueries.insert(std::pair<uint32, dtNavMeshQuery*>(instanceId, query));
|
||||
}
|
||||
|
||||
|
||||
@@ -179,7 +179,7 @@ bool ArenaTeam::AddMember(ObjectGuid playerGuid)
|
||||
player->SetArenaTeamInfoField(GetSlot(), ARENA_TEAM_MEMBER, 1);
|
||||
}
|
||||
|
||||
TC_LOG_INFO("bg.arena", "Player: %s [%s] joined arena team type: %u [Id: %u, Name: %s].", playerName.c_str(), playerGuid.ToString().c_str(), GetType(), GetId(), GetName().c_str());
|
||||
TC_LOG_DEBUG("bg.arena", "Player: %s [%s] joined arena team type: %u [Id: %u, Name: %s].", playerName.c_str(), playerGuid.ToString().c_str(), GetType(), GetId(), GetName().c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -91,9 +91,6 @@ std::string GetStateString(LfgState state)
|
||||
case LFG_STATE_DUNGEON:
|
||||
entry = LANG_LFG_STATE_DUNGEON;
|
||||
break;
|
||||
case LFG_STATE_BOOT:
|
||||
entry = LANG_LFG_STATE_BOOT;
|
||||
break;
|
||||
case LFG_STATE_FINISHED_DUNGEON:
|
||||
entry = LANG_LFG_STATE_FINISHED_DUNGEON;
|
||||
break;
|
||||
|
||||
@@ -68,8 +68,8 @@ enum LfgState
|
||||
LFG_STATE_ROLECHECK, // Rolecheck active
|
||||
LFG_STATE_QUEUED, // Queued
|
||||
LFG_STATE_PROPOSAL, // Proposal active
|
||||
LFG_STATE_BOOT, // Vote kick active
|
||||
LFG_STATE_DUNGEON, // In LFG Group, in a Dungeon
|
||||
//LFG_STATE_BOOT, // Vote kick active
|
||||
LFG_STATE_DUNGEON = 5, // In LFG Group, in a Dungeon
|
||||
LFG_STATE_FINISHED_DUNGEON, // In LFG Group, in a finished Dungeon
|
||||
LFG_STATE_RAIDBROWSER // Using Raid finder
|
||||
};
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace lfg
|
||||
{
|
||||
|
||||
LfgGroupData::LfgGroupData(): m_State(LFG_STATE_NONE), m_OldState(LFG_STATE_NONE),
|
||||
m_Leader(), m_Dungeon(0), m_KicksLeft(LFG_GROUP_MAX_KICKS)
|
||||
m_Leader(), m_Dungeon(0), m_KicksLeft(LFG_GROUP_MAX_KICKS), m_VoteKickActive(false)
|
||||
{ }
|
||||
|
||||
LfgGroupData::~LfgGroupData()
|
||||
@@ -126,4 +126,14 @@ uint8 LfgGroupData::GetKicksLeft() const
|
||||
return m_KicksLeft;
|
||||
}
|
||||
|
||||
void LfgGroupData::SetVoteKick(bool active)
|
||||
{
|
||||
m_VoteKickActive = active;
|
||||
}
|
||||
|
||||
bool LfgGroupData::IsVoteKickActive() const
|
||||
{
|
||||
return m_VoteKickActive;
|
||||
}
|
||||
|
||||
} // namespace lfg
|
||||
@@ -66,6 +66,9 @@ class LfgGroupData
|
||||
// VoteKick
|
||||
uint8 GetKicksLeft() const;
|
||||
|
||||
void SetVoteKick(bool active);
|
||||
bool IsVoteKickActive() const;
|
||||
|
||||
private:
|
||||
// General
|
||||
LfgState m_State; ///< State if group in LFG
|
||||
@@ -76,6 +79,7 @@ class LfgGroupData
|
||||
uint32 m_Dungeon; ///< Dungeon entry
|
||||
// Vote Kick
|
||||
uint8 m_KicksLeft; ///< Number of kicks left
|
||||
bool m_VoteKickActive;
|
||||
};
|
||||
|
||||
} // namespace lfg
|
||||
|
||||
@@ -309,9 +309,8 @@ void LFGMgr::Update(uint32 diff)
|
||||
ObjectGuid pguid = itVotes->first;
|
||||
if (pguid != boot.victim)
|
||||
SendLfgBootProposalUpdate(pguid, boot);
|
||||
SetState(pguid, LFG_STATE_DUNGEON);
|
||||
}
|
||||
SetState(itBoot->first, LFG_STATE_DUNGEON);
|
||||
SetVoteKick(itBoot->first, false);
|
||||
BootsStore.erase(itBoot);
|
||||
}
|
||||
}
|
||||
@@ -641,7 +640,6 @@ void LFGMgr::LeaveLfg(ObjectGuid guid)
|
||||
break;
|
||||
case LFG_STATE_DUNGEON:
|
||||
case LFG_STATE_FINISHED_DUNGEON:
|
||||
case LFG_STATE_BOOT:
|
||||
if (guid != gguid) // Player
|
||||
SetState(guid, LFG_STATE_NONE);
|
||||
break;
|
||||
@@ -1158,7 +1156,7 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate
|
||||
*/
|
||||
void LFGMgr::InitBoot(ObjectGuid gguid, ObjectGuid kicker, ObjectGuid victim, std::string const& reason)
|
||||
{
|
||||
SetState(gguid, LFG_STATE_BOOT);
|
||||
SetVoteKick(gguid, true);
|
||||
|
||||
LfgPlayerBoot& boot = BootsStore[gguid];
|
||||
boot.inProgress = true;
|
||||
@@ -1172,7 +1170,6 @@ void LFGMgr::InitBoot(ObjectGuid gguid, ObjectGuid kicker, ObjectGuid victim, st
|
||||
for (GuidSet::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
ObjectGuid guid = (*itr);
|
||||
SetState(guid, LFG_STATE_BOOT);
|
||||
boot.votes[guid] = LFG_ANSWER_PENDING;
|
||||
}
|
||||
|
||||
@@ -1229,13 +1226,10 @@ void LFGMgr::UpdateBoot(ObjectGuid guid, bool accept)
|
||||
{
|
||||
ObjectGuid pguid = itVotes->first;
|
||||
if (pguid != boot.victim)
|
||||
{
|
||||
SetState(pguid, LFG_STATE_DUNGEON);
|
||||
SendLfgBootProposalUpdate(pguid, boot);
|
||||
}
|
||||
}
|
||||
|
||||
SetState(gguid, LFG_STATE_DUNGEON);
|
||||
SetVoteKick(gguid, false);
|
||||
if (agreeNum == LFG_GROUP_KICK_VOTES_NEEDED) // Vote passed - Kick player
|
||||
{
|
||||
if (Group* group = sGroupMgr->GetGroupByGUID(gguid.GetCounter()))
|
||||
@@ -1497,12 +1491,12 @@ LfgState LFGMgr::GetState(ObjectGuid guid)
|
||||
if (guid.IsGroup())
|
||||
{
|
||||
state = GroupsStore[guid].GetState();
|
||||
TC_LOG_TRACE("lfg.data.group.state.get", "Group: %s, State: %u", guid.ToString().c_str(), state);
|
||||
TC_LOG_TRACE("lfg.data.group.state.get", "Group: %s, State: %s", guid.ToString().c_str(), GetStateString(state).c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
state = PlayersStore[guid].GetState();
|
||||
TC_LOG_TRACE("lfg.data.player.state.get", "Player: %s, State: %u", guid.ToString().c_str(), state);
|
||||
TC_LOG_TRACE("lfg.data.player.state.get", "Player: %s, State: %s", guid.ToString().c_str(), GetStateString(state).c_str());
|
||||
}
|
||||
|
||||
return state;
|
||||
@@ -1525,6 +1519,16 @@ LfgState LFGMgr::GetOldState(ObjectGuid guid)
|
||||
return state;
|
||||
}
|
||||
|
||||
bool LFGMgr::IsVoteKickActive(ObjectGuid gguid)
|
||||
{
|
||||
ASSERT(gguid.IsGroup());
|
||||
|
||||
bool active = GroupsStore[gguid].IsVoteKickActive();
|
||||
TC_LOG_TRACE("lfg.data.group.votekick.get", "Group: %s, Active: %d", gguid.ToString().c_str(), active);
|
||||
|
||||
return active;
|
||||
}
|
||||
|
||||
uint32 LFGMgr::GetDungeon(ObjectGuid guid, bool asId /*= true */)
|
||||
{
|
||||
uint32 dungeon = GroupsStore[guid].GetDungeon(asId);
|
||||
@@ -1685,6 +1689,17 @@ void LFGMgr::SetState(ObjectGuid guid, LfgState state)
|
||||
}
|
||||
}
|
||||
|
||||
void LFGMgr::SetVoteKick(ObjectGuid gguid, bool active)
|
||||
{
|
||||
ASSERT(gguid.IsGroup());
|
||||
|
||||
LfgGroupData& data = GroupsStore[gguid];
|
||||
TC_LOG_TRACE("lfg.data.group.votekick.set", "Group: %s, New state: %d, Previous: %d",
|
||||
gguid.ToString().c_str(), active, data.IsVoteKickActive());
|
||||
|
||||
data.SetVoteKick(active);
|
||||
}
|
||||
|
||||
void LFGMgr::SetDungeon(ObjectGuid guid, uint32 dungeon)
|
||||
{
|
||||
TC_LOG_TRACE("lfg.data.group.dungeon.set", "Group: %s, Dungeon: %u", guid.ToString().c_str(), dungeon);
|
||||
|
||||
@@ -328,6 +328,8 @@ class LFGMgr
|
||||
LfgDungeonSet const& GetSelectedDungeons(ObjectGuid guid);
|
||||
/// Get current lfg state
|
||||
LfgState GetState(ObjectGuid guid);
|
||||
/// Get current vote kick state
|
||||
bool IsVoteKickActive(ObjectGuid gguid);
|
||||
/// Get current dungeon
|
||||
uint32 GetDungeon(ObjectGuid guid, bool asId = true);
|
||||
/// Get the map id of the current dungeon
|
||||
@@ -435,6 +437,7 @@ class LFGMgr
|
||||
void SetSelectedDungeons(ObjectGuid guid, LfgDungeonSet const& dungeons);
|
||||
void DecreaseKicksLeft(ObjectGuid guid);
|
||||
void SetState(ObjectGuid guid, LfgState state);
|
||||
void SetVoteKick(ObjectGuid gguid, bool active);
|
||||
void RemovePlayerData(ObjectGuid guid);
|
||||
void GetCompatibleDungeons(LfgDungeonSet& dungeons, GuidSet const& players, LfgLockPartyMap& lockMap, bool isContinue);
|
||||
void _SaveToDB(ObjectGuid guid, uint32 db_guid);
|
||||
|
||||
@@ -377,7 +377,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(GuidList check)
|
||||
// Group with less that MAXGROUPSIZE members always compatible
|
||||
if (check.size() == 1 && numPlayers != MAXGROUPSIZE)
|
||||
{
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) sigle group. Compatibles", strGuids.c_str());
|
||||
TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) single group. Compatibles", strGuids.c_str());
|
||||
LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(check.front());
|
||||
|
||||
LfgCompatibilityData data(LFG_COMPATIBLES_WITH_LESS_PLAYERS);
|
||||
|
||||
@@ -1250,37 +1250,37 @@ ByteBuffer& operator<<(ByteBuffer& buf, Position::PositionXYZOStreamer const& st
|
||||
|
||||
void MovementInfo::OutDebug()
|
||||
{
|
||||
TC_LOG_INFO("misc", "MOVEMENT INFO");
|
||||
TC_LOG_INFO("misc", "%s", guid.ToString().c_str());
|
||||
TC_LOG_INFO("misc", "flags %s (%u)", Movement::MovementFlags_ToString(flags).c_str(), flags);
|
||||
TC_LOG_INFO("misc", "flags2 %s (%u)", Movement::MovementFlagsExtra_ToString(flags2).c_str(), flags2);
|
||||
TC_LOG_INFO("misc", "time %u current time %u", time, getMSTime());
|
||||
TC_LOG_INFO("misc", "position: `%s`", pos.ToString().c_str());
|
||||
TC_LOG_DEBUG("misc", "MOVEMENT INFO");
|
||||
TC_LOG_DEBUG("misc", "%s", guid.ToString().c_str());
|
||||
TC_LOG_DEBUG("misc", "flags %u", flags);
|
||||
TC_LOG_DEBUG("misc", "flags2 %u", flags2);
|
||||
TC_LOG_DEBUG("misc", "time %u current time " UI64FMTD "", flags2, uint64(::time(NULL)));
|
||||
TC_LOG_DEBUG("misc", "position: `%s`", pos.ToString().c_str());
|
||||
if (transport.guid)
|
||||
{
|
||||
TC_LOG_INFO("misc", "TRANSPORT:");
|
||||
TC_LOG_INFO("misc", "%s", transport.guid.ToString().c_str());
|
||||
TC_LOG_INFO("misc", "position: `%s`", transport.pos.ToString().c_str());
|
||||
TC_LOG_INFO("misc", "seat: %i", transport.seat);
|
||||
TC_LOG_INFO("misc", "time: %u", transport.time);
|
||||
TC_LOG_DEBUG("misc", "TRANSPORT:");
|
||||
TC_LOG_DEBUG("misc", "%s", transport.guid.ToString().c_str());
|
||||
TC_LOG_DEBUG("misc", "position: `%s`", transport.pos.ToString().c_str());
|
||||
TC_LOG_DEBUG("misc", "seat: %i", transport.seat);
|
||||
TC_LOG_DEBUG("misc", "time: %u", transport.time);
|
||||
if (flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT)
|
||||
TC_LOG_INFO("misc", "time2: %u", transport.time2);
|
||||
TC_LOG_DEBUG("misc", "time2: %u", transport.time2);
|
||||
if (transport.vehicleId)
|
||||
TC_LOG_INFO("misc", "vehicleId: %u", transport.vehicleId);
|
||||
}
|
||||
|
||||
if ((flags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (flags2 & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))
|
||||
TC_LOG_INFO("misc", "pitch: %f", pitch);
|
||||
TC_LOG_DEBUG("misc", "pitch: %f", pitch);
|
||||
|
||||
if (flags & MOVEMENTFLAG_FALLING || jump.fallTime)
|
||||
{
|
||||
TC_LOG_INFO("misc", "fallTime: %u j_zspeed: %f", jump.fallTime, jump.zspeed);
|
||||
if (flags & MOVEMENTFLAG_FALLING)
|
||||
TC_LOG_INFO("misc", "j_sinAngle: %f j_cosAngle: %f j_xyspeed: %f", jump.sinAngle, jump.cosAngle, jump.xyspeed);
|
||||
TC_LOG_DEBUG("misc", "j_zspeed: %f j_sinAngle: %f j_cosAngle: %f j_xyspeed: %f", jump.zspeed, jump.sinAngle, jump.cosAngle, jump.xyspeed);
|
||||
}
|
||||
|
||||
if (flags & MOVEMENTFLAG_SPLINE_ELEVATION)
|
||||
TC_LOG_INFO("misc", "splineElevation: %f", splineElevation);
|
||||
TC_LOG_DEBUG("misc", "splineElevation: %f", splineElevation);
|
||||
}
|
||||
|
||||
WorldObject::WorldObject(bool isWorldObject) : WorldLocation(), LastUsedScriptID(0),
|
||||
|
||||
@@ -1277,7 +1277,7 @@ void Pet::_LoadAuras(uint32 timediff)
|
||||
}
|
||||
aura->SetLoadedState(maxduration, remaintime, remaincharges, stackcount, recalculatemask, &damage[0]);
|
||||
aura->ApplyForTargets();
|
||||
TC_LOG_INFO("entities.pet", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
|
||||
TC_LOG_DEBUG("entities.pet", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
|
||||
}
|
||||
}
|
||||
while (result->NextRow());
|
||||
|
||||
@@ -5022,7 +5022,7 @@ void Player::DeleteOldCharacters()
|
||||
*/
|
||||
void Player::DeleteOldCharacters(uint32 keepDays)
|
||||
{
|
||||
TC_LOG_INFO("entities.player", "Player::DeleteOldChars: Deleting all characters which have been deleted %u days before...", keepDays);
|
||||
TC_LOG_INFO("entities.player", "Player::DeleteOldChars: Removing characters older than %u day(s)", keepDays);
|
||||
|
||||
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_OLD_CHARS);
|
||||
stmt->setUInt32(0, uint32(time(NULL) - time_t(keepDays * DAY)));
|
||||
@@ -5030,7 +5030,7 @@ void Player::DeleteOldCharacters(uint32 keepDays)
|
||||
|
||||
if (result)
|
||||
{
|
||||
TC_LOG_DEBUG("entities.player", "Player::DeleteOldChars: Found " UI64FMTD " character(s) to delete", result->GetRowCount());
|
||||
TC_LOG_DEBUG("entities.player", "Player::DeleteOldChars: " UI64FMTD " character(s) to remove", result->GetRowCount());
|
||||
do
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
@@ -6571,20 +6571,20 @@ void Player::SendActionButtons(uint32 state) const
|
||||
|
||||
data << uint8(state);
|
||||
GetSession()->SendPacket(&data);
|
||||
TC_LOG_INFO("network", "Action Buttons for '%u' spec '%u' Sent", GetGUIDLow(), GetActiveSpec());
|
||||
TC_LOG_DEBUG("network", "SMSG_ACTION_BUTTONS sent '%u' spec '%u' Sent", GetGUIDLow(), m_activeSpec);
|
||||
}
|
||||
|
||||
bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type)
|
||||
{
|
||||
if (button >= MAX_ACTION_BUTTONS)
|
||||
{
|
||||
TC_LOG_ERROR("entities.player", "Action %u not added into button %u for player %s (GUID: %u): button must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTONS );
|
||||
TC_LOG_DEBUG("entities.player", "Action %u not added into button %u for player %s (GUID: %u): button must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTONS );
|
||||
return false;
|
||||
}
|
||||
|
||||
if (action >= MAX_ACTION_BUTTON_ACTION_VALUE)
|
||||
{
|
||||
TC_LOG_ERROR("entities.player", "Action %u not added into button %u for player %s (GUID: %u): action must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTON_ACTION_VALUE);
|
||||
TC_LOG_DEBUG("entities.player", "Action %u not added into button %u for player %s (GUID: %u): action must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTON_ACTION_VALUE);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -6593,20 +6593,20 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type)
|
||||
case ACTION_BUTTON_SPELL:
|
||||
if (!sSpellMgr->GetSpellInfo(action))
|
||||
{
|
||||
TC_LOG_ERROR("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): spell not exist", action, button, GetName().c_str(), GetGUIDLow());
|
||||
TC_LOG_DEBUG("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): spell not exist", action, button, GetName().c_str(), GetGUIDLow());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!HasSpell(action))
|
||||
{
|
||||
TC_LOG_ERROR("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): player don't known this spell", action, button, GetName().c_str(), GetGUIDLow());
|
||||
TC_LOG_DEBUG("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): player don't known this spell", action, button, GetName().c_str(), GetGUIDLow());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case ACTION_BUTTON_ITEM:
|
||||
if (!sObjectMgr->GetItemTemplate(action))
|
||||
{
|
||||
TC_LOG_ERROR("entities.player", "Item action %u not added into button %u for player %s (GUID: %u): item not exist", action, button, GetName().c_str(), GetGUIDLow());
|
||||
TC_LOG_DEBUG("entities.player", "Item action %u not added into button %u for player %s (GUID: %u): item not exist", action, button, GetName().c_str(), GetGUIDLow());
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@@ -6617,7 +6617,7 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type)
|
||||
case ACTION_BUTTON_DROPDOWN:
|
||||
break;
|
||||
default:
|
||||
TC_LOG_ERROR("entities.player", "Unknown action type %u", type);
|
||||
TC_LOG_DEBUG("entities.player", "Unknown action type %u", type);
|
||||
return false; // other cases not checked at this moment
|
||||
}
|
||||
|
||||
@@ -6819,7 +6819,7 @@ void Player::CheckAreaExploreAndOutdoor()
|
||||
GiveXP(XP, NULL);
|
||||
SendExplorationExperience(area, XP);
|
||||
}
|
||||
TC_LOG_INFO("entities.player", "Player %u discovered a new area: %u", GetGUIDLow(), area);
|
||||
TC_LOG_DEBUG("entities.player", "Player %u discovered a new area: %u", GetGUIDLow(), area);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8050,7 +8050,7 @@ void Player::_ApplyItemMods(Item* item, uint8 slot, bool apply)
|
||||
if (item->IsBroken())
|
||||
return;
|
||||
|
||||
TC_LOG_INFO("entities.player.items", "applying mods for item %u ", item->GetGUIDLow());
|
||||
TC_LOG_DEBUG("entities.player.items", "applying mods for item %u ", item->GetGUIDLow());
|
||||
|
||||
uint8 attacktype = Player::GetAttackBySlot(slot);
|
||||
|
||||
@@ -9956,7 +9956,7 @@ uint32 Player::GetXPRestBonus(uint32 xp)
|
||||
|
||||
SetRestBonus(GetRestBonus() - rested_bonus);
|
||||
|
||||
TC_LOG_INFO("entities.player", "Player gain %u xp (+ %u Rested Bonus). Rested points=%f", xp+rested_bonus, rested_bonus, GetRestBonus());
|
||||
TC_LOG_DEBUG("entities.player", "Player gain %u xp (+ %u Rested Bonus). Rested points=%f", xp+rested_bonus, rested_bonus, GetRestBonus());
|
||||
return rested_bonus;
|
||||
}
|
||||
|
||||
@@ -18148,7 +18148,7 @@ void Player::_LoadAuras(PreparedQueryResult result, uint32 timediff)
|
||||
|
||||
aura->SetLoadedState(maxduration, remaintime, remaincharges, stackcount, recalculatemask, &damage[0]);
|
||||
aura->ApplyForTargets();
|
||||
TC_LOG_INFO("entities.player", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
|
||||
TC_LOG_DEBUG("entities.player", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask);
|
||||
}
|
||||
}
|
||||
while (result->NextRow());
|
||||
@@ -20981,8 +20981,6 @@ void Player::PetSpellInitialize()
|
||||
if (!pet)
|
||||
return;
|
||||
|
||||
TC_LOG_DEBUG("entities.pet", "Pet Spells Groups");
|
||||
|
||||
CharmInfo* charmInfo = pet->GetCharmInfo();
|
||||
|
||||
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1);
|
||||
@@ -20993,6 +20991,8 @@ void Player::PetSpellInitialize()
|
||||
data << uint8(charmInfo->GetCommandState());
|
||||
data << uint16(0); // Flags, mostly unknown
|
||||
|
||||
TC_LOG_DEBUG("entities.pet", "Player::PetspellInitialize: Creating spellgroups for summoned pet");
|
||||
|
||||
// action bar loop
|
||||
charmInfo->BuildActionBar(&data);
|
||||
|
||||
@@ -24770,18 +24770,6 @@ void Player::UpdateAreaDependentAuras(uint32 newArea)
|
||||
if (itr->second->autocast && itr->second->IsFitToRequirements(this, m_zoneUpdateId, newArea))
|
||||
if (!HasAura(itr->second->spellId))
|
||||
CastSpell(this, itr->second->spellId, true);
|
||||
|
||||
if (newArea == 4273 && GetVehicleCreatureBase() && GetPositionX() > 400) // Ulduar
|
||||
{
|
||||
switch (GetVehicleBase()->GetEntry())
|
||||
{
|
||||
case 33062:
|
||||
case 33109:
|
||||
case 33060:
|
||||
GetVehicleCreatureBase()->DespawnOrUnsummon();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint32 Player::GetCorpseReclaimDelay(bool pvp) const
|
||||
@@ -24912,7 +24900,7 @@ PartyResult Player::CanUninviteFromGroup(ObjectGuid guidMember) const
|
||||
return ERR_PARTY_LFG_BOOT_LIMIT;
|
||||
|
||||
lfg::LfgState state = sLFGMgr->GetState(gguid);
|
||||
if (state == lfg::LFG_STATE_BOOT)
|
||||
if (sLFGMgr->IsVoteKickActive(gguid))
|
||||
return ERR_PARTY_LFG_BOOT_IN_PROGRESS;
|
||||
|
||||
if (grp->GetMembersCount() <= lfg::LFG_GROUP_KICK_VOTES_NEEDED)
|
||||
@@ -26074,7 +26062,7 @@ bool Player::LearnTalent(uint32 talentId, uint32 talentRank)
|
||||
LearnSpell(spellid, false);
|
||||
AddTalent(spellid, GetActiveSpec(), true);
|
||||
|
||||
TC_LOG_INFO("misc", "TalentID: %u Rank: %u Spell: %u Spec: %u\n", talentId, talentRank, spellid, GetActiveSpec());
|
||||
TC_LOG_DEBUG("entities.player", "TalentID: %u Rank: %u Spell: %u Spec: %u\n", talentId, talentRank, spellid, m_activeSpec);
|
||||
|
||||
// set talent tree for player
|
||||
if (!GetPrimaryTalentTree(GetActiveSpec()))
|
||||
@@ -26226,7 +26214,7 @@ void Player::LearnPetTalent(ObjectGuid petGuid, uint32 talentId, uint32 talentRa
|
||||
|
||||
// learn! (other talent ranks will unlearned at learning)
|
||||
pet->learnSpell(spellid);
|
||||
TC_LOG_INFO("entities.player", "PetTalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid);
|
||||
TC_LOG_DEBUG("entities.player", "PetTalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid);
|
||||
|
||||
// update free talent points
|
||||
pet->SetFreeTalentPoints(CurTalentPoints - (talentRank - curtalent_maxrank + 1));
|
||||
|
||||
@@ -2133,9 +2133,9 @@ void Unit::SendMeleeAttackStop(Unit* victim)
|
||||
TC_LOG_DEBUG("entities.unit", "WORLD: Sent SMSG_ATTACKSTOP");
|
||||
|
||||
if (victim)
|
||||
TC_LOG_INFO("entities.unit", "%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow());
|
||||
TC_LOG_DEBUG("entities.unit", "%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow());
|
||||
else
|
||||
TC_LOG_INFO("entities.unit", "%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow());
|
||||
TC_LOG_DEBUG("entities.unit", "%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow());
|
||||
}
|
||||
|
||||
bool Unit::isSpellBlocked(Unit* victim, SpellInfo const* spellProto, WeaponAttackType /*attackType*/)
|
||||
@@ -16074,30 +16074,30 @@ void Unit::StopAttackFaction(uint32 faction_id)
|
||||
void Unit::OutDebugInfo() const
|
||||
{
|
||||
TC_LOG_ERROR("entities.unit", "Unit::OutDebugInfo");
|
||||
TC_LOG_INFO("entities.unit", "%s name %s", GetGUID().ToString().c_str(), GetName().c_str());
|
||||
TC_LOG_INFO("entities.unit", "Owner %s, Minion %s, Charmer %s, Charmed %s", GetOwnerGUID().ToString().c_str(), GetMinionGUID().ToString().c_str(), GetCharmerGUID().ToString().c_str(), GetCharmGUID().ToString().c_str());
|
||||
TC_LOG_INFO("entities.unit", "In world %u, unit type mask %u", (uint32)(IsInWorld() ? 1 : 0), m_unitTypeMask);
|
||||
TC_LOG_DEBUG("entities.unit", "%s name %s", GetGUID().ToString().c_str(), GetName().c_str());
|
||||
TC_LOG_DEBUG("entities.unit", "Owner %s, Minion %s, Charmer %s, Charmed %s", GetOwnerGUID().ToString().c_str(), GetMinionGUID().ToString().c_str(), GetCharmerGUID().ToString().c_str(), GetCharmGUID().ToString().c_str());
|
||||
TC_LOG_DEBUG("entities.unit", "In world %u, unit type mask %u", (uint32)(IsInWorld() ? 1 : 0), m_unitTypeMask);
|
||||
if (IsInWorld())
|
||||
TC_LOG_INFO("entities.unit", "Mapid %u", GetMapId());
|
||||
TC_LOG_DEBUG("entities.unit", "Mapid %u", GetMapId());
|
||||
|
||||
std::ostringstream o;
|
||||
o << "Summon Slot: ";
|
||||
for (uint32 i = 0; i < MAX_SUMMON_SLOT; ++i)
|
||||
o << m_SummonSlot[i].ToString() << ", ";
|
||||
|
||||
TC_LOG_INFO("entities.unit", "%s", o.str().c_str());
|
||||
TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str());
|
||||
o.str("");
|
||||
|
||||
o << "Controlled List: ";
|
||||
for (ControlList::const_iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr)
|
||||
o << (*itr)->GetGUID().ToString() << ", ";
|
||||
TC_LOG_INFO("entities.unit", "%s", o.str().c_str());
|
||||
TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str());
|
||||
o.str("");
|
||||
|
||||
o << "Aura List: ";
|
||||
for (AuraApplicationMap::const_iterator itr = m_appliedAuras.begin(); itr != m_appliedAuras.end(); ++itr)
|
||||
o << itr->first << ", ";
|
||||
TC_LOG_INFO("entities.unit", "%s", o.str().c_str());
|
||||
TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str());
|
||||
o.str("");
|
||||
|
||||
if (IsVehicle())
|
||||
@@ -16106,11 +16106,11 @@ void Unit::OutDebugInfo() const
|
||||
for (SeatMap::iterator itr = GetVehicleKit()->Seats.begin(); itr != GetVehicleKit()->Seats.end(); ++itr)
|
||||
if (Unit* passenger = ObjectAccessor::GetUnit(*GetVehicleBase(), itr->second.Passenger.Guid))
|
||||
o << passenger->GetGUID().ToString() << ", ";
|
||||
TC_LOG_INFO("entities.unit", "%s", o.str().c_str());
|
||||
TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str());
|
||||
}
|
||||
|
||||
if (GetVehicle())
|
||||
TC_LOG_INFO("entities.unit", "On vehicle %u.", GetVehicleBase()->GetEntry());
|
||||
TC_LOG_DEBUG("entities.unit", "On vehicle %u.", GetVehicleBase()->GetEntry());
|
||||
}
|
||||
|
||||
uint32 Unit::GetRemainingPeriodicAmount(ObjectGuid caster, uint32 spellId, AuraType auraType, uint8 effectIndex) const
|
||||
|
||||
@@ -8781,7 +8781,7 @@ void ObjectMgr::LoadBroadcastTexts()
|
||||
|
||||
if (!GetLanguageDescByID(bct.Language))
|
||||
{
|
||||
TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` using Language %u but Language does not exist. Skipped.", bct.Id, bct.Language);
|
||||
TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` using Language %u but Language does not exist. Skipped.", bct.Id, bct.Language);
|
||||
// don't load bct of higher expansions
|
||||
continue;
|
||||
}
|
||||
@@ -8790,7 +8790,7 @@ void ObjectMgr::LoadBroadcastTexts()
|
||||
{
|
||||
if (!sEmotesStore.LookupEntry(bct.EmoteId0))
|
||||
{
|
||||
TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId0 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId0);
|
||||
TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId0 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId0);
|
||||
// don't load bct of higher expansions
|
||||
continue;
|
||||
}
|
||||
@@ -8800,7 +8800,7 @@ void ObjectMgr::LoadBroadcastTexts()
|
||||
{
|
||||
if (!sEmotesStore.LookupEntry(bct.EmoteId1))
|
||||
{
|
||||
TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId1 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId1);
|
||||
TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId1 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId1);
|
||||
// don't load bct of higher expansions
|
||||
continue;
|
||||
}
|
||||
@@ -8810,7 +8810,7 @@ void ObjectMgr::LoadBroadcastTexts()
|
||||
{
|
||||
if (!sEmotesStore.LookupEntry(bct.EmoteId2))
|
||||
{
|
||||
TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId2 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId2);
|
||||
TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId2 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId2);
|
||||
// don't load bct of higher expansions
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -130,9 +130,9 @@ void Map::LoadMMap(int gx, int gy)
|
||||
bool mmapLoadResult = MMAP::MMapFactory::createOrGetMMapManager()->loadMap((sWorld->GetDataPath() + "mmaps").c_str(), GetId(), gx, gy);
|
||||
|
||||
if (mmapLoadResult)
|
||||
TC_LOG_INFO("maps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
TC_LOG_DEBUG("maps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
else
|
||||
TC_LOG_INFO("maps", "Could not load MMAP name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
TC_LOG_ERROR("maps", "Could not load MMAP name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
}
|
||||
|
||||
void Map::LoadVMap(int gx, int gy)
|
||||
@@ -144,10 +144,10 @@ void Map::LoadVMap(int gx, int gy)
|
||||
switch (vmapLoadResult)
|
||||
{
|
||||
case VMAP::VMAP_LOAD_RESULT_OK:
|
||||
TC_LOG_INFO("maps", "VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
TC_LOG_DEBUG("maps", "VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
break;
|
||||
case VMAP::VMAP_LOAD_RESULT_ERROR:
|
||||
TC_LOG_INFO("maps", "Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
TC_LOG_ERROR("maps", "Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
break;
|
||||
case VMAP::VMAP_LOAD_RESULT_IGNORED:
|
||||
TC_LOG_DEBUG("maps", "Ignored VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
|
||||
@@ -177,7 +177,7 @@ void Map::LoadMap(int gx, int gy, bool reload)
|
||||
//map already load, delete it before reloading (Is it necessary? Do we really need the ability the reload maps during runtime?)
|
||||
if (GridMaps[gx][gy])
|
||||
{
|
||||
TC_LOG_INFO("maps", "Unloading previously loaded map %u before reloading.", GetId());
|
||||
TC_LOG_DEBUG("maps", "Unloading previously loaded map %u before reloading.", GetId());
|
||||
sScriptMgr->OnUnloadGridMap(this, GridMaps[gx][gy], gx, gy);
|
||||
|
||||
delete (GridMaps[gx][gy]);
|
||||
@@ -189,7 +189,7 @@ void Map::LoadMap(int gx, int gy, bool reload)
|
||||
int len = sWorld->GetDataPath().length() + strlen("maps/%03u%02u%02u.map") + 1;
|
||||
tmp = new char[len];
|
||||
snprintf(tmp, len, (char *)(sWorld->GetDataPath() + "maps/%03u%02u%02u.map").c_str(), GetId(), gx, gy);
|
||||
TC_LOG_INFO("maps", "Loading map %s", tmp);
|
||||
TC_LOG_DEBUG("maps", "Loading map %s", tmp);
|
||||
// loading data
|
||||
GridMaps[gx][gy] = new GridMap();
|
||||
if (!GridMaps[gx][gy]->loadData(tmp))
|
||||
@@ -2505,7 +2505,7 @@ void Map::UpdateObjectsVisibilityFor(Player* player, Cell cell, CellCoord cellpa
|
||||
|
||||
void Map::SendInitSelf(Player* player)
|
||||
{
|
||||
TC_LOG_INFO("maps", "Creating player data for himself %u", player->GetGUIDLow());
|
||||
TC_LOG_DEBUG("maps", "Creating player data for himself %u", player->GetGUIDLow());
|
||||
|
||||
UpdateData data(player->GetMapId());
|
||||
|
||||
@@ -2882,7 +2882,7 @@ bool InstanceMap::CanEnter(Player* player)
|
||||
uint32 maxPlayers = GetMaxPlayers();
|
||||
if (GetPlayersCountExceptGMs() >= maxPlayers)
|
||||
{
|
||||
TC_LOG_INFO("maps", "MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), maxPlayers, player->GetName().c_str());
|
||||
TC_LOG_WARN("maps", "MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), maxPlayers, player->GetName().c_str());
|
||||
player->SendTransferAborted(GetId(), TRANSFER_ABORT_MAX_PLAYERS);
|
||||
return false;
|
||||
}
|
||||
@@ -2951,7 +2951,7 @@ bool InstanceMap::AddPlayerToMap(Player* player)
|
||||
InstanceSave* mapSave = sInstanceSaveMgr->GetInstanceSave(GetInstanceId());
|
||||
if (!mapSave)
|
||||
{
|
||||
TC_LOG_INFO("maps", "InstanceMap::Add: creating instance save for map %d spawnmode %d with instance id %d", GetId(), GetSpawnMode(), GetInstanceId());
|
||||
TC_LOG_DEBUG("maps", "InstanceMap::Add: creating instance save for map %d spawnmode %d with instance id %d", GetId(), GetSpawnMode(), GetInstanceId());
|
||||
mapSave = sInstanceSaveMgr->AddInstanceSave(GetId(), GetInstanceId(), Difficulty(GetSpawnMode()), 0, true);
|
||||
}
|
||||
|
||||
@@ -3028,7 +3028,7 @@ bool InstanceMap::AddPlayerToMap(Player* player)
|
||||
// first player enters (no players yet)
|
||||
SetResetSchedule(false);
|
||||
|
||||
TC_LOG_INFO("maps", "MAP: Player '%s' entered instance '%u' of map '%s'", player->GetName().c_str(), GetInstanceId(), GetMapName());
|
||||
TC_LOG_DEBUG("maps", "MAP: Player '%s' entered instance '%u' of map '%s'", player->GetName().c_str(), GetInstanceId(), GetMapName());
|
||||
// initialize unload state
|
||||
m_unloadTimer = 0;
|
||||
m_resetAfterUnload = false;
|
||||
@@ -3054,7 +3054,7 @@ void InstanceMap::Update(const uint32 t_diff)
|
||||
|
||||
void InstanceMap::RemovePlayerFromMap(Player* player, bool remove)
|
||||
{
|
||||
TC_LOG_INFO("maps", "MAP: Removing player '%s' from instance '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
|
||||
TC_LOG_DEBUG("maps", "MAP: Removing player '%s' from instance '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
|
||||
//if last player set unload timer
|
||||
if (!m_unloadTimer && m_mapRefManager.getSize() == 1)
|
||||
m_unloadTimer = m_unloadWhenEmpty ? MIN_UNLOAD_DELAY : std::max(sWorld->getIntConfig(CONFIG_INSTANCE_UNLOAD_DELAY), (uint32)MIN_UNLOAD_DELAY);
|
||||
@@ -3287,7 +3287,7 @@ bool BattlegroundMap::AddPlayerToMap(Player* player)
|
||||
|
||||
void BattlegroundMap::RemovePlayerFromMap(Player* player, bool remove)
|
||||
{
|
||||
TC_LOG_INFO("maps", "MAP: Removing player '%s' from bg '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
|
||||
TC_LOG_DEBUG("maps", "MAP: Removing player '%s' from bg '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
|
||||
Map::RemovePlayerFromMap(player, remove);
|
||||
}
|
||||
|
||||
|
||||
@@ -382,9 +382,9 @@ void FlightPathMovementGenerator::PreloadEndGrid()
|
||||
// Load the grid
|
||||
if (endMap)
|
||||
{
|
||||
TC_LOG_INFO("misc", "Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path->size()-1));
|
||||
TC_LOG_DEBUG("misc", "Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path->size()-1));
|
||||
endMap->LoadGrid(_endGridX, _endGridY);
|
||||
}
|
||||
else
|
||||
TC_LOG_INFO("misc", "Unable to determine map to preload flightmaster grid");
|
||||
TC_LOG_DEBUG("misc", "Unable to determine map to preload flightmaster grid");
|
||||
}
|
||||
@@ -147,7 +147,7 @@ void MoveSpline::init_spline(const MoveSplineInitArgs& args)
|
||||
/// @todo what to do in such cases? problem is in input data (all points are at same coords)
|
||||
if (spline.length() < minimal_duration)
|
||||
{
|
||||
TC_LOG_ERROR("misc", "MoveSpline::init_spline: zero length spline, wrong input data?");
|
||||
TC_LOG_DEBUG("misc", "MoveSpline::init_spline: zero length spline, wrong input data?");
|
||||
spline.set_length(spline.last(), spline.isCyclic() ? 1000 : 1);
|
||||
}
|
||||
point_Idx = spline.first();
|
||||
|
||||
@@ -258,8 +258,8 @@ void WorldSession::SendPacket(WorldPacket* packet, bool forced /*= false*/)
|
||||
{
|
||||
uint64 minTime = uint64(cur_time - lastTime);
|
||||
uint64 fullTime = uint64(lastTime - firstTime);
|
||||
TC_LOG_INFO("misc", "Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime));
|
||||
TC_LOG_INFO("misc", "Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime);
|
||||
TC_LOG_DEBUG("misc", "Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime));
|
||||
TC_LOG_DEBUG("misc", "Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime);
|
||||
|
||||
lastTime = cur_time;
|
||||
sendLastPacketCount = 1;
|
||||
@@ -886,7 +886,7 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data)
|
||||
|
||||
addonInfo >> enabled >> crc >> unk1;
|
||||
|
||||
TC_LOG_INFO("misc", "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1);
|
||||
TC_LOG_DEBUG("misc", "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1);
|
||||
|
||||
AddonInfo addon(addonName, enabled, crc, 2, true);
|
||||
|
||||
@@ -894,15 +894,15 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data)
|
||||
if (savedAddon)
|
||||
{
|
||||
if (addon.CRC != savedAddon->CRC)
|
||||
TC_LOG_INFO("misc", "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC);
|
||||
TC_LOG_ERROR("misc", "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC);
|
||||
else
|
||||
TC_LOG_INFO("misc", "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC);
|
||||
TC_LOG_DEBUG("misc", "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddonMgr::SaveAddon(addon);
|
||||
|
||||
TC_LOG_INFO("misc", "ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC);
|
||||
TC_LOG_DEBUG("misc", "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.
|
||||
@@ -953,7 +953,7 @@ void WorldSession::SendAddonsInfo()
|
||||
data << uint8(usepk);
|
||||
if (usepk) // if CRC is wrong, add public key (client need it)
|
||||
{
|
||||
TC_LOG_INFO("misc", "ADDON: CRC (0x%x) for addon %s is wrong (does not match expected 0x%x), sending pubkey",
|
||||
TC_LOG_DEBUG("misc", "ADDON: CRC (0x%x) for addon %s is wrong (does not match expected 0x%x), sending pubkey",
|
||||
itr->CRC, itr->Name.c_str(), STANDARD_ADDON_CRC);
|
||||
|
||||
data.append(addonPublicKey, sizeof(addonPublicKey));
|
||||
@@ -1218,7 +1218,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p, time_t time) co
|
||||
return true;
|
||||
case POLICY_KICK:
|
||||
{
|
||||
TC_LOG_INFO("network", "AntiDOS: Player kicked!");
|
||||
TC_LOG_WARN("network", "AntiDOS: Player kicked!");
|
||||
Session->KickPlayer();
|
||||
return false;
|
||||
}
|
||||
@@ -1234,7 +1234,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p, time_t time) co
|
||||
case BAN_IP: nameOrIp = Session->GetRemoteAddress(); break;
|
||||
}
|
||||
sWorld->BanAccount(bm, nameOrIp, duration, "DOS (Packet Flooding/Spoofing", "Server: AutoDOS");
|
||||
TC_LOG_INFO("network", "AntiDOS: Player automatically banned for %u seconds.", duration);
|
||||
TC_LOG_WARN("network", "AntiDOS: Player automatically banned for %u seconds.", duration);
|
||||
Session->KickPlayer();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -518,7 +518,7 @@ void WorldSocket::HandleAuthSession(WorldPacket& recvPacket)
|
||||
if (allowedAccountType > SEC_PLAYER && AccountTypes(security) < allowedAccountType)
|
||||
{
|
||||
SendAuthResponseError(AUTH_UNAVAILABLE);
|
||||
TC_LOG_INFO("network", "WorldSocket::HandleAuthSession: User tries to login but his security level is not enough");
|
||||
TC_LOG_DEBUG("network", "WorldSocket::HandleAuthSession: User tries to login but his security level is not enough");
|
||||
sScriptMgr->OnFailedAccountLogin(id);
|
||||
DelayedCloseSocket();
|
||||
return;
|
||||
|
||||
@@ -484,23 +484,23 @@ void SpellCastTargets::Update(Unit* caster)
|
||||
void SpellCastTargets::OutDebug() const
|
||||
{
|
||||
if (!m_targetMask)
|
||||
TC_LOG_INFO("spells", "No targets");
|
||||
TC_LOG_DEBUG("spells", "No targets");
|
||||
|
||||
TC_LOG_INFO("spells", "target mask: %u", m_targetMask);
|
||||
TC_LOG_DEBUG("spells", "target mask: %u", m_targetMask);
|
||||
if (m_targetMask & (TARGET_FLAG_UNIT_MASK | TARGET_FLAG_CORPSE_MASK | TARGET_FLAG_GAMEOBJECT_MASK))
|
||||
TC_LOG_INFO("spells", "Object target: %s", m_objectTargetGUID.ToString().c_str());
|
||||
TC_LOG_DEBUG("spells", "Object target: %s", m_objectTargetGUID.ToString().c_str());
|
||||
if (m_targetMask & TARGET_FLAG_ITEM)
|
||||
TC_LOG_INFO("spells", "Item target: %s", m_itemTargetGUID.ToString().c_str());
|
||||
TC_LOG_DEBUG("spells", "Item target: %s", m_itemTargetGUID.ToString().c_str());
|
||||
if (m_targetMask & TARGET_FLAG_TRADE_ITEM)
|
||||
TC_LOG_INFO("spells", "Trade item target: %s", m_itemTargetGUID.ToString().c_str());
|
||||
TC_LOG_DEBUG("spells", "Trade item target: %s", m_itemTargetGUID.ToString().c_str());
|
||||
if (m_targetMask & TARGET_FLAG_SOURCE_LOCATION)
|
||||
TC_LOG_INFO("spells", "Source location: transport guid:%s trans offset: %s position: %s", m_src._transportGUID.ToString().c_str(), m_src._transportOffset.ToString().c_str(), m_src._position.ToString().c_str());
|
||||
TC_LOG_DEBUG("spells", "Source location: transport guid:%s trans offset: %s position: %s", m_src._transportGUID.ToString().c_str(), m_src._transportOffset.ToString().c_str(), m_src._position.ToString().c_str());
|
||||
if (m_targetMask & TARGET_FLAG_DEST_LOCATION)
|
||||
TC_LOG_INFO("spells", "Destination location: transport guid:%s trans offset: %s position: %s", m_dst._transportGUID.ToString().c_str(), m_dst._transportOffset.ToString().c_str(), m_dst._position.ToString().c_str());
|
||||
TC_LOG_DEBUG("spells", "Destination location: transport guid:%s trans offset: %s position: %s", m_dst._transportGUID.ToString().c_str(), m_dst._transportOffset.ToString().c_str(), m_dst._position.ToString().c_str());
|
||||
if (m_targetMask & TARGET_FLAG_STRING)
|
||||
TC_LOG_INFO("spells", "String: %s", m_strTarget.c_str());
|
||||
TC_LOG_INFO("spells", "speed: %f", m_speed);
|
||||
TC_LOG_INFO("spells", "elevation: %f", m_elevation);
|
||||
TC_LOG_DEBUG("spells", "String: %s", m_strTarget.c_str());
|
||||
TC_LOG_DEBUG("spells", "speed: %f", m_speed);
|
||||
TC_LOG_DEBUG("spells", "elevation: %f", m_elevation);
|
||||
}
|
||||
|
||||
SpellValue::SpellValue(SpellInfo const* proto)
|
||||
@@ -6383,7 +6383,7 @@ void Spell::Delayed() // only called in DealDamage()
|
||||
else
|
||||
m_timer += delaytime;
|
||||
|
||||
TC_LOG_INFO("spells", "Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime);
|
||||
TC_LOG_DEBUG("spells", "Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime);
|
||||
|
||||
WorldPacket data(SMSG_SPELL_DELAYED, 8+4);
|
||||
data << m_caster->GetPackGUID();
|
||||
|
||||
@@ -3926,7 +3926,7 @@ void Spell::EffectStuck(SpellEffIndex /*effIndex*/)
|
||||
return;
|
||||
|
||||
TC_LOG_DEBUG("spells", "Spell Effect: Stuck");
|
||||
TC_LOG_INFO("spells", "Player %s (guid %u) used auto-unstuck future at map %u (%f, %f, %f)", player->GetName().c_str(), player->GetGUIDLow(), player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ());
|
||||
TC_LOG_DEBUG("spells", "Player %s (guid %u) used auto-unstuck future at map %u (%f, %f, %f)", player->GetName().c_str(), player->GetGUIDLow(), player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ());
|
||||
|
||||
if (player->IsInFlight())
|
||||
return;
|
||||
|
||||
@@ -360,17 +360,17 @@ public:
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
pBarnesAI->m_uiEventId = EVENT_OZ;
|
||||
TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_OZ", player->GetGUID().ToString().c_str());
|
||||
TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_OZ", player->GetGUID().ToString().c_str());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
pBarnesAI->m_uiEventId = EVENT_HOOD;
|
||||
TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_HOOD", player->GetGUID().ToString().c_str());
|
||||
TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_HOOD", player->GetGUID().ToString().c_str());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+5:
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
pBarnesAI->m_uiEventId = EVENT_RAJ;
|
||||
TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_RAJ", player->GetGUID().ToString().c_str());
|
||||
TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_RAJ", player->GetGUID().ToString().c_str());
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -336,7 +336,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
|
||||
|
||||
if (type < MAX_ENCOUNTERS)
|
||||
{
|
||||
TC_LOG_INFO("scripts", "[ToCr] BossState(type %u) %u = state %u;", type, GetBossState(type), state);
|
||||
TC_LOG_DEBUG("scripts", "[ToCr] BossState(type %u) %u = state %u;", type, GetBossState(type), state);
|
||||
if (state == FAIL)
|
||||
{
|
||||
if (instance->IsHeroic())
|
||||
|
||||
@@ -59,7 +59,6 @@ include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour
|
||||
${CMAKE_SOURCE_DIR}/dep/SFMT
|
||||
${CMAKE_SOURCE_DIR}/dep/sockets/include
|
||||
${CMAKE_SOURCE_DIR}/dep/utf8cpp
|
||||
${CMAKE_SOURCE_DIR}/src/server
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
}
|
||||
catch (boost::system::system_error const& err)
|
||||
{
|
||||
TC_LOG_INFO("network", "Failed to retrieve client's remote address %s", err.what());
|
||||
TC_LOG_WARN("network", "Failed to retrieve client's remote address %s", err.what());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -94,7 +94,8 @@ void ShutdownCLIThread(std::thread* cliThread);
|
||||
void ShutdownThreadPool(std::vector<std::thread>& threadPool);
|
||||
variables_map GetConsoleArguments(int argc, char** argv, std::string& cfg_file, std::string& cfg_service);
|
||||
|
||||
int mainImpl(int argc, char** argv)
|
||||
/// Launch the Trinity server
|
||||
extern int main(int argc, char** argv)
|
||||
{
|
||||
std::string configFile = _TRINITY_CORE_CONFIG;
|
||||
std::string configService;
|
||||
@@ -298,25 +299,6 @@ int mainImpl(int argc, char** argv)
|
||||
return World::GetExitCode();
|
||||
}
|
||||
|
||||
/// Launch the Trinity server
|
||||
extern int main(int argc, char** argv)
|
||||
{
|
||||
try
|
||||
{
|
||||
return mainImpl(argc, argv);
|
||||
}
|
||||
catch (std::exception& ex)
|
||||
{
|
||||
std::cerr << "Top-level exception caught:" << ex.what() << "\n";
|
||||
|
||||
#ifndef NDEBUG // rethrow exception for the debugger
|
||||
throw;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void ShutdownCLIThread(std::thread* cliThread)
|
||||
{
|
||||
if (cliThread != nullptr)
|
||||
|
||||
Reference in new issue
Block a user