Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Mangos AmberGUI V7689 Death Knight Walkthrough with QUEST and TRAINER fixes.

Newbie Spellweaver
Joined
Dec 13, 2008
Messages
31
Reaction score
0
Death Knight Walkthrough for AmberGUI v7689.

This walkthrough is very version specific and most probably won't work completely with another AmberGUI version. Your character must have GM privileges unfortunately (needed for flying between Ebon Hold levels and the ground).

Get acquainted with the following commands:
".npc info" (to get npc details for quest starts and ends)
".gm fly on" (to get around until the portals are fixed).
".quest complete xxxxx" (where xxxxx is the quest id, and the objectives cannot be met)
".die" (kill macro)

THIS IS NOT AN OFFICIAL FIX FOR THE DK QUESTS. IT JUST ENABLES YOU TO PROCEED THROUGH THE DK QUESTS AND HAVE A FULLY OPERATIONAL DK CHARACTER AT THE END, WHILST THE OFFICIAL FIXES ARE MADE BY THE MANGOS DEVELOPMENT TEAM.

ANY SQL APPLIED SHOULD BE REMOVED PRIOR TO UPGRADING AMBERGUI 7689. (Instructions below).

An attempt has been made to complete all the required DK quests in a Blizzlike manner. Where fixes were needed, they have been implemented. But unfortunately, a lot of the quests cannot be completed normally due to complicated bugs, requiring the use of the QUEST COMPLETION command.

I have therefore included a few SQL fixes, commands etc, that at least fix some of the simple problems.

It is suggested that the following 2 sets of SQL fixes (For Quests and Trainers) be run prior to proceeding with the walkthrough.

The quests SQL set is merely a collection of all the seperate SQL queries used to fix the individual quests and the individual SQL fixes can be found attached to the relevant quest below (for those wishing to fix things themselves). The Trainers SQL set allows you to interact with the 3 trainers in EBON HOLD. Prior to upgrading v7689, run the 2 SQL sections that remove the changes and go back to the virgin v7689 UDB databases.

//----------------------------------------QUESTS FIX---------------------------------------------------

//SQL FOR QUESTS START - Apply to the mangos database --------------------
UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28557',`ReqCreatureOrGOId2`='28576' WHERE (`entry`='12678');
INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES ('28377','12701');
INSERT INTO `creature_involvedrelation` (`id`,`quest`) VALUES ('28377','12701');
UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28834' WHERE (`entry`='12701');
UPDATE `creature_template` SET `unit_flags`='32768',`dynamicflags`='0' WHERE (`entry`='28942');
UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28610',`ReqCreatureOrGOId2`='28942' WHERE (`entry`='12722');
UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12723') ;
UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12724');
UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12724');
INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES ('28913','12725');
INSERT INTO `creature_involvedrelation` (`id`,`quest`) VALUES ('28912','12725');
INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES ('28912','12727');
INSERT INTO `creature_involvedrelation` (`id`,`quest`) VALUES ('28913','12727');
UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12754');
UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12754');
UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12755');
UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12756');
UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12757');
UPDATE `creature_involvedrelation` SET `id`='31082' WHERE (`id`='29110') AND (`quest`='12800');
UPDATE `creature_questrelation` SET `id`='31082' WHERE (`id`='28444') AND (`quest`='12801');
UPDATE `creature_involvedrelation` SET `id`='29173' WHERE (`id`='28444') AND (`quest`='12801');
UPDATE `quest_template` SET `ReqCreatureOrGOId2`='31098' WHERE (`entry`='13166');
UPDATE `quest_template` SET `PrevQuestId`='13166' WHERE (`entry`='13189');
UPDATE `quest_template` SET `PrevQuestId`='13166' WHERE (`entry`='13188');
//SQL FOR QUESTS END ---------------------------

Note, the following SQL puts things back the way they were before we started screwing with it...lol.

//SQL TO REVERT QUESTS BACK TO AMBERGUI v7689 START --------------------
UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28763',`ReqCreatureOrGOId2`='28764' WHERE (`entry`='12678');
DELETE FROM `creature_questrelation` WHERE (`id`='28377') AND (`quest`='12701');
DELETE FROM `creature_involvedrelation` WHERE (`id`='28377') AND (`quest`='12701');
UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28849' WHERE (`entry`='12701');
UPDATE `creature_template` SET `unit_flags`='570721024',`dynamicflags`='32' WHERE (`entry`='28942');
UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28984',`ReqCreatureOrGOId2`='28986' WHERE (`entry`='12722');
UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12723');
UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12724');
UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12724');
DELETE FROM `creature_questrelation` WHERE (`id`='28913') AND (`quest`='12725');
DELETE FROM `creature_involvedrelation` WHERE (`id`='28912') AND (`quest`='12725');
DELETE FROM `creature_questrelation` WHERE (`id`='28912') AND (`quest`='12727');
DELETE FROM `creature_involvedrelation` WHERE (`id`='28913') AND (`quest`='12727');
UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12754');
UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12754');
UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12755');
UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12756');
UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12757');
UPDATE `creature_involvedrelation` SET `id`='29110' WHERE (`id`='31082') AND (`quest`='12800');
UPDATE `creature_questrelation` SET `id`='28444' WHERE (`id`='31082') AND (`quest`='12801');
UPDATE `creature_involvedrelation` SET `id`='28444' WHERE (`id`='29173') AND (`quest`='12801');
UPDATE `quest_template` SET `ReqCreatureOrGOId2`='31100' WHERE (`entry`='13166');
UPDATE `quest_template` SET `PrevQuestId`='0' WHERE (`entry`='13189');
UPDATE `quest_template` SET `PrevQuestId`='0' WHERE (`entry`='13188');
//SQL TO REVERT QUESTS BACK TO AMBERGUI v7689 END ---------------------------

//---------------------------------------TRAINERS FIX -------------------------------------------------------------
I have completed the DK trainers on the latest version of AmberGUI (V7689), with details from Thottbot for the spell IDs and the pricing.

The respective trainers in Ebon Hold are:
28471 - Lady Alistra - unholy trainer
28472 - Lord Thorval - blood trainer
28474 - Amal'thazad - frost trainer

There are currently no training entries in the UDB database for them, in the latest AmberGUI release (v.7689).
NOTE: I have also added the runeforging entries to ALL the three trainers mentioned above. The pricing for the abilities still needs to be confirmed if Blizzlike pricing required. I have used thottbot pricing, but they are not accurate. Feedback would be appreciated.

To enable the trainers in Ebon Hold, apply the SQL below to the UDB mangos database, (npc_trainer table):

//SQL Start-----------------
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','50842','5510','0','0','56');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','51426','60800','0','0','62');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','51427','65550','0','0','68');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','51428','342000','0','0','72');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','51429','342000','0','0','79');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','49896','57950','0','0','61');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49917','5510','0','0','60');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','49903','63650','0','0','67');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','49904','342000','0','0','73');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','49909','342000','0','0','78');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49918','61750','0','0','65');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49919','342000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49920','342000','0','0','75');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49921','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49892','56050','0','0','62');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49893','64600','0','0','68');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49894','342000','0','0','76');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49895','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','51376','342000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','51378','342000','0','0','75');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','51379','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','46584','5341','0','0','56');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49998','5341','0','0','56');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49999','61750','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','45463','59850','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49923','342000','0','0','76');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49924','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','47528','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','48263','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','48721','5510','0','0','58');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49939','62700','0','0','66');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49940','342000','0','0','72');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49941','342000','0','0','78');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','45524','5510','0','0','58');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','47476','5605','0','0','59');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','43265','5700','0','0','60');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49936','64600','0','0','67');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49937','342000','0','0','73');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','49938','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','49020','57950','0','0','61');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51423','63650','0','0','67');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51424','342000','0','0','73');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51425','342000','0','0','79');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','48792','58900','0','0','62');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','45529','60800','0','0','64');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','48743','62700','0','0','66');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','48707','64600','0','0','68');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','48265','342000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','47568','342000','0','0','75');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','42650','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','49142','5500','0','0','55');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','3714','57950','0','0','61');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','57532','69000','0','0','69');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','56816','63650','0','0','67');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49930','342000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49926','5605','0','0','59');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49927','60800','0','0','64');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49928','65550','0','0','69');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','49929','342000','0','0','74');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','57330','61750','0','0','65');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','57623','342000','0','0','75');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','61999','342000','0','0','72');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','56222','61750','0','0','65');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51418','171000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51419','171000','0','0','75');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','55268','171000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51409','31820','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51410','171000','0','0','75');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','51411','171000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','55258','56050','0','0','59');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','55259','30400','0','0','64');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','55260','32780','0','0','69');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','55261','171000','0','0','74');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','55262','171000','0','0','80');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','53331','5700','0','0','60');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','53331','5700','0','0','60');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','53331','5700','0','0','60');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','54447','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','54447','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','54447','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','53342','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','53342','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','53342','5415','0','0','57');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','54446','64600','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','54446','64600','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','54446','64600','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','53323','59850','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','53323','59850','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','53323','59850','0','0','63');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','53344','342000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','53344','342000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','53344','342000','0','0','70');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28471','62158','342000','0','0','72');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28472','62158','342000','0','0','72');
insert into `npc_trainer` (`entry`, `spell`, `spellcost`, `reqskill`, `reqskillvalue`, `reqlevel`) values('28474','62158','342000','0','0','72');
//SQL End-----------------

---------------
I have tested it on UDB, (after completing all the DK quests) and whilst I haven't checked all entries personally, the ones I have checked work, including the Runeforging for Lichbane. All three trainers (blood, unholy and frost) appear to work correctly. I have allocated the spells to the respective trainers.

I suggest that the entries be deleted prior to upgrading AmberGUI. Just in case they are properly done in a subsequent AmberGUI release.

To delete, execute the following SQL against the npc_trainer table in the mangos database.

//SQL Start-----------------
delete from `npc_trainer` where (`entry` = '28471');
delete from `npc_trainer` where (`entry` = '28472');
delete from `npc_trainer` where (`entry` = '28474');
//SQL End-----------------

//=====================================================================



Please note, that this DK run process only needs to be completed twice on each realm (once for alliance, once for horde).
Once a completed DK character is available on a realm, it can be copied

So here are the quests (with respective quest IDs - Qxxxxx).
Note [xT] prefixes to quest titles denote number of talents obtained from quest - e.g. ([2T] = 2 Talent points):
Quests marked OK are working properly.
SQL entries mentioned in quests (SQL and REVERT entries) can be ignored if the 2 SQL patches mentioned above have already been applied. They are just mentioned in the quests for information purposes and to allow users to do their own investigations.



01. In Service Of the Lich King (Q12593) [Start]
- OK

02. The Emblazoned Runeblade (Q12619) [Get Rune Weapon]
- OK

03. Runeforging: Preparation For Battle (Q12842) [Learn Runeforging]
- OK

04. The Endless Hunger (Q12848) [Learn to fight using DK skills]
- Quest bugged: Cannot free initiate with soul prison key. Cannot complete quest objectives.
- Solution: Force quest completion - by selecting own character and typing
".quest complete 12848"

05. The Eye Of Acherus (Q12636) [Speak to King]
- OK

06. Death Comes From On High (Q12641) [Observe Battlefield]
- Quest bugged: The Eye mechanics do not work properly. Cannot complete quest objectives.
- Solution: Force quest completion - by typing ".quest complete 12641".

07. The Might Of The Scourge (Q12657) [Go to lower level of Ebon Hold]
- Appears that transporter system works here, but not later!!!
- If transporter bugged, use fly mode. (type ".gm fly on").

08. Report To Scourge Commander Thalanor (Q12850) [Speak to gryphon master]
- OK

09. The Scarlet Harvest (Q12670) [Ride gryphon down to battlefield]
- Quest bugged: The gryphon cannot be used for transportation.
- Solution: force flight: ".gm fly on" and fly down to complete quest

10. [1T] If Chaos Drives, Let Suffering Hold The Reins (Q12678) [First Kill Quest]
- Quest bugged: Kills not registered with objectives.
- Solution:
Male scarlet peasants and male citizens register kills.
SQL : UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28557',`ReqCreatureOrGOId2`='28576' WHERE (`entry`='12678')
REVERT: UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28763',`ReqCreatureOrGOId2`='28764' WHERE (`entry`='12678')

11. [1T] Grand Theft Palomino (Q12680) [Steal Horses]
- Quest bugged: Cannot steal horse. Cannot complete quest objectives.
- Solution: Force quest completion - by typing ".quest complete 12680".

12. [1T] Tonight We Dine In Havenshire (Q12679) [Collect Arrows]
- OK

13. [1T] Death's Challenge (Q12733) [Dueling]
- Quest Bugged: Unable to challenge other DKs. Cannot complete quest
- Solution: Force quest completion - by typing ".quest complete 12733".

14. [2T] Into The Realm Of Shadows (Q12687) [Fight Dark Rider for Mount]
- Awards: (Mount) Deathcharger, Relic
- Quest bugged: Not transported to Shadow Realm. Cannot complete quest
- Solution: Force quest completion - by typing ".quest complete 12687".

15. Gothik The Harvester (Q12697) [Find Gothik]
- OK

16. [1T] The Gift That Keeps On Giving (Q12698) [First Trinket]
- Quest Bugged: Object does not work. Cannot complete quest
- Solution: Force quest completion - by typing ".quest complete 12698".

17. An Attack Of Opportunity (Q12700) [Find Valanaar]
- OK

18. [1T] Massacre At Light's Point (Q12701) [First Cannon quest]
- Quest Bugged: Mine Car and cannons do not work. Quest start and end points missing. Kills not recorded. Cannot complete quest objectives
- Solutions
- Fixed start point.
SQL: INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES ('28377','12701')
NO REVERT REQ.
- Fixed end point.
SQL: INSERT INTO `creature_involvedrelation` (`id`,`quest`) VALUES ('28377','12701')
NO REVERT REQ.
- Kills Recorded - this will allow you to get kills recorded for normal kills (I use ".die" as a kill macro)
SQL : UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28834' WHERE (`entry`='12701')
REVERT: UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28849' WHERE (`entry`='12701')
- To Force quest completion - ".quest complete 12701"

19. [3T] Victory At Death's Breach (Q12706) [Report to Mograine]
- Quest Bugged: The gryphon transport does not work.
- Solution: force flight: ".gm fly on" and fly up to complete quest

20. The Power Of Blood, Frost And Unholy.(Q12849) [Speak To Trainers]
- Get quest from Thorval, trainer in Ebon Hold. Free XP. Visit all 3 trainers.

21. The Will Of The Lich King (Q12714) [Down To Valanaar]
- Quest bugged: The gryphons cannot be used for transportation.
- Solution: force flight: ".gm fly on" and fly down to complete quest

22. The Crypt Of Remembrance (Q12715) [Go To Crypt]
- OK

23. [2T] The Plaguebringers Request (Q12716) [Collect 3 items for brew]
- OK

24. Noth's Special Brew (Q12717) [Get brew - Bring Skulls!]
- OK

25. More Skulls For Brew (Q12718) [Get More Brew - Bring more skulls]
- OK

26. [2T] Nowhere To Run, Nowhere To Hide (Q12719) [Kill Mayor]
- OK

27. [2T] Lambs To The Slaughter (Q12722) [Kill Soldiers and Citizens]
- Quest bugged: Used to work in UDB 370, no longer works properly
- Solution:
- Made male citizens attackable. Previously citizens would be immune to DK attack.
- SQL : UPDATE `creature_template` SET `unit_flags`='32768',`dynamicflags`='0' WHERE (`entry`='28942')
- REVERT: UPDATE `creature_template` SET `unit_flags`='570721024',`dynamicflags`='32' WHERE (`entry`='28942')
- Registers Scarlet Marksmen and Male Citizens as kills.
- SQL : UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28610',`ReqCreatureOrGOId2`='28942' WHERE (`entry`='12722')
- REVERT: UPDATE `quest_template` SET `ReqCreatureOrGOId1`='28984',`ReqCreatureOrGOId2`='28986' WHERE (`entry`='12722')
- Force quest completion: ".quest complete 12722"

28. [2T] How To Win Friends And Influence Enemies (Q12720) [The Persuaders and their use]
- Quest bugged: Pursuaders don't work.
- Solution: Force quest completion - by typing ".quest complete 12720".

29. Behind Scarlet Lines (Q12723) [Go To Tavern]
- Fixed.
- Problem: Quest end point was unavailable.
- Solution:
- Fixed Quest end character
- SQL : UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12723')
- REVERT: UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12723')

30. [2T] The Path Of The Righteous Crusader (Q12724) [Go To Hold - Get Book]
- Fixed.
- Problem: Quest start and end characters were wrong.
- Solution:
- Fixed Quest start character
- SQL : UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12724')
- REVERT: UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12724')
- Fixed Quest end character
- SQL : UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12724')
- REVERT: UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12724')

31. [1T] Brothers In Death (Q12725) [Get Prisoner]
- Fixed.
- Problem: Quest start and end characters were missing.
- Solution:
- Fixed Quest start character
- SQL : INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES ('28913','12725')
- REVERT:
- Fixed Quest end character
- SQL : INSERT INTO `creature_involvedrelation` (`id`,`quest`) VALUES ('28912','12725')
- REVERT:

32. [2T] Bloody Breakout (Q12727) [Save Prisoner]
- Quest Bugged: Quest start and end characters were missing. Main fight character does not spawn, cannot complete quest.
- Solution:
- Fixed Quest start character
- SQL : INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES ('28912','12727')
- REVERT:
- Fixed Quest end character
- SQL : INSERT INTO `creature_involvedrelation` (`id`,`quest`) VALUES ('28913','12727')
- REVERT:
- Force quest completion - by typing ".quest complete 12727".

33. A Cry For Vengeance (Q12738) [Go To Prisoner Commander]
- OK

34. [1T] A Special Surprise (Q12739,..42-50) [Kill Prisoner]
- Quest bugged: Cannot kill prisoner normally.
- Solution
- Autokill: Type ".die" whilst prisoner selected.
OR...
- Force quest completion - by typing ".quest complete 12739".
- Complete quest.

35. [2T] A Sort Of Homecoming (Q12751) [Return To Tavern]
- OK

36. [1T] Ambush At The Overlook (Q12754) [Ambush Courier]
- Quest bugged: Start and end points missing. Disguise works but courier does not appear, therefore cannot finish quest.
- Solution:
- Fixed Quest start character
- SQL : UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12754')
- REVERT: UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12754')
- Fixed Quest end character
- SQL : UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12754')
- REVERT: UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12754')
- Force quest completion - by typing ".quest complete 12754".
- Complete quest.

37. [2T] A Meeting With Fate (Q12755) [Courier Delivery Disguised as scarlet]
- Quest Fixed.
Bugged: Quest start was missing.
- Solution:
- Fixed Quest start character
- SQL : UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12755')
- REVERT: UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12755')


38. [1T] The Scarlet Onslaught Emerges (Q12756) [As Scarlet Courier, Steal Message, Report To Scourge Commander]
- Quest Fixed.
Bugged: Quest end was missing.
- Solution:
- Fixed Quest end character
- SQL : UPDATE `creature_involvedrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12756')
- REVERT: UPDATE `creature_involvedrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12756')


39. [3T] Scarlet Armies Approach (Q12757) [Portal To Ebon Hold]
- Quest Bugged: Quest start character was wrong. Portal to Ebon Hold not spawned.
- Solution:
- Fixed Quest start character
- SQL : UPDATE `creature_questrelation` SET `id`='28914' WHERE (`id`='26926') AND (`quest`='12757')
- REVERT: UPDATE `creature_questrelation` SET `id`='26926' WHERE (`id`='28914') AND (`quest`='12757')
- Fly to Ebon Hold: ".gm fly on"


40. The Scarlet Apocalypse (Q12778) [Fly down to meet king at bottom]
- Quest bugged: Cannot use transport
- Solution:
- Fly down to Lich King: ".gm fly on"
- Note, that the Lich King is actually hiding under the "pulpit" if he is not available. Its possible to get to see him if you
log off and back in again at this point.

41. [6T] An End To All Things (Q12779) [Bombing Quest]
- Quest is bugged: Cannot spawn the Vanquisher, cannot complete quest.
- Solution:
- Force quest completion - by typing ".quest complete 12779".

42. The Lich King's Command (Q12800) [Go To Browman Mill]
- Quest is bugged: The required end NPCs are not spawned, the start and end NPCs are not configured.
- Solution:
- Fixed Quest end character
- SQL : UPDATE `creature_involvedrelation` SET `id`='31082' WHERE (`id`='29110') AND (`quest`='12800')
- REVERT: UPDATE `creature_involvedrelation` SET `id`='29110' WHERE (`id`='31082') AND (`quest`='12800')
- Spawn the end NPC (Scourge Commander Thalanor) at Browman Mill. - ".npc add 31082"
- Complete the quest.

43. [6T] The Light Of Dawn (Q12801) [Major Battle]
- Awards: Get the Deathgate portal spell and cool weapon.
- This quest needs to be completed in a specific order to complete successfully.
1. Accept the quest from Thalanor.
2. Delete the Thalanor NPC spawned in previous quest ( select npc and type ".npc delete").
Deletion ensures that the NPC does not interfere with normal gameplay.
3. Spawn the Mograine NPC (type ".npc add 29173") near the Lights Hope Chapel .
3. Autocomplete the quest (Type ".quest complete 12801" )
4. Hand the quest in.

- Quest is bugged:
- Major battle does not happen.
- End character not spawned.
- Quest start and end not correct.
- Solutions:
- Fixed Quest start character
- SQL : UPDATE `creature_questrelation` SET `id`='31082' WHERE (`id`='28444') AND (`quest`='12801')
- REVERT: UPDATE `creature_questrelation` SET `id`='28444' WHERE (`id`='31082') AND (`quest`='12801')
- Fixed Quest end character
- SQL : UPDATE `creature_involvedrelation` SET `id`='29173' WHERE (`id`='28444') AND (`quest`='12801')
- REVERT: UPDATE `creature_involvedrelation` SET `id`='28444' WHERE (`id`='29173') AND (`quest`='12801')
- Spawn End NPC - ".npc add 29173"
- Complete quest: ".quest complete 12801"

44. Taking Back Acherus (Q13165) [Back to Ebon Hold]
- Complete in following order:
- 1. Accept quest.
- 2. Delete quest giver (".npc delete" whilst having npc selected) (To keep things as they were previously, if a reversion is required)
- 3. Open Deathgate to Ebon Hold, and use portal.
- 4. Once in Ebon Hold, STAY AWAY FROM THE EBON HOLD PORTAL (pink light) - use fly mode ".gm fly on" to move between the floors.
If you use the "pink light portal",things may go out of phase and later quests are unavailable.
- 5. Hand quest in to Mograine.


45. The Battle For The Ebon Hold (Q13166) [Ebon Hold Fight]
- Quest is bugged: Scourge kills were not being marked, portal not working.
- NB - DO NOT USE THE PORTAL to get between floors (YET!). It screws up the phasing and last quest may then be unavailable.
I tried it before and had to delete the 4 previous quests and start again before the phasing was right again.
To get between floors, use fly-mode (".gm fly on")
- To complete, travel to the upper floor, complete quest, come back down to lower level, complete it and start final quest.
- Solutions:
- Fixed Creature kills score
- SQL : UPDATE `quest_template` SET `ReqCreatureOrGOId2`='31098' WHERE (`entry`='13166')
- REVERT: UPDATE `quest_template` SET `ReqCreatureOrGOId2`='31100' WHERE (`entry`='13166')
- Made last quests dependent on this one.
- SQL : UPDATE `quest_template` SET `PrevQuestId`='13166' WHERE (`entry`='13189')
UPDATE `quest_template` SET `PrevQuestId`='13166' WHERE (`entry`='13188')
- REVERT: UPDATE `quest_template` SET `PrevQuestId`='0' WHERE (`entry`='13189')
UPDATE `quest_template` SET `PrevQuestId`='0' WHERE (`entry`='13188')


46. Warchief's Blessing (Horde) (Q13189) [Visit Horde Leader]
or
Where Kings Walk (Alliance) (Q13188) [Visit Alliance Leader]

- Quests are bugged: Cannot interact with leaders to complete quest.
- Go to the respective end leader, depending on whether alliance or horde.
- If horde, select own character and type ".unaura 58551".
- If alliance, select own character and type ".unaura 58530".
- You will then be able to complete the quests.
- Look for innkeeper and mark inn as home.
- Portal back to Ebon Hold and visit trainers.
- Possible to fly from Ebon hold using flight master on bottom floor. Try the floor portals, they may be working...lol..


And.... If anyone has any pointers.....please send them.
 
Newbie Spellweaver
Joined
Apr 10, 2006
Messages
34
Reaction score
0
Man, nice work.

I think a lot of DK initial quests are so freaking bugged, that way, its better not to allow players to use this class yet. Cause you need GM permissions to develop the class and aquire the talent points from quests.

Its too frustrating and should be better in the future, when it all should be properly scripted and DB corrected.

But, anyways, your guide is quite good....
 
Newbie Spellweaver
Joined
Dec 13, 2008
Messages
31
Reaction score
0
Man, nice work.

I think a lot of DK initial quests are so freaking bugged, that way, its better not to allow players to use this class yet. Cause you need GM permissions to develop the class and aquire the talent points from quests.

Its too frustrating and should be better in the future, when it all should be properly scripted and DB corrected.

But, anyways, your guide is quite good....

Thanks for the feedback......

I was thinking, that the solution, as you put it, is not viable for a public server.

However, what if we give DKs a flying mount at the start (or get the portals working!), and get the buggy quests to autocomplete themselves (I have checked the UDB format, and there is a field to force autocompletion), then at least there would be some continuity and the DKs could be used on public servers.

As the quests were being fixed, we could remove the autocompletion.

Your thoughts..
 
Newbie Spellweaver
Joined
Apr 7, 2008
Messages
15
Reaction score
0
Nicely done. :p

I have used this now and I've added autocompletion to the quests that can't be fixed as yet.

Now to come up with a way to get portals working or something similar. Is it possible to create a new couple of NPCs that can transport players between the levels / ground?
 
Newbie Spellweaver
Joined
Dec 13, 2008
Messages
31
Reaction score
0
Nicely done. :p

I have used this now and I've added autocompletion to the quests that can't be fixed as yet.

Now to come up with a way to get portals working or something similar. Is it possible to create a new couple of NPCs that can transport players between the levels / ground?

My thoughts exactly....or give the players a flying mount, and take it away after the last quest. Or giving them "hearthstones".

--ADDITION -------

I have checked it out, and it is possible, to create quest start scripts which teleport players to specific locations. So after accepting the quest, 5 secs later, the player is teleported to the next location.

Gonna work on that.....then at least we have a viable public server solution.

I need to do my real-life accounts.... but if anyone is interested in doing this... check out
 
Last edited:
Newbie Spellweaver
Joined
Dec 13, 2008
Messages
31
Reaction score
0
The strange thing is that the portals between the 2 Ebon Hold levels work both ways, at about the time one accepts quest 44 or 45 (that's why you have to stay away from the portal). Its just that when you go to the upper level, to kill the mobs, the mobs for the quest are gone, as it appears you have moved to the next phase.

Such a pity!!
 
Newbie Spellweaver
Joined
Apr 7, 2008
Messages
15
Reaction score
0
hmm..strange. I'll look into the teleporting NPCs when i get some spare time sometime next week. :p
If I get this working it'll please a few people on my server to no end
 
Newbie Spellweaver
Joined
Dec 13, 2008
Messages
31
Reaction score
0
hmm..strange. I'll look into the teleporting NPCs when i get some spare time sometime next week. :p
If I get this working it'll please a few people on my server to no end

I'll check out the start scripts solution, one way or another, we appear to have the possibility of 2 viable solutions.
 
Newbie Spellweaver
Joined
Dec 12, 2007
Messages
6
Reaction score
0
Thx 4 sharing.
ninofarino - AmberGUI V7689 Death Knight Walkthrough with QUEST and TRAINER fixes. - RaGEZONE Forums

ninofarino - AmberGUI V7689 Death Knight Walkthrough with QUEST and TRAINER fixes. - RaGEZONE Forums
 
Last edited:
Newbie Spellweaver
Joined
Apr 21, 2009
Messages
6
Reaction score
0
also for a quick fix put lvl reqs on the quest gear for DK and also make custom quests for gaining extra talents so that everytime they level they can return to ebon by using the unstuck feature and complete an instant quest for gear and the tp wthout having to need gm powers to fly around or .quest complete... good walkthrough though :D
 
Newbie Spellweaver
Joined
Dec 13, 2008
Messages
31
Reaction score
0
Thanks for the feedback... I guess that I was just trying to debug the DK quests... ANyways, you are right that GM rights are required, so it may be best to leave it to later, more refined bug fixing efforts.
 
Back
Top