diff options
3 files changed, 30 insertions, 31 deletions
diff --git a/sql/updates/world/master/2021_12_21_13_world_2020_02_15_01_world.sql b/sql/updates/world/master/2021_12_21_13_world_2020_02_15_01_world.sql new file mode 100644 index 00000000000..2b345581717 --- /dev/null +++ b/sql/updates/world/master/2021_12_21_13_world_2020_02_15_01_world.sql @@ -0,0 +1,27 @@ +-- +-- GO Journal of Jandice Barov (180794) +DELETE FROM `npc_text` WHERE `ID` IN (8121,8122); +INSERT INTO `npc_text` (`ID`,`Probability0`,`BroadcastTextID0`) VALUES +(8121,1,11406), +(8122,1,11410); +-- DELETE FROM `gossip_menu` WHERE `MenuID`=6799; +-- INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES (6799, 8120),(6799, 8121),(6799, 8122); +DELETE FROM `gossip_menu_option` WHERE `MenuID`=6799; +INSERT INTO `gossip_menu_option` (`MenuID`, `OptionIndex`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`) VALUES +(6799, 0, 0, '<Copy the pattern into my journal.>', 11407, 1, 1); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14, 15) AND `SourceGroup`=6799; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(14, 6799, 8120, 0, 0, 7, 0, 197, 280, 0, 1, 0, 0, '', 'Show text if player does not have tailoring'), +(14, 6799, 8121, 0, 0, 7, 0, 197, 280, 0, 0, 0, 0, '', 'Show text if player have tailoring'), +(14, 6799, 8121, 0, 0, 25, 0, 26086, 0, 0, 1, 0, 0, '', 'Show text if player does not have spell 26086'), +(14, 6799, 8122, 0, 0, 7, 0, 197, 280, 0, 0, 0, 0, '', 'Show text if player have tailoring'), +(14, 6799, 8122, 0, 0, 25, 0, 26086, 0, 0, 0, 0, 0, '', 'Show text if player have spell 26086'), +(15, 6799, 0, 0, 0, 7, 0, 197, 280, 0, 0, 0, 0, '', 'Show gossip if player have tailoring'), +(15, 6799, 0, 0, 0, 25, 0, 26086, 0, 0, 1, 0, 0, '', 'Show gossip if player does not have spell 26086'); +DELETE FROM `gameobject` WHERE `id`=180794; +DELETE FROM `gameobject_addon` WHERE `guid`=43231; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI', `ScriptName`='' WHERE `entry`=180794; +DELETE FROM `smart_scripts` WHERE `entryorguid`=180794 AND `source_type`=1; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(180794, 1, 0, 1, 62, 0, 100, 0, 6799, 0, 0, 0, 85, 26095, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Journal of Jandice Barov - On Gossip Select - Invoker Cast Felcloth Bag'), +(180794, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Journal of Jandice Barov - On Gossip Select - Close Gossip'); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp index fe2150d8d33..68462ee0f27 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp @@ -22,7 +22,8 @@ enum Spells { SPELL_CURSE_OF_BLOOD = 24673, - SPELL_ILLUSION = 17773 + SPELL_ILLUSION = 17773, + SPELL_DROP_JOURNAL = 26096 }; enum Events @@ -67,6 +68,7 @@ public: void JustDied(Unit* /*killer*/) override { Summons.DespawnAll(); + DoCastSelf(SPELL_DROP_JOURNAL, true); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 368202aa83c..5af9c2a5f0a 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -16,7 +16,6 @@ */ /* ContentData -go_barov_journal go_ethereum_prison go_ethereum_stasis go_shrine_of_the_birds @@ -57,34 +56,6 @@ EndContentData */ #include "World.h" /*###### -## go_barov_journal -######*/ - -class go_barov_journal : public GameObjectScript -{ -public: - go_barov_journal() : GameObjectScript("go_barov_journal") { } - - struct go_barov_journalAI : public GameObjectAI - { - go_barov_journalAI(GameObject* go) : GameObjectAI(go) { } - - bool GossipHello(Player* player) override - { - if (player->HasSkill(SKILL_TAILORING) && player->GetBaseSkillValue(SKILL_TAILORING) >= 280 && !player->HasSpell(26086)) - player->CastSpell(player, 26095, false); - - return true; - } - }; - - GameObjectAI* GetAI(GameObject* go) const override - { - return new go_barov_journalAI(go); - } -}; - -/*###### ## go_gilded_brazier (Paladin First Trail quest (9678)) ######*/ @@ -1919,7 +1890,6 @@ public: void AddSC_go_scripts() { - new go_barov_journal(); new go_gilded_brazier(); new go_orb_of_command(); new go_shrine_of_the_birds(); |