[7682] Implement support ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT Author: Trazom
--HG-- branch : trunk
This commit is contained in:
@@ -943,6 +943,14 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||||||
if(miscvalue1 != achievementCriteria->use_gameobject.goEntry)
|
if(miscvalue1 != achievementCriteria->use_gameobject.goEntry)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE);
|
||||||
|
break;
|
||||||
|
case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT:
|
||||||
|
if (!miscvalue1)
|
||||||
|
continue;
|
||||||
|
if (miscvalue1 != achievementCriteria->fish_in_gameobject.goEntry)
|
||||||
|
continue;
|
||||||
|
|
||||||
SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE);
|
SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE);
|
||||||
break;
|
break;
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS:
|
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS:
|
||||||
@@ -1031,7 +1039,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||||||
case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS:
|
case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS:
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS:
|
case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS:
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL:
|
case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL:
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT:
|
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
|
case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL:
|
case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL:
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE:
|
case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE:
|
||||||
@@ -1168,6 +1175,8 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve
|
|||||||
return progress->counter >= achievementCriteria->equip_item.count;
|
return progress->counter >= achievementCriteria->equip_item.count;
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD:
|
case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD:
|
||||||
return progress->counter >= achievementCriteria->quest_reward_money.goldInCopper;
|
return progress->counter >= achievementCriteria->quest_reward_money.goldInCopper;
|
||||||
|
case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT:
|
||||||
|
return progress->counter >= achievementCriteria->fish_in_gameobject.lootCount;
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY:
|
case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY:
|
||||||
return progress->counter >= achievementCriteria->loot_money.goldInCopper;
|
return progress->counter >= achievementCriteria->loot_money.goldInCopper;
|
||||||
case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT:
|
case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT:
|
||||||
|
|||||||
@@ -1101,6 +1101,7 @@ void GameObject::Use(Unit* user)
|
|||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
player->SendLoot(ok->GetGUID(),LOOT_FISHINGHOLE);
|
player->SendLoot(ok->GetGUID(),LOOT_FISHINGHOLE);
|
||||||
|
player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT, ok->GetGOInfo()->id);
|
||||||
SetLootState(GO_JUST_DEACTIVATED);
|
SetLootState(GO_JUST_DEACTIVATED);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user