diff --git a/bin/conf/PseuWoW.conf.default b/bin/conf/PseuWoW.conf.default index 478c4d6..e1796d7 100644 --- a/bin/conf/PseuWoW.conf.default +++ b/bin/conf/PseuWoW.conf.default @@ -113,5 +113,9 @@ rmcontrolhost=localhost // PseuWoW will need more memory with maps enabled! useMaps=0 +// Addon language is usually not shown by client +// Since addons are far from beeing used in PseuWoW, we can completely ignore addon chat messages. +// Sometimes they even cause problems, like make the console window beep... +SkipAddonChat=1 diff --git a/src/Client/PseuWoW.cpp b/src/Client/PseuWoW.cpp index f76d6e4..63301f8 100644 --- a/src/Client/PseuWoW.cpp +++ b/src/Client/PseuWoW.cpp @@ -413,6 +413,7 @@ void PseuInstanceConf::ApplyFromVarSet(VarSet &v) rmcontrolport=atoi(v.Get("RMCONTROLPORT").c_str()); rmcontrolhost=v.Get("RMCONTROLHOST"); useMaps=(bool)atoi(v.Get("USEMAPS").c_str()); + useMaps=(bool)atoi(v.Get("SKIPADDONCHAT").c_str()); // clientversion is a bit more complicated to add { diff --git a/src/Client/PseuWoW.h b/src/Client/PseuWoW.h index 8344c91..034a462 100644 --- a/src/Client/PseuWoW.h +++ b/src/Client/PseuWoW.h @@ -54,6 +54,7 @@ class PseuInstanceConf uint32 rmcontrolport; std::string rmcontrolhost; bool useMaps; + bool skipaddonchat; // gui related bool enablegui; diff --git a/src/Client/World/WorldSession.cpp b/src/Client/World/WorldSession.cpp index eaf4559..412b10a 100644 --- a/src/Client/World/WorldSession.cpp +++ b/src/Client/World/WorldSession.cpp @@ -538,6 +538,10 @@ void WorldSession::_HandleMessageChatOpcode(WorldPacket& recvPacket) bool isCmd=false; recvPacket >> type >> lang; + + if(lang == LANG_ADDON && GetInstance()->GetConf()->skipaddonchat) + return; + recvPacket >> source_guid >> unk; // added in 2.1.0 if (type == CHAT_MSG_CHANNEL) { @@ -693,6 +697,10 @@ void WorldSession::_HandleMessageChatOpcode(WorldPacket& recvPacket) if(objmgr.GetItemProto(id)==NULL) SendQueryItem(id,0); } + else + { + logdebug("Tried to find ItemID in chat message, but link seems incorrect"); + } } } }