aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortkrokli <tkrokli@hotmail.com>2016-08-30 21:15:53 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-03-03 21:57:23 +0100
commit958665ab2ee0797c81c93a47162a38b2cbd33b36 (patch)
tree7634aaf4c1431369f8e3616223c8d9f123b47f5f
parent6ad12301b48c6d8be57334e6d89ae33f6d4d67fa (diff)
Core/Scripts: move npc_lunaclaw_spirit to SAI
This PR moves the core script `npc_lunaclaw_spirit` to SAI, removing hardcoded text. The quests 6001 + 6002 are druid class quests to get bear form, removed in patch 4.0.3a Changes in this PR: - remove core script, including hardcoded text (with typo) - use gossip_menu_option for each faction (Alliance & Horde) - add SAI script to complete quest 6001 or 6002 based on option - add gossip option conditions for team A (469) or team H (67) - add gossip option conditions for quest 6001/6002 not completed (cherry picked from commit 3ad76dea7bdd889f016cce506833af7ed73d439d)
-rw-r--r--sql/updates/world/master/2017_03_03_02_world_2016_09_24_01_world_335.sql27
-rw-r--r--src/server/scripts/World/npcs_special.cpp42
2 files changed, 27 insertions, 42 deletions
diff --git a/sql/updates/world/master/2017_03_03_02_world_2016_09_24_01_world_335.sql b/sql/updates/world/master/2017_03_03_02_world_2016_09_24_01_world_335.sql
new file mode 100644
index 00000000000..3a319743e41
--- /dev/null
+++ b/sql/updates/world/master/2017_03_03_02_world_2016_09_24_01_world_335.sql
@@ -0,0 +1,27 @@
+-- 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 `menu_id` = @menu;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`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.');
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 037f45728c9..3db34d1f04e 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -243,47 +243,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->GetTeam() == ALLIANCE ? QUEST_BODY_HEART_A : QUEST_BODY_HEART_H);
- }
- return true;
- }
-};
-
/*########
# npc_chicken_cluck
#########*/
@@ -2577,7 +2536,6 @@ public:
void AddSC_npcs_special()
{
new npc_air_force_bots();
- new npc_lunaclaw_spirit();
new npc_chicken_cluck();
new npc_dancing_flames();
new npc_torch_tossing_target_bunny_controller();