diff options
-rw-r--r-- | README | 12 | ||||
-rw-r--r-- | sql/updates/world/2013_06_02_03_world_conditions.sql | 14 | ||||
-rw-r--r-- | sql/updates/world/2013_06_03_00_world_trinity_string.sql (renamed from sql/updates/world/2013_05_26_00_world_trinity_string.sql) | 2 | ||||
-rw-r--r-- | sql/updates/world/2013_06_03_02_world_conditions.sql | 264 | ||||
-rw-r--r-- | sql/updates/world/2013_06_03_03_world_conditions.sql | 95 | ||||
-rw-r--r-- | sql/updates/world/2013_06_03_04_world_conditions.sql | 8 | ||||
-rw-r--r-- | sql/updates/world/2013_06_03_05_world_gossip.sql | 301 | ||||
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 93 | ||||
-rw-r--r-- | src/server/game/Entities/Creature/Creature.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Handlers/NPCHandler.cpp | 7 | ||||
-rwxr-xr-x | src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp | 8 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Gundrak/gundrak.h | 4 | ||||
-rw-r--r-- | src/server/scripts/World/npcs_special.cpp | 4 |
16 files changed, 697 insertions, 142 deletions
@@ -41,16 +41,20 @@ project website at http://www.TrinityCore.org Documentation including installation instructions can be found inside the doc directory. -SQL files to create the database can be found in the sql directory. Files -to update your database from an older revision/version can be found in the -sql/updates directory. +SQL files to create the database can be found in the sql/create and sql/base directory. +You need to download world database from http://www.trinitycore.org/f/files/ be sure you get the higher numbered database. +When installing a core the 1st time you need to import also the files at sql/updates/world directory. +To save time importing multiple files, you can use copy *.sql world_updates.sql under Windows or cat *.sql > world_updates under Linux. +You need to update your core (recompile and overwrite binaries) when updating your database, usually you can't use one older core with a newer database or a newer core with a older database. +When updating your core you also need to import the files at sql/updates/auth and sql/updates/characters along with sql/updates/world files. +You can't merge all the sql files on sql/updates into a single file, because they belong to 3 different databases and they don't use database name. TrinityCore Requirements Platform: Linux, Windows or Mac Processor with SSE2 support ACE ≥ 5.8.3 MySQL ≥ 5.1.0 -CMake ≥ 2.8.0 +CMake ≥ 2.8.0 (max 2.8.9 under linux) OpenSSL ≥ 0.9.8o GCC ≥ 4.3 (Linux only) MS Visual Studio ≥ 9 (2008) (Windows only) diff --git a/sql/updates/world/2013_06_02_03_world_conditions.sql b/sql/updates/world/2013_06_02_03_world_conditions.sql index c2d730ffc6d..f38ce3caf3e 100644 --- a/sql/updates/world/2013_06_02_03_world_conditions.sql +++ b/sql/updates/world/2013_06_02_03_world_conditions.sql @@ -1,5 +1,5 @@ -- Add option conditions for Paladin trainers -DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (15) AND `SourceGroup` IN (2304,4556,4557,4469,4470,4471,4662,4663,4664,4677,4678,7260,8111); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (15) AND `SourceGroup` IN (2304,4556,4557,4469,4470,4471,4662,4463,4464,4677,4678,7260,8111); INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES (15,2304,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), (15,2304,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), @@ -22,12 +22,12 @@ INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`, (15,4662,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), (15,4662,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), (15,4662,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), -(15,4663,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), -(15,4663,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), -(15,4663,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), -(15,4664,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), -(15,4664,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), -(15,4664,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4463,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4463,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4463,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4464,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4464,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4464,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), (15,4677,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), (15,4677,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), (15,4677,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), diff --git a/sql/updates/world/2013_05_26_00_world_trinity_string.sql b/sql/updates/world/2013_06_03_00_world_trinity_string.sql index 591021a5f84..80ad953b3b7 100644 --- a/sql/updates/world/2013_05_26_00_world_trinity_string.sql +++ b/sql/updates/world/2013_06_03_00_world_trinity_string.sql @@ -1,4 +1,4 @@ -DELETE FROM `trinity_string` WHERE `entry`=854 LIMIT 1; +DELETE FROM `trinity_string` WHERE `entry`=854 LIMIT 1; INSERT INTO `trinity_string` (`entry`, `content_default`, content_loc1, content_loc2, content_loc3, content_loc4, content_loc5, content_loc6, content_loc7, content_loc8) VALUES (854, '└ Mails: %d Read/%u Total', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); diff --git a/sql/updates/world/2013_06_03_02_world_conditions.sql b/sql/updates/world/2013_06_03_02_world_conditions.sql new file mode 100644 index 00000000000..6b542fef131 --- /dev/null +++ b/sql/updates/world/2013_06_03_02_world_conditions.sql @@ -0,0 +1,264 @@ +-- Gossip Condition for Ultham Ironhorn "Dwarf riding trainer" +SET @GOSSIP := 4014; +SET @TEXTYES := 4871; +SET @TEXTNO := 5858; +SET @FACTION := 47; +SET @RACE := 4; +SET @NOTRACE := 1787; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Dwarf'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Ironforge'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Dwarf'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Ironforge'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Dwarf'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Ironforge'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); +UPDATE `creature_template` SET `gossip_menu_id`=@GOSSIP WHERE `entry`=4772; + +-- Gossip Condition for Velma Warnam "Forsaken riding trainer" +SET @GOSSIP := 4015; +SET @TEXTYES := 4873; +SET @TEXTNO := 5859; +SET @FACTION := 68; +SET @RACE := 16; +SET @NOTRACE := 1775; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Forsaken'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Undercity'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Forsaken'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Undercity'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Forsaken'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Undercity'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Benjy Featherwhistle "Gnomeregan riding trainer" +SET @GOSSIP := 4016; +SET @TEXTYES := 4878; +SET @TEXTNO := 5860; +SET @FACTION := 54; +SET @RACE := 64; +SET @NOTRACE := 1727; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Gnome'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Gnomeregan'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Gnome'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Gnomeregan'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Gnome'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Gnomeregan'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Randel Hunter "Human riding trainer" +SET @GOSSIP := 4018; +SET @TEXTYES := 4876; +SET @TEXTNO := 5861; +SET @FACTION := 72; +SET @RACE := 1; +SET @NOTRACE := 1790; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Human'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Stormwind'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Human'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Stormwind'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Human'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Stormwind'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Jartsam "Night Elf riding trainer" +SET @GOSSIP := 4019; +SET @TEXTYES := 4877; +SET @TEXTNO := 5862; +SET @FACTION := 69; +SET @RACE := 8; +SET @NOTRACE := 1783; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Night Elf'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Darnassus'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Night Elf'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Darnassus'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Night Elf'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Darnassus'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Kildar "Orc riding trainer" +SET @GOSSIP := 4020; +SET @TEXTYES := 4879; +SET @TEXTNO := 5863; +SET @FACTION := 76; +SET @RACE := 2; +SET @NOTRACE := 1789; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is an Orc'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Orgrimmar'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not an Orc'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Orgrimmar'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is an Orc'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Orgrimmar'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Kar Stormsinger "Tauren riding trainer" +SET @GOSSIP := 4021; +SET @TEXTYES := 4874; +SET @TEXTNO := 5864; +SET @FACTION := 81; +SET @RACE := 32; +SET @NOTRACE := 1759; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Tauren'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Thunder Bluff'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Tauren'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Thunder Bluff'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Tauren'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Thunder Bluff'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Xar'Ti "Troll riding trainer" +SET @GOSSIP := 4022; +SET @TEXTYES := 4875; +SET @TEXTNO := 5865; +SET @FACTION := 530; +SET @RACE := 128; +SET @NOTRACE := 1663; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Troll'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Darkspear Trolls'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Troll'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Darkspear Trolls'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Troll'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Darkspear Trolls'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); +UPDATE `creature_template` SET `gossip_menu_id`=@GOSSIP WHERE `entry`=7953; + +-- Gossip Condition for Perascamin "Blood Elf riding trainer" +SET @GOSSIP := 8275; +SET @TEXTYES := 10308; +SET @TEXTNO := 10310; +SET @FACTION := 911; +SET @RACE := 512; +SET @NOTRACE := 1279; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Blood Elf'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Silvermoon City'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Blood Elf'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Silvermoon City'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Blood Elf'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Silvermoon City'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); +UPDATE `creature_template` SET `gossip_menu_id`=@GOSSIP WHERE `entry`=16280; + +-- Gossip Condition for Aalun "Draenei riding trainer" +SET @GOSSIP := 8553; +SET @TEXTYES := 10792; +SET @TEXTNO := 10705; +SET @FACTION := 930; +SET @RACE := 1024; +SET @NOTRACE := 767; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,16,@RACE,0,0,0,'','Show gossip text if player is a Draenei'), +(14,@GOSSIP,@TEXTYES,1,5,@FACTION,128,0,0,'','Show gossip text if player is Exalted with Exodar'), +(14,@GOSSIP,@TEXTNO,0,16,@NOTRACE,0,0,0,'','Show gossip text if player is not a Draenei'), +(14,@GOSSIP,@TEXTNO,0,5,@FACTION,127,0,0,'','Show gossip text if player is Not Exalted with Exodar'), +(15,@GOSSIP,0,0,16,@RACE,0,0,0,'','Show gossip option if player is a Draenei'), +(15,@GOSSIP,0,1,5,@FACTION,128,0,0,'','Show gossip option if player is a Exalted with Exodar'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"I seek training to ride a steed.",5,16,0,0,0,0,''); + +-- Gossip Condition for Olrokk "Riding trainer" +SET @GOSSIP := 8628; +SET @TEXT := 10817; +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXT; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXT); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Train me.",5,16,0,0,0,0,''); +UPDATE `creature_template` SET `gossip_menu_id`=@GOSSIP WHERE `entry`=20500; diff --git a/sql/updates/world/2013_06_03_03_world_conditions.sql b/sql/updates/world/2013_06_03_03_world_conditions.sql new file mode 100644 index 00000000000..3edbde56d5b --- /dev/null +++ b/sql/updates/world/2013_06_03_03_world_conditions.sql @@ -0,0 +1,95 @@ +-- Add option conditions for Rogue trainers +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (15) AND `SourceEntry`=4 AND `SourceGroup` IN (85,141,381,410,411,436,3984,4502,4512,4513,4540,4541,4542,4561,4562,4575,4576,4577,4658,4659,4676,4690,5061,6650); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`NegativeCondition`,`ScriptName`,`Comment`) VALUES +(15,85,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,85,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,85,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,85,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,141,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,141,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,141,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,141,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,410,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,410,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,410,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,410,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,411,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,411,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,411,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,411,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,436,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,436,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,436,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,436,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,3984,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,3984,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,3984,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,3984,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4502,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4502,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4502,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4502,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4512,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4512,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4512,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4512,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4513,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4513,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4513,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4513,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4540,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4540,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4540,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4540,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4541,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4541,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4541,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4541,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4542,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4542,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4542,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4542,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4561,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4561,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4561,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4561,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4562,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4562,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4562,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4562,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4575,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4575,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4575,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4575,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4576,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4576,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4576,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4576,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4577,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4577,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4577,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4577,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4658,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4658,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4658,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4658,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4659,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4659,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4659,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4659,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4676,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4676,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4676,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4676,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,4690,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,4690,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,4690,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,4690,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,5061,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,5061,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,5061,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,5061,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'), +(15,6650,4,0,15,8,0,0,0,0,'','Show gossip option if player is a Rogue'), +(15,6650,4,0,27,24,3,0,0,0,'','Show gossip option if player is level 24 or higher'), +(15,6650,4,0,2,17126,1,0,0,0,'','Show gossip option if player has Elegant Letter'), +(15,6650,4,0,28,6681,0,0,0,1,'','Show gossip option if player has not completed quest 6681'); diff --git a/sql/updates/world/2013_06_03_04_world_conditions.sql b/sql/updates/world/2013_06_03_04_world_conditions.sql new file mode 100644 index 00000000000..f18492fc34a --- /dev/null +++ b/sql/updates/world/2013_06_03_04_world_conditions.sql @@ -0,0 +1,8 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (15) AND `SourceGroup` IN (4463,4464,4663,4664); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,4463,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4463,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4463,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4464,0,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4464,1,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'), +(15,4464,2,0,15,2,0,0,0,'','Show gossip option if player is a Paladin'); diff --git a/sql/updates/world/2013_06_03_05_world_gossip.sql b/sql/updates/world/2013_06_03_05_world_gossip.sql new file mode 100644 index 00000000000..7f21d072162 --- /dev/null +++ b/sql/updates/world/2013_06_03_05_world_gossip.sql @@ -0,0 +1,301 @@ +-- XXXXXXXXXXXXXXXXXXXXX +-- X Shaman Trainers X +-- XXXXXXXXXXXXXXXXXXXXX + +UPDATE `creature_template` SET `gossip_menu_id`=7357 WHERE `entry`=23127; +UPDATE `creature_template` SET `gossip_menu_id`=7377 WHERE `entry`=17204; +UPDATE `creature_template` SET `gossip_menu_id`=4104 WHERE `entry`=986; + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4103; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4104; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4515; +SET @TEXTYES := 5007; +SET @TEXTNO := 5008; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4516; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4528; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4529; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4530; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 4652; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 5123; +SET @TEXTYES := 5005; +SET @TEXTNO := 5006; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 7357; +SET @TEXTYES := 8786; +SET @TEXTNO := 8785; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 7467; +SET @TEXTYES := 9050; +SET @TEXTNO := 8785; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 7522; +SET @TEXTYES := 9122; +SET @TEXTNO := 8785; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 8110; +SET @TEXTYES := 10043; +SET @TEXTNO := 10040; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,2,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); + +-- Gossip Condition for Shaman Trainers +SET @GOSSIP := 7377; +SET @TEXTYES := 8829; +SET @TEXTNO := 8828; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=@GOSSIP; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@GOSSIP,@TEXTYES,0,15,64,0,0,0,'','Show gossip text if player is a Shaman'), +(14,@GOSSIP,@TEXTNO,0,15,1471,0,0,0,'','Show gossip text if player is not a Shaman'); +-- Add Any Missing Gossip Menu item +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTYES; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTYES); +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP AND `text_id`=@TEXTNO; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (@GOSSIP,@TEXTNO); +DELETE FROM `gossip_menu` WHERE `entry` BETWEEN 7502 AND 7509; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(7502,9098),(7503,9099),(7504,9100),(7505,9101), +(7506,9102),(7507,9103),(7508,9104),(7509,9105); +-- Add Any Missing Gossip Option +DELETE FROM `gossip_menu_option` WHERE menu_id BETWEEN 7502 AND 7508; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(7502,0,0,"Yes, please continue.",1,1,7503,0,0,0,''), +(7503,0,0,"Yes, please, if you do not mind.",1,1,7504,0,0,0,''), +(7504,0,0,"Nobundo, please continue.",1,1,7505,0,0,0,''), +(7505,0,0,"What did it say to you?",1,1,7506,0,0,0,''), +(7506,0,0,"What was that?",1,1,7507,0,0,0,''), +(7507,0,0,"What did you do then?",1,1,7508,0,0,0,''), +(7508,0,0,"Please, go on.",1,1,7509,0,0,0,''); +DELETE FROM `gossip_menu_option` WHERE menu_id=@GOSSIP; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`)VALUES +(@GOSSIP,0,3,"Teach me the ways of the spirits.",5,16,0,0,0,0,''), +(@GOSSIP,1,0,"Tell me of your past, Farseer.",1,1,7502,0,0,0,''), +(@GOSSIP,2,0,"I wish to unlearn my talents.",16,16,4461,0,0,0,''), +(@GOSSIP,3,0,"I wish to know about Dual Talent Specialization.",1,1,10371,0,0,0,''); diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index f274f201e04..b3deb7ae7de 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -871,92 +871,6 @@ void Creature::InitializeReactState() SetReactState(REACT_DEFENSIVE);*/; } -bool Creature::isCanTrainingOf(Player* player, bool msg) const -{ - if (!isTrainer()) - return false; - - TrainerSpellData const* trainer_spells = GetTrainerSpells(); - - if ((!trainer_spells || trainer_spells->spellList.empty()) && GetCreatureTemplate()->trainer_type != TRAINER_TYPE_PETS) - { - TC_LOG_ERROR(LOG_FILTER_SQL, "Creature %u (Entry: %u) have UNIT_NPC_FLAG_TRAINER but have empty trainer spell list.", - GetGUIDLow(), GetEntry()); - return false; - } - - switch (GetCreatureTemplate()->trainer_type) - { - case TRAINER_TYPE_CLASS: - if (player->getClass() != GetCreatureTemplate()->trainer_class) - { - if (msg) - { - player->PlayerTalkClass->ClearMenus(); - switch (GetCreatureTemplate()->trainer_class) - { - case CLASS_DRUID: player->PlayerTalkClass->SendGossipMenu(4913, GetGUID()); break; - case CLASS_HUNTER: player->PlayerTalkClass->SendGossipMenu(10090, GetGUID()); break; - case CLASS_MAGE: player->PlayerTalkClass->SendGossipMenu(328, GetGUID()); break; - case CLASS_PALADIN:player->PlayerTalkClass->SendGossipMenu(1635, GetGUID()); break; - case CLASS_PRIEST: player->PlayerTalkClass->SendGossipMenu(4436, GetGUID()); break; - case CLASS_ROGUE: player->PlayerTalkClass->SendGossipMenu(4797, GetGUID()); break; - case CLASS_SHAMAN: player->PlayerTalkClass->SendGossipMenu(5003, GetGUID()); break; - case CLASS_WARLOCK:player->PlayerTalkClass->SendGossipMenu(5836, GetGUID()); break; - case CLASS_WARRIOR:player->PlayerTalkClass->SendGossipMenu(4985, GetGUID()); break; - } - } - return false; - } - break; - case TRAINER_TYPE_PETS: - if (player->getClass() != CLASS_HUNTER) - { - player->PlayerTalkClass->ClearMenus(); - player->PlayerTalkClass->SendGossipMenu(3620, GetGUID()); - return false; - } - break; - case TRAINER_TYPE_MOUNTS: - if (GetCreatureTemplate()->trainer_race && player->getRace() != GetCreatureTemplate()->trainer_race) - { - if (msg) - { - player->PlayerTalkClass->ClearMenus(); - switch (GetCreatureTemplate()->trainer_race) - { - case RACE_DWARF: player->PlayerTalkClass->SendGossipMenu(5865, GetGUID()); break; - case RACE_GNOME: player->PlayerTalkClass->SendGossipMenu(4881, GetGUID()); break; - case RACE_HUMAN: player->PlayerTalkClass->SendGossipMenu(5861, GetGUID()); break; - case RACE_NIGHTELF: player->PlayerTalkClass->SendGossipMenu(5862, GetGUID()); break; - case RACE_ORC: player->PlayerTalkClass->SendGossipMenu(5863, GetGUID()); break; - case RACE_TAUREN: player->PlayerTalkClass->SendGossipMenu(5864, GetGUID()); break; - case RACE_TROLL: player->PlayerTalkClass->SendGossipMenu(5816, GetGUID()); break; - case RACE_UNDEAD_PLAYER:player->PlayerTalkClass->SendGossipMenu(624, GetGUID()); break; - case RACE_BLOODELF: player->PlayerTalkClass->SendGossipMenu(5862, GetGUID()); break; - case RACE_DRAENEI: player->PlayerTalkClass->SendGossipMenu(5864, GetGUID()); break; - } - } - return false; - } - break; - case TRAINER_TYPE_TRADESKILLS: - if (GetCreatureTemplate()->trainer_spell && !player->HasSpell(GetCreatureTemplate()->trainer_spell)) - { - if (msg) - { - player->PlayerTalkClass->ClearMenus(); - player->PlayerTalkClass->SendGossipMenu(11031, GetGUID()); - } - return false; - } - break; - default: - return false; // checked and error output at creature_template loading - } - return true; -} - bool Creature::isCanInteractWithBattleMaster(Player* player, bool msg) const { if (!isBattleMaster()) @@ -989,13 +903,6 @@ bool Creature::isCanInteractWithBattleMaster(Player* player, bool msg) const return true; } -bool Creature::isCanTrainingAndResetTalentsOf(Player* player) const -{ - return player->getLevel() >= 10 - && GetCreatureTemplate()->trainer_type == TRAINER_TYPE_CLASS - && player->getClass() == GetCreatureTemplate()->trainer_class; -} - Player* Creature::GetLootRecipient() const { if (!m_lootRecipient) diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 1b59c273d52..6459b80a063 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -482,9 +482,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature void InitializeReactState(); /// @todo Rename these properly - bool isCanTrainingOf(Player* player, bool msg) const; bool isCanInteractWithBattleMaster(Player* player, bool msg) const; - bool isCanTrainingAndResetTalentsOf(Player* player) const; bool canCreatureAttack(Unit const* victim, bool force = true) const; bool IsImmunedToSpell(SpellInfo const* spellInfo) const; // override Unit::IsImmunedToSpell bool IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const; // override Unit::IsImmunedToSpellEffect diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 6d6c0be5666..262d1b1a475 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -579,12 +579,6 @@ void Object::_BuildValuesUpdate(uint8 updateType, ByteBuffer* data, UpdateMask* { if (!target->canSeeSpellClickOn(this->ToCreature())) appendValue &= ~UNIT_NPC_FLAG_SPELLCLICK; - - if (appendValue & UNIT_NPC_FLAG_TRAINER) - { - if (!creature->isCanTrainingOf(target, false)) - appendValue &= ~(UNIT_NPC_FLAG_TRAINER | UNIT_NPC_FLAG_TRAINER_CLASS | UNIT_NPC_FLAG_TRAINER_PROFESSION); - } } *data << uint32(appendValue); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1d3eebf4c58..7b183c508ae 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14374,18 +14374,6 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool } break; } - case GOSSIP_OPTION_TRAINER: - if (!creature->isCanTrainingOf(this, false)) - canTalk = false; - break; - case GOSSIP_OPTION_LEARNDUALSPEC: - if (!(GetSpecsCount() == 1 && creature->isCanTrainingAndResetTalentsOf(this) && !(getLevel() < sWorld->getIntConfig(CONFIG_MIN_DUALSPEC_LEVEL)))) - canTalk = false; - break; - case GOSSIP_OPTION_UNLEARNTALENTS: - if (!creature->isCanTrainingAndResetTalentsOf(this)) - canTalk = false; - break; case GOSSIP_OPTION_UNLEARNPETTALENTS: if (!GetPet() || GetPet()->getPetType() != HUNTER_PET || GetPet()->m_spells.size() <= 1 || creature->GetCreatureTemplate()->trainer_type != TRAINER_TYPE_PETS || creature->GetCreatureTemplate()->trainer_class != CLASS_HUNTER) canTalk = false; @@ -14405,6 +14393,9 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool case GOSSIP_OPTION_QUESTGIVER: canTalk = false; break; + case GOSSIP_OPTION_TRAINER: + case GOSSIP_OPTION_LEARNDUALSPEC: + case GOSSIP_OPTION_UNLEARNTALENTS: case GOSSIP_OPTION_GOSSIP: case GOSSIP_OPTION_SPIRITGUIDE: case GOSSIP_OPTION_INNKEEPER: @@ -14418,7 +14409,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool canTalk = false; break; default: - TC_LOG_ERROR(LOG_FILTER_SQL, "Creature entry %u have unknown gossip option %u for menu %u", creature->GetEntry(), itr->second.OptionType, itr->second.MenuId); + TC_LOG_ERROR(LOG_FILTER_SQL, "Creature entry %u has unknown gossip option %u for menu %u", creature->GetEntry(), itr->second.OptionType, itr->second.MenuId); canTalk = false; break; } diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index e08373b642b..18023ae519c 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -132,10 +132,6 @@ void WorldSession::SendTrainerList(uint64 guid, const std::string& strTitle) if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - // trainer list loaded at check; - if (!unit->isCanTrainingOf(_player, true)) - return; - CreatureTemplate const* ci = unit->GetCreatureTemplate(); if (!ci) @@ -254,9 +250,6 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recvData) if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - if (!unit->isCanTrainingOf(_player, true)) - return; - // check present spell in trainer spell list TrainerSpellData const* trainer_spells = unit->GetTrainerSpells(); if (!trainer_spells) diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp index 227780daa1f..186723a1c43 100755 --- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp @@ -43,8 +43,8 @@ void PointMovementGenerator<T>::DoInitialize(T* unit) if (speed > 0.0f) init.SetVelocity(speed); init.Launch(); - - //Call for creature group update + + // Call for creature group update if (Creature* creature = unit->ToCreature()) if (creature->GetFormation() && creature->GetFormation()->getLeader() == creature) creature->GetFormation()->LeaderMoveTo(i_x, i_y, i_z); @@ -72,8 +72,8 @@ bool PointMovementGenerator<T>::DoUpdate(T* unit, uint32 /*diff*/) if (speed > 0.0f) // Default value for point motion type is 0.0, if 0.0 spline will use GetSpeed on unit init.SetVelocity(speed); init.Launch(); - - //Call for creature group update + + // Call for creature group update if (Creature* creature = unit->ToCreature()) if (creature->GetFormation() && creature->GetFormation()->getLeader() == creature) creature->GetFormation()->LeaderMoveTo(i_x, i_y, i_z); diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index c49514cacc4..e6a7b096a34 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1664,7 +1664,7 @@ public: // Only fetch these fields if commander has sufficient rights) if (handler->HasPermission(RBAC_PERM_COMMANDS_PINFO_CHECK_PERSONAL_DATA) && // RBAC Perm. 48, Role 39 - (!handler->GetSession() || handler->GetSession()->GetSecurity() >= security)) + (!handler->GetSession() || handler->GetSession()->GetSecurity() >= AccountTypes(security))) { eMail = fields[2].GetString(); lastIp = fields[3].GetString(); diff --git a/src/server/scripts/Northrend/Gundrak/gundrak.h b/src/server/scripts/Northrend/Gundrak/gundrak.h index a43edb4fcd7..f47b71cd48e 100644 --- a/src/server/scripts/Northrend/Gundrak/gundrak.h +++ b/src/server/scripts/Northrend/Gundrak/gundrak.h @@ -51,7 +51,8 @@ enum mainCreatures CREATURE_ECK = 29932 }; -enum Gameobjects { +enum Gameobjects +{ GO_SLADRAN_ALTAR = 192518, GO_MOORABI_ALTAR = 192519, @@ -67,7 +68,6 @@ enum Gameobjects { GO_GALDARAH_DOOR3 = 192568, GO_BRIDGE = 193188, GO_COLLISION = 192633 - }; #endif diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 56841fcdaa1..6bd2132bf16 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -1263,10 +1263,10 @@ public: if (creature->isTrainer()) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); - if (creature->isCanTrainingAndResetTalentsOf(player)) + if (player->getClass() == CLASS_ROGUE) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_HELLO_ROGUE1, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_UNLEARNTALENTS); - if (player->GetSpecsCount() == 1 && creature->isCanTrainingAndResetTalentsOf(player) && player->getLevel() >= sWorld->getIntConfig(CONFIG_MIN_DUALSPEC_LEVEL)) + if (player->GetSpecsCount() == 1 && player->getLevel() >= sWorld->getIntConfig(CONFIG_MIN_DUALSPEC_LEVEL)) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_HELLO_ROGUE3, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_LEARNDUALSPEC); if (player->getClass() == CLASS_ROGUE && player->getLevel() >= 24 && !player->HasItemCount(17126) && !player->GetQuestRewardStatus(6681)) |