diff --git a/sql/world/base/naxx40.sql b/sql/world/base/naxx40.sql index ce8f137..276386e 100644 --- a/sql/world/base/naxx40.sql +++ b/sql/world/base/naxx40.sql @@ -197,3 +197,34 @@ INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `position_x`, `posit (@GUID + 137, 181287, 533, 4, 2481.82, -2895.29, 244.105, 5.44543, 0, 0, -0.406736, 0.913545, 604800, 100, 1), (@GUID + 138, 181287, 533, 4, 2465.86, -2911.24, 244.093, 5.63741, 0, 0, -0.317305, 0.948324, 604800, 100, 1), (@GUID + 139, 181287, 533, 4, 2451.68, -2926.42, 243.533, 5.67232, 0, 0, -0.300705, 0.953717, 604800, 100, 1); + +/* Archmage Tarsis */ +DELETE FROM `gossip_menu` WHERE `MenuID` BETWEEN 64000 AND 64009; +INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES +(64000, 8517), +(64001, 8518), +(64002, 8519), +(64003, 8520), +(64004, 8521), +(64005, 8522), +(64006, 8523), +(64007, 8529), +(64008, 8530), +(64009, 8531); +DELETE FROM `gossip_menu_option` WHERE `MenuID` BETWEEN 60400 AND 64009; +INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `OptionBroadcastTextID`, `BoxCoded`, `BoxMoney`, `BoxText`, `VerifiedBuild`) VALUES +('64000', '0', '0', 'What are you talking about, mage?', '1', '1', '64001', '0', '0', '0', '0', NULL, '0'), +('64001', '0', '0', 'Why have you done such horrible things?', '1', '1', '64002', '0', '0', '0', '0', NULL, '0'), +('64002', '0', '0', 'I still do not understand.', '1', '1', '64003', '0', '0', '0', '0', NULL, '0'), +('64003', '0', '0', 'You are talking nonsense, mage.', '1', '1', '64004', '0', '0', '0', '0', NULL, '0'), +('64004', '0', '0', 'What staff?', '1', '1', '64005', '0', '0', '0', '0', NULL, '0'), +('64005', '0', '0', 'You said you would have it back. What does that mean?', '1', '1', '64006', '0', '0', '0', '0', NULL, '0'), +('64006', '0', '0', 'What happened to the staff?', '1', '1', '64007', '0', '0', '0', '0', NULL, '0'), +('64007', '0', '0', 'So what has led you to Naxxramas?', '1', '1', '64008', '0', '0', '0', '0', NULL, '0'), +('64008', '0', '0', 'So Kel\'Thuzad holds all of the pieces?', '1', '1', '64009', '0', '0', '0', '0', NULL, '0'); +UPDATE `creature_template` SET `gossip_menu_id`=64000, `npcflag`=1, `ScriptName`='npc_archmage_tarsis' WHERE `entry`=16381; +UPDATE `npc_text` SET `em0_1`='13' WHERE `ID`='8517'; + + +/* Omarion */ +-- UPDATE `creature_template` SET `npcflag`=3, `ScriptName`='mob_craftsman_omarion' WHERE `entry`=16365; diff --git a/sql/world/base/naxx40_quests.sql b/sql/world/base/naxx40_quests.sql index 34badca..d5d4e30 100644 --- a/sql/world/base/naxx40_quests.sql +++ b/sql/world/base/naxx40_quests.sql @@ -193,3 +193,24 @@ REPLACE INTO `creature_questender` (`id`, `quest`) VALUES (16376, 9244), (16376, 9245), (16376, 9246); + +update quest_template_addon set PrevQuestId = 9121 where ID = 9033; -- echoes of war requires 9121 + +-- quest "The only song i know..." requires quest "Echoes of war" completed +update quest_template_addon set PrevQuestId = 9033 where ID = 9232; + +-- The remaining craft quests require quest "Omarion's Handbook" completed +update quest_template_addon set PrevQuestId = 9233 where ID in ( +9234, +9235, +9236, +9237, +9238, +9239, +9240, +9241, +9242, +9243, +9244, +9245, +9246); \ No newline at end of file diff --git a/src/IndividualProgression.cpp b/src/IndividualProgression.cpp index 08923ea..ca79136 100644 --- a/src/IndividualProgression.cpp +++ b/src/IndividualProgression.cpp @@ -424,7 +424,6 @@ public: // Player is in TBC content - give TBC health adjustment else if (!hasPassedProgression(player, PROGRESSION_TBC_TIER_5)) { - LOG_ERROR("", "TbcHealthadjustment: {}, gearAdjustment: {}", tbcHealthAdjustment, gearAdjustment); value *= (tbcHealthAdjustment - gearAdjustment); } // Player is in WotLK content - only need to check gear adjustment diff --git a/src/naxx40Scripts/instance_naxxramas.cpp b/src/naxx40Scripts/instance_naxxramas.cpp index c95ff9f..04ed2c4 100644 --- a/src/naxx40Scripts/instance_naxxramas.cpp +++ b/src/naxx40Scripts/instance_naxxramas.cpp @@ -299,6 +299,9 @@ public: case NPC_KELTHUZAD_40: _kelthuzadGUID = creature->GetGUID(); return; + case NPC_ARCHMAGE_TARSIS: + creature->SetStandState(UNIT_STAND_STATE_DEAD); + return; } } @@ -1279,6 +1282,35 @@ public: }; }; +class npc_archmage_tarsis : public CreatureScript +{ +private: + +public: + npc_archmage_tarsis() : CreatureScript("npc_archmage_tarsis") {} + + struct npc_archmage_tarsisAI: public ScriptedAI + { + npc_archmage_tarsisAI(Creature* creature) : ScriptedAI(creature) + { + me->SetStandState(UNIT_STAND_STATE_DEAD); + } + + }; + + bool OnGossipHello(Player* player, Creature* creature) override + { + if (creature->getStandState() != UNIT_STAND_STATE_SIT) + creature->SetStandState(UNIT_STAND_STATE_SIT); + return false; + } + + CreatureAI* GetAI(Creature* creature) const override + { + return new npc_archmage_tarsisAI(creature); + } +}; + class npc_naxx40_area_trigger : public CreatureScript { private: @@ -1451,5 +1483,6 @@ void AddSC_instance_naxxramas_combined() new naxx_exit_trigger(); new naxx_northrend_entrance(); new naxx_hub_portal(); + new npc_archmage_tarsis(); // new boss_naxxramas_misc(); } diff --git a/src/naxx40Scripts/naxxramas.h b/src/naxx40Scripts/naxxramas.h index 1340689..20acf31 100644 --- a/src/naxx40Scripts/naxxramas.h +++ b/src/naxx40Scripts/naxxramas.h @@ -199,6 +199,8 @@ enum NX40NPCs NPC_LIVING_MONSTROSITY_40 = 351024, NPC_SURGICAL_ASSIST_40 = 351025, NPC_SLUDGE_BELCHER_40 = 351029, + + NPC_ARCHMAGE_TARSIS = 16381, }; enum NXMisc