fix(DB/SAI) Myranda the Hag (#8911)

This commit is contained in:
Malcrom
2021-11-05 19:07:52 -03:00
committed by GitHub
parent 693aa243c4
commit 6deaa13292
2 changed files with 31 additions and 51 deletions

View File

@@ -0,0 +1,31 @@
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1635880139183138212');
-- Fix Gossip for Myranda the Hag
DELETE FROM `gossip_menu` WHERE `MenuID`=3801 AND `TextID`=4773;
INSERT INTO `gossip_menu` (`MenuID`,`TextID`) VALUES (3801,4773);
-- Condition for source Gossip menu condition
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=3801 AND `SourceEntry`=4773 AND `SourceId`=0;
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=3801 AND `SourceEntry`=0 AND `SourceId`=0;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(14, 3801, 4773, 0, 1, 8, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show text if quest ''In Dreams'' is not rewarded'),
(14, 3801, 4773, 0, 1, 8, 0, 5862, 0, 0, 0, 0, 0, '', 'Only show text if quest ''Scarlet Subterfuge'' is rewarded'),
(14, 3801, 4773, 0, 0, 8, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show text if quest ''In Dreams'' is not rewarded'),
(14, 3801, 4773, 0, 0, 28, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show text if quest ''In Dreams'' is not complete'),
(14, 3801, 4773, 0, 0, 28, 0, 5862, 0, 0, 0, 0, 0, '', 'Only show text if quest ''Scarlet Subterfuge'' is complete'),
(14, 3801, 4773, 0, 1, 28, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show text if quest ''In Dreams'' is not complete'),
(15, 3801, 0, 0, 1, 1, 0, 17961, 0, 0, 1, 0, 0, '', 'Only show gossip menu option if no ''Scarlet Illusion'' Aura'),
(15, 3801, 0, 0, 1, 8, 0, 5862, 0, 0, 0, 0, 0, '', 'Only show gossip menu option if quest ''Scarlet Subterfuge'' is rewarded'),
(15, 3801, 0, 0, 0, 1, 0, 17961, 0, 0, 1, 0, 0, '', 'Only show gossip menu option if no ''Scarlet Illusion'' Aura'),
(15, 3801, 0, 0, 0, 8, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show gossip menu option if quest ''In Dreams'' is not rewarded'),
(15, 3801, 0, 0, 0, 28, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show gossip menu option if quest ''In Dreams'' is not complete'),
(15, 3801, 0, 0, 1, 8, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show gossip menu option if quest ''In Dreams'' is not rewarded'),
(15, 3801, 0, 0, 1, 28, 0, 5944, 0, 0, 1, 0, 0, '', 'Only show gossip menu option if quest ''In Dreams'' is not complete'),
(15, 3801, 0, 0, 0, 28, 0, 5862, 0, 0, 0, 0, 0, '', 'Only show gossip menu option if quest ''Scarlet Subterfuge'' is complete');
-- Add SAI for Myranda the Hag
UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry`=11872;
DELETE FROM `smart_scripts` WHERE `entryorguid`=11872 AND `source_type`=0;
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
(11872, 0, 0, 1, 62, 0, 100, 0, 3801, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Myranda the Hag - On Gossip Option 0 Selected - Close Gossip'),
(11872, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 85, 17961, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Myranda the Hag - On Gossip Option 0 Selected - Invoker Cast ''Scarlet Illusion''');

View File

@@ -23,7 +23,6 @@ SDCategory: Western Plaguelands
EndScriptData */
/* ContentData
npc_myranda_the_hag
npc_the_scourge_cauldron
npc_andorhal_tower
EndContentData */
@@ -34,55 +33,6 @@ EndContentData */
#include "ScriptMgr.h"
#include "WorldSession.h"
/*######
## npc_myranda_the_hag
######*/
enum Myranda
{
QUEST_FIND_MYRANDA = 5861,
QUEST_SUBTERFUGE = 5862,
QUEST_IN_DREAMS = 5944,
SPELL_SCARLET_ILLUSION = 17961
};
#define GOSSIP_ITEM_ILLUSION "I am ready for the illusion, Myranda."
class npc_myranda_the_hag : public CreatureScript
{
public:
npc_myranda_the_hag() : CreatureScript("npc_myranda_the_hag") { }
bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
ClearGossipMenuFor(player);
if (action == GOSSIP_ACTION_INFO_DEF + 1)
{
CloseGossipMenuFor(player);
player->CastSpell(player, SPELL_SCARLET_ILLUSION, false);
}
return true;
}
bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
if (player->GetQuestRewardStatus(QUEST_FIND_MYRANDA) &&
!player->GetQuestRewardStatus(QUEST_IN_DREAMS) && !player->HasAura(SPELL_SCARLET_ILLUSION))
{
AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ILLUSION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
SendGossipMenuFor(player, 4773, creature->GetGUID());
return true;
}
else
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
return true;
}
};
/*######
## npc_the_scourge_cauldron
######*/
@@ -208,7 +158,6 @@ public:
void AddSC_western_plaguelands()
{
new npc_myranda_the_hag();
new npc_the_scourge_cauldron();
new npc_andorhal_tower();
}