aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2011-09-04 23:44:01 +0100
committerNay <dnpd.dd@gmail.com>2011-09-04 23:44:01 +0100
commitdca0e737deadddc97eca775937058c5cbdb45527 (patch)
tree7f724c534c35fb4bf337497cfe67613fc7b75205 /src/server/game/Entities
parentbbde479f4aab7473373471f7cb5c266e5d31d1f0 (diff)
Core/Quests: Fix quests with RepObjective2 set. Closes #2901.
Misc: Correct a file name, move a spell error to error log and a small typo in trinity_string
Diffstat (limited to 'src/server/game/Entities')
-rwxr-xr-xsrc/server/game/Entities/Creature/GossipDef.cpp2
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp14
2 files changed, 11 insertions, 5 deletions
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp
index e17f8163bff..0d91b476fdd 100755
--- a/src/server/game/Entities/Creature/GossipDef.cpp
+++ b/src/server/game/Entities/Creature/GossipDef.cpp
@@ -441,7 +441,7 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
data << uint32(quest->GetRepObjectiveFaction()); // shown in quest log as part of quest objective
data << uint32(quest->GetRepObjectiveValue()); // shown in quest log as part of quest objective
- data << uint32(quest->GetRepObjectiveFaction2()); // shown in quest log as part of quest objective OPOSITE faction
+ data << uint32(quest->GetRepObjectiveFaction2()); // shown in quest log as part of quest objective OPPOSITE faction
data << uint32(quest->GetRepObjectiveValue2()); // shown in quest log as part of quest objective OPPOSITE faction
data << uint32(quest->GetNextQuestInChain()); // client will request this quest from NPC, if not 0
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 7052615e9c1..e0adb99bc37 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -14630,10 +14630,6 @@ bool Player::CanCompleteQuest(uint32 quest_id)
if (repFacId && GetReputationMgr().GetReputation(repFacId) < qInfo->GetRepObjectiveValue())
return false;
- uint32 repFacId2 = qInfo->GetRepObjectiveFaction2();
- if (repFacId2 && GetReputationMgr().GetReputation(repFacId2) < qInfo->GetRepObjectiveValue2())
- return false;
-
return true;
}
}
@@ -15266,6 +15262,16 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg)
SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ);
return false;
}
+
+ // ReputationObjective2 does not seem to be an objective requirement but a requirement
+ // to be able to accept the quest
+ uint32 fIdObj = qInfo->GetRepObjectiveFaction2();
+ if (fIdObj && GetReputationMgr().GetReputation(fIdObj) >= qInfo->GetRepObjectiveValue2())
+ {
+ if (msg)
+ SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ);
+ return false;
+ }
return true;
}