Script Archmage Tarsis, Naxx40 quest fixes

This commit is contained in:
郑佩茹
2022-09-03 15:38:08 -06:00
parent 9397e3697a
commit d37738d1d6
5 changed files with 87 additions and 1 deletions

View File

@@ -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 + 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 + 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); (@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;

View File

@@ -193,3 +193,24 @@ REPLACE INTO `creature_questender` (`id`, `quest`) VALUES
(16376, 9244), (16376, 9244),
(16376, 9245), (16376, 9245),
(16376, 9246); (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);

View File

@@ -424,7 +424,6 @@ public:
// Player is in TBC content - give TBC health adjustment // Player is in TBC content - give TBC health adjustment
else if (!hasPassedProgression(player, PROGRESSION_TBC_TIER_5)) else if (!hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{ {
LOG_ERROR("", "TbcHealthadjustment: {}, gearAdjustment: {}", tbcHealthAdjustment, gearAdjustment);
value *= (tbcHealthAdjustment - gearAdjustment); value *= (tbcHealthAdjustment - gearAdjustment);
} }
// Player is in WotLK content - only need to check gear adjustment // Player is in WotLK content - only need to check gear adjustment

View File

@@ -299,6 +299,9 @@ public:
case NPC_KELTHUZAD_40: case NPC_KELTHUZAD_40:
_kelthuzadGUID = creature->GetGUID(); _kelthuzadGUID = creature->GetGUID();
return; 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 class npc_naxx40_area_trigger : public CreatureScript
{ {
private: private:
@@ -1451,5 +1483,6 @@ void AddSC_instance_naxxramas_combined()
new naxx_exit_trigger(); new naxx_exit_trigger();
new naxx_northrend_entrance(); new naxx_northrend_entrance();
new naxx_hub_portal(); new naxx_hub_portal();
new npc_archmage_tarsis();
// new boss_naxxramas_misc(); // new boss_naxxramas_misc();
} }

View File

@@ -199,6 +199,8 @@ enum NX40NPCs
NPC_LIVING_MONSTROSITY_40 = 351024, NPC_LIVING_MONSTROSITY_40 = 351024,
NPC_SURGICAL_ASSIST_40 = 351025, NPC_SURGICAL_ASSIST_40 = 351025,
NPC_SLUDGE_BELCHER_40 = 351029, NPC_SLUDGE_BELCHER_40 = 351029,
NPC_ARCHMAGE_TARSIS = 16381,
}; };
enum NXMisc enum NXMisc