From 1c8486e1a84c2d1ed4355d680418a3a2e73e37dd Mon Sep 17 00:00:00 2001 From: tkrokli Date: Fri, 3 Apr 2015 17:10:44 +0200 Subject: [PATCH] [Quest] Kodo Roundup by @pete318, closes #12811 Fixes the remaining bugs in the "Kodo Roundup" quest in Desolace: - removes combat status from creature 11627, Tamed Kodo - sets normal walking speed as the creature's follow speed - makes the Tamed Kodo stop at Scrabblescrew's Camp - enables quest objective count 0/5 -> 5/5, quest complete - SQL (by @tkrokli) links the missing gossip text in the DB --- sql/updates/world/2015_03_31_00_world.sql | 6 ++++++ src/server/scripts/Kalimdor/zone_desolace.cpp | 8 ++++++++ 2 files changed, 14 insertions(+) create mode 100644 sql/updates/world/2015_03_31_00_world.sql diff --git a/sql/updates/world/2015_03_31_00_world.sql b/sql/updates/world/2015_03_31_00_world.sql new file mode 100644 index 00000000000..e2f0d055e3b --- /dev/null +++ b/sql/updates/world/2015_03_31_00_world.sql @@ -0,0 +1,6 @@ +-- Fix for quest ID 5561, Kodo Roundup +-- Add the missing link between npc_text and gossip_menu_id : +DELETE FROM `gossip_menu` WHERE `entry`=3650 AND `text_id`=4449; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (3650, 4449); +-- Link the npc_text from gossip_menu: +UPDATE `creature_template` SET `gossip_menu_id`=3650 WHERE `entry`=11627; diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index d5ff4c45d09..bb17de4fd6a 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -88,12 +88,20 @@ public: DoCast(me, SPELL_KODO_KOMBO_DESPAWN_BUFF, true); me->UpdateEntry(NPC_TAMED_KODO); + me->CombatStop(); + me->DeleteThreatList(); + me->SetSpeed(MOVE_RUN, 0.6f, true); me->GetMotionMaster()->MoveFollow(caster, PET_FOLLOW_DIST, me->GetFollowAngle()); + me->setActive(true); } } else if (spell->Id == SPELL_KODO_KOMBO_GOSSIP) { me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation()); + me->GetMotionMaster()->Clear(); + me->GetMotionMaster()->MoveIdle(); + me->setActive(false); me->DespawnOrUnsummon(60000); } }