mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[11656] For not first repeating quest avoid reward money as xp replacement.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
ba7ce1d7c3
commit
328a62f18f
2 changed files with 14 additions and 9 deletions
|
|
@ -13930,15 +13930,20 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver,
|
||||||
QuestStatusData& q_status = mQuestStatus[quest_id];
|
QuestStatusData& q_status = mQuestStatus[quest_id];
|
||||||
|
|
||||||
// Not give XP in case already completed once repeatable quest
|
// Not give XP in case already completed once repeatable quest
|
||||||
uint32 XP = q_status.m_rewarded ? 0 : uint32(pQuest->XPValue(this)*sWorld.getConfig(CONFIG_FLOAT_RATE_XP_QUEST));
|
uint32 xp = 0;
|
||||||
|
|
||||||
if (getLevel() < sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL))
|
// Not give XP (and money replacement) in case already completed once repeatable quest
|
||||||
GiveXP(XP , NULL);
|
if (!q_status.m_rewarded)
|
||||||
else
|
|
||||||
{
|
{
|
||||||
uint32 money = uint32(pQuest->GetRewMoneyMaxLevel() * sWorld.getConfig(CONFIG_FLOAT_RATE_DROP_MONEY));
|
xp = q_status.m_rewarded ? 0 : uint32(pQuest->XPValue(this)*sWorld.getConfig(CONFIG_FLOAT_RATE_XP_QUEST));
|
||||||
ModifyMoney( money );
|
if (getLevel() < sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL))
|
||||||
GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, money);
|
GiveXP(xp , NULL);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint32 money = uint32(pQuest->GetRewMoneyMaxLevel() * sWorld.getConfig(CONFIG_FLOAT_RATE_DROP_MONEY));
|
||||||
|
ModifyMoney(money);
|
||||||
|
GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, money);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Give player extra money if GetRewOrReqMoney > 0 and get ReqMoney if negative
|
// Give player extra money if GetRewOrReqMoney > 0 and get ReqMoney if negative
|
||||||
|
|
@ -13993,7 +13998,7 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver,
|
||||||
q_status.uState = QUEST_CHANGED;
|
q_status.uState = QUEST_CHANGED;
|
||||||
|
|
||||||
if (announce)
|
if (announce)
|
||||||
SendQuestReward(pQuest, XP, questGiver);
|
SendQuestReward(pQuest, xp, questGiver);
|
||||||
|
|
||||||
bool handled = false;
|
bool handled = false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "11655"
|
#define REVISION_NR "11656"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue