fix(CORE/Reputation): +Rep aura modify quest with override faction (#7887)
This commit is contained in:
@@ -5791,12 +5791,10 @@ void Player::RewardReputation(Quest const* quest)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
int32 rep = 0;
|
int32 rep = 0;
|
||||||
bool noQuestBonus = false;
|
|
||||||
|
|
||||||
if (quest->RewardFactionValueIdOverride[i])
|
if (quest->RewardFactionValueIdOverride[i])
|
||||||
{
|
{
|
||||||
rep = quest->RewardFactionValueIdOverride[i] / 100;
|
rep = quest->RewardFactionValueIdOverride[i] / 100;
|
||||||
noQuestBonus = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -5812,15 +5810,25 @@ void Player::RewardReputation(Quest const* quest)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (quest->IsDaily())
|
if (quest->IsDaily())
|
||||||
rep = CalculateReputationGain(REPUTATION_SOURCE_DAILY_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], noQuestBonus);
|
{
|
||||||
|
rep = CalculateReputationGain(REPUTATION_SOURCE_DAILY_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], false);
|
||||||
|
}
|
||||||
else if (quest->IsWeekly())
|
else if (quest->IsWeekly())
|
||||||
rep = CalculateReputationGain(REPUTATION_SOURCE_WEEKLY_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], noQuestBonus);
|
{
|
||||||
|
rep = CalculateReputationGain(REPUTATION_SOURCE_WEEKLY_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], false);
|
||||||
|
}
|
||||||
else if (quest->IsMonthly())
|
else if (quest->IsMonthly())
|
||||||
rep = CalculateReputationGain(REPUTATION_SOURCE_MONTHLY_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], noQuestBonus);
|
{
|
||||||
|
rep = CalculateReputationGain(REPUTATION_SOURCE_MONTHLY_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], false);
|
||||||
|
}
|
||||||
else if (quest->IsRepeatable())
|
else if (quest->IsRepeatable())
|
||||||
rep = CalculateReputationGain(REPUTATION_SOURCE_REPEATABLE_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], noQuestBonus);
|
{
|
||||||
|
rep = CalculateReputationGain(REPUTATION_SOURCE_REPEATABLE_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], false);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
rep = CalculateReputationGain(REPUTATION_SOURCE_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], noQuestBonus);
|
{
|
||||||
|
rep = CalculateReputationGain(REPUTATION_SOURCE_QUEST, GetQuestLevel(quest), rep, quest->RewardFactionId[i], false);
|
||||||
|
}
|
||||||
|
|
||||||
if (FactionEntry const* factionEntry = sFactionStore.LookupEntry(quest->RewardFactionId[i]))
|
if (FactionEntry const* factionEntry = sFactionStore.LookupEntry(quest->RewardFactionId[i]))
|
||||||
GetReputationMgr().ModifyReputation(factionEntry, rep);
|
GetReputationMgr().ModifyReputation(factionEntry, rep);
|
||||||
|
|||||||
Reference in New Issue
Block a user