void ChatLog::ChannelMsg(Player *player, std::string &channel, std::string &msg) { if (!_ChatCommon(CHAT_LOG_CHANNEL, player, msg)) return; CheckDateSwitch(); std::string log_str = ""; log_str.append("["); log_str.append(player->GetName()); log_str.append("]->CHANNEL:"); if (channel.size() == 0) { log_str.append("[unknown channel] "); } else { log_str.append("["); log_str.append(channel); log_str.append("] "); } log_str.append(msg); log_str.append("\n"); if (screenflag[CHAT_LOG_CHANNEL]) printf("%s", log_str.c_str()); if (files[CHAT_LOG_CHANNEL]) { OutTimestamp(files[CHAT_LOG_CHANNEL]); fprintf(files[CHAT_LOG_CHANNEL], "%s", log_str.c_str()); fflush(files[CHAT_LOG_CHANNEL]); } }
void ChatLog::ChatMsg(Player *player, std::string &msg, uint32 type) { if (!_ChatCommon(CHAT_LOG_CHAT, player, msg)) return; CheckDateSwitch(); std::string log_str = ""; switch (type) { case CHAT_MSG_EMOTE: log_str.append("{EMOTE} "); break; case CHAT_MSG_YELL: log_str.append("{YELL} "); break; } log_str.append("["); log_str.append(player->GetName()); log_str.append("] "); log_str.append(msg); log_str.append("\n"); if (screenflag[CHAT_LOG_CHAT]) printf("%s", log_str.c_str()); if (files[CHAT_LOG_CHAT]) { OutTimestamp(files[CHAT_LOG_CHAT]); fprintf(files[CHAT_LOG_CHAT], "%s", log_str.c_str()); fflush(files[CHAT_LOG_CHAT]); } }
// Initialize Log object void GTLogTextFile::Initialize(void) { FILE* fp = tfopen(GTLogTextFile::g_szLogFileName, CTEXT("w")); if(fp) { OutTimestamp(fp); fprintf(fp, "\n"); tfclose(fp); fp = NULL; } }
void ChatLog::GuildMsg(Player *player, std::string &msg, bool officer) { if (!_ChatCommon(CHAT_LOG_GUILD, player, msg)) return; CheckDateSwitch(); std::string log_str = ""; log_str.append("["); log_str.append(player->GetName()); log_str.append((officer ? "]->GUILD_OFF:" : "]->GUILD:")); if (!player->GetGuildId()) { log_str.append("[unknown guild] "); } else { Guild *guild = sGuildMgr.GetGuildById(player->GetGuildId()); if (!guild) { log_str.append("[unknown guild] "); } else { // obtain guild information log_str.append("("); log_str.append(guild->GetName()); log_str.append(") "); } } log_str.append(msg); log_str.append("\n"); if (screenflag[CHAT_LOG_GUILD]) printf("%s", log_str.c_str()); if (files[CHAT_LOG_GUILD]) { OutTimestamp(files[CHAT_LOG_GUILD]); fprintf(files[CHAT_LOG_GUILD], "%s", log_str.c_str()); fflush(files[CHAT_LOG_GUILD]); } }
void ChatLog::WriteInitStamps() { // remember date time_t t = time(NULL); tm* aTm = localtime(&t); lastday = aTm->tm_mday; if (files[CHAT_LOG_CHAT]) { OutTimestamp(files[CHAT_LOG_CHAT]); fprintf(files[CHAT_LOG_CHAT], "%s", "[SYSTEM] Chat Log Initialized\n"); } if (files[CHAT_LOG_PARTY]) { OutTimestamp(files[CHAT_LOG_PARTY]); fprintf(files[CHAT_LOG_PARTY], "%s", "[SYSTEM] Party Chat Log Initialized\n"); } if (files[CHAT_LOG_GUILD]) { OutTimestamp(files[CHAT_LOG_GUILD]); fprintf(files[CHAT_LOG_GUILD], "%s", "[SYSTEM] Guild Chat Log Initialized\n"); } if (files[CHAT_LOG_WHISPER]) { OutTimestamp(files[CHAT_LOG_WHISPER]); fprintf(files[CHAT_LOG_WHISPER], "%s", "[SYSTEM] Whisper Log Initialized\n"); } if (files[CHAT_LOG_CHANNEL]) { OutTimestamp(files[CHAT_LOG_CHANNEL]); fprintf(files[CHAT_LOG_CHANNEL], "%s", "[SYSTEM] Chat Channels Log Initialized\n"); } if (files[CHAT_LOG_RAID]) { OutTimestamp(files[CHAT_LOG_RAID]); fprintf(files[CHAT_LOG_RAID], "%s", "[SYSTEM] Raid Party Chat Log Initialized\n"); } if (f_innormative) { OutTimestamp(f_innormative); fprintf(f_innormative, "%s", "[SYSTEM] Innormative Lexics Log Initialized\n"); } }
void ChatLog::WhisperMsg(Player *player, std::string &to, std::string &msg) { if (!_ChatCommon(CHAT_LOG_WHISPER, player, msg)) return; CheckDateSwitch(); std::string log_str = ""; log_str.append("["); log_str.append(player->GetName()); log_str.append("]->"); if (to.size() == 0) { log_str.append("[???] "); } else { normalizePlayerName(to); log_str.append("["); log_str.append(to); log_str.append("] "); } log_str.append(msg); log_str.append("\n"); if (screenflag[CHAT_LOG_WHISPER]) printf("%s", log_str.c_str()); if (files[CHAT_LOG_WHISPER]) { OutTimestamp(files[CHAT_LOG_WHISPER]); fprintf(files[CHAT_LOG_WHISPER], "%s", log_str.c_str()); fflush(files[CHAT_LOG_WHISPER]); } }
void ChatLog::ChatBadLexicsAction(Player* player, std::string& msg) { // logging std::string log_str = ""; log_str.append("["); log_str.append(player->GetName()); log_str.append("] "); log_str.append(msg); log_str.append("\n"); if (LexicsCutterScreenLog) printf("<INNORMATIVE!> %s", log_str.c_str()); if (f_innormative) { OutTimestamp(f_innormative); fprintf(f_innormative, "%s", log_str.c_str()); fflush(f_innormative); } // cutting innormative lexics if (LexicsCutterInnormativeCut) { msg = LexicsCutterCutReplacement; } if (!player || !player->GetSession()) return; if (LexicsCutterNoActionOnGM && player->GetSession()->GetSecurity()) return; switch (LexicsCutterAction) { case LEXICS_ACTION_SHEEP: { // sheep me, yeah, yeah, sheep me player->_AddAura(118, LexicsCutterActionDuration); } break; case LEXICS_ACTION_STUN: { // stunned surprised player->_AddAura(13005, LexicsCutterActionDuration); } break; case LEXICS_ACTION_DIE: { // oops, kicked the bucket player->DealDamage(player, player->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } break; case LEXICS_ACTION_DRAIN: { // living corpse :) player->DealDamage(player, player->GetHealth() - 5, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } break; case LEXICS_ACTION_SILENCE: { // glue the mouth time_t mutetime = time(NULL) + (int) (LexicsCutterActionDuration / 1000); player->GetSession()->m_muteTime = mutetime; } break; case LEXICS_ACTION_STUCK: { // yo, the Matrix has had you :) [by KAPATEJIb] player->_AddAura(23312, LexicsCutterActionDuration); } break; case LEXICS_ACTION_SICKNESS: { // for absence of censorship, there is punishment [by Koshei] player->_AddAura(15007, LexicsCutterActionDuration); } break; case LEXICS_ACTION_SHEAR: { // Lord Illidan to watch you [by Koshei] player->_AddAura(41032, LexicsCutterActionDuration); } break; default: // no action except logging break; } }
void ChatLog::BattleGroundMsg(Player *player, std::string &msg, uint32 type) { if (!_ChatCommon(CHAT_LOG_BATTLEGROUND, player, msg)) return; CheckDateSwitch(); std::string log_str = ""; log_str.append("["); log_str.append(player->GetName()); switch (type) { case CHAT_MSG_BATTLEGROUND: log_str.append("]->BG:"); break; case CHAT_MSG_BATTLEGROUND_LEADER: log_str.append("]->BG_LEADER:"); break; default: log_str.append("]->BG_UNKNOWN:"); break; } Group *group = player->GetGroup(); if (!group) { log_str.append("[unknown group] "); } else { // obtain group information log_str.append("["); ObjectGuid gm_leader_GUID = group->GetLeaderGuid(); Player *gm_member; gm_member = sObjectMgr.GetPlayer(gm_leader_GUID); if (gm_member) { log_str.append(gm_member->GetName()); log_str.append(","); } 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; gm_member = sObjectMgr.GetPlayer(itr->guid); if (gm_member) { log_str.append(itr->name); log_str.append(","); } } log_str.erase(log_str.length() - 1); log_str.append("] "); } log_str.append(msg); log_str.append("\n"); if (screenflag[CHAT_LOG_BATTLEGROUND]) printf("%s", log_str.c_str()); if (files[CHAT_LOG_BATTLEGROUND]) { OutTimestamp(files[CHAT_LOG_BATTLEGROUND]); fprintf(files[CHAT_LOG_BATTLEGROUND], "%s", log_str.c_str()); fflush(files[CHAT_LOG_BATTLEGROUND]); } }
void ChatLog::PartyMsg(Player *player, std::string &msg) { if (!_ChatCommon(CHAT_LOG_PARTY, player, msg)) return; CheckDateSwitch(); std::string log_str = ""; log_str.append("["); log_str.append(player->GetName()); log_str.append("]->GROUP:"); Group *group = player->GetGroup(); if (!group) { log_str.append("[unknown group] "); } else { // obtain group information log_str.append("["); ObjectGuid gm_leader_GUID = group->GetLeaderGuid(); Player *gm_member; gm_member = sObjectMgr.GetPlayer(gm_leader_GUID); if (gm_member) { log_str.append(gm_member->GetName()); log_str.append(","); } 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; gm_member = sObjectMgr.GetPlayer(itr->guid); if (gm_member) { log_str.append(itr->name); log_str.append(","); } } log_str.erase(log_str.length() - 1); log_str.append("] "); } log_str.append(msg); log_str.append("\n"); if (screenflag[CHAT_LOG_PARTY]) printf("%s", log_str.c_str()); if (files[CHAT_LOG_PARTY]) { OutTimestamp(files[CHAT_LOG_PARTY]); fprintf(files[CHAT_LOG_PARTY], "%s", log_str.c_str()); fflush(files[CHAT_LOG_PARTY]); } }