fix(DB/SAI) Myranda the Hag (#8911)
This commit is contained in:
@@ -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''');
|
||||||
@@ -23,7 +23,6 @@ SDCategory: Western Plaguelands
|
|||||||
EndScriptData */
|
EndScriptData */
|
||||||
|
|
||||||
/* ContentData
|
/* ContentData
|
||||||
npc_myranda_the_hag
|
|
||||||
npc_the_scourge_cauldron
|
npc_the_scourge_cauldron
|
||||||
npc_andorhal_tower
|
npc_andorhal_tower
|
||||||
EndContentData */
|
EndContentData */
|
||||||
@@ -34,55 +33,6 @@ EndContentData */
|
|||||||
#include "ScriptMgr.h"
|
#include "ScriptMgr.h"
|
||||||
#include "WorldSession.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
|
## npc_the_scourge_cauldron
|
||||||
######*/
|
######*/
|
||||||
@@ -208,7 +158,6 @@ public:
|
|||||||
|
|
||||||
void AddSC_western_plaguelands()
|
void AddSC_western_plaguelands()
|
||||||
{
|
{
|
||||||
new npc_myranda_the_hag();
|
|
||||||
new npc_the_scourge_cauldron();
|
new npc_the_scourge_cauldron();
|
||||||
new npc_andorhal_tower();
|
new npc_andorhal_tower();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user