fix(DB/SAI): Lunaclaw (#4859)
Co-authored-by: joschiwald <joschiwald@online.de> Co-authored-by: illfated <illfated@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1615808511621508316');
|
||||||
|
|
||||||
|
-- NPC entry: 12144 Lunaclaw Spirit. Druid quest: Body and Heart (Alliance: 6001, Horde: 6002)
|
||||||
|
SET @Spirit := 12144;
|
||||||
|
SET @menu := 3862;
|
||||||
|
|
||||||
|
DELETE FROM `gossip_menu_option` WHERE `MenuID` = @menu;
|
||||||
|
INSERT INTO `gossip_menu_option` (`MenuID`,`OptionID`,`OptionIcon`,`OptionText`,`OptionBroadcastTextID`,`OptionType`,`OptionNpcFlag`,`ActionMenuID`,`ActionPoiID`,`BoxCoded`,`BoxMoney`,`BoxText`,`BoxBroadcastTextID`,`VerifiedBuild`) VALUES
|
||||||
|
(@menu,0,0,'You have fought well, spirit. I ask you to grant me the strength of your body and the strength of your heart.',7405,1,1,3863,0,0,0,'',0,0),
|
||||||
|
(@menu,1,0,'You have fought well, spirit. I ask you to grant me the strength of your body and the strength of your heart.',7405,1,1,3863,0,0,0,'',0,0);
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `AIName`= 'SmartAI', `ScriptName`= '' WHERE `entry`= @Spirit;
|
||||||
|
|
||||||
|
DELETE FROM `smart_scripts` WHERE `entryorguid`= @Spirit 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
|
||||||
|
(@Spirit,0,0,1, 62,0,100,0,@menu,0,0,0, 72, 0, 0,0,0,0,0,7,0,0,0,0,0,0,0, 'Lunaclaw Spirit - On Gossip Option 0 Selected - Close Gossip'),
|
||||||
|
(@Spirit,0,1,2, 61,0,100,0, 0,0,0,0, 98, 3863,4715,0,0,0,0,7,0,0,0,0,0,0,0, 'Lunaclaw Spirit - On Gossip Option 0 Selected - Send Gossip'),
|
||||||
|
(@Spirit,0,2,0, 61,0,100,0, 0,0,0,0, 15, 6001, 0,0,0,0,0,7,0,0,0,0,0,0,0, "Lunaclaw Spirit - On Gossip Option 0 Selected - Credit Quest 'Body and Heart - Alliance'"),
|
||||||
|
(@Spirit,0,3,4, 62,0,100,0,@menu,1,0,0, 72, 0, 0,0,0,0,0,7,0,0,0,0,0,0,0, 'Lunaclaw Spirit - On Gossip Option 1 Selected - Close Gossip'),
|
||||||
|
(@Spirit,0,4,5, 61,0,100,0, 0,0,0,0, 98, 3863,4715,0,0,0,0,7,0,0,0,0,0,0,0, 'Lunaclaw Spirit - On Gossip Option 1 Selected - Send Gossip'),
|
||||||
|
(@Spirit,0,5,0, 61,0,100,0, 0,0,0,0, 15, 6002, 0,0,0,0,0,7,0,0,0,0,0,0,0, "Lunaclaw Spirit - On Gossip Option 1 Selected - Credit Quest 'Body and Heart - Horde'");
|
||||||
|
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`= 15 AND `SourceGroup`= @menu;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||||
|
(15,@menu,0,0,1, 6,0, 469,0,0,0,0,0,'','Show gossip menu 3862 option id 0 if player is on the Alliance team. -AND-'),
|
||||||
|
(15,@menu,0,0,1,28,0,6001,0,0,1,0,0,'','Show gossip menu 3862 option id 0 if quest Body and Heart has not been completed.'),
|
||||||
|
(15,@menu,1,0,2, 6,0, 67,0,0,0,0,0,'','Show gossip menu 3862 option id 1 if player is on the Horde team. -AND-'),
|
||||||
|
(15,@menu,1,0,2,28,0,6002,0,0,1,0,0,'','Show gossip menu 3862 option id 1 if quest Body and Heart has not been completed.');
|
||||||
@@ -14,7 +14,6 @@ EndScriptData
|
|||||||
|
|
||||||
/* ContentData
|
/* ContentData
|
||||||
npc_air_force_bots 80% support for misc (invisible) guard bots in areas where player allowed to fly. Summon guards after a preset time if tagged by spell
|
npc_air_force_bots 80% support for misc (invisible) guard bots in areas where player allowed to fly. Summon guards after a preset time if tagged by spell
|
||||||
npc_lunaclaw_spirit 80% support for quests 6001/6002 (Body and Heart)
|
|
||||||
npc_chicken_cluck 100% support for quest 3861 (Cluck!)
|
npc_chicken_cluck 100% support for quest 3861 (Cluck!)
|
||||||
npc_dancing_flames 100% midsummer event NPC
|
npc_dancing_flames 100% midsummer event NPC
|
||||||
npc_guardian 100% guardianAI used to prevent players from accessing off-limits areas. Not in use by SD2
|
npc_guardian 100% guardianAI used to prevent players from accessing off-limits areas. Not in use by SD2
|
||||||
@@ -631,47 +630,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*######
|
|
||||||
## npc_lunaclaw_spirit
|
|
||||||
######*/
|
|
||||||
|
|
||||||
enum LunaclawSpirit
|
|
||||||
{
|
|
||||||
QUEST_BODY_HEART_A = 6001,
|
|
||||||
QUEST_BODY_HEART_H = 6002,
|
|
||||||
|
|
||||||
TEXT_ID_DEFAULT = 4714,
|
|
||||||
TEXT_ID_PROGRESS = 4715
|
|
||||||
};
|
|
||||||
|
|
||||||
#define GOSSIP_ITEM_GRANT "You have thought well, spirit. I ask you to grant me the strength of your body and the strength of your heart."
|
|
||||||
|
|
||||||
class npc_lunaclaw_spirit : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_lunaclaw_spirit() : CreatureScript("npc_lunaclaw_spirit") { }
|
|
||||||
|
|
||||||
bool OnGossipHello(Player* player, Creature* creature) override
|
|
||||||
{
|
|
||||||
if (player->GetQuestStatus(QUEST_BODY_HEART_A) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_BODY_HEART_H) == QUEST_STATUS_INCOMPLETE)
|
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_GRANT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
|
||||||
|
|
||||||
SendGossipMenuFor(player, TEXT_ID_DEFAULT, creature->GetGUID());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
|
||||||
{
|
|
||||||
ClearGossipMenuFor(player);
|
|
||||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
|
||||||
{
|
|
||||||
SendGossipMenuFor(player, TEXT_ID_PROGRESS, creature->GetGUID());
|
|
||||||
player->AreaExploredOrEventHappens(player->GetTeamId() == TEAM_ALLIANCE ? QUEST_BODY_HEART_A : QUEST_BODY_HEART_H);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*########
|
/*########
|
||||||
# npc_chicken_cluck
|
# npc_chicken_cluck
|
||||||
#########*/
|
#########*/
|
||||||
@@ -2503,7 +2461,6 @@ void AddSC_npcs_special()
|
|||||||
|
|
||||||
// Theirs
|
// Theirs
|
||||||
new npc_air_force_bots();
|
new npc_air_force_bots();
|
||||||
new npc_lunaclaw_spirit();
|
|
||||||
new npc_chicken_cluck();
|
new npc_chicken_cluck();
|
||||||
new npc_dancing_flames();
|
new npc_dancing_flames();
|
||||||
new npc_doctor();
|
new npc_doctor();
|
||||||
|
|||||||
Reference in New Issue
Block a user