mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
fix(Scripts/Quest): reward money amount of Apprentice Angler (#6431)
Fixed #5184.
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1624095622339138000');
|
||||||
|
|
||||||
|
UPDATE `quest_template` SET `RewardMoney`=0 WHERE `id`=8194;
|
||||||
59
src/server/scripts/World/player_scripts.cpp
Normal file
59
src/server/scripts/World/player_scripts.cpp
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Player.h"
|
||||||
|
#include "ScriptMgr.h"
|
||||||
|
|
||||||
|
enum ApprenticeAnglerQuestEnum
|
||||||
|
{
|
||||||
|
QUEST_APPRENTICE_ANGLER = 8194
|
||||||
|
};
|
||||||
|
|
||||||
|
class QuestApprenticeAnglerPlayerScript : public PlayerScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QuestApprenticeAnglerPlayerScript() : PlayerScript("QuestApprenticeAnglerPlayerScript")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnPlayerCompleteQuest(Player* player, Quest const* quest) override
|
||||||
|
{
|
||||||
|
if (quest->GetQuestId() == QUEST_APPRENTICE_ANGLER)
|
||||||
|
{
|
||||||
|
uint32 level = player->getLevel();
|
||||||
|
int32 moneyRew = 0;
|
||||||
|
if (level <= 10)
|
||||||
|
moneyRew = 85;
|
||||||
|
else if (level <= 60)
|
||||||
|
moneyRew = 2300;
|
||||||
|
else if (level <= 69)
|
||||||
|
moneyRew = 9000;
|
||||||
|
else if (level <= 70)
|
||||||
|
moneyRew = 11200;
|
||||||
|
else if (level <= 79)
|
||||||
|
moneyRew = 12000;
|
||||||
|
else
|
||||||
|
moneyRew = 19000;
|
||||||
|
|
||||||
|
player->ModifyMoney(moneyRew);
|
||||||
|
player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, uint32(moneyRew));
|
||||||
|
player->SaveToDB(false, false);
|
||||||
|
|
||||||
|
// Send packet with money
|
||||||
|
WorldPacket data(SMSG_QUESTGIVER_QUEST_COMPLETE, (4 + 4 + 4 + 4 + 4));
|
||||||
|
data << uint32(quest->GetQuestId());
|
||||||
|
data << uint32(0);
|
||||||
|
data << uint32(moneyRew);
|
||||||
|
data << uint32(0);
|
||||||
|
data << uint32(0);
|
||||||
|
data << uint32(0);
|
||||||
|
player->SendDirectMessage(&data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void AddSC_player_scripts()
|
||||||
|
{
|
||||||
|
new QuestApprenticeAnglerPlayerScript();
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@ void AddSC_achievement_scripts();
|
|||||||
void AddSC_chat_log(); // location: scripts\World\chat_log.cpp
|
void AddSC_chat_log(); // location: scripts\World\chat_log.cpp
|
||||||
void AddSC_character_creation();
|
void AddSC_character_creation();
|
||||||
void AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
|
void AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
|
||||||
|
void AddSC_player_scripts();
|
||||||
|
|
||||||
// The name of this function should match:
|
// The name of this function should match:
|
||||||
// void Add${NameOfDirectory}Scripts()
|
// void Add${NameOfDirectory}Scripts()
|
||||||
@@ -37,4 +38,5 @@ void AddWorldScripts()
|
|||||||
AddSC_chat_log(); // location: scripts\World\chat_log.cpp
|
AddSC_chat_log(); // location: scripts\World\chat_log.cpp
|
||||||
AddSC_character_creation();
|
AddSC_character_creation();
|
||||||
AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
|
AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
|
||||||
|
AddSC_player_scripts();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user