diff --git a/src/game/ChatLexicsCutter.cpp b/src/game/ChatLexicsCutter.cpp
index 1713c20..3fdc5b4 100644
--- a/src/game/ChatLexicsCutter.cpp
+++ b/src/game/ChatLexicsCutter.cpp
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005,2006,2007 MaNGOS
*
* This program is free software; you can redistribute it and/or modify
@@ -18,17 +18,6 @@
#include "Common.h"
#include "ChatLexicsCutter.h"
#include "Log.h"
-
-static int const trailingBytesForUTF8[256] = {
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5
-};
LexicsCutter::LexicsCutter()
{
@@ -96,12 +84,12 @@ bool LexicsCutter::Read_Letter_Analogs(std::string& FileName)
}
// check for empty string
- line_s = line;
+ line_s = line;
line_s = trim(line_s, "\x0A\x0D\x20");
if (line_s == "") continue;
// process line without CR/LF
- line_s = line;
+ line_s = line;
line_s = trim(line_s, "\x0A\x0D");
pos = 0;
@@ -160,12 +148,12 @@ bool LexicsCutter::Read_Innormative_Words(std::string& FileName)
}
// check for empty string
- line_s = line;
+ line_s = line;
line_s = trim(line_s, "\x0A\x0D\x20");
if (line_s == "") continue;
// process line without CR/LF
- line_s = line;
+ line_s = line;
line_s = trim(line_s, "\x0A\x0D");
// create word vector of vectors
@@ -219,11 +207,11 @@ void LexicsCutter::Map_Innormative_Words()
bool LexicsCutter::Compare_Word(std::string& str, unsigned int pos, LC_WordVector word)
{
- std::string lchar_prev;
+ std::string lchar_prev;
std::string lchar;
- // read first letter of the word into lchar_prev
- ReadUTF8(str, lchar, pos);
+ // read first letter of the word into lchar_prev
+ ReadUTF8(str, lchar, pos);
// okay, here we go, comparing word
// first letter is already okay, we do begin from second and go on
@@ -236,23 +224,23 @@ bool LexicsCutter::Compare_Word(std::string& str, unsigned int pos, LC_WordVecto
// check, if the letter is in the set
LC_LetterSet ls = *i;
if (ls.count(lchar) == 0)
- {
- // letter is not in set, but we must check, if it is not space or repeat
- if ( (!(IgnoreMiddleSpaces && (lchar == " "))) &&
- (!(IgnoreLetterRepeat && (lchar == lchar_prev))) )
- {
- // no checks viable
- return(false);
- }
- }
- else
- {
- // next word letter
- i++;
- }
- // set previous string letter to compare if needed (this check can really conserve time)
- if (IgnoreLetterRepeat) lchar_prev = lchar;
- }
+ {
+ // letter is not in set, but we must check, if it is not space or repeat
+ if ( (!(IgnoreMiddleSpaces && (lchar == " "))) &&
+ (!(IgnoreLetterRepeat && (lchar == lchar_prev))) )
+ {
+ // no checks viable
+ return(false);
+ }
+ }
+ else
+ {
+ // next word letter
+ i++;
+ }
+ // set previous string letter to compare if needed (this check can really conserve time)
+ if (IgnoreLetterRepeat) lchar_prev = lchar;
+ }
return(true);
}
@@ -278,7 +266,7 @@ bool LexicsCutter::Check_Lexics(std::string& Phrase)
}
// string prepared, now parse it and scan for all the words
- unsigned int pos_prev = 0;
+ unsigned int pos_prev = 0;
pos = 0;
while (ReadUTF8(str, lchar, pos))
{
diff --git a/src/game/ChatLexicsCutter.h b/src/game/ChatLexicsCutter.h
index b0aed9c..38d636c 100644
--- a/src/game/ChatLexicsCutter.h
+++ b/src/game/ChatLexicsCutter.h
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005,2006,2007 MaNGOS
*
* This program is free software; you can redistribute it and/or modify
@@ -26,6 +26,17 @@ typedef std::vector< LC_LetterSet > LC_WordVector;
typedef std::vector< LC_WordVector > LC_WordList;
typedef std::multimap< std::string, unsigned int > LC_WordMap;
+static int trailingBytesForUTF8[256] = {
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5
+};
+
class LexicsCutter
{
protected:
@@ -46,10 +57,11 @@ class LexicsCutter
void Map_Innormative_Words();
bool Compare_Word(std::string& str, unsigned int pos, LC_WordVector word);
bool Check_Lexics(std::string& Phrase);
-
+
std::vector< std::pair< unsigned int, unsigned int > > Found;
bool IgnoreMiddleSpaces;
bool IgnoreLetterRepeat;
};
#endif
+
diff --git a/src/game/ChatLog.cpp b/src/game/ChatLog.cpp
index 0c5ea81..3aaebfa 100644
--- a/src/game/ChatLog.cpp
+++ b/src/game/ChatLog.cpp
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005,2006,2007 MaNGOS
*
* This program is free software; you can redistribute it and/or modify
@@ -22,12 +22,10 @@
#include "Chat.h"
#include "Group.h"
#include "Guild.h"
-#include "ObjectMgr.h"
#include "GuildMgr.h"
-#include "ObjectGuid.h"
+#include "ObjectMgr.h"
#include "SpellAuras.h"
#include "Policies/SingletonImp.h"
-#include "Config/Config.h"
INSTANTIATE_SINGLETON_1( ChatLog );
@@ -42,92 +40,31 @@ ChatLog::ChatLog()
Lexics = NULL;
fn_innormative = "";
f_innormative = NULL;
-
- Initialize();
}
ChatLog::~ChatLog()
{
- // close all files (avoiding double-close)
- CloseAllFiles();
-
- if (Lexics)
- {
- delete Lexics;
- Lexics = NULL;
- }
+ Uninitialize();
}
void ChatLog::Initialize()
{
- // determine, if the chat logs are enabled
- ChatLogEnable = sConfig.GetBoolDefault("ChatLogEnable", false);
- ChatLogDateSplit = sConfig.GetBoolDefault("ChatLogDateSplit", false);
- ChatLogUTFHeader = sConfig.GetBoolDefault("ChatLogUTFHeader", false);
- ChatLogIgnoreUnprintable = sConfig.GetBoolDefault("ChatLogIgnoreUnprintable", false);
-
- if (ChatLogEnable)
+ if (fn_analogsfile == "" || fn_wordsfile == "")
{
- // read chat log file names
- names[CHAT_LOG_CHAT] = sConfig.GetStringDefault("ChatLogChatFile", "");
- names[CHAT_LOG_PARTY] = sConfig.GetStringDefault("ChatLogPartyFile", "");
- names[CHAT_LOG_GUILD] = sConfig.GetStringDefault("ChatLogGuildFile", "");
- names[CHAT_LOG_WHISPER] = sConfig.GetStringDefault("ChatLogWhisperFile", "");
- names[CHAT_LOG_CHANNEL] = sConfig.GetStringDefault("ChatLogChannelFile", "");
- names[CHAT_LOG_RAID] = sConfig.GetStringDefault("ChatLogRaidFile", "");
- names[CHAT_LOG_BATTLEGROUND] = sConfig.GetStringDefault("ChatLogBattleGroundFile", "");
-
- // read screen log flags
- screenflag[CHAT_LOG_CHAT] = sConfig.GetBoolDefault("ChatLogChatScreen", false);
- screenflag[CHAT_LOG_PARTY] = sConfig.GetBoolDefault("ChatLogPartyScreen", false);
- screenflag[CHAT_LOG_GUILD] = sConfig.GetBoolDefault("ChatLogGuildScreen", false);
- screenflag[CHAT_LOG_WHISPER] = sConfig.GetBoolDefault("ChatLogWhisperScreen", false);
- screenflag[CHAT_LOG_CHANNEL] = sConfig.GetBoolDefault("ChatLogChannelScreen", false);
- screenflag[CHAT_LOG_RAID] = sConfig.GetBoolDefault("ChatLogRaidScreen", false);
- screenflag[CHAT_LOG_BATTLEGROUND] = sConfig.GetBoolDefault("ChatLogBattleGroundScreen", false);
+ LexicsCutterEnable = false;
}
- // lexics cutter
- LexicsCutterEnable = sConfig.GetBoolDefault("LexicsCutterEnable", false);
-
if (LexicsCutterEnable)
{
- // initialize lexics cutter parameters
- LexicsCutterInnormativeCut = sConfig.GetBoolDefault("LexicsCutterInnormativeCut", true);
- LexicsCutterNoActionOnGM = sConfig.GetBoolDefault("LexicsCutterNoActionOnGM", true);
- LexicsCutterScreenLog = sConfig.GetBoolDefault("LexicsCutterScreenLog", false);
- LexicsCutterCutReplacement = sConfig.GetStringDefault("LexicsCutterCutReplacement", "&!@^%!^&*!!! [gibberish]");
- LexicsCutterAction = sConfig.GetIntDefault("LexicsCutterAction", 0);
- LexicsCutterActionDuration = sConfig.GetIntDefault("LexicsCutterActionDuration", 60000);
- std::string fn_analogsfile = sConfig.GetStringDefault("LexicsCutterAnalogsFile", "");
- std::string fn_wordsfile = sConfig.GetStringDefault("LexicsCutterWordsFile", "");
-
- // read lexics cutter flags
- cutflag[CHAT_LOG_CHAT] = sConfig.GetBoolDefault("LexicsCutInChat", true);
- cutflag[CHAT_LOG_PARTY] = sConfig.GetBoolDefault("LexicsCutInParty", true);
- cutflag[CHAT_LOG_GUILD] = sConfig.GetBoolDefault("LexicsCutInGuild", true);
- cutflag[CHAT_LOG_WHISPER] = sConfig.GetBoolDefault("LexicsCutInWhisper", true);
- cutflag[CHAT_LOG_CHANNEL] = sConfig.GetBoolDefault("LexicsCutInChannel", true);
- cutflag[CHAT_LOG_RAID] = sConfig.GetBoolDefault("LexicsCutInRaid", true);
- cutflag[CHAT_LOG_BATTLEGROUND] = sConfig.GetBoolDefault("LexicsCutInBattleGround", true);
-
- if (fn_analogsfile == "" || fn_wordsfile == "")
- {
- LexicsCutterEnable = false;
- }
- else
- {
- // initialize lexics cutter
- Lexics = new LexicsCutter;
- if (Lexics) Lexics->Read_Letter_Analogs(fn_analogsfile);
- if (Lexics) Lexics->Read_Innormative_Words(fn_wordsfile);
- if (Lexics) Lexics->Map_Innormative_Words();
-
- // read additional parameters
- Lexics->IgnoreLetterRepeat = sConfig.GetBoolDefault("LexicsCutterIgnoreRepeats", true);
- Lexics->IgnoreMiddleSpaces = sConfig.GetBoolDefault("LexicsCutterIgnoreSpaces", true);
- fn_innormative = sConfig.GetStringDefault("LexicsCutterLogFile", "");
- }
+ // initialize lexics cutter
+ Lexics = new LexicsCutter;
+ if (Lexics) Lexics->Read_Letter_Analogs(fn_analogsfile);
+ if (Lexics) Lexics->Read_Innormative_Words(fn_wordsfile);
+ if (Lexics) Lexics->Map_Innormative_Words();
+
+ // read additional parameters
+ Lexics->IgnoreLetterRepeat = LexicsCutterIgnoreLetterRepeat;
+ Lexics->IgnoreMiddleSpaces = LexicsCutterIgnoreMiddleSpaces;
}
// open all files (with aliasing)
@@ -137,6 +74,18 @@ void ChatLog::Initialize()
WriteInitStamps();
}
+void ChatLog::Uninitialize()
+{
+ // close all files (avoiding double-close)
+ CloseAllFiles();
+
+ if (Lexics)
+ {
+ delete Lexics;
+ Lexics = NULL;
+ }
+}
+
bool ChatLog::_ChatCommon(int ChatType, Player *player, std::string &msg)
{
if (LexicsCutterEnable && Lexics && cutflag[ChatType] && Lexics->Check_Lexics(msg)) ChatBadLexicsAction(player, msg);
@@ -218,8 +167,8 @@ void ChatLog::PartyMsg(Player *player, std::string &msg)
// obtain group information
log_str.append("[");
- //uint8 gm_count = group->GetMembersCount();
- //uint8 gm_count_m1 = gm_count - 1;
+ uint8 gm_count = group->GetMembersCount();
+ uint8 gm_count_m1 = gm_count - 1;
ObjectGuid gm_leader_GUID = group->GetLeaderGuid();
Player *gm_member;
@@ -231,7 +180,7 @@ void ChatLog::PartyMsg(Player *player, std::string &msg)
}
Group::MemberSlotList g_members = group->GetMemberSlots();
-
+
for (Group::member_citerator itr = g_members.begin(); itr != g_members.end(); itr++)
{
if (itr->guid == gm_leader_GUID) continue;
@@ -251,7 +200,7 @@ void ChatLog::PartyMsg(Player *player, std::string &msg)
log_str.append(msg);
log_str.append("\n");
-
+
if (screenflag[CHAT_LOG_PARTY]) printf("%s", log_str.c_str());
if (files[CHAT_LOG_PARTY])
{
@@ -354,7 +303,7 @@ void ChatLog::ChannelMsg(Player *player, std::string &channel, std::string &msg)
log_str.append("[");
log_str.append(player->GetName());
log_str.append("]->CHANNEL:");
-
+
if (channel.size() == 0)
{
log_str.append("[unknown channel] ");
@@ -407,7 +356,7 @@ void ChatLog::RaidMsg(Player *player, std::string &msg, uint32 type)
default:
log_str.append("]->RAID_UNKNOWN:");
}
-
+
Group *group = player->GetGroup();
if (!group)
{
@@ -418,8 +367,8 @@ void ChatLog::RaidMsg(Player *player, std::string &msg, uint32 type)
// obtain group information
log_str.append("[");
- //uint8 gm_count = group->GetMembersCount();
- //uint8 gm_count_m1 = gm_count - 1;
+ uint8 gm_count = group->GetMembersCount();
+ uint8 gm_count_m1 = gm_count - 1;
ObjectGuid gm_leader_GUID = group->GetLeaderGuid();
Player *gm_member;
@@ -496,8 +445,8 @@ void ChatLog::BattleGroundMsg(Player *player, std::string &msg, uint32 type)
// obtain group information
log_str.append("[");
- //uint8 gm_count = group->GetMembersCount();
- //uint8 gm_count_m1 = gm_count - 1;
+ uint8 gm_count = group->GetMembersCount();
+ uint8 gm_count_m1 = gm_count - 1;
ObjectGuid gm_leader_GUID = group->GetLeaderGuid();
Player *gm_member;
@@ -732,14 +681,14 @@ void ChatLog::ChatBadLexicsAction(Player* player, std::string& msg)
case LEXICS_ACTION_SHEEP:
{
// sheep me, yeah, yeah, sheep me
- player->_AddAura(118,LexicsCutterActionDuration);
+ player->_AddAura(118, LexicsCutterActionDuration);
}
break;
case LEXICS_ACTION_STUN:
{
// stunned surprised
- player->_AddAura(13005,LexicsCutterActionDuration);
+ player->_AddAura(13005, LexicsCutterActionDuration);
}
break;
@@ -757,6 +706,7 @@ void ChatLog::ChatBadLexicsAction(Player* player, std::string& msg)
}
break;
+
case LEXICS_ACTION_SILENCE:
{
// glue the mouth
@@ -768,21 +718,21 @@ void ChatLog::ChatBadLexicsAction(Player* player, std::string& msg)
case LEXICS_ACTION_STUCK:
{
// yo, the Matrix has had you :) [by KAPATEJIb]
- player->_AddAura(23312,LexicsCutterActionDuration);
+ player->_AddAura(23312, LexicsCutterActionDuration);
}
break;
case LEXICS_ACTION_SICKNESS:
{
// for absence of censorship, there is punishment [by Koshei]
- player->_AddAura(15007,LexicsCutterActionDuration);
+ player->_AddAura(15007, LexicsCutterActionDuration);
}
break;
case LEXICS_ACTION_SHEAR:
{
// Lord Illidan to watch you [by Koshei]
- player->_AddAura(41032,LexicsCutterActionDuration);
+ player->_AddAura(41032, LexicsCutterActionDuration);
}
break;
diff --git a/src/game/ChatLog.h b/src/game/ChatLog.h
index e2962c8..8ed261c 100644
--- a/src/game/ChatLog.h
+++ b/src/game/ChatLog.h
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005,2006,2007 MaNGOS
*
* This program is free software; you can redistribute it and/or modify
@@ -50,14 +50,15 @@ enum LexicsActions
LEXICS_ACTION_SHEAR = 8,
};
-class ChatLog : public MaNGOS::Singleton >
+class ChatLog : public MaNGOS::Singleton >
{
public:
ChatLog();
~ChatLog();
void Initialize();
-
+ void Uninitialize();
+
void ChatMsg(Player *player, std::string &msg, uint32 type);
void PartyMsg(Player *player, std::string &msg);
void GuildMsg(Player *player, std::string &msg, bool officer);
@@ -65,24 +66,16 @@ class ChatLog : public MaNGOS::Singleton::Instance()
#endif
+
diff --git a/src/game/World.cpp b/src/game/World.cpp
index bcaf92b..b5f9374 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -27,6 +27,7 @@
#include "SystemConfig.h"
#include "Log.h"
#include "Opcodes.h"
+#include "ChatLog.h"
#include "WorldSession.h"
#include "WorldPacket.h"
#include "Weather.h"
@@ -950,6 +951,65 @@ void World::LoadConfigSettings(bool reload)
sLog.outString( "WORLD: VMap support included. LineOfSight:%i, getHeight:%i, indoorCheck:%i",
enableLOS, enableHeight, getConfig(CONFIG_BOOL_VMAP_INDOOR_CHECK) ? 1 : 0);
sLog.outString( "WORLD: VMap data directory is: %svmaps",m_dataPath.c_str());
+
+ // chat log and lexics cutter settings
+ if (reload)
+ {
+ // reset chat logger / lexics cutter
+ sChatLog.Uninitialize();
+ }
+
+ // read chat log parameters
+ sChatLog.ChatLogEnable = sConfig.GetBoolDefault("ChatLogEnable", false);
+ sChatLog.ChatLogDateSplit = sConfig.GetBoolDefault("ChatLogDateSplit", false);
+ sChatLog.ChatLogUTFHeader = sConfig.GetBoolDefault("ChatLogUTFHeader", false);
+ sChatLog.ChatLogIgnoreUnprintable = sConfig.GetBoolDefault("ChatLogIgnoreUnprintable", false);
+
+ // read chat log file names
+ sChatLog.names[CHAT_LOG_CHAT] = sConfig.GetStringDefault("ChatLogChatFile", "");
+ sChatLog.names[CHAT_LOG_PARTY] = sConfig.GetStringDefault("ChatLogPartyFile", "");
+ sChatLog.names[CHAT_LOG_GUILD] = sConfig.GetStringDefault("ChatLogGuildFile", "");
+ sChatLog.names[CHAT_LOG_WHISPER] = sConfig.GetStringDefault("ChatLogWhisperFile", "");
+ sChatLog.names[CHAT_LOG_CHANNEL] = sConfig.GetStringDefault("ChatLogChannelFile", "");
+ sChatLog.names[CHAT_LOG_RAID] = sConfig.GetStringDefault("ChatLogRaidFile", "");
+ sChatLog.names[CHAT_LOG_BATTLEGROUND] = sConfig.GetStringDefault("ChatLogBattleGroundFile", "");
+
+ // read screen log flags
+ sChatLog.screenflag[CHAT_LOG_CHAT] = sConfig.GetBoolDefault("ChatLogChatScreen", false);
+ sChatLog.screenflag[CHAT_LOG_PARTY] = sConfig.GetBoolDefault("ChatLogPartyScreen", false);
+ sChatLog.screenflag[CHAT_LOG_GUILD] = sConfig.GetBoolDefault("ChatLogGuildScreen", false);
+ sChatLog.screenflag[CHAT_LOG_WHISPER] = sConfig.GetBoolDefault("ChatLogWhisperScreen", false);
+ sChatLog.screenflag[CHAT_LOG_CHANNEL] = sConfig.GetBoolDefault("ChatLogChannelScreen", false);
+ sChatLog.screenflag[CHAT_LOG_RAID] = sConfig.GetBoolDefault("ChatLogRaidScreen", false);
+ sChatLog.screenflag[CHAT_LOG_BATTLEGROUND] = sConfig.GetBoolDefault("ChatLogBattleGroundScreen", false);
+
+ // lexics cutter
+ sChatLog.LexicsCutterEnable = sConfig.GetBoolDefault("LexicsCutterEnable", false);
+
+ // initialize lexics cutter parameters
+ sChatLog.LexicsCutterInnormativeCut = sConfig.GetBoolDefault("LexicsCutterInnormativeCut", true);
+ sChatLog.LexicsCutterNoActionOnGM = sConfig.GetBoolDefault("LexicsCutterNoActionOnGM", true);
+ sChatLog.LexicsCutterScreenLog = sConfig.GetBoolDefault("LexicsCutterScreenLog", false);
+ sChatLog.LexicsCutterCutReplacement = sConfig.GetStringDefault("LexicsCutterCutReplacement", "&!@^%!^&*!!! [gibberish]");
+ sChatLog.LexicsCutterAction = sConfig.GetIntDefault("LexicsCutterAction", 0);
+ sChatLog.LexicsCutterActionDuration = sConfig.GetIntDefault("LexicsCutterActionDuration", 60000);
+ sChatLog.LexicsCutterIgnoreLetterRepeat = sConfig.GetBoolDefault("LexicsCutterIgnoreRepeats", true);
+ sChatLog.LexicsCutterIgnoreMiddleSpaces = sConfig.GetBoolDefault("LexicsCutterIgnoreSpaces", true);
+ sChatLog.fn_analogsfile = sConfig.GetStringDefault("LexicsCutterAnalogsFile", "");
+ sChatLog.fn_wordsfile = sConfig.GetStringDefault("LexicsCutterWordsFile", "");
+ sChatLog.fn_innormative = sConfig.GetStringDefault("LexicsCutterLogFile", "");
+
+ // read lexics cutter flags
+ sChatLog.cutflag[CHAT_LOG_CHAT] = sConfig.GetBoolDefault("LexicsCutInChat", true);
+ sChatLog.cutflag[CHAT_LOG_PARTY] = sConfig.GetBoolDefault("LexicsCutInParty", true);
+ sChatLog.cutflag[CHAT_LOG_GUILD] = sConfig.GetBoolDefault("LexicsCutInGuild", true);
+ sChatLog.cutflag[CHAT_LOG_WHISPER] = sConfig.GetBoolDefault("LexicsCutInWhisper", true);
+ sChatLog.cutflag[CHAT_LOG_CHANNEL] = sConfig.GetBoolDefault("LexicsCutInChannel", true);
+ sChatLog.cutflag[CHAT_LOG_RAID] = sConfig.GetBoolDefault("LexicsCutInRaid", true);
+ sChatLog.cutflag[CHAT_LOG_BATTLEGROUND] = sConfig.GetBoolDefault("LexicsCutInBattleGround", true);
+
+ // initialize chat logs (and lexics cutter)
+ sChatLog.Initialize();
}
/// Initialize the World