Ejemplo n.º 1
0
    static bool HandleAchievementCriteriaCommand(ChatHandler* handler, char const* args)
    {
        if (!*args)
            return false;

        char* ctype = strtok((char*)args, " ");
        uint32 type = ctype ? atoi(ctype) : 0;
        uint64 val1 = 0;
        uint64 val2 = 0;
        uint64 val3 = 0;

        ctype = strtok(NULL, " ");
        if (ctype)
            val1 = atoi(ctype);

        ctype = strtok(NULL, " ");
        if (ctype)
            val2 = atoi(ctype);

        ctype = strtok(NULL, " ");
        if (ctype)
            val3 = atoi(ctype);

        Player* target = handler->getSelectedPlayer();
        if (!target)
        {
            handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
            handler->SetSentErrorMessage(true);
            return false;
        }

        target->UpdateAchievementCriteria(AchievementCriteriaTypes(type), val1, val2, val3, target->GetSelectedUnit());
        return true;
    }
Ejemplo n.º 2
0
/**
 * called at player login. The player might have fulfilled some achievements when the achievement system wasn't working yet
 */
void AchievementMgr::CheckAllAchievementCriteria()
{
    // suppress sending packets
    for (uint32 i=0; i<ACHIEVEMENT_CRITERIA_TYPE_TOTAL; ++i)
        UpdateAchievementCriteria(AchievementCriteriaTypes(i), _player);
}
void GuildAchievementMgr::CheckAllAchievementCriteria()
{
    // suppress sending packets
    for (uint32 i = 0; i < ACHIEVEMENT_CRITERIA_TYPE_TOTAL; ++i)
        UpdateAchievementCriteria(AchievementCriteriaTypes(i), NULL); // ToDO: Fix this
}