From e33a56d89b25064af896427e678529a15565eb6e Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sun, 18 Aug 2024 11:41:18 +0200 Subject: [PATCH] fix(Core/Creature): Nullcheck for questgreeting greeting (#19669) * fix(Core/Creature): Nullcheck for questgreeting greeting * closes https://github.com/azerothcore/azerothcore-wotlk/issues/19659 * Update GossipDef.cpp --- src/server/game/Entities/Creature/GossipDef.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index d85dbdfdb..0ec2ffa35 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -319,10 +319,16 @@ void PlayerMenu::SendQuestGiverQuestList(QEmote const& eEmote, std::string const if (QuestGreeting const* questGreeting = sObjectMgr->GetQuestGreeting(guid.GetTypeId(), guid.GetEntry())) { - LocaleConstant locale = _session->GetSessionDbLocaleIndex(); - std::string strGreeting = questGreeting->Greeting[DEFAULT_LOCALE]; - if (questGreeting->Greeting.size() > size_t(locale) && !questGreeting->Greeting.empty()) - strGreeting = questGreeting->Greeting[locale]; + std::string strGreeting; + // Check if greeting exists. Blizzlike that some creatures have empty greeting + if (!questGreeting->Greeting.empty()) + { + LocaleConstant locale = _session->GetSessionDbLocaleIndex(); + if (questGreeting->Greeting.size() > size_t(locale)) + strGreeting = questGreeting->Greeting[locale]; + else + strGreeting = questGreeting->Greeting[DEFAULT_LOCALE]; + } data << strGreeting; data << uint32(questGreeting->EmoteDelay);