From 53b3eafe9cc396d740bc30290a5c6a0fd12642d2 Mon Sep 17 00:00:00 2001 From: Stoabrogga <38475780+Stoabrogga@users.noreply.github.com> Date: Sat, 18 May 2019 23:08:09 +0200 Subject: [PATCH] fix(DB/Core): Emotes / reaction during quest "The Taste Test" (#1795) - Just a small adjustment to the core script handling the reaction of the NPCs during the quest --- .../rev_1556980489509436556.sql | 3 ++ .../scripts/Northrend/zone_sholazar_basin.cpp | 30 ++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1556980489509436556.sql diff --git a/data/sql/updates/pending_db_world/rev_1556980489509436556.sql b/data/sql/updates/pending_db_world/rev_1556980489509436556.sql new file mode 100644 index 000000000..9cd63675d --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1556980489509436556.sql @@ -0,0 +1,3 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1556980489509436556'); + +UPDATE `creature_text` SET `Emote` = 92 WHERE `GroupID` = 1 AND `CreatureID` IN (27986,28047,28568); diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp index 29107f999..1e1905fac 100644 --- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp +++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp @@ -852,10 +852,15 @@ public: ## npc_jungle_punch_target #####*/ -#define SAY_OFFER "Care to try Grimbooze Thunderbrew's new jungle punch?" - enum JunglePunch { + SAY_OFFER = 28558, + ITEM_TANKARD = 2705, + + NPC_HEMET = 27986, + NPC_HADRIUS = 28047, + + SPELL_KNOCKDOWN = 42963, SPELL_OFFER = 51962, QUEST_TASTE_TEST = 12645, @@ -977,8 +982,25 @@ public: if (sayTimer < diff) { + if (sayStep == 2) + { + me->SetSheath(SHEATH_STATE_MELEE); + SetEquipmentSlots(false, ITEM_TANKARD, EQUIP_UNEQUIP, EQUIP_UNEQUIP); + } + else if (sayStep == 3) + { + if (me->GetEntry() == NPC_HEMET) + me->SetSheath(SHEATH_STATE_RANGED); + else if (me->GetEntry() == NPC_HADRIUS) + { + me->SetSheath(SHEATH_STATE_UNARMED); + me->CastSpell(me,SPELL_KNOCKDOWN,false); + } + SetEquipmentSlots(true); + } + Talk(SAY_HEMET_HADRIUS_TAMARA_1 + sayStep - 1); - sayTimer = 3000; + sayTimer = 6000; sayStep++; if (sayStep > 3) // end @@ -1014,7 +1036,7 @@ public: continue; player->KilledMonsterCredit(me->GetEntry(), 0); - player->Say(SAY_OFFER, LANG_UNIVERSAL); + player->MonsterSay(SAY_OFFER, LANG_UNIVERSAL, me); sayStep = 1; break; }