Exemplo n.º 1
0
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]);
    }
}
Exemplo n.º 2
0
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]);
    }
}
Exemplo n.º 3
0
// 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;
	}
}
Exemplo n.º 4
0
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]);
    }
}
Exemplo n.º 5
0
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");
    }
}
Exemplo n.º 6
0
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]);
    }
}
Exemplo n.º 7
0
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;
    }
}
Exemplo n.º 8
0
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]);
    }
}
Exemplo n.º 9
0
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]);
    }
}