mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 21:26:23 +00:00
Fix corrupt item cache crashes, bot whispers, trade crashes
This commit is contained in:
@@ -18,6 +18,21 @@
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptMgrMacros.h"
|
||||
|
||||
bool ScriptMgr::OnDatabasesLoading()
|
||||
{
|
||||
auto ret = IsValidBoolScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
{
|
||||
return !script->OnDatabasesLoading();
|
||||
});
|
||||
|
||||
if (ret && *ret)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ScriptMgr::OnAfterDatabasesLoaded(uint32 updateFlags)
|
||||
{
|
||||
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
@@ -25,3 +40,43 @@ void ScriptMgr::OnAfterDatabasesLoaded(uint32 updateFlags)
|
||||
script->OnAfterDatabasesLoaded(updateFlags);
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnDatabasesKeepAlive()
|
||||
{
|
||||
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
{
|
||||
script->OnDatabasesKeepAlive();
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnDatabasesClosing()
|
||||
{
|
||||
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
{
|
||||
script->OnDatabasesClosing();
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnDatabaseWarnAboutSyncQueries(bool apply)
|
||||
{
|
||||
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
{
|
||||
script->OnDatabaseWarnAboutSyncQueries(apply);
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnDatabaseSelectIndexLogout(Player* player, uint32& statementIndex, uint32& statementParam)
|
||||
{
|
||||
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
{
|
||||
script->OnDatabaseSelectIndexLogout(player, statementIndex, statementParam);
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnDatabaseGetDBRevision(std::string& revision)
|
||||
{
|
||||
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
|
||||
{
|
||||
script->OnDatabaseGetDBRevision(revision);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -305,6 +305,14 @@ void ScriptMgr::OnPlayerUpdate(Player* player, uint32 p_time)
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnAfterPlayerUpdate(Player* player, uint32 diff)
|
||||
{
|
||||
ExecuteScript<PlayerScript>([&](PlayerScript* script)
|
||||
{
|
||||
script->OnAfterUpdate(player, diff);
|
||||
});
|
||||
}
|
||||
|
||||
void ScriptMgr::OnPlayerLogin(Player* player)
|
||||
{
|
||||
ExecuteScript<PlayerScript>([&](PlayerScript* script)
|
||||
|
||||
@@ -74,6 +74,15 @@ bool ScriptMgr::CanPacketReceive(WorldSession* session, WorldPacket const& packe
|
||||
return true;
|
||||
}
|
||||
|
||||
void ScriptMgr::OnPacketReceived(WorldSession* session, WorldPacket const& packet)
|
||||
{
|
||||
WorldPacket copy(packet);
|
||||
ExecuteScript<ServerScript>([&](ServerScript* script)
|
||||
{
|
||||
script->OnPacketReceived(session, copy);
|
||||
});
|
||||
}
|
||||
|
||||
bool ScriptMgr::CanPacketSend(WorldSession* session, WorldPacket const& packet)
|
||||
{
|
||||
ASSERT(session);
|
||||
|
||||
Reference in New Issue
Block a user