aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_02_05_00_world_misc.sql126
-rw-r--r--sql/updates/world/2012_02_05_04_world_misc.sql (renamed from sql/updates/world/2011_02_05_04_world_misc.sql)0
-rw-r--r--sql/updates/world/2012_02_05_04_world_quest_template.sql (renamed from sql/updates/world/2011_02_05_04_world_quest_template.sql)0
-rw-r--r--sql/updates/world/2012_02_06_00_world_misc.sql731
-rw-r--r--sql/updates/world/2012_02_07_00_world_misc.sql60
-rw-r--r--sql/updates/world/2012_02_08_00_world_misc.sql20
-rw-r--r--sql/updates/world/2012_02_08_01_world_misc.sql1
-rw-r--r--sql/updates/world/2012_02_08_02_world_misc.sql27
-rw-r--r--sql/updates/world/2012_02_08_03_world_misc.sql24
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp4
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h1097
-rwxr-xr-xsrc/server/game/Scripting/ScriptLoader.cpp2
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp1
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/westfall.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp2
-rw-r--r--src/server/scripts/Kalimdor/durotar.cpp2
-rw-r--r--src/server/scripts/Kalimdor/mulgore.cpp2
-rw-r--r--src/server/scripts/Kalimdor/the_barrens.cpp2
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp2
-rw-r--r--src/server/scripts/Northrend/grizzly_hills.cpp2
-rw-r--r--src/server/scripts/Northrend/icecrown.cpp157
-rw-r--r--src/server/scripts/Northrend/sholazar_basin.cpp81
-rw-r--r--src/server/scripts/Outland/shadowmoon_valley.cpp2
-rw-r--r--src/server/scripts/Spells/CMakeLists.txt1
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp5
-rw-r--r--src/server/scripts/Spells/spell_holiday.cpp110
34 files changed, 2061 insertions, 432 deletions
diff --git a/sql/updates/world/2012_02_05_00_world_misc.sql b/sql/updates/world/2012_02_05_00_world_misc.sql
new file mode 100644
index 00000000000..c5c4cfc43a6
--- /dev/null
+++ b/sql/updates/world/2012_02_05_00_world_misc.sql
@@ -0,0 +1,126 @@
+-- Argent Tournament Trainers part
+SET @SPELL_ON_ARGENT_MOUNT := 63034;
+
+SET @NPC_JAERAN_LOCKWOOD := 33973;
+SET @QUEST_MASTERY_OF_MELEE_A := 13828;
+SET @QUEST_MASTERY_OF_MELEE_H := 13829;
+
+SET @GOSSIP_MENU_JERAN_MOUNTED := 10398;
+SET @GOSSIP_MENU_JERAN_EXPLANATION := 10397; -- From Aokromes Sniffs
+
+SET @GOSSIP_TEXT_JERAN_MOUNTED := 14431;
+SET @GOSSIP_TEXT_JERAN_EXPLANATION := 14434;
+SET @SPELL_CREDIT_JERAN := 64113;
+
+SET @NPC_RUGAN_STEELBELLY := 33972;
+SET @QUEST_MASTERY_OF_CHARGE_A := 13837;
+SET @QUEST_MASTERY_OF_CHARGE_H := 13839;
+
+SET @GOSSIP_MENU_RUGAN_MOUNTED := 10400;
+SET @GOSSIP_MENU_RUGAN_EXPLANATION := 10399; -- From Aokromes Sniffs
+
+SET @GOSSIP_TEXT_RUGAN_MOUNTED := 14436;
+SET @GOSSIP_TEXT_RUGAN_EXPLANATION := 14437;
+SET @SPELL_CREDIT_RUGAN := 64114;
+
+SET @NPC_VALIS_WINDCHASER := 33974;
+SET @QUEST_MASTERY_OF_SH_BREAKER_A := 13835;
+SET @QUEST_MASTERY_OF_SH_BREAKER_H := 13838;
+
+SET @GOSSIP_MENU_VALIS_MOUNTED := 10402;
+SET @GOSSIP_MENU_VALIS_EXPLANATION := 10401; -- From Aokromes Sniffs
+
+SET @GOSSIP_TEXT_VALIS_MOUNTED := 14438;
+SET @GOSSIP_TEXT_VALIS_EXPLANATION := 14439;
+SET @SPELL_CREDIT_VALIS := 64115;
+
+UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` IN (@NPC_JAERAN_LOCKWOOD,@NPC_RUGAN_STEELBELLY,@NPC_VALIS_WINDCHASER);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_JAERAN_LOCKWOOD,@NPC_RUGAN_STEELBELLY,@NPC_VALIS_WINDCHASER) 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
+(@NPC_JAERAN_LOCKWOOD,0,0,0,64,0,100,0,0,0,0,0,98,@GOSSIP_MENU_JERAN_MOUNTED,@GOSSIP_TEXT_JERAN_MOUNTED,0,0,0,0,7,0,0,0,0,0,0,0,'Jeran Lockwood - Send different gossip when mounted (Requires conditions)'),
+(@NPC_JAERAN_LOCKWOOD,0,1,3,62,0,100,0,@GOSSIP_MENU_JERAN_MOUNTED,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Jeran Lockwood - Send text when option clicked'),
+(@NPC_JAERAN_LOCKWOOD,0,2,3,62,0,100,0,@GOSSIP_MENU_JERAN_EXPLANATION,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Jeran Lockwood - Send text when option clicked'),
+(@NPC_JAERAN_LOCKWOOD,0,3,4,61,0,100,0,0,0,0,0,11,@SPELL_CREDIT_JERAN,0,0,0,0,0,7,0,0,0,0,0,0,0,'Jeran Lockwood - Give Credit'),
+(@NPC_JAERAN_LOCKWOOD,0,4,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Jeran Lockwood - Close Gossip'),
+
+(@NPC_RUGAN_STEELBELLY,0,0,0,64,0,100,0,0,0,0,0,98,@GOSSIP_MENU_RUGAN_MOUNTED,@GOSSIP_TEXT_RUGAN_MOUNTED,0,0,0,0,7,0,0,0,0,0,0,0,'Rugan Steelbelly - Send different gossip when mounted (Requires conditions)'),
+(@NPC_RUGAN_STEELBELLY,0,1,3,62,0,100,0,@GOSSIP_MENU_RUGAN_MOUNTED,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rugan Steelbelly - Send text when option clicked'),
+(@NPC_RUGAN_STEELBELLY,0,2,3,62,0,100,0,@GOSSIP_MENU_RUGAN_EXPLANATION,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rugan Steelbelly - Send text when option clicked'),
+(@NPC_RUGAN_STEELBELLY,0,3,4,61,0,100,0,0,0,0,0,11,@SPELL_CREDIT_RUGAN,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rugan Steelbelly - Give Credit'),
+(@NPC_RUGAN_STEELBELLY,0,4,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Rugan Steelbelly - Close Gossip'),
+
+(@NPC_VALIS_WINDCHASER,0,0,0,64,0,100,0,0,0,0,0,98,@GOSSIP_MENU_VALIS_MOUNTED,@GOSSIP_TEXT_VALIS_MOUNTED,0,0,0,0,7,0,0,0,0,0,0,0,'Valis Windchaser - Send different gossip when mounted (Requires conditions)'),
+(@NPC_VALIS_WINDCHASER,0,1,3,62,0,100,0,@GOSSIP_MENU_VALIS_MOUNTED,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Valis Windchaser - Send text when option clicked'),
+(@NPC_VALIS_WINDCHASER,0,2,3,62,0,100,0,@GOSSIP_TEXT_VALIS_EXPLANATION,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Valis Windchaser - Send text when option clicked'),
+(@NPC_VALIS_WINDCHASER,0,3,4,61,0,100,0,0,0,0,0,11,@SPELL_CREDIT_VALIS,0,0,0,0,0,7,0,0,0,0,0,0,0,'Valis Windchaser - Give Credit'),
+(@NPC_VALIS_WINDCHASER,0,4,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Valis Windchaser - Close Gossip');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN (@NPC_JAERAN_LOCKWOOD,@NPC_RUGAN_STEELBELLY,@NPC_VALIS_WINDCHASER);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (@GOSSIP_MENU_JERAN_MOUNTED,@GOSSIP_MENU_RUGAN_MOUNTED,@GOSSIP_MENU_VALIS_MOUNTED);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,@NPC_JAERAN_LOCKWOOD,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'','SAI - Jeran Lockwood show different menu if player mounted'),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,0,0,0,9,@QUEST_MASTERY_OF_MELEE_A,0,0,0,'',"Jeran Lockwood - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,0,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Jeran Lockwood - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,0,0,1,9,@QUEST_MASTERY_OF_MELEE_H,0,0,0,'',"Jeran Lockwood - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,0,0,1,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Jeran Lockwood - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,1,0,0,9,@QUEST_MASTERY_OF_MELEE_A,0,0,0,'',"Jeran Lockwood - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,1,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Jeran Lockwood - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,1,0,1,9,@QUEST_MASTERY_OF_MELEE_H,0,0,0,'',"Jeran Lockwood - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_JERAN_MOUNTED,1,0,1,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Jeran Lockwood - Show gossip if player has aura"),
+
+(22,1,@NPC_RUGAN_STEELBELLY,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'','SAI - Rugan Steelbelly show different menu if player mounted'),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,0,0,0,9,@QUEST_MASTERY_OF_CHARGE_A,0,0,0,'',"Rugan Steelbelly - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,0,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Rugan Steelbelly - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,0,0,1,9,@QUEST_MASTERY_OF_CHARGE_H,0,0,0,'',"Rugan Steelbelly - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,0,0,1,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Rugan Steelbelly - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,1,0,0,9,@QUEST_MASTERY_OF_CHARGE_A,0,0,0,'',"Rugan Steelbelly - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,1,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Rugan Steelbelly - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,1,0,1,9,@QUEST_MASTERY_OF_CHARGE_H,0,0,0,'',"Rugan Steelbelly - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_RUGAN_MOUNTED,1,0,1,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Rugan Steelbelly - Show gossip if player has aura"),
+
+(22,1,@NPC_VALIS_WINDCHASER,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'','SAI - Valis Windchaser show different menu if player mounted'),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,0,0,0,9,@QUEST_MASTERY_OF_SH_BREAKER_A,0,0,0,'',"Valis Windchaser - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,0,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Valis Windchaser - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,0,0,1,9,@QUEST_MASTERY_OF_SH_BREAKER_H,0,0,0,'',"Valis Windchaser - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,0,0,1,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Valis Windchaser - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,1,0,0,9,@QUEST_MASTERY_OF_SH_BREAKER_A,0,0,0,'',"Valis Windchaser - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,1,0,0,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Valis Windchaser - Show gossip if player has aura"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,1,0,1,9,@QUEST_MASTERY_OF_SH_BREAKER_H,0,0,0,'',"Valis Windchaser - Show gossip if player has quest"),
+(15,@GOSSIP_MENU_VALIS_MOUNTED,1,0,1,1,@SPELL_ON_ARGENT_MOUNT,0,0,0,'',"Valis Windchaser - Show gossip if player has aura");
+
+DELETE FROM `gossip_menu` WHERE `entry` IN (@GOSSIP_MENU_JERAN_EXPLANATION,@GOSSIP_MENU_RUGAN_EXPLANATION,@GOSSIP_MENU_VALIS_EXPLANATION);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
+(@GOSSIP_MENU_JERAN_EXPLANATION,@GOSSIP_TEXT_JERAN_EXPLANATION),
+(@GOSSIP_MENU_RUGAN_EXPLANATION,@GOSSIP_TEXT_RUGAN_EXPLANATION),
+(@GOSSIP_MENU_VALIS_EXPLANATION,@GOSSIP_TEXT_VALIS_EXPLANATION);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (@GOSSIP_MENU_JERAN_MOUNTED,@GOSSIP_MENU_JERAN_EXPLANATION,@GOSSIP_MENU_RUGAN_MOUNTED,@GOSSIP_MENU_RUGAN_EXPLANATION,@GOSSIP_MENU_VALIS_MOUNTED,@GOSSIP_MENU_VALIS_EXPLANATION);
+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_MENU_JERAN_MOUNTED,0,0,'Show me how to train with a Melee Target.',1,1,0,0,0,0,''),
+(@GOSSIP_MENU_JERAN_MOUNTED,1,0,'Tell me more about Defend and Thrust!',1,1,@GOSSIP_MENU_JERAN_EXPLANATION,0,0,0,''),
+(@GOSSIP_MENU_JERAN_EXPLANATION,0,0,'Show me how to train with a Melee Target.',1,1,0,0,0,0,''),
+
+(@GOSSIP_MENU_RUGAN_MOUNTED,0,0,'Show me how to train with a Charge Target.',1,1,0,0,0,0,''),
+(@GOSSIP_MENU_RUGAN_MOUNTED,1,0,'Tell me more about the Charge!',1,1,@GOSSIP_MENU_RUGAN_EXPLANATION,0,0,0,''),
+(@GOSSIP_MENU_RUGAN_EXPLANATION,0,0,'Show me how to train with a Charge Target.',1,1,0,0,0,0,''),
+
+(@GOSSIP_MENU_VALIS_MOUNTED,0,0,'Show me how to train with a Ranged Target.',1,1,0,0,0,0,''),
+(@GOSSIP_MENU_VALIS_MOUNTED,1,0,'Tell me more about the Shield-Breaker!',1,1,@GOSSIP_MENU_VALIS_EXPLANATION,0,0,0,''),
+(@GOSSIP_MENU_VALIS_EXPLANATION,0,0,'Show me how to train with a Ranged Target.',1,1,0,0,0,0,'');
+
+DELETE FROM `creature_text` WHERE `entry` IN (@NPC_JAERAN_LOCKWOOD,@NPC_RUGAN_STEELBELLY,@NPC_VALIS_WINDCHASER);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(@NPC_JAERAN_LOCKWOOD,0,0,'Put up defend$B|TInterface\\Icons\\ability_warrior_shieldmastery.blp:32|t$BThen use Thrust on a Melee Target$B|TInterface\\Icons\\inv_sword_65.blp:32|t',42,0,0,0,0,0,'Argent Tournament - Melee Tutorial'),
+(@NPC_RUGAN_STEELBELLY,0,0,'Use Shield-Breaker on a Charge Target$B|TInterface\\Icons\\ability_warrior_shieldbreak.blp:32|t$BFollow up with Charge while the target is vulnerable$B|TInterface\\Icons\\ability_mount_charger.blp:32|t',42,0,0,0,0,0,'Argent Tournament - Charge Tutorial'),
+(@NPC_VALIS_WINDCHASER,0,0,'Use Shield-Breaker on a Ranged Target$B|TInterface\\Icons\\ability_warrior_shieldbreak.blp:32|t$BThen use Shield-Breaker while the target is defenseless$B|TInterface\\Icons\\ability_warrior_shieldbreak.blp:32|t',42,0,0,0,0,0,'Argent Tournament - Ranged Tutorial');
+
+-- Training Dummies Part
+UPDATE `creature_template` SET `ScriptName` = 'npc_tournament_training_dummy' WHERE `entry` IN (33272,33229,33243);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=62709;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,0,62709,0,0,18,1,33845,0,0, '','Counterattack! (Argent Tournament) - Target near aspirant mounts'),
+(13,0,62709,0,0,18,1,33323,0,0, '','Counterattack! (Argent Tournament) - Target near aspirant mounts');
+
+DELETE FROM `spell_script_names` WHERE `spell_id`=62709;
+INSERT INTO `spell_script_names` VALUES (62709, 'spell_gen_tournament_counterattack');
diff --git a/sql/updates/world/2011_02_05_04_world_misc.sql b/sql/updates/world/2012_02_05_04_world_misc.sql
index 0d72b08167e..0d72b08167e 100644
--- a/sql/updates/world/2011_02_05_04_world_misc.sql
+++ b/sql/updates/world/2012_02_05_04_world_misc.sql
diff --git a/sql/updates/world/2011_02_05_04_world_quest_template.sql b/sql/updates/world/2012_02_05_04_world_quest_template.sql
index 093ca8aa8bf..093ca8aa8bf 100644
--- a/sql/updates/world/2011_02_05_04_world_quest_template.sql
+++ b/sql/updates/world/2012_02_05_04_world_quest_template.sql
diff --git a/sql/updates/world/2012_02_06_00_world_misc.sql b/sql/updates/world/2012_02_06_00_world_misc.sql
new file mode 100644
index 00000000000..984c618775d
--- /dev/null
+++ b/sql/updates/world/2012_02_06_00_world_misc.sql
@@ -0,0 +1,731 @@
+-- change incorrect Paladin Trainers gossips
+-- 4477 -> 4677
+-- 4478 -> 4678
+-- Gossip Condition for Paladin Trainers
+SET @GOSSIP := 4677;
+SET @TEXTYES := 3974;
+SET @TEXTNO := 3975;
+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,2,0,0,0,'','Show gossip text if player is a Paladin'),
+(14,@GOSSIP,@TEXTNO,0,15,1533,0,0,0,'','Show gossip text if player is not a Paladin');
+-- 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 would like to train further in the ways of the Light.",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 Paladin Trainers
+SET @GOSSIP := 4678;
+SET @TEXTYES := 3974;
+SET @TEXTNO := 3975;
+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,2,0,0,0,'','Show gossip text if player is a Paladin'),
+(14,@GOSSIP,@TEXTNO,0,15,1533,0,0,0,'','Show gossip text if player is not a Paladin');
+-- 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 would like to train further in the ways of the Light.",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,'');
+
+-- Delete conditions and menu_id for old typo gossips
+DELETE FROM `conditions` WHERE `SourceGroup`=4477 AND `SourceEntry`=3974;
+DELETE FROM `conditions` WHERE `SourceGroup`=4477 AND `SourceEntry`=3975;
+DELETE FROM `conditions` WHERE `SourceGroup`=4478 AND `SourceEntry`=3974;
+DELETE FROM `conditions` WHERE `SourceGroup`=4478 AND `SourceEntry`=3975;
+DELETE FROM `gossip_menu_option` WHERE menu_id=4477;
+DELETE FROM `gossip_menu_option` WHERE menu_id=4478;
+
+-- Gossip Condition for Mage Trainers
+SET @GOSSIP := 4535; -- http://www.wowhead.com/npc=3049 "Thunder Bluff"
+SET @TEXTYES := 562;
+SET @TEXTNO := 563;
+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,128,0,0,0,'','Show gossip text if player is a mage'),
+(14,@GOSSIP,@TEXTNO,0,15,1407,0,0,0,'','Show gossip text if player is not a mage');
+-- 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 am interested in mage training.",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,'');
+UPDATE `creature_template` SET `gossip_menu_id`=@GOSSIP WHERE `entry`=3049;
+
+-- XXXXXXXXXXXXXXXXXXXXX
+-- X Priest Trainers X
+-- XXXXXXXXXXXXXXXXXXXXX
+
+UPDATE `creature_template` SET `gossip_menu_id`=3643 WHERE `entry`=11397; -- 3643
+UPDATE `creature_template` SET `gossip_menu_id`=4533 WHERE `entry`=3044; -- 4533
+UPDATE `creature_template` SET `gossip_menu_id`=4531 WHERE `entry`=3045; -- 4531
+UPDATE `creature_template` SET `gossip_menu_id`=4532 WHERE `entry`=3046; -- 4532
+UPDATE `creature_template` SET `gossip_menu_id`=4544 WHERE `entry`=4606; -- 4544
+UPDATE `creature_template` SET `gossip_menu_id`=7265 WHERE `entry`=16756; -- 7265
+UPDATE `creature_template` SET `gossip_menu_id`=7265 WHERE `entry` IN (17510,17511); -- 7265
+UPDATE `creature_template` SET `gossip_menu_id`=4558 WHERE `entry`=5142; -- 4558
+UPDATE `creature_template` SET `gossip_menu_id`=4559 WHERE `entry`=5141; -- 4559
+UPDATE `creature_template` SET `gossip_menu_id`=4572 WHERE `entry`=4092; -- 4572
+UPDATE `creature_template` SET `gossip_menu_id`=4574 WHERE `entry`=4090; -- 4574
+UPDATE `creature_template` SET `gossip_menu_id`=4692 WHERE `entry`=3595; -- 4692
+UPDATE `creature_template` SET `gossip_menu_id`=7349 WHERE `entry`=16502; -- 7349
+UPDATE `creature_template` SET `gossip_menu_id`=4801 WHERE `entry`=11401; -- 4801
+UPDATE `creature_template` SET `gossip_menu_id`=3642 WHERE `entry`=11406; -- 3642
+
+-- Gossip Condition for Priest Trainers
+SET @GOSSIP := 3642;
+SET @TEXTYES := 4436;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 3643;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 would like to train.",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 Priest Trainers
+SET @GOSSIP := 3644;
+SET @TEXTYES := 4441;
+SET @TEXTNO := 4440;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 3645;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4439;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4466;
+SET @TEXTYES := 4433;
+SET @TEXTNO := 4434;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4467;
+SET @TEXTYES := 4433;
+SET @TEXTNO := 4434;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4468;
+SET @TEXTYES := 4433;
+SET @TEXTNO := 4434;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4521;
+SET @TEXTYES := 4441;
+SET @TEXTNO := 4440;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4522;
+SET @TEXTYES := 4441;
+SET @TEXTNO := 4440;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4523;
+SET @TEXTYES := 4441;
+SET @TEXTNO := 4440;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4531;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4532;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4533;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4543;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4544;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4545;
+SET @TEXTYES := 4442;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4558;
+SET @TEXTYES := 4436;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4559;
+SET @TEXTYES := 4436;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4572;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4573;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4574;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4665;
+SET @TEXTYES := 4433;
+SET @TEXTNO := 4434;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4666;
+SET @TEXTYES := 4433;
+SET @TEXTNO := 4434;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4679;
+SET @TEXTYES := 4436;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4680;
+SET @TEXTYES := 4436;
+SET @TEXTNO := 4435;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4691;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4692;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 4801;
+SET @TEXTYES := 4438;
+SET @TEXTNO := 4437;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 6649;
+SET @TEXTYES := 9007;
+SET @TEXTNO := 9186;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 require priest training.",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 Priest Trainers
+SET @GOSSIP := 7265;
+SET @TEXTYES := 8591;
+SET @TEXTNO := 8592;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 7349;
+SET @TEXTYES := 8591;
+SET @TEXTNO := 8768;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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 Priest Trainers
+SET @GOSSIP := 7438;
+SET @TEXTYES := 9007;
+SET @TEXTNO := 9186;
+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,16,0,0,0,'','Show gossip text if player is a Priest'),
+(14,@GOSSIP,@TEXTNO,0,15,1519,0,0,0,'','Show gossip text if player is not a Priest');
+-- 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 more training in the priestly ways.",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,''); \ No newline at end of file
diff --git a/sql/updates/world/2012_02_07_00_world_misc.sql b/sql/updates/world/2012_02_07_00_world_misc.sql
new file mode 100644
index 00000000000..ef34c56ed00
--- /dev/null
+++ b/sql/updates/world/2012_02_07_00_world_misc.sql
@@ -0,0 +1,60 @@
+DELETE FROM `creature` WHERE `id` IN (28538,29056,28563);
+DELETE FROM `creature` WHERE `id`=28320 AND `guid` BETWEEN 40451 AND 40462 OR `guid` IN (40466,40467);
+INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES
+-- Cultist Saboteur
+(40271,28538,571,1,1,0,0,6197.03,4772.67,221.593,4.62512,120,0,0,1,0,0,0,0,0),
+(40272,28538,571,1,1,0,0,6207.94,4791.03,224.951,0.504098,120,0,0,1,0,0,0,0,0),
+(40273,28538,571,1,1,0,0,6209.31,4766.71,224.144,3.22886,120,0,0,1,0,0,0,0,0),
+(40274,28538,571,1,1,0,0,6177.88,4737.93,224.747,2.24767,120,0,0,1,0,0,0,0,0),
+(40275,28538,571,1,1,0,0,6185.42,4760.61,224.796,1.62316,120,0,0,1,0,0,0,0,0),
+(40276,28538,571,1,1,0,0,6195.94,4761.25,220.873,1.53589,120,0,0,1,0,0,0,0,0),
+(40277,28538,571,1,1,0,0,6231.93,4739.39,224.738,5.95606,120,0,0,1,0,0,0,0,0),
+(40278,28538,571,1,1,0,0,6208.1,4762.39,222.758,2.87979,120,0,0,1,0,0,0,0,0),
+-- Servant of Freya
+(40451,28320,571,1,1,0,0,6177.58,4762.69,225.418,1.78024,120,0,0,1,0,0,0,0,0),
+(40452,28320,571,1,1,0,0,6236,4785.33,224.865,1.90241,120,0,0,1,0,0,0,0,0),
+(40453,28320,571,1,1,0,0,6218.78,4772.22,224.84,5.41052,120,0,0,1,0,0,0,0,0),
+(40454,28320,571,1,1,0,0,6191.46,4728.85,224.807,5.86431,120,0,0,1,0,0,0,0,0),
+(40455,28320,571,1,1,0,0,6206.62,4787.49,224.797,4.64258,120,0,0,1,0,0,0,0,0),
+(40456,28320,571,1,1,0,0,6185.58,4761.77,224.796,4.39823,120,0,0,1,0,0,0,0,0),
+(40457,28320,571,1,1,0,0,6226.41,4738,224.796,5.61996,120,0,0,1,0,0,0,0,0),
+(40458,28320,571,1,1,0,0,6206.94,4750.79,224.796,3.78736,120,0,0,1,0,0,0,0,0),
+(40459,28320,571,1,1,0,0,6238.17,4731.89,224.783,3.92699,120,0,0,1,0,0,0,0,0),
+(40460,28320,571,1,1,0,0,6177.83,4730.03,224.693,0.244346,120,0,0,1,0,0,0,0,0),
+(40461,28320,571,1,1,0,0,6168.2,4749.64,224.577,5.0091,120,0,0,1,0,0,0,0,0),
+(40462,28320,571,1,1,0,0,6242.58,4769.51,224.443,2.98451,120,0,0,1,0,0,0,0,0),
+(40466,28320,571,1,1,0,0,6217.79,4796.46,224.431,1.39626,120,0,0,1,0,0,0,0,0),
+(40467,28320,571,1,1,0,0,6254.19,4757.5,217.856,0.837758,120,0,0,1,0,0,0,0,0),
+-- Glimmering Pillar Credit
+(40468,29056,571,1,1,0,0,6201.76,4764.45,225.84,3.19395,120,0,0,1,0,0,0,0,0),
+-- Freya's Presence
+(40469,28563,571,1,1,0,0,6203.26,4765.47,248.057,1.95477,120,0,0,1,0,0,0,0,0);
+
+-- by Valcorb
+DELETE FROM `gameobject` WHERE `id`=300223;
+INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
+(227,300223,571,1,1,6204.758301,4766.002930,221.531799,0,0,0,0,0,300,0,1);
+
+UPDATE `creature_template` SET `unit_flags`=0,`MovementType`=1 WHERE `entry`=28320; -- Servant of Freya
+UPDATE `creature_template` SET `MovementType`=1 WHERE `entry`=28538; -- Cultist Saboteur
+UPDATE `creature_template` SET `exp`=0,`InhabitType`=7,`flags_extra`=`flags_extra`|128 WHERE `entry`=28563; -- Freya's Presence
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (28538,29036,28320,28563);
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(28538,0,0,1,69, NULL), -- Cultist Saboteur (EMOTE_STATE_USE_STANDING)
+(29036,0,0,1,0, '52948 61750 61751'), -- Servant of Freya (All Wild Growth, visual effects)
+(28320,0,0,1,429, NULL), -- Servant of Freya
+(28563,0,0,1,0, NULL); -- Freya's Presence
+
+DELETE FROM `creature_text` WHERE `entry`=28563;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(28563,0,0, 'The structure above begins to hum with energy.',42,0,0,0,0,0, 'Freya''s Presence - On Call of the Lifewarden cast');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (51318,51395);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(13,0,51318,0,0,18,1,28320,0,0, '', 'Freya Dummy - Target Servant of Freya'),
+(13,0,51395,0,0,18,1,28538,0,0, '', 'Lifeforce - Target Cultist Saboteur');
+
+DELETE FROM `spell_script_names` WHERE `spell_id`=51957;
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(51957,'spell_q12620_the_lifewarden_wrath');
diff --git a/sql/updates/world/2012_02_08_00_world_misc.sql b/sql/updates/world/2012_02_08_00_world_misc.sql
new file mode 100644
index 00000000000..40ce5629214
--- /dev/null
+++ b/sql/updates/world/2012_02_08_00_world_misc.sql
@@ -0,0 +1,20 @@
+UPDATE `gameobject_template` SET `flags` = `flags` | 32, `AIName` = 'SmartGameObjectAI' WHERE `entry` = 187267;
+
+DELETE FROM `spell_script_names` WHERE `spell_id` = 45102;
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(45102, 'spell_love_is_in_the_air_romantic_picnic');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` IN (45119, 45103, 45114);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13, 0, 45119, 0, 0, 18, 0, 187267, 0, 0, '', 'Holiday - Valentine - Romantic Picnic Near Basket Check - Target Romantic Basket'),
+(13, 0, 45103, 0, 0, 18, 1, 0, 0, 0, '', 'Holiday - Valentine - Romantic Picnic Meal Periodic - Target Players'),
+(13, 0, 45114, 0, 0, 18, 1, 0, 0, 0, '', 'Holiday - Valentine - Romantic Picnic Meal Particle - Target Players');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid`=187267 AND `source_type`=1;
+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
+(187267, 1, 0, 0, 60, 0, 100, 0, 3*60*1000, 3*60*1000, 0, 0, 99, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Picnic Basket - Despawn after 3 minutes');
+
+DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (1291,5787,4071);
+INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES
+(5787, 6, 4395, 0, ''), -- Lonely? - Dalaran
+(4071, 6, 4395, 0, ''); -- Lonely? - Dalaran
diff --git a/sql/updates/world/2012_02_08_01_world_misc.sql b/sql/updates/world/2012_02_08_01_world_misc.sql
new file mode 100644
index 00000000000..6580c61a183
--- /dev/null
+++ b/sql/updates/world/2012_02_08_01_world_misc.sql
@@ -0,0 +1 @@
+UPDATE `achievement_criteria_data` SET `value1`=423 WHERE `value1`=355 AND `type`=16;
diff --git a/sql/updates/world/2012_02_08_02_world_misc.sql b/sql/updates/world/2012_02_08_02_world_misc.sql
new file mode 100644
index 00000000000..64b6ba82cc9
--- /dev/null
+++ b/sql/updates/world/2012_02_08_02_world_misc.sql
@@ -0,0 +1,27 @@
+-- Missing Love is in the Air NPCs
+SET @GUID := 40481; -- need 8
+
+DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID+7 AND `id` IN (37887,38039,38040,38066,38325,38293);
+INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES
+(@GUID+0,37887,0,1,1,0,0,-8864.01,635.646,96.0818,1.97249,300,0,0,42,0,0,2,0,8), -- Kwee Q. Peddlefeet <Crown Chemical Co.>
+(@GUID+1,38039,1,1,1,0,0,9871.16,2488.28,1315.88,0.547356,300,0,0,42,0,0,2,0,8), -- Kwee Q. Peddlefeet <Crown Chemical Co.>
+(@GUID+2,38040,530,1,1,0,0,-4010.12,-11846.9,0.1352,5.42082,300,0,0,42,0,0,2,0,8), -- Kwee Q. Peddlefeet <Crown Chemical Co.>
+(@GUID+3,38040,0,1,1,0,0,-4915.43,-979.532,501.448,2.31443,300,0,0,42,0,0,2,0,8), -- Kwee Q. Peddlefeet <Crown Chemical Co.>
+(@GUID+4,38066,0,1,1,0,0,-8867.86,652.647,97.0113,4.84704,300,0,0,42,0,0,2,0,8), -- Inspector Snip Snagglebolt
+(@GUID+5,38325,0,1,1,0,0,-8881.19,669.006,105.834,0.696214,300,0,0,42,0,0,2,0,8), -- Marion Sutton
+(@GUID+6,38293,0,1,1,0,0,-4932.9,-995.348,501.441,0.7201,300,0,0,42,0,0,2,0,8), -- Junior Inspector
+(@GUID+7,38293,1,1,1,0,0,9885.37,2494.31,1315.92,3.01351,300,0,0,42,0,0,2,0,8); -- Junior Inspector
+
+DELETE FROM `game_event_creature` WHERE `eventEntry`=8 AND `guid` BETWEEN @GUID AND @GUID+7;
+INSERT INTO `game_event_creature` (`guid`,`eventEntry`) VALUES
+(@GUID+0,8),
+(@GUID+1,8),
+(@GUID+2,8),
+(@GUID+3,8),
+(@GUID+4,8),
+(@GUID+5,8),
+(@GUID+6,8),
+(@GUID+7,8);
+
+-- Fixing an old SAI, by Aokromes, not related with above code
+ UPDATE `smart_scripts` SET `event_param1`=56033 WHERE `entryorguid`=30146 and `event_param1` = 42837;
diff --git a/sql/updates/world/2012_02_08_03_world_misc.sql b/sql/updates/world/2012_02_08_03_world_misc.sql
new file mode 100644
index 00000000000..80d2fd901fc
--- /dev/null
+++ b/sql/updates/world/2012_02_08_03_world_misc.sql
@@ -0,0 +1,24 @@
+-- Template updates
+UPDATE `creature_template` SET `npcflag`=`npcflag`|3,`unit_flags`=`unit_flags`|32768,`speed_run`=1 WHERE `name`='Kwee Q. Peddlefeet' AND `IconName`!=NULL; -- Kwee Q. Peddlefeet
+UPDATE `creature_template` SET `npcflag`=`npcflag`|3,`unit_flags`=`unit_flags`|512 WHERE `entry`=38066; -- Inspector Snip Snagglebolt
+UPDATE `creature_template` SET `npcflag`=`npcflag`|2 WHERE `entry`=38325; -- Marion Sutton
+UPDATE `creature_template` SET `npcflag`=`npcflag`|2 WHERE `entry`=38293; -- Junior Inspector (NS)
+
+-- Model data
+UPDATE `creature_model_info` SET `bounding_radius`=0.29,`combat_reach`=2.5,`gender`=0 WHERE `modelid`=15990; -- Kwee Q. Peddlefeet
+UPDATE `creature_model_info` SET `bounding_radius`=0.306,`combat_reach`=1.5,`gender`=0 WHERE `modelid`=30728; -- Inspector Snip Snagglebolt
+UPDATE `creature_model_info` SET `bounding_radius`=0.208,`combat_reach`=1.5,`gender`=0 WHERE `modelid`=31040; -- Marion Sutton
+
+-- Addon data
+DELETE FROM `creature_template_addon` WHERE `entry` IN (37887,38039,38040,38066,38325);
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(37887,0,0,1,0, NULL), -- Kwee Q. Peddlefeet
+(38039,0,0,1,0, NULL), -- Kwee Q. Peddlefeet
+(38040,0,0,1,0, NULL), -- Kwee Q. Peddlefeet
+(38066,0,0,257,0, NULL), -- Inspector Snip Snagglebolt
+(38325,0,1,1,0, NULL); -- Marion Sutton
+
+-- Gossip, unfinished
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=10948 AND `id`=0;
+INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `box_coded`, `box_money`, `box_text`) VALUES
+(10948, 0, 0, 'I''d like a Lovely Charm Collector''s Kit.', 0, 0, '');
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 945b239c5dd..63b1729766b 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -1291,9 +1291,9 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
// Hmmmm dont like this emotes client must by self do all animations
if (damageInfo->HitInfo & HITINFO_CRITICALHIT)
- victim->HandleEmoteCommand(EMOTE_ONESHOT_WOUNDCRITICAL);
+ victim->HandleEmoteCommand(EMOTE_ONESHOT_WOUND_CRITICAL);
if (damageInfo->blocked_amount && damageInfo->TargetState != VICTIMSTATE_BLOCKS)
- victim->HandleEmoteCommand(EMOTE_ONESHOT_PARRYSHIELD);
+ victim->HandleEmoteCommand(EMOTE_ONESHOT_PARRY_SHIELD);
if (damageInfo->TargetState == VICTIMSTATE_PARRY)
{
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 78c49092740..da4f022a4b0 100755
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -95,6 +95,7 @@ enum Races
// Class value is index in ChrClasses.dbc
enum Classes
{
+ CLASS_NONE = 0,
CLASS_WARRIOR = 1,
CLASS_PALADIN = 2,
CLASS_HUNTER = 3,
@@ -1502,6 +1503,7 @@ enum GameObjectDestructibleState
GO_DESTRUCTIBLE_REBUILDING = 3,
};
+// EmotesText.dbc
enum TextEmotes
{
TEXT_EMOTE_AGREE = 1,
@@ -1665,7 +1667,7 @@ enum TextEmotes
TEXT_EMOTE_ATTACKMYTARGET = 307,
TEXT_EMOTE_OOM = 323,
TEXT_EMOTE_FOLLOW = 324,
- TEXT_EMOTE_HELP = 325,
+ TEXT_EMOTE_WAIT = 325,
TEXT_EMOTE_HEALME = 326,
TEXT_EMOTE_OPENFIRE = 327,
TEXT_EMOTE_FLIRT = 328,
@@ -1674,7 +1676,7 @@ enum TextEmotes
TEXT_EMOTE_WINK = 363,
TEXT_EMOTE_PAT = 364,
TEXT_EMOTE_SERIOUS = 365,
- TEXT_EMOTE_MOUNTSPECIAL = 366,
+ TEXT_EMOTE_MOUNT_SPECIAL = 366,
TEXT_EMOTE_GOODLUCK = 367,
TEXT_EMOTE_BLAME = 368,
TEXT_EMOTE_BLANK = 369,
@@ -1687,6 +1689,7 @@ enum TextEmotes
TEXT_EMOTE_ENEMY = 376,
TEXT_EMOTE_EYEBROW = 377,
TEXT_EMOTE_TOAST = 378,
+ TEXT_EMOTE_FAIL = 379,
TEXT_EMOTE_HIGHFIVE = 380,
TEXT_EMOTE_ABSENT = 381,
TEXT_EMOTE_ARM = 382,
@@ -1741,6 +1744,7 @@ enum TextEmotes
TEXT_EMOTE_SNEEZE = 436,
TEXT_EMOTE_SNORT = 437,
TEXT_EMOTE_SQUEAL = 438,
+ TEXT_EMOTE_STOPATTACK = 439,
TEXT_EMOTE_SUSPICIOUS = 440,
TEXT_EMOTE_THINK = 441,
TEXT_EMOTE_TRUCE = 442,
@@ -1756,412 +1760,695 @@ enum TextEmotes
TEXT_EMOTE_YW = 453,
};
+// Emotes.dbc
enum Emote
{
- EMOTE_ONESHOT_NONE = 0,
- EMOTE_ONESHOT_TALK = 1,
- EMOTE_ONESHOT_BOW = 2,
- EMOTE_ONESHOT_WAVE = 3,
- EMOTE_ONESHOT_CHEER = 4,
- EMOTE_ONESHOT_EXCLAMATION = 5,
- EMOTE_ONESHOT_QUESTION = 6,
- EMOTE_ONESHOT_EAT = 7,
- EMOTE_STATE_DANCE = 10,
- EMOTE_ONESHOT_LAUGH = 11,
- EMOTE_STATE_SLEEP = 12,
- EMOTE_STATE_SIT = 13,
- EMOTE_ONESHOT_RUDE = 14,
- EMOTE_ONESHOT_ROAR = 15,
- EMOTE_ONESHOT_KNEEL = 16,
- EMOTE_ONESHOT_KISS = 17,
- EMOTE_ONESHOT_CRY = 18,
- EMOTE_ONESHOT_CHICKEN = 19,
- EMOTE_ONESHOT_BEG = 20,
- EMOTE_ONESHOT_APPLAUD = 21,
- EMOTE_ONESHOT_SHOUT = 22,
- EMOTE_ONESHOT_FLEX = 23,
- EMOTE_ONESHOT_SHY = 24,
- EMOTE_ONESHOT_POINT = 25,
- EMOTE_STATE_STAND = 26,
- EMOTE_STATE_READYUNARMED = 27,
- EMOTE_STATE_WORK_SHEATHED = 28,
- EMOTE_STATE_POINT = 29,
- EMOTE_STATE_NONE = 30,
- EMOTE_ONESHOT_WOUND = 33,
- EMOTE_ONESHOT_WOUNDCRITICAL = 34,
- EMOTE_ONESHOT_ATTACKUNARMED = 35,
- EMOTE_ONESHOT_ATTACK1H = 36,
- EMOTE_ONESHOT_ATTACK2HTIGHT = 37,
- EMOTE_ONESHOT_ATTACK2HLOOSE = 38,
- EMOTE_ONESHOT_PARRYUNARMED = 39,
- EMOTE_ONESHOT_PARRYSHIELD = 43,
- EMOTE_ONESHOT_READYUNARMED = 44,
- EMOTE_ONESHOT_READY1H = 45,
- EMOTE_ONESHOT_READYBOW = 48,
- EMOTE_ONESHOT_SPELLPRECAST = 50,
- EMOTE_ONESHOT_SPELLCAST = 51,
- EMOTE_ONESHOT_BATTLEROAR = 53,
- EMOTE_ONESHOT_SPECIALATTACK1H = 54,
- EMOTE_ONESHOT_KICK = 60,
- EMOTE_ONESHOT_ATTACKTHROWN = 61,
- EMOTE_STATE_STUN = 64,
- EMOTE_STATE_DEAD = 65,
- EMOTE_ONESHOT_SALUTE = 66,
- EMOTE_STATE_KNEEL = 68,
- EMOTE_STATE_USESTANDING = 69,
- EMOTE_ONESHOT_WAVE_NOSHEATHE = 70,
- EMOTE_ONESHOT_CHEER_NOSHEATHE = 71,
- EMOTE_ONESHOT_EAT_NOSHEATHE = 92,
- EMOTE_STATE_STUN_NOSHEATHE = 93,
- EMOTE_ONESHOT_DANCE = 94,
- EMOTE_ONESHOT_SALUTE_NOSHEATH = 113,
- EMOTE_STATE_USESTANDING_NOSHEATHE = 133,
- EMOTE_ONESHOT_LAUGH_NOSHEATHE = 153,
- EMOTE_STATE_WORK = 173,
- EMOTE_STATE_SPELLPRECAST = 193,
- EMOTE_ONESHOT_READYRIFLE = 213,
- EMOTE_STATE_READYRIFLE = 214,
- EMOTE_STATE_WORK_MINING = 233,
- EMOTE_STATE_WORK_CHOPWOOD = 234,
- EMOTE_STATE_APPLAUD = 253,
- EMOTE_ONESHOT_LIFTOFF = 254,
- EMOTE_ONESHOT_YES = 273,
- EMOTE_ONESHOT_NO = 274,
- EMOTE_ONESHOT_TRAIN = 275,
- EMOTE_ONESHOT_LAND = 293,
- EMOTE_STATE_AT_EASE = 313,
- EMOTE_STATE_READY1H = 333,
- EMOTE_STATE_SPELLKNEELSTART = 353,
- EMOTE_STATE_SUBMERGED = 373,
- EMOTE_ONESHOT_SUBMERGE = 374,
- EMOTE_STATE_READY2H = 375,
- EMOTE_STATE_READYBOW = 376,
- EMOTE_ONESHOT_MOUNTSPECIAL = 377,
- EMOTE_STATE_TALK = 378,
- EMOTE_STATE_FISHING = 379,
- EMOTE_ONESHOT_FISHING = 380,
- EMOTE_ONESHOT_LOOT = 381,
- EMOTE_STATE_WHIRLWIND = 382,
- EMOTE_STATE_DROWNED = 383,
- EMOTE_STATE_HOLD_BOW = 384,
- EMOTE_STATE_HOLD_RIFLE = 385,
- EMOTE_STATE_HOLD_THROWN = 386,
- EMOTE_ONESHOT_DROWN = 387,
- EMOTE_ONESHOT_STOMP = 388,
- EMOTE_ONESHOT_ATTACKOFF = 389,
- EMOTE_ONESHOT_ATTACKOFFPIERCE = 390,
- EMOTE_STATE_ROAR = 391,
- EMOTE_STATE_LAUGH = 392,
- EMOTE_ONESHOT_CREATURE_SPECIAL = 393,
- EMOTE_ONESHOT_JUMPLANDRUN = 394,
- EMOTE_ONESHOT_JUMPEND = 395,
- EMOTE_ONESHOT_TALK_NOSHEATHE = 396,
- EMOTE_ONESHOT_POINT_NOSHEATHE = 397,
- EMOTE_STATE_CANNIBALIZE = 398,
- EMOTE_ONESHOT_JUMPSTART = 399,
- EMOTE_STATE_DANCESPECIAL = 400,
- EMOTE_ONESHOT_DANCESPECIAL = 401,
- EMOTE_ONESHOT_CUSTOMSPELL01 = 402,
- EMOTE_ONESHOT_CUSTOMSPELL02 = 403,
- EMOTE_ONESHOT_CUSTOMSPELL03 = 404,
- EMOTE_ONESHOT_CUSTOMSPELL04 = 405,
- EMOTE_ONESHOT_CUSTOMSPELL05 = 406,
- EMOTE_ONESHOT_CUSTOMSPELL06 = 407,
- EMOTE_ONESHOT_CUSTOMSPELL07 = 408,
- EMOTE_ONESHOT_CUSTOMSPELL08 = 409,
- EMOTE_ONESHOT_CUSTOMSPELL09 = 410,
- EMOTE_ONESHOT_CUSTOMSPELL10 = 411,
- EMOTE_STATE_EXCLAIM = 412,
- EMOTE_STATE_DANCE_CUSTOM = 413,
- EMOTE_STATE_SIT_CHAIR_MED = 415,
- EMOTE_STATE_CUSTOM_SPELL_01 = 416,
- EMOTE_STATE_CUSTOM_SPELL_02 = 417,
- EMOTE_STATE_EAT = 418,
- EMOTE_STATE_CUSTOM_SPELL_04 = 419,
- EMOTE_STATE_CUSTOM_SPELL_03 = 420,
- EMOTE_STATE_CUSTOM_SPELL_05 = 421,
- EMOTE_STATE_SPELLEFFECT_HOLD = 422,
- EMOTE_STATE_EAT_NO_SHEATHE = 423,
- EMOTE_STATE_MOUNT = 424,
- EMOTE_STATE_READY2HL = 425,
- EMOTE_STATE_SIT_CHAIR_HIGH = 426,
- EMOTE_STATE_FALL = 427,
- EMOTE_STATE_LOOT = 428,
- EMOTE_STATE_SUBMERGED_NEW = 429,
- EMOTE_ONESHOT_COWER = 430,
- EMOTE_STATE_COWER = 431,
- EMOTE_ONESHOT_USESTANDING = 432,
- EMOTE_STATE_STEALTH_STAND = 433,
- EMOTE_ONESHOT_OMNICAST_GHOUL = 434,
- EMOTE_ONESHOT_ATTACKBOW = 435,
- EMOTE_ONESHOT_ATTACKRIFLE = 436,
- EMOTE_STATE_SWIM_IDLE = 437,
- EMOTE_STATE_ATTACK_UNARMED = 438,
- EMOTE_ONESHOT_SPELLCAST_W_SOUND = 439,
- EMOTE_ONESHOT_DODGE = 440,
- EMOTE_ONESHOT_PARRY1H = 441,
- EMOTE_ONESHOT_PARRY2H = 442,
- EMOTE_ONESHOT_PARRY2HL = 443,
- EMOTE_STATE_FLYFALL = 444,
- EMOTE_ONESHOT_FLYDEATH = 445,
- EMOTE_STATE_FLY_FALL = 446,
- EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN = 447,
- EMOTE_ONESHOT_FLY_SIT_GROUND_UP = 448,
- EMOTE_ONESHOT_EMERGE = 449,
- EMOTE_ONESHOT_DRAGONSPIT = 450,
- EMOTE_STATE_SPECIALUNARMED = 451,
- EMOTE_ONESHOT_FLYGRAB = 452,
- EMOTE_STATE_FLYGRABCLOSED = 453,
- EMOTE_ONESHOT_FLYGRABTHROWN = 454,
- EMOTE_STATE_FLY_SIT_GROUND = 455,
- EMOTE_STATE_WALKBACKWARDS = 456,
- EMOTE_ONESHOT_FLYTALK = 457,
- EMOTE_ONESHOT_FLYATTACK1H = 458,
- EMOTE_STATE_CUSTOMSPELL08 = 459,
- EMOTE_ONESHOT_FLY_DRAGONSPIT = 460,
- EMOTE_STATE_SIT_CHAIR_LOW = 461,
- EMOTE_ONE_SHOT_STUN = 462,
- EMOTE_ONESHOT_SPELLCAST_OMNI = 463,
- EMOTE_STATE_READYTHROWN = 465,
- EMOTE_ONESHOT_WORK_CHOPWOOD = 466,
- EMOTE_ONESHOT_WORK_MINING = 467,
- EMOTE_STATE_SPELL_CHANNEL_OMNI = 468,
- EMOTE_STATE_SPELL_CHANNEL_DIRECTED = 469,
- EMOTE_STAND_STATE_NONE = 470,
- EMOTE_STATE_READYJOUST = 471,
- EMOTE_STATE_STRANGULATE = 473,
- EMOTE_STATE_READYSPELLOMNI = 474,
- EMOTE_STATE_HOLD_JOUST = 475,
- EMOTE_ONESHOT_CRY_JAINA = 476
-};
-
+ EMOTE_ONESHOT_NONE = 0,
+ EMOTE_ONESHOT_TALK = 1,
+ EMOTE_ONESHOT_BOW = 2,
+ EMOTE_ONESHOT_WAVE = 3,
+ EMOTE_ONESHOT_CHEER = 4,
+ EMOTE_ONESHOT_EXCLAMATION = 5,
+ EMOTE_ONESHOT_QUESTION = 6,
+ EMOTE_ONESHOT_EAT = 7,
+ EMOTE_STATE_DANCE = 10,
+ EMOTE_ONESHOT_LAUGH = 11,
+ EMOTE_STATE_SLEEP = 12,
+ EMOTE_STATE_SIT = 13,
+ EMOTE_ONESHOT_RUDE = 14,
+ EMOTE_ONESHOT_ROAR = 15,
+ EMOTE_ONESHOT_KNEEL = 16,
+ EMOTE_ONESHOT_KISS = 17,
+ EMOTE_ONESHOT_CRY = 18,
+ EMOTE_ONESHOT_CHICKEN = 19,
+ EMOTE_ONESHOT_BEG = 20,
+ EMOTE_ONESHOT_APPLAUD = 21,
+ EMOTE_ONESHOT_SHOUT = 22,
+ EMOTE_ONESHOT_FLEX = 23,
+ EMOTE_ONESHOT_SHY = 24,
+ EMOTE_ONESHOT_POINT = 25,
+ EMOTE_STATE_STAND = 26,
+ EMOTE_STATE_READY_UNARMED = 27,
+ EMOTE_STATE_WORK_SHEATHED = 28,
+ EMOTE_STATE_POINT = 29,
+ EMOTE_STATE_NONE = 30,
+ EMOTE_ONESHOT_WOUND = 33,
+ EMOTE_ONESHOT_WOUND_CRITICAL = 34,
+ EMOTE_ONESHOT_ATTACK_UNARMED = 35,
+ EMOTE_ONESHOT_ATTACK1H = 36,
+ EMOTE_ONESHOT_ATTACK2HTIGHT = 37,
+ EMOTE_ONESHOT_ATTACK2H_LOOSE = 38,
+ EMOTE_ONESHOT_PARRY_UNARMED = 39,
+ EMOTE_ONESHOT_PARRY_SHIELD = 43,
+ EMOTE_ONESHOT_READY_UNARMED = 44,
+ EMOTE_ONESHOT_READY1H = 45,
+ EMOTE_ONESHOT_READY_BOW = 48,
+ EMOTE_ONESHOT_SPELL_PRECAST = 50,
+ EMOTE_ONESHOT_SPELL_CAST = 51,
+ EMOTE_ONESHOT_BATTLE_ROAR = 53,
+ EMOTE_ONESHOT_SPECIALATTACK1H = 54,
+ EMOTE_ONESHOT_KICK = 60,
+ EMOTE_ONESHOT_ATTACK_THROWN = 61,
+ EMOTE_STATE_STUN = 64,
+ EMOTE_STATE_DEAD = 65,
+ EMOTE_ONESHOT_SALUTE = 66,
+ EMOTE_STATE_KNEEL = 68,
+ EMOTE_STATE_USE_STANDING = 69,
+ EMOTE_ONESHOT_WAVE_NO_SHEATHE = 70,
+ EMOTE_ONESHOT_CHEER_NO_SHEATHE = 71,
+ EMOTE_ONESHOT_EAT_NO_SHEATHE = 92,
+ EMOTE_STATE_STUN_NO_SHEATHE = 93,
+ EMOTE_ONESHOT_DANCE = 94,
+ EMOTE_ONESHOT_SALUTE_NO_SHEATH = 113,
+ EMOTE_STATE_USE_STANDING_NO_SHEATHE = 133,
+ EMOTE_ONESHOT_LAUGH_NO_SHEATHE = 153,
+ EMOTE_STATE_WORK = 173,
+ EMOTE_STATE_SPELL_PRECAST = 193,
+ EMOTE_ONESHOT_READY_RIFLE = 213,
+ EMOTE_STATE_READY_RIFLE = 214,
+ EMOTE_STATE_WORK_MINING = 233,
+ EMOTE_STATE_WORK_CHOPWOOD = 234,
+ EMOTE_STATE_APPLAUD = 253,
+ EMOTE_ONESHOT_LIFTOFF = 254,
+ EMOTE_ONESHOT_YES = 273,
+ EMOTE_ONESHOT_NO = 274,
+ EMOTE_ONESHOT_TRAIN = 275,
+ EMOTE_ONESHOT_LAND = 293,
+ EMOTE_STATE_AT_EASE = 313,
+ EMOTE_STATE_READY1H = 333,
+ EMOTE_STATE_SPELL_KNEEL_START = 353,
+ EMOTE_STATE_SUBMERGED = 373,
+ EMOTE_ONESHOT_SUBMERGE = 374,
+ EMOTE_STATE_READY2H = 375,
+ EMOTE_STATE_READY_BOW = 376,
+ EMOTE_ONESHOT_MOUNT_SPECIAL = 377,
+ EMOTE_STATE_TALK = 378,
+ EMOTE_STATE_FISHING = 379,
+ EMOTE_ONESHOT_FISHING = 380,
+ EMOTE_ONESHOT_LOOT = 381,
+ EMOTE_STATE_WHIRLWIND = 382,
+ EMOTE_STATE_DROWNED = 383,
+ EMOTE_STATE_HOLD_BOW = 384,
+ EMOTE_STATE_HOLD_RIFLE = 385,
+ EMOTE_STATE_HOLD_THROWN = 386,
+ EMOTE_ONESHOT_DROWN = 387,
+ EMOTE_ONESHOT_STOMP = 388,
+ EMOTE_ONESHOT_ATTACK_OFF = 389,
+ EMOTE_ONESHOT_ATTACK_OFF_PIERCE = 390,
+ EMOTE_STATE_ROAR = 391,
+ EMOTE_STATE_LAUGH = 392,
+ EMOTE_ONESHOT_CREATURE_SPECIAL = 393,
+ EMOTE_ONESHOT_JUMPLANDRUN = 394,
+ EMOTE_ONESHOT_JUMPEND = 395,
+ EMOTE_ONESHOT_TALK_NO_SHEATHE = 396,
+ EMOTE_ONESHOT_POINT_NO_SHEATHE = 397,
+ EMOTE_STATE_CANNIBALIZE = 398,
+ EMOTE_ONESHOT_JUMPSTART = 399,
+ EMOTE_STATE_DANCESPECIAL = 400,
+ EMOTE_ONESHOT_DANCESPECIAL = 401,
+ EMOTE_ONESHOT_CUSTOM_SPELL_01 = 402,
+ EMOTE_ONESHOT_CUSTOM_SPELL_02 = 403,
+ EMOTE_ONESHOT_CUSTOM_SPELL_03 = 404,
+ EMOTE_ONESHOT_CUSTOM_SPELL_04 = 405,
+ EMOTE_ONESHOT_CUSTOM_SPELL_05 = 406,
+ EMOTE_ONESHOT_CUSTOM_SPELL_06 = 407,
+ EMOTE_ONESHOT_CUSTOM_SPELL_07 = 408,
+ EMOTE_ONESHOT_CUSTOM_SPELL_08 = 409,
+ EMOTE_ONESHOT_CUSTOM_SPELL_09 = 410,
+ EMOTE_ONESHOT_CUSTOM_SPELL_10 = 411,
+ EMOTE_STATE_EXCLAIM = 412,
+ EMOTE_STATE_DANCE_CUSTOM = 413,
+ EMOTE_STATE_SIT_CHAIR_MED = 415,
+ EMOTE_STATE_CUSTOM_SPELL_01 = 416,
+ EMOTE_STATE_CUSTOM_SPELL_02 = 417,
+ EMOTE_STATE_EAT = 418,
+ EMOTE_STATE_CUSTOM_SPELL_04 = 419,
+ EMOTE_STATE_CUSTOM_SPELL_03 = 420,
+ EMOTE_STATE_CUSTOM_SPELL_05 = 421,
+ EMOTE_STATE_SPELLEFFECT_HOLD = 422,
+ EMOTE_STATE_EAT_NO_SHEATHE = 423,
+ EMOTE_STATE_MOUNT = 424,
+ EMOTE_STATE_READY2HL = 425,
+ EMOTE_STATE_SIT_CHAIR_HIGH = 426,
+ EMOTE_STATE_FALL = 427,
+ EMOTE_STATE_LOOT = 428,
+ EMOTE_STATE_SUBMERGED_NEW = 429,
+ EMOTE_ONESHOT_COWER = 430,
+ EMOTE_STATE_COWER = 431,
+ EMOTE_ONESHOT_USE_STANDING = 432,
+ EMOTE_STATE_STEALTH_STAND = 433,
+ EMOTE_ONESHOT_OMNICAST_GHOUL = 434,
+ EMOTE_ONESHOT_ATTACK_BOW = 435,
+ EMOTE_ONESHOT_ATTACK_RIFLE = 436,
+ EMOTE_STATE_SWIM_IDLE = 437,
+ EMOTE_STATE_ATTACK_UNARMED = 438,
+ EMOTE_ONESHOT_SPELL_CAST_W_SOUND = 439,
+ EMOTE_ONESHOT_DODGE = 440,
+ EMOTE_ONESHOT_PARRY1H = 441,
+ EMOTE_ONESHOT_PARRY2H = 442,
+ EMOTE_ONESHOT_PARRY2HL = 443,
+ EMOTE_STATE_FLYFALL = 444,
+ EMOTE_ONESHOT_FLYDEATH = 445,
+ EMOTE_STATE_FLY_FALL = 446,
+ EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN = 447,
+ EMOTE_ONESHOT_FLY_SIT_GROUND_UP = 448,
+ EMOTE_ONESHOT_EMERGE = 449,
+ EMOTE_ONESHOT_DRAGON_SPIT = 450,
+ EMOTE_STATE_SPECIAL_UNARMED = 451,
+ EMOTE_ONESHOT_FLYGRAB = 452,
+ EMOTE_STATE_FLYGRABCLOSED = 453,
+ EMOTE_ONESHOT_FLYGRABTHROWN = 454,
+ EMOTE_STATE_FLY_SIT_GROUND = 455,
+ EMOTE_STATE_WALK_BACKWARDS = 456,
+ EMOTE_ONESHOT_FLYTALK = 457,
+ EMOTE_ONESHOT_FLYATTACK1H = 458,
+ EMOTE_STATE_CUSTOM_SPELL_08 = 459,
+ EMOTE_ONESHOT_FLY_DRAGON_SPIT = 460,
+ EMOTE_STATE_SIT_CHAIR_LOW = 461,
+ EMOTE_ONESHOT_STUN = 462,
+ EMOTE_ONESHOT_SPELL_CAST_OMNI = 463,
+ EMOTE_STATE_READY_THROWN = 465,
+ EMOTE_ONESHOT_WORK_CHOPWOOD = 466,
+ EMOTE_ONESHOT_WORK_MINING = 467,
+ EMOTE_STATE_SPELL_CHANNEL_OMNI = 468,
+ EMOTE_STATE_SPELL_CHANNEL_DIRECTED = 469,
+ EMOTE_STAND_STATE_NONE = 470,
+ EMOTE_STATE_READYJOUST = 471,
+ EMOTE_STATE_STRANGULATE = 473,
+ EMOTE_STATE_READY_SPELL_OMNI = 474,
+ EMOTE_STATE_HOLD_JOUST = 475,
+ EMOTE_ONESHOT_CRY_JAINA = 476
+};
+
+// AnimationData.dbc
enum Anim
{
- ANIM_STAND = 0x0,
- ANIM_DEATH = 0x1,
- ANIM_SPELL = 0x2,
- ANIM_STOP = 0x3,
- ANIM_WALK = 0x4,
- ANIM_RUN = 0x5,
- ANIM_DEAD = 0x6,
- ANIM_RISE = 0x7,
- ANIM_STANDWOUND = 0x8,
- ANIM_COMBATWOUND = 0x9,
- ANIM_COMBATCRITICAL = 0xA,
- ANIM_SHUFFLE_LEFT = 0xB,
- ANIM_SHUFFLE_RIGHT = 0xC,
- ANIM_WALK_BACKWARDS = 0xD,
- ANIM_STUN = 0xE,
- ANIM_HANDS_CLOSED = 0xF,
- ANIM_ATTACKUNARMED = 0x10,
- ANIM_ATTACK1H = 0x11,
- ANIM_ATTACK2HTIGHT = 0x12,
- ANIM_ATTACK2HLOOSE = 0x13,
- ANIM_PARRYUNARMED = 0x14,
- ANIM_PARRY1H = 0x15,
- ANIM_PARRY2HTIGHT = 0x16,
- ANIM_PARRY2HLOOSE = 0x17,
- ANIM_PARRYSHIELD = 0x18,
- ANIM_READYUNARMED = 0x19,
- ANIM_READY1H = 0x1A,
- ANIM_READY2HTIGHT = 0x1B,
- ANIM_READY2HLOOSE = 0x1C,
- ANIM_READYBOW = 0x1D,
- ANIM_DODGE = 0x1E,
- ANIM_SPELLPRECAST = 0x1F,
- ANIM_SPELLCAST = 0x20,
- ANIM_SPELLCASTAREA = 0x21,
- ANIM_NPCWELCOME = 0x22,
- ANIM_NPCGOODBYE = 0x23,
- ANIM_BLOCK = 0x24,
- ANIM_JUMPSTART = 0x25,
- ANIM_JUMP = 0x26,
- ANIM_JUMPEND = 0x27,
- ANIM_FALL = 0x28,
- ANIM_SWIMIDLE = 0x29,
- ANIM_SWIM = 0x2A,
- ANIM_SWIM_LEFT = 0x2B,
- ANIM_SWIM_RIGHT = 0x2C,
- ANIM_SWIM_BACKWARDS = 0x2D,
- ANIM_ATTACKBOW = 0x2E,
- ANIM_FIREBOW = 0x2F,
- ANIM_READYRIFLE = 0x30,
- ANIM_ATTACKRIFLE = 0x31,
- ANIM_LOOT = 0x32,
- ANIM_SPELL_PRECAST_DIRECTED = 0x33,
- ANIM_SPELL_PRECAST_OMNI = 0x34,
- ANIM_SPELL_CAST_DIRECTED = 0x35,
- ANIM_SPELL_CAST_OMNI = 0x36,
- ANIM_SPELL_BATTLEROAR = 0x37,
- ANIM_SPELL_READYABILITY = 0x38,
- ANIM_SPELL_SPECIAL1H = 0x39,
- ANIM_SPELL_SPECIAL2H = 0x3A,
- ANIM_SPELL_SHIELDBASH = 0x3B,
- ANIM_EMOTE_TALK = 0x3C,
- ANIM_EMOTE_EAT = 0x3D,
- ANIM_EMOTE_WORK = 0x3E,
- ANIM_EMOTE_USE_STANDING = 0x3F,
- ANIM_EMOTE_EXCLAMATION = 0x40,
- ANIM_EMOTE_QUESTION = 0x41,
- ANIM_EMOTE_BOW = 0x42,
- ANIM_EMOTE_WAVE = 0x43,
- ANIM_EMOTE_CHEER = 0x44,
- ANIM_EMOTE_DANCE = 0x45,
- ANIM_EMOTE_LAUGH = 0x46,
- ANIM_EMOTE_SLEEP = 0x47,
- ANIM_EMOTE_SIT_GROUND = 0x48,
- ANIM_EMOTE_RUDE = 0x49,
- ANIM_EMOTE_ROAR = 0x4A,
- ANIM_EMOTE_KNEEL = 0x4B,
- ANIM_EMOTE_KISS = 0x4C,
- ANIM_EMOTE_CRY = 0x4D,
- ANIM_EMOTE_CHICKEN = 0x4E,
- ANIM_EMOTE_BEG = 0x4F,
- ANIM_EMOTE_APPLAUD = 0x50,
- ANIM_EMOTE_SHOUT = 0x51,
- ANIM_EMOTE_FLEX = 0x52,
- ANIM_EMOTE_SHY = 0x53,
- ANIM_EMOTE_POINT = 0x54,
- ANIM_ATTACK1HPIERCE = 0x55,
- ANIM_ATTACK2HLOOSEPIERCE = 0x56,
- ANIM_ATTACKOFF = 0x57,
- ANIM_ATTACKOFFPIERCE = 0x58,
- ANIM_SHEATHE = 0x59,
- ANIM_HIPSHEATHE = 0x5A,
- ANIM_MOUNT = 0x5B,
- ANIM_RUN_LEANRIGHT = 0x5C,
- ANIM_RUN_LEANLEFT = 0x5D,
- ANIM_MOUNT_SPECIAL = 0x5E,
- ANIM_KICK = 0x5F,
- ANIM_SITDOWN = 0x60,
- ANIM_SITTING = 0x61,
- ANIM_SITUP = 0x62,
- ANIM_SLEEPDOWN = 0x63,
- ANIM_SLEEPING = 0x64,
- ANIM_SLEEPUP = 0x65,
- ANIM_SITCHAIRLOW = 0x66,
- ANIM_SITCHAIRMEDIUM = 0x67,
- ANIM_SITCHAIRHIGH = 0x68,
- ANIM_LOADBOW = 0x69,
- ANIM_LOADRIFLE = 0x6A,
- ANIM_ATTACKTHROWN = 0x6B,
- ANIM_READYTHROWN = 0x6C,
- ANIM_HOLDBOW = 0x6D,
- ANIM_HOLDRIFLE = 0x6E,
- ANIM_HOLDTHROWN = 0x6F,
- ANIM_LOADTHROWN = 0x70,
- ANIM_EMOTE_SALUTE = 0x71,
- ANIM_KNEELDOWN = 0x72,
- ANIM_KNEELING = 0x73,
- ANIM_KNEELUP = 0x74,
- ANIM_ATTACKUNARMEDOFF = 0x75,
- ANIM_SPECIALUNARMED = 0x76,
- ANIM_STEALTHWALK = 0x77,
- ANIM_STEALTHSTAND = 0x78,
- ANIM_KNOCKDOWN = 0x79,
- ANIM_EATING = 0x7A,
- ANIM_USESTANDINGLOOP = 0x7B,
- ANIM_CHANNELCASTDIRECTED = 0x7C,
- ANIM_CHANNELCASTOMNI = 0x7D,
- ANIM_WHIRLWIND = 0x7E,
- ANIM_BIRTH = 0x7F,
- ANIM_USESTANDINGSTART = 0x80,
- ANIM_USESTANDINGEND = 0x81,
- ANIM_HOWL = 0x82,
- ANIM_DROWN = 0x83,
- ANIM_DROWNED = 0x84,
- ANIM_FISHINGCAST = 0x85,
- ANIM_FISHINGLOOP = 0x86,
- ANIM_FLY = 0x87,
- ANIM_EMOTE_WORK_NO_SHEATHE = 0x88,
- ANIM_EMOTE_STUN_NO_SHEATHE = 0x89,
- ANIM_EMOTE_USE_STANDING_NO_SHEATHE= 0x8A,
- ANIM_SPELL_SLEEP_DOWN = 0x8B,
- ANIM_SPELL_KNEEL_START = 0x8C,
- ANIM_SPELL_KNEEL_LOOP = 0x8D,
- ANIM_SPELL_KNEEL_END = 0x8E,
- ANIM_SPRINT = 0x8F,
- ANIM_IN_FIGHT = 0x90,
-
- ANIM_GAMEOBJ_SPAWN = 145,
- ANIM_GAMEOBJ_CLOSE = 146,
- ANIM_GAMEOBJ_CLOSED = 147,
- ANIM_GAMEOBJ_OPEN = 148,
- ANIM_GAMEOBJ_OPENED = 149,
- ANIM_GAMEOBJ_DESTROY = 150,
- ANIM_GAMEOBJ_DESTROYED = 151,
- ANIM_GAMEOBJ_REBUILD = 152,
- ANIM_GAMEOBJ_CUSTOM0 = 153,
- ANIM_GAMEOBJ_CUSTOM1 = 154,
- ANIM_GAMEOBJ_CUSTOM2 = 155,
- ANIM_GAMEOBJ_CUSTOM3 = 156,
- ANIM_GAMEOBJ_DESPAWN = 157,
- ANIM_HOLD = 158,
- ANIM_DECAY = 159,
- ANIM_BOWPULL = 160,
- ANIM_BOWRELEASE = 161,
- ANIM_SHIPSTART = 162,
- ANIM_SHIPMOVEING = 163,
- ANIM_SHIPSTOP = 164,
- ANIM_GROUPARROW = 165,
- ANIM_ARROW = 166,
- ANIM_CORPSEARROW = 167,
- ANIM_GUIDEARROW = 168,
- ANIM_SWAY = 169,
- ANIM_DRUIDCATPOUNCE = 170,
- ANIM_DRUIDCATRIP = 171,
- ANIM_DRUIDCATRAKE = 172,
- ANIM_DRUIDCATRAVAGE = 173,
- ANIM_DRUIDCATCLAW = 174,
- ANIM_DRUIDCATCOWER = 175,
- ANIM_DRUIDBEARSWIPE = 176,
- ANIM_DRUIDBEARBITE = 177,
- ANIM_DRUIDBEARMAUL = 178,
- ANIM_DRUIDBEARBASH = 179,
- ANIM_DRAGONTAIL = 180,
- ANIM_DRAGONSTOMP = 181,
- ANIM_DRAGONSPIT = 182,
- ANIM_DRAGONSPITHOVER = 183,
- ANIM_DRAGONSPITFLY = 184,
- ANIM_EMOTEYES = 185,
- ANIM_EMOTENO = 186,
- ANIM_JUMPLANDRUN = 187,
- ANIM_LOOTHOLD = 188,
- ANIM_LOOTUP = 189,
- ANIM_STANDHIGH = 190,
- ANIM_IMPACT = 191,
- ANIM_LIFTOFF = 192,
- ANIM_HOVER = 193,
- ANIM_SUCCUBUSENTICE = 194,
- ANIM_EMOTETRAIN = 195,
- ANIM_EMOTEDEAD = 196,
- ANIM_EMOTEDANCEONCE = 197,
- ANIM_DEFLECT = 198,
- ANIM_EMOTEEATNOSHEATHE = 199,
- ANIM_LAND = 200,
- ANIM_SUBMERGE = 201,
- ANIM_SUBMERGED = 202,
- ANIM_CANNIBALIZE = 203,
- ANIM_ARROWBIRTH = 204,
- ANIM_GROURARROWBIRTH = 205,
- ANIM_CORPSEARROWBIRTH = 206,
- ANIM_GUIDEARROWBIRTH = 207,
- ANIM_EMOTETALKNOSHEATHE = 208,
- ANIM_EMOTEPOINTNOSHEATHE = 209,
- ANIM_EMOTESALUTENOSHEATHE = 210,
- ANIM_EMOTEDANCESPECIAL = 211,
- ANIM_MUTILATE = 212,
- ANIM_CUSTOMSPELL01 = 213,
- ANIM_CUSTOMSPELL02 = 214,
- ANIM_CUSTOMSPELL03 = 215,
- ANIM_CUSTOMSPELL04 = 216,
- ANIM_CUSTOMSPELL05 = 217,
- ANIM_CUSTOMSPELL06 = 218,
- ANIM_CUSTOMSPELL07 = 219,
- ANIM_CUSTOMSPELL08 = 220,
- ANIM_CUSTOMSPELL09 = 221,
- ANIM_CUSTOMSPELL10 = 222,
- ANIM_StealthRun = 223
+ ANIM_STAND = 0,
+ ANIM_DEATH = 1,
+ ANIM_SPELL = 2,
+ ANIM_STOP = 3,
+ ANIM_WALK = 4,
+ ANIM_RUN = 5,
+ ANIM_DEAD = 6,
+ ANIM_RISE = 7,
+ ANIM_STAND_WOUND = 8,
+ ANIM_COMBAT_WOUND = 9,
+ ANIM_COMBAT_CRITICAL = 10,
+ ANIM_SHUFFLE_LEFT = 11,
+ ANIM_SHUFFLE_RIGHT = 12,
+ ANIM_WALK_BACKWARDS = 13,
+ ANIM_STUN = 14,
+ ANIM_HANDS_CLOSED = 15,
+ ANIM_ATTACK_UNARMED = 16,
+ ANIM_ATTACK1H = 17,
+ ANIM_ATTACK2H = 18,
+ ANIM_ATTACK2HL = 19,
+ ANIM_PARRY_UNARMED = 20,
+ ANIM_PARRY1H = 21,
+ ANIM_PARRY2H = 22,
+ ANIM_PARRY2HL = 23,
+ ANIM_SHIELD_BLOCK = 24,
+ ANIM_READY_UNARMED = 25,
+ ANIM_READY1H = 26,
+ ANIM_READY2H = 27,
+ ANIM_READY2HL = 28,
+ ANIM_READY_BOW = 29,
+ ANIM_DODGE = 30,
+ ANIM_SPELL_PRECAST = 31,
+ ANIM_SPELL_CAST = 32,
+ ANIM_SPELL_CAST_AREA = 33,
+ ANIM_NPC_WELCOME = 34,
+ ANIM_NPC_GOODBYE = 35,
+ ANIM_BLOCK = 36,
+ ANIM_JUMP_START = 37,
+ ANIM_JUMP = 38,
+ ANIM_JUMP_END = 39,
+ ANIM_FALL = 40,
+ ANIM_SWIM_IDLE = 41,
+ ANIM_SWIM = 42,
+ ANIM_SWIM_LEFT = 43,
+ ANIM_SWIM_RIGHT = 44,
+ ANIM_SWIM_BACKWARDS = 45,
+ ANIM_ATTACK_BOW = 46,
+ ANIM_FIRE_BOW = 47,
+ ANIM_READY_RIFLE = 48,
+ ANIM_ATTACK_RIFLE = 49,
+ ANIM_LOOT = 50,
+ ANIM_READY_SPELL_DIRECTED = 51,
+ ANIM_READY_SPELL_OMNI = 52,
+ ANIM_SPELL_CAST_DIRECTED = 53,
+ ANIM_SPELL_CAST_OMNI = 54,
+ ANIM_BATTLE_ROAR = 55,
+ ANIM_READY_ABILITY = 56,
+ ANIM_SPECIAL1H = 57,
+ ANIM_SPECIAL2H = 58,
+ ANIM_SHIELD_BASH = 59,
+ ANIM_EMOTE_TALK = 60,
+ ANIM_EMOTE_EAT = 61,
+ ANIM_EMOTE_WORK = 62,
+ ANIM_EMOTE_USE_STANDING = 63,
+ ANIM_EMOTE_TALK_EXCLAMATION = 64,
+ ANIM_EMOTE_TALK_QUESTION = 65,
+ ANIM_EMOTE_BOW = 66,
+ ANIM_EMOTE_WAVE = 67,
+ ANIM_EMOTE_CHEER = 68,
+ ANIM_EMOTE_DANCE = 69,
+ ANIM_EMOTE_LAUGH = 70,
+ ANIM_EMOTE_SLEEP = 71,
+ ANIM_EMOTE_SIT_GROUND = 72,
+ ANIM_EMOTE_RUDE = 73,
+ ANIM_EMOTE_ROAR = 74,
+ ANIM_EMOTE_KNEEL = 75,
+ ANIM_EMOTE_KISS = 76,
+ ANIM_EMOTE_CRY = 77,
+ ANIM_EMOTE_CHICKEN = 78,
+ ANIM_EMOTE_BEG = 79,
+ ANIM_EMOTE_APPLAUD = 80,
+ ANIM_EMOTE_SHOUT = 81,
+ ANIM_EMOTE_FLEX = 82,
+ ANIM_EMOTE_SHY = 83,
+ ANIM_EMOTE_POINT = 84,
+ ANIM_ATTACK1H_PIERCE = 85,
+ ANIM_ATTACK2H_LOOSE_PIERCE = 86,
+ ANIM_ATTACK_OFF = 87,
+ ANIM_ATTACK_OFF_PIERCE = 88,
+ ANIM_SHEATHE = 89,
+ ANIM_HIP_SHEATHE = 90,
+ ANIM_MOUNT = 91,
+ ANIM_RUN_RIGHT = 92,
+ ANIM_RUN_LEFT = 93,
+ ANIM_MOUNT_SPECIAL = 94,
+ ANIM_KICK = 95,
+ ANIM_SIT_GROUND_DOWN = 96,
+ ANIM_SIT_GROUND = 97,
+ ANIM_SIT_GROUND_UP = 98,
+ ANIM_SLEEP_DOWN = 99,
+ ANIM_SLEEP = 100,
+ ANIM_SLEEP_UP = 101,
+ ANIM_SIT_CHAIR_LOW = 102,
+ ANIM_SIT_CHAIR_MED = 103,
+ ANIM_SIT_CHAIR_HIGH = 104,
+ ANIM_LOAD_BOW = 105,
+ ANIM_LOAD_RIFLE = 106,
+ ANIM_ATTACK_THROWN = 107,
+ ANIM_READY_THROWN = 108,
+ ANIM_HOLD_BOW = 109,
+ ANIM_HOLD_RIFLE = 110,
+ ANIM_HOLD_THROWN = 111,
+ ANIM_LOAD_THROWN = 112,
+ ANIM_EMOTE_SALUTE = 113,
+ ANIM_KNEEL_START = 114,
+ ANIM_KNEEL_LOOP = 115,
+ ANIM_KNEEL_END = 116,
+ ANIM_ATTACK_UNARMED_OFF = 117,
+ ANIM_SPECIAL_UNARMED = 118,
+ ANIM_STEALTH_WALK = 119,
+ ANIM_STEALTH_STAND = 120,
+ ANIM_KNOCKDOWN = 121,
+ ANIM_EATING_LOOP = 122,
+ ANIM_USE_STANDING_LOOP = 123,
+ ANIM_CHANNEL_CAST_DIRECTED = 124,
+ ANIM_CHANNEL_CAST_OMNI = 125,
+ ANIM_WHIRLWIND = 126,
+ ANIM_BIRTH = 127,
+ ANIM_USE_STANDING_START = 128,
+ ANIM_USE_STANDING_END = 129,
+ ANIM_CREATURE_SPECIAL = 130,
+ ANIM_DROWN = 131,
+ ANIM_DROWNED = 132,
+ ANIM_FISHING_CAST = 133,
+ ANIM_FISHING_LOOP = 134,
+ ANIM_FLY = 135,
+ ANIM_EMOTE_WORK_NO_SHEATHE = 136,
+ ANIM_EMOTE_STUN_NO_SHEATHE = 137,
+ ANIM_EMOTE_USE_STANDING_NO_SHEATHE = 138,
+ ANIM_SPELL_SLEEP_DOWN = 139,
+ ANIM_SPELL_KNEEL_START = 140,
+ ANIM_SPELL_KNEEL_LOOP = 141,
+ ANIM_SPELL_KNEEL_END = 142,
+ ANIM_SPRINT = 143,
+ ANIM_IN_FIGHT = 144,
+ ANIM_SPAWN = 145,
+ ANIM_CLOSE = 146,
+ ANIM_CLOSED = 147,
+ ANIM_OPEN = 148,
+ ANIM_OPENED = 149,
+ ANIM_DESTROY = 150,
+ ANIM_DESTROYED = 151,
+ ANIM_REBUILD = 152,
+ ANIM_CUSTOM_0 = 153,
+ ANIM_CUSTOM_1 = 154,
+ ANIM_CUSTOM_2 = 155,
+ ANIM_CUSTOM_3 = 156,
+ ANIM_DESPAWN = 157,
+ ANIM_HOLD = 158,
+ ANIM_DECAY = 159,
+ ANIM_BOW_PULL = 160,
+ ANIM_BOW_RELEASE = 161,
+ ANIM_SHIP_START = 162,
+ ANIM_SHIP_MOVING = 163,
+ ANIM_SHIP_STOP = 164,
+ ANIM_GROUP_ARROW = 165,
+ ANIM_ARROW = 166,
+ ANIM_CORPSE_ARROW = 167,
+ ANIM_GUIDE_ARROW = 168,
+ ANIM_SWAY = 169,
+ ANIM_DRUID_CAT_POUNCE = 170,
+ ANIM_DRUID_CAT_RIP = 171,
+ ANIM_DRUID_CAT_RAKE = 172,
+ ANIM_DRUID_CAT_RAVAGE = 173,
+ ANIM_DRUID_CAT_CLAW = 174,
+ ANIM_DRUID_CAT_COWER = 175,
+ ANIM_DRUID_BEAR_SWIPE = 176,
+ ANIM_DRUID_BEAR_BITE = 177,
+ ANIM_DRUID_BEAR_MAUL = 178,
+ ANIM_DRUID_BEAR_BASH = 179,
+ ANIM_DRAGON_TAIL = 180,
+ ANIM_DRAGON_STOMP = 181,
+ ANIM_DRAGON_SPIT = 182,
+ ANIM_DRAGON_SPIT_HOVER = 183,
+ ANIM_DRAGON_SPIT_FLY = 184,
+ ANIM_EMOTE_YES = 185,
+ ANIM_EMOTE_NO = 186,
+ ANIM_JUMP_LAND_RUN = 187,
+ ANIM_LOOT_HOLD = 188,
+ ANIM_LOOT_UP = 189,
+ ANIM_STAND_HIGH = 190,
+ ANIM_IMPACT = 191,
+ ANIM_LIFTOFF = 192,
+ ANIM_HOVER = 193,
+ ANIM_SUCCUBUS_ENTICE = 194,
+ ANIM_EMOTE_TRAIN = 195,
+ ANIM_EMOTE_DEAD = 196,
+ ANIM_EMOTE_DANCE_ONCE = 197,
+ ANIM_DEFLECT = 198,
+ ANIM_EMOTE_EAT_NO_SHEATHE = 199,
+ ANIM_LAND = 200,
+ ANIM_SUBMERGE = 201,
+ ANIM_SUBMERGED = 202,
+ ANIM_CANNIBALIZE = 203,
+ ANIM_ARROW_BIRTH = 204,
+ ANIM_GROUP_ARROW_BIRTH = 205,
+ ANIM_CORPSE_ARROW_BIRTH = 206,
+ ANIM_GUIDE_ARROW_BIRTH = 207,
+ ANIM_EMOTE_TALK_NO_SHEATHE = 208,
+ ANIM_EMOTE_POINT_NO_SHEATHE = 209,
+ ANIM_EMOTE_SALUTE_NO_SHEATHE = 210,
+ ANIM_EMOTE_DANCE_SPECIAL = 211,
+ ANIM_MUTILATE = 212,
+ ANIM_CUSTOM_SPELL_01 = 213,
+ ANIM_CUSTOM_SPELL_02 = 214,
+ ANIM_CUSTOM_SPELL_03 = 215,
+ ANIM_CUSTOM_SPELL_04 = 216,
+ ANIM_CUSTOM_SPELL_05 = 217,
+ ANIM_CUSTOM_SPELL_06 = 218,
+ ANIM_CUSTOM_SPELL_07 = 219,
+ ANIM_CUSTOM_SPELL_08 = 220,
+ ANIM_CUSTOM_SPELL_09 = 221,
+ ANIM_CUSTOM_SPELL_10 = 222,
+ ANIM_STEALTH_RUN = 223,
+ ANIM_EMERGE = 224,
+ ANIM_COWER = 225,
+ ANIM_GRAB = 226,
+ ANIM_GRAB_CLOSED = 227,
+ ANIM_GRAB_THROWN = 228,
+ ANIM_FLY_STAND = 229,
+ ANIM_FLY_DEATH = 230,
+ ANIM_FLY_SPELL = 231,
+ ANIM_FLY_STOP = 232,
+ ANIM_FLY_WALK = 233,
+ ANIM_FLY_RUN = 234,
+ ANIM_FLY_DEAD = 235,
+ ANIM_FLY_RISE = 236,
+ ANIM_FLY_STAND_WOUND = 237,
+ ANIM_FLY_COMBAT_WOUND = 238,
+ ANIM_FLY_COMBAT_CRITICAL = 239,
+ ANIM_FLY_SHUFFLE_LEFT = 240,
+ ANIM_FLY_SHUFFLE_RIGHT = 241,
+ ANIM_FLY_WALK_BACKWARDS = 242,
+ ANIM_FLY_STUN = 243,
+ ANIM_FLY_HANDS_CLOSED = 244,
+ ANIM_FLY_ATTACK_UNARMED = 245,
+ ANIM_FLY_ATTACK1H = 246,
+ ANIM_FLY_ATTACK2H = 247,
+ ANIM_FLY_ATTACK2HL = 248,
+ ANIM_FLY_PARRY_UNARMED = 249,
+ ANIM_FLY_PARRY1H = 250,
+ ANIM_FLY_PARRY2H = 251,
+ ANIM_FLY_PARRY2HL = 252,
+ ANIM_FLY_SHIELD_BLOCK = 253,
+ ANIM_FLY_READY_UNARMED = 254,
+ ANIM_FLY_READY1H = 255,
+ ANIM_FLY_READY2H = 256,
+ ANIM_FLY_READY2HL = 257,
+ ANIM_FLY_READY_BOW = 258,
+ ANIM_FLY_DODGE = 259,
+ ANIM_FLY_SPELL_PRECAST = 260,
+ ANIM_FLY_SPELL_CAST = 261,
+ ANIM_FLY_SPELL_CAST_AREA = 262,
+ ANIM_FLY_NPC_WELCOME = 263,
+ ANIM_FLY_NPC_GOODBYE = 264,
+ ANIM_FLY_BLOCK = 265,
+ ANIM_FLY_JUMP_START = 266,
+ ANIM_FLY_JUMP = 267,
+ ANIM_FLY_JUMP_END = 268,
+ ANIM_FLY_FALL = 269,
+ ANIM_FLY_SWIM_IDLE = 270,
+ ANIM_FLY_SWIM = 271,
+ ANIM_FLY_SWIM_LEFT = 272,
+ ANIM_FLY_SWIM_RIGHT = 273,
+ ANIM_FLY_SWIM_BACKWARDS = 274,
+ ANIM_FLY_ATTACK_BOW = 275,
+ ANIM_FLY_FIRE_BOW = 276,
+ ANIM_FLY_READY_RIFLE = 277,
+ ANIM_FLY_ATTACK_RIFLE = 278,
+ ANIM_FLY_LOOT = 279,
+ ANIM_FLY_READY_SPELL_DIRECTED = 280,
+ ANIM_FLY_READY_SPELL_OMNI = 281,
+ ANIM_FLY_SPELL_CAST_DIRECTED = 282,
+ ANIM_FLY_SPELL_CAST_OMNI = 283,
+ ANIM_FLY_SPELL_BATTLE_ROAR = 284,
+ ANIM_FLY_READY_ABILITY = 285,
+ ANIM_FLY_SPECIAL1H = 286,
+ ANIM_FLY_SPECIAL2H = 287,
+ ANIM_FLY_SHIELD_BASH = 288,
+ ANIM_FLY_EMOTE_TALK = 289,
+ ANIM_FLY_EMOTE_EAT = 290,
+ ANIM_FLY_EMOTE_WORK = 291,
+ ANIM_FLY_USE_STANDING = 292,
+ ANIM_FLY_EMOTE_TALK_EXCLAMATION = 293,
+ ANIM_FLY_EMOTE_TALK_QUESTION = 294,
+ ANIM_FLY_EMOTE_BOW = 295,
+ ANIM_FLY_EMOTE_WAVE = 296,
+ ANIM_FLY_EMOTE_CHEER = 297,
+ ANIM_FLY_EMOTE_DANCE = 298,
+ ANIM_FLY_EMOTE_LAUGH = 299,
+ ANIM_FLY_EMOTE_SLEEP = 300,
+ ANIM_FLY_EMOTE_SIT_GROUND = 301,
+ ANIM_FLY_EMOTE_RUDE = 302,
+ ANIM_FLY_EMOTE_ROAR = 303,
+ ANIM_FLY_EMOTE_KNEEL = 304,
+ ANIM_FLY_EMOTE_KISS = 305,
+ ANIM_FLY_EMOTE_CRY = 306,
+ ANIM_FLY_EMOTE_CHICKEN = 307,
+ ANIM_FLY_EMOTE_BEG = 308,
+ ANIM_FLY_EMOTE_APPLAUD = 309,
+ ANIM_FLY_EMOTE_SHOUT = 310,
+ ANIM_FLY_EMOTE_FLEX = 311,
+ ANIM_FLY_EMOTE_SHY = 312,
+ ANIM_FLY_EMOTE_POINT = 313,
+ ANIM_FLY_ATTACK1H_PIERCE = 314,
+ ANIM_FLY_ATTACK2H_LOOSE_PIERCE = 315,
+ ANIM_FLY_ATTACK_OFF = 316,
+ ANIM_FLY_ATTACK_OFF_PIERCE = 317,
+ ANIM_FLY_SHEATH = 318,
+ ANIM_FLY_HIP_SHEATH = 319,
+ ANIM_FLY_MOUNT = 320,
+ ANIM_FLY_RUN_RIGHT = 321,
+ ANIM_FLY_RUN_LEFT = 322,
+ ANIM_FLY_MOUNT_SPECIAL = 323,
+ ANIM_FLY_KICK = 324,
+ ANIM_FLY_SIT_GROUND_DOWN = 325,
+ ANIM_FLY_SIT_GROUND = 326,
+ ANIM_FLY_SIT_GROUND_UP = 327,
+ ANIM_FLY_SLEEP_DOWN = 328,
+ ANIM_FLY_SLEEP = 329,
+ ANIM_FLY_SLEEP_UP = 330,
+ ANIM_FLY_SIT_CHAIR_LOW = 331,
+ ANIM_FLY_SIT_CHAIR_MED = 332,
+ ANIM_FLY_SIT_CHAIR_HIGH = 333,
+ ANIM_FLY_LOAD_BOW = 334,
+ ANIM_FLY_LOAD_RIFLE = 335,
+ ANIM_FLY_ATTACK_THROWN = 336,
+ ANIM_FLY_READY_THROWN = 337,
+ ANIM_FLY_HOLD_BOW = 338,
+ ANIM_FLY_HOLD_RIFLE = 339,
+ ANIM_FLY_HOLD_THROWN = 340,
+ ANIM_FLY_LOAD_THROWN = 341,
+ ANIM_FLY_EMOTE_SALUTE = 342,
+ ANIM_FLY_KNEEL_START = 343,
+ ANIM_FLY_KNEEL_LOOP = 344,
+ ANIM_FLY_KNEEL_END = 345,
+ ANIM_FLY_ATTACK_UNARMED_OFF = 346,
+ ANIM_FLY_SPECIAL_UNARMED = 347,
+ ANIM_FLY_STEALTH_WALK = 348,
+ ANIM_FLY_STEALTH_STAND = 349,
+ ANIM_FLY_KNOCKDOWN = 350,
+ ANIM_FLY_EATING_LOOP = 351,
+ ANIM_FLY_USE_STANDING_LOOP = 352,
+ ANIM_FLY_CHANNEL_CAST_DIRECTED = 353,
+ ANIM_FLY_CHANNEL_CAST_OMNI = 354,
+ ANIM_FLY_WHIRLWIND = 355,
+ ANIM_FLY_BIRTH = 356,
+ ANIM_FLY_USE_STANDING_START = 357,
+ ANIM_FLY_USE_STANDING_END = 358,
+ ANIM_FLY_CREATURE_SPECIAL = 359,
+ ANIM_FLY_DROWN = 360,
+ ANIM_FLY_DROWNED = 361,
+ ANIM_FLY_FISHING_CAST = 362,
+ ANIM_FLY_FISHING_LOOP = 363,
+ ANIM_FLY_FLY = 364,
+ ANIM_FLY_EMOTE_WORK_NO_SHEATHE = 365,
+ ANIM_FLY_EMOTE_STUN_NO_SHEATHE = 366,
+ ANIM_FLY_EMOTE_USE_STANDING_NO_SHEATHE = 367,
+ ANIM_FLY_SPELL_SLEEP_DOWN = 368,
+ ANIM_FLY_SPELL_KNEEL_START = 369,
+ ANIM_FLY_SPELL_KNEEL_LOOP = 370,
+ ANIM_FLY_SPELL_KNEEL_END = 371,
+ ANIM_FLY_SPRINT = 372,
+ ANIM_FLY_IN_FLIGHT = 373,
+ ANIM_FLY_SPAWN = 374,
+ ANIM_FLY_CLOSE = 375,
+ ANIM_FLY_CLOSED = 376,
+ ANIM_FLY_OPEN = 377,
+ ANIM_FLY_OPENED = 378,
+ ANIM_FLY_DESTROY = 379,
+ ANIM_FLY_DESTROYED = 380,
+ ANIM_FLY_REBUILD = 381,
+ ANIM_FLY_CUSTOM_0 = 382,
+ ANIM_FLY_CUSTOM_1 = 383,
+ ANIM_FLY_CUSTOM_2 = 384,
+ ANIM_FLY_CUSTOM_3 = 385,
+ ANIM_FLY_DESPAWN = 386,
+ ANIM_FLY_HOLD = 387,
+ ANIM_FLY_DECAY = 388,
+ ANIM_FLY_BOW_PULL = 389,
+ ANIM_FLY_BOW_RELEASE = 390,
+ ANIM_FLY_SHIP_START = 391,
+ ANIM_FLY_SHIP_MOVING = 392,
+ ANIM_FLY_SHIP_STOP = 393,
+ ANIM_FLY_GROUP_ARROW = 394,
+ ANIM_FLY_ARROW = 395,
+ ANIM_FLY_CORPSE_ARROW = 396,
+ ANIM_FLY_GUIDE_ARROW = 397,
+ ANIM_FLY_SWAY = 398,
+ ANIM_FLY_DRUID_CAT_POUNCE = 399,
+ ANIM_FLY_DRUID_CAT_RIP = 400,
+ ANIM_FLY_DRUID_CAT_RAKE = 401,
+ ANIM_FLY_DRUID_CAT_RAVAGE = 402,
+ ANIM_FLY_DRUID_CAT_CLAW = 403,
+ ANIM_FLY_DRUID_CAT_COWER = 404,
+ ANIM_FLY_DRUID_BEAR_SWIPE = 405,
+ ANIM_FLY_DRUID_BEAR_BITE = 406,
+ ANIM_FLY_DRUID_BEAR_MAUL = 407,
+ ANIM_FLY_DRUID_BEAR_BASH = 408,
+ ANIM_FLY_DRAGON_TAIL = 409,
+ ANIM_FLY_DRAGON_STOMP = 410,
+ ANIM_FLY_DRAGON_SPIT = 411,
+ ANIM_FLY_DRAGON_SPIT_HOVER = 412,
+ ANIM_FLY_DRAGON_SPIT_FLY = 413,
+ ANIM_FLY_EMOTE_YES = 414,
+ ANIM_FLY_EMOTE_NO = 415,
+ ANIM_FLY_JUMP_LAND_RUN = 416,
+ ANIM_FLY_LOOT_HOLD = 417,
+ ANIM_FLY_LOOT_UP = 418,
+ ANIM_FLY_STAND_HIGH = 419,
+ ANIM_FLY_IMPACT = 420,
+ ANIM_FLY_LIFTOFF = 421,
+ ANIM_FLY_HOVER = 422,
+ ANIM_FLY_SUCCUBUS_ENTICE = 423,
+ ANIM_FLY_EMOTE_TRAIN = 424,
+ ANIM_FLY_EMOTE_DEAD = 425,
+ ANIM_FLY_EMOTE_DANCE_ONCE = 426,
+ ANIM_FLY_DEFLECT = 427,
+ ANIM_FLY_EMOTE_EAT_NO_SHEATHE = 428,
+ ANIM_FLY_LAND = 429,
+ ANIM_FLY_SUBMERGE = 430,
+ ANIM_FLY_SUBMERGED = 431,
+ ANIM_FLY_CANNIBALIZE = 432,
+ ANIM_FLY_ARROW_BIRTH = 433,
+ ANIM_FLY_GROUP_ARROW_BIRTH = 434,
+ ANIM_FLY_CORPSE_ARROW_BIRTH = 435,
+ ANIM_FLY_GUIDE_ARROW_BIRTH = 436,
+ ANIM_FLY_EMOTE_TALK_NO_SHEATHE = 437,
+ ANIM_FLY_EMOTE_POINT_NO_SHEATHE = 438,
+ ANIM_FLY_EMOTE_SALUTE_NO_SHEATHE = 439,
+ ANIM_FLY_EMOTE_DANCE_SPECIAL = 440,
+ ANIM_FLY_MUTILATE = 441,
+ ANIM_FLY_CUSTOM_SPELL_01 = 442,
+ ANIM_FLY_CUSTOM_SPELL_02 = 443,
+ ANIM_FLY_CUSTOM_SPELL_03 = 444,
+ ANIM_FLY_CUSTOM_SPELL_04 = 445,
+ ANIM_FLY_CUSTOM_SPELL_05 = 446,
+ ANIM_FLY_CUSTOM_SPELL_06 = 447,
+ ANIM_FLY_CUSTOM_SPELL_07 = 448,
+ ANIM_FLY_CUSTOM_SPELL_08 = 449,
+ ANIM_FLY_CUSTOM_SPELL_09 = 450,
+ ANIM_FLY_CUSTOM_SPELL_10 = 451,
+ ANIM_FLY_STEALTH_RUN = 452,
+ ANIM_FLY_EMERGE = 453,
+ ANIM_FLY_COWER = 454,
+ ANIM_FLY_GRAB = 455,
+ ANIM_FLY_GRAB_CLOSED = 456,
+ ANIM_FLY_GRAB_THROWN = 457,
+ ANIM_TO_FLY = 458,
+ ANIM_TO_HOVER = 459,
+ ANIM_TO_GROUND = 460,
+ ANIM_FLY_TO_FLY = 461,
+ ANIM_FLY_TO_HOVER = 462,
+ ANIM_FLY_TO_GROUND = 463,
+ ANIM_SETTLE = 464,
+ ANIM_FLY_SETTLE = 465,
+ ANIM_DEATH_START = 466,
+ ANIM_DEATH_LOOP = 467,
+ ANIM_DEATH_END = 468,
+ ANIM_FLY_DEATH_START = 469,
+ ANIM_FLY_DEATH_LOOP = 470,
+ ANIM_FLY_DEATH_END = 471,
+ ANIM_DEATH_END_HOLD = 472,
+ ANIM_FLY_DEATH_END_HOLD = 473,
+ ANIM_STRANGULATE = 474,
+ ANIM_FLY_STRANGULATE = 475,
+ ANIM_READY_JOUST = 476,
+ ANIM_LOAD_JOUST = 477,
+ ANIM_HOLD_JOUST = 478,
+ ANIM_FLY_READY_JOUST = 479,
+ ANIM_FLY_LOAD_JOUST = 480,
+ ANIM_FLY_HOLD_JOUST = 481,
+ ANIM_ATTACK_JOUST = 482,
+ ANIM_FLY_ATTACK_JOUST = 483,
+ ANIM_RECLINED_MOUNT = 484,
+ ANIM_FLY_RECLINED_MOUNT = 485,
+ ANIM_TO_ALTERED = 486,
+ ANIM_FROM_ALTERED = 487,
+ ANIM_FLY_TO_ALTERED = 488,
+ ANIM_FLY_FROM_ALTERED = 489,
+ ANIM_IN_STOCKS = 490,
+ ANIM_FLY_IN_STOCKS = 491,
+ ANIM_VEHICLE_GRAB = 492,
+ ANIM_VEHICLE_THROW = 493,
+ ANIM_FLY_VEHICLE_GRAB = 494,
+ ANIM_FLY_VEHICLE_THROW = 495,
+ ANIM_TO_ALTERED_POST_SWAP = 496,
+ ANIM_FROM_ALTERED_POST_SWAP = 497,
+ ANIM_FLY_TO_ALTERED_POST_SWAP = 498,
+ ANIM_FLY_FROM_ALTERED_POST_SWAP = 499,
+ ANIM_RECLINED_MOUNT_PASSENGER = 500,
+ ANIM_FLY_RECLINED_MOUNT_PASSENGER = 501,
+ ANIM_CARRY2H = 502,
+ ANIM_CARRIED2H = 503,
+ ANIM_FLY_CARRY2H = 504,
+ ANIM_FLY_CARRIED2H = 505
};
enum LockKeyType
@@ -2473,8 +2760,8 @@ enum SkillType
SKILL_SURVIVAL2 = 142,
SKILL_RIDING_HORSE = 148,
SKILL_RIDING_WOLF = 149,
- SKILL_RIDING_RAM = 152,
SKILL_RIDING_TIGER = 150,
+ SKILL_RIDING_RAM = 152,
SKILL_SWIMING = 155,
SKILL_2H_MACES = 160,
SKILL_UNARMED = 162,
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index c46721db6cd..cdec6bb3ffa 100755
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -39,6 +39,7 @@ void AddSC_warrior_spell_scripts();
void AddSC_quest_spell_scripts();
void AddSC_item_spell_scripts();
void AddSC_example_spell_scripts();
+void AddSC_holiday_spell_scripts();
void AddSC_SmartSCripts();
@@ -642,6 +643,7 @@ void AddSpellScripts()
AddSC_quest_spell_scripts();
AddSC_item_spell_scripts();
AddSC_example_spell_scripts();
+ AddSC_holiday_spell_scripts();
}
void AddCommandScripts()
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 171382ba4f7..99961664aa8 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2893,6 +2893,7 @@ void SpellMgr::LoadSpellCustomAttr()
case 64588: // Thrust (Argent Tournament)
case 66479: // Thrust (Argent Tournament)
case 68505: // Thrust (Argent Tournament)
+ case 62709: // Counterattack! (Argent Tournament)
case 62626: // Break-Shield (Argent Tournament, Player)
case 64590: // Break-Shield (Argent Tournament, Player)
case 64342: // Break-Shield (Argent Tournament, NPC)
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index 363f7645f6f..17c819f2f22 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -992,7 +992,7 @@ public:
return true;
}
- static bool HandleReloadWpCommand(ChatHandler* /*handler*/, const char* args)
+ static bool HandleReloadWpCommand(ChatHandler* handler, const char* args)
{
if (*args != 'a')
sLog->outString("Re-Loading Waypoints data from 'waypoints_data'");
@@ -1000,7 +1000,7 @@ public:
sWaypointMgr->Load();
if (*args != 'a')
- sLog->outString("DB Table 'waypoint_data' reloaded.");
+ handler->SendGlobalGMSysMessage("DB Table 'waypoint_data' reloaded.");
return true;
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
index 8eff3e3a042..17cf775603f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
@@ -1238,10 +1238,10 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_KICK);
break;
case 2:
- me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACKUNARMED);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK_UNARMED);
break;
case 3:
- me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACKUNARMED);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK_UNARMED);
break;
case 4:
me->HandleEmoteCommand(EMOTE_ONESHOT_KICK);
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
index febe89772fd..9512d66b6eb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
@@ -91,7 +91,7 @@ public:
case 2:
if (!player->isRessurectRequested())
{
- me->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOMSPELL01);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOM_SPELL_01);
DoCast(player, SPELL_REVIVE, true);
me->MonsterWhisper(VALK_WHISPER, player->GetGUID());
}
diff --git a/src/server/scripts/EasternKingdoms/westfall.cpp b/src/server/scripts/EasternKingdoms/westfall.cpp
index 34cc8559a71..271e1d99d63 100644
--- a/src/server/scripts/EasternKingdoms/westfall.cpp
+++ b/src/server/scripts/EasternKingdoms/westfall.cpp
@@ -110,7 +110,7 @@ public:
case 4:
SetEquipmentSlots(false, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE, EQUIP_ID_RIFLE);
me->SetSheath(SHEATH_STATE_RANGED);
- me->HandleEmoteCommand(EMOTE_STATE_USESTANDING_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_STATE_USE_STANDING_NO_SHEATHE);
break;
case 7:
me->SummonCreature(NPC_DEFIAS_RAIDER, -11450.836f, 1569.755f, 54.267f, 4.230f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
@@ -141,7 +141,7 @@ public:
case 13:
SetEquipmentSlots(true);
me->SetSheath(SHEATH_STATE_UNARMED);
- me->HandleEmoteCommand(EMOTE_STATE_USESTANDING_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_STATE_USE_STANDING_NO_SHEATHE);
break;
case 17:
player->GroupEventHappens(QUEST_TOME_VALOR, me);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 6466780f024..65bc8f6a8e6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -678,7 +678,7 @@ public:
}
if (i == LastOverronPos && IsOverrun)
{
- me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACKUNARMED);
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK_UNARMED);
if ((faction == 0 && LastOverronPos == 17) || (faction == 1 && LastOverronPos == 21))
{
me->setDeathState(DEAD);
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
index d56608ba7f1..7f3c19ac69c 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -38,7 +38,7 @@ EndScriptData */
#define SPELL_ARCANE_EXPLOSION 25679
#define SPELL_EARTH_SHOCK 26194
-#define SPELL_TRUE_FULFILLMENT4 26526
+#define SPELL_TRUE_FULFILLMENT 785
#define SPELL_BLINK 28391
class ov_mycoordinates
diff --git a/src/server/scripts/Kalimdor/durotar.cpp b/src/server/scripts/Kalimdor/durotar.cpp
index 8cf72b3538d..6c91c64f981 100644
--- a/src/server/scripts/Kalimdor/durotar.cpp
+++ b/src/server/scripts/Kalimdor/durotar.cpp
@@ -84,7 +84,7 @@ public:
void UpdateAI(const uint32 uiDiff)
{
if (work == true)
- me->HandleEmoteCommand(466);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_WORK_CHOPWOOD);
if (m_uiRebuffTimer <= uiDiff)
{
DoCast(me, SPELL_BUFF_SLEEP);
diff --git a/src/server/scripts/Kalimdor/mulgore.cpp b/src/server/scripts/Kalimdor/mulgore.cpp
index 01cca58359e..c689d6954a4 100644
--- a/src/server/scripts/Kalimdor/mulgore.cpp
+++ b/src/server/scripts/Kalimdor/mulgore.cpp
@@ -171,7 +171,7 @@ public:
break;
case 2:
DoScriptText(EMOTE_EAT_LUNCH, me);
- me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
break;
case 3:
if (Player* unit = Unit::GetPlayer(*me, uiPlayerGUID))
diff --git a/src/server/scripts/Kalimdor/the_barrens.cpp b/src/server/scripts/Kalimdor/the_barrens.cpp
index 6f2ddb1febb..e12897c1def 100644
--- a/src/server/scripts/Kalimdor/the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/the_barrens.cpp
@@ -512,7 +512,7 @@ public:
//creature->GetMotionMaster()->MovePoint(0, -1693, -4343, 4.32f);
//creature->GetMotionMaster()->MovePoint(1, -1684, -4333, 2.78f);
creature->GetMotionMaster()->MovePoint(2, -1682, -4329, 2.79f);
- creature->HandleEmoteCommand(EMOTE_STATE_READYUNARMED);
+ creature->HandleEmoteCommand(EMOTE_STATE_READY_UNARMED);
EventBigWill = true;
Wave_Timer = 1000;
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
index b17b6f1286b..3831e4824ad 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
@@ -429,7 +429,7 @@ class npc_fizzlebang_toc : public CreatureScript
case 1130:
me->GetMotionMaster()->MovementExpired();
DoScriptText(SAY_STAGE_1_03, me);
- me->HandleEmoteCommand(EMOTE_ONESHOT_SPELLCAST_OMNI);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_SPELL_CAST_OMNI);
if (Unit* pTrigger = me->SummonCreature(NPC_TRIGGER, ToCCommonLoc[1].GetPositionX(), ToCCommonLoc[1].GetPositionY(), ToCCommonLoc[1].GetPositionZ(), 4.69494f, TEMPSUMMON_MANUAL_DESPAWN))
{
m_uiTriggerGUID = pTrigger->GetGUID();
@@ -446,7 +446,7 @@ class npc_fizzlebang_toc : public CreatureScript
m_uiUpdateTimer = 4000;
break;
case 1134:
- me->HandleEmoteCommand(EMOTE_ONESHOT_SPELLCAST_OMNI);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_SPELL_CAST_OMNI);
if (Creature* pPortal = me->SummonCreature(NPC_WILFRED_PORTAL, ToCCommonLoc[1].GetPositionX(), ToCCommonLoc[1].GetPositionY(), ToCCommonLoc[1].GetPositionZ(), 4.71239f, TEMPSUMMON_MANUAL_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index 9866d2aace0..2acd014e063 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -883,7 +883,7 @@ class boss_the_lich_king : public CreatureScript
case EVENT_INTRO_TALK_1:
Talk(SAY_LK_INTRO_2);
// for some reason blizz sends 2 emotes in row here so (we handle one in Talk)
- me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
events.ScheduleEvent(EVENT_EMOTE_CAST_SHOUT, 7000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_EMOTE_1, 13000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_EMOTE_CAST_SHOUT, 18000, 0, PHASE_INTRO);
@@ -893,7 +893,7 @@ class boss_the_lich_king : public CreatureScript
DoCast(me, SPELL_EMOTE_SHOUT_NO_SHEATH, false);
break;
case EVENT_INTRO_EMOTE_1:
- me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
break;
case EVENT_INTRO_CAST_FREEZE:
Talk(SAY_LK_INTRO_3);
@@ -1043,7 +1043,7 @@ class boss_the_lich_king : public CreatureScript
DoCastAOE(SPELL_EMOTE_QUESTION_NO_SHEATH);
break;
case EVENT_OUTRO_EMOTE_TALK:
- me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
break;
case EVENT_OUTRO_TALK_3:
if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
@@ -1268,7 +1268,7 @@ class npc_tirion_fordring_tft : public CreatureScript
_events.ScheduleEvent(EVENT_INTRO_CHARGE, 5000, 0, PHASE_INTRO);
break;
case EVENT_INTRO_EMOTE_1:
- me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
break;
case EVENT_INTRO_CHARGE:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index d02d8f3f316..00a6a02f2da 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -477,7 +477,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
Talk(SAY_TIRION_INTRO_3);
break;
case EVENT_LK_INTRO_1:
- me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
if (Creature* theLichKing = ObjectAccessor::GetCreature(*me, _theLichKing))
theLichKing->AI()->Talk(SAY_LK_INTRO_1);
break;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 26e4b33ad8a..8c6afba18fd 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -354,7 +354,7 @@ class boss_gothik : public CreatureScript
}
if (spellId && me->isInCombat())
{
- me->HandleEmoteCommand(EMOTE_ONESHOT_SPELLCAST);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_SPELL_CAST);
if (Creature* pRandomDeadTrigger = Unit::GetCreature(*me, DeadTriggerGUID[rand() % POS_DEAD]))
me->CastSpell(pRandomDeadTrigger, spellId, true);
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index 6b170bab6d8..45f9a1fa012 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -668,7 +668,7 @@ class npc_expedition_commander : public CreatureScript
break;
case 4:
for (uint8 n = 0; n < RAID_MODE(2, 4); n++)
- Engineer[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
+ Engineer[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
for (uint8 n = 0; n < 4; ++n)
Defender[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
me->MonsterYell(SAY_AGGRO_2, LANG_UNIVERSAL, 0);
diff --git a/src/server/scripts/Northrend/grizzly_hills.cpp b/src/server/scripts/Northrend/grizzly_hills.cpp
index c0fad2374bc..ccb31c869a4 100644
--- a/src/server/scripts/Northrend/grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/grizzly_hills.cpp
@@ -415,7 +415,7 @@ public:
// call this each update tick?
if (me->FindNearestCreature(TALLHORN_STAG, 0.2f))
{
- me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
}
else
if (m_uiPhase)
diff --git a/src/server/scripts/Northrend/icecrown.cpp b/src/server/scripts/Northrend/icecrown.cpp
index 91522503d65..8da992af8fb 100644
--- a/src/server/scripts/Northrend/icecrown.cpp
+++ b/src/server/scripts/Northrend/icecrown.cpp
@@ -335,6 +335,162 @@ public:
}
};
+/*######
+* npc_tournament_training_dummy
+######*/
+enum TournamentDummy
+{
+ NPC_CHARGE_TARGET = 33272,
+ NPC_MELEE_TARGET = 33229,
+ NPC_RANGED_TARGET = 33243,
+
+ SPELL_CHARGE_CREDIT = 62658,
+ SPELL_MELEE_CREDIT = 62672,
+ SPELL_RANGED_CREDIT = 62673,
+
+ SPELL_PLAYER_THRUST = 62544,
+ SPELL_PLAYER_BREAK_SHIELD = 62626,
+ SPELL_PLAYER_CHARGE = 62874,
+
+ SPELL_RANGED_DEFEND = 62719,
+ SPELL_CHARGE_DEFEND = 64100,
+ SPELL_VULNERABLE = 62665,
+
+ SPELL_COUNTERATTACK = 62709,
+
+ EVENT_DUMMY_RECAST_DEFEND = 1,
+ EVENT_DUMMY_RESET = 2,
+};
+
+class npc_tournament_training_dummy : public CreatureScript
+{
+ public:
+ npc_tournament_training_dummy(): CreatureScript("npc_tournament_training_dummy"){}
+
+ struct npc_tournament_training_dummyAI : Scripted_NoMovementAI
+ {
+ npc_tournament_training_dummyAI(Creature* creature) : Scripted_NoMovementAI(creature) {}
+
+ EventMap events;
+ bool isVulnerable;
+
+ void Reset()
+ {
+ me->SetControlled(true, UNIT_STATE_STUNNED);
+ me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
+ isVulnerable = false;
+
+ // Cast Defend spells to max stack size
+ switch (me->GetEntry())
+ {
+ case NPC_CHARGE_TARGET:
+ DoCast(SPELL_CHARGE_DEFEND);
+ break;
+ case NPC_RANGED_TARGET:
+ me->CastCustomSpell(SPELL_RANGED_DEFEND, SPELLVALUE_AURA_STACK, 3, me);
+ break;
+ }
+
+ events.Reset();
+ events.ScheduleEvent(EVENT_DUMMY_RECAST_DEFEND, 5000);
+ }
+
+ void EnterEvadeMode()
+ {
+ if (!_EnterEvadeMode())
+ return;
+
+ Reset();
+ }
+
+ void DamageTaken(Unit* /*attacker*/, uint32& damage)
+ {
+ damage = 0;
+ events.RescheduleEvent(EVENT_DUMMY_RESET, 10000);
+ }
+
+ void SpellHit(Unit* caster, SpellInfo const* spell)
+ {
+ switch (me->GetEntry())
+ {
+ case NPC_CHARGE_TARGET:
+ if (spell->Id == SPELL_PLAYER_CHARGE)
+ if (isVulnerable)
+ DoCast(caster, SPELL_CHARGE_CREDIT, true);
+ break;
+ case NPC_MELEE_TARGET:
+ if (spell->Id == SPELL_PLAYER_THRUST)
+ {
+ DoCast(caster, SPELL_MELEE_CREDIT, true);
+
+ if (Unit* target = caster->GetVehicleBase())
+ DoCast(target, SPELL_COUNTERATTACK, true);
+ }
+ break;
+ case NPC_RANGED_TARGET:
+ if (spell->Id == SPELL_PLAYER_BREAK_SHIELD)
+ if (isVulnerable)
+ DoCast(caster, SPELL_RANGED_CREDIT, true);
+ break;
+ }
+
+ if (spell->Id == SPELL_PLAYER_BREAK_SHIELD)
+ if (!me->HasAura(SPELL_CHARGE_DEFEND) && !me->HasAura(SPELL_RANGED_DEFEND))
+ isVulnerable = true;
+ }
+
+ void UpdateAI(uint32 const diff)
+ {
+ events.Update(diff);
+
+ switch (events.ExecuteEvent())
+ {
+ case EVENT_DUMMY_RECAST_DEFEND:
+ switch (me->GetEntry())
+ {
+ case NPC_CHARGE_TARGET:
+ {
+ if (!me->HasAura(SPELL_CHARGE_DEFEND))
+ DoCast(SPELL_CHARGE_DEFEND);
+ break;
+ }
+ case NPC_RANGED_TARGET:
+ {
+ Aura* defend = me->GetAura(SPELL_RANGED_DEFEND);
+ if (!defend || defend->GetStackAmount() < 3 || defend->GetDuration() <= 8000)
+ DoCast(SPELL_RANGED_DEFEND);
+ break;
+ }
+ }
+ isVulnerable = false;
+ events.ScheduleEvent(EVENT_DUMMY_RECAST_DEFEND, 5000);
+ break;
+ case EVENT_DUMMY_RESET:
+ if (UpdateVictim())
+ {
+ EnterEvadeMode();
+ events.ScheduleEvent(EVENT_DUMMY_RESET, 10000);
+ }
+ break;
+ }
+
+ if (!UpdateVictim())
+ return;
+
+ if (!me->HasUnitState(UNIT_STATE_STUNNED))
+ me->SetControlled(true, UNIT_STATE_STUNNED);
+ }
+
+ void MoveInLineOfSight(Unit* /*who*/){}
+ };
+
+ CreatureAI* GetAI(Creature* creature) const
+ {
+ return new npc_tournament_training_dummyAI(creature);
+ }
+
+};
+
void AddSC_icecrown()
{
new npc_arete;
@@ -342,4 +498,5 @@ void AddSC_icecrown()
new npc_argent_valiant;
new npc_guardian_pavilion;
new npc_vereth_the_cunning;
+ new npc_tournament_training_dummy;
}
diff --git a/src/server/scripts/Northrend/sholazar_basin.cpp b/src/server/scripts/Northrend/sholazar_basin.cpp
index c7153eb4006..40e1051f218 100644
--- a/src/server/scripts/Northrend/sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/sholazar_basin.cpp
@@ -665,6 +665,86 @@ public:
}
};
+/*######
+## Quest The Lifewarden's Wrath
+######*/
+
+enum MiscLifewarden
+{
+ NPC_PRESENCE = 28563, // Freya's Presence
+ NPC_SABOTEUR = 28538, // Cultist Saboteur
+ NPC_SERVANT = 28320, // Servant of Freya
+
+ WHISPER_ACTIVATE = 0,
+
+ SPELL_FREYA_DUMMY = 51318,
+ SPELL_LIFEFORCE = 51395,
+ SPELL_FREYA_DUMMY_TRIGGER = 51335,
+ SPELL_LASHER_EMERGE = 48195,
+ SPELL_WILD_GROWTH = 52948,
+};
+
+class spell_q12620_the_lifewarden_wrath : public SpellScriptLoader
+{
+public:
+ spell_q12620_the_lifewarden_wrath() : SpellScriptLoader("spell_q12620_the_lifewarden_wrath") { }
+
+ class spell_q12620_the_lifewarden_wrath_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_q12620_the_lifewarden_wrath_SpellScript);
+
+ void HandleSendEvent(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+
+ if (Unit* caster = GetCaster())
+ {
+ if (Creature* presence = caster->FindNearestCreature(NPC_PRESENCE, 50.0f))
+ {
+ presence->AI()->Talk(WHISPER_ACTIVATE, caster->GetGUID());
+ presence->CastSpell(presence, SPELL_FREYA_DUMMY, true); // will target plants
+ // Freya Dummy could be scripted with the following code
+
+ // Revive plants
+ std::list<Creature*> servants;
+ GetCaster()->GetCreatureListWithEntryInGrid(servants, NPC_SERVANT, 200.0f);
+ for (std::list<Creature*>::iterator itr = servants.begin(); itr != servants.end(); ++itr)
+ {
+ // Couldn't find a spell that does this
+ if ((*itr)->isDead())
+ (*itr)->Respawn(true);
+
+ (*itr)->CastSpell(*itr, SPELL_FREYA_DUMMY_TRIGGER, true);
+ (*itr)->CastSpell(*itr, SPELL_LASHER_EMERGE, false);
+ (*itr)->CastSpell(*itr, SPELL_WILD_GROWTH, false);
+
+ if (Unit* target = (*itr)->SelectNearestTarget(150.0f))
+ (*itr)->AI()->AttackStart(target);
+ }
+
+ // Kill nearby enemies
+ std::list<Creature*> saboteurs;
+ caster->GetCreatureListWithEntryInGrid(saboteurs, NPC_SABOTEUR, 200.0f);
+ for (std::list<Creature*>::iterator itr = saboteurs.begin(); itr != saboteurs.end(); ++itr)
+ if ((*itr)->isAlive())
+ // Lifeforce has a cast duration, it should be cast at all saboteurs one by one
+ presence->CastSpell((*itr), SPELL_LIFEFORCE, false);
+ }
+ }
+ }
+
+ void Register()
+ {
+ OnEffectHit += SpellEffectFn(spell_q12620_the_lifewarden_wrath_SpellScript::HandleSendEvent, EFFECT_0, SPELL_EFFECT_SEND_EVENT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_q12620_the_lifewarden_wrath_SpellScript();
+ }
+};
+
void AddSC_sholazar_basin()
{
new npc_injured_rainspeaker_oracle();
@@ -674,4 +754,5 @@ void AddSC_sholazar_basin()
new npc_engineer_helice();
new npc_adventurous_dwarf();
new npc_jungle_punch_target();
+ new spell_q12620_the_lifewarden_wrath();
}
diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp
index 07de7fe4786..19c4754c4fd 100644
--- a/src/server/scripts/Outland/shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/shadowmoon_valley.cpp
@@ -117,7 +117,7 @@ public:
{
bIsEating = true;
EatTimer = 7000;
- me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACKUNARMED);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK_UNARMED);
}
}
diff --git a/src/server/scripts/Spells/CMakeLists.txt b/src/server/scripts/Spells/CMakeLists.txt
index 0df7cf907b6..496324e4de9 100644
--- a/src/server/scripts/Spells/CMakeLists.txt
+++ b/src/server/scripts/Spells/CMakeLists.txt
@@ -23,6 +23,7 @@ set(scripts_STAT_SRCS
Spells/spell_mage.cpp
Spells/spell_paladin.cpp
Spells/spell_item.cpp
+ Spells/spell_holiday.cpp
)
message(" -> Prepared: Spells")
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 6fc93733a85..9899e50cd28 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -1652,7 +1652,7 @@ enum BreakShieldSpells
class spell_gen_break_shield: public SpellScriptLoader
{
public:
- spell_gen_break_shield() : SpellScriptLoader("spell_gen_break_shield") { }
+ spell_gen_break_shield(const char* name) : SpellScriptLoader(name) {}
class spell_gen_break_shield_SpellScript : public SpellScript
{
@@ -2387,7 +2387,8 @@ void AddSC_generic_spell_scripts()
new spell_gen_dalaran_disguise("spell_gen_sunreaver_disguise");
new spell_gen_dalaran_disguise("spell_gen_silver_covenant_disguise");
new spell_gen_elune_candle();
- new spell_gen_break_shield();
+ new spell_gen_break_shield("spell_gen_break_shield");
+ new spell_gen_break_shield("spell_gen_tournament_counterattack");
new spell_gen_mounted_charge();
new spell_gen_defend();
new spell_gen_tournament_duel();
diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp
new file mode 100644
index 00000000000..19b6a29e24b
--- /dev/null
+++ b/src/server/scripts/Spells/spell_holiday.cpp
@@ -0,0 +1,110 @@
+/*
+ * Copyright (C) 2008-2012 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Spells used in holidays/game events that do not fit any other category.
+ * Scriptnames in this file should be prefixed with "spell_#holidayname_".
+ */
+
+#include "ScriptPCH.h"
+
+// 45102 Romantic Picnic
+
+enum SpellsPicnic
+{
+ SPELL_BASKET_CHECK = 45119, // Holiday - Valentine - Romantic Picnic Near Basket Check
+ SPELL_MEAL_PERIODIC = 45103, // Holiday - Valentine - Romantic Picnic Meal Periodic - effect dummy
+ SPELL_MEAL_EAT_VISUAL = 45120, // Holiday - Valentine - Romantic Picnic Meal Eat Visual
+ // SPELL_MEAL_PARTICLE = 45114, // Holiday - Valentine - Romantic Picnic Meal Particle - unused
+ SPELL_DRINK_VISUAL = 45121, // Holiday - Valentine - Romantic Picnic Drink Visual
+ SPELL_ROMANTIC_PICNIC_ACHIEV = 45123, // Romantic Picnic periodic = 5000
+};
+
+class spell_love_is_in_the_air_romantic_picnic : public SpellScriptLoader
+{
+public:
+ spell_love_is_in_the_air_romantic_picnic() : SpellScriptLoader("spell_love_is_in_the_air_romantic_picnic") { }
+
+ class spell_love_is_in_the_air_romantic_picnic_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_love_is_in_the_air_romantic_picnic_AuraScript);
+
+ void OnApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
+ {
+ if (Unit* target = GetTarget())
+ {
+ target->SetStandState(UNIT_STAND_STATE_SIT);
+ target->CastSpell(target, SPELL_MEAL_PERIODIC, false);
+ }
+ }
+
+ void OnPeriodic(AuraEffect const* /*aurEff*/)
+ {
+ // Every 5 seconds
+ if (Unit* target = GetTarget())
+ {
+ // If our player is no longer sit, remove all auras
+ if (target->getStandState() != UNIT_STAND_STATE_SIT)
+ {
+ target->RemoveAura(SPELL_ROMANTIC_PICNIC_ACHIEV);
+ target->RemoveAura(GetAura());
+ return;
+ }
+
+ target->CastSpell(target, SPELL_BASKET_CHECK, false); // unknown use, it targets Romantic Basket
+ target->CastSpell(target, RAND(SPELL_MEAL_EAT_VISUAL, SPELL_DRINK_VISUAL), false);
+
+ bool foundSomeone = false;
+ // For nearby players, check if they have the same aura. If so, cast Romantic Picnic (45123)
+ // required by achievement and "hearts" visual
+ std::list<Player*> playerList;
+ Trinity::AnyPlayerInObjectRangeCheck checker(target, INTERACTION_DISTANCE*2);
+ Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(target, playerList, checker);
+ target->VisitNearbyWorldObject(INTERACTION_DISTANCE*2, searcher);
+ for (std::list<Player*>::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr)
+ {
+ if ((*itr) != target && (*itr)->HasAura(GetId())) // && (*itr)->getStandState() == UNIT_STAND_STATE_SIT)
+ {
+ GetCaster()->CastSpell(*itr, SPELL_ROMANTIC_PICNIC_ACHIEV, true);
+ GetCaster()->CastSpell(target, SPELL_ROMANTIC_PICNIC_ACHIEV, true);
+ foundSomeone = true;
+ // break;
+ }
+ }
+
+ if (!foundSomeone && target->HasAura(SPELL_ROMANTIC_PICNIC_ACHIEV))
+ target->RemoveAura(SPELL_ROMANTIC_PICNIC_ACHIEV);
+ }
+ }
+
+ void Register()
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_love_is_in_the_air_romantic_picnic_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_love_is_in_the_air_romantic_picnic_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const
+ {
+ return new spell_love_is_in_the_air_romantic_picnic_AuraScript();
+ }
+};
+
+void AddSC_holiday_spell_scripts()
+{
+ new spell_love_is_in_the_air_romantic_picnic();
+}