Conflicts:
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Server/Protocol/Opcodes.cpp
This commit is contained in:
Rat
2015-03-29 11:25:48 +02:00
110 changed files with 12398 additions and 2710 deletions
+3 -3
View File
@@ -252,7 +252,7 @@ CREATE TABLE `battlenet_components` (
LOCK TABLES `battlenet_components` WRITE;
/*!40000 ALTER TABLE `battlenet_components` DISABLE KEYS */;
INSERT INTO `battlenet_components` VALUES ('Bnet','Mc64',37165),('Bnet','Win',37165),('Bnet','Wn64',37165),('WoW','base',19634),('WoW','deDE',0),('WoW','enCN',0),('WoW','enGB',0),('WoW','enTW',0),('WoW','enUS',0),('WoW','esES',0),('WoW','esMX',0),('WoW','frFR',0),('WoW','itIT',0),('WoW','koKR',0),('WoW','Mc64',19702),('WoW','ptBR',0),('WoW','ptPT',0),('WoW','ruRU',0),('WoW','Win',19702),('WoW','Wn64',19702),('WoW','zhCN',0),('WoW','zhTW',0);
INSERT INTO `battlenet_components` VALUES ('Bnet','Mc64',37165),('Bnet','Win',37165),('Bnet','Wn64',37165),('WoW','base',19793),('WoW','deDE',0),('WoW','enCN',0),('WoW','enGB',0),('WoW','enTW',0),('WoW','enUS',0),('WoW','esES',0),('WoW','esMX',0),('WoW','frFR',0),('WoW','itIT',0),('WoW','koKR',0),('WoW','Mc64',19802),('WoW','ptBR',0),('WoW','ptPT',0),('WoW','ruRU',0),('WoW','Win',19802),('WoW','Wn64',19802),('WoW','zhCN',0),('WoW','zhTW',0);
/*!40000 ALTER TABLE `battlenet_components` ENABLE KEYS */;
UNLOCK TABLES;
@@ -568,7 +568,7 @@ CREATE TABLE `realmlist` (
`timezone` tinyint(3) unsigned NOT NULL DEFAULT '0',
`allowedSecurityLevel` tinyint(3) unsigned NOT NULL DEFAULT '0',
`population` float unsigned NOT NULL DEFAULT '0',
`gamebuild` int(10) unsigned NOT NULL DEFAULT '19634',
`gamebuild` int(10) unsigned NOT NULL DEFAULT '19793',
`Region` tinyint(3) unsigned NOT NULL DEFAULT '2',
`Battlegroup` tinyint(3) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
@@ -582,7 +582,7 @@ CREATE TABLE `realmlist` (
LOCK TABLES `realmlist` WRITE;
/*!40000 ALTER TABLE `realmlist` DISABLE KEYS */;
INSERT INTO `realmlist` VALUES (1,'Trinity','127.0.0.1','127.0.0.1','255.255.255.0',8085,0,0,1,0,0,19634,2,1);
INSERT INTO `realmlist` VALUES (1,'Trinity','127.0.0.1','127.0.0.1','255.255.255.0',8085,0,0,1,0,0,19793,2,1);
/*!40000 ALTER TABLE `realmlist` ENABLE KEYS */;
UNLOCK TABLES;
+4
View File
@@ -0,0 +1,4 @@
UPDATE `realmlist` SET `gamebuild`=19793 WHERE `id`=1;
UPDATE `battlenet_components` SET `Build`=19793 WHERE `Program`='WoW' AND `Platform`='base' AND `Build`=19634;
UPDATE `battlenet_components` SET `Build`=19802 WHERE `Program`='WoW' AND `Platform` IN ('Win','Wn64','Mc64') AND `Build`=19702;
+1 -1
View File
@@ -8,7 +8,7 @@ INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` =21411;
DELETE FROM `smart_scripts` WHERE `entryorguid` =21411 AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid` =2141100 AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid` =2141100 AND `source_type`=9;
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
(21411, 0, 0, 1, 19, 0, 100, 0, 10550, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Tobias the Filth Gorger - On Quest 10550 taken - Store Targetlist'),
@@ -0,0 +1,2 @@
DELETE FROM `smart_scripts` WHERE `entryorguid`=21685 AND `source_type`=0 AND `id`=16 AND `link`=0;
UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=21685 AND `source_type`=0 AND `id`=15 AND `link`=16;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
DELETE FROM `gameobject` WHERE `guid` IN (69717, 69718, 69719, 6220,6221,6222) AND `id`=185215;
DELETE FROM `gameobject` WHERE `guid` IN (69717, 69718, 69719) AND `id` IN(2040,1732,1733);
INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
(6220, 185215, 530, 1, 1, 4697.5, 3298.68, 178.892, 2.02823, 0, 0, 0.849013, 0.528372, 120, 0, 1),
(6221, 185215, 530, 1, 1, 4734.71, 3193.67, 161.48, 0.386745, 0, 0, 0.19217, 0.981362, 120, 0, 1),
(6222, 185215, 530, 1, 1, 4673.28, 3126.67, 166.725, 5.42979, 0, 0, 0.413867, -0.910337, 120, 0, 1),
(69717, 2040, 0, 1, 1, -1246, -2071, 50.241, 2.284, 0, 0, 0, 0, 900, 255, 1),
(69718, 1732, 0, 1, 1, -1246, -2071, 50.241, 2.284, 0, 0, 0, 0, 900, 255, 1),
(69719, 1733, 0, 1, 1, -1246, -2071, 50.241, 2.284, 0, 0, 0, 0, 900, 255, 1);
@@ -0,0 +1,6 @@
UPDATE `creature_template` SET `AIName`='' WHERE `entry`=21669;
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=21699;
DELETE FROM `smart_scripts` WHERE `entryorguid` In(21669,21699) 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
(21669, 0, 0, 0, 1, 0, 100, 0, 0, 300000, 300000, 900000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev Shadowsong - OOC - Say Line 0');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 and `SourceEntry`=35997;
@@ -0,0 +1,3 @@
--
UPDATE `conditions` SET `SourceGroup`=3 WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (63292,63294, 63295);
UPDATE `conditions` SET `ConditionTypeOrReference`=39 WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=3 AND `SourceEntry`=202443 AND `SourceId`=1 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=40 AND `ConditionTarget`=1 AND `ConditionValue1`=4576 AND `ConditionValue2`=0 AND `ConditionValue3`=0;
@@ -0,0 +1,2 @@
--
UPDATE `smart_scripts` SET `entryorguid`=21699 WHERE `entryorguid`=21669 AND `source_type`=0 AND `id`=0 AND `link`=0;
+16
View File
@@ -0,0 +1,16 @@
-- Remove Clockwork Mechanic & Arachnopod Destroyer Incorrect spawns "Ulduar"
DELETE FROM `creature` WHERE `guid` IN (137561,137562,137563,136543,136544,136547,136551);
-- Arachnopod Destroyer SAI "Still needs combat AI"
SET @ENTRY := 34183;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,1,0,100,1,0,0,0,0,11,64703,0,0,0,0,0,1,0,0,0,0,0,0,0,"Arachnopod Destroyer - OOC - Cast Summon Clockwork Mechanic");
-- Clockwork Mechanic SAI "Still needs combat AI"
SET @ENTRY := 34184;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,54,0,100,0,0,0,0,0,11,63313,0,0,0,0,0,7,0,0,0,0,0,0,0,"Clockwork Mechanic - Just Summoned - Cast Ride Vehicle");
@@ -0,0 +1,9 @@
-- assign spellscript for Spell: 'Infected Worgen Bite'
DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=53095;
INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
(53095,-53094,2,'Infected Worgen Bite - Worgen\'s Call Immunity');
DELETE FROM `spell_script_names` WHERE `spell_id`=53094;
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(53094,'spell_infected_worgen_bite');
@@ -0,0 +1,2 @@
--
DELETE FROM `creature_addon` WHERE `guid` IN (137561,137562,137563);
+13
View File
@@ -0,0 +1,13 @@
DELETE FROM `spell_script_names` WHERE `spell_id` IN (62539,64614,64629,64630,64631,64632,64633,64634,64635,64636,67393);
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(62539,'spell_gen_eject_passenger'),
(64614,'spell_gen_eject_passenger'),
(64629,'spell_gen_eject_passenger'),
(64630,'spell_gen_eject_passenger'),
(64631,'spell_gen_eject_passenger'),
(64632,'spell_gen_eject_passenger'),
(64633,'spell_gen_eject_passenger'),
(64634,'spell_gen_eject_passenger'),
(64635,'spell_gen_eject_passenger'),
(64636,'spell_gen_eject_passenger'),
(67393,'spell_gen_eject_passenger');
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,98 @@
DELETE FROM `creature_text` WHERE `entry` IN(22865,22820);
DELETE FROM `creature_text` WHERE `entry` =21700 AND `groupid`>7;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES
(22865, 0, 0, 'You disappoint me, Akama. I wanted to question the treacherous worm myself! I''m beginning to question your allegiance, Broken.', 12, 0, 100, 1, 0, 11608, 20628, 'Illidan''s Presence to Player'),
(22865, 1, 0, 'I do not sense lies in your voice, Akama. That Kael''thas would betray me does not come as a big surprise - I''m not as oblivious as some would think. That one of your own was involved with him puts your loyalties into question.', 12, 0, 100, 5, 0, 11609, 20629, 'Illidan''s Presence to Player'),
(22865, 2, 0, 'Send your Ashtongue into Tempest Keep and slay his most prized possession, the phoenix known as Al''ar. I must know that you''re not on his side. Do not think of betraying me, Broken. We both know who owns your soul!', 12, 0, 100, 1, 0, 11610, 20630, 'Illidan''s Presence to Player'),
(21700, 8, 0, 'Olum... old friend. It is good to see that you are safe.', 12, 0, 100, 6, 0, 11600, 20490, 'Akama to Player'),
(21700, 9, 0, 'Illidan will become suspicious... that much is for certain. We will deal with it as we always do.', 12, 0, 100, 0, 0, 11601, 20491, 'Akama to Player'),
(21700, 10, 0, 'You cannot... be serious, Olum. Your sacrifice has already been too great.', 12, 0, 100, 274, 0, 11602, 20492, 'Akama to Player'),
(21700, 11, 0, 'It appears your mind is set then. We will guide you to the spirit world with as much kindness as we can.', 12, 0, 100, 396, 0, 11603, 20493, 'Akama to Player'),
(21700, 12, 0, 'Farewell, dear friend. We shall meet you in the next world when our duties in this one are fulfilled.', 12, 0, 100, 0, 0, 11604, 20494, 'Akama to Player'),
(21700, 13, 0, 'Master! We''ve found the traitor who escaped Vashj! His body lies in front of me... lifeless!', 12, 0, 100, 0, 0, 11605, 20495, 'Akama to Player'),
(21700, 14, 0, 'But, sire! You have misjudged my actions... I do have knowledge of someone close to you who plans to betray you. It is that dog, Kael''thas! He has allied with Kil''jaeden and intends to replace you as Lord of Outland!', 12, 0, 100, 0, 0, 11606, 20496, 'Akama to Player'),
(21700, 15, 0, 'It will be done, my lord!', 12, 0, 100, 66, 0, 11607, 20497, 'Akama to Player'),
(22820, 0, 0, 'Akama, my friend! Have you been informed? I was found out by Vashj''s followers. Our secret is in peril!', 12, 0, 100, 0, 0, 11611, 20498, 'Seer Olum to Player'),
(22820, 1, 0, 'Illidan is looking for me. I am not safe here... none of us are.', 12, 0, 100, 1, 0, 11612, 20502, 'Seer Olum to Player'),
(22820, 2, 0, 'Illidan will find me and when he does... he will pry the Ashtongue secret from me - such is the power of the Betrayer! No... there is only one way. My usefulness to the cause has come to an end. I must venture into the spirit world!', 12, 0, 100, 6, 0, 11613, 20499, 'Seer Olum to Player'),
(22820, 3, 0, 'My decision is final. I will not be dissuaded. I have devoted my life to our plan. To jeopardize it now would betray all who have died for the cause long before me.', 12, 0, 100, 274, 0, 11614, 20500, 'Seer Olum to Player'),
(22820, 4, 0, 'I thank you, Akama. You honor me by allowing me this moment, surrounded by my brothers. Farewell, friend. Guide our people well.', 12, 0, 100, 2, 0, 11615, 20501, 'Seer Olum to Player');
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(22820,22865,22870);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN(22820,22865,22870) AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid` =21700 AND `source_type`=0 AND `id` IN(4,5);
DELETE FROM `smart_scripts` WHERE `entryorguid` =2170002 AND `source_type`=9;
UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=22870;
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
(22870, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 11, 36545, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Just Summoned - Cast Floating Drowned'),
(22870, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 11, 36550, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Just Summoned - Cast Floating Drowned'),
(22870, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 22870, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Just Summoned - Start WP'),
(22870, 0, 3, 0, 40, 0, 100, 0, 1, 22870, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Olums Spirit - On Reached WP1 - Despawn'),
(22820, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Just Summoned - Set NPC Flags'),
(22820, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 53, 0, 22820, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Just Summoned - Start WP'),
(22820, 0, 2, 0, 40, 0, 100, 0, 2, 22820, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Reached WP2 - Set Home Position'),
(22820, 0, 3, 4, 8, 0, 100, 0, 39552, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Spellhit (Olums Sacrifice) - Die'),
(22820, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 12, 22870, 1, 20000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Seer Olum - On Spellhit (Olums Sacrifice) - Summon Olums Spirit'),
(22865, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 11, 37816, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Illidans Presence- On Just Summoned - Cast Shadowform'),
(22865, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 5, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Illidans Presence- On Data Set - Play Emote OneShotExclamation (5)'),
(22865, 0, 2, 0, 38, 0, 100, 0, 2, 2, 0, 0, 5, 53, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Illidans Presence- On Data Set - Play Emote OneShotBattleRoar (53)'),
(21700, 0, 4, 5, 20, 0, 100, 0, 10944, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10944 rewarded - Store Targetlist'),
(21700, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2170002, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Quest 10944 rewarded - Run Script'),
(2170002, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set NPC Flags'),
(2170002, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 22820, 1, 180000, 0, 0, 0, 8, 0, 0, 0, -3726.361, 1040.714, 56.03985, 5.846853, 'Akama - Script 3 - Summon Seer Olum'), -- 00:57:39.985 Number: 4250
(2170002, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 0 on Seer Olum'), -- 00:57:41.328 Number: 4268
(2170002, 9, 3, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 8'), -- 00:57:51.438 Number: 4412
(2170002, 9, 4, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 1 on Seer Olum'), -- 00:58:01.547 Number: 4545
(2170002, 9, 5, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 9'), -- 00:58:08.422 Number: 4613
(2170002, 9, 6, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 2 on Seer Olum'), -- 00:58:18.485 Number: 4746
(2170002, 9, 7, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 1, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 10'), -- 00:58:43.578 Number: 5020
(2170002, 9, 8, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 3 on Seer Olum'), -- 00:58:53.688 Number: 5102
(2170002, 9, 9, 0, 0, 0, 100, 0, 13000, 13000, 0, 0, 1, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 11'), -- 00:59:06.610 Number: 5239
(2170002, 9, 10, 0, 0, 0, 100, 0, 14000, 14000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 4 on Seer Olum'), -- 00:59:20.328 Number: 5385
(2170002, 9, 11, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 11, 39552, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Cast Olums Sacrifice'), -- 00:59:31.532 Number: 5519
(2170002, 9, 12, 0, 0, 0, 100, 0, 14000, 14000, 0, 0, 1, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 12'), -- 00:59:45.438 Number: 5726
(2170002, 9, 13, 0, 0, 0, 100, 0, 21000, 21000, 0, 0, 1, 13, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 13'), -- 01:00:06.110 Number: 5970
(2170002, 9, 14, 0, 0, 0, 100, 0, 0, 0, 0, 0, 90, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Bytes 1'),
(2170002, 9, 15, 0, 0, 0, 100, 0, 300, 300, 0, 0, 12, 22865, 1, 86000, 0, 0, 0, 8, 0, 0, 0, -3721.867, 1029.501, 56.03928, 0.03490658, 'Akama - Script 3 - Summon Illidans Presence'), -- 01:00:06.438 Number: 5980
(2170002, 9, 16, 0, 0, 0, 100, 0, 0, 0, 0, 0, 50, 185520, 86, 0, 0, 0, 0, 8, 0, 0, 0, -3721.867, 1029.501, 56.03928, 0.03490658, 'Akama - Script 3 - Summon Fel Fire (GO)'), -- 01:00:06.438 Number: 5980
(2170002, 9, 17, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 0 on Illidans Presence'), -- 01:00:14.610 Number: 6082
(2170002, 9, 18, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Data 1 1 on Illidans Presence'), -- 01:00:19.516 Number: 6135
(2170002, 9, 19, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 22820, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Despawn Seer Olum'), -- 01:00:28.000 Number: 6250
(2170002, 9, 20, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 91, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Bytes 1'), -- 01:00:29.219 Number: 6273
(2170002, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 14'), -- 01:00:29.328 Number: 6276
(2170002, 9, 22, 0, 0, 0, 100, 0, 16000, 16000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 1 on Illidans Presence'), -- 01:00:45.110 Number: 6432
(2170002, 9, 23, 0, 0, 0, 100, 0, 23000, 23000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 2 on Illidans Presence'), -- 01:01:08.125 Number: 6672
(2170002, 9, 24, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 22865, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Set Data 2 2 on Illidans Presence'), -- 01:01:14.125 Number: 6731
(2170002, 9, 25, 0, 0, 0, 100, 0, 17000, 17000, 0, 0, 1, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 15'), -- 01:01:31.188 Number: 6926
(2170002, 9, 26, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - Script 3 - Say Line 15'); -- Set NPC Flags
DELETE FROM `creature_template_addon` WHERE `entry` IN(22870,22865);
INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES
(22870, 0, 0x0, 0x1, '36545'), -- 22870 - 36545
(22865, 0, 0x0, 0x1, '37816'); -- 22865 - 37816
DELETE FROM `waypoints` WHERE `entry` IN(22820,22870);
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
(22820, 1,-3724.758, 1036.542, 55.99855, 'Seer Olum'),
(22820, 2,-3723.388, 1033.147, 56.20685, 'Seer Olum'),
(22870, 1,-3718.94, 1032.773, 63.84426, 'Olums Spirit');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=39552;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 39552, 0, 0, 31, 0, 3, 22820, 0, 0, 0, 0, '', 'Olums Sacrifice targets Seer Olum'),
(22, 1, 22820, 0, 0, 23, 1, 3821, 0, 0, 0, 0, 0, '', 'The Lich King - Only Run SAI in The Wardens Cage');
UPDATE `creature_template` SET `gossip_menu_id`=8564 WHERE `entry`=22820;
DELETE FROM `gossip_menu` WHERE `entry`=8564;
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
(8564, 10733); -- 22820
+22
View File
@@ -0,0 +1,22 @@
--
SET @CGUID := 370474;
DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+17;
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
(@CGUID+0, 37543, 530, 1, 1, 9633.195, -7136.578, 30.51368, 0, 120, 0, 0), -- 37543 (Area: 3665) 3.3.5a
(@CGUID+1, 37543, 530, 1, 1, 9648.338, -7119.096, 28.47594, 0, 120, 0, 0), -- 37543 (Area: 3665) 3.3.5a
(@CGUID+2, 37543, 530, 1, 1, 9665.38, -7136.049, 28.58942, 0, 120, 0, 0), -- 37543 (Area: 3665) 3.3.5a
(@CGUID+3, 37574, 530, 1, 1, 9568.38, -7194.522, 24.68986, 4.660029, 120, 0, 0), -- 37574 (Area: 0) 3.3.5a
(@CGUID+4, 37574, 530, 1, 1, 9530.643, -7189.838, 31.87009, 4.660029, 120, 0, 0), -- 37574 (Area: 0) 3.3.5a
(@CGUID+5, 37543, 530, 1, 1, 9530.571, -7220.372, 30.44205, 1.22173, 120, 0, 0), -- 37543 (Area: 0) 3.3.5a
(@CGUID+6, 37574, 530, 1, 1, 9520.098, -7188.818, 31.84313, 4.660029, 120, 0, 0), -- 37574 (Area: 0) 3.3.5a
(@CGUID+7, 37574, 530, 1, 1, 9676.034, -7346.333, 22.96401, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a
(@CGUID+8, 37574, 530, 1, 1, 9683.437, -7394.599, 24.14162, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a
(@CGUID+9, 37574, 530, 1, 1, 9532.216, -7239.835, 24.74386, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a
(@CGUID+10, 37574, 530, 1, 1, 9574.714, -7221.677, 23.17951, 4.660029, 120, 0, 0), -- 37574 (Area: 3482) 3.3.5a
(@CGUID+11, 37543, 530, 1, 1, 9648.606, -7151.55, 28.7944, 0, 120, 0, 0), -- 37543 (Area: 3482) 3.3.5a
(@CGUID+12, 37543, 530, 1, 1, 9467.849, -7269.604, 34.85052, 0, 120, 0, 0), -- 37543 (Area: 3482) 3.3.5a
(@CGUID+13, 37543, 530, 1, 1, 9467.499, -7287.613, 36.13566, 0, 120, 0, 0), -- 37543 (Area: 3482) 3.3.5a
(@CGUID+14, 44244, 530, 1, 1, 9505.31, -6765.01, 16.59573, 4.782202, 120, 0, 0), -- 44244 (Area: 3665) 4.3.4
(@CGUID+15, 43012, 530, 1, 1, 9521.21, -6865.33, 18.83333, 5.166174, 120, 0, 0), -- 43012 (Area: 3665) 4.3.4
(@CGUID+16, 50484, 530, 1, 1, 9372.658, -7160.698, 9.261522, 3.909538, 120, 0, 0), -- 50484 (Area: 3482) 4.3.4
(@CGUID+17, 47421, 530, 1, 1, 9503.18, -6897.75, 28.43053, 2.70526, 120, 0, 0); -- 47421 (Area: 3665) 4.3.4
@@ -0,0 +1,586 @@
-- Pathing for Stonevault Ambusher Entry: 7175 'TDB FORMAT'
SET @NPC := 27536;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-210.1764,`position_y`=109.2886,`position_z`=-47.71453 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-210.1764,109.2886,-47.71453,0,0,1,0,100,0), -- 19:46:17
(@PATH,2,-210.9264,115.0386,-47.71453,0,0,1,0,100,0), -- 19:46:17
(@PATH,3,-211.1764,117.7886,-46.96453,0,0,1,0,100,0), -- 19:46:17
(@PATH,4,-211.4264,120.0386,-46.46453,0,0,1,0,100,0), -- 19:46:17
(@PATH,5,-211.3505,121.1287,-46.46464,0,0,1,0,100,0), -- 19:46:20
(@PATH,6,-211.3505,124.6287,-46.46464,0,0,1,0,100,0), -- 19:46:20
(@PATH,7,-211.3505,126.8787,-46.46464,0,0,1,0,100,0), -- 19:46:20
(@PATH,8,-206.7831,137.7592,-46.55875,0,0,1,0,100,0), -- 19:46:21
(@PATH,9,-204.5331,138.0092,-46.55875,0,0,1,0,100,0), -- 19:46:21
(@PATH,10,-200.7831,138.2592,-46.55875,0,0,1,0,100,0), -- 19:46:21
(@PATH,11,-199.5331,138.5092,-46.55875,0,0,1,0,100,0), -- 19:46:21
(@PATH,12,-198.5331,138.5092,-47.05875,0,0,1,0,100,0), -- 19:46:21
(@PATH,13,-198.2273,138.9003,-47.06185,0,0,1,0,100,0), -- 19:46:23
(@PATH,14,-192.7273,139.1503,-47.06185,0,0,1,0,100,0), -- 19:46:23
(@PATH,15,-174.9689,143.976,-47.15791,0,0,1,0,100,0), -- 19:46:25
(@PATH,16,-174.9137,144.2064,-47.1599,0,0,1,0,100,0), -- 19:46:26
(@PATH,17,-174.1637,144.9564,-47.1599,0,0,1,0,100,0), -- 19:46:26
(@PATH,18,-174.2672,156.425,-47.16148,0,0,1,0,100,0), -- 19:46:27
(@PATH,19,-178.1581,166.2433,-47.16,0,0,1,0,100,0), -- 19:46:28
(@PATH,20,-182.0437,167.7564,-47.15718,0,0,1,0,100,0), -- 19:46:29
(@PATH,21,-187.5437,168.5064,-47.15718,0,0,1,0,100,0), -- 19:46:29
(@PATH,22,-198.6023,169.4236,-47.01919,0,0,1,0,100,0), -- 19:46:30
(@PATH,23,-199.8523,169.4236,-46.26919,0,0,1,0,100,0), -- 19:46:30
(@PATH,24,-206.3523,169.1736,-44.51919,0,0,1,0,100,0), -- 19:46:30
(@PATH,25,-208.6023,169.1736,-44.51919,0,0,1,0,100,0), -- 19:46:30
(@PATH,26,-211.6879,169.1373,-44.53472,0,0,1,0,100,0), -- 19:46:33
(@PATH,27,-215.1879,168.8873,-44.53472,0,0,1,0,100,0), -- 19:46:33
(@PATH,28,-219.4723,168.7791,-44.37992,0,0,1,0,100,0), -- 19:46:34
(@PATH,29,-239.9498,168.602,-44.37992,0,0,1,0,100,0), -- 19:46:37
(@PATH,30,-246.9581,168.9306,-44.51655,0,0,1,0,100,0), -- 19:46:38
(@PATH,31,-249.2081,168.9306,-44.51655,0,0,1,0,100,0), -- 19:46:38
(@PATH,32,-252.4581,169.1806,-45.51655,0,0,1,0,100,0), -- 19:46:38
(@PATH,33,-255.7081,169.4306,-46.26655,0,0,1,0,100,0), -- 19:46:38
(@PATH,34,-256.7081,169.4306,-47.01655,0,0,1,0,100,0), -- 19:46:38
(@PATH,35,-256.8999,169.2992,-47.01842,0,0,1,0,100,0), -- 19:46:39
(@PATH,36,-260.1499,169.5492,-47.01842,0,0,1,0,100,0), -- 19:46:39
(@PATH,37,-271.5681,169.6401,-47.15585,0,0,1,0,100,0), -- 19:46:40
(@PATH,38,-278.7491,167.1944,-47.1574,0,0,1,0,100,0), -- 19:46:41
(@PATH,39,-281.8345,159.0635,-47.15884,0,0,1,0,100,0), -- 19:46:43
(@PATH,40,-281.6717,149.2611,-47.15874,0,0,1,0,100,0), -- 19:46:44
(@PATH,41,-281.4217,147.0111,-47.15874,0,0,1,0,100,0), -- 19:46:44
(@PATH,42,-280.9217,143.0111,-47.15874,0,0,1,0,100,0), -- 19:46:44
(@PATH,43,-280.6221,142.876,-47.15683,0,0,1,0,100,0), -- 19:46:45
(@PATH,44,-280.6221,141.876,-47.15683,0,0,1,0,100,0), -- 19:46:45
(@PATH,45,-279.6221,141.376,-47.15683,0,0,1,0,100,0), -- 19:46:45
(@PATH,46,-273.4069,138.0354,-47.15511,0,0,1,0,100,0), -- 19:46:46
(@PATH,47,-256.2716,137.7599,-46.55902,0,0,1,0,100,0), -- 19:46:47
(@PATH,48,-251.2716,137.7599,-46.55902,0,0,1,0,100,0), -- 19:46:47
(@PATH,49,-245.0504,137.672,-46.46387,0,0,1,0,100,0), -- 19:46:50
(@PATH,50,-230.932,137.3019,-46.46301,0,0,1,0,100,0), -- 19:46:51
(@PATH,51,-219.4549,136.5503,-46.46327,0,0,1,0,100,0), -- 19:46:52
(@PATH,52,-212.4549,136.0503,-46.46327,0,0,1,0,100,0), -- 19:46:52
(@PATH,53,-211.8714,135.753,-46.46384,0,0,1,0,100,0), -- 19:46:54
(@PATH,54,-211.8714,127.003,-46.46384,0,0,1,0,100,0), -- 19:46:54
(@PATH,55,-211.7341,126.9009,-46.65929,0,0,1,0,100,0), -- 19:46:55
(@PATH,56,-211.7341,124.6509,-46.65929,0,0,1,0,100,0), -- 19:46:55
(@PATH,57,-211.7341,123.6509,-46.65929,0,0,1,0,100,0), -- 19:46:55
(@PATH,58,-211.7341,119.9009,-46.65929,0,0,1,0,100,0), -- 19:46:55
(@PATH,59,-211.7341,117.6509,-47.15929,0,0,1,0,100,0), -- 19:46:55
(@PATH,60,-211.7341,115.1509,-47.65929,0,0,1,0,100,0), -- 19:46:55
(@PATH,61,-211.6735,112.9518,-47.72739,0,0,1,0,100,0); -- 19:46:57
-- 0x1C16F408C00701C00059E900030B2760 .go -210.1764 109.2886 -47.71453
-- Pathing for Stonevault Ambusher Entry: 7175 'TDB FORMAT'
SET @NPC := 27535;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-260.9756,`position_y`=61.2314,`position_z`=-48.54825 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-260.9756,61.2314,-48.54825,0,0,1,0,100,0), -- 19:46:55
(@PATH,2,-279.7831,63.47712,-48.54804,0,0,1,0,100,0), -- 19:46:57
(@PATH,3,-282.5231,65.95476,-48.55443,0,0,1,0,100,0), -- 19:46:58
(@PATH,4,-288.7731,67.95476,-48.55443,0,0,1,0,100,0), -- 19:46:58
(@PATH,5,-293.4806,70.74025,-48.55671,0,0,1,0,100,0), -- 19:47:00
(@PATH,6,-295.2306,72.99025,-48.55671,0,0,1,0,100,0), -- 19:47:00
(@PATH,7,-292.8817,80.33412,-48.55592,0,0,1,0,100,0), -- 19:47:01
(@PATH,8,-288.8817,83.33412,-48.55592,0,0,1,0,100,0), -- 19:47:01
(@PATH,9,-280.2568,88.74796,-48.5517,0,0,1,0,100,0), -- 19:47:03
(@PATH,10,-273.2597,91.43516,-48.54511,0,0,1,0,100,0), -- 19:47:05
(@PATH,11,-256.2809,91.47353,-47.96152,0,0,1,0,100,0), -- 19:47:06
(@PATH,12,-254.0309,91.47353,-47.96152,0,0,1,0,100,0), -- 19:47:06
(@PATH,13,-250.0309,91.47353,-47.96152,0,0,1,0,100,0), -- 19:47:06
(@PATH,14,-246.0933,91.76448,-47.96255,0,0,1,0,100,0), -- 19:47:07
(@PATH,15,-244.1956,114.8135,-47.86117,0,0,1,0,100,0), -- 19:47:09
(@PATH,16,-244.0928,116.6703,-47.67337,0,0,1,0,100,0), -- 19:47:11
(@PATH,17,-244.0928,119.6703,-46.42337,0,0,1,0,100,0), -- 19:47:11
(@PATH,18,-244.3428,126.6703,-46.42337,0,0,1,0,100,0), -- 19:47:11
(@PATH,19,-244.2846,127.0505,-46.63219,0,0,1,0,100,0), -- 19:47:12
(@PATH,20,-251.2605,136.6456,-46.55659,0,0,1,0,100,0), -- 19:47:13
(@PATH,21,-256.0104,137.6456,-46.55659,0,0,1,0,100,0), -- 19:47:13
(@PATH,22,-257.2604,137.8956,-47.05659,0,0,1,0,100,0), -- 19:47:13
(@PATH,23,-259.69,138.2683,-47.05939,0,0,1,0,100,0), -- 19:47:16
(@PATH,24,-278.1556,142.2052,-47.15575,0,0,1,0,100,0), -- 19:47:17
(@PATH,25,-278.9056,143.2052,-47.15575,0,0,1,0,100,0), -- 19:47:17
(@PATH,26,-281.2275,147.3071,-47.15728,0,0,1,0,100,0), -- 19:47:18
(@PATH,27,-281.9775,148.5571,-47.15728,0,0,1,0,100,0), -- 19:47:18
(@PATH,28,-277.5583,166.0385,-47.15807,0,0,1,0,100,0), -- 19:47:20
(@PATH,29,-270.8185,168.1763,-47.15633,0,0,1,0,100,0), -- 19:47:21
(@PATH,30,-257.0093,169.4798,-47.01865,0,0,1,0,100,0), -- 19:47:23
(@PATH,31,-256.0093,169.4798,-46.26865,0,0,1,0,100,0), -- 19:47:23
(@PATH,32,-252.7593,169.4798,-45.51865,0,0,1,0,100,0), -- 19:47:23
(@PATH,33,-249.2593,169.4798,-44.51865,0,0,1,0,100,0), -- 19:47:23
(@PATH,34,-247.0093,169.4798,-44.51865,0,0,1,0,100,0), -- 19:47:23
(@PATH,35,-246.7646,169.5961,-44.52259,0,0,1,0,100,0), -- 19:47:25
(@PATH,36,-244.5146,169.5961,-44.52259,0,0,1,0,100,0), -- 19:47:25
(@PATH,37,-240.0146,169.5961,-44.52259,0,0,1,0,100,0), -- 19:47:25
(@PATH,38,-215.2646,169.3461,-44.52259,0,0,1,0,100,0), -- 19:47:25
(@PATH,39,-208.8364,169.3836,-44.51604,0,0,1,0,100,0), -- 19:47:29
(@PATH,40,-206.5864,169.6336,-44.51604,0,0,1,0,100,0), -- 19:47:29
(@PATH,41,-200.0864,169.8836,-46.26604,0,0,1,0,100,0), -- 19:47:29
(@PATH,42,-198.8364,169.8836,-47.01604,0,0,1,0,100,0), -- 19:47:29
(@PATH,43,-197.5312,170.0583,-47.003,0,0,1,0,100,0), -- 19:47:31
(@PATH,44,-186.4549,169.675,-47.1562,0,0,1,0,100,0), -- 19:47:33
(@PATH,45,-178.1893,166.1073,-47.15907,0,0,1,0,100,0), -- 19:47:34
(@PATH,46,-174.5692,160.0448,-47.16045,0,0,1,0,100,0), -- 19:47:35
(@PATH,47,-177.7394,141.6598,-47.16039,0,0,1,0,100,0), -- 19:47:36
(@PATH,48,-178.7611,140.6003,-47.15852,0,0,1,0,100,0), -- 19:47:37
(@PATH,49,-187.544,138.534,-47.15597,0,0,1,0,100,0), -- 19:47:38
(@PATH,50,-199.6097,138.1275,-46.55952,0,0,1,0,100,0), -- 19:47:40
(@PATH,51,-200.3597,138.1275,-46.55952,0,0,1,0,100,0), -- 19:47:40
(@PATH,52,-204.6097,138.1275,-46.55952,0,0,1,0,100,0), -- 19:47:40
(@PATH,53,-210.2272,138.1704,-46.66569,0,0,1,0,100,0), -- 19:47:41
(@PATH,54,-219.309,137.7214,-46.46365,0,0,1,0,100,0), -- 19:47:42
(@PATH,55,-227.5786,137.2641,-46.46313,0,0,1,0,100,0), -- 19:47:43
(@PATH,56,-241.2292,133.3628,-46.46293,0,0,1,0,100,0), -- 19:47:45
(@PATH,57,-244.0938,127.9868,-46.65569,0,0,1,0,100,0), -- 19:47:46
(@PATH,58,-244.0938,126.7368,-46.65569,0,0,1,0,100,0), -- 19:47:46
(@PATH,59,-244.0938,119.9868,-46.65569,0,0,1,0,100,0), -- 19:47:46
(@PATH,60,-244.0938,117.7368,-47.15569,0,0,1,0,100,0), -- 19:47:46
(@PATH,61,-244.1458,117.4128,-47.17364,0,0,1,0,100,0), -- 19:47:47
(@PATH,62,-244.1458,115.9128,-47.67364,0,0,1,0,100,0), -- 19:47:47
(@PATH,63,-243.8958,107.6628,-47.67364,0,0,1,0,100,0), -- 19:47:47
(@PATH,64,-244.0653,104.803,-47.8754,0,0,1,0,100,0), -- 19:47:50
(@PATH,65,-249.939,90.39037,-47.9633,0,0,1,0,100,0), -- 19:47:51
(@PATH,66,-253.939,90.64037,-47.9633,0,0,1,0,100,0), -- 19:47:51
(@PATH,67,-256.189,90.64037,-47.9633,0,0,1,0,100,0), -- 19:47:51
(@PATH,68,-257.189,90.64037,-48.4633,0,0,1,0,100,0), -- 19:47:51
(@PATH,69,-261.1644,90.57747,-48.46085,0,0,1,0,100,0), -- 19:47:53
(@PATH,70,-278.2355,87.77667,-48.54754,0,0,1,0,100,0), -- 19:47:54
(@PATH,71,-282.5812,77.72125,-48.55171,0,0,1,0,100,0), -- 19:47:56
(@PATH,72,-282.8312,75.47125,-48.55171,0,0,1,0,100,0), -- 19:47:56
(@PATH,73,-283.0587,72.90546,-48.55147,0,0,1,0,100,0), -- 19:47:57
(@PATH,74,-280.5587,63.15546,-48.55147,0,0,1,0,100,0), -- 19:47:57
(@PATH,75,-279.8492,62.23659,-48.55054,0,0,1,0,100,0); -- 19:47:58
-- 0x1C16F408C00701C00059E900038B2760 .go -260.9756 61.2314 -48.54825
-- Pathing for Shrike Bat Entry: 4861 'TDB FORMAT'
SET @NPC := 30081;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-116.1971,`position_y`=317.7787,`position_z`=-46.08444 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-116.1971,317.7787,-46.08444,0,0,0,0,100,0), -- 19:46:24
(@PATH,2,-118.9047,317.3614,-45.29679,0,0,0,0,100,0), -- 19:46:29
(@PATH,3,-126.8644,318.512,-44.13009,0,0,0,0,100,0), -- 19:46:31
(@PATH,4,-131.6838,323.5452,-43.69198,0,0,0,0,100,0), -- 19:46:33
(@PATH,5,-133.1838,326.0452,-43.94198,0,0,0,0,100,0), -- 19:46:33
(@PATH,6,-134.4338,328.2952,-44.19198,0,0,0,0,100,0), -- 19:46:33
(@PATH,7,-139.5984,330.833,-44.22396,0,0,0,0,100,0), -- 19:46:38
(@PATH,8,-141.3152,330.4821,-44.35117,0,0,0,0,100,0), -- 19:46:41
(@PATH,9,-145.4463,327.2668,-46.04215,0,0,0,0,100,0), -- 19:46:43
(@PATH,10,-153.1682,320.1992,-48.49626,0,0,0,0,100,0), -- 19:46:46
(@PATH,11,-157.6236,320.5594,-49.23671,0,0,0,0,100,0), -- 19:46:48
(@PATH,12,-163.7113,322.522,-50.1132,0,0,0,0,100,0), -- 19:46:52
(@PATH,13,-172.0462,323.2635,-51.23209,0,0,0,0,100,0), -- 19:46:54
(@PATH,14,-173.7962,323.2635,-51.48209,0,0,0,0,100,0), -- 19:46:54
(@PATH,15,-177.0651,319.9081,-52.49401,0,0,0,0,100,0), -- 19:46:58
(@PATH,16,-179.3571,312.8132,-52.80653,0,0,0,0,100,0), -- 19:47:01
(@PATH,17,-179.3571,311.8132,-52.80653,0,0,0,0,100,0), -- 19:47:01
(@PATH,18,-181.0257,301.3842,-50.73584,0,0,0,0,100,0), -- 19:47:05
(@PATH,19,-183.2724,293.4999,-48.85449,0,0,0,0,100,0), -- 19:47:09
(@PATH,20,-183.7724,292.4999,-48.60449,0,0,0,0,100,0), -- 19:47:09
(@PATH,21,-184.433,290.7685,-48.27169,0,0,0,0,100,0), -- 19:47:11
(@PATH,22,-184.683,289.2685,-47.77169,0,0,0,0,100,0), -- 19:47:11
(@PATH,23,-184.933,288.0185,-47.52169,0,0,0,0,100,0), -- 19:47:11
(@PATH,24,-187.3712,282.3932,-47.8597,0,0,0,0,100,0), -- 19:47:14
(@PATH,25,-187.4142,282.2362,-47.91491,0,0,0,0,100,0), -- 19:47:19
(@PATH,26,-185.3188,287.8494,-47.45733,0,0,0,0,100,0), -- 19:47:21
(@PATH,27,-185.0688,289.0994,-47.70733,0,0,0,0,100,0), -- 19:47:21
(@PATH,28,-184.179,290.8317,-48.2381,0,0,0,0,100,0), -- 19:47:23
(@PATH,29,-183.679,292.5817,-48.4881,0,0,0,0,100,0), -- 19:47:23
(@PATH,30,-183.429,293.3317,-48.7381,0,0,0,0,100,0), -- 19:47:23
(@PATH,31,-182.929,295.3317,-49.9881,0,0,0,0,100,0), -- 19:47:23
(@PATH,32,-180.9205,303.2869,-51.47765,0,0,0,0,100,0), -- 19:47:27
(@PATH,33,-179.3741,312.776,-52.76653,0,0,0,0,100,0), -- 19:47:31
(@PATH,34,-179.1241,314.276,-52.76653,0,0,0,0,100,0), -- 19:47:31
(@PATH,35,-177.1773,319.9679,-52.64116,0,0,0,0,100,0), -- 19:47:34
(@PATH,36,-176.4273,322.2179,-52.14116,0,0,0,0,100,0), -- 19:47:34
(@PATH,37,-173.9601,323.1776,-51.58164,0,0,0,0,100,0), -- 19:47:38
(@PATH,38,-172.4601,323.4276,-51.58164,0,0,0,0,100,0), -- 19:47:38
(@PATH,39,-167.9601,323.6776,-50.83164,0,0,0,0,100,0), -- 19:47:38
(@PATH,40,-163.9189,322.6101,-50.14185,0,0,0,0,100,0), -- 19:47:41
(@PATH,41,-162.9189,322.3601,-49.64185,0,0,0,0,100,0), -- 19:47:41
(@PATH,42,-158.5166,320.7068,-49.43653,0,0,0,0,100,0), -- 19:47:44
(@PATH,43,-149.9316,322.1074,-48.67955,0,0,0,0,100,0), -- 19:47:46
(@PATH,44,-145.6857,327.386,-45.98837,0,0,0,0,100,0), -- 19:47:50
(@PATH,45,-141.4396,330.4873,-44.44178,0,0,0,0,100,0), -- 19:47:52
(@PATH,46,-139.9884,330.9608,-44.31651,0,0,0,0,100,0), -- 19:47:55
(@PATH,47,-131.8122,323.8088,-43.84772,0,0,0,0,100,0), -- 19:47:57
(@PATH,48,-129.3122,319.8088,-44.34772,0,0,0,0,100,0), -- 19:47:57
(@PATH,49,-127.2311,318.8854,-44.18322,0,0,0,0,100,0), -- 19:48:01
(@PATH,50,-123.7311,317.3854,-44.43322,0,0,0,0,100,0), -- 19:48:01
(@PATH,51,-119.1036,317.5869,-45.31766,0,0,0,0,100,0); -- 19:48:03
-- 0x1C16F408C004BF400059E900000B2760 .go -116.1971 317.7787 -46.08444
-- Pathing for Shrike Bat Entry: 4861 'TDB FORMAT'
SET @NPC := 33522;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-34.35824,`position_y`=349.1816,`position_z`=-44.71794 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-34.35824,349.1816,-44.71794,0,0,0,0,100,0), -- 19:54:43
(@PATH,2,-39.45177,352.6617,-46.25263,0,0,0,0,100,0), -- 19:54:48
(@PATH,3,-41.51308,355.655,-46.53062,0,0,0,0,100,0), -- 19:54:52
(@PATH,4,-43.01308,359.905,-47.28062,0,0,0,0,100,0), -- 19:54:52
(@PATH,5,-44.79412,364.367,-48.26569,0,0,0,0,100,0), -- 19:54:55
(@PATH,6,-45.79412,367.367,-48.51569,0,0,0,0,100,0), -- 19:54:55
(@PATH,7,-48.12923,369.0743,-49.55631,0,0,0,0,100,0), -- 19:54:57
(@PATH,8,-49.62923,369.5743,-49.80631,0,0,0,0,100,0), -- 19:54:57
(@PATH,9,-58.34222,370.8102,-50.34889,0,0,0,0,100,0), -- 19:55:02
(@PATH,10,-64.80667,367.5034,-50.34549,0,0,0,0,100,0), -- 19:55:05
(@PATH,11,-71.09432,360.0078,-51.03568,0,0,0,0,100,0), -- 19:55:08
(@PATH,12,-72.84432,359.0078,-51.28568,0,0,0,0,100,0), -- 19:55:08
(@PATH,13,-77.36659,356.679,-50.97245,0,0,0,0,100,0), -- 19:55:12
(@PATH,14,-79.61659,355.929,-50.72245,0,0,0,0,100,0), -- 19:55:12
(@PATH,15,-83.36659,354.429,-50.97245,0,0,0,0,100,0), -- 19:55:12
(@PATH,16,-85.8164,353.4018,-50.05049,0,0,0,0,100,0), -- 19:55:16
(@PATH,17,-90.8164,351.9018,-49.30049,0,0,0,0,100,0), -- 19:55:16
(@PATH,18,-99.78505,351.1479,-48.29544,0,0,0,0,100,0), -- 19:55:20
(@PATH,19,-102.785,351.3979,-48.29544,0,0,0,0,100,0), -- 19:55:20
(@PATH,20,-96.03415,350.9953,-48.6471,0,0,0,0,100,0), -- 19:55:27
(@PATH,21,-86.49751,353.2874,-49.41515,0,0,0,0,100,0), -- 19:55:31
(@PATH,22,-84.99751,353.7874,-50.41515,0,0,0,0,100,0), -- 19:55:31
(@PATH,23,-84.28488,354.1664,-50.5457,0,0,0,0,100,0), -- 19:55:35
(@PATH,24,-79.78488,355.6664,-50.5457,0,0,0,0,100,0), -- 19:55:35
(@PATH,25,-77.28488,356.6664,-50.7957,0,0,0,0,100,0), -- 19:55:35
(@PATH,26,-71.36815,359.9686,-51.01308,0,0,0,0,100,0), -- 19:55:40
(@PATH,27,-68.36815,361.9686,-50.76308,0,0,0,0,100,0), -- 19:55:40
(@PATH,28,-65.49499,366.807,-50.34712,0,0,0,0,100,0), -- 19:55:44
(@PATH,29,-58.40037,370.9284,-50.30991,0,0,0,0,100,0), -- 19:55:46
(@PATH,30,-57.15037,371.1784,-50.30991,0,0,0,0,100,0), -- 19:55:46
(@PATH,31,-55.87487,371.4779,-50.10828,0,0,0,0,100,0), -- 19:55:50
(@PATH,32,-50.62487,369.9779,-49.85828,0,0,0,0,100,0), -- 19:55:50
(@PATH,33,-48.12487,369.4779,-49.60828,0,0,0,0,100,0), -- 19:55:50
(@PATH,34,-45.93803,367.2723,-48.61888,0,0,0,0,100,0), -- 19:55:53
(@PATH,35,-44.93803,364.7723,-48.36888,0,0,0,0,100,0), -- 19:55:53
(@PATH,36,-43.17387,359.995,-47.31218,0,0,0,0,100,0), -- 19:55:56
(@PATH,37,-41.67387,356.745,-46.56218,0,0,0,0,100,0), -- 19:55:56
(@PATH,38,-35.86934,350.4595,-45.71741,0,0,0,0,100,0); -- 19:56:01
-- 0x1C16F408C004BF400059E900000B2761 .go -34.35824 349.1816 -44.71794
-- Pathing for Shrike Bat Entry: 4861 'TDB FORMAT'
SET @NPC := 30085;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-142.7949,`position_y`=225.2512,`position_z`=-45.7625 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-142.7949,225.2512,-45.7625,0,0,0,0,100,0), -- 19:46:47
(@PATH,2,-136.7979,229.3257,-47.20895,0,0,0,0,100,0), -- 19:46:54
(@PATH,3,-135.2979,230.3257,-47.45895,0,0,0,0,100,0), -- 19:46:54
(@PATH,4,-133.7979,231.3257,-47.20895,0,0,0,0,100,0), -- 19:46:54
(@PATH,5,-132.9678,231.759,-47.66918,0,0,0,0,100,0), -- 19:46:58
(@PATH,6,-130.4678,233.759,-47.66918,0,0,0,0,100,0), -- 19:46:58
(@PATH,7,-124.7075,239.272,-48.10035,0,0,0,0,100,0), -- 19:47:01
(@PATH,8,-122.997,243.3047,-47.74892,0,0,0,0,100,0), -- 19:47:04
(@PATH,9,-122.2632,250.6377,-48.21873,0,0,0,0,100,0), -- 19:47:06
(@PATH,10,-122.0635,253.1956,-47.99726,0,0,0,0,100,0), -- 19:47:09
(@PATH,11,-124.687,265.2274,-46.29008,0,0,0,0,100,0), -- 19:47:11
(@PATH,12,-125.7654,267.4338,-45.58253,0,0,0,0,100,0), -- 19:47:15
(@PATH,13,-126.7654,270.4338,-45.58253,0,0,0,0,100,0), -- 19:47:15
(@PATH,14,-127.0154,271.6838,-45.58253,0,0,0,0,100,0), -- 19:47:15
(@PATH,15,-128.2654,275.6838,-45.83253,0,0,0,0,100,0), -- 19:47:15
(@PATH,16,-129.7654,280.1838,-45.58253,0,0,0,0,100,0), -- 19:47:15
(@PATH,17,-132.0325,283.5439,-45.71447,0,0,0,0,100,0), -- 19:47:21
(@PATH,18,-133.5325,285.2939,-45.96447,0,0,0,0,100,0), -- 19:47:21
(@PATH,19,-134.5325,286.5439,-45.96447,0,0,0,0,100,0), -- 19:47:21
(@PATH,20,-135.2825,287.5439,-45.71447,0,0,0,0,100,0), -- 19:47:21
(@PATH,21,-136.0218,288.4235,-45.95388,0,0,0,0,100,0), -- 19:47:24
(@PATH,22,-139.2718,292.4235,-45.95388,0,0,0,0,100,0), -- 19:47:24
(@PATH,23,-140.0702,299.2286,-46.03945,0,0,0,0,100,0), -- 19:47:27
(@PATH,24,-140.2864,299.1003,-45.87361,0,0,0,0,100,0), -- 19:47:32
(@PATH,25,-139.1992,292.5916,-45.83009,0,0,0,0,100,0), -- 19:47:33
(@PATH,26,-133.8004,285.6141,-45.93703,0,0,0,0,100,0), -- 19:47:37
(@PATH,27,-132.0504,283.6141,-45.68703,0,0,0,0,100,0), -- 19:47:37
(@PATH,28,-129.9505,280.1571,-45.59953,0,0,0,0,100,0), -- 19:47:39
(@PATH,29,-128.7005,275.6571,-45.84953,0,0,0,0,100,0), -- 19:47:39
(@PATH,30,-127.2005,271.6571,-45.59953,0,0,0,0,100,0), -- 19:47:39
(@PATH,31,-126.7005,270.4071,-45.59953,0,0,0,0,100,0), -- 19:47:39
(@PATH,32,-125.7005,267.4071,-45.59953,0,0,0,0,100,0), -- 19:47:39
(@PATH,33,-123.5866,262.6984,-47.1854,0,0,0,0,100,0), -- 19:47:46
(@PATH,34,-122.0696,253.5793,-48.02232,0,0,0,0,100,0), -- 19:47:50
(@PATH,35,-122.1644,250.7279,-48.18776,0,0,0,0,100,0), -- 19:47:52
(@PATH,36,-122.1644,248.4779,-48.18776,0,0,0,0,100,0), -- 19:47:52
(@PATH,37,-122.9575,243.5141,-47.85612,0,0,0,0,100,0), -- 19:47:55
(@PATH,38,-127.747,236.1646,-47.66065,0,0,0,0,100,0), -- 19:47:57
(@PATH,39,-130.1325,234.0169,-47.69135,0,0,0,0,100,0), -- 19:48:00
(@PATH,40,-136.8559,229.2036,-47.26409,0,0,0,0,100,0), -- 19:48:02
(@PATH,41,-138.6059,227.9536,-46.76409,0,0,0,0,100,0); -- 19:48:02
-- 0x1C16F408C004BF400059E900010B2760 .go -142.7949 225.2512 -45.7625
-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT'
SET @NPC := 28365;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=157.359,`position_y`=278.6508,`position_z`=-26.48766 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,157.359,278.6508,-26.48766,0,0,0,0,100,0), -- 19:58:53
(@PATH,2,158.1053,277.0509,-26.33149,0,0,0,0,100,0), -- 19:59:03
(@PATH,3,159.3106,274.6482,-26.47079,0,0,0,0,100,0), -- 19:59:10
(@PATH,4,161.3106,270.6482,-27.72079,0,0,0,0,100,0), -- 19:59:10
(@PATH,5,162.0606,268.6482,-28.22079,0,0,0,0,100,0), -- 19:59:10
(@PATH,6,162.5606,267.6482,-28.97079,0,0,0,0,100,0), -- 19:59:10
(@PATH,7,169.1669,252.4363,-29.11036,0,0,0,0,100,0), -- 19:59:20
(@PATH,8,170.2946,247.0149,-29.11045,0,0,0,0,100,0), -- 19:59:22
(@PATH,9,141.0065,231.4473,-42.17465,0,0,0,0,100,0), -- 19:59:26
(@PATH,10,135.2668,228.6892,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,11,126.2668,224.4392,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,12,125.0168,223.9392,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,13,117.7668,220.4392,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,14,115.0168,219.1892,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,15,112.5168,217.9392,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,16,111.5168,217.4392,-42.44057,0,0,0,0,100,0), -- 19:59:38
(@PATH,17,110.6416,216.7866,-42.73357,0,0,0,0,100,0), -- 19:59:50
(@PATH,18,91.14159,207.5366,-54.48357,0,0,0,0,100,0), -- 19:59:50
(@PATH,19,89.71228,206.7954,-54.72824,0,0,0,0,100,0), -- 20:00:01
(@PATH,20,81.51923,204.1784,-54.72749,0,0,0,0,100,0), -- 20:00:03
(@PATH,21,70.45786,225.8585,-53.83768,0,0,0,0,100,0), -- 20:00:07
(@PATH,22,67.45786,231.8585,-52.08768,0,0,0,0,100,0), -- 20:00:07
(@PATH,23,66.45786,233.8585,-52.08768,0,0,0,0,100,0), -- 20:00:07
(@PATH,24,65.99206,234.5262,-51.94806,0,0,0,0,100,0), -- 20:00:18
(@PATH,25,57.07329,252.1399,-51.94805,0,0,0,0,100,0), -- 20:00:25
(@PATH,26,56.98771,251.7677,-52.19805,0,0,0,0,100,0), -- 20:00:31
(@PATH,27,57.20819,251.6948,-51.94805,0,0,0,0,100,0), -- 20:00:32
(@PATH,28,70.53458,225.9198,-53.83727,0,0,0,0,100,0), -- 20:00:41
(@PATH,29,71.03458,224.9198,-54.58727,0,0,0,0,100,0), -- 20:00:41
(@PATH,30,78.36176,210.3076,-54.72746,0,0,0,0,100,0), -- 20:00:52
(@PATH,31,81.43523,204.0119,-54.72772,0,0,0,0,100,0), -- 20:00:54
(@PATH,32,91.10306,207.5477,-54.68492,0,0,0,0,100,0), -- 20:00:58
(@PATH,33,115.051,219.2345,-42.26912,0,0,0,0,100,0), -- 20:01:09
(@PATH,34,117.551,220.4845,-42.26912,0,0,0,0,100,0), -- 20:01:09
(@PATH,35,124.801,223.7345,-42.26912,0,0,0,0,100,0), -- 20:01:09
(@PATH,36,126.301,224.4845,-42.26912,0,0,0,0,100,0), -- 20:01:09
(@PATH,37,135.301,228.7345,-42.26912,0,0,0,0,100,0), -- 20:01:09
(@PATH,38,141.7687,232.0445,-42.17444,0,0,0,0,100,0), -- 20:01:21
(@PATH,39,163.1443,242.3607,-29.2016,0,0,0,0,100,0), -- 20:01:33
(@PATH,40,170.1688,247.0374,-29.11083,0,0,0,0,100,0), -- 20:01:37
(@PATH,41,162.2002,268.689,-28.2213,0,0,0,0,100,0), -- 20:01:39
(@PATH,42,161.2002,270.689,-27.7213,0,0,0,0,100,0), -- 20:01:39
(@PATH,43,159.4502,274.689,-26.4713,0,0,0,0,100,0), -- 20:01:39
(@PATH,44,158.2711,277.0461,-26.35968,0,0,0,0,100,0); -- 20:01:49
-- 0x1C16F408C004BF000059E900020B2760 .go 157.359 278.6508 -26.48766
-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT'
SET @NPC := 27473;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-15.69449,`position_y`=279.0179,`position_z`=-47.67377 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-15.69449,279.0179,-47.67377,0,0,0,0,100,0), -- 19:46:43
(@PATH,2,-20.67551,276.4372,-47.63821,0,0,0,0,100,0), -- 19:46:46
(@PATH,3,-21.52459,276.0081,-47.67233,0,0,0,0,100,0), -- 19:46:47
(@PATH,4,-24.52459,275.5081,-47.92233,0,0,0,0,100,0), -- 19:46:47
(@PATH,5,-25.77459,275.0081,-47.92233,0,0,0,0,100,0), -- 19:46:47
(@PATH,6,-34.79898,273.5978,-48.29856,0,0,0,0,100,0), -- 19:46:51
(@PATH,7,-36.04898,273.5978,-48.29856,0,0,0,0,100,0), -- 19:46:51
(@PATH,8,-38.79898,273.0978,-48.54856,0,0,0,0,100,0), -- 19:46:51
(@PATH,9,-39.34219,272.8535,-48.79059,0,0,0,0,100,0), -- 19:46:56
(@PATH,10,-41.08632,250.9034,-48.67182,0,0,0,0,100,0), -- 19:47:00
(@PATH,11,-41.49896,245.6531,-48.172,0,0,0,0,100,0), -- 19:47:05
(@PATH,12,-41.49896,242.6531,-48.172,0,0,0,0,100,0), -- 19:47:05
(@PATH,13,-41.49896,241.4031,-48.172,0,0,0,0,100,0), -- 19:47:05
(@PATH,14,-41.85809,240.7104,-48.07686,0,0,0,0,100,0), -- 19:47:08
(@PATH,15,-53.59785,238.2883,-48.27911,0,0,0,0,100,0), -- 19:47:12
(@PATH,16,-59.84785,238.2883,-48.02911,0,0,0,0,100,0), -- 19:47:12
(@PATH,17,-62.09785,238.2883,-48.77911,0,0,0,0,100,0), -- 19:47:12
(@PATH,18,-64.84785,238.2883,-49.27911,0,0,0,0,100,0), -- 19:47:12
(@PATH,19,-59.91378,238.0276,-48.03023,0,0,0,0,100,0), -- 19:47:20
(@PATH,20,-53.66378,238.0276,-48.28023,0,0,0,0,100,0), -- 19:47:20
(@PATH,21,-52.16378,238.0276,-48.28023,0,0,0,0,100,0), -- 19:47:20
(@PATH,22,-49.32967,238.2136,-48.07516,0,0,0,0,100,0), -- 19:47:25
(@PATH,23,-41.65893,245.4057,-48.07581,0,0,0,0,100,0), -- 19:47:29
(@PATH,24,-41.10932,250.7121,-48.67118,0,0,0,0,100,0), -- 19:47:33
(@PATH,25,-40.51412,262.4556,-48.76871,0,0,0,0,100,0), -- 19:47:37
(@PATH,26,-34.8937,273.3388,-48.22985,0,0,0,0,100,0), -- 19:47:42
(@PATH,27,-32.8937,273.5888,-48.47985,0,0,0,0,100,0), -- 19:47:42
(@PATH,28,-24.87062,275.2746,-47.7992,0,0,0,0,100,0), -- 19:47:46
(@PATH,29,-22.12062,275.7746,-47.7992,0,0,0,0,100,0), -- 19:47:46
(@PATH,30,-18.17185,277.6628,-47.70597,0,0,0,0,100,0); -- 19:47:50
-- 0x1C16F408C004BF000059E900028B2760 .go -15.69449 279.0179 -47.67377
-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT'
SET @NPC := 27472;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-90.22527,`position_y`=312.3529,`position_z`=-50.81741 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-90.22527,312.3529,-50.81741,0,0,0,0,100,0), -- 19:46:26
(@PATH,2,-89.75098,303.8569,-50.53365,0,0,0,0,100,0), -- 19:46:32
(@PATH,3,-89.58408,299.2126,-49.18354,0,0,0,0,100,0), -- 19:46:37
(@PATH,4,-89.58408,298.2126,-48.93354,0,0,0,0,100,0), -- 19:46:37
(@PATH,5,-89.58408,293.9626,-47.43354,0,0,0,0,100,0), -- 19:46:37
(@PATH,6,-89.33408,291.7126,-47.43354,0,0,0,0,100,0), -- 19:46:37
(@PATH,7,-89.01637,285.0681,-47.38007,0,0,0,0,100,0), -- 19:46:43
(@PATH,8,-89.01088,254.6502,-47.48074,0,0,0,0,100,0), -- 19:46:50
(@PATH,9,-89.01088,251.4002,-47.48074,0,0,0,0,100,0), -- 19:46:50
(@PATH,10,-88.93411,260.2717,-47.48082,0,0,0,0,100,0), -- 19:46:58
(@PATH,11,-89.04137,285.1695,-47.38035,0,0,0,0,100,0), -- 19:47:03
(@PATH,12,-89.46567,293.7497,-47.41035,0,0,0,0,100,0), -- 19:47:12
(@PATH,13,-89.46567,298.2497,-48.91035,0,0,0,0,100,0), -- 19:47:12
(@PATH,14,-89.46567,299.2497,-49.16035,0,0,0,0,100,0), -- 19:47:12
(@PATH,15,-90.22608,307.6347,-50.82426,0,0,0,0,100,0); -- 19:47:18
-- 0x1C16F408C004BF000059E900030B2760 .go -90.22527 312.3529 -50.81741
-- Pathing for Stone Steward Entry: 4860 'TDB FORMAT'
SET @NPC := 27471;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-107.2204,`position_y`=202.1764,`position_z`=-40.99639 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-107.2204,202.1764,-40.99639,0,0,0,0,100,0), -- 19:50:58
(@PATH,2,-106.9112,202.3231,-40.72182,0,0,0,0,100,0), -- 19:50:59
(@PATH,3,-102.3103,204.8115,-39.65949,0,0,0,0,100,0), -- 19:51:00
(@PATH,4,-97.74992,214.5336,-41.63697,0,0,0,0,100,0), -- 19:51:03
(@PATH,5,-96.3933,219.4432,-43.16748,0,0,0,0,100,0), -- 19:51:06
(@PATH,6,-93.05585,222.2282,-44.29628,0,0,0,0,100,0), -- 19:51:08
(@PATH,7,-91.30585,222.4782,-45.79628,0,0,0,0,100,0), -- 19:51:08
(@PATH,8,-89.56384,221.7615,-46.28793,0,0,0,0,100,0), -- 19:51:11
(@PATH,9,-88.31384,220.2615,-46.03793,0,0,0,0,100,0), -- 19:51:11
(@PATH,10,-84.37595,219.1314,-47.14322,0,0,0,0,100,0), -- 19:51:14
(@PATH,11,-82.37595,219.8814,-48.39322,0,0,0,0,100,0), -- 19:51:14
(@PATH,12,-79.37595,220.6314,-49.39322,0,0,0,0,100,0), -- 19:51:14
(@PATH,13,-76.82669,224.0322,-49.37569,0,0,0,0,100,0), -- 19:51:17
(@PATH,14,-75.57669,227.0322,-49.37569,0,0,0,0,100,0), -- 19:51:17
(@PATH,15,-74.57669,229.2822,-49.37569,0,0,0,0,100,0), -- 19:51:17
(@PATH,16,-71.33888,233.2636,-49.4961,0,0,0,0,100,0), -- 19:51:22
(@PATH,17,-65.08888,237.0136,-49.4961,0,0,0,0,100,0), -- 19:51:22
(@PATH,18,-62.24201,238.0235,-48.78309,0,0,0,0,100,0), -- 19:51:27
(@PATH,19,-59.99201,238.2735,-48.03309,0,0,0,0,100,0), -- 19:51:27
(@PATH,20,-53.99201,238.5235,-48.03309,0,0,0,0,100,0), -- 19:51:27
(@PATH,21,-52.93201,238.7369,-48.07719,0,0,0,0,100,0), -- 19:51:32
(@PATH,22,-43.56981,231.3157,-48.09142,0,0,0,0,100,0), -- 19:51:35
(@PATH,23,-42.54251,216.3974,-48.08791,0,0,0,0,100,0), -- 19:51:40
(@PATH,24,-42.79251,212.3974,-48.08791,0,0,0,0,100,0), -- 19:51:40
(@PATH,25,-45.2256,206.4191,-48.07826,0,0,0,0,100,0), -- 19:51:46
(@PATH,26,-45.29718,206.2893,-48.07718,0,0,0,0,100,0), -- 19:51:51
(@PATH,27,-42.43665,216.1878,-48.09149,0,0,0,0,100,0), -- 19:51:54
(@PATH,28,-42.18665,219.1878,-48.09149,0,0,0,0,100,0), -- 19:51:54
(@PATH,29,-43.43148,231.2084,-48.08014,0,0,0,0,100,0), -- 19:51:58
(@PATH,30,-52.35088,238.3348,-48.08712,0,0,0,0,100,0), -- 19:52:03
(@PATH,31,-59.86867,238.2005,-48.0407,0,0,0,0,100,0), -- 19:52:08
(@PATH,32,-62.11867,237.9505,-48.7907,0,0,0,0,100,0), -- 19:52:08
(@PATH,33,-65.00171,237.1759,-49.39082,0,0,0,0,100,0), -- 19:52:12
(@PATH,34,-71.50171,233.1759,-49.39082,0,0,0,0,100,0), -- 19:52:12
(@PATH,35,-74.66057,229.2685,-49.48391,0,0,0,0,100,0), -- 19:52:17
(@PATH,36,-75.16057,227.0185,-49.48391,0,0,0,0,100,0), -- 19:52:17
(@PATH,37,-76.66057,224.0185,-49.48391,0,0,0,0,100,0), -- 19:52:17
(@PATH,38,-77.41057,221.7685,-49.48391,0,0,0,0,100,0), -- 19:52:17
(@PATH,39,-79.18384,220.6745,-49.24834,0,0,0,0,100,0), -- 19:52:22
(@PATH,40,-82.18384,219.6745,-48.24834,0,0,0,0,100,0), -- 19:52:22
(@PATH,41,-83.43384,219.4245,-47.49834,0,0,0,0,100,0), -- 19:52:22
(@PATH,42,-89.23185,221.8512,-46.51452,0,0,0,0,100,0), -- 19:52:25
(@PATH,43,-92.72166,222.22,-44.23815,0,0,0,0,100,0), -- 19:52:27
(@PATH,44,-94.97166,221.72,-43.73815,0,0,0,0,100,0), -- 19:52:27
(@PATH,45,-96.1684,219.4541,-43.43246,0,0,0,0,100,0), -- 19:52:30
(@PATH,46,-98.76186,211.6802,-40.79076,0,0,0,0,100,0), -- 19:52:32
(@PATH,47,-102.1261,204.7718,-39.52556,0,0,0,0,100,0), -- 19:52:36
(@PATH,48,-103.2557,203.5211,-39.62801,0,0,0,0,100,0); -- 19:52:39
-- 0x1C16F408C004BF000059E900038B2760 .go -107.2204 202.1764 -40.99639
-- Pathing for Stonevault Brawler Entry: 4855 'TDB FORMAT'
SET @NPC := 30106;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=9.185728,`position_y`=361.806,`position_z`=-42.52501 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,9.185728,361.806,-42.52501,0,0,0,0,100,0), -- 19:55:52
(@PATH,2,10.68573,361.306,-42.77501,0,0,0,0,100,0), -- 19:55:52
(@PATH,3,11.68573,361.056,-43.02501,0,0,0,0,100,0), -- 19:55:52
(@PATH,4,14.93573,360.306,-43.27501,0,0,0,0,100,0), -- 19:55:52
(@PATH,5,16.43573,360.056,-43.27501,0,0,0,0,100,0), -- 19:55:52
(@PATH,6,17.27649,359.817,-43.0314,0,0,0,0,100,0), -- 19:55:56
(@PATH,7,21.02649,359.317,-42.7814,0,0,0,0,100,0), -- 19:55:56
(@PATH,8,22.77649,359.067,-42.5314,0,0,0,0,100,0), -- 19:55:56
(@PATH,9,30.55592,356.7866,-42.15283,0,0,0,0,100,0), -- 19:56:01
(@PATH,10,35.82129,353.2513,-42.55444,0,0,0,0,100,0), -- 19:56:03
(@PATH,11,38.37708,347.7673,-42.24792,0,0,0,0,100,0), -- 19:56:05
(@PATH,12,38.87708,346.7673,-41.99792,0,0,0,0,100,0), -- 19:56:05
(@PATH,13,40.62708,342.7673,-42.24792,0,0,0,0,100,0), -- 19:56:05
(@PATH,14,39.82348,338.4128,-42.98926,0,0,0,0,100,0), -- 19:56:09
(@PATH,15,34.19891,331.8911,-42.67289,0,0,0,0,100,0), -- 19:56:13
(@PATH,16,33.44891,331.1411,-42.17289,0,0,0,0,100,0), -- 19:56:13
(@PATH,17,31.19891,329.6411,-41.92289,0,0,0,0,100,0), -- 19:56:13
(@PATH,18,27.54275,327.8886,-40.85126,0,0,0,0,100,0), -- 19:56:18
(@PATH,19,20.32842,326.7422,-39.95414,0,0,0,0,100,0), -- 19:56:19
(@PATH,20,19.07842,326.4922,-39.95414,0,0,0,0,100,0), -- 19:56:19
(@PATH,21,9.621592,325.83,-38.5783,0,0,0,0,100,0), -- 19:56:23
(@PATH,22,7.871592,325.83,-38.3283,0,0,0,0,100,0), -- 19:56:23
(@PATH,23,9.734783,325.8379,-38.52752,0,0,0,0,100,0), -- 19:56:27
(@PATH,24,13.93066,326.2504,-38.2508,0,0,0,0,100,0), -- 19:56:31
(@PATH,25,22.48125,319.4749,-39.35741,0,0,0,0,100,0), -- 19:56:32
(@PATH,26,26.9873,314.6351,-39.25242,0,0,0,0,100,0), -- 19:56:37
(@PATH,27,27.76221,314.1161,-39.14816,0,0,0,0,100,0), -- 19:56:38
(@PATH,28,37.06132,309.7848,-38.86451,0,0,0,0,100,0), -- 19:56:41
(@PATH,29,41.82753,309.0237,-39.42388,0,0,0,0,100,0), -- 19:56:43
(@PATH,30,43.02345,310.306,-39.93136,0,0,0,0,100,0), -- 19:56:44
(@PATH,31,43.73434,313.0781,-41.1359,0,0,0,0,100,0), -- 19:56:45
(@PATH,32,43.48434,313.8281,-41.3859,0,0,0,0,100,0), -- 19:56:45
(@PATH,33,42.98434,315.8281,-41.6359,0,0,0,0,100,0), -- 19:56:45
(@PATH,34,42.48434,317.0781,-42.1359,0,0,0,0,100,0), -- 19:56:45
(@PATH,35,42.1835,317.9608,-42.14388,0,0,0,0,100,0), -- 19:56:48
(@PATH,36,40.1835,321.7108,-42.14388,0,0,0,0,100,0), -- 19:56:48
(@PATH,37,36.3874,327.808,-42.69028,0,0,0,0,100,0), -- 19:56:52
(@PATH,38,34.34555,331.4348,-42.79681,0,0,0,0,100,0), -- 19:56:54
(@PATH,39,36.48765,335.1658,-43.15406,0,0,0,0,100,0), -- 19:56:55
(@PATH,40,39.48765,338.1658,-43.15406,0,0,0,0,100,0), -- 19:56:55
(@PATH,41,39.95882,338.9326,-42.81082,0,0,0,0,100,0), -- 19:56:59
(@PATH,42,40.59457,346.0652,-41.82687,0,0,0,0,100,0), -- 19:57:01
(@PATH,43,37.89469,351.2465,-42.51594,0,0,0,0,100,0), -- 19:57:02
(@PATH,44,36.39469,353.2465,-42.51594,0,0,0,0,100,0), -- 19:57:02
(@PATH,45,35.03273,354.4401,-42.57788,0,0,0,0,100,0), -- 19:57:06
(@PATH,46,25.94484,356.5529,-42.75359,0,0,0,0,100,0), -- 19:57:09
(@PATH,47,22.69484,357.5529,-43.00359,0,0,0,0,100,0), -- 19:57:09
(@PATH,48,16.94927,359.168,-43.14427,0,0,0,0,100,0), -- 19:57:12
(@PATH,49,11.69927,360.918,-42.89427,0,0,0,0,100,0), -- 19:57:12
(@PATH,50,10.69927,361.168,-42.64427,0,0,0,0,100,0); -- 19:57:12
-- 0x1C16F408C004BDC00059E900020B2760 .go 9.185728 361.806 -42.52501
-- Pathing for Ancient Stone Keeper Entry: 7206 'TDB FORMAT'
SET @NPC := 27553;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-38.42904,`position_y`=221.2527,`position_z`=-48.3663 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-38.42904,221.2527,-48.3663,3.159046,40000,0,0,100,0), -- 20:00:31
(@PATH,2,-46.91619,220.9454,-48.09736,0,0,0,0,100,0), -- 20:01:17
(@PATH,3,-54.90334,220.6381,-48.32841,0,40000,0,0,100,0), -- 20:01:17
(@PATH,4,-43.16619,221.1954,-48.09736,0,0,0,0,100,0); -- 20:02:18
-- 0x1C16F408C00709800059E900000B2760 .go -38.42904 221.2527 -48.3663
-- Add animation
DELETE FROM `creature_addon` WHERE `guid` IN (29384, 29488, 29574, 29573, 28536, 28539, 28538, 28537, 28798);
INSERT INTO `creature_addon` (`guid`, `bytes2`, `emote`, `auras`) VALUES
(29384, 4097, 233, NULL),
(29488, 4097, 233, NULL),
(29574, 4097, 233, NULL),
(29573, 4097, 233, NULL),
(28536, 4097, 233, NULL),
(28539, 4097, 233, NULL),
(28538, 4097, 233, NULL),
(28537, 4097, 233, NULL),
(28798, 4097, 233, NULL),
(28544, 4097, 233, NULL),
(28541, 4097, 233, NULL),
(28542, 4097, 233, NULL),
(28543, 4097, 233, NULL);
-- Remove too many spawns
DELETE FROM `creature` WHERE `guid` IN (33523, 33512, 28800, 28799, 28798, 28797, 28796, 28786);
+411
View File
@@ -0,0 +1,411 @@
-- Chill-out-zone in Feralas
SET @CGUID := 286261;
DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+203;
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
(@CGUID+0, 51722, 1, 1, 1, -5833.622, 526.6389, 176.4752, 1.139901, 120, 5, 1), -- 51722 (Area: -1) (possible waypoints or random movement)
(@CGUID+1, 51865, 1, 1, 1, -5820.382, 532.1875, 194.2173, 2.356194, 120, 0, 0), -- 51865 (Area: -1)
(@CGUID+2, 51865, 1, 1, 1, -5819.071, 530.6371, 193.9381, 6.091199, 120, 0, 0), -- 51865 (Area: -1)
(@CGUID+3, 54228, 1, 1, 1, -5817.061, 490.6267, 183.8121, 0, 120, 0, 0), -- 54228 (Area: -1) (Auras: 96028 - 96028)
(@CGUID+4, 54228, 1, 1, 1, -5810.71, 488.6788, 183.4907, 2.216568, 120, 0, 0), -- 54228 (Area: -1) (Auras: 96040 - 96040)
(@CGUID+5, 51718, 1, 1, 1, -5812.771, 489.2899, 183.534, 1.151917, 120, 0, 0), -- 51718 (Area: -1)
(@CGUID+6, 51714, 1, 1, 1, -5838.839, 459.3503, 177.5797, 3.756243, 120, 0, 0), -- 51714 (Area: -1)
(@CGUID+7, 51757, 1, 1, 1, -5814.559, 498.2431, 183.3129, 4.555309, 120, 0, 0), -- 51757 (Area: -1)
(@CGUID+8, 51722, 1, 1, 1, -5828.743, 529.9427, 176.5139, 5.009095, 120, 0, 0), -- 51722 (Area: -1)
(@CGUID+9, 51714, 1, 1, 1, -5860.543, 410.9887, 182.0474, 6.183322, 120, 0, 0), -- 51714 (Area: -1)
(@CGUID+10, 51865, 1, 1, 1, -5835.231, 512.3212, 193.9373, 6.073746, 120, 0, 0), -- 51865 (Area: -1)
(@CGUID+11, 51865, 1, 1, 1, -5820.609, 531.1719, 194.1476, 1.396263, 120, 0, 0), -- 51865 (Area: -1)
(@CGUID+12, 51714, 1, 1, 1, -5908.986, 601.248, 160.9332, 1.891346, 120, 0, 0), -- 51714 (Area: -1)
(@CGUID+13, 51752, 1, 1, 1, -5988.24, 389.5609, 164.9274, 1.203695, 120, 0, 0), -- 51752 (Area: -1)
(@CGUID+14, 51752, 1, 1, 1, -6078.896, 491.4083, 152.2478, 5.975255, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+15, 51752, 1, 1, 1, -6057.95, 469.7435, 150.8158, 6.124453, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+16, 51752, 1, 1, 1, -6067.034, 521.338, 146.5664, 1.711865, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+17, 51752, 1, 1, 1, -5977.059, 423.1778, 172.9921, 4.071449, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+18, 51752, 1, 1, 1, -5963.903, 500.7011, 154.703, 2.678033, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+19, 51752, 1, 1, 1, -5970.467, 459.6813, 174.096, 1.529866, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+20, 51752, 1, 1, 1, -5976.205, 520.6515, 153.9384, 3.080031, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+21, 51752, 1, 1, 1, -5992.32, 358.3326, 164.653, 0.9494663, 120, 0, 0), -- 51752 (Area: 5706)
(@CGUID+22, 51865, 1, 1, 1, -5843.563, 511.5486, 193.9623, 0.9599311, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+23, 51714, 1, 1, 1, -5776.128, 443.1764, 196.293, 2.607668, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+24, 51714, 1, 1, 1, -5843.026, 483.1286, 182.3018, 4.233008, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+25, 51756, 1, 1, 1, -5770.584, 476.897, 183.4999, 5.395369, 120, 5, 1), -- 51756 (Area: 5706) (possible waypoints or random movement)
(@CGUID+26, 54228, 1, 1, 1, -5788.821, 478.2326, 183.5699, 5.323254, 120, 0, 0), -- 54228 (Area: 5706) (Auras: 96040 - 96040)
(@CGUID+27, 54228, 1, 1, 1, -5782.837, 474.6424, 183.651, 2.548181, 120, 0, 0), -- 54228 (Area: 5706) (Auras: 96028 - 96028)
(@CGUID+28, 54228, 1, 1, 1, -5803.561, 483.4983, 183.5872, 0.715585, 120, 0, 0), -- 54228 (Area: 5706) (Auras: 96028 - 96028)
(@CGUID+29, 51714, 1, 1, 1, -5848.987, 451.9886, 177.6204, 6.022725, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+30, 51714, 1, 1, 1, -5858.383, 470.8597, 180.5947, 0.8780586, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+31, 51714, 1, 1, 1, -5809.133, 425.7376, 195.5264, 2.47713, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+32, 53418, 1, 1, 1, -5869.285, 498.0226, 176.9977, 3.001966, 120, 0, 0), -- 53418 (Area: 5706)
(@CGUID+33, 51714, 1, 1, 1, -5815.361, 408.014, 195.5388, 0.95924, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+34, 51865, 1, 1, 1, -5853.597, 510.9844, 193.8445, 3.874631, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+35, 51714, 1, 1, 1, -5824.243, 440.3729, 183.7047, 2.263534, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+36, 51718, 1, 1, 1, -5799.51, 486.1354, 183.2788, 5.183628, 120, 0, 0), -- 51718 (Area: 5706)
(@CGUID+37, 51865, 1, 1, 1, -5836.851, 513.5625, 193.8926, 5.462881, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+38, 51719, 1, 1, 1, -5786.854, 477.2396, 183.4653, 0.6283185, 120, 0, 0), -- 51719 (Area: 5706)
(@CGUID+39, 51865, 1, 1, 1, -5852.749, 510.8906, 193.8817, 4.607669, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+40, 51755, 1, 1, 1, -5775.304, 515.1766, 176.5595, 0.3552933, 120, 5, 1), -- 51755 (Area: 5706) (possible waypoints or random movement)
(@CGUID+41, 52057, 1, 1, 1, -5848.952, 606.2587, 162.6436, 2.530727, 120, 0, 0), -- 52057 (Area: 5706)
(@CGUID+42, 51714, 1, 1, 1, -5825.332, 341.6033, 226.0715, 5.481623, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+43, 51865, 1, 1, 1, -5781.887, 509.5851, 194.7077, 0.7504916, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+44, 51714, 1, 1, 1, -5740.958, 416.2426, 191.8828, 0.01742927, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+45, 51865, 1, 1, 1, -5774.441, 507.8472, 194.3099, 1.710423, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+46, 53418, 1, 1, 1, -5761.615, 502.9688, 176.5606, 4.904375, 120, 0, 0), -- 53418 (Area: 5706)
(@CGUID+47, 51865, 1, 1, 1, -5790.071, 512.0643, 194.686, 5.811946, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+48, 51865, 1, 1, 1, -5781.984, 511.6632, 194.7883, 2.042035, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+49, 51865, 1, 1, 1, -5810.505, 536.4601, 194.3137, 5.846853, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+50, 51722, 1, 1, 1, -5771.483, 518.7049, 176.5595, 1.762783, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+51, 51714, 1, 1, 1, -5853.271, 350.8911, 223.5589, 5.182024, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+52, 51714, 1, 1, 1, -5782.701, 375.5263, 195.2083, 0.6107414, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+53, 51722, 1, 1, 1, -5872.847, 509.8906, 176.8662, 0.5061455, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+54, 51865, 1, 1, 1, -5789.413, 513.2604, 194.3942, 0.5235988, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+55, 51865, 1, 1, 1, -5810.993, 536.1563, 194.2216, 5.113815, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+56, 51865, 1, 1, 1, -5811.823, 537.8507, 194.0482, 1.343904, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+57, 51722, 1, 1, 1, -5818.374, 537.2257, 176.3231, 1.919862, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+58, 51722, 1, 1, 1, -5806.168, 533.3299, 176.5178, 2.827433, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+59, 51714, 1, 1, 1, -5729.734, 437.4757, 191.8828, 4.213965, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+60, 51714, 1, 1, 1, -5735.756, 466.9708, 194.1166, 5.325943, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+61, 51722, 1, 1, 1, -5749.45, 498.5434, 176.5606, 2.268928, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+62, 51714, 1, 1, 1, -5714.741, 482.6237, 194.6329, 5.168834, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+63, 51714, 1, 1, 1, -5694.937, 445.9204, 191.8638, 2.747071, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+64, 51714, 1, 1, 1, -5682.681, 409.7939, 191.8828, 4.055, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+65, 51714, 1, 1, 1, -5638.822, 394.0143, 194.3154, 2.944314, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+66, 51722, 1, 1, 1, -5702.979, 515.4583, 176.545, 1.780236, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+67, 51865, 1, 1, 1, -5726.524, 522.6893, 194.7015, 4.206244, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+68, 51865, 1, 1, 1, -5711.851, 522.5972, 194.2767, 2.216568, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+69, 51865, 1, 1, 1, -5702.165, 520.6389, 194.34, 1.32645, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+70, 51865, 1, 1, 1, -5718.627, 521.0486, 194.4333, 0.9948376, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+71, 51758, 1, 1, 1, -5722.866, 530.9305, 176.6105, 0, 120, 0, 0), -- 51758 (Area: 5706)
(@CGUID+72, 51865, 1, 1, 1, -5727.182, 521.3646, 194.6415, 1.954769, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+73, 51865, 1, 1, 1, -5710.327, 521.4149, 194.4212, 2.234021, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+74, 51865, 1, 1, 1, -5718.733, 522.9983, 194.4557, 2.216568, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+75, 51865, 1, 1, 1, -5702.774, 522.1805, 193.7672, 2.216568, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+76, 51865, 1, 1, 1, -5700.931, 520.5695, 194.3047, 5.707227, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+77, 51755, 1, 1, 1, -5716.146, 521.3535, 176.8095, 3.353502, 120, 5, 1), -- 51755 (Area: 5706) (possible waypoints or random movement)
(@CGUID+78, 51865, 1, 1, 1, -5700.877, 521.632, 194.0545, 0.3490658, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+79, 51722, 1, 1, 1, -5707.057, 526.4653, 176.5595, 2.984513, 120, 5, 1), -- 51722 (Area: 5706) (possible waypoints or random movement)
(@CGUID+80, 51756, 1, 1, 1, -5730.926, 519.2454, 176.8095, 6.001951, 120, 5, 1), -- 51756 (Area: 5706) (possible waypoints or random movement)
(@CGUID+81, 51714, 1, 1, 1, -5676.871, 469.0516, 194.5918, 4.121607, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+82, 51735, 1, 1, 1, -5752.766, 523.9653, 176.5178, 1.937315, 120, 0, 0), -- 51735 (Area: 5706)
(@CGUID+83, 51865, 1, 1, 1, -5702.354, 534.0573, 194.0202, 1.029744, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+84, 51865, 1, 1, 1, -5703.543, 533.9114, 193.9504, 2.199115, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+85, 51714, 1, 1, 1, -5596.824, 443.1241, 186.7278, 4.277407, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+86, 51865, 1, 1, 1, -5703.813, 532.7483, 194.0125, 3.595378, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+87, 51865, 1, 1, 1, -5702.287, 532.8733, 194.2383, 5.864306, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+88, 51714, 1, 1, 1, -5627.504, 444.7137, 199.3283, 5.61794, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+89, 51757, 1, 1, 1, -5615.571, 524.7413, 163.3397, 2.111848, 120, 0, 0), -- 51757 (Area: 5706)
(@CGUID+90, 51714, 1, 1, 1, -5622.894, 340.6817, 211.8644, 0.9264227, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+91, 51714, 1, 1, 1, -5562.518, 424.447, 187.0178, 3.015223, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+92, 51755, 1, 1, 1, -5593.307, 523.6389, 163.4918, 2.86234, 120, 0, 0), -- 51755 (Area: 5706)
(@CGUID+93, 51726, 1, 1, 1, -5570.662, 368.8301, 215.8023, 5.126477, 120, 0, 0), -- 51726 (Area: 5706)
(@CGUID+94, 51755, 1, 1, 1, -5606.859, 532.4739, 162.5823, 2.792527, 120, 0, 0), -- 51755 (Area: 5706)
(@CGUID+95, 51757, 1, 1, 1, -5622.413, 536.6545, 162.9509, 6.038839, 120, 0, 0), -- 51757 (Area: 5706)
(@CGUID+96, 51865, 1, 1, 1, -5721.603, 549.7639, 194.3203, 2.059489, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+97, 51722, 1, 1, 1, -5714.45, 545.8212, 176.5179, 4.031711, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+98, 51865, 1, 1, 1, -5721.965, 551.7413, 194.3925, 1.448623, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+99, 51722, 1, 1, 1, -5693.285, 545.8299, 176.284, 3.246312, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+100, 53418, 1, 1, 1, -5709.608, 538.2778, 176.518, 0.4014257, 120, 0, 0), -- 53418 (Area: 5706)
(@CGUID+101, 51945, 1, 1, 1, -5715.84, 541.0382, 176.5258, 0.9599311, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+102, 51757, 1, 1, 1, -5707.749, 644.0608, 163.3819, 1.204277, 120, 0, 0), -- 51757 (Area: 5706)
(@CGUID+103, 51936, 1, 1, 1, -5683.043, 647.9236, 163.3177, 5.585053, 120, 0, 0), -- 51936 (Area: 5706)
(@CGUID+104, 51936, 1, 1, 1, -5714.335, 606.4132, 163.5486, 5.88176, 120, 0, 0), -- 51936 (Area: 5706)
(@CGUID+105, 51942, 1, 1, 1, -5719.022, 621.6649, 163.4219, 5.899213, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+106, 51936, 1, 1, 1, -5685.469, 645.0625, 163.309, 5.846853, 120, 0, 0), -- 51936 (Area: 5706)
(@CGUID+107, 51717, 1, 1, 1, -5715.403, 604.3837, 163.6398, 0.3316126, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+108, 51717, 1, 1, 1, -5701.385, 631.2604, 163.3387, 0.8028514, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+109, 51865, 1, 1, 1, -5738.972, 550.6684, 194.3103, 0.2268928, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+110, 51717, 1, 1, 1, -5691.924, 638.1754, 163.3039, 5.637414, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+111, 51722, 1, 1, 1, -5735.545, 548.4618, 176.5177, 2.338741, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+112, 51946, 1, 1, 1, -5725.933, 625.9695, 163.4957, 3.218016, 120, 0, 0), -- 51946 (Area: 5706)
(@CGUID+113, 51865, 1, 1, 1, -5738.043, 549.8143, 194.3333, 0.5934119, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+114, 51942, 1, 1, 1, -5698.42, 633.5555, 163.3207, 5.445427, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+115, 51717, 1, 1, 1, -5713.769, 601.9254, 163.6719, 0.9075712, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+116, 51944, 1, 1, 1, -5714.068, 620.9114, 163.3864, 3.141593, 120, 0, 0), -- 51944 (Area: 5706)
(@CGUID+117, 51717, 1, 1, 1, -5680.056, 641.1556, 163.0777, 0.8292802, 120, 5, 1), -- 51717 (Area: 5706) (possible waypoints or random movement)
(@CGUID+118, 51936, 1, 1, 1, -5696.321, 635.7864, 163.3174, 6.126106, 120, 0, 0), -- 51936 (Area: 5706)
(@CGUID+119, 51717, 1, 1, 1, -5720.672, 645.9879, 163.3825, 5.72468, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+120, 51936, 1, 1, 1, -5718.535, 646.1962, 163.3824, 3.490659, 120, 0, 0), -- 51936 (Area: 5706)
(@CGUID+121, 51758, 1, 1, 1, -5703.066, 648.3286, 163.3895, 1.426456, 120, 5, 1), -- 51758 (Area: 5706) (possible waypoints or random movement)
(@CGUID+122, 51942, 1, 1, 1, -5681.543, 661.691, 163.4648, 0, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+123, 51942, 1, 1, 1, -5681.253, 658.8629, 163.3542, 0.2268928, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+124, 51717, 1, 1, 1, -5719.08, 643.309, 163.3895, 1.780236, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+125, 51756, 1, 1, 1, -5710.2, 651.7934, 163.3819, 5.323254, 120, 0, 0), -- 51756 (Area: 5706)
(@CGUID+126, 51946, 1, 1, 1, -5727.759, 631.1744, 163.551, 4.018413, 120, 5, 1), -- 51946 (Area: 5706) (possible waypoints or random movement)
(@CGUID+127, 51942, 1, 1, 1, -5678.137, 660.4566, 163.3114, 3.124139, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+128, 51717, 1, 1, 1, -5682.747, 669.4233, 163.2782, 2.46456, 120, 5, 1), -- 51717 (Area: 5706) (possible waypoints or random movement)
(@CGUID+129, 51758, 1, 1, 1, -5739.536, 641.6185, 163.4391, 1.417402, 120, 0, 0), -- 51758 (Area: 5706)
(@CGUID+130, 51755, 1, 1, 1, -5744.328, 637.9358, 163.6499, 5.375614, 120, 0, 0), -- 51755 (Area: 5706)
(@CGUID+131, 51756, 1, 1, 1, -5775.607, 610.2629, 165.2272, 4.035974, 120, 5, 1), -- 51756 (Area: 5706) (possible waypoints or random movement)
(@CGUID+132, 51946, 1, 1, 1, -5704.965, 671.8438, 163.3821, 4.014257, 120, 0, 0), -- 51946 (Area: 5706)
(@CGUID+133, 51945, 1, 1, 1, -5706.755, 668.5781, 163.3823, 4.18879, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+134, 51942, 1, 1, 1, -5688.882, 672.9827, 163.3063, 1.117011, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+135, 51944, 1, 1, 1, -5705.99, 670.283, 163.3821, 4.258604, 120, 0, 0), -- 51944 (Area: 5706)
(@CGUID+136, 51941, 1, 1, 1, -5733.848, 654.0132, 163.3379, 0.2841505, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+137, 51935, 1, 1, 1, -5711.467, 667.875, 163.3824, 0.08726646, 120, 0, 0), -- 51935 (Area: 5706)
(@CGUID+138, 51943, 1, 1, 1, -5716.115, 684.0538, 163.3142, 1.623156, 120, 0, 0), -- 51943 (Area: 5706)
(@CGUID+139, 51717, 1, 1, 1, -5685.757, 670.8802, 163.4533, 0.9773844, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+140, 52008, 1, 1, 1, -5708.797, 662.9184, 163.3823, 0.9773844, 120, 0, 0), -- 52008 (Area: 5706)
(@CGUID+141, 51943, 1, 1, 1, -5669.949, 687.1072, 163.1411, 2.415381, 120, 0, 0), -- 51943 (Area: 5706)
(@CGUID+142, 51943, 1, 1, 1, -5707.717, 666.6094, 163.3823, 4.223697, 120, 0, 0), -- 51943 (Area: 5706)
(@CGUID+143, 51944, 1, 1, 1, -5698.58, 678.2795, 163.4202, 4.388422, 120, 0, 0), -- 51944 (Area: 5706)
(@CGUID+144, 51945, 1, 1, 1, -5713.346, 684.4566, 163.2969, 2.583087, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+145, 51733, 1, 1, 1, -5763.861, 550.1215, 176.5641, 4.729842, 120, 0, 0), -- 51733 (Area: 5706)
(@CGUID+146, 51942, 1, 1, 1, -5688.769, 668.5851, 163.3454, 2.478368, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+147, 51755, 1, 1, 1, -5745.418, 630.5882, 164.2644, 2.879585, 120, 0, 0), -- 51755 (Area: 5706)
(@CGUID+148, 51756, 1, 1, 1, -5784.477, 624.1635, 164.3154, 0.6682549, 120, 5, 1), -- 51756 (Area: 5706) (possible waypoints or random movement)
(@CGUID+149, 51945, 1, 1, 1, -5750.272, 673.0625, 163.2886, 4.468043, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+150, 51941, 1, 1, 1, -5742.143, 675.9983, 163.3009, 1.850049, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+151, 51941, 1, 1, 1, -5772.908, 636.5851, 163.5573, 1.099557, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+152, 51941, 1, 1, 1, -5754.41, 669.7274, 163.3047, 5.585053, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+153, 51757, 1, 1, 1, -5781.788, 625.9861, 164.2517, 4.677482, 120, 0, 0), -- 51757 (Area: 5706)
(@CGUID+154, 51941, 1, 1, 1, -5756.162, 667.7274, 163.3201, 0.05235988, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+155, 52562, 1, 1, 1, -5752.019, 667.3038, 163.3164, 2.321288, 120, 0, 0), -- 52562 (Area: 5706)
(@CGUID+156, 51945, 1, 1, 1, -5738.276, 676.3906, 163.3239, 1.58825, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+157, 51941, 1, 1, 1, -5748.988, 669.3646, 163.316, 2.70526, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+158, 51935, 1, 1, 1, -5775.333, 637.4288, 163.4965, 0.1047198, 120, 0, 0), -- 51935 (Area: 5706)
(@CGUID+159, 51941, 1, 1, 1, -5753.147, 672.3889, 163.2966, 4.799655, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+160, 51945, 1, 1, 1, -5718.125, 685.2118, 163.2882, 0.8726646, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+161, 51758, 1, 1, 1, -5709.035, 689.8316, 163.1528, 0, 120, 0, 0), -- 51758 (Area: 5706)
(@CGUID+162, 51935, 1, 1, 1, -5788.397, 620.0635, 164.4618, 0.09207957, 120, 5, 1), -- 51935 (Area: 5706) (possible waypoints or random movement)
(@CGUID+163, 51757, 1, 1, 1, -5788.203, 635.3854, 163.4523, 4.572762, 120, 0, 0), -- 51757 (Area: 5706)
(@CGUID+164, 51941, 1, 1, 1, -5753.615, 687.9913, 163.1164, 5.707227, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+165, 51714, 1, 1, 1, -5627.134, 709.618, 154.8987, 2.548122, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+166, 51941, 1, 1, 1, -5749.288, 689.9566, 163.0284, 3.700098, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+167, 51945, 1, 1, 1, -5771.991, 661.6979, 163.2977, 2.268928, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+168, 51945, 1, 1, 1, -5793.417, 647.441, 163.309, 2.687807, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+169, 51714, 1, 1, 1, -5740.46, 787.8705, 153.5386, 0.05536608, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+170, 51943, 1, 1, 1, -5795.859, 644.7031, 163.3025, 2.391101, 120, 0, 0), -- 51943 (Area: 5706)
(@CGUID+171, 51941, 1, 1, 1, -5800.465, 624.0608, 163.3946, 2.740167, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+172, 51935, 1, 1, 1, -5811.563, 604.5035, 163.934, 1.064651, 120, 0, 0), -- 51935 (Area: 5706)
(@CGUID+173, 51943, 1, 1, 1, -5800.446, 626.8195, 163.3526, 3.420845, 120, 0, 0), -- 51943 (Area: 5706)
(@CGUID+174, 51943, 1, 1, 1, -5807.573, 607.6702, 163.7157, 2.827433, 120, 0, 0), -- 51943 (Area: 5706)
(@CGUID+175, 51944, 1, 1, 1, -5793.934, 590.691, 165.2877, 4.694936, 120, 0, 0), -- 51944 (Area: 5706)
(@CGUID+176, 51945, 1, 1, 1, -5809.887, 609.2344, 163.5477, 5.183628, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+177, 51945, 1, 1, 1, -5802.615, 622.842, 163.3542, 2.216568, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+178, 51942, 1, 1, 1, -5793.905, 591.5278, 165.2813, 4.625123, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+179, 51714, 1, 1, 1, -5825.147, 690.5084, 156.8976, 5.554952, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+180, 51941, 1, 1, 1, -5793.838, 589.2899, 165.291, 4.607669, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+181, 51714, 1, 1, 1, -5837.444, 585.0133, 163.1623, 3.782508, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+182, 51717, 1, 1, 1, -5793.882, 585.3507, 165.2953, 4.747295, 120, 0, 0), -- 51717 (Area: 5706)
(@CGUID+183, 51942, 1, 1, 1, -5796.575, 588.0746, 165.2912, 3.01942, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+184, 51942, 1, 1, 1, -5798.483, 589.0989, 165.29, 0.1396263, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+185, 51722, 1, 1, 1, -5784.766, 554.6545, 176.4327, 0.9424778, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+186, 51945, 1, 1, 1, -5793.906, 587.9288, 165.2906, 4.852015, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+187, 51942, 1, 1, 1, -5796.556, 588.9722, 165.2891, 3.054326, 120, 0, 0), -- 51942 (Area: 5706)
(@CGUID+188, 51944, 1, 1, 1, -5793.894, 586.7361, 165.2928, 4.747295, 120, 0, 0), -- 51944 (Area: 5706)
(@CGUID+189, 51865, 1, 1, 1, -5776.588, 550.0243, 194.095, 0.9075712, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+190, 51945, 1, 1, 1, -5824.613, 598.4288, 163.4235, 2.583087, 120, 0, 0), -- 51945 (Area: 5706)
(@CGUID+191, 51722, 1, 1, 1, -5781.566, 543.5347, 176.5179, 1.134464, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+192, 52008, 1, 1, 1, -5795.094, 582.132, 165.5414, 1.48353, 120, 0, 0), -- 52008 (Area: 5706)
(@CGUID+193, 51941, 1, 1, 1, -5827.691, 596.3333, 163.3924, 2.129302, 120, 0, 0), -- 51941 (Area: 5706)
(@CGUID+194, 51865, 1, 1, 1, -5776.42, 548.9705, 194.171, 6.091199, 120, 0, 0), -- 51865 (Area: 5706)
(@CGUID+195, 51750, 1, 1, 1, -5837.288, 603.3195, 162.9044, 3.490659, 120, 0, 0), -- 51750 (Area: 5706)
(@CGUID+196, 51714, 1, 1, 1, -5861.537, 554.002, 163.6794, 1.694182, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+197, 53418, 1, 1, 1, -5800.891, 538.6614, 176.5178, 3.228859, 120, 0, 0), -- 53418 (Area: 5706)
(@CGUID+198, 51714, 1, 1, 1, -5903.984, 648.61, 153.8709, 0.06720779, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+199, 51722, 1, 1, 1, -5787.196, 542.7465, 176.5179, 4.939282, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+200, 51722, 1, 1, 1, -5795.538, 539.5989, 176.5179, 5.096361, 120, 0, 0), -- 51722 (Area: 5706)
(@CGUID+201, 51734, 1, 1, 1, -5774.717, 523.9167, 176.6318, 0.8552113, 120, 0, 0), -- 51734 (Area: 5706)
(@CGUID+202, 51714, 1, 1, 1, -5884.849, 620.7791, 158.0151, 5.168957, 120, 0, 0), -- 51714 (Area: 5706)
(@CGUID+203, 51752, 1, 1, 1, -5930.05, 526.5265, 154.2203, 4.382598, 120, 0, 0); -- 51752 (Area: 5706)
SET @OGUID := 200280;
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+30;
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
(@OGUID+0, 208322, 1, 1, 1, -5807.332, 533.5417, 176.4345, 5.969027, 0, 0, 0, 1, 120, 255, 1), -- 208322 (Area: 5706)
(@OGUID+1, 208201, 1, 1, 1, -5688.999, 606.559, 163.0309, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+2, 208201, 1, 1, 1, -5676.182, 637.5139, 163.02, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+3, 208201, 1, 1, 1, -5720.035, 619.2014, 163.3823, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+4, 208201, 1, 1, 1, -5714.158, 607.4792, 164.3322, 6.19592, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+5, 208203, 1, 1, 1, -5699.99, 632.7969, 163.259, 0.4363316, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+6, 208203, 1, 1, 1, -5672.493, 653.809, 162.9627, 0, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+7, 208201, 1, 1, 1, -5683.978, 647.3195, 163.2395, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+8, 208203, 1, 1, 1, -5682.505, 659.8993, 163.2843, 0, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+9, 208202, 1, 1, 1, -5707.547, 661.9636, 164.5816, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+10, 208203, 1, 1, 1, -5690.106, 674.0712, 163.2372, 0, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+11, 208201, 1, 1, 1, -5710.354, 664.9948, 163.299, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+12, 208203, 1, 1, 1, -5711.762, 663.6059, 164.7674, 0, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+13, 208202, 1, 1, 1, -5738.927, 667.0139, 163.2099, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+14, 208201, 1, 1, 1, -5731.021, 690.5243, 163.0176, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+15, 208201, 1, 1, 1, -5720.979, 686.0035, 163.1892, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+16, 208201, 1, 1, 1, -5736.818, 676.941, 163.2449, 0, 0, 0, 0, 1, 120, 255, 1), -- 208201 (Area: 5706)
(@OGUID+17, 208202, 1, 1, 1, -5751.677, 692.0938, 162.9395, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+18, 208203, 1, 1, 1, -5775.547, 662.4236, 164.0997, 0, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+19, 208202, 1, 1, 1, -5712.768, 697.8854, 162.9631, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+20, 208202, 1, 1, 1, -5793.753, 649.1111, 163.208, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+21, 208202, 1, 1, 1, -5792.893, 589.033, 165.9749, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+22, 208203, 1, 1, 1, -5803.34, 622.2344, 164.2114, 0, 0, 0, 0, 1, 120, 255, 1), -- 208203 (Area: 5706)
(@OGUID+23, 208324, 1, 1, 1, -5780.96, 544.8264, 176.4345, 4.293511, 0, 0, 0, 1, 120, 255, 1), -- 208324 (Area: 5706)
(@OGUID+24, 208202, 1, 1, 1, -5873.549, 620.4827, 165.652, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+25, 208202, 1, 1, 1, -5797.971, 590.5278, 165.2003, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+26, 208202, 1, 1, 1, -5869.266, 617.1614, 170.3381, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+27, 208202, 1, 1, 1, -5872.731, 620.2656, 165.606, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+28, 208202, 1, 1, 1, -5795.085, 584.3073, 166.4064, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+29, 208202, 1, 1, 1, -5825.406, 597.3542, 163.4057, 0, 0, 0, 0, 1, 120, 255, 1), -- 208202 (Area: 5706)
(@OGUID+30, 208323, 1, 1, 1, -5778.668, 543.3333, 176.4345, 3.953173, 0, 0, 0, 1, 120, 255, 1); -- 208323 (Area: 5706)
UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=51865;
UPDATE `creature` SET `spawndist`=1, `MovementType`=5 WHERE `id` IN (51714,51752);
-- Resort Guest SAI
SET @GUID := -286377;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=51944;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,300,5000,6000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Resort Guest - Out of Combat - Play Emote 1");
-- Resort Guest SAI
SET @GUID := -286388;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=51942;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,100,500,3000,6000,5,94,0,0,0,0,0,1,0,0,0,0,0,0,0,"Resort Guest - Out of Combat - Play Emote 94");
-- Resort Guest SAI
SET @GUID := -286419;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=51935;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,200,3000,6000,7000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Resort Guest - Out of Combat - Play Emote 1");
-- Resort Guest SAI
SET @GUID := -286380;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=51935;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,200,3000,6000,7000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Resort Guest - Out of Combat - Play Emote 1");
-- Resort Guest SAI
SET @GUID := -286385;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=51935;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,200,3000,6000,7000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Resort Guest - Out of Combat - Play Emote 1");
-- Resort Guest SAI
SET @GUID := -286381;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=51935;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,200,3000,6000,7000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Resort Guest - Out of Combat - Play Emote 1");
DELETE FROM `creature_addon` WHERE `guid` IN (286307,286287,286265,286264,286289,286288,286293,286458,286361,286444,286448,286445,286413,286454,286451,286433,286438,286432,286434,286431,286429,286428,286420,286410,286416,286418,286411,286417,286421,286399,286405,286404,286398,286395,286400,286407,286383,286384,286364,286367,286371,286379,286375,286369,286366,286365,286368,286376);
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
(286376,0,0,0,1,415, ''),
(286368,0,0,0,1,415, ''),
(286365,0,0,0,1,415, ''),
(286366,0,0,0,1,415, ''),
(286369,0,0,0,0,69, ''),
(286375,0,0,0,1,415, ''),
(286379,0,0,0,1,415, ''),
(286371,0,0,3,1,0, ''),
(286367,0,0,0,1,415, ''),
(286364,0,0,0,1,415, ''),
(286384,0,0,0,1,415, ''),
(286383,0,0,3,1,0, ''),
(286407,0,0,0,1,69, ''),
(286400,0,0,0,1,415, ''),
(286395,0,0,0,1,415, ''),
(286398,0,0,0,1,23, ''),
(286404,0,0,3,1,0, ''),
(286405,0,0,0,1,415, ''),
(286399,0,0,0,1,415, ''),
(286421,0,0,0,1,415, ''),
(286417,0,0,0,1,415, ''),
(286411,0,0,0,1,415, ''),
(286418,0,0,0,1,415, ''),
(286416,0,0,0,1,415, ''),
(286410,0,0,8,1,0, ''),
(286420,0,0,8,1,0, ''),
(286413,0,0,8,1,0, ''),
(286428,0,0,0,1,415, ''),
(286429,0,0,0,1,415, ''),
(286431,0,0,0,1,415, ''),
(286434,0,0,0,1,415, ''),
(286432,0,0,0,1,415, ''),
(286438,0,0,0,1,415, ''),
(286433,0,0,0,1,10, ''),
(286451,0,0,0,1,415, ''),
(286454,0,0,0,1,415, ''),
(286445,0,0,0,1,7, ''),
(286448,0,0,0,1,7, ''),
(286444,0,0,0,1,7, ''),
(286361,0,0,0,1,234, ''),
(286458,0,0,0,1,234, ''),
(286293,0,0,0,1,234, ''),
(286307,0,0,0,1,234, ''),
(286288,0,0,0,1,0, '96028'),
(286289,0,0,0,1,0, '96028'),
(286264,0,0,0,1,0, '96028'),
(286265,0,0,0,1,0, '96040'),
(286287,0,0,0,1,0, '96040');
-- Pathing for Entry: 51946 'TDB FORMAT'
SET @NPC := 286387;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-5788.926,`position_y`=607.9293,`position_z`=165.2974 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-5788.926,607.9293,165.2974,0,0,0,0,100,0),
(@PATH,2,-5790.426,617.9293,164.5474,0,0,0,0,100,0),
(@PATH,3,-5791.426,623.4293,164.2974,0,0,0,0,100,0),
(@PATH,4,-5792.438,629.6313,163.5284,0,0,0,0,100,0),
(@PATH,5,-5781.063,644.6859,163.6394,0,0,0,0,100,0),
(@PATH,6,-5773.629,649.9146,163.5963,0,0,0,0,100,0),
(@PATH,7,-5755.208,659.1642,163.3571,0,0,0,0,100,0),
(@PATH,8,-5731.594,666.4515,163.6333,0,0,0,0,100,0),
(@PATH,9,-5716.327,658.214,163.6395,0,0,0,0,100,0),
(@PATH,10,-5707.683,637.6583,163.6191,0,0,0,0,100,0),
(@PATH,11,-5710.278,622.7555,163.4361,0,0,0,0,100,0),
(@PATH,12,-5712.528,625.0055,163.4361,0,0,0,0,100,0),
(@PATH,13,-5716.778,626.0055,163.4361,0,0,0,0,100,0),
(@PATH,14,-5718.528,626.5055,163.4361,0,0,0,0,100,0),
(@PATH,15,-5719.528,626.5055,163.4361,0,0,0,0,100,0),
(@PATH,16,-5720.528,626.5055,163.4361,0,0,0,0,100,0),
(@PATH,17,-5721.528,626.5055,163.4361,0,0,0,0,100,0),
(@PATH,18,-5722.778,626.5055,163.6861,0,0,0,0,100,0),
(@PATH,19,-5724.778,626.0055,163.6861,0,0,0,0,100,0),
(@PATH,20,-5725.048,626.0278,163.8128,0,0,0,0,100,0),
(@PATH,21,-5727.048,625.7778,163.8128,0,0,0,0,100,0),
(@PATH,22,-5732.548,619.2778,164.3128,0,0,0,0,100,0),
(@PATH,23,-5735.298,616.2778,164.8128,0,0,0,0,100,0),
(@PATH,24,-5735.542,616.0571,165.0257,0,0,0,0,100,0),
(@PATH,25,-5736.542,615.0571,165.0257,0,0,0,0,100,0),
(@PATH,26,-5742.292,611.3071,165.5257,0,0,0,0,100,0);
-- Pathing for Entry: 51946 'TDB FORMAT'
SET @NPC := 286373;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-5732.034,`position_y`=626.0606,`position_z`=163.8376 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-5732.034,626.0606,163.8376,0,0,0,0,100,0),
(@PATH,2,-5732.243,625.7847,163.7238,0,0,0,0,100,0),
(@PATH,3,-5732.04,625.6913,164.0835,0,0,0,0,100,0),
(@PATH,4,-5730.54,612.1913,164.5835,0,0,0,0,100,0),
(@PATH,5,-5731.412,621.9445,164.1074,0,0,0,0,100,0),
(@PATH,6,-5732.08,625.9236,163.8257,0,0,0,0,100,0);
-- Pathing for Entry: 51722 'TDB FORMAT'
SET @NPC := 286311;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-5773.932,`position_y`=536.3438,`position_z`=176.7003 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-5773.932,536.3438,176.7003,0,10000,0,0,100,0),
(@PATH,2,-5773.641,536.2739,176.8456,0,0,0,0,100,0),
(@PATH,3,-5770.578,533.2537,176.616,0,0,0,0,100,0),
(@PATH,4,-5770.363,532.8978,176.8072,0,0,0,0,100,0),
(@PATH,5,-5767.863,530.8978,176.8072,0,0,0,0,100,0),
(@PATH,6,-5766.079,524.7371,176.799,0,0,0,0,100,0),
(@PATH,7,-5771.483,518.7049,176.5595,0,0,0,0,100,0),
(@PATH,8,-5771.483,518.7049,176.5595,1.762783,10000,0,0,100,0),
(@PATH,9,-5767.021,521.6589,176.497,0,0,0,0,100,0),
(@PATH,10,-5766.021,525.1589,176.497,0,0,0,0,100,0),
(@PATH,11,-5767.771,530.9089,176.497,0,0,0,0,100,0),
(@PATH,12,-5770.771,533.4089,176.497,0,0,0,0,100,0),
(@PATH,13,-5773.771,536.1589,176.747,0,0,0,0,100,0),
(@PATH,14,-5778.271,539.9089,176.747,0,0,0,0,100,0);
+121
View File
@@ -0,0 +1,121 @@
--
SET @ADMETIUS := 17658;
SET @LEGOSO := 17982;
SET @SIRONAS := 17678;
SET @TESLA := 17979;
-- Sironas
-- Equips
DELETE FROM `creature_equip_template` WHERE `entry`=@SIRONAS;
INSERT INTO `creature_equip_template` (`entry`, `id`, `itemEntry1`) VALUES
(@SIRONAS, 1, 2244);
-- Spells & scriptname
UPDATE `creature_template` SET `spell1`=10966, `spell2`=12742, `spell3`=8282, `spell4`=0, `ScriptName`='npc_sironas' WHERE `entry`=@SIRONAS;
-- Text
DELETE FROM `creature_text` WHERE `entry`=@SIRONAS;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `probability`, `comment`, `BroadcastTextId`) VALUES
(@SIRONAS, 0, 0, 'Petulant children, pray to your gods for you are about to meet them!', 14, 100, 'Sironas SAY_SIRONAS_1 (pre aggro)',14666);
-- Tesla targets
-- Disable movement
UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `Id`=@TESLA;
-- Position fix
UPDATE `creature` SET `position_x`=-1964.13, `position_y`=-10538.7, `position_z`=198.928 WHERE `Id`=@TESLA AND `guid`=63627;
UPDATE `creature` SET `position_x`=-1926.01, `position_y`=-10577.4, `position_z`=194.301 WHERE `Id`=@TESLA AND `guid`=63628;
UPDATE `creature` SET `position_x`=-1921.15, `position_y`=-10583.0, `position_z`=213.888 WHERE `Id`=@TESLA AND `guid`=63629;
UPDATE `creature` SET `position_x`=-1886.11, `position_y`=-10534.5, `position_z`=199.901 WHERE `Id`=@TESLA AND `guid`=63630;
-- Bloodmyst Tesla target condition
DELETE FROM `conditions` WHERE `SourceEntry`=31611;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`) VALUES
(13, 1, 31611, 0, 0, 31, 0, 3, @SIRONAS, 0);
-- Legoso
-- Scriptname
UPDATE `creature_template` SET `ScriptName`='npc_demolitionist_legoso' WHERE `entry`=@LEGOSO;
-- Respawn time (this npc respawns very quickly, http://www.wowhead.com/npc=@LEGOSO#comments:id=752881:reply=111200)
UPDATE `creature` SET `spawntimesecs`=30 WHERE `id`=@LEGOSO;
-- Text
DELETE FROM `creature_text` WHERE `entry`=@LEGOSO;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `probability`, `emote`, `comment`, `BroadcastTextId`) VALUES
(@LEGOSO, 0, 0, 'There''s no turning back now. Stay close and watch my back.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_1',14648),
(@LEGOSO, 1, 0, 'There it is! Do you see where the large red crystal is jutting out from the Vector Coil? That''s where I need to plant the first set of explosives.', 12, 100, 25, 'npc_demolitionist_legoso SAY_LEGOSO_2',14649),
(@LEGOSO, 2, 0, 'Cover me!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_3',14650),
(@LEGOSO, 3, 0, 'It won''t be much longer. Just keep them off me while I work.', 12, 100, 69, 'npc_demolitionist_legoso SAY_LEGOSO_4',14651),
(@LEGOSO, 4, 0, 'That''ll do it! Quickly, take cover!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_5',14652),
(@LEGOSO, 5, 0, '3...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_6',14653),
(@LEGOSO, 6, 0, '2...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_7',14654),
(@LEGOSO, 7, 0, '1...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_8',14655),
(@LEGOSO, 8, 0, 'Don''t get too excited, hero, that was the easy part. The challenge lies ahead! Let''s go.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_9',14656),
(@LEGOSO, 9, 0, 'What in the Nether is that?!?!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_10',14657),
(@LEGOSO, 10, 0, 'Be ready for anything.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_11',14658),
(@LEGOSO, 11, 0, 'Blessed Light! She''s siphoning energy right out of the Vector Coil!', 12, 100, 53, 'npc_demolitionist_legoso SAY_LEGOSO_12',14659),
(@LEGOSO, 12, 0, 'Cover me, we have to do this quickly. Once I blow the support on this side, it will disrupt the energy beams and she''ll break out! I doubt very much that she''ll be happy to see us.', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_13',14660),
(@LEGOSO, 13, 0, 'I''ve almost got it! Just a little more time...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_14',14661),
(@LEGOSO, 14, 0, 'Take cover and be ready for the fight of your life!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_15',14662),
(@LEGOSO, 15, 0, '3...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_16',14653),
(@LEGOSO, 16, 0, '2...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_17',14654),
(@LEGOSO, 17, 0, '1...', 12, 100, 0, 'npc_demolitionist_legoso SAY_LEGOSO_18',14655),
(@LEGOSO, 18, 0, 'Holy mother of O''ros!', 12, 100, 5, 'npc_demolitionist_legoso SAY_LEGOSO_19',14663),
(@LEGOSO, 19, 0, 'I... I can''t believe it''s over. You did it! You''ve destoyed the blood elves and their leader!', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_20',14664),
(@LEGOSO, 20, 0, 'Get back to Blood Watch. I''ll see you there...', 12, 100, 1, 'npc_demolitionist_legoso SAY_LEGOSO_21',14665);
-- Waypoints
DELETE FROM `script_waypoint` WHERE `entry`=@LEGOSO;
INSERT INTO `script_waypoint` (`entry`, `pointid`, `location_x`, `location_y`, `location_z`, `waittime`, `point_comment`) VALUES
(@LEGOSO, 1, -1773.64, -11073.9, 76.8923, 0, 'Legoso'),
(@LEGOSO, 2, -1784.13, -11051.1, 77.2078, 0, 'Legoso'),
(@LEGOSO, 3, -1793.02, -11047.5, 77.1118, 0, 'Legoso'),
(@LEGOSO, 4, -1792.87, -11036.8, 76.2142, 0, 'Legoso'),
(@LEGOSO, 5, -1804.07, -11023.6, 69.8951, 0, 'Legoso'),
(@LEGOSO, 6, -1826.2, -11003.5, 67.3465, 0, 'Legoso'),
(@LEGOSO, 7, -1855, -10992.3, 64.5101, 0, 'Legoso'),
(@LEGOSO, 8, -1888.95, -10966.4, 61.1596, 0, 'Legoso'),
(@LEGOSO, 9, -1913.87, -10935.6, 61.4501, 0, 'Legoso'),
(@LEGOSO, 10, -1927.65, -10907.8, 62.7226, 0, 'Legoso'),
(@LEGOSO, 11, -1932.9, -10868.6, 66.2437, 0, 'Legoso'),
(@LEGOSO, 12, -1940.75, -10853.8, 69.1475, 0, 'Legoso'),
(@LEGOSO, 13, -1934.66, -10821.3, 80.0018, 0, 'Legoso'),
(@LEGOSO, 14, -1940.5, -10807.7, 84.7886, 0, 'Legoso'),
(@LEGOSO, 15, -1966.12, -10791.9, 88.6942, 0, 'Legoso'),
(@LEGOSO, 16, -1977.82, -10778.2, 89.1746, 0, 'Legoso'),
(@LEGOSO, 17, -1980.04, -10757.3, 91.1206, 0, 'Legoso'),
(@LEGOSO, 18, -1959.13, -10739.6, 98.335, 0, 'Legoso'),
(@LEGOSO, 19, -1947.52, -10721.8, 108.46, 0, 'Legoso'),
(@LEGOSO, 20, -1947.04, -10711.1, 111.313, 0, 'Legoso'),
(@LEGOSO, 21, -1953.05, -10682.2, 110.582, 0, 'Legoso'),
(@LEGOSO, 22, -1955.6, -10669.8, 110.65, 0, 'Legoso'),
(@LEGOSO, 23, -1967.13, -10677.3, 111.37, 0, 'Legoso'),
(@LEGOSO, 24, -1987.29, -10701.7, 116.038, 0, 'Legoso'),
(@LEGOSO, 25, -2008.1, -10664.8, 120.99, 0, 'Legoso'),
(@LEGOSO, 26, -2021.77, -10648.8, 129.903, 0, 'Legoso'),
(@LEGOSO, 27, -2022.39, -10647.7, 130.624, 0, 'Legoso'),
(@LEGOSO, 28, -2039.34, -10632.7, 143, 0, 'Legoso'),
(@LEGOSO, 29, -2041.41, -10624.6, 145.187, 0, 'Legoso'),
(@LEGOSO, 30, -2036.49, -10617.1, 146.52, 0, 'Legoso'),
(@LEGOSO, 31, -2026.12, -10606.9, 150.263, 0, 'Legoso'),
(@LEGOSO, 32, -1993, -10613.7, 161.852, 0, 'Legoso'),
(@LEGOSO, 33, -1970.41, -10616.8, 163.838, 0, 'Legoso'),
(@LEGOSO, 34, -1953.78, -10590.9, 170.538, 0, 'Legoso'),
(@LEGOSO, 35, -1942.51, -10577.7, 175.276, 0, 'Legoso'),
(@LEGOSO, 36, -1937.517090, -10575.675781, 176.253082, 0, 'Legoso'),
(@LEGOSO, 37, -1926.401733, -10577.000977, 177.240952, 0, 'Legoso'),
(@LEGOSO, 38, -1920.892212, -10575.630859, 177.493637, 0, 'Legoso'),
(@LEGOSO, 39, -1913.378662, -10575, 178.044113, 0, 'Legoso'),
(@LEGOSO, 40, -1951.17, -10555, 177.33, 0, 'Legoso'),
(@LEGOSO, 41, -1946.9, -10557.8, 177.7, 0, 'Legoso');
-- Exarch Admetius
-- Text
DELETE FROM `creature_text` WHERE `entry`=@ADMETIUS;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `probability`, `emote`, `comment`, `BroadcastTextId`) VALUES
(@ADMETIUS, 0, 0, 'All hail $N, savior of Azuremyst and Bloodmyst. Hero of the Hand of Argus, champion of the draenei people!', 14, 100, 22, 'Exarch Admetius q9759 OnRewarded',14691);
-- Exarch Admetius SAI
SET @ENTRY := 17658;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,20,0,100,1,9759,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Exarch Admetius - On Quest 'Ending Their World' Finished - Say Line 0 (No Repeat)");
@@ -0,0 +1,48 @@
DELETE FROM `creature_text` WHERE `entry`=16819 AND `groupid` IN(1,2);
DELETE FROM `creature_text` WHERE `entry`IN(3230,18481,23054);
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(3230, 0, 0, 'Hellfire Citadel is ours! The source of Illidan\'s fel orc army is no more! Magtheridon has fallen to the might of $n and $g his:her; allies!', 14, 1, 100, 22, 0, 0, 20765, 2, 'Nazgrel to Player'),
(3230, 1, 0, 'The time for us to rise and strike at the fel orcs that remain is now! Do this for your Warchief! Do this for the Horde!', 14, 1, 100, 22, 0, 0, 20766, 2, 'Nazgrel to Player'),
(18481, 0, 0, 'Silence descends upon Shattrath.', 16, 0, 100, 0, 0, 0, 20776, 2, 'A\'dal to Player'),
(18481, 1, 0, '%s\'s thoughts invade your mind.', 16, 0, 100, 0, 0, 0, 20777, 2, 'A\'dal to Player'),
(18481, 2, 0, 'Kael\'thas Sunstrider has been defeated by $n and $g his:her; allies.', 16, 0, 100, 0, 0, 0, 20778, 2, 'A\'dal to Player'),
(18481, 3, 0, 'The time to strike at the remaining blood elves of Tempest Keep is now. Take arms and let A\'dal\'s song of battle empower you!', 16, 0, 100, 0, 0, 0, 20779, 2, 'A\'dal to Player'),
(23054, 0, 0, 'Your monkeys failed to finish the job, naaru. Beaten but alive... The same mistake was not made when we took command of your vessel.', 14, 0, 100, 1, 0, 0, 20792, 0, 'Kael\'thas Sunstrider to Player'),
(23054, 1, 0, 'All for what? Trinkets? You are too late. The preparations have already begun. Soon the master will make his return.', 14, 0, 100, 274, 0, 0, 20793, 0, 'Kael\'thas Sunstrider to Player'),
(23054, 2, 0, 'And there is nothing you or that fool, Illidan, can do to stop me! You have both served me in your own right - unwittingly.', 14, 0, 100, 1, 0, 0, 20794, 0, 'Kael\'thas Sunstrider to Player'),
(23054, 3, 0, 'Lay down your arms and succumb to the might of Kil\'jaeden!', 14, 0, 100, 14, 0, 0, 20796, 0, 'Kael\'thas Sunstrider to Player'),
(16819, 1, 0, 'The feast of corruption is no more! Magtheridon has fallen to the battle prowess of $n and $g his:her; allies! Witness the might of the Alliance! A pit lord commander is destroyed!', 14, 7, 100, 22, 0, 0, 20754, 2, 'Force Commander Danath Trollbane to Player'),
(16819, 2, 0, 'Hear me brothers and sisters-in-arms! The time of our enemies is at an end! We must strike at the fel orcs that remain! Exterminate them like the vermin that they are! Carry with you the favor of the Sons of Lothar!', 14, 7, 100, 22, 0, 0, 20754, 2, 'Force Commander Danath Trollbane to Player');
UPDATE `creature_template` SET `unit_flags`=768, `InhabitType`=4 WHERE `entry`=23054;
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN(3230,23054);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN(3230,23054) AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid` =1848100 AND `source_type`=9;
DELETE FROM `smart_scripts` WHERE `entryorguid` =16819 AND `source_type`=0 AND `id`>1;
DELETE FROM `smart_scripts` WHERE `entryorguid` =18481 AND `source_type`=0 AND `id`>2;
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
(3230, 0, 0, 1, 20, 0, 100, 0, 11003, 0, 0, 0, 5, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Nazgrel - On Quest Reward 11003 - Play emote OneShotRoar (15)'),
(3230, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 7000, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Nazgrel - On Quest Reward 11003 - Say Line 0'),
(3230, 0, 2, 0, 52, 0, 100, 0, 0, 3230, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Nazgrel - On Text Over Line 0 - Say Line 1'),
(16819, 0, 2, 0, 20, 0, 100, 0, 11002, 0, 0, 0, 1, 1, 7000, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Force Commander Danath Trollbane - On Quest Reward 11002 - Say Line 1'),
(16819, 0, 3, 0, 52, 0, 100, 0, 1, 16819, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Force Commander Danath Trollbane - On Text Over Line 1 - Say Line 2'),
(23054, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 11, 39966, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Kael''thas Sunstrider - On On Just Summoned - Cast Kael thas Defeated'),
(18481, 0, 3, 4, 20, 0, 100, 0, 11007, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'A Dal - On Quest Reward 11007 - Store Targetlist'),
(18481, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 1848100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'A Dal - On Quest Reward 11007 - Run Script'),
(1848100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 0'), -- 13:50:41.485
(1848100, 9, 1, 0, 0, 0, 100, 0, 4500, 4500, 0, 0, 1, 1, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 1'), -- 13:50:45.907
(1848100, 9, 2, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 2'), -- 13:50:49.532
(1848100, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 3'), -- 13:50:54.407
(1848100, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 12, 23054, 1, 50000, 0, 0, 0, 8, 0, 0, 0, -1884.322, 5420.598, -8.42119, 0.4886922, 'A Dal - Script - Summon Kael''thas Sunstrider'), -- 13:50:55.625
(1848100, 9, 5, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 50, 185170, 300, 0, 0, 0, 0, 8, 0, 0, 0, -1891.344, 5417.036, -5.539243, 0.9781476, 'A Dal - Script - The Mark of Kael''Thas'), -- 13:50:59.922
(1848100, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 0 on Kael''thas Sunstrider'), -- 13:51:00.422
(1848100, 9, 7, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 1 on Kael''thas Sunstrider'), -- 13:51:11.360
(1848100, 9, 8, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 2 on Kael''thas Sunstrider'), -- 13:51:22.297
(1848100, 9, 9, 0, 0, 0, 100, 0, 11000, 11000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, 23054, 0, 0, 0, 0, 0, 0, 'A Dal - Script - Say Line 2 on Kael''thas Sunstrider'); -- 13:51:33.219
+657
View File
@@ -0,0 +1,657 @@
-- Dragonsoul
SET @CGUID := 370492;
DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+275;
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
(@CGUID+0, 32638, 1, 1, 1, -8280.75, -4521.05, -219.09, 3.630285, 120, 0, 0), -- 32638 (Area: -1) (Auras: 61424 - 61424)
(@CGUID+1, 32639, 1, 1, 1, -8280.75, -4521.05, -219.09, 3.630285, 120, 0, 0), -- 32639 (Area: -1) (Auras: 61424 - 61424)
(@CGUID+2, 53488, 967, 3, 1, -2310.071, -2419.728, 83.88827, 0, 7200, 0, 0), -- 53488 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+3, 53488, 967, 3, 1, -2283.925, -2408.394, 82.84689, 0, 7200, 0, 0), -- 53488 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+4, 53488, 967, 3, 1, -2276.066, -2375.111, 84.80681, 0, 7200, 0, 0), -- 53488 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+5, 53488, 967, 3, 1, -2304.014, -2387.505, 84.37089, 0, 7200, 0, 0), -- 53488 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+6, 53488, 967, 3, 1, -2296.568, -2357.399, 83.09443, 0, 7200, 0, 0), -- 53488 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+7, 57158, 967, 3, 1, -2047.477, -2355.12, 72.04578, 2.443461, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+8, 57160, 967, 3, 1, -2072.759, -2330.238, 76.61806, 5.637414, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+9, 57158, 967, 3, 1, -2128.774, -2578.655, 79.92263, 3.089233, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+10, 57231, 967, 3, 1, -2147.179, -2579.137, 77.44179, 1.204277, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+11, 57158, 967, 3, 1, -2227.972, -2557.91, 71.84028, 1.884956, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+12, 57280, 967, 3, 1, -2224.389, -2537.384, 71.16493, 3.595378, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+13, 57160, 967, 3, 1, -2164.717, -2580.005, 75.87914, 6.230825, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+14, 57158, 967, 3, 1, -2158.244, -2519.952, 76.08241, 2.034859, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+15, 57160, 967, 3, 1, -2242.788, -2525.587, 70.7333, 5.026548, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+16, 55967, 967, 3, 1, -2080.568, -2406.094, 190.7284, 0, 7200, 0, 0), -- 55967 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+17, 57160, 967, 3, 1, -2161.173, -2492.578, 76.19443, 1.653297, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+18, 57159, 967, 3, 1, -2105.069, -2417.102, 74.34335, 2.846395, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+19, 57280, 967, 3, 1, -2146.526, -2591.847, 76.68642, 1.64061, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+20, 57158, 967, 3, 1, -2205.884, -2491.703, 76.63906, 1.884956, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+21, 57280, 967, 3, 1, -2196.104, -2353.026, 81.35667, 0.8726646, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+22, 57158, 967, 3, 1, -2092.05, -2290.632, 81.5434, 0, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+23, 57280, 967, 3, 1, -2101.29, -2491.813, 75.91229, 5.270895, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+24, 57160, 967, 3, 1, -2220.7, -2459.38, 80.96702, 5.026548, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+25, 57158, 967, 3, 1, -2228.335, -2414.668, 85.42023, 3.159046, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+26, 57159, 967, 3, 1, -2118.191, -2354.066, 81.87196, 2.373648, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+27, 57280, 967, 3, 1, -2049.95, -2329.344, 72.61543, 3.944444, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+28, 57158, 967, 3, 1, -2053.474, -2387.783, 73.33734, 3.159046, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+29, 57231, 967, 3, 1, -2184.122, -2346.644, 80.65489, 0, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+30, 57158, 967, 3, 1, -2077.382, -2495.57, 75.14075, 3.769911, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+31, 57280, 967, 3, 1, -2223.601, -2479.854, 80.99306, 0.4363323, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+32, 57231, 967, 3, 1, -2213.205, -2475.738, 79.28278, 0, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+33, 57160, 967, 3, 1, -2055.273, -2406.622, 73.32864, 3.159046, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+34, 57158, 967, 3, 1, -2141.201, -2510.365, 77.59682, 2.092123, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+35, 57160, 967, 3, 1, -2107.681, -2514.012, 78.84937, 0.6806784, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+36, 57160, 967, 3, 1, -2092.184, -2306.976, 80.89896, 0, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+37, 57159, 967, 3, 1, -2121.974, -2342.314, 81.87196, 1.58825, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 107849 - 107849)
(@CGUID+38, 57160, 967, 3, 1, -2227.646, -2387.451, 85.46072, 3.141593, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+39, 57280, 967, 3, 1, -2176.241, -2337.587, 81.13699, 4.18879, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+40, 57159, 967, 3, 1, -2098.954, -2397.076, 73.4743, 2.88099, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+41, 57158, 967, 3, 1, -2174.726, -2359.95, 81.27364, 2.181662, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+42, 57280, 967, 3, 1, -2245.689, -2546.061, 70.68924, 0.4363323, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+43, 57280, 967, 3, 1, -2082.644, -2517.938, 77.65973, 2.443461, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+44, 57160, 967, 3, 1, -2193.101, -2334.842, 80.91397, 5.375614, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 51835 - 51835)
(@CGUID+45, 57159, 967, 3, 1, -2111.575, -2341.887, 81.88551, 3.420845, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+46, 57280, 967, 3, 1, -2071.469, -2352.097, 76.32558, 1.117011, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+47, 57231, 967, 3, 1, -2235.293, -2541.945, 71.06759, 0, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+48, 57158, 967, 3, 1, -2054.401, -2427.797, 73.37003, 3.106686, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+49, 57231, 967, 3, 1, -2062.342, -2343.122, 75.09549, 4.956735, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+50, 57280, 967, 3, 1, -2202.3, -2471.177, 78.47216, 3.595378, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+51, 57231, 967, 3, 1, -2092.646, -2507.054, 77.7093, 0, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+52, 57159, 967, 3, 1, -2130.095, -2347.995, 81.87196, 2.600541, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+53, 57158, 967, 3, 1, -2122.56, -2402.894, 77.60768, 3.149496, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+54, 57280, 967, 3, 1, -2147.915, -2565.728, 77.4483, 4.799655, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+55, 56144, 967, 3, 1, -2066.267, -2153.258, 214.8424, 1.594105, 7200, 0, 0), -- 56144 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+56, 57280, 967, 3, 1, -1963.688, -2497.095, 63.00636, 2.059489, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+57, 57632, 967, 3, 1, -2299.445, -2425.509, 83.87738, 0.541052, 7200, 0, 0), -- 57632 (Area: 5926)
(@CGUID+58, 57280, 967, 3, 1, -1949.986, -2536.637, 65.45307, 5.585053, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+59, 57280, 967, 3, 1, -1976.67, -2321.345, 64.24426, 0.8203048, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+60, 57231, 967, 3, 1, -1968.877, -2487.974, 63.67107, 0.3316126, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 108012 - 108012)
(@CGUID+61, 56144, 967, 3, 1, -2044.08, -2622.558, 199.0528, 0.5785699, 7200, 0, 0), -- 56144 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+62, 58287, 967, 3, 1, -2101.181, -2287.32, 306.91, 3.193953, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+63, 57280, 967, 3, 1, -1971.682, -2300.25, 64.70331, 4.485496, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+64, 58287, 967, 3, 1, -2071.896, -2219.932, 306.4081, 2.443461, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+65, 57158, 967, 3, 1, -2005.574, -2281.198, 71.12967, 4.645951, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+66, 57158, 967, 3, 1, -2044.569, -2565.532, 76.85681, 0.5560029, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+67, 57160, 967, 3, 1, -2068.183, -2576.977, 81.01588, 3.206083, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+68, 56143, 967, 3, 1, -2073.82, -2535.823, 233.1788, 0.2669819, 7200, 0, 0), -- 56143 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+69, 57231, 967, 3, 1, -1971.2, -2310.622, 64.17452, 6.038839, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 108012 - 108012)
(@CGUID+70, 58287, 967, 3, 1, -2063.184, -2202.507, 321.0296, 1.884956, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+71, 55265, 967, 3, 1, -1981.033, -2409.299, 69.13634, 0, 7200, 0, 0), -- 55265 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+72, 57280, 967, 3, 1, -1974.807, -2478.873, 64.56046, 5.113815, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+73, 57280, 967, 3, 1, -1976.156, -2492.524, 64.12268, 0.4537856, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+74, 55476, 967, 3, 1, -2300.122, -2420.988, 83.90479, 6.091199, 7200, 0, 0), -- 55476 (Area: 5926)
(@CGUID+75, 57632, 967, 3, 1, -2297.564, -2417.405, 83.84399, 5.096361, 7200, 0, 0), -- 57632 (Area: 5926)
(@CGUID+76, 57280, 967, 3, 1, -1982.642, -2310.066, 65.75681, 6.038839, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+77, 58287, 967, 3, 1, -2048.936, -2309.91, 306.3741, 5.358161, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+78, 57160, 967, 3, 1, -2023.152, -2551.622, 72.21792, 2.503237, 7200, 0, 0), -- 57160 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+79, 57158, 967, 3, 1, -2043.293, -2585.29, 75.11627, 5.602904, 7200, 0, 0), -- 57158 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+80, 57280, 967, 3, 1, -1932.75, -2549.851, 62.53437, 2.408554, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+81, 56144, 967, 3, 1, -1931.366, -2583.687, 188.4668, 0.7387139, 7200, 0, 0), -- 56144 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+82, 55911, 967, 3, 1, -1798.742, -2318.787, 123.7963, 1.832908, 7200, 0, 0), -- 55911 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+83, 55913, 967, 3, 1, -1812.919, -2312.316, 188.8723, 1.556237, 7200, 0, 0), -- 55913 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+84, 56143, 967, 3, 1, -1950.03, -2700.007, 238.783, 0.9599311, 7200, 0, 0), -- 56143 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+85, 56142, 967, 3, 1, -1838.014, -2340.978, 119.7907, 2.286381, 7200, 0, 0), -- 56142 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+86, 56139, 967, 3, 1, -1849.939, -2448.458, 190.1557, 3.298672, 7200, 5, 1), -- 56139 (Area: 5926) (Auras: 107576 - 107576) (possible waypoints or random movement)
(@CGUID+87, 55967, 967, 3, 1, -1997.07, -2073.78, 131.8435, 5.188776, 7200, 0, 0), -- 55967 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+88, 56141, 967, 3, 1, -1861.82, -2348.892, 187.6788, 1.922883, 7200, 0, 0), -- 56141 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+89, 58287, 967, 3, 1, -2011.045, -2223.599, 322.2277, 0.3839724, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+90, 57380, 967, 3, 1, -2305.38, -2447.533, 82.64851, 6.091199, 7200, 0, 0), -- 57380 (Area: 5926)
(@CGUID+91, 56126, 967, 3, 1, -1868.342, -2428.837, 140.506, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+92, 57231, 967, 3, 1, -1941.608, -2542.945, 64.03741, 0.8726646, 7200, 0, 0), -- 57231 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 108012 - 108012)
(@CGUID+93, 58287, 967, 3, 1, -2011.045, -2223.599, 322.2277, 0.3839724, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+94, 55911, 967, 3, 1, -1921.987, -2412.215, 216.7802, 4.787648, 7200, 0, 0), -- 55911 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+95, 56126, 967, 3, 1, -1861.806, -2406.896, 142.922, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+96, 57280, 967, 3, 1, -1945.977, -2549.057, 64.90112, 0.8726646, 7200, 0, 0), -- 57280 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+97, 56141, 967, 3, 1, -1840.68, -2471.844, 120.3227, 3.961897, 7200, 0, 0), -- 56141 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+98, 58287, 967, 3, 1, -2018.957, -2242.233, 306.1033, 0.03490658, 7200, 0, 0), -- 58287 (Area: 5926)
(@CGUID+99, 56126, 967, 3, 1, -1874.595, -2366.163, 127.1981, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+100, 55969, 967, 3, 1, -1989.598, -2630.424, 204.5508, 0.8758104, 7200, 0, 0), -- 55969 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+101, 36737, 967, 3, 1, -1880.997, -2422.495, 52.31925, 3.193953, 7200, 0, 0), -- 36737 (Area: 5926)
(@CGUID+102, 56139, 967, 3, 1, -1859.611, -2435.494, 189.8945, 3.490573, 7200, 0, 0), -- 56139 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+103, 57398, 967, 3, 1, -2316.036, -2458.448, 81.49792, 0, 7200, 0, 0), -- 57398 (Area: 5926)
(@CGUID+104, 56141, 967, 3, 1, -1863.388, -2352.084, 187.6686, 2.747959, 7200, 0, 0), -- 56141 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+105, 56142, 967, 3, 1, -1714.182, -2441.938, 187.6727, 4.777118, 7200, 0, 0), -- 56142 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+106, 56126, 967, 3, 1, -1729.799, -2331.609, 140.5968, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+107, 56126, 967, 3, 1, -1714.934, -2413.399, 141.4934, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+108, 55914, 967, 3, 1, -1776.199, -2472.937, 117.441, 5.128334, 7200, 0, 0), -- 55914 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+109, 55967, 967, 3, 1, -1874.006, -2692.189, 232.1979, 1.325271, 7200, 0, 0), -- 55967 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+110, 56140, 967, 3, 1, -1706.517, -2333.901, 187.7277, 0.2269687, 7200, 5, 1), -- 56140 (Area: 5926) (Auras: 107576 - 107576) (possible waypoints or random movement)
(@CGUID+111, 56143, 967, 3, 1, -1922.551, -2030.99, 144.8825, 3.649825, 7200, 0, 0), -- 56143 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+112, 56142, 967, 3, 1, -1695.743, -2417.997, 187.6598, 0.01794707, 7200, 5, 1), -- 56142 (Area: 5926) (Auras: 107576 - 107576) (possible waypoints or random movement)
(@CGUID+113, 56126, 967, 3, 1, -1783.604, -2477.932, 175.1142, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+114, 55971, 967, 3, 1, -1383.741, -2412.692, 201.4203, 1.487826, 7200, 0, 0), -- 55971 (Area: 5926) (Auras: )
(@CGUID+115, 56126, 967, 3, 1, -1795.658, -2309.014, 175.0884, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+116, 55912, 967, 3, 1, -1757.719, -2472.288, 198.2249, 4.223697, 7200, 0, 0), -- 55912 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+117, 55969, 967, 3, 1, -1792.33, -2087.954, 158.27, 4.674047, 7200, 0, 0), -- 55969 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+118, 56126, 967, 3, 1, -1815.5, -2408.23, 343.8793, 0.4712389, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+119, 56139, 967, 3, 1, -1730.798, -2317.636, 121.6698, 0.7155855, 7200, 5, 1), -- 56139 (Area: 5926) (Auras: 107576 - 107576) (possible waypoints or random movement)
(@CGUID+120, 55967, 967, 3, 1, -1763.273, -2632.127, 166.9522, 1.744421, 7200, 0, 0), -- 55967 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+121, 56140, 967, 3, 1, -1720.001, -2462.555, 121.9963, 5.427974, 7200, 5, 1), -- 56140 (Area: 5926) (Auras: 107576 - 107576) (possible waypoints or random movement)
(@CGUID+122, 56126, 967, 3, 1, -1711.722, -2385.538, 144.1141, 0, 7200, 0, 0), -- 56126 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+123, 55912, 967, 3, 1, -1793.795, -2248.608, 187.6959, 1.862953, 7200, 0, 0), -- 55912 (Area: 5926) (Auras: 107576 - 107576)
(@CGUID+124, 56143, 967, 3, 1, -1926.184, -2031.669, 145.1271, 4.956856, 7200, 0, 0), -- 56143 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+125, 57348, 967, 3, 1, -2290.51, -2367.97, 83.66555, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+126, 57348, 967, 3, 1, -2301.561, -2414.328, 83.96797, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+127, 57334, 967, 3, 1, -2291.253, -2371.38, 83.8901, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+128, 57348, 967, 3, 1, -2297.946, -2366.771, 83.5505, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+129, 57334, 967, 3, 1, -2302.771, -2418.724, 83.88754, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+130, 57348, 967, 3, 1, -2308.182, -2412.924, 83.85278, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+131, 57348, 967, 3, 1, -2294.802, -2370.807, 83.80565, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+132, 57348, 967, 3, 1, -2306.054, -2417.875, 83.87161, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+133, 57334, 967, 3, 1, -2298.405, -2370.26, 83.75342, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+134, 57334, 967, 3, 1, -2309.089, -2417.193, 83.94627, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+135, 57334, 967, 3, 1, -2294.144, -2367.378, 83.60132, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+136, 57334, 967, 3, 1, -2305.002, -2413.45, 83.95477, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+137, 57348, 967, 3, 1, -2289.052, -2361.061, 83.18519, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+138, 57334, 967, 3, 1, -2289.733, -2364.556, 83.42157, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+139, 57348, 967, 3, 1, -2293.34, -2363.931, 83.35512, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+140, 57348, 967, 3, 1, -2303.67, -2422.486, 83.83498, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+141, 57334, 967, 3, 1, -2311.118, -2439.582, 82.60764, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+142, 57334, 967, 3, 1, -2292.67, -2360.484, 83.10131, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+143, 57334, 967, 3, 1, -2304.556, -2426.267, 83.73474, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+144, 57348, 967, 3, 1, -2310.021, -2421.113, 84.10983, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+145, 57348, 967, 3, 1, -2296.316, -2359.668, 83.03961, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+146, 57348, 967, 3, 1, -2307.859, -2425.273, 83.73846, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+147, 57334, 967, 3, 1, -2310.634, -2424.674, 83.89758, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+148, 57334, 967, 3, 1, -2297.127, -2363.186, 83.29938, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+149, 57334, 967, 3, 1, -2307.03, -2421.792, 83.87274, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+150, 57334, 967, 3, 1, -2310.672, -2452.399, 82.01215, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+151, 57348, 967, 3, 1, -2314.299, -2439.056, 82.53125, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+152, 57334, 967, 3, 1, -2313.146, -2447.924, 81.83855, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+153, 57348, 967, 3, 1, -2309.786, -2448.618, 82.24306, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+154, 57334, 967, 3, 1, -2308.887, -2444.856, 82.40625, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+155, 57348, 967, 3, 1, -2316.137, -2447.245, 81.68349, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+156, 57348, 967, 3, 1, -2313.976, -2451.405, 81.60097, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+157, 57334, 967, 3, 1, -2315.205, -2443.325, 82.0816, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+158, 57348, 967, 3, 1, -2307.677, -2440.46, 82.69098, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+159, 57334, 967, 3, 1, -2316.66, -2450.861, 81.41796, 6.143559, 7200, 0, 0), -- 57334 (Area: 5926)
(@CGUID+160, 57348, 967, 3, 1, -2312.17, -2444.007, 82.17709, 6.143559, 7200, 0, 0), -- 57348 (Area: 5926)
(@CGUID+161, 57380, 967, 3, 1, -2287.24, -2366.741, 83.60007, 6.091199, 7200, 0, 0), -- 57380 (Area: 5926)
(@CGUID+162, 57398, 967, 3, 1, -2290.903, -2351.738, 82.60785, 0, 7200, 0, 0), -- 57398 (Area: 5926)
(@CGUID+163, 57159, 967, 3, 1, -2043.863, -2543.309, 76.28757, 2.278787, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+164, 57159, 967, 3, 1, -2016.007, -2280.177, 73.1441, 3.728984, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+165, 57159, 967, 3, 1, -2030.591, -2533.772, 73.86372, 2.014197, 7200, 0, 0), -- 57159 (Area: 5926) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+166, 57159, 967, 3, 1, -1991.306, -2275.176, 70.07791, 4.679572, 7200, 0, 0), -- 57159 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257, 107849 - 107849)
(@CGUID+167, 57280, 967, 3, 1, -1905.043, -2238.856, 59.0304, 4.537856, 7200, 0, 0), -- 57280 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+168, 57261, 967, 3, 1, -1884.422, -2388.603, 52.3401, 2.052736, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+169, 57280, 967, 3, 1, -1915.648, -2258.589, 58.14236, 0.9424778, 7200, 0, 0), -- 57280 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+170, 57261, 967, 3, 1, -1882.141, -2373.205, 52.31054, 2.196423, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+171, 57261, 967, 3, 1, -1868.976, -2360.278, 52.31054, 2.582198, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+172, 57280, 967, 3, 1, -1917.571, -2244.714, 60.24479, 5.707227, 7200, 0, 0), -- 57280 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257)
(@CGUID+173, 57231, 967, 3, 1, -1909.446, -2249.814, 58.8439, 5.585053, 7200, 0, 0), -- 57231 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257, 108012 - 108012)
(@CGUID+174, 57261, 967, 3, 1, -1858.274, -2351.559, 51.98782, 1.470113, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+175, 57261, 967, 3, 1, -1866.564, -2445.378, 52.31054, 3.380869, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+176, 57261, 967, 3, 1, -1862.063, -2358.637, 52.24014, 1.340273, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+177, 57261, 967, 3, 1, -1850.009, -2340.253, 51.86509, 2.536327, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+178, 57261, 967, 3, 1, -1854.03, -2345.915, 51.86068, 1.822193, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+179, 57261, 967, 3, 1, -1823.299, -2309.767, 52.24716, 2.499671, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+180, 57261, 967, 3, 1, -1828.944, -2321.918, 51.96895, 2.285294, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+181, 57261, 967, 3, 1, -1844.328, -2452.847, 51.86209, 3.855496, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+182, 57261, 967, 3, 1, -1833.59, -2325.228, 51.85423, 2.192624, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+183, 57261, 967, 3, 1, -1839.226, -2329.535, 51.86015, 3.519087, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+184, 57261, 967, 3, 1, -1838.005, -2458.363, 51.86341, 2.670354, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+185, 57261, 967, 3, 1, -1844.627, -2334.896, 51.8536, 3.759782, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+186, 57261, 967, 3, 1, -1849.24, -2446.267, 52.05734, 3.116311, 7200, 0, 0), -- 57261 (Area: 5923)
(@CGUID+187, 57261, 967, 3, 1, -1831.054, -2464.222, 51.86736, 2.670354, 7200, 0, 0), -- 57261 (Area: 5926)
(@CGUID+188, 55969, 967, 3, 1, -1610.285, -2281.958, 164.666, 3.510178, 7200, 0, 0), -- 55969 (Area: 5926) (Auras: 107577 - 107577)
(@CGUID+189, 57261, 967, 3, 1, -1815.585, -2472.729, 51.92205, 2.670354, 7200, 0, 0), -- 57261 (Area: 5926)
(@CGUID+190, 57261, 967, 3, 1, -1823.319, -2467.661, 51.85656, 2.670354, 7200, 0, 0), -- 57261 (Area: 5926)
(@CGUID+191, 57261, 967, 3, 1, -1806.71, -2486.097, 52.28352, 2.670354, 7200, 0, 0), -- 57261 (Area: 5926)
(@CGUID+192, 57261, 967, 3, 1, -1807.714, -2474.998, 52.19959, 2.670354, 7200, 0, 0), -- 57261 (Area: 5926)
(@CGUID+193, 56143, 967, 3, 1, -1619.984, -2646.849, 163.2995, 2.044982, 7200, 0, 0), -- 56143 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+194, 27953, 967, 3, 1, -1891.095, -2392.642, 52.32187, 3.909538, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+195, 27953, 967, 3, 1, -1889.663, -2422.047, 52.31055, 3.141593, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+196, 27953, 967, 3, 1, -1880.891, -2351.523, 52.31054, 2.391101, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+197, 55967, 967, 3, 1, -1622.286, -2626.435, 158.6654, 4.732791, 7200, 0, 0), -- 55967 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+198, 56143, 967, 3, 1, -1621.097, -2647.279, 163.0933, 1.768175, 7200, 0, 0), -- 56143 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+199, 27953, 967, 3, 1, -1880.962, -2443.469, 52.31054, 4.153883, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+200, 56144, 967, 3, 1, -1625.824, -2264.242, 187.3111, 5.195879, 7200, 0, 0), -- 56144 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+201, 27953, 967, 3, 1, -1893.394, -2379.517, 52.31055, 2.70526, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+202, 27953, 967, 3, 1, -1837.885, -2407.79, 52.32076, 3.089233, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+203, 27953, 967, 3, 1, -1846.689, -2390.531, 52.3147, 4.258604, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+204, 55969, 967, 3, 1, -1552.491, -2379.942, 180.1804, 3.130443, 7200, 0, 0), -- 55969 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+205, 55913, 967, 3, 1, -1567.49, -2379.775, 180.1804, 6.272036, 7200, 0, 0), -- 55913 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+206, 55969, 967, 3, 1, -1649.398, -2082.927, 232.8607, 4.18879, 7200, 0, 0), -- 55969 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+207, 57882, 967, 3, 1, -1817.639, -2383.533, 343.8793, 5.934119, 7200, 0, 0), -- 57882 (Area: 5923) (Auras: 108227 - 108227, 108203 - 108203)
(@CGUID+208, 27938, 967, 3, 1, -1805.276, -2421.168, 47.3713, 0.9773844, 7200, 0, 0), -- 27938 (Area: 5923)
(@CGUID+209, 53488, 967, 3, 1, -1785.462, -2413.311, 45.73311, 0, 7200, 0, 0), -- 53488 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+210, 58287, 967, 3, 1, -1555.024, -2580.604, 345.9149, 3.036873, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+211, 27953, 967, 3, 1, -1806.309, -2502.469, 52.31054, 4.328416, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+212, 53488, 967, 3, 1, -1788.354, -2371.009, 45.74213, 0, 7200, 0, 0), -- 53488 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+213, 27943, 967, 3, 1, -1810.125, -2369.478, 47.37123, 5.480334, 7200, 0, 0), -- 27943 (Area: 5923)
(@CGUID+214, 53488, 967, 3, 1, -1807.533, -2393.743, 45.73864, 0, 7200, 0, 0), -- 53488 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+215, 57682, 967, 3, 1, -1786.389, -2393.533, 45.66348, 3.141593, 7200, 0, 0), -- 57682 (Area: 5923)
(@CGUID+216, 56144, 967, 3, 1, -1528.992, -2203.285, 149.7876, 3.955025, 7200, 0, 0), -- 56144 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+217, 27953, 967, 3, 1, -1818.835, -2291.908, 52.31055, 2.565634, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+218, 27953, 967, 3, 1, -1775.972, -2449.606, 52.44341, 4.660029, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+219, 58287, 967, 3, 1, -1548.033, -2564.188, 344.9106, 2.75762, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+220, 56140, 967, 3, 1, -1532.5, -2206.995, 151.2102, 0.8134355, 7200, 0, 0), -- 56140 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+221, 27940, 967, 3, 1, -1767.451, -2366.417, 47.3714, 4.08407, 7200, 0, 0), -- 27940 (Area: 5923)
(@CGUID+222, 58036, 967, 3, 1, -1767.306, -2383.359, 45.74186, 3.612832, 7200, 0, 0), -- 58036 (Area: 5923)
(@CGUID+223, 53488, 967, 3, 1, -1768.066, -2391.328, 45.73015, 0, 7200, 0, 0), -- 53488 (Area: 5923) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+224, 27953, 967, 3, 1, -1783.616, -2338.847, 52.3968, 2.094395, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+225, 27935, 967, 3, 1, -1762.002, -2413.701, 47.37174, 2.443461, 7200, 0, 0), -- 27935 (Area: 5923)
(@CGUID+226, 58287, 967, 3, 1, -1537.179, -2546.524, 344.3767, 2.408554, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+227, 58287, 967, 3, 1, -1530.438, -2538.389, 344.8503, 2.391101, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+228, 27953, 967, 3, 1, -1755.615, -2384.059, 47.37125, 0.541052, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+229, 27953, 967, 3, 1, -1798.531, -2324.906, 52.31055, 4.817109, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+230, 56139, 967, 3, 1, -1852.09, -2433.58, 190.1629, 3.368485, 7200, 0, 0), -- 56139 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+231, 27953, 967, 3, 1, -1735.524, -2380.203, 52.32118, 5.864306, 7200, 0, 0), -- 27953 (Area: 5926) (Auras: 58951 - 58951)
(@CGUID+232, 56144, 967, 3, 1, -1580.645, -2066.717, 215.8195, 0.3442454, 7200, 5, 1), -- 56144 (Area: 5926) (Auras: 107577 - 107577) (possible waypoints or random movement)
(@CGUID+233, 27953, 967, 3, 1, -1748.877, -2308.608, 52.02015, 0.9773844, 7200, 0, 0), -- 27953 (Area: 5926) (Auras: 58951 - 58951)
(@CGUID+234, 56143, 967, 3, 1, -1470.311, -2239.245, 211.5069, 3.932472, 7200, 5, 1), -- 56143 (Area: 5926) (Auras: 107577 - 107577) (possible waypoints or random movement)
(@CGUID+235, 27953, 967, 3, 1, -1703.51, -2383.481, 52.31845, 3.612832, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+236, 56139, 967, 3, 1, -1745.998, -2330.849, 121.6698, 0.715585, 7200, 0, 0), -- 56139 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+237, 56140, 967, 3, 1, -1733.188, -2447.385, 121.9963, 5.427974, 7200, 0, 0), -- 56140 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+238, 27953, 967, 3, 1, -1707.036, -2456.002, 52.11411, 4.468043, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+239, 58287, 967, 3, 1, -1465.543, -2579.642, 344.6656, 5.864306, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+240, 58287, 967, 3, 1, -1481.778, -2606.28, 344.2422, 5.497787, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+241, 58287, 967, 3, 1, -1493.465, -2619.611, 345.2959, 5.235988, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+242, 58287, 967, 3, 1, -1470.151, -2589.323, 344.2266, 5.864306, 7200, 0, 0), -- 58287 (Area: 5923)
(@CGUID+243, 56143, 967, 3, 1, -1412.944, -2509.139, 220.7589, 5.870531, 7200, 0, 0), -- 56143 (Area: 5923) (Auras: 107577 - 107577)
(@CGUID+244, 27953, 967, 3, 1, -1667.727, -2396.764, 52.31055, 2.234021, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+245, 56140, 967, 3, 1, -1726.137, -2338.432, 187.6788, 0.6988485, 7200, 0, 0), -- 56140 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+246, 56142, 967, 3, 1, -1838.014, -2340.978, 119.7907, 2.286381, 7200, 0, 0), -- 56142 (Area: 5923) (Auras: 107576 - 107576)
(@CGUID+247, 27953, 967, 3, 1, -1661.745, -2363.378, 52.31053, 5.864306, 7200, 0, 0), -- 27953 (Area: 5923) (Auras: 58951 - 58951)
(@CGUID+248, 53488, 967, 3, 1, -1801.804, -2395.571, 341.4378, 0, 7200, 0, 0), -- 53488 (Area: 0) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+249, 56630, 967, 3, 1, -1782.686, -2400.441, 341.4378, 2.146755, 7200, 0, 0), -- 56630 (Area: 0)
(@CGUID+250, 45979, 967, 3, 1, -1766.875, -2391.483, 341.4378, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+251, 45979, 967, 3, 1, -1767.998, -2369.535, 341.8531, 0, 7200, 5, 1), -- 45979 (Area: 0) (possible waypoints or random movement)
(@CGUID+252, 56668, 967, 3, 1, -1786.717, -2393.231, 343.6025, 0.1745329, 7200, 0, 0), -- 56668 (Area: 0) (Auras: 108544 - 108544)
(@CGUID+253, 45979, 967, 3, 1, -1757.896, -2379.458, 340.8946, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+254, 56665, 967, 3, 1, -1779.828, -2392.604, 341.4378, 3.211406, 7200, 0, 0), -- 56665 (Area: 0)
(@CGUID+255, 56664, 967, 3, 1, -1792.264, -2399.795, 341.4378, 0.8552113, 7200, 0, 0), -- 56664 (Area: 0)
(@CGUID+256, 56667, 967, 3, 1, -1793.587, -2388.05, 341.4378, 5.585053, 7200, 0, 0), -- 56667 (Area: 0)
(@CGUID+257, 56666, 967, 3, 1, -1784.79, -2384.856, 341.4378, 4.433136, 7200, 0, 0), -- 56666 (Area: 0)
(@CGUID+258, 45979, 967, 3, 1, -1766.497, -2401.847, 341.6825, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+259, 45979, 967, 3, 1, -1756.075, -2400.467, 340.8923, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+260, 53488, 967, 3, 1, -1788.946, -2375.142, 341.4378, 0, 7200, 0, 0), -- 53488 (Area: 0) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+261, 53488, 967, 3, 1, -1773.3, -2393.479, 341.4378, 0, 7200, 0, 0), -- 53488 (Area: 0) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+262, 45979, 967, 3, 1, -1768.536, -2381.059, 341.6825, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+263, 53488, 967, 3, 1, -1785.153, -2411.146, 341.4378, 0, 7200, 0, 0), -- 53488 (Area: 0) (Auras: 109247 - 109247, 109257 - 109257, 99201 - 99201)
(@CGUID+264, 45979, 967, 3, 1, -1756.786, -2390.078, 341.0033, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+265, 45979, 967, 3, 1, -1753.205, -2410.392, 340.9058, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+266, 45979, 967, 3, 1, -1733.524, -2387.752, 340.9352, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+267, 45979, 967, 3, 1, -1736.804, -2398.005, 340.9349, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+268, 45979, 967, 3, 1, -1739.314, -2377.361, 340.936, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+269, 45979, 967, 3, 1, -1747.924, -2372.128, 340.9361, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+270, 45979, 967, 3, 1, -1757.722, -2369.385, 340.9121, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+271, 45979, 967, 3, 1, -1746.642, -2394.34, 340.9193, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+272, 45979, 967, 3, 1, -1743.788, -2405.528, 340.9316, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+273, 45979, 967, 3, 1, -1746.658, -2382.299, 340.9195, 0.9610723, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+274, 45979, 967, 3, 1, -1761.833, -2414.083, 344.4462, 0, 7200, 0, 0), -- 45979 (Area: 0)
(@CGUID+275, 55969, 967, 3, 1, -1792.188, -2084.236, 158.1033, 4.674117, 7200, 0, 0); -- 55969 (Area: 5923) (Auras: 107577 - 107577)
SET @OGUID := 224760;
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+4;
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
(@OGUID+0, 214611, 967, 3, 1, -2313.861, -2387.189, 83.48397, 6.113007, 0, 0, 0, 1, 7200, 255, 1), -- 214611 (Area: 5926)
(@OGUID+1, 210061, 967, 3, 1, -2059.583, -2263.646, 303.0815, 4.302239, 2.073922E-43, 0, 0, 0, 7200, 255, 1), -- 210061 (Area: 5926)
(@OGUID+2, 190352, 967, 3, 1, -1542.736, -3357.043, 223.0954, 5.916668, 0, 0, -0.1822356, 0.9832549, 7200, 255, 0), -- 190352 (Area: 5926)
(@OGUID+3, 210211, 967, 3, 1, -1500.045, -2562.457, 343.2026, 1.003564, 2.059909E-43, 0, 0, 0, 7200, 255, 1), -- 210211 (Area: 5926)
(@OGUID+4, 210210, 967, 3, 1, -1700.04, -2370.623, 319.2935, 1.631882, 2.059909E-43, 0, 0, 0, 7200, 255, 1); -- 210210 (Area: 5926)
DELETE FROM `creature_template_addon` WHERE `entry` IN (32638, 32639, 53488, 57158, 57160, 57231, 57280, 55967, 57159, 56144, 57632, 58287, 56143, 55265, 55476, 55911, 55913, 56142, 56139, 56141, 57380, 56126, 55969, 36737, 57398, 55914, 56140, 55971, 55912, 57348, 57334, 57261, 27953, 57882, 27938, 27943, 57682, 27940, 58036, 27935, 56630, 45979, 56668, 56665, 56664, 56667, 56666);
INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES
(32638, 0, 0x0, 0x1, '61424'), -- 32638 - 61424
(32639, 0, 0x0, 0x1, '61424'), -- 32639 - 61424
(53488, 0, 0x0, 0x1, '109247 109257 99201'), -- 53488 - 109247, 109257, 99201
(57158, 0, 0x0, 0x1, '109247 109257 51835'), -- 57158 - 109247, 109257, 51835
(57160, 0, 0x0, 0x1, '109247 109257 51835'), -- 57160 - 109247, 109257, 51835
(57231, 0, 0x3000000, 0x1, '109247 109257'), -- 57231 - 109247, 109257
(57280, 0, 0x0, 0x1, '109247 109257'), -- 57280 - 109247, 109257
(55967, 0, 0x3000000, 0x1, '107577'), -- 55967 - 107577
(57159, 0, 0x0, 0x1, '109247 109257 107849'), -- 57159 - 109247, 109257, 107849
(56144, 0, 0x3000000, 0x1, '107577'), -- 56144 - 107577
(57632, 0, 0x0, 0x1, ''), -- 57632
(58287, 0, 0x3000000, 0x1, ''), -- 58287
(56143, 0, 0x3000000, 0x1, '107577'), -- 56143 - 107577
(55265, 0, 0x0, 0x1, '109247 109257'), -- 55265 - 109247, 109257
(55476, 0, 0x0, 0x1, ''), -- 55476
(55911, 0, 0x3000000, 0x1, '107576'), -- 55911 - 107576
(55913, 0, 0x3000000, 0x1, '107576'), -- 55913 - 107576
(56142, 0, 0x3000000, 0x1, '107576'), -- 56142 - 107576
(56139, 0, 0x3000000, 0x1, '107576'), -- 56139 - 107576
(56141, 0, 0x3000000, 0x1, '107576'), -- 56141 - 107576
(57380, 0, 0x0, 0x1, ''), -- 57380
(56126, 0, 0x3000000, 0x1, '109247 109257'), -- 56126 - 109247, 109257
(55969, 0, 0x3000000, 0x1, '107577'), -- 55969 - 107577
(36737, 0, 0x0, 0x1, ''), -- 36737
(57398, 0, 0x0, 0x1, ''), -- 57398
(55914, 0, 0x3000000, 0x1, '107576'), -- 55914 - 107576
(56140, 0, 0x3000000, 0x1, '107576'), -- 56140 - 107576
(55971, 0, 0x3000000, 0x1, ''), -- 55971
(55912, 0, 0x3000000, 0x1, '107576'), -- 55912 - 107576
(57348, 0, 0x0, 0x1, ''), -- 57348
(57334, 0, 0x0, 0x1, ''), -- 57334
(57261, 0, 0x0, 0x1, ''), -- 57261
(27953, 0, 0x0, 0x1, '58951'), -- 27953 - 58951
(57882, 0, 0x0, 0x1, '108227 108203'), -- 57882 - 108227, 108203
(27938, 0, 0x7, 0x101, ''), -- 27938
(27943, 0, 0x7, 0x101, ''), -- 27943
(57682, 0, 0x7, 0x1, ''), -- 57682
(27940, 0, 0x7, 0x101, ''), -- 27940
(58036, 0, 0x7, 0x101, ''), -- 58036
(27935, 0, 0x7, 0x101, ''), -- 27935
(56630, 0, 0x0, 0x1, ''), -- 56630
(45979, 0, 0x0, 0x1, ''), -- 45979
(56668, 0, 0x3000000, 0x1, '108544'), -- 56668 - 108544
(56665, 0, 0x0, 0x1, ''), -- 56665
(56664, 0, 0x0, 0x1, ''), -- 56664
(56667, 0, 0x0, 0x1, ''), -- 56667
(56666, 0, 0x0, 0x1, ''); -- 56666
-- correction
DELETE FROM `creature` WHERE `id` IN (32639, 32639);
UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (56140,56139,56141,55912,55911,55967,56144,55969,56143);
UPDATE `creature_template` SET `flags_extra`=128 WHERE `entry`=58287;
-- paths and emotes
-- Pathing for Entry: 57158 'TDB FORMAT'
SET @NPC := 370545;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2109.353,`position_y`=-2403.057,`position_z`=76.37802 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-2109.353,-2403.057,76.37802,0,0,0,0,100,0),
(@PATH,2,-2159.487,-2402.811,80.65933,0,0,0,0,100,0),
(@PATH,3,-2179.776,-2401.626,82.17088,0,0,0,0,100,0),
(@PATH,4,-2158.792,-2402.669,81.1102,0,0,0,0,100,0),
(@PATH,5,-2104.909,-2403.069,74.95848,0,0,0,0,100,0);
DELETE FROM `creature_formations` WHERE `leaderGUID`=370545;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(370545, 370545, 0, 0, 2, 0, 0),
(370545, 370510, 11, 90, 2, 0, 0),
(370545, 370532, 11, 270, 0, 0, 0);
-- Pathing for Entry: 57160 'TDB FORMAT'
SET @NPC := 370509;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2158.407,`position_y`=-2503.656,`position_z`=76.39027 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-2158.407,-2503.656,76.39027,0,0,0,0,100,0),
(@PATH,2,-2162.795,-2471.412,76.93024,0,0,0,0,100,0),
(@PATH,3,-2169.045,-2451.662,78.68024,0,0,0,0,100,0),
(@PATH,4,-2163.267,-2469.951,76.98431,0,0,0,0,100,0),
(@PATH,5,-2157.228,-2508.54,76.80927,0,0,0,0,100,0);
DELETE FROM `creature_formations` WHERE `leaderGUID`=370509;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(370509, 370509, 0, 0, 2, 0, 0),
(370509, 370506, 11, 90, 2, 0, 0),
(370509, 370526, 11, 270, 0, 0, 0);
-- Pathing for Entry: 57160 'TDB FORMAT'
SET @NPC := 370570;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2023.289,`position_y`=-2551.195,`position_z`=72.36375 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-2023.289,-2551.195,72.36375,0,0,0,0,100,0),
(@PATH,2,-2011.289,-2560.195,69.61375,0,0,0,0,100,0),
(@PATH,3,-2032.591,-2544.259,74.78496,0,0,0,0,100,0),
(@PATH,4,-2041.395,-2531.702,75.01076,0,0,0,0,100,0),
(@PATH,5,-2044.395,-2514.202,72.01076,0,0,0,0,100,0),
(@PATH,6,-2041.338,-2531.981,75.06871,0,0,0,0,100,0),
(@PATH,7,-2032.591,-2544.259,74.78496,0,0,0,0,100,0);
DELETE FROM `creature_formations` WHERE `leaderGUID`=370570;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(370570, 370570, 0, 0, 2, 0, 0),
(370570, 370657, 11, 90, 2, 0, 0),
(370570, 370655, 11, 270, 0, 0, 0);
-- Pathing for Entry: 57160 'TDB FORMAT'
SET @NPC := 370559;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2060.022,`position_y`=-2574.286,`position_z`=79.11995 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-2060.022,-2574.286,79.11995,0,0,0,0,100,0),
(@PATH,2,-2067.522,-2575.786,81.11995,0,0,0,0,100,0),
(@PATH,3,-2077.235,-2579.704,83.24963,0,0,0,0,100,0),
(@PATH,4,-2068.775,-2575.896,81.44957,0,0,0,0,100,0),
(@PATH,5,-2058.275,-2573.896,78.94957,0,0,0,0,100,0);
DELETE FROM `creature_formations` WHERE `leaderGUID`=370559;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(370559, 370559, 0, 0, 2, 0, 0),
(370559, 370571, 11, 60, 2, 0, 0),
(370559, 370558, 11, 300, 0, 0, 0);
-- Pathing for Entry: 57158 'TDB FORMAT'
SET @NPC := 370557;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2006.322,`position_y`=-2290.907,`position_z`=70.92261 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-2006.322,-2290.907,70.92261,0,0,0,0,100,0),
(@PATH,2,-2011.822,-2292.907,71.17261,0,0,0,0,100,0),
(@PATH,3,-2006.288,-2290.875,70.89031,0,0,0,0,100,0),
(@PATH,4,-2004.912,-2265.89,74.11736,0,0,0,0,100,0);
DELETE FROM `creature_formations` WHERE `leaderGUID`=370557;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(370557, 370557, 0, 0, 2, 0, 0),
(370557, 370658, 11, 90, 2, 0, 0),
(370557, 370656, 11, 270, 0, 0, 0);
-- Pathing for Entry: 57158 'TDB FORMAT'
SET @NPC := 370514;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2109.938,`position_y`=-2299.641,`position_z`=81.16074 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-2109.938,-2299.641,81.16074,0,0,0,0,100,0),
(@PATH,6,-2129.284,-2300.282,79.21033,0,0,0,0,100,0),
(@PATH,7,-2145.034,-2298.532,78.46033,0,0,0,0,100,0),
(@PATH,11,-2154.784,-2297.282,79.71033,0,0,0,0,100,0),
(@PATH,15,-2145.496,-2298.506,78.63766,0,0,0,0,100,0),
(@PATH,17,-2130.729,-2300.134,78.98547,0,0,0,0,100,0);
DELETE FROM `creature_formations` WHERE `leaderGUID`=370514;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(370514, 370514, 0, 0, 2, 0, 0),
(370514, 370528, 15, 90, 2, 0, 0);
DELETE FROM `creature_addon` WHERE `guid` IN (370529, 370544);
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
(370529,0,0,0,1,36, '107849 109247 109257'),
(370544,0,0,0,1,36, '107849 109247 109257');
-- SAIs
-- Twilight Siege Captain SAI
SET @ENTRY := 57280;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,1,0,100,31,1000,1000,1000,1000,11,45846,2,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Siege Captain - Out of Combat - Cast 'Frost Channelling' (No Repeat) (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,2000,4500,14000,16000,11,108183,0,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Siege Captain - In Combat - Cast 'Twilight Submission' (Dungeon & Raid)"),
(@ENTRY,0,2,0,0,0,100,30,8000,9000,22000,27000,11,108172,0,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Siege Captain - In Combat - Cast 'Twilight Volley' (Dungeon & Raid)");
-- Flail of Go'rath SAI
SET @ENTRY := 57877;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,1,4,0,100,31,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Flail of Go'rath - On Aggro - Disable Combat Movement (No Repeat) (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,2000,4500,12000,13000,11,110102,0,0,0,0,0,2,0,0,0,0,0,0,0,"Flail of Go'rath - In Combat - Cast 'Sludge Spew' (Dungeon & Raid)"),
(@ENTRY,0,2,0,0,0,100,30,9000,9000,25000,27000,11,109199,0,0,0,0,0,1,0,0,0,0,0,0,0,"Flail of Go'rath - In Combat - Cast 'Wild Flail' (Dungeon & Raid)");
-- Faceless Corruptor SAI
SET @ENTRY := 57749;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,30,0,0,3400,4700,11,96516,64,0,0,0,0,2,0,0,0,0,0,0,0,"Faceless Corruptor - In Combat - Cast 'Shadow Bolt' (Dungeon & Raid)");
-- Eye of Go'rath SAI
SET @ENTRY := 57875;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,1,4,0,100,31,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Eye of Go'rath - On Aggro - Disable Combat Movement (No Repeat) (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,7000,9000,18000,20000,11,109391,0,0,0,0,0,4,0,0,0,0,0,0,0,"Eye of Go'rath - In Combat - Cast 'Shadow Gaze' (Dungeon & Raid)");
-- Claw of Go'rath SAI
SET @ENTRY := 55418;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,30,5000,7000,14000,18000,11,109396,0,0,0,0,0,4,0,0,0,0,0,0,0,"Claw of Go'rath - In Combat - Cast 'Ooze Spit' (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,4000,4000,18000,22000,11,104377,0,0,0,0,0,1,0,0,0,0,0,0,0,"Claw of Go'rath - In Combat - Cast 'Black Blood of Go'rath' (Dungeon & Raid)"),
(@ENTRY,0,2,1,4,0,100,31,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Claw of Go'rath - On Aggro - Disable Combat Movement (No Repeat) (Dungeon & Raid)");
-- Claw of Go'rath SAI
SET @ENTRY := 57890;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,30,5000,7000,14000,18000,11,109396,0,0,0,0,0,4,0,0,0,0,0,0,0,"Claw of Go'rath - In Combat - Cast 'Ooze Spit' (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,7000,10000,15000,30000,11,109197,0,0,0,0,0,2,0,0,0,0,0,0,0,"Claw of Go'rath - In Combat - Cast 'Tentacle Toss' (Dungeon & Raid)"),
(@ENTRY,0,2,1,4,0,100,31,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Claw of Go'rath - On Aggro - Disable Combat Movement (No Repeat) (Dungeon & Raid)");
-- Ancient Water Lord SAI
SET @ENTRY := 57160;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,30,4000,5500,13500,15500,11,107791,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ancient Water Lord - In Combat - Cast 'Flood' (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,7000,9000,25000,27000,11,107801,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ancient Water Lord - In Combat - Cast 'Drenched' (Dungeon & Raid)");
-- Earthen Destroyer SAI
SET @ENTRY := 57158;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,30,2000,4500,12000,15000,11,107597,0,0,0,0,0,4,0,0,0,0,0,0,0,"Earthen Destroyer - In Combat - Cast 'Boulder Smash' (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,7000,9000,22000,26000,11,107675,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - In Combat - Cast 'Dust Storm' (Dungeon & Raid)"),
(@ENTRY,0,2,0,0,0,100,30,0,0,3400,4700,11,95440,64,0,0,0,0,2,0,0,0,0,0,0,0,"Earthen Destroyer - In Combat - Cast 'Shadow Bolt' (Dungeon & Raid)");
-- Earthen Soldier SAI
SET @ENTRY := 57159;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,30,0,0,3400,4700,11,95440,64,0,0,0,0,2,0,0,0,0,0,0,0,"Earthen Soldier - In Combat - Cast 'Shadow Bolt' (Dungeon & Raid)"),
(@ENTRY,0,1,0,0,0,100,30,8000,9000,24000,28000,11,107852,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Soldier - In Combat - Cast 'Twilight Corruption' (Dungeon & Raid)"),
(@ENTRY,0,2,0,2,0,100,31,0,30,0,0,11,107872,1,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Soldier - Between 0-30% Health - Cast 'Twilight Rage' (No Repeat) (Dungeon & Raid)");
-- Ancient Water Lord SAI
SET @GUID1 := -370500;
SET @GUID2 := -370536;
SET @GUID3 := -370527;
SET @GUID4 := -370505;
SET @GUID5 := -370507;
SET @GUID6 := -370516;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=57160;
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@GUID1,@GUID2,@GUID2,@GUID3,@GUID4,@GUID5,@GUID6) 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
(@GUID1,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Water Lord - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID2,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Water Lord - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID3,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Water Lord - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID4,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Water Lord - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID5,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Water Lord - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID6,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Water Lord - Out of Combat - Cast 'Cosmetic - Channel Omni'");
-- Earthen Destroyer SAI
SET @GUID1 := -370499;
SET @GUID2 := -370512;
SET @GUID3 := -370503;
SET @GUID4 := -370501;
SET @GUID5 := -370507;
SET @GUID6 := -370533;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=57158;
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@GUID1,@GUID2,@GUID2,@GUID3,@GUID4,@GUID5,@GUID6) 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
(@GUID1,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID2,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID3,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID4,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID5,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - Out of Combat - Cast 'Cosmetic - Channel Omni'"),
(@GUID6,0,0,0,1,0,100,0,100,200,20000,20000,11,51835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Earthen Destroyer - Out of Combat - Cast 'Cosmetic - Channel Omni'");
-- Twilight Siege Captain SAI
SET @ENTRY := 57280;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,1,0,100,0,2000,3000,20000,20000,11,108096,0,0,0,0,0,19,57231,30,0,0,0,0,0,"Twilight Siege Captain - Out of Combat - Cast 'Twilight Portal Beam'");
-- Twilight Portal SAI
SET @ENTRY := 57231;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Reset - Morph To Creature Twilight Portal"),
(@ENTRY,0,1,0,11,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Reset - Morph To Creature Twilight Portal");
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=108096;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(13, 1, 108096, 0, 0, 31, 0, 3, 57231, 0, 0, 0, 0, '', 'Twilight Portal Beam only targets Bunny');
-- Twilight Portal SAI
SET @GUID := -370552;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=57231;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,3000,3000,6000,7000,12,57259,3,120000,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - Out of Combat - Summon Creature 'Twilight Siege Breaker'"),
(@GUID,0,1,0,25,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Reset - Morph To Model 39581"),
(@GUID,0,2,0,11,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Respawn - Morph To Model 39581");
-- Twilight Portal SAI
SET @GUID := -370584;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=57231;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,3000,3000,6000,7000,12,57259,3,120000,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - Out of Combat - Summon Creature 'Twilight Siege Breaker'"),
(@GUID,0,1,0,25,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Reset - Morph To Model 39581"),
(@GUID,0,2,0,11,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Respawn - Morph To Model 39581");
-- Twilight Portal SAI
SET @GUID := -370561;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=57231;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,3000,3000,6000,7000,12,57259,3,120000,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - Out of Combat - Summon Creature 'Twilight Siege Breaker'"),
(@GUID,0,1,0,25,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Reset - Morph To Model 39581"),
(@GUID,0,2,0,11,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Respawn - Morph To Model 39581");
-- Twilight Portal SAI
SET @GUID := -370665;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=57231;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@GUID 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
(@GUID,0,0,0,1,0,100,0,3000,3000,6000,7000,12,57259,3,120000,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - Out of Combat - Summon Creature 'Twilight Siege Breaker'"),
(@GUID,0,1,0,25,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Reset - Morph To Model 39581"),
(@GUID,0,2,0,11,0,100,0,0,0,0,0,3,0,39581,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Portal - On Respawn - Morph To Model 39581");
-- Twilight Siege Breaker SAI
SET @ENTRY := 57259;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,2,54,0,100,0,0,0,0,0,29,1,0,0,0,0,0,19,57261,500,0,0,0,0,0,"Twilight Siege Breaker - On Just Summoned - Start Follow Closest Creature 'Siege Breaker Stalker'"),
(@ENTRY,0,1,0,38,0,100,0,1,0,0,0,51,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Siege Breaker - On Data Set 1 0 - Kill Target"),
(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Siege Breaker - On Just Summoned - Set Reactstate Passive");
-- Siege Breaker Stalker SAI
SET @ENTRY := 57261;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,1,0,100,0,1000,2000,1000,2000,45,1,0,0,0,0,0,19,57259,10,0,0,0,0,0,"Siege Breaker Stalker - Out of Combat - Set Data 1 0"),
(@ENTRY,0,1,0,25,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Siege Breaker Stalker - On Reset - Set Faction 35"),
(@ENTRY,0,2,0,11,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Siege Breaker Stalker - On Respawn - Set Faction 35");
+14
View File
@@ -0,0 +1,14 @@
--
-- Twilight Element Warden SAI
SET @ENTRY := 40017;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,1,0,100,0,200,300,4000,5000,11,75205,0,0,0,0,0,19,40343,200,0,0,0,0,0,"Twilight Element Warden - Out of Combat - Cast 'Bore'");
-- Conflagration SAI
SET @ENTRY := 39994;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,1,0,100,0,1000,2000,3000,4000,75,82301,0,0,0,0,0,9,40004,0,20,0,0,0,0,"Conflagration - Out of Combat - Add Aura 'Burning Heat'");
+199
View File
@@ -0,0 +1,199 @@
--
-- Melizza Brimbuzzle SAI
SET @ENTRY := 12277;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,1,19,0,100,0,6132,0,0,0,53,0,@ENTRY*100+00,0,0,0,1,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Quest 'Get Me Out of Here!' Taken - Start Waypoint"),
(@ENTRY,0,1,0,61,0,100,0,6132,0,0,0,81,0,0,0,0,0,0,10,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Quest 'Get Me Out of Here!' Taken - Set Npc Flag "),
(@ENTRY,0,2,0,40,0,100,0,3,@ENTRY*100+00,0,0,1,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 3 Reached - Say Line 0"),
(@ENTRY,0,3,4,40,0,100,0,58,@ENTRY*100+00,0,0,15,6132,0,0,0,0,0,17,0,30,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Quest Credit 'Get Me Out of Here!'"),
(@ENTRY,0,4,5,61,0,100,0,58,@ENTRY*100+00,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Say Line 1"),
(@ENTRY,0,5,6,61,0,100,0,58,@ENTRY*100+00,0,0,53,1,@ENTRY*100+01,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Start Waypoint"),
(@ENTRY,0,6,0,61,0,100,0,58,@ENTRY*100+00,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 58 Reached - Set Active On"),
(@ENTRY,0,7,8,40,0,100,0,69,@ENTRY*100+01,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 69 Reached - Pause Waypoint"),
(@ENTRY,0,8,0,61,0,100,0,69,@ENTRY*100+01,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 69 Reached - Run Script"),
(@ENTRY,0,9,0,40,0,100,0,93,@ENTRY*100+01,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 93 Reached - Despawn In 3000 ms"),
(@ENTRY,0,10,0,11,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Respawn - Set Npc Flag Questgiver"),
(@ENTRY,0,11,0,40,0,100,1,57,@ENTRY*100+00,0,0,80,@ENTRY*100+01,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melizza Brimbuzzle - On Waypoint 57 Reached - Run Script (No Repeat)");
DELETE FROM `gameobject` WHERE `guid` IN (218966, 232397);
-- Actionlist SAI
SET @ENTRY := 1227700;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
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
(@ENTRY,9,0,0,0,0,100,0,3000,3000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 2"),
(@ENTRY,9,1,0,0,0,100,0,3000,3000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 3"),
(@ENTRY,9,2,0,0,0,100,0,3000,3000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Say Line 4");
-- Actionlist SAI
SET @ENTRY := 1227701;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
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
(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,12,4655,7,0,0,0,0,8,0,0,0,-1382.56,2417.06,88.9714,2.46091,"Melizza Brimbuzzle - On Script - Summon Creature 'Maraudine Wrangler'"),
(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,12,4655,7,0,0,0,0,8,0,0,0,-1406.39,2423.48,88.5732,0.20944,"Melizza Brimbuzzle - On Script - Summon Creature 'Maraudine Wrangler'"),
(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,12,4655,7,0,0,0,0,8,0,0,0,-1394.38,2417.12,88.7675,0.959931,"Melizza Brimbuzzle - On Script - Summon Creature 'Maraudine Wrangler'");
DELETE FROM `creature_text` WHERE `entry`=12277;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES
(12277, 0, 0, 'Thanks $n. Now let''s get out of here!', 12, 0, 100, 0, 0, 0, 7540, 'Melizza Brimbuzzle'),
(12277, 1, 0, 'We made it! Thanks again! I''m going to run ahead!', 12, 0, 100, 0, 0, 0, 7544, 'Melizza Brimbuzzle'),
(12277, 2, 0, 'Hey Hornizz! I''m back! And there are some people behind me who helped me out of a jam.', 12, 0, 100, 0, 0, 0, 7550, 'Melizza Brimbuzzle'),
(12277, 3, 0, 'We''re going to have to scratch the Maraudines off our list. Too hard to work with...', 12, 0, 100, 0, 0, 0, 7551, 'Melizza Brimbuzzle'),
(12277, 4, 0, 'Well, I''m off to the Gelkis. They''re not as dumb as the Maraudines, but they''re more reasonable.', 12, 0, 100, 0, 0, 0, 7552, 'Melizza Brimbuzzle');
SET @PATH := 1227700;
SET @PATH_TWO := 1227701;
DELETE FROM `waypoints` WHERE `entry` IN (@PATH, @PATH_TWO);
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
(@PATH,1,-1155.146,2709.409,111.2361,'Melizza Brimbuzzle'),
(@PATH,2,-1155.146,2709.409,111.2361,'Melizza Brimbuzzle'),
(@PATH,3,-1162.785,2712.464,111.5828,'Melizza Brimbuzzle'),
(@PATH,4,-1162.752,2712.397,111.6417,'Melizza Brimbuzzle'),
(@PATH,5,-1169.502,2711.397,112.3917,'Melizza Brimbuzzle'),
(@PATH,6,-1177.48,2710.258,112.1255,'Melizza Brimbuzzle'),
(@PATH,7,-1199.98,2702.508,111.6255,'Melizza Brimbuzzle'),
(@PATH,8,-1206.389,2700.128,111.496,'Melizza Brimbuzzle'),
(@PATH,9,-1248.919,2680.271,111.8919,'Melizza Brimbuzzle'),
(@PATH,10,-1272.489,2666.548,111.8956,'Melizza Brimbuzzle'),
(@PATH,11,-1288.82,2646.104,111.7111,'Melizza Brimbuzzle'),
(@PATH,12,-1290.413,2644.388,111.6542,'Melizza Brimbuzzle'),
(@PATH,13,-1290.413,2644.388,111.6542,'Melizza Brimbuzzle'),
(@PATH,14,-1290.413,2644.388,111.6542,'Melizza Brimbuzzle'),
(@PATH,15,-1309.874,2622.18,111.7776,'Melizza Brimbuzzle'),
(@PATH,16,-1309.908,2622.186,111.9743,'Melizza Brimbuzzle'),
(@PATH,17,-1323.898,2605.008,111.8986,'Melizza Brimbuzzle'),
(@PATH,18,-1336.769,2591.199,111.8607,'Melizza Brimbuzzle'),
(@PATH,19,-1349.322,2578.486,111.7647,'Melizza Brimbuzzle'),
(@PATH,20,-1359.602,2564.017,111.4906,'Melizza Brimbuzzle'),
(@PATH,21,-1361.852,2559.517,110.7406,'Melizza Brimbuzzle'),
(@PATH,22,-1362.352,2557.767,109.9906,'Melizza Brimbuzzle'),
(@PATH,23,-1363.102,2556.267,109.4906,'Melizza Brimbuzzle'),
(@PATH,24,-1364.602,2553.517,108.9906,'Melizza Brimbuzzle'),
(@PATH,25,-1365.352,2551.767,108.2406,'Melizza Brimbuzzle'),
(@PATH,26,-1366.102,2550.017,107.7406,'Melizza Brimbuzzle'),
(@PATH,27,-1366.477,2549.685,107.5719,'Melizza Brimbuzzle'),
(@PATH,28,-1366.727,2549.185,107.0719,'Melizza Brimbuzzle'),
(@PATH,29,-1367.227,2547.185,106.8219,'Melizza Brimbuzzle'),
(@PATH,30,-1367.727,2545.185,106.0719,'Melizza Brimbuzzle'),
(@PATH,31,-1368.477,2543.435,105.3219,'Melizza Brimbuzzle'),
(@PATH,32,-1368.977,2541.435,104.5719,'Melizza Brimbuzzle'),
(@PATH,33,-1369.477,2539.435,103.8219,'Melizza Brimbuzzle'),
(@PATH,34,-1370.227,2536.685,103.3219,'Melizza Brimbuzzle'),
(@PATH,35,-1370.977,2534.685,102.5719,'Melizza Brimbuzzle'),
(@PATH,36,-1371.227,2532.935,102.0719,'Melizza Brimbuzzle'),
(@PATH,37,-1371.727,2531.185,101.3219,'Melizza Brimbuzzle'),
(@PATH,38,-1372.227,2529.185,100.8219,'Melizza Brimbuzzle'),
(@PATH,39,-1372.977,2527.185,100.0719,'Melizza Brimbuzzle'),
(@PATH,40,-1373.727,2524.435,99.32188,'Melizza Brimbuzzle'),
(@PATH,41,-1374.227,2522.435,98.57188,'Melizza Brimbuzzle'),
(@PATH,42,-1374.727,2520.685,97.82188,'Melizza Brimbuzzle'),
(@PATH,43,-1375.477,2518.685,97.32188,'Melizza Brimbuzzle'),
(@PATH,44,-1375.639,2518.402,97.00177,'Melizza Brimbuzzle'),
(@PATH,45,-1375.889,2517.152,96.75177,'Melizza Brimbuzzle'),
(@PATH,46,-1376.389,2515.152,96.00177,'Melizza Brimbuzzle'),
(@PATH,47,-1376.889,2513.402,95.25177,'Melizza Brimbuzzle'),
(@PATH,48,-1378.139,2509.402,93.75177,'Melizza Brimbuzzle'),
(@PATH,49,-1378.389,2507.652,93.00177,'Melizza Brimbuzzle'),
(@PATH,50,-1379.139,2504.902,92.50177,'Melizza Brimbuzzle'),
(@PATH,51,-1379.889,2501.902,91.75177,'Melizza Brimbuzzle'),
(@PATH,52,-1380.389,2500.152,91.25177,'Melizza Brimbuzzle'),
(@PATH,53,-1381.389,2496.152,90.50177,'Melizza Brimbuzzle'),
(@PATH,54,-1381.559,2495.931,90.14986,'Melizza Brimbuzzle'),
(@PATH,55,-1381.809,2495.431,90.14986,'Melizza Brimbuzzle'),
(@PATH,56,-1382.309,2491.431,89.64986,'Melizza Brimbuzzle'),
(@PATH,57,-1385.493,2471.513,89.11208,'Melizza Brimbuzzle'),
(@PATH,58,-1386.618,2405.71,89.767,'Melizza Brimbuzzle'),
(@PATH_TWO,1,-1385.368,2401.21,90.267,'Melizza Brimbuzzle'),
(@PATH_TWO,2,-1383.618,2395.46,90.767,'Melizza Brimbuzzle'),
(@PATH_TWO,3,-1382.118,2390.71,91.517,'Melizza Brimbuzzle'),
(@PATH_TWO,4,-1377.252,2375.137,91.91622,'Melizza Brimbuzzle'),
(@PATH_TWO,5,-1373.759,2355.208,92.06256,'Melizza Brimbuzzle'),
(@PATH_TWO,6,-1366.36,2323.406,91.9967,'Melizza Brimbuzzle'),
(@PATH_TWO,7,-1362.618,2277.267,91.79288,'Melizza Brimbuzzle'),
(@PATH_TWO,8,-1358.118,2257.017,91.54288,'Melizza Brimbuzzle'),
(@PATH_TWO,9,-1354.14,2239.229,91.62033,'Melizza Brimbuzzle'),
(@PATH_TWO,10,-1352.89,2229.729,92.12033,'Melizza Brimbuzzle'),
(@PATH_TWO,11,-1350.869,2214.848,91.63843,'Melizza Brimbuzzle'),
(@PATH_TWO,12,-1351.869,2210.848,90.88843,'Melizza Brimbuzzle'),
(@PATH_TWO,13,-1352.119,2209.848,90.13843,'Melizza Brimbuzzle'),
(@PATH_TWO,14,-1352.619,2208.098,89.13843,'Melizza Brimbuzzle'),
(@PATH_TWO,15,-1352.869,2207.098,87.88843,'Melizza Brimbuzzle'),
(@PATH_TWO,16,-1353.119,2206.098,86.38843,'Melizza Brimbuzzle'),
(@PATH_TWO,17,-1353.369,2205.348,85.38843,'Melizza Brimbuzzle'),
(@PATH_TWO,18,-1353.619,2204.348,84.38843,'Melizza Brimbuzzle'),
(@PATH_TWO,19,-1354.119,2202.348,83.63843,'Melizza Brimbuzzle'),
(@PATH_TWO,20,-1354.369,2201.348,82.88843,'Melizza Brimbuzzle'),
(@PATH_TWO,21,-1354.619,2200.598,82.13843,'Melizza Brimbuzzle'),
(@PATH_TWO,22,-1354.869,2199.598,81.38843,'Melizza Brimbuzzle'),
(@PATH_TWO,23,-1355.119,2198.598,80.63843,'Melizza Brimbuzzle'),
(@PATH_TWO,24,-1355.119,2197.598,79.88843,'Melizza Brimbuzzle'),
(@PATH_TWO,25,-1355.619,2195.598,78.88843,'Melizza Brimbuzzle'),
(@PATH_TWO,26,-1356.119,2193.848,77.88843,'Melizza Brimbuzzle'),
(@PATH_TWO,27,-1356.619,2191.848,77.13843,'Melizza Brimbuzzle'),
(@PATH_TWO,28,-1357.619,2188.848,76.38843,'Melizza Brimbuzzle'),
(@PATH_TWO,29,-1355.239,2198.246,80.43513,'Melizza Brimbuzzle'),
(@PATH_TWO,30,-1355.489,2197.246,79.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,31,-1355.989,2195.496,78.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,32,-1356.489,2193.496,77.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,33,-1356.989,2191.496,76.93513,'Melizza Brimbuzzle'),
(@PATH_TWO,34,-1357.739,2188.746,76.18513,'Melizza Brimbuzzle'),
(@PATH_TWO,35,-1357.989,2187.496,75.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,36,-1358.739,2185.746,75.18513,'Melizza Brimbuzzle'),
(@PATH_TWO,37,-1359.239,2183.746,74.43513,'Melizza Brimbuzzle'),
(@PATH_TWO,38,-1359.989,2181.996,73.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,39,-1360.489,2179.996,72.93513,'Melizza Brimbuzzle'),
(@PATH_TWO,40,-1361.489,2177.246,72.18513,'Melizza Brimbuzzle'),
(@PATH_TWO,41,-1362.239,2175.246,71.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,42,-1362.739,2173.496,70.93513,'Melizza Brimbuzzle'),
(@PATH_TWO,43,-1363.239,2171.746,70.43513,'Melizza Brimbuzzle'),
(@PATH_TWO,44,-1363.739,2169.746,69.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,45,-1364.739,2166.996,68.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,46,-1365.489,2164.996,67.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,47,-1365.989,2163.246,66.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,48,-1366.739,2161.246,65.93513,'Melizza Brimbuzzle'),
(@PATH_TWO,49,-1367.489,2159.496,64.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,50,-1367.989,2157.496,63.93513,'Melizza Brimbuzzle'),
(@PATH_TWO,51,-1368.989,2154.746,63.18513,'Melizza Brimbuzzle'),
(@PATH_TWO,52,-1369.739,2152.746,62.43513,'Melizza Brimbuzzle'),
(@PATH_TWO,53,-1370.239,2150.996,61.68513,'Melizza Brimbuzzle'),
(@PATH_TWO,54,-1370.989,2148.996,60.93513,'Melizza Brimbuzzle'),
(@PATH_TWO,55,-1369.163,2154.362,62.88633,'Melizza Brimbuzzle'),
(@PATH_TWO,56,-1369.913,2152.612,62.63633,'Melizza Brimbuzzle'),
(@PATH_TWO,57,-1370.413,2150.612,61.63633,'Melizza Brimbuzzle'),
(@PATH_TWO,58,-1371.163,2148.862,61.13633,'Melizza Brimbuzzle'),
(@PATH_TWO,59,-1371.663,2147.612,60.63633,'Melizza Brimbuzzle'),
(@PATH_TWO,60,-1374.663,2142.362,60.13633,'Melizza Brimbuzzle'),
(@PATH_TWO,61,-1381.413,2131.612,60.88633,'Melizza Brimbuzzle'),
(@PATH_TWO,62,-1387.413,2121.362,61.38633,'Melizza Brimbuzzle'),
(@PATH_TWO,63,-1391.413,2114.362,62.13633,'Melizza Brimbuzzle'),
(@PATH_TWO,64,-1395.163,2108.362,62.63633,'Melizza Brimbuzzle'),
(@PATH_TWO,65,-1391.807,2114.246,61.76419,'Melizza Brimbuzzle'),
(@PATH_TWO,66,-1395.307,2108.246,62.26419,'Melizza Brimbuzzle'),
(@PATH_TWO,67,-1396.307,2106.496,62.51419,'Melizza Brimbuzzle'),
(@PATH_TWO,68,-1404.391,2088.967,62.0089,'Melizza Brimbuzzle'),
(@PATH_TWO,69,-1405.748,2087.39,62.09642,'Melizza Brimbuzzle'),
(@PATH_TWO,70,-1407.248,2086.89,62.09642,'Melizza Brimbuzzle'),
(@PATH_TWO,71,-1408.248,2086.89,62.34642,'Melizza Brimbuzzle'),
(@PATH_TWO,72,-1410.498,2086.39,62.34642,'Melizza Brimbuzzle'),
(@PATH_TWO,73,-1412.498,2086.39,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,74,-1413.998,2085.39,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,75,-1415.498,2083.39,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,76,-1416.498,2082.39,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,77,-1417.498,2079.39,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,78,-1417.998,2077.39,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,79,-1419.998,2075.14,62.59642,'Melizza Brimbuzzle'),
(@PATH_TWO,80,-1424.748,2073.14,62.34642,'Melizza Brimbuzzle'),
(@PATH_TWO,81,-1418.114,2077.1,62.59175,'Melizza Brimbuzzle'),
(@PATH_TWO,82,-1420.364,2075.35,62.59175,'Melizza Brimbuzzle'),
(@PATH_TWO,83,-1425.114,2073.1,62.34175,'Melizza Brimbuzzle'),
(@PATH_TWO,84,-1425.114,2075.1,62.34175,'Melizza Brimbuzzle'),
(@PATH_TWO,85,-1436.864,2074.35,62.84175,'Melizza Brimbuzzle'),
(@PATH_TWO,86,-1451.277,2073.542,62.70998,'Melizza Brimbuzzle'),
(@PATH_TWO,87,-1464.777,2075.542,62.95998,'Melizza Brimbuzzle'),
(@PATH_TWO,88,-1465.031,2075.661,62.89689,'Melizza Brimbuzzle'),
(@PATH_TWO,89,-1473.031,2077.161,63.14689,'Melizza Brimbuzzle'),
(@PATH_TWO,90,-1480.031,2086.411,62.39689,'Melizza Brimbuzzle'),
(@PATH_TWO,91,-1485.531,2093.411,61.89689,'Melizza Brimbuzzle'),
(@PATH_TWO,92,-1485.639,2093.875,61.82396,'Melizza Brimbuzzle'),
(@PATH_TWO,93,-1487.889,2096.375,61.82396,'Melizza Brimbuzzle');
+29
View File
@@ -0,0 +1,29 @@
-- Calming the Kodo
-- Enraged Kodo SAI
SET @ENTRY := 36094;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,0,0,100,0,4000,5000,18000,22000,11,5568,0,0,0,0,0,1,0,0,0,0,0,0,0,"Enraged Kodo - In Combat - Cast 'Trample'"),
(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,18501,0,0,0,0,0,1,0,0,0,0,0,0,0,"Enraged Kodo - Between 0-30% Health - Cast 'Enrage' (No Repeat)"),
(@ENTRY,0,2,4,38,0,100,0,1,0,0,0,29,1,0,36079,1,1,0,19,36079,30,0,0,0,0,0,"Enraged Kodo - On Data Set 1 0 - Start Follow Closest Creature 'Enraged Kodo KC Bunny'"),
(@ENTRY,0,3,5,65,0,100,0,0,0,0,0,86,68331,0,18,35,0,0,1,20,0,0,0,0,0,0,"Enraged Kodo - On Follow Complete - Cross Cast 'Kill Credit'"),
(@ENTRY,0,4,0,61,0,100,0,1,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Enraged Kodo - On Data Set 1 0 - Set Reactstate Passive"),
(@ENTRY,0,5,6,61,0,100,0,0,0,0,0,5,33,0,0,0,0,0,1,0,0,0,0,0,0,0,"Enraged Kodo - On Follow Complete - Play Emote 33"),
(@ENTRY,0,6,7,61,0,100,0,0,0,0,0,12,36113,3,120000,0,0,0,1,0,0,0,0,0,0,0,"Enraged Kodo - On Follow Complete - Summon Creature 'Pacified Kodo'"),
(@ENTRY,0,7,0,61,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Enraged Kodo - On Follow Complete - Despawn In 1 ms");
-- Pacified Kodo SAI
SET @ENTRY := 36113;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,1,54,0,100,0,0,0,0,0,46,30,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pacified Kodo - On Just Summoned - Move Forward 30 Yards"),
(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,41,5000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pacified Kodo - On Just Summoned - Despawn In 5000 ms");
-- Enraged Kodo KC Bunny SAI
SET @ENTRY := 36079;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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
(@ENTRY,0,0,0,54,0,100,0,0,0,0,0,45,1,0,0,0,0,0,19,36094,30,0,0,0,0,0,"Enraged Kodo KC Bunny - On Just Summoned - Set Data 1 0");
@@ -242,7 +242,7 @@ void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battlegro
}
case STATUS_WAIT_JOIN:
{
data->Initialize(SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION);
data->Initialize(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION);
*data << uint32(bg->GetClientInstanceID()); // Client Instance ID
*data << uint32(Time1); // Time until closed
@@ -240,13 +240,13 @@ void BattlegroundAB::HandleAreaTrigger(Player* player, uint32 trigger)
{
case 3948: // Arathi Basin Alliance Exit.
if (player->GetTeam() != ALLIANCE)
player->GetSession()->SendAreaTriggerMessage("Only The Alliance can use that portal");
player->GetSession()->SendNotification("Only The Alliance can use that portal");
else
player->LeaveBattleground();
break;
case 3949: // Arathi Basin Horde Exit.
if (player->GetTeam() != HORDE)
player->GetSession()->SendAreaTriggerMessage("Only The Horde can use that portal");
player->GetSession()->SendNotification("Only The Horde can use that portal");
else
player->LeaveBattleground();
break;
@@ -503,13 +503,13 @@ void BattlegroundAV::HandleAreaTrigger(Player* player, uint32 trigger)
case 95:
case 2608:
if (player->GetTeam() != ALLIANCE)
player->GetSession()->SendAreaTriggerMessage("Only The Alliance can use that portal");
player->GetSession()->SendNotification("Only The Alliance can use that portal");
else
player->LeaveBattleground();
break;
case 2606:
if (player->GetTeam() != HORDE)
player->GetSession()->SendAreaTriggerMessage("Only The Horde can use that portal");
player->GetSession()->SendNotification("Only The Horde can use that portal");
else
player->LeaveBattleground();
break;
+1 -1
View File
@@ -473,7 +473,7 @@ void CalendarMgr::SendCalendarEventUpdateAlert(CalendarEvent const& calendarEven
void CalendarMgr::SendCalendarEventStatus(CalendarEvent const& calendarEvent, CalendarInvite const& invite)
{
WorldPacket data(SMSG_CALENDAR_EVENT_STATUS, 8 + 8 + 4 + 4 + 1 + 1 + 4);
WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_STATUS, 8 + 8 + 4 + 4 + 1 + 1 + 4);
data << invite.GetInviteeGUID().WriteAsPacked();
data << uint64(calendarEvent.GetEventId());
data.AppendPackedTime(calendarEvent.GetEventTime());
@@ -333,7 +333,7 @@ void QuestMenu::ClearMenu()
void PlayerMenu::SendQuestGiverQuestList(QEmote const& eEmote, const std::string& Title, ObjectGuid npcGUID)
{
WorldPacket data(SMSG_QUESTGIVER_QUEST_LIST, 100); // guess size
WorldPacket data(SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE, 100); // guess size
data << npcGUID;
data << Title;
data << uint32(eEmote._Delay); // player emote
@@ -25,6 +25,7 @@
#include "GridNotifiersImpl.h"
#include "Group.h"
#include "GroupMgr.h"
#include "MiscPackets.h"
#include "ObjectMgr.h"
#include "OutdoorPvPMgr.h"
#include "PoolMgr.h"
@@ -1361,7 +1362,7 @@ void GameObject::Use(Unit* user)
{
if (info->goober.pageID) // show page...
{
WorldPacket data(SMSG_GAMEOBJECT_PAGETEXT, 8);
WorldPacket data(SMSG_PAGE_TEXT, 8);
data << GetGUID();
player->SendDirectMessage(&data);
}
@@ -1770,8 +1771,8 @@ void GameObject::Use(Unit* user)
// fallback, will always work
player->TeleportTo(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET);
WorldPacket data(SMSG_ENABLE_BARBER_SHOP, 0);
player->SendDirectMessage(&data);
WorldPackets::Misc::EnableBarberShop packet;
player->SendDirectMessage(packet.Write());
player->SetStandState(UnitStandStateType(UNIT_STAND_STATE_SIT_LOW_CHAIR + info->barberChair.chairheight));
return;
@@ -1848,7 +1849,7 @@ void GameObject::CastSpell(Unit* target, uint32 spellId, bool triggered /*= true
void GameObject::SendCustomAnim(uint32 anim)
{
WorldPacket data(SMSG_GAMEOBJECT_CUSTOM_ANIM, 8+4);
WorldPacket data(SMSG_GAME_OBJECT_CUSTOM_ANIM, 8 + 4);
data << GetGUID();
data << uint32(anim);
SendMessageToSet(&data, true);
+1 -1
View File
@@ -2358,7 +2358,7 @@ void WorldObject::SendMessageToSet(WorldPacket const* data, Player const* skippe
void WorldObject::SendObjectDeSpawnAnim(ObjectGuid guid)
{
WorldPacket data(SMSG_GAMEOBJECT_DESPAWN_ANIM, 8);
WorldPacket data(SMSG_GAME_OBJECT_DESPAWN, 8);
data << guid;
SendMessageToSet(&data, true);
}
+2 -2
View File
@@ -1428,7 +1428,7 @@ bool Pet::learnSpell(uint32 spell_id)
if (!m_loading)
{
WorldPacket data(SMSG_PET_LEARNED_SPELL, 4);
WorldPacket data(SMSG_PET_LEARNED_SPELLS, 4);
data << uint32(spell_id);
GetOwner()->GetSession()->SendPacket(&data);
GetOwner()->PetSpellInitialize();
@@ -1481,7 +1481,7 @@ bool Pet::unlearnSpell(uint32 spell_id, bool learn_prev, bool clear_ab)
{
if (!m_loading)
{
WorldPacket data(SMSG_PET_REMOVED_SPELL, 4);
WorldPacket data(SMSG_PET_UNLEARNED_SPELLS, 4);
data << uint32(spell_id);
GetOwner()->GetSession()->SendPacket(&data);
}
+32 -31
View File
@@ -2817,7 +2817,7 @@ void Player::RemoveFromGroup(Group* group, ObjectGuid guid, RemoveMethod method
void Player::SendLogXPGain(uint32 GivenXP, Unit* victim, uint32 BonusXP, bool recruitAFriend, float /*group_rate*/)
{
WorldPacket data(SMSG_LOG_XPGAIN, 21); // guess size?
WorldPacket data(SMSG_LOG_XP_GAIN, 21); // guess size?
data << (victim ? victim->GetGUID() : ObjectGuid::Empty);
data << uint32(GivenXP + BonusXP); // given experience
data << uint8(victim ? 0 : 1); // 00-kill_xp type, 01-non_kill_xp type
@@ -7158,7 +7158,7 @@ void Player::UpdateConquestCurrencyCap(uint32 currency)
uint32 precision = (currencyEntry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? 100 : 1;
uint32 cap = GetCurrencyWeekCap(currencyEntry);
WorldPacket packet(SMSG_UPDATE_CURRENCY_WEEK_LIMIT, 8);
WorldPacket packet(SMSG_SET_MAX_WEEKLY_QUANTITY, 8);
packet << uint32(cap / precision);
packet << uint32(currenciesToUpdate[i]);
GetSession()->SendPacket(&packet);
@@ -16272,7 +16272,7 @@ void Player::SendQuestFailed(uint32 questId, InventoryResult reason)
{
if (questId)
{
WorldPacket data(SMSG_QUESTGIVER_QUEST_FAILED, 4 + 4);
WorldPacket data(SMSG_QUEST_GIVER_QUEST_FAILED, 4 + 4);
data << uint32(questId);
data << uint32(reason); // failed reason (valid reasons: 4, 16, 50, 17, 74, other values show default message)
GetSession()->SendPacket(&data);
@@ -16293,7 +16293,7 @@ void Player::SendQuestTimerFailed(uint32 quest_id)
void Player::SendCanTakeQuestResponse(QuestFailedReason msg) const
{
WorldPacket data(SMSG_QUESTGIVER_QUEST_INVALID, 4);
WorldPacket data(SMSG_QUEST_GIVER_INVALID_QUEST, 4);
data << uint32(msg);
GetSession()->SendPacket(&data);
TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUESTGIVER_QUEST_INVALID");
@@ -18454,7 +18454,7 @@ void Player::SendRaidInfo()
{
uint32 counter = 0;
WorldPacket data(SMSG_RAID_INSTANCE_INFO, 4);
WorldPacket data(SMSG_INSTANCE_INFO, 4);
size_t p_counter = data.wpos();
data << uint32(counter); // placeholder
@@ -18589,7 +18589,7 @@ bool Player::Satisfy(AccessRequirement const* ar, uint32 target_map, bool report
if (DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, target_map, this))
{
GetSession()->SendAreaTriggerMessage("%s", GetSession()->GetTrinityString(LANG_INSTANCE_CLOSED));
GetSession()->SendNotification("%s", GetSession()->GetTrinityString(LANG_INSTANCE_CLOSED));
return false;
}
@@ -18620,9 +18620,9 @@ bool Player::Satisfy(AccessRequirement const* ar, uint32 target_map, bool report
else if (mapDiff->HasMessage()) // if (missingAchievement) covered by this case
SendTransferAborted(target_map, TRANSFER_ABORT_DIFFICULTY, target_difficulty);
else if (missingItem)
GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED_AND_ITEM), LevelMin, ASSERT_NOTNULL(sObjectMgr->GetItemTemplate(missingItem))->GetName(GetSession()->GetSessionDbcLocale()));
GetSession()->SendNotification(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED_AND_ITEM), LevelMin, ASSERT_NOTNULL(sObjectMgr->GetItemTemplate(missingItem))->GetName(GetSession()->GetSessionDbcLocale()));
else if (LevelMin)
GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED), LevelMin);
GetSession()->SendNotification(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED), LevelMin);
}
return false;
}
@@ -20150,7 +20150,7 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent)
if (pet->isControlled())
{
WorldPacket data(SMSG_PET_SPELLS, 8);
WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8);
data << uint64(0);
GetSession()->SendPacket(&data);
@@ -20302,7 +20302,7 @@ void Player::PetSpellInitialize()
CharmInfo* charmInfo = pet->GetCharmInfo();
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1);
WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * MAX_UNIT_ACTION_BAR_INDEX + 1 + 1);
data << pet->GetGUID();
data << uint16(pet->GetCreatureTemplate()->family); // creature family (required for pet talents)
data << uint32(pet->GetDuration());
@@ -20354,7 +20354,7 @@ void Player::PossessSpellInitialize()
return;
}
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1);
WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * MAX_UNIT_ACTION_BAR_INDEX + 1 + 1);
data << charm->GetGUID();
data << uint16(0);
data << uint32(0);
@@ -20378,7 +20378,7 @@ void Player::VehicleSpellInitialize()
uint8 cooldownCount = 0;
WorldPacket data(SMSG_PET_SPELLS, 8 + 2 + 4 + 4 + 4 * 10 + 1 + 1 + cooldownCount * (4 + 2 + 4 + 4));
WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * 10 + 1 + 1 + cooldownCount * (4 + 2 + 4 + 4));
data << vehicle->GetGUID(); // Guid
data << uint16(0); // Pet Family (0 for all vehicles)
data << uint32(vehicle->IsSummon() ? vehicle->ToTempSummon()->GetTimer() : 0); // Duration
@@ -20446,7 +20446,7 @@ void Player::CharmSpellInitialize()
}
}
WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+4*addlist+1);
WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8 + 2 + 4 + 4 + 4 * MAX_UNIT_ACTION_BAR_INDEX + 1 + 4 * addlist + 1);
data << charm->GetGUID();
data << uint16(0);
data << uint32(0);
@@ -20478,7 +20478,7 @@ void Player::CharmSpellInitialize()
void Player::SendRemoveControlBar()
{
WorldPacket data(SMSG_PET_SPELLS, 8);
WorldPacket data(SMSG_PET_SPELLS_MESSAGE, 8);
data << uint64(0);
GetSession()->SendPacket(&data);
}
@@ -22157,7 +22157,7 @@ void Player::UpdateTriggerVisibility()
WorldPacket packet;
for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
{
if (itr->IsCreature())
if (itr->IsCreatureOrVehicle())
{
Creature* creature = GetMap()->GetCreature(*itr);
// Update fields of triggers, transformed units or unselectable units (values dependent on GM state)
@@ -22329,17 +22329,18 @@ void Player::SendComboPoints()
Unit* combotarget = ObjectAccessor::GetUnit(*this, m_comboTarget);
if (combotarget)
{
WorldPacket data;
if (m_mover != this)
{
data.Initialize(SMSG_PET_UPDATE_COMBO_POINTS, m_mover->GetPackGUID().size()+combotarget->GetPackGUID().size()+1);
data << m_mover->GetPackGUID();
}
else
data.Initialize(SMSG_UPDATE_COMBO_POINTS, combotarget->GetPackGUID().size()+1);
data << combotarget->GetPackGUID();
data << uint8(m_comboPoints);
GetSession()->SendPacket(&data);
// Combo points are now a power
//WorldPacket data;
//if (m_mover != this)
//{
// data.Initialize(SMSG_PET_UPDATE_COMBO_POINTS, m_mover->GetPackGUID().size()+combotarget->GetPackGUID().size()+1);
// data << m_mover->GetPackGUID();
//}
//else
// data.Initialize(SMSG_UPDATE_COMBO_POINTS, combotarget->GetPackGUID().size()+1);
//data << combotarget->GetPackGUID();
//data << uint8(m_comboPoints);
//GetSession()->SendPacket(&data);
}
}
@@ -23700,7 +23701,7 @@ void Player::ResurrectUsingRequestData()
void Player::SetClientControl(Unit* target, bool allowMove)
{
WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, target->GetPackGUID().size()+1);
WorldPacket data(SMSG_CONTROL_UPDATE, target->GetPackGUID().size()+1);
data << target->GetPackGUID();
data << uint8(allowMove ? 1 : 0);
GetSession()->SendPacket(&data);
@@ -25646,7 +25647,7 @@ void Player::SendRefundInfo(Item* item)
}
ObjectGuid guid = item->GetGUID();
WorldPacket data(SMSG_ITEM_REFUND_INFO_RESPONSE, 8+4+4+4+4*4+4*4+4+4);
WorldPacket data(SMSG_SET_ITEM_PURCHASE_DATA, 8 + 4 + 4 + 4 + 4 * 4 + 4 * 4 + 4 + 4);
data.WriteBit(guid[3]);
data.WriteBit(guid[5]);
data.WriteBit(guid[7]);
@@ -26080,8 +26081,8 @@ void Player::OnCombatExit()
void Player::SendMovementSetCanTransitionBetweenSwimAndFly(bool apply)
{
Movement::PacketSender(this, static_cast<OpcodeServer>(NULL_OPCODE), apply ?
SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY :
SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY).Send();
SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY :
SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY).Send();
}
void Player::SendMovementSetCollisionHeight(float height)
@@ -26593,7 +26594,7 @@ void Player::SendUpdatePhasing()
void Player::SendSupercededSpell(uint32 oldSpell, uint32 newSpell)
{
WorldPacket data(SMSG_SUPERCEDED_SPELL, 8);
WorldPacket data(SMSG_SUPERCEDED_SPELLS, 8);
data << uint32(newSpell) << uint32(oldSpell);
GetSession()->SendPacket(&data);
}
+6 -14
View File
@@ -4755,7 +4755,7 @@ void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* pInfo)
{
AuraEffect const* aura = pInfo->auraEff;
WorldPacket data(SMSG_PERIODICAURALOG, 30);
WorldPacket data(SMSG_SPELL_PERIODIC_AURA_LOG, 30);
data << GetPackGUID();
data << aura->GetCasterGUID().WriteAsPacked();
data << uint32(aura->GetId()); // spellId
@@ -9548,7 +9548,7 @@ void Unit::Mount(uint32 mount, uint32 VehicleId, uint32 creatureEntry)
if (CreateVehicleKit(VehicleId, creatureEntry))
{
// Send others that we now have a vehicle
WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, GetPackGUID().size()+4);
WorldPacket data(SMSG_SET_VEHICLE_REC_ID, GetPackGUID().size() + 4);
data << GetPackGUID();
data << uint32(VehicleId);
SendMessageToSet(&data, true);
@@ -9597,7 +9597,7 @@ void Unit::Dismount()
if (GetTypeId() == TYPEID_PLAYER && GetVehicleKit())
{
// Send other players that we are no longer a vehicle
data.Initialize(SMSG_PLAYER_VEHICLE_DATA, 8+4);
data.Initialize(SMSG_SET_VEHICLE_REC_ID, 8 + 4);
data << GetPackGUID();
data << uint32(0);
ToPlayer()->SendMessageToSet(&data, true);
@@ -13329,7 +13329,7 @@ void Unit::SetMovementAnimKitId(uint16 animKitId)
_movementAnimKitId = animKitId;
WorldPacket data(SMSG_MOVE_SET_ANIM_KIT, 8 + 2);
WorldPacket data(SMSG_SET_MOVEMENT_ANIM_KIT, 8 + 2);
data << GetPackGUID();
data << uint16(animKitId);
SendMessageToSet(&data, true);
@@ -16143,8 +16143,8 @@ bool Unit::SetHover(bool enable, bool packetOnly /*= false*/)
static OpcodeServer const hoverOpcodeTable[2][2] =
{
{ SMSG_MOVE_SPLINE_UNSET_HOVER, SMSG_MOVE_UNSET_HOVER },
{ SMSG_MOVE_SPLINE_SET_HOVER, SMSG_MOVE_SET_HOVER }
{ SMSG_MOVE_SPLINE_UNSET_HOVER, SMSG_MOVE_UNSET_HOVERING },
{ SMSG_MOVE_SPLINE_SET_HOVER, SMSG_MOVE_SET_HOVERING }
};
bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
@@ -16192,14 +16192,6 @@ void Unit::SendSetPlayHoverAnim(bool enable)
SendMessageToSet(&data, true);
}
void Unit::SendMovementSetSplineAnim(Movement::AnimType anim)
{
WorldPacket data(SMSG_MOVE_SPLINE_SET_ANIM, 8 + 4);
data << GetPackGUID();
data << uint32(anim);
SendMessageToSet(&data, false);
}
bool Unit::IsSplineEnabled() const
{
return movespline->Initialized() && !movespline->Finalized();
-1
View File
@@ -1650,7 +1650,6 @@ class Unit : public WorldObject
void SendSetPlayHoverAnim(bool enable);
void SendMovementSetSplineAnim(Movement::AnimType anim);
bool IsLevitating() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY); }
bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING); }
-2
View File
@@ -3358,8 +3358,6 @@ void ObjectMgr::BuildPlayerLevelInfo(uint8 race, uint8 _class, uint8 level, Play
}
}
int32 const ReputationMgr::Reputation_Cap;
void ObjectMgr::LoadQuests()
{
uint32 oldMSTime = getMSTime();
+2 -2
View File
@@ -2520,7 +2520,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max
{
uint32 count = 0;
WorldPacket data(SMSG_CALENDAR_FILTER_GUILD);
WorldPacket data(SMSG_CALENDAR_EVENT_INITIAL_INVITES);
data << uint32(count); // count placeholder
for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr)
@@ -2539,7 +2539,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max
if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank))
{
data << member->GetGUID().WriteAsPacked();
data << uint8(0); // unk
data << uint8(level);
++count;
}
}
+1 -1
View File
@@ -317,7 +317,7 @@ void GuildFinderMgr::DeleteGuild(ObjectGuid const& guildId)
void GuildFinderMgr::SendApplicantListUpdate(Guild* guild)
{
WorldPacket data(SMSG_LF_GUILD_APPLICANT_LIST_UPDATED, 0);
WorldPacket data(SMSG_LF_GUILD_APPLICANT_LIST_CHANGED, 0);
if (Player* player = ObjectAccessor::FindPlayer(guild->GetLeaderGUID()))
player->SendDirectMessage(&data);
guild->BroadcastPacketToRank(&data, GR_OFFICER);
@@ -78,23 +78,23 @@ void WorldSession::SendAuctionCommandResult(AuctionEntry* auction, uint32 action
}
//this function sends notification, if bidder is online
void WorldSession::SendAuctionBidderNotification(uint32 location, uint32 auctionId, ObjectGuid bidder, uint32 bidSum, uint32 diff, uint32 itemEntry)
void WorldSession::SendAuctionBidderNotification(uint32 /*location*/, uint32 /*auctionId*/, ObjectGuid /*bidder*/, uint32 /*bidSum*/, uint32 /*diff*/, uint32 /*itemEntry*/)
{
WorldPacket data(SMSG_AUCTION_BIDDER_NOTIFICATION, (8*4));
data << uint32(location);
data << uint32(auctionId);
data << bidder;
data << uint64(bidSum);
data << uint64(diff);
data << uint32(itemEntry);
data << uint32(0);
SendPacket(&data);
//WorldPacket data(SMSG_AUCTION_BIDDER_NOTIFICATION, (8*4));
//data << uint32(location);
//data << uint32(auctionId);
//data << bidder;
//data << uint64(bidSum);
//data << uint64(diff);
//data << uint32(itemEntry);
//data << uint32(0);
//SendPacket(&data);
}
// this void causes on client to display: "Your auction sold"
void WorldSession::SendAuctionOwnerNotification(AuctionEntry* auction)
{
WorldPacket data(SMSG_AUCTION_OWNER_NOTIFICATION, 40);
WorldPacket data(SMSG_AUCTION_CLOSED_NOTIFICATION, 40);
data << uint32(auction->Id);
data << uint64(auction->bid);
data << uint64(0); //unk
@@ -105,13 +105,13 @@ void WorldSession::SendAuctionOwnerNotification(AuctionEntry* auction)
SendPacket(&data);
}
void WorldSession::SendAuctionRemovedNotification(uint32 auctionId, uint32 itemEntry, int32 randomPropertyId)
void WorldSession::SendAuctionRemovedNotification(uint32 /*auctionId*/, uint32 /*itemEntry*/, int32 /*randomPropertyId*/)
{
WorldPacket data(SMSG_AUCTION_REMOVED_NOTIFICATION, (4+4+4));
data << uint32(auctionId);
data << uint32(itemEntry);
data << uint32(randomPropertyId);
SendPacket(&data);
//WorldPacket data(SMSG_AUCTION_REMOVED_NOTIFICATION, (4+4+4));
//data << uint32(auctionId);
//data << uint32(itemEntry);
//data << uint32(randomPropertyId);
//SendPacket(&data);
}
//this void creates new auction and adds auction to some auctionhouse
@@ -799,7 +799,7 @@ void WorldSession::HandleRequestRatedBattlefieldInfo(WorldPacket& recvData)
/// @Todo: perfome research in this case
/// The unk fields are related to arenas
WorldPacket data(SMSG_RATED_BG_STATS, 72);
WorldPacket data(SMSG_RATED_BATTLEFIELD_INFO, 72);
data << uint32(0); // BgWeeklyWins20vs20
data << uint32(0); // BgWeeklyPlayed20vs20
data << uint32(0); // BgWeeklyPlayed15vs15
@@ -848,17 +848,5 @@ void WorldSession::HandleRequestPvpReward(WorldPacket& /*recvData*/)
void WorldSession::HandleRequestRatedBgStats(WorldPacket& /*recvData*/)
{
TC_LOG_DEBUG("network", "WORLD: CMSG_REQUEST_RATED_BG_STATS");
WorldPacket data(SMSG_BATTLEFIELD_RATED_INFO, 29);
data << uint32(0); // Reward
data << uint8(3); // unk
data << uint32(0); // unk
data << uint32(0); // unk
data << _player->GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, true);
data << uint32(0); // unk
data << uint32(0); // unk
data << _player->GetCurrency(CURRENCY_TYPE_CONQUEST_POINTS, true);
SendPacket(&data);
// deleted opcode
}
@@ -37,7 +37,7 @@
*/
void WorldSession::SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint32 acceptTime)
{
WorldPacket data(SMSG_BATTLEFIELD_MGR_ENTRY_INVITE, 16);
WorldPacket data(SMSG_BF_MGR_ENTRY_INVITE, 16);
data.WriteBit(guid[5]);
data.WriteBit(guid[3]);
@@ -70,7 +70,7 @@ void WorldSession::SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint3
*/
void WorldSession::SendBfInvitePlayerToQueue(ObjectGuid guid)
{
WorldPacket data(SMSG_BATTLEFIELD_MGR_QUEUE_INVITE, 5);
WorldPacket data(SMSG_BF_MGR_QUEUE_INVITE, 5);
data.WriteBit(1); // unk
data.WriteBit(0); // Has Warmup
@@ -117,7 +117,7 @@ void WorldSession::SendBfQueueInviteResponse(ObjectGuid guid, uint32 zoneId, boo
const bool hasSecondGuid = false;
const bool warmup = true;
WorldPacket data(SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE, 16);
WorldPacket data(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, 16);
data.WriteBit(guid[1]);
data.WriteBit(guid[6]);
@@ -167,7 +167,7 @@ void WorldSession::SendBfEntered(ObjectGuid guid)
{
uint8 isAFK = _player->isAFK() ? 1 : 0;
WorldPacket data(SMSG_BATTLEFIELD_MGR_ENTERING, 11);
WorldPacket data(SMSG_BF_MGR_ENTERING, 11);
data.WriteBit(0); // unk
data.WriteBit(isAFK); // Clear AFK
@@ -205,7 +205,7 @@ void WorldSession::SendBfEntered(ObjectGuid guid)
*/
void WorldSession::SendBfLeaveMessage(ObjectGuid guid, BFLeaveReason reason /*= BF_LEAVE_REASON_EXITED*/)
{
WorldPacket data(SMSG_BATTLEFIELD_MGR_EJECTED, 11);
WorldPacket data(SMSG_BF_MGR_EJECTED, 11);
data.WriteBit(guid[2]);
data.WriteBit(guid[5]);
+13 -16
View File
@@ -921,9 +921,9 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
pCurrChar->SetGuildLevel(0);
}
WorldPacket data(SMSG_LEARNED_DANCE_MOVES, 4+4);
data << uint64(0);
SendPacket(&data);
//WorldPacket data(SMSG_LEARNED_DANCE_MOVES, 4+4);
//data << uint64(0);
//SendPacket(&data);
WorldPackets::Query::HotfixNotifyBlob hotfixInfo;
hotfixInfo.Hotfixes = sDB2Manager.GetHotfixData();
@@ -1089,7 +1089,7 @@ void WorldSession::SendFeatureSystemStatus()
features.ScrollOfResurrectionRequestsRemaining = 1;
features.ScrollOfResurrectionMaxRequestsPerDay = 1;
features.UnkInt27 = 60;
features.UnkInt29 = 20;
features.TwitterMsTillCanPost = 20;
features.CfgRealmID = 2;
features.CfgRealmRecID = 0;
features.VoiceEnabled = false;
@@ -1365,24 +1365,21 @@ void WorldSession::HandleSetPlayerDeclinedNames(WorldPacket& recvData)
SendSetPlayerDeclinedNamesResult(DECLINED_NAMES_RESULT_SUCCESS, guid);
}
void WorldSession::HandleAlterAppearance(WorldPacket& recvData)
void WorldSession::HandleAlterAppearance(WorldPackets::Character::AlterApperance& packet)
{
TC_LOG_DEBUG("network", "CMSG_ALTER_APPEARANCE");
uint32 Hair, Color, FacialHair, SkinColor;
recvData >> Hair >> Color >> FacialHair >> SkinColor;
BarberShopStyleEntry const* bs_hair = sBarberShopStyleStore.LookupEntry(Hair);
BarberShopStyleEntry const* bs_hair = sBarberShopStyleStore.LookupEntry(packet.NewHairStyle);
if (!bs_hair || bs_hair->Type != 0 || bs_hair->Race != _player->getRace() || bs_hair->Sex != _player->getGender())
return;
BarberShopStyleEntry const* bs_facialHair = sBarberShopStyleStore.LookupEntry(FacialHair);
BarberShopStyleEntry const* bs_facialHair = sBarberShopStyleStore.LookupEntry(packet.NewFacialHair);
if (!bs_facialHair || bs_facialHair->Type != 2 || bs_facialHair->Race != _player->getRace() || bs_facialHair->Sex != _player->getGender())
return;
BarberShopStyleEntry const* bs_skinColor = sBarberShopStyleStore.LookupEntry(SkinColor);
BarberShopStyleEntry const* bs_skinColor = sBarberShopStyleStore.LookupEntry(packet.NewSkinColor);
if (bs_skinColor && (bs_skinColor->Type != 3 || bs_skinColor->Race != _player->getRace() || bs_skinColor->Sex != _player->getGender()))
return;
@@ -1400,7 +1397,7 @@ void WorldSession::HandleAlterAppearance(WorldPacket& recvData)
return;
}
uint32 cost = _player->GetBarberShopCost(bs_hair->Data, Color, bs_facialHair->Data, bs_skinColor);
uint32 cost = _player->GetBarberShopCost(bs_hair->Data, packet.NewHairColor, bs_facialHair->Data, bs_skinColor);
// 0 - ok
// 1, 3 - not enough money
@@ -1417,7 +1414,7 @@ void WorldSession::HandleAlterAppearance(WorldPacket& recvData)
_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER, cost);
_player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_STYLE_ID, uint8(bs_hair->Data));
_player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID, uint8(Color));
_player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID, uint8(packet.NewHairColor));
_player->SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE, uint8(bs_facialHair->Data));
if (bs_skinColor)
_player->SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID, uint8(bs_skinColor->Data));
@@ -2572,9 +2569,9 @@ void WorldSession::SendSetPlayerDeclinedNamesResult(DeclinedNameResult result, O
void WorldSession::SendBarberShopResult(BarberShopResult result)
{
WorldPacket data(SMSG_BARBER_SHOP_RESULT, 4);
data << uint32(result);
SendPacket(&data);
WorldPackets::Character::BarberShopResultServer packet;
packet.Result = result;
SendPacket(packet.Write());
}
void WorldSession::SendUndeleteCooldownStatusResponse(uint32 currentCooldown, uint32 maxCooldown)
+4 -10
View File
@@ -59,7 +59,7 @@ void WorldSession::HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& pack
case CMSG_MESSAGECHAT_OFFICER:
type = CHAT_MSG_OFFICER;
break;
/*case CMSG_MESSAGECHAT_PARTY:
case CMSG_MESSAGECHAT_PARTY:
type = CHAT_MSG_PARTY;
break;
case CMSG_MESSAGECHAT_RAID:
@@ -67,7 +67,7 @@ void WorldSession::HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& pack
break;
case CMSG_MESSAGECHAT_RAID_WARNING:
type = CHAT_MSG_RAID_WARNING;
break;*/
break;
default:
TC_LOG_ERROR("network", "HandleMessagechatOpcode : Unknown chat opcode (%u)", packet.GetOpcode());
return;
@@ -249,7 +249,7 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg,
if (GetPlayer()->GetTeam() != receiver->GetTeam() && !HasPermission(rbac::RBAC_PERM_TWO_SIDE_INTERACTION_CHAT) && !receiver->IsInWhisperWhiteList(sender->GetGUID()))
{
SendWrongFactionNotice();
SendPlayerNotFoundNotice(target);
return;
}
@@ -628,7 +628,7 @@ void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recvData)
void WorldSession::SendPlayerNotFoundNotice(std::string const& name)
{
WorldPacket data(SMSG_CHAT_PLAYER_NOT_FOUND, name.size()+1);
WorldPacket data(SMSG_CHAT_PLAYER_NOTFOUND, name.size()+1);
data << name;
SendPacket(&data);
}
@@ -640,12 +640,6 @@ void WorldSession::SendPlayerAmbiguousNotice(std::string const& name)
SendPacket(&data);
}
void WorldSession::SendWrongFactionNotice()
{
WorldPacket data(SMSG_CHAT_WRONG_FACTION, 0);
SendPacket(&data);
}
void WorldSession::SendChatRestrictedNotice(ChatRestrictionType restriction)
{
WorldPacket data(SMSG_CHAT_RESTRICTED, 1);
+4 -8
View File
@@ -751,11 +751,7 @@ void WorldSession::HandleGroupRequestJoinUpdates(WorldPacket& /*recvData*/)
if (!group)
return;
WorldPacket data(SMSG_REAL_GROUP_UPDATE, 1 + 4 + 8);
data << uint8(group->GetGroupType());
data << uint32(group->GetMembersCount() - 1);
data << group->GetLeaderGUID();
SendPacket(&data);
// does some stuff. dunno what.
}
void WorldSession::HandleGroupChangeSubGroupOpcode(WorldPacket& recvData)
@@ -909,7 +905,7 @@ void WorldSession::BuildPartyMemberStatsChangedPacket(Player* player, WorldPacke
if (mask & GROUP_UPDATE_FLAG_PET_POWER_TYPE) // same for pets
mask |= (GROUP_UPDATE_FLAG_PET_CUR_POWER | GROUP_UPDATE_FLAG_PET_MAX_POWER);
data->Initialize(SMSG_PARTY_MEMBER_STATS, 80); // average value
data->Initialize(SMSG_PARTY_MEMBER_STATE, 80); // average value
*data << player->GetPackGUID();
*data << uint32(mask);
@@ -1142,7 +1138,7 @@ void WorldSession::HandleRequestPartyMemberStatsOpcode(WorldPacket& recvData)
Player* player = ObjectAccessor::FindConnectedPlayer(Guid);
if (!player)
{
WorldPacket data(SMSG_PARTY_MEMBER_STATS_FULL, 3+4+2);
WorldPacket data(SMSG_PARTY_MEMBER_STATE, 3 + 4 + 2);
data << uint8(0); // only for SMSG_PARTY_MEMBER_STATS_FULL, probably arena/bg related
data << Guid.WriteAsPacked();
data << uint32(GROUP_UPDATE_FLAG_STATUS);
@@ -1155,7 +1151,7 @@ void WorldSession::HandleRequestPartyMemberStatsOpcode(WorldPacket& recvData)
Powers powerType = player->getPowerType();
std::set<uint32> const& phases = player->GetPhases();
WorldPacket data(SMSG_PARTY_MEMBER_STATS_FULL, 4+2+2+2+1+2*6+8+1+8);
WorldPacket data(SMSG_PARTY_MEMBER_STATE, 4 + 2 + 2 + 2 + 1 + 2 * 6 + 8 + 1 + 8);
data << uint8(0); // only for SMSG_PARTY_MEMBER_STATS_FULL, probably arena/bg related
data << player->GetPackGUID();
@@ -214,7 +214,7 @@ void WorldSession::HandleGuildFinderGetApplications(WorldPacket& /*recvPacket*/)
std::list<MembershipRequest> applicatedGuilds = sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUID());
uint32 applicationsCount = applicatedGuilds.size();
WorldPacket data(SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED, 7 + 54 * applicationsCount);
WorldPacket data(SMSG_LF_GUILD_APPLICATIONS, 7 + 54 * applicationsCount);
data.WriteBits(applicationsCount, 20);
if (applicationsCount > 0)
+1 -1
View File
@@ -332,7 +332,7 @@ void WorldSession::HandleReadItem(WorldPacket& recvData)
}
else
{
data.Initialize(SMSG_READ_ITEM_FAILED, 8);
data.Initialize(SMSG_READ_ITEM_RESULT_FAILED, 8);
TC_LOG_INFO("network", "STORAGE: Unable to read item");
_player->SendEquipError(msg, pItem, NULL);
}
+10 -10
View File
@@ -272,7 +272,7 @@ void WorldSession::HandleLfgTeleportOpcode(WorldPacket& recvData)
void WorldSession::HandleLfgGetLockInfoOpcode(WorldPacket& recvData)
{
bool forPlayer = recvData.ReadBit();
TC_LOG_DEBUG("lfg", "CMSG_LFG_LOCK_INFO_REQUEST %s for %s", GetPlayerInfo().c_str(), (forPlayer ? "player" : "party"));
TC_LOG_DEBUG("lfg", "CMSG_DF_GET_SYSTEM_INFO %s for %s", GetPlayerInfo().c_str(), (forPlayer ? "player" : "party"));
if (forPlayer)
SendLfgPlayerLockInfo();
@@ -404,7 +404,7 @@ void WorldSession::HandleLfrLeaveOpcode(WorldPacket& recvData)
void WorldSession::HandleLfgGetStatus(WorldPacket& /*recvData*/)
{
TC_LOG_DEBUG("lfg", "CMSG_LFG_GET_STATUS %s", GetPlayerInfo().c_str());
TC_LOG_DEBUG("lfg", "CMSG_DF_GET_JOIN_STATUS %s", GetPlayerInfo().c_str());
if (!GetPlayer()->isUsingLfg())
return;
@@ -502,7 +502,7 @@ void WorldSession::SendLfgRoleChosen(ObjectGuid guid, uint8 roles)
TC_LOG_DEBUG("lfg", "SMSG_LFG_ROLE_CHOSEN %s guid: %s roles: %u",
GetPlayerInfo().c_str(), guid.ToString().c_str(), roles);
WorldPacket data(SMSG_LFG_ROLE_CHOSEN, 8 + 1 + 4);
WorldPacket data(SMSG_ROLE_CHOSEN, 8 + 1 + 4);
data << guid; // Guid
data << uint8(roles > 0); // Ready
data << uint32(roles); // Roles
@@ -716,7 +716,7 @@ void WorldSession::SendLfgBootProposalUpdate(lfg::LfgPlayerBoot const& boot)
GetPlayerInfo().c_str(), uint8(boot.inProgress), uint8(playerVote != lfg::LFG_ANSWER_PENDING),
uint8(playerVote == lfg::LFG_ANSWER_AGREE), boot.victim.ToString().c_str(), votesNum, agreeNum,
secsleft, lfg::LFG_GROUP_KICK_VOTES_NEEDED, boot.reason.c_str());
WorldPacket data(SMSG_LFG_BOOT_PROPOSAL_UPDATE, 1 + 1 + 1 + 1 + 8 + 4 + 4 + 4 + 4 + boot.reason.length());
WorldPacket data(SMSG_LFG_BOOT_PLAYER, 1 + 1 + 1 + 1 + 8 + 4 + 4 + 4 + 4 + boot.reason.length());
data << uint8(boot.inProgress); // Vote in progress
data << uint8(agreeNum >= lfg::LFG_GROUP_KICK_VOTES_NEEDED); // Did succeed
data << uint8(playerVote != lfg::LFG_ANSWER_PENDING); // Did Vote
@@ -831,13 +831,13 @@ void WorldSession::SendLfgUpdateProposal(lfg::LfgProposal const& proposal)
SendPacket(&data);
}
void WorldSession::SendLfgLfrList(bool update)
void WorldSession::SendLfgLfrList(bool /*update*/)
{
TC_LOG_DEBUG("lfg", "SMSG_LFG_LFR_LIST %s update: %u",
GetPlayerInfo().c_str(), update ? 1 : 0);
WorldPacket data(SMSG_LFG_UPDATE_SEARCH, 1);
data << uint8(update); // In Lfg Queue?
SendPacket(&data);
//TC_LOG_DEBUG("lfg", "SMSG_LFG_LFR_LIST %s update: %u",
// GetPlayerInfo().c_str(), update ? 1 : 0);
//WorldPacket data(SMSG_LFG_UPDATE_SEARCH, 1);
//data << uint8(update); // In Lfg Queue?
//SendPacket(&data);
}
void WorldSession::SendLfgDisabled()
+3 -27
View File
@@ -598,23 +598,6 @@ void WorldSession::HandleResurrectResponse(WorldPackets::Misc::ResurrectResponse
GetPlayer()->ResurrectUsingRequestData();
}
void WorldSession::SendAreaTriggerMessage(const char* Text, ...)
{
va_list ap;
char szStr [1024];
szStr[0] = '\0';
va_start(ap, Text);
vsnprintf(szStr, 1024, Text, ap);
va_end(ap);
uint32 length = strlen(szStr)+1;
WorldPacket data(SMSG_AREA_TRIGGER_MESSAGE, 4+length);
data << length;
data << szStr;
SendPacket(&data);
}
void WorldSession::HandleAreaTriggerOpcode(WorldPackets::Misc::AreaTrigger& packet)
{
TC_LOG_DEBUG("network", "CMSG_AREATRIGGER. Trigger ID: %u", packet.AreaTriggerID);
@@ -822,13 +805,6 @@ void WorldSession::HandleRequestAccountData(WorldPackets::ClientConfig::RequestA
SendPacket(data.Write());
}
int32 WorldSession::HandleEnableNagleAlgorithm()
{
// Instructs the server we wish to receive few amounts of large packets (SMSG_MULTIPLE_PACKETS?)
// instead of large amount of small packets
return 0;
}
void WorldSession::HandleSetActionButtonOpcode(WorldPackets::Spells::SetActionButton& packet)
{
uint32 action = ACTION_BUTTON_ACTION(packet.Action);
@@ -1008,7 +984,7 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recvData)
SendNotification(LANG_YOU_NOT_HAVE_PERMISSION);
}
void WorldSession::HandleWhoisOpcode(WorldPackets::Who::WhoIsRequest& packet)
void WorldSession::HandleWhoIsOpcode(WorldPackets::Who::WhoIsRequest& packet)
{
TC_LOG_DEBUG("network", "Received whois command from player %s for character %s",
GetPlayer()->GetName().c_str(), packet.CharName.c_str());
@@ -1149,7 +1125,7 @@ void WorldSession::HandleFarSightOpcode(WorldPacket& recvData)
void WorldSession::HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet)
{
TC_LOG_DEBUG("network", "CMSG_SET_TITLE");
// -1 at none
if (packet.TitleID > 0 && packet.TitleID < MAX_TITLE_INDEX)
{
@@ -1423,7 +1399,7 @@ void WorldSession::HandleUITimeRequest(WorldPackets::Misc::UITimeRequest& /*requ
void WorldSession::SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<uint32> const& terrainswaps, std::set<uint32> const& worldMapAreaSwaps)
{
WorldPacket data(SMSG_SET_PHASE_SHIFT_CHANGE, 1 + 8 + 4 + 4 + 4 + 4 + 2 * phaseIds.size() + 4 + terrainswaps.size() * 2);
WorldPacket data(SMSG_PHASE_SHIFT_CHANGE, 1 + 8 + 4 + 4 + 4 + 4 + 2 * phaseIds.size() + 4 + terrainswaps.size() * 2);
data << _player->GetGUID(); // Client
data << uint32(phaseIds.size() ? 0 : 8); // PhaseShiftFlags
+2 -2
View File
@@ -431,7 +431,7 @@ void WorldSession::SendPetNameQuery(ObjectGuid petguid, uint32 petnumber)
Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, petguid);
if (!pet)
{
WorldPacket data(SMSG_PET_NAME_QUERY_RESPONSE, (4+1+4+1));
WorldPacket data(SMSG_QUERY_PET_NAME_RESPONSE, (4 + 1 + 4 + 1));
data << uint32(petnumber);
data << uint8(0);
data << uint32(0);
@@ -440,7 +440,7 @@ void WorldSession::SendPetNameQuery(ObjectGuid petguid, uint32 petnumber)
return;
}
WorldPacket data(SMSG_PET_NAME_QUERY_RESPONSE, (4+4+pet->GetName().size()+1));
WorldPacket data(SMSG_QUERY_PET_NAME_RESPONSE, (4 + 4 + pet->GetName().size() + 1));
data << uint32(petnumber);
data << pet->GetName();
data << uint32(pet->GetUInt32Value(UNIT_FIELD_PET_NAME_TIMESTAMP));
+2 -2
View File
@@ -581,7 +581,7 @@ void WorldSession::HandleMirrorImageDataRequest(WorldPacket& recvData)
void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket)
{
TC_LOG_DEBUG("network", "WORLD: CMSG_UPDATE_PROJECTILE_POSITION");
TC_LOG_DEBUG("network", "WORLD: CMSG_MISSILE_TRAJECTORY_COLLISION");
ObjectGuid casterGuid;
uint32 spellId;
@@ -607,7 +607,7 @@ void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket)
pos.Relocate(x, y, z);
spell->m_targets.ModDst(pos);
WorldPacket data(SMSG_SET_PROJECTILE_POSITION, 21);
WorldPacket data(SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION, 21);
data << casterGuid;
data << uint8(castCount);
data << float(x);
+2 -2
View File
@@ -56,7 +56,7 @@ void WorldSession::SendTaxiStatus(ObjectGuid guid)
TC_LOG_DEBUG("network", "WORLD: current location %u ", curloc);
WorldPacket data(SMSG_TAXINODE_STATUS, 9);
WorldPacket data(SMSG_TAXI_NODE_STATUS, 9);
data << guid;
data << uint8(GetPlayer()->m_taxi.IsTaximaskNodeKnown(curloc) ? 1 : 0);
SendPacket(&data);
@@ -143,7 +143,7 @@ bool WorldSession::SendLearnNewTaxiNode(Creature* unit)
WorldPacket msg(SMSG_NEW_TAXI_PATH, 0);
SendPacket(&msg);
WorldPacket update(SMSG_TAXINODE_STATUS, 9);
WorldPacket update(SMSG_TAXI_NODE_STATUS, 9);
update << unit->GetGUID();
update << uint8(1);
SendPacket(&update);
+8 -12
View File
@@ -560,32 +560,28 @@ bool InstanceScript::CheckAchievementCriteriaMeet(uint32 criteria_id, Player con
void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= NULL*/, uint8 param1 /*= 0*/, uint8 param2 /*= 0*/)
{
// size of this packet is at most 15 (usually less)
WorldPacket data(SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT, 15);
WorldPacket data(SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT, 15);
data << uint32(type);
switch (type)
{
case ENCOUNTER_FRAME_ENGAGE:
case ENCOUNTER_FRAME_DISENGAGE:
case ENCOUNTER_FRAME_UPDATE_PRIORITY:
case ENCOUNTER_FRAME_ENGAGE: // SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT
case ENCOUNTER_FRAME_DISENGAGE: // SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT
case ENCOUNTER_FRAME_UPDATE_PRIORITY: // SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY
if (!unit)
return;
data << unit->GetPackGUID();
data << uint8(param1);
break;
case ENCOUNTER_FRAME_ADD_TIMER:
case ENCOUNTER_FRAME_ENABLE_OBJECTIVE:
case ENCOUNTER_FRAME_DISABLE_OBJECTIVE:
case ENCOUNTER_FRAME_SET_COMBAT_RES_LIMIT:
case ENCOUNTER_FRAME_ADD_TIMER: // SMSG_INSTANCE_ENCOUNTER_TIMER_START
case ENCOUNTER_FRAME_ENABLE_OBJECTIVE: // SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START
case ENCOUNTER_FRAME_DISABLE_OBJECTIVE: // SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE
data << uint8(param1);
break;
case ENCOUNTER_FRAME_UPDATE_OBJECTIVE:
case ENCOUNTER_FRAME_UPDATE_OBJECTIVE: // SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE
data << uint8(param1);
data << uint8(param2);
break;
case ENCOUNTER_FRAME_UNK7:
case ENCOUNTER_FRAME_ADD_COMBAT_RES_LIMIT:
case ENCOUNTER_FRAME_RESET_COMBAT_RES_LIMIT:
default:
break;
}
+1 -1
View File
@@ -3008,7 +3008,7 @@ bool InstanceMap::AddPlayerToMap(Player* player)
// players also become permanently bound when they enter
if (groupBind->perm)
{
WorldPacket data(SMSG_INSTANCE_LOCK_WARNING_QUERY, 10);
WorldPacket data(SMSG_PENDING_RAID_LOCK, 10);
data << uint32(60000);
data << uint32(i_data ? i_data->GetCompletedEncounterMask() : 0);
data << uint8(0);
+3 -2
View File
@@ -155,9 +155,10 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
// can only enter in a raid group
if ((!group || !group->isRaidGroup()) && !sWorld->getBoolConfig(CONFIG_INSTANCE_IGNORE_RAID))
{
// probably there must be special opcode, because client has this string constant in GlobalStrings.lua
/// @todo this is not a good place to send the message
player->GetSession()->SendAreaTriggerMessage(player->GetSession()->GetTrinityString(LANG_INSTANCE_RAID_GROUP_ONLY), mapName);
WorldPacket data(SMSG_RAID_GROUP_ONLY);
data << uint32(0) << uint32(2);
player->GetSession()->SendPacket(&data);
TC_LOG_DEBUG("maps", "MAP: Player '%s' must be in a raid group to enter instance '%s'", player->GetName().c_str(), mapName);
return false;
}
+33 -31
View File
@@ -4496,39 +4496,41 @@ enum ResponseCodes
CHAR_DELETE_FAILED_GUILD_LEADER = 76,
CHAR_DELETE_FAILED_ARENA_CAPTAIN = 77,
CHAR_DELETE_FAILED_HAS_HEIRLOOM_OR_MAIL = 78,
CHAR_DELETE_FAILED_UPGRADE_IN_PROGRESS = 79,
CHAR_DELETE_FAILED_HAS_WOW_TOKEN = 80,
CHAR_LOGIN_IN_PROGRESS = 79,
CHAR_LOGIN_SUCCESS = 80,
CHAR_LOGIN_NO_WORLD = 81,
CHAR_LOGIN_DUPLICATE_CHARACTER = 82,
CHAR_LOGIN_NO_INSTANCES = 83,
CHAR_LOGIN_FAILED = 84,
CHAR_LOGIN_DISABLED = 85,
CHAR_LOGIN_NO_CHARACTER = 86,
CHAR_LOGIN_LOCKED_FOR_TRANSFER = 87,
CHAR_LOGIN_LOCKED_BY_BILLING = 88,
CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 89,
CHAR_LOGIN_TEMPORARY_GM_LOCK = 90,
CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 91,
CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 92,
CHAR_LOGIN_IN_PROGRESS = 81,
CHAR_LOGIN_SUCCESS = 82,
CHAR_LOGIN_NO_WORLD = 83,
CHAR_LOGIN_DUPLICATE_CHARACTER = 84,
CHAR_LOGIN_NO_INSTANCES = 85,
CHAR_LOGIN_FAILED = 86,
CHAR_LOGIN_DISABLED = 87,
CHAR_LOGIN_NO_CHARACTER = 88,
CHAR_LOGIN_LOCKED_FOR_TRANSFER = 89,
CHAR_LOGIN_LOCKED_BY_BILLING = 90,
CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 91,
CHAR_LOGIN_TEMPORARY_GM_LOCK = 92,
CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 93,
CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 94,
CHAR_NAME_SUCCESS = 93,
CHAR_NAME_FAILURE = 94,
CHAR_NAME_NO_NAME = 95,
CHAR_NAME_TOO_SHORT = 96,
CHAR_NAME_TOO_LONG = 97,
CHAR_NAME_INVALID_CHARACTER = 98,
CHAR_NAME_MIXED_LANGUAGES = 99,
CHAR_NAME_PROFANE = 100,
CHAR_NAME_RESERVED = 101,
CHAR_NAME_INVALID_APOSTROPHE = 102,
CHAR_NAME_MULTIPLE_APOSTROPHES = 103,
CHAR_NAME_THREE_CONSECUTIVE = 104,
CHAR_NAME_INVALID_SPACE = 105,
CHAR_NAME_CONSECUTIVE_SPACES = 106,
CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 107,
CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 108,
CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 109
CHAR_NAME_SUCCESS = 95,
CHAR_NAME_FAILURE = 96,
CHAR_NAME_NO_NAME = 97,
CHAR_NAME_TOO_SHORT = 98,
CHAR_NAME_TOO_LONG = 99,
CHAR_NAME_INVALID_CHARACTER = 100,
CHAR_NAME_MIXED_LANGUAGES = 101,
CHAR_NAME_PROFANE = 102,
CHAR_NAME_RESERVED = 103,
CHAR_NAME_INVALID_APOSTROPHE = 104,
CHAR_NAME_MULTIPLE_APOSTROPHES = 105,
CHAR_NAME_THREE_CONSECUTIVE = 106,
CHAR_NAME_INVALID_SPACE = 107,
CHAR_NAME_CONSECUTIVE_SPACES = 108,
CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 109,
CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 110,
CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 111
};
enum CharacterUndeleteResult
@@ -30,6 +30,9 @@
const int32 ReputationMgr::PointsInRank[MAX_REPUTATION_RANK] = {36000, 3000, 3000, 3000, 6000, 12000, 21000, 1000};
const int32 ReputationMgr::Reputation_Cap = 42999;
const int32 ReputationMgr::Reputation_Bottom = -42000;
ReputationRank ReputationMgr::ReputationToRank(int32 standing)
{
int32 limit = Reputation_Cap + 1;
+2 -2
View File
@@ -72,8 +72,8 @@ class ReputationMgr
void LoadFromDB(PreparedQueryResult result);
public: // statics
static const int32 PointsInRank[MAX_REPUTATION_RANK];
static const int32 Reputation_Cap = 42999;
static const int32 Reputation_Bottom = -42000;
static const int32 Reputation_Cap;
static const int32 Reputation_Bottom;
static ReputationRank ReputationToRank(int32 standing);
public: // accessors
@@ -273,7 +273,7 @@ uint8 const WherePacketHmac[] =
0x83, 0x95, 0x81, 0x69, 0xB0, 0x5A, 0xB4, 0x9D, 0xA8, 0x55, 0xFF, 0xFC, 0xEE, 0x58, 0x0A, 0x2F
};
WorldPackets::Auth::ConnectTo::ConnectTo() : ServerPacket(SMSG_REDIRECT_CLIENT, 8 + 4 + 256 + 1)
WorldPackets::Auth::ConnectTo::ConnectTo() : ServerPacket(SMSG_CONNECT_TO, 8 + 4 + 256 + 1)
{
HexStrToByteArray("F41DCB2D728CF3337A4FF338FA89DB01BBBE9C3B65E9DA96268687353E48B94C", Payload.PanamaKey);
Payload.Adler32 = 0xA0A66C10;
@@ -314,258 +314,258 @@ WorldPacket const* WorldPackets::Auth::ConnectTo::Write()
uint8* hmac = hmacHash.GetDigest();
payload << uint8(PiDigits[41]);
payload << uint8(Haiku[23]);
payload << uint8(PiDigits[11]);
payload << uint8(PiDigits[43]);
payload << uint8(Payload.PanamaKey[13]);
payload << uint8(Haiku[57]);
payload << uint8(Haiku[21]);
payload << uint8(Payload.PanamaKey[25]);
payload << uint8(PiDigits[23]);
payload << uint8(Payload.PanamaKey[31]);
payload << uint8(PiDigits[97]);
payload << uint8(PiDigits[25]);
payload << uint8(PiDigits[9]);
payload << uint8(Haiku[9]);
payload << uint8(Haiku[26]);
payload << uint8(Haiku[62]);
payload << uint8(Haiku[68]);
payload << uint8(Haiku[24]);
payload << uint8(Haiku[41]);
payload << uint8(PiDigits[89]);
payload << uint8(PiDigits[40]);
payload << uint8(Haiku[43]);
payload << uint8(Haiku[50]);
payload << uint8(PiDigits[3]);
payload << uint8(PiDigits[76]);
payload << uint8(address[3]);
payload << uint8(Payload.PanamaKey[28]);
payload << uint8(addressType);
payload << uint8(PiDigits[79]);
payload << uint8(PiDigits[69]);
payload << uint8(PiDigits[24]);
payload << uint8(Haiku[60]);
payload << uint8(PiDigits[21]);
payload << uint8(PiDigits[1]);
payload << uint8(PiDigits[55]);
payload << uint8(PiDigits[27]);
payload << uint8(PiDigits[81]);
payload << uint8(hmac[7]);
payload << uint8(Haiku[13]);
payload << uint8(PiDigits[82]);
payload << uint8(PiDigits[102]);
payload << uint8(PiDigits[77]);
payload << uint8(PiDigits[35]);
payload << uint8(Haiku[19]);
payload << uint8(PiDigits[33]);
payload << uint8(PiDigits[5]);
payload << uint8(Haiku[45]);
payload << uint8(hmac[12]);
payload << uint8(hmac[9]);
payload << uint8(Haiku[1]);
payload << uint8(Haiku[17]);
payload << uint8(PiDigits[85]);
payload << uint8(address[14]);
payload << uint8(Payload.PanamaKey[5]);
payload << uint8(hmac[1]);
payload << uint8(PiDigits[73]);
payload << uint8(PiDigits[46]);
payload << uint8(address[1]);
payload << uint8(PiDigits[95]);
payload << uint8((port >> 8) & 0xFF);
payload << uint8(address[15]);
payload << uint8(Payload.PanamaKey[14]);
payload << uint8(Haiku[0]);
payload << uint8(Haiku[36]);
payload << uint8(PiDigits[34]);
payload << uint8(Haiku[6]);
payload << uint8(hmac[18]);
payload << uint8(Payload.PanamaKey[24]);
payload << uint8(Haiku[37]);
payload << uint8(Payload.PanamaKey[1]);
payload << uint8(Haiku[39]);
payload << uint8(Haiku[27]);
payload << uint8(Haiku[12]);
payload << uint8(Haiku[35]);
payload << uint8(PiDigits[57]);
payload << uint8(PiDigits[59]);
payload << uint8(address[4]);
payload << uint8(PiDigits[18]);
payload << uint8(PiDigits[50]);
payload << uint8(PiDigits[99]);
payload << uint8(PiDigits[95]);
payload << uint8(PiDigits[101]);
payload << uint8(Payload.PanamaKey[9]);
payload << uint8(PiDigits[70]);
payload << uint8(PiDigits[56]);
payload << uint8(PiDigits[28]);
payload << uint8(Haiku[63]);
payload << uint8(Haiku[30]);
payload << uint8(PiDigits[42]);
payload << uint8(PiDigits[93]);
payload << uint8(address[15]);
payload << uint8(PiDigits[2]);
payload << uint8(PiDigits[1]);
payload << uint8(address[1]);
payload << uint8(PiDigits[94]);
payload << uint8(PiDigits[26]);
payload << uint8(PiDigits[39]);
payload << uint8(Haiku[19]);
payload << uint8(PiDigits[46]);
payload << uint8(PiDigits[13]);
payload << uint8(Haiku[70]);
payload << uint8(Haiku[45]);
payload << uint8(PiDigits[7]);
payload << uint8(Haiku[50]);
payload << uint8(Payload.PanamaKey[0]);
payload << uint8(address[10]);
payload << uint8(Payload.PanamaKey[27]);
payload << uint8(Payload.PanamaKey[21]);
payload << uint8(hmac[2]);
payload << uint8(PiDigits[37]);
payload << uint8(Haiku[61]);
payload << uint8(PiDigits[83]);
payload << uint8(PiDigits[47]);
payload << uint8(Haiku[37]);
payload << uint8(Haiku[46]);
payload << uint8(PiDigits[73]);
payload << uint8(Payload.PanamaKey[30]);
payload << uint8(address[9]);
payload << uint8(address[11]);
payload << uint8(PiDigits[20]);
payload << uint8(Haiku[54]);
payload << uint8(Payload.PanamaKey[23]);
payload << uint8(PiDigits[38]);
payload << uint8(hmac[1]);
payload << uint8(address[8]);
payload << uint8(PiDigits[43]);
payload << uint8(Payload.PanamaKey[15]);
payload << uint8(PiDigits[97]);
payload << uint8(Haiku[55]);
payload << uint8(Payload.PanamaKey[24]);
payload << uint8(PiDigits[36]);
payload << uint8(Haiku[48]);
payload << uint8(Haiku[41]);
payload << uint8(Haiku[22]);
payload << uint8(Payload.PanamaKey[18]);
payload << uint8(PiDigits[25]);
payload << uint8(Haiku[36]);
payload << uint8(PiDigits[52]);
payload << uint8(Haiku[53]);
payload << uint8(Haiku[15]);
payload << uint8(PiDigits[87]);
payload << uint8(PiDigits[21]);
payload << uint8(Payload.XorMagic);
payload << uint8(Payload.PanamaKey[1]);
payload << uint8(Haiku[44]);
payload << uint8(Payload.PanamaKey[16]);
payload << uint8(PiDigits[80]);
payload << uint8(address[12]);
payload << uint8(PiDigits[81]);
payload << uint8(Haiku[69]);
payload << uint8(PiDigits[61]);
payload << uint8(PiDigits[69]);
payload << uint8(PiDigits[96]);
payload << uint8(Haiku[68]);
payload << uint8(Haiku[18]);
payload << uint8(PiDigits[41]);
payload << uint8(Haiku[56]);
payload << uint8(PiDigits[74]);
payload << uint8(Payload.PanamaKey[7]);
payload << uint8(Haiku[20]);
payload << uint8(PiDigits[3]);
payload << uint8(hmac[4]);
payload << uint8(Payload.PanamaKey[26]);
payload << uint8(Haiku[14]);
payload << uint8(Payload.PanamaKey[6]);
payload << uint8(Payload.PanamaKey[5]);
payload << uint8(PiDigits[89]);
payload << uint8(hmac[3]);
payload << uint8(PiDigits[60]);
payload << uint8(PiDigits[54]);
payload << uint8(Payload.PanamaKey[26]);
payload << uint8(hmac[14]);
payload << uint8(PiDigits[106]);
payload << uint8(Payload.PanamaKey[4]);
payload << uint8(PiDigits[18]);
payload << uint8(PiDigits[20]);
payload << uint8(Haiku[46]);
payload << uint8(address[7]);
payload << uint8(Payload.PanamaKey[10]);
payload << uint8(hmac[11]);
payload << uint8(Payload.PanamaKey[16]);
payload << uint8(PiDigits[101]);
payload << uint8(PiDigits[56]);
payload << uint8(hmac[2]);
payload << uint8(PiDigits[6]);
payload << uint8(PiDigits[84]);
payload << uint8(Haiku[52]);
payload << uint8(Payload.PanamaKey[15]);
payload << uint8(Payload.PanamaKey[7]);
payload << uint8(Payload.PanamaKey[3]);
payload << uint8(PiDigits[39]);
payload << uint8(Payload.PanamaKey[22]);
payload << uint8(hmac[0]);
payload << uint8(Haiku[2]);
payload << uint8(Payload.PanamaKey[12]);
payload << uint8(Payload.PanamaKey[20]);
payload << uint8(PiDigits[80]);
payload << uint8(Haiku[67]);
payload << uint8(Haiku[63]);
payload << uint8(PiDigits[47]);
payload << uint8(Payload.PanamaKey[23]);
payload << uint8(PiDigits[91]);
payload << uint8(Haiku[53]);
payload << uint8(Haiku[10]);
payload << uint8(address[0]);
payload << uint8(PiDigits[70]);
payload << uint8(PiDigits[8]);
payload << uint8(PiDigits[75]);
payload << uint8(address[8]);
payload << uint8(PiDigits[72]);
payload << uint8(Haiku[4]);
payload << uint8(Haiku[25]);
payload << uint8(Haiku[5]);
payload << uint8(Haiku[42]);
payload << uint8(hmac[13]);
payload << uint8(Haiku[40]);
payload << uint8(PiDigits[28]);
payload << uint8(Haiku[15]);
payload << uint8(PiDigits[51]);
payload << uint8(PiDigits[68]);
payload << uint8(Haiku[29]);
payload << uint8(PiDigits[45]);
payload << uint8(address[9]);
payload << uint8(Payload.PanamaKey[6]);
payload << uint8(Haiku[59]);
payload << uint8(Payload.PanamaKey[27]);
payload << uint8(Haiku[47]);
payload << uint8(hmac[5]);
payload << uint8(PiDigits[61]);
payload << uint8(hmac[19]);
payload << uint8(PiDigits[96]);
payload << uint8(Haiku[33]);
payload << uint8(Haiku[70]);
payload << uint8(PiDigits[86]);
payload << uint8(Haiku[14]);
payload << uint8(hmac[3]);
payload << uint8(Haiku[65]);
payload << uint8(PiDigits[71]);
payload << uint8(PiDigits[7]);
payload << uint8(PiDigits[19]);
payload << uint8(hmac[4]);
payload << uint8(Haiku[34]);
payload << uint8(PiDigits[29]);
payload << uint8(Haiku[3]);
payload << uint8(address[11]);
payload << uint8(address[2]);
payload << uint8(PiDigits[87]);
payload << uint8(PiDigits[94]);
payload << uint8(PiDigits[62]);
payload << uint8(Haiku[55]);
payload << uint8(PiDigits[32]);
payload << uint8(hmac[8]);
payload << uint8(PiDigits[4]);
payload << uint8(PiDigits[59]);
payload << uint8(PiDigits[63]);
payload << uint8(PiDigits[26]);
payload << uint8(PiDigits[36]);
payload << uint8(Haiku[7]);
payload << uint8(Haiku[16]);
payload << uint8(Haiku[69]);
payload << uint8(PiDigits[44]);
payload << uint8(PiDigits[67]);
payload << uint8(PiDigits[90]);
payload << uint8(Haiku[31]);
payload << uint8(Payload.PanamaKey[30]);
payload << uint8(Haiku[52]);
payload << uint8(PiDigits[32]);
payload << uint8(Haiku[29]);
payload << uint8(address[2]);
payload << uint8(PiDigits[44]);
payload << uint8(PiDigits[78]);
payload << uint8(Haiku[65]);
payload << uint8(PiDigits[51]);
payload << uint8(PiDigits[72]);
payload << uint8(PiDigits[53]);
payload << uint8(Haiku[49]);
payload << uint8(Haiku[44]);
payload << uint32(Payload.Adler32);
payload << uint8(Haiku[54]);
payload << uint8(PiDigits[15]);
payload << uint8(PiDigits[42]);
payload << uint8(PiDigits[74]);
payload << uint8(address[5]);
payload << uint8(hmac[16]);
payload << uint8(Haiku[22]);
payload << uint8(Haiku[32]);
payload << uint8(PiDigits[104]);
payload << uint8(hmac[10]);
payload << uint8(PiDigits[98]);
payload << uint8(Haiku[8]);
payload << uint8(PiDigits[65]);
payload << uint8(Haiku[11]);
payload << uint8(PiDigits[66]);
payload << uint8(address[12]);
payload << uint8(Payload.PanamaKey[8]);
payload << uint8(PiDigits[22]);
payload << uint8(PiDigits[58]);
payload << uint8(PiDigits[64]);
payload << uint8(Payload.PanamaKey[0]);
payload << uint8(PiDigits[93]);
payload << uint8(PiDigits[107]);
payload << uint8(PiDigits[38]);
payload << uint8(Haiku[48]);
payload << uint8(address[4]);
payload << uint8(PiDigits[48]);
payload << uint8(Payload.PanamaKey[19]);
payload << uint8(PiDigits[88]);
payload << uint8(PiDigits[31]);
payload << uint8(PiDigits[78]);
payload << uint8(PiDigits[103]);
payload << uint8(PiDigits[16]);
payload << uint8(Haiku[38]);
payload << uint8(PiDigits[14]);
payload << uint8(Haiku[30]);
payload << uint8(Payload.PanamaKey[2]);
payload << uint8(PiDigits[12]);
payload << uint8(Payload.PanamaKey[11]);
payload << uint8(PiDigits[30]);
payload << uint8(Haiku[61]);
payload << uint8(Haiku[64]);
payload << uint8(Haiku[56]);
payload << uint8(Payload.PanamaKey[17]);
payload << uint8(Haiku[18]);
payload << uint8(PiDigits[17]);
payload << uint8(address[6]);
payload << uint8(Payload.PanamaKey[29]);
payload << uint8(PiDigits[105]);
payload << uint8(PiDigits[10]);
payload << uint8(PiDigits[37]);
payload << uint8(PiDigits[13]);
payload << uint8(PiDigits[49]);
payload << uint8(Haiku[20]);
payload << uint8(address[13]);
payload << uint8(address[10]);
payload << uint8(Payload.XorMagic);
payload << uint8(hmac[17]);
payload << uint8(PiDigits[100]);
payload << uint8(port & 0xFF);
payload << uint8(Payload.PanamaKey[9]);
payload << uint8(PiDigits[0]);
payload << uint8(Haiku[58]);
payload << uint8(Haiku[66]);
payload << uint8(Payload.PanamaKey[21]);
payload << uint8(PiDigits[6]);
payload << uint8(Haiku[33]);
payload << uint8(Haiku[28]);
payload << uint8(PiDigits[92]);
payload << uint8(PiDigits[52]);
payload << uint8(Payload.PanamaKey[18]);
payload << uint8(hmac[15]);
payload << uint8(PiDigits[2]);
payload << uint8(Haiku[0]);
payload << uint8(Payload.PanamaKey[20]);
payload << uint8(PiDigits[75]);
payload << uint8(address[6]);
payload << uint8(PiDigits[86]);
payload << uint8(Haiku[60]);
payload << uint8(hmac[12]);
payload << uint8(Haiku[35]);
payload << uint8(PiDigits[45]);
payload << uint8(Haiku[67]);
payload << uint8(Haiku[26]);
payload << uint8(PiDigits[57]);
payload << uint8(PiDigits[90]);
payload << uint8(Haiku[5]);
payload << uint8(Haiku[13]);
payload << uint8(Haiku[8]);
payload << uint8(Haiku[17]);
payload << uint8(Payload.PanamaKey[10]);
payload << uint8(PiDigits[104]);
payload << uint8(address[0]);
payload << uint8(PiDigits[15]);
payload << uint8(hmac[19]);
payload << uint8(PiDigits[8]);
payload << uint8(PiDigits[64]);
payload << uint8(PiDigits[27]);
payload << uint8(Haiku[7]);
payload << uint8(hmac[10]);
payload << uint8(hmac[14]);
payload << uint8(Haiku[10]);
payload << uint8(Haiku[2]);
payload << uint8(address[14]);
payload << uint8(Haiku[21]);
payload << uint32(Payload.Adler32);
payload << uint8(Payload.PanamaKey[14]);
payload << uint8(Haiku[39]);
payload << uint8(Payload.PanamaKey[19]);
payload << uint8(PiDigits[16]);
payload << uint8(PiDigits[91]);
payload << uint8(hmac[6]);
payload << uint8(PiDigits[83]);
payload << uint8(addressType);
payload << uint8(hmac[16]);
payload << uint8(PiDigits[63]);
payload << uint8(PiDigits[12]);
payload << uint8(PiDigits[102]);
payload << uint8(PiDigits[62]);
payload << uint8(PiDigits[22]);
payload << uint8(Haiku[32]);
payload << uint8(PiDigits[14]);
payload << uint8(PiDigits[30]);
payload << uint8(Haiku[16]);
payload << uint8(Haiku[47]);
payload << uint8(Haiku[9]);
payload << uint8(PiDigits[34]);
payload << uint8(Payload.PanamaKey[4]);
payload << uint8(PiDigits[29]);
payload << uint8(PiDigits[76]);
payload << uint8(Haiku[40]);
payload << uint8(Haiku[59]);
payload << uint8(PiDigits[5]);
payload << uint8(PiDigits[31]);
payload << uint8(Haiku[43]);
payload << uint8(Haiku[3]);
payload << uint8(PiDigits[0]);
payload << uint8(PiDigits[49]);
payload << uint8(Haiku[24]);
payload << uint8(Payload.PanamaKey[17]);
payload << uint8(Haiku[62]);
payload << uint8(Payload.PanamaKey[13]);
payload << uint8(hmac[5]);
payload << uint8(Haiku[27]);
payload << uint8(hmac[13]);
payload << uint8(address[5]);
payload << uint8(Payload.PanamaKey[3]);
payload << uint8(PiDigits[71]);
payload << uint8(Haiku[38]);
payload << uint8(PiDigits[98]);
payload << uint8(PiDigits[100]);
payload << uint8(PiDigits[66]);
payload << uint8(Haiku[6]);
payload << uint8(PiDigits[40]);
payload << uint8(Haiku[31]);
payload << uint8(PiDigits[17]);
payload << uint8(PiDigits[92]);
payload << uint8(address[3]);
payload << uint8(Payload.PanamaKey[8]);
payload << uint8(PiDigits[88]);
payload << uint8(PiDigits[65]);
payload << uint8(Payload.PanamaKey[31]);
payload << uint8(PiDigits[58]);
payload << uint8(Payload.PanamaKey[2]);
payload << uint8(PiDigits[79]);
payload << uint8(Haiku[66]);
payload << uint8(PiDigits[24]);
payload << uint8(Haiku[34]);
payload << uint8(PiDigits[77]);
payload << uint8(Haiku[58]);
payload << uint8(Haiku[1]);
payload << uint8(PiDigits[10]);
payload << uint8(PiDigits[107]);
payload << uint8(PiDigits[55]);
payload << uint8(Haiku[12]);
payload << uint8(PiDigits[106]);
payload << uint8(hmac[8]);
payload << uint8(PiDigits[105]);
payload << uint8(Payload.PanamaKey[12]);
payload << uint8(PiDigits[4]);
payload << uint8(PiDigits[11]);
payload << uint8(PiDigits[99]);
payload << uint8(Haiku[23]);
payload << uint8(Haiku[42]);
payload << uint8(Haiku[4]);
payload << uint8(PiDigits[19]);
payload << uint8(PiDigits[48]);
payload << uint8(PiDigits[85]);
payload << uint8(hmac[15]);
payload << uint8(PiDigits[82]);
payload << uint8(PiDigits[103]);
payload << uint8(address[13]);
payload << uint8(PiDigits[23]);
payload << uint8(Haiku[64]);
payload << uint8(Haiku[11]);
payload << uint8(hmac[11]);
payload << uint8(hmac[0]);
payload << uint8(PiDigits[68]);
payload << uint8(Haiku[57]);
payload << uint8(hmac[18]);
payload << uint8(PiDigits[9]);
payload << uint8(hmac[9]);
payload << uint8(hmac[7]);
payload << uint8(Payload.PanamaKey[29]);
payload << uint8(Haiku[51]);
payload << uint8(Payload.PanamaKey[11]);
payload << uint8(Haiku[25]);
payload << uint8(Payload.PanamaKey[22]);
payload << uint8(address[7]);
payload << uint8(hmac[17]);
payload << uint8(PiDigits[35]);
payload << uint8(PiDigits[84]);
payload << uint8(PiDigits[33]);
payload << uint8(Payload.PanamaKey[25]);
payload << uint8(port & 0xFF);
payload << uint8(Payload.PanamaKey[28]);
BigNumber bnData;
bnData.SetBinary(payload.contents(), payload.size());
@@ -94,12 +94,12 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read()
case CMSG_CHANNEL_MUTE:
case CMSG_CHANNEL_SET_OWNER:
case CMSG_CHANNEL_SILENCE_ALL:
//case CMSG_CHANNEL_SILENCE_VOICE:
case CMSG_CHANNEL_SILENCE_VOICE:
case CMSG_CHANNEL_UNBAN:
case CMSG_CHANNEL_UNMODERATOR:
case CMSG_CHANNEL_UNMUTE:
//case CMSG_CHANNEL_UNSILENCE_ALL:
//case CMSG_CHANNEL_UNSILENCE_VOICE:
case CMSG_CHANNEL_UNSILENCE_ALL:
case CMSG_CHANNEL_UNSILENCE_VOICE:
{
uint32 channelNameLength = _worldPacket.ReadBits(7);
uint32 nameLength = _worldPacket.ReadBits(9);
@@ -107,14 +107,14 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read()
Name = _worldPacket.ReadString(nameLength);
break;
}
//case CMSG_CHANNEL_ANNOUNCEMENTS:
//case CMSG_CHANNEL_DECLINE_INVITE:
//case CMSG_CHANNEL_DISPLAY_LIST:
//case CMSG_CHANNEL_LIST:
case CMSG_CHANNEL_ANNOUNCEMENTS:
case CMSG_CHANNEL_DECLINE_INVITE:
case CMSG_CHANNEL_DISPLAY_LIST:
case CMSG_CHANNEL_LIST:
//case CMSG_CHANNEL_MODERATE:
//case CMSG_CHANNEL_OWNER:
//case CMSG_CHANNEL_VOICE_OFF:
//case CMSG_CHANNEL_VOICE_ON:
case CMSG_CHANNEL_OWNER:
case CMSG_CHANNEL_VOICE_OFF:
case CMSG_CHANNEL_VOICE_ON:
{
ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7));
break;
+11 -11
View File
@@ -104,28 +104,28 @@ namespace WorldPackets
{
default:
ASSERT(false);
//case CMSG_CHANNEL_ANNOUNCEMENTS:
case CMSG_CHANNEL_ANNOUNCEMENTS:
case CMSG_CHANNEL_BAN:
//case CMSG_CHANNEL_DECLINE_INVITE:
//case CMSG_CHANNEL_DISPLAY_LIST:
case CMSG_CHANNEL_DECLINE_INVITE:
case CMSG_CHANNEL_DISPLAY_LIST:
case CMSG_CHANNEL_INVITE:
case CMSG_CHANNEL_KICK:
//case CMSG_CHANNEL_LIST:
case CMSG_CHANNEL_LIST:
//case CMSG_CHANNEL_MODERATE:
case CMSG_CHANNEL_MODERATOR:
case CMSG_CHANNEL_MUTE:
//case CMSG_CHANNEL_OWNER:
case CMSG_CHANNEL_OWNER:
case CMSG_CHANNEL_PASSWORD:
case CMSG_CHANNEL_SET_OWNER:
//case CMSG_CHANNEL_SILENCE_ALL:
//case CMSG_CHANNEL_SILENCE_VOICE:
case CMSG_CHANNEL_SILENCE_ALL:
case CMSG_CHANNEL_SILENCE_VOICE:
case CMSG_CHANNEL_UNBAN:
case CMSG_CHANNEL_UNMODERATOR:
case CMSG_CHANNEL_UNMUTE:
//case CMSG_CHANNEL_UNSILENCE_ALL:
//case CMSG_CHANNEL_UNSILENCE_VOICE:
//case CMSG_CHANNEL_VOICE_OFF:
//case CMSG_CHANNEL_VOICE_ON:
case CMSG_CHANNEL_UNSILENCE_ALL:
case CMSG_CHANNEL_UNSILENCE_VOICE:
case CMSG_CHANNEL_VOICE_OFF:
case CMSG_CHANNEL_VOICE_ON:
break;
}
}
@@ -428,3 +428,18 @@ void WorldPackets::Character::SetTitle::Read()
{
_worldPacket >> TitleID;
}
void WorldPackets::Character::AlterApperance::Read()
{
_worldPacket >> NewHairStyle;
_worldPacket >> NewHairColor;
_worldPacket >> NewFacialHair;
_worldPacket >> NewSkinColor;
_worldPacket >> Unk;
}
WorldPacket const* WorldPackets::Character::BarberShopResultServer::Write()
{
_worldPacket << int32(Result);
return &_worldPacket;
}
@@ -162,7 +162,7 @@ namespace WorldPackets
uint8 Race = 0;
};
EnumCharactersResult() : ServerPacket(SMSG_CHAR_ENUM) { }
EnumCharactersResult() : ServerPacket(SMSG_ENUM_CHARACTERS_RESULT) { }
WorldPacket const* Write() override;
@@ -199,7 +199,7 @@ namespace WorldPackets
class CharacterCreateResponse final : public ServerPacket
{
public:
CharacterCreateResponse() : ServerPacket(SMSG_CHAR_CREATE, 1) { }
CharacterCreateResponse() : ServerPacket(SMSG_CREATE_CHAR, 1) { }
WorldPacket const* Write() override;
@@ -219,7 +219,7 @@ namespace WorldPackets
class CharacterDeleteResponse final : public ServerPacket
{
public:
CharacterDeleteResponse(): ServerPacket(SMSG_CHAR_DELETE, 1) { }
CharacterDeleteResponse(): ServerPacket(SMSG_DELETE_CHAR, 1) { }
WorldPacket const* Write() override;
@@ -243,7 +243,7 @@ namespace WorldPackets
class CharacterRenameResult final : public ServerPacket
{
public:
CharacterRenameResult() : ServerPacket(SMSG_CHAR_RENAME, 20) { }
CharacterRenameResult() : ServerPacket(SMSG_CHARACTER_RENAME_RESULT, 20) { }
WorldPacket const* Write() override;
@@ -311,7 +311,7 @@ namespace WorldPackets
uint8 RaceID = RACE_NONE;
};
CharFactionChangeResult() : ServerPacket(SMSG_CHAR_FACTION_CHANGE, 20 + sizeof(CharFactionChangeDisplayInfo)) { }
CharFactionChangeResult() : ServerPacket(SMSG_CHAR_FACTION_CHANGE_RESULT, 20 + sizeof(CharFactionChangeDisplayInfo)) { }
WorldPacket const* Write() override;
@@ -334,7 +334,7 @@ namespace WorldPackets
class GenerateRandomCharacterNameResult final : public ServerPacket
{
public:
GenerateRandomCharacterNameResult() : ServerPacket(SMSG_RANDOMIZE_CHAR_NAME, 20) { }
GenerateRandomCharacterNameResult() : ServerPacket(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, 20) { }
WorldPacket const* Write() override;
@@ -586,6 +586,30 @@ namespace WorldPackets
int32 TitleID = 0;
};
class AlterApperance final : public ClientPacket
{
public:
AlterApperance(WorldPacket&& packet) : ClientPacket(CMSG_ALTER_APPEARANCE, std::move(packet)) { }
void Read() override;
uint32 NewHairStyle = 0;
uint32 NewHairColor = 0;
uint32 NewFacialHair = 0;
uint32 NewSkinColor = 0;
uint32 Unk = 0;
};
class BarberShopResultServer final : public ServerPacket
{
public:
BarberShopResultServer() : ServerPacket(SMSG_BARBER_SHOP_RESULT, 4) { }
WorldPacket const* Write() override;
BarberShopResult Result;
};
}
}
@@ -152,7 +152,7 @@ WorldPacket const* WorldPackets::Chat::Chat::Write()
_worldPacket.WriteBits(Prefix.length(), 5);
_worldPacket.WriteBits(_Channel.length(), 7);
_worldPacket.WriteBits(ChatText.length(), 12);
_worldPacket.WriteBits(_ChatFlags, 10);
_worldPacket.WriteBits(_ChatFlags, 11);
_worldPacket.WriteBit(HideChatLog);
_worldPacket.WriteBit(FakeSenderName);
_worldPacket.WriteString(SenderName);
+3 -3
View File
@@ -130,11 +130,11 @@ namespace WorldPackets
std::string Text;
};
// SMSG_MESSAGECHAT
// SMSG_CHAT
class Chat final : public ServerPacket
{
public:
Chat() : ServerPacket(SMSG_MESSAGECHAT, 100) { }
Chat() : ServerPacket(SMSG_CHAT, 100) { }
void Initalize(ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string message, uint32 achievementId = 0, std::string channelName = "", LocaleConstant locale = DEFAULT_LOCALE, std::string addonPrefix = "");
WorldPacket const* Write() override;
@@ -200,7 +200,7 @@ namespace WorldPackets
class PrintNotification final : public ServerPacket
{
public:
PrintNotification(std::string const& notifyText) : ServerPacket(SMSG_NOTIFICATION, 2 + notifyText.size()), NotifyText(notifyText) { }
PrintNotification(std::string const& notifyText) : ServerPacket(SMSG_PRINT_NOTIFICATION, 2 + notifyText.size()), NotifyText(notifyText) { }
WorldPacket const* Write() override;
@@ -54,7 +54,7 @@ namespace WorldPackets
class ClientCacheVersion final : public ServerPacket
{
public:
ClientCacheVersion() : ServerPacket(SMSG_CLIENTCACHE_VERSION, 4) { }
ClientCacheVersion() : ServerPacket(SMSG_CACHE_VERSION, 4) { }
WorldPacket const* Write() override;
@@ -50,7 +50,7 @@ namespace WorldPackets
class EnvironmentalDamageLog final : public ServerPacket
{
public:
EnvironmentalDamageLog() : ServerPacket(SMSG_ENVIRONMENTALDAMAGELOG, 23) { }
EnvironmentalDamageLog() : ServerPacket(SMSG_ENVIRONMENTAL_DAMAGE_LOG, 23) { }
WorldPacket const* Write() override;
@@ -31,7 +31,7 @@ WorldPacket const* WorldPackets::Combat::AttackStart::Write()
return &_worldPacket;
}
WorldPackets::Combat::SAttackStop::SAttackStop(Unit const* attacker, Unit const* victim) : ServerPacket(SMSG_ATTACKSTOP, 16 + 16 + 1)
WorldPackets::Combat::SAttackStop::SAttackStop(Unit const* attacker, Unit const* victim) : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1)
{
Attacker = attacker->GetGUID();
if (victim)
@@ -39,8 +39,8 @@ namespace WorldPackets
class AttackSwingError final : public ServerPacket
{
public:
AttackSwingError() : ServerPacket(SMSG_ATTACKSWING_ERROR, 4) { }
AttackSwingError(AttackSwingErr reason) : ServerPacket(SMSG_ATTACKSWING_ERROR, 4), Reason(reason) { }
AttackSwingError() : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4) { }
AttackSwingError(AttackSwingErr reason) : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4), Reason(reason) { }
WorldPacket const* Write() override;
@@ -58,7 +58,7 @@ namespace WorldPackets
class AttackStart final : public ServerPacket
{
public:
AttackStart() : ServerPacket(SMSG_ATTACKSTART, 16) { }
AttackStart() : ServerPacket(SMSG_ATTACK_START, 16) { }
WorldPacket const* Write() override;
@@ -69,7 +69,7 @@ namespace WorldPackets
class SAttackStop final : public ServerPacket
{
public:
SAttackStop() : ServerPacket(SMSG_ATTACKSTOP, 16 + 16 + 1) { }
SAttackStop() : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1) { }
SAttackStop(Unit const* attacker, Unit const* victim);
WorldPacket const* Write() override;
@@ -158,7 +158,7 @@ namespace WorldPackets
class AttackerStateUpdate final : public ServerPacket
{
public:
AttackerStateUpdate() : ServerPacket(SMSG_ATTACKERSTATEUPDATE, 70) { }
AttackerStateUpdate() : ServerPacket(SMSG_ATTACKER_STATE_UPDATE, 70) { }
WorldPacket const* Write() override;
@@ -27,7 +27,7 @@ namespace WorldPackets
class EquipmentSetID final : public ServerPacket
{
public:
EquipmentSetID() : ServerPacket(SMSG_EQUIPMENT_SET_SAVED, 8 + 4) { }
EquipmentSetID() : ServerPacket(SMSG_EQUIPMENT_SET_ID, 8 + 4) { }
WorldPacket const* Write() override;
@@ -38,7 +38,7 @@ namespace WorldPackets
class LoadEquipmentSet final : public ServerPacket
{
public:
LoadEquipmentSet() : ServerPacket(SMSG_EQUIPMENT_SET_LIST, 4) { }
LoadEquipmentSet() : ServerPacket(SMSG_LOAD_EQUIPMENT_SET, 4) { }
WorldPacket const* Write() override;
@@ -24,7 +24,7 @@ void WorldPackets::Guild::QueryGuildInfo::Read()
}
WorldPackets::Guild::QueryGuildInfoResponse::QueryGuildInfoResponse()
: ServerPacket(SMSG_GUILD_QUERY_RESPONSE) { }
: ServerPacket(SMSG_QUERY_GUILD_INFO_RESPONSE) { }
WorldPacket const* WorldPackets::Guild::QueryGuildInfoResponse::Write()
{
@@ -648,7 +648,7 @@ namespace WorldPackets
class GuildPartyState final : public ServerPacket
{
public:
GuildPartyState() : ServerPacket(SMSG_GUILD_PARTY_STATE_RESPONSE, 15) { }
GuildPartyState() : ServerPacket(SMSG_GUILD_PARTY_STATE, 15) { }
WorldPacket const* Write() override;
@@ -682,7 +682,7 @@ namespace WorldPackets
class GuildRewardList final : public ServerPacket
{
public:
GuildRewardList() : ServerPacket(SMSG_GUILD_REWARDS_LIST, 8) { }
GuildRewardList() : ServerPacket(SMSG_GUILD_REWARD_LIST, 8) { }
WorldPacket const* Write() override;
@@ -866,7 +866,7 @@ namespace WorldPackets
class GuildBankLogQueryResults final : public ServerPacket
{
public:
GuildBankLogQueryResults() : ServerPacket(SMSG_GUILD_BANK_LOG_QUERY_RESULT, 25) { }
GuildBankLogQueryResults() : ServerPacket(SMSG_GUILD_BANK_LOG_QUERY_RESULTS, 25) { }
WorldPacket const* Write() override;
@@ -1000,7 +1000,7 @@ namespace WorldPackets
class PlayerSaveGuildEmblem final : public ServerPacket
{
public:
PlayerSaveGuildEmblem() : ServerPacket(SMSG_SAVE_GUILD_EMBLEM, 4) { }
PlayerSaveGuildEmblem() : ServerPacket(SMSG_PLAYER_SAVE_GUILD_EMBLEM, 4) { }
WorldPacket const* Write() override;
+1 -1
View File
@@ -137,7 +137,7 @@ namespace WorldPackets
class MailCommandResult final : public ServerPacket
{
public:
MailCommandResult() : ServerPacket(SMSG_SEND_MAIL_RESULT) { }
MailCommandResult() : ServerPacket(SMSG_MAIL_COMMAND_RESULT) { }
WorldPacket const* Write() override;
+13 -5
View File
@@ -33,7 +33,7 @@ namespace WorldPackets
class BindPointUpdate final : public ServerPacket
{
public:
BindPointUpdate() : ServerPacket(SMSG_BINDPOINTUPDATE, 20) { }
BindPointUpdate() : ServerPacket(SMSG_BIND_POINT_UPDATE, 20) { }
WorldPacket const* Write() override;
@@ -78,7 +78,7 @@ namespace WorldPackets
class LoginSetTimeSpeed final : public ServerPacket
{
public:
LoginSetTimeSpeed() : ServerPacket(SMSG_LOGIN_SETTIMESPEED, 20) { }
LoginSetTimeSpeed() : ServerPacket(SMSG_LOGIN_SET_TIME_SPEED, 20) { }
WorldPacket const* Write() override;
@@ -147,7 +147,7 @@ namespace WorldPackets
class TimeSyncRequest final : public ServerPacket
{
public:
TimeSyncRequest() : ServerPacket(SMSG_TIME_SYNC_REQ, 4) { }
TimeSyncRequest() : ServerPacket(SMSG_TIME_SYNC_REQUEST, 4) { }
WorldPacket const* Write() override;
@@ -289,7 +289,7 @@ namespace WorldPackets
class RaidDifficultySet final : public ServerPacket
{
public:
RaidDifficultySet() : ServerPacket(SMSG_SET_RAID_DIFFICULTY, 4 + 1) { }
RaidDifficultySet() : ServerPacket(SMSG_RAID_DIFFICULTY_SET, 4 + 1) { }
WorldPacket const* Write() override;
@@ -483,7 +483,7 @@ namespace WorldPackets
class LevelUpInfo final : public ServerPacket
{
public:
LevelUpInfo() : ServerPacket(SMSG_LEVELUP_INFO, 56) { }
LevelUpInfo() : ServerPacket(SMSG_LEVEL_UP_INFO, 56) { }
WorldPacket const* Write() override;
@@ -530,6 +530,14 @@ namespace WorldPackets
int32 Max = 0;
int32 Result = 0;
};
class EnableBarberShop final : public ServerPacket
{
public:
EnableBarberShop() : ServerPacket(SMSG_ENABLE_BARBER_SHOP, 0) { }
WorldPacket const* Write() override { return &_worldPacket; }
};
}
}
+2 -2
View File
@@ -115,7 +115,7 @@ namespace WorldPackets
class VendorInventory final : public ServerPacket
{
public:
VendorInventory() : ServerPacket(SMSG_LIST_INVENTORY, 600) { }
VendorInventory() : ServerPacket(SMSG_VENDOR_INVENTORY, 600) { }
WorldPacket const* Write() override;
@@ -162,7 +162,7 @@ namespace WorldPackets
class PlayerTabardVendorActivate final : public ServerPacket
{
public:
PlayerTabardVendorActivate() : ServerPacket(SMSG_TABARD_VENDOR_ACTIVATE, 16) { }
PlayerTabardVendorActivate() : ServerPacket(SMSG_PLAYER_TABARD_VENDOR_ACTIVATE, 16) { }
WorldPacket const* Write() override;
@@ -189,7 +189,7 @@ namespace WorldPackets
class TurnInPetitionResult final : public ServerPacket
{
public:
TurnInPetitionResult() : ServerPacket(SMSG_TURN_IN_PETITION_RESULTS, 4) { }
TurnInPetitionResult() : ServerPacket(SMSG_TURN_IN_PETITION_RESULT, 4) { }
WorldPacket const* Write() override;
@@ -64,7 +64,7 @@ namespace WorldPackets
class QueryCreatureResponse final : public ServerPacket
{
public:
QueryCreatureResponse() : ServerPacket(SMSG_CREATURE_QUERY_RESPONSE, 76) { }
QueryCreatureResponse() : ServerPacket(SMSG_QUERY_CREATURE_RESPONSE, 76) { }
WorldPacket const* Write() override;
@@ -109,7 +109,7 @@ namespace WorldPackets
class QueryPlayerNameResponse final : public ServerPacket
{
public:
QueryPlayerNameResponse() : ServerPacket(SMSG_NAME_QUERY_RESPONSE, 60) { }
QueryPlayerNameResponse() : ServerPacket(SMSG_QUERY_PLAYER_NAME_RESPONSE, 60) { }
WorldPacket const* Write() override;
@@ -139,7 +139,7 @@ namespace WorldPackets
class QueryPageTextResponse final : public ServerPacket
{
public:
QueryPageTextResponse() : ServerPacket(SMSG_PAGE_TEXT_QUERY_RESPONSE, 15) { }
QueryPageTextResponse() : ServerPacket(SMSG_QUERY_PAGE_TEXT_RESPONSE, 15) { }
WorldPacket const* Write() override;
@@ -162,7 +162,7 @@ namespace WorldPackets
class QueryNPCTextResponse final : public ServerPacket
{
public:
QueryNPCTextResponse() : ServerPacket(SMSG_NPC_TEXT_UPDATE, 73) { }
QueryNPCTextResponse() : ServerPacket(SMSG_QUERY_NPC_TEXT_RESPONSE, 73) { }
WorldPacket const* Write() override;
@@ -246,7 +246,7 @@ namespace WorldPackets
class QueryGameObjectResponse final : public ServerPacket
{
public:
QueryGameObjectResponse() : ServerPacket(SMSG_GAMEOBJECT_QUERY_RESPONSE, 165) { }
QueryGameObjectResponse() : ServerPacket(SMSG_QUERY_GAME_OBJECT_RESPONSE, 165) { }
WorldPacket const* Write() override;
@@ -59,7 +59,7 @@ namespace WorldPackets
class QuestGiverStatus final : public ServerPacket
{
public:
QuestGiverStatus() : ServerPacket(SMSG_QUESTGIVER_STATUS, 22) { }
QuestGiverStatus() : ServerPacket(SMSG_QUEST_GIVER_STATUS, 22) { }
WorldPacket const* Write() override;
@@ -69,7 +69,7 @@ namespace WorldPackets
class QuestGiverStatusMultiple final : public ServerPacket
{
public:
QuestGiverStatusMultiple() : ServerPacket(SMSG_QUESTGIVER_STATUS_MULTIPLE, 24) { }
QuestGiverStatusMultiple() : ServerPacket(SMSG_QUEST_GIVER_STATUS_MULTIPLE, 24) { }
WorldPacket const* Write() override;
@@ -172,7 +172,7 @@ namespace WorldPackets
class QueryQuestInfoResponse final : public ServerPacket
{
public:
QueryQuestInfoResponse() : ServerPacket(SMSG_QUEST_QUERY_RESPONSE, 1200) { }
QueryQuestInfoResponse() : ServerPacket(SMSG_QUERY_QUEST_INFO_RESPONSE, 1200) { }
WorldPacket const* Write() override;
@@ -247,7 +247,7 @@ namespace WorldPackets
class QuestGiverOfferRewardMessage final : public ServerPacket
{
public:
QuestGiverOfferRewardMessage() : ServerPacket(SMSG_QUESTGIVER_OFFER_REWARD, 600) { }
QuestGiverOfferRewardMessage() : ServerPacket(SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE, 600) { }
WorldPacket const* Write() override;
@@ -278,7 +278,7 @@ namespace WorldPackets
class QuestGiverQuestComplete final : public ServerPacket
{
public:
QuestGiverQuestComplete() : ServerPacket(SMSG_QUESTGIVER_QUEST_COMPLETE, 40) { }
QuestGiverQuestComplete() : ServerPacket(SMSG_QUEST_GIVER_QUEST_COMPLETE, 40) { }
WorldPacket const* Write() override;
@@ -318,7 +318,7 @@ namespace WorldPackets
class QuestGiverQuestDetails final : public ServerPacket
{
public:
QuestGiverQuestDetails() : ServerPacket(SMSG_QUESTGIVER_QUEST_DETAILS, 1000) { }
QuestGiverQuestDetails() : ServerPacket(SMSG_QUEST_GIVER_QUEST_DETAILS, 1000) { }
WorldPacket const* Write() override;
@@ -363,7 +363,7 @@ namespace WorldPackets
class QuestGiverRequestItems final : public ServerPacket
{
public:
QuestGiverRequestItems() : ServerPacket(SMSG_QUESTGIVER_REQUEST_ITEMS, 300) { }
QuestGiverRequestItems() : ServerPacket(SMSG_QUEST_GIVER_REQUEST_ITEMS, 300) { }
WorldPacket const* Write() override;
@@ -69,7 +69,7 @@ namespace WorldPackets
class FriendStatus final : public ServerPacket
{
public:
FriendStatus() : ServerPacket(SMSG_CONTACT_STATUS, 38) { }
FriendStatus() : ServerPacket(SMSG_FRIEND_STATUS, 38) { }
void Initialize(ObjectGuid const& guid, FriendsResult result, FriendInfo const& friendInfo);
@@ -50,7 +50,7 @@ namespace WorldPackets
int32 ModCooldown = 0; ///< Reduced Cooldown in ms
};
CategoryCooldown() : ServerPacket(SMSG_SPELL_CATEGORY_COOLDOWN, 4) { }
CategoryCooldown() : ServerPacket(SMSG_CATEGORY_COOLDOWN, 4) { }
WorldPacket const* Write() override;
@@ -60,7 +60,7 @@ namespace WorldPackets
class SendKnownSpells final : public ServerPacket
{
public:
SendKnownSpells() : ServerPacket(SMSG_INITIAL_SPELLS, 5) { }
SendKnownSpells() : ServerPacket(SMSG_SEND_KNOWN_SPELLS, 5) { }
WorldPacket const* Write() override;
@@ -71,7 +71,7 @@ namespace WorldPackets
class UpdateActionButtons final : public ServerPacket
{
public:
UpdateActionButtons() : ServerPacket(SMSG_ACTION_BUTTONS, MAX_ACTION_BUTTONS * 8 + 1)
UpdateActionButtons() : ServerPacket(SMSG_UPDATE_ACTION_BUTTONS, MAX_ACTION_BUTTONS * 8 + 1)
{
std::memset(ActionButtons, 0, sizeof(ActionButtons));
}
@@ -26,7 +26,9 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write()
_worldPacket << uint32(CfgRealmID);
_worldPacket << int32(CfgRealmRecID);
_worldPacket << uint32(UnkInt27);
_worldPacket << uint32(UnkInt29);
_worldPacket << uint32(TwitterMsTillCanPost);
_worldPacket << uint32(TokenPollTimeSeconds);
_worldPacket << uint32(TokenRedeemIndex);
_worldPacket.WriteBit(VoiceEnabled);
_worldPacket.WriteBit(EuropaTicketSystemStatus.HasValue);
@@ -43,6 +45,9 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write()
_worldPacket.WriteBit(TutorialsEnabled);
_worldPacket.WriteBit(UnkBit90);
_worldPacket.WriteBit(TwitterEnabled);
_worldPacket.WriteBit(CommerceSystemEnabled);
_worldPacket.WriteBit(Unk67);
_worldPacket.WriteBit(WillKickFromWorld);
_worldPacket.WriteBit(UnkBit61);
_worldPacket.FlushBits();
@@ -85,8 +90,14 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatusGlueScreen::Write()
_worldPacket.WriteBit(BpayStoreAvailable);
_worldPacket.WriteBit(BpayStoreDisabledByParentalControls);
_worldPacket.WriteBit(CharUndeleteEnabled);
_worldPacket.WriteBit(CommerceSystemEnabled);
_worldPacket.WriteBit(Unk14);
_worldPacket.WriteBit(WillKickFromWorld);
_worldPacket.FlushBits();
_worldPacket << int32(TokenPollTimeSeconds);
_worldPacket << int32(TokenRedeemIndex);
return &_worldPacket;
}
+11 -1
View File
@@ -70,11 +70,16 @@ namespace WorldPackets
uint8 ComplaintStatus = 0;
int32 CfgRealmRecID = 0;
int32 UnkInt27 = 0;
int32 UnkInt29 = 0;
int32 TwitterMsTillCanPost = 0;
int32 TokenPollTimeSeconds = 0;
int32 TokenRedeemIndex = 0;
bool ItemRestorationButtonEnabled = false;
bool CharUndeleteEnabled = false; ///< Implemented
bool BpayStoreDisabledByParentalControls = false;
bool TwitterEnabled = false;
bool CommerceSystemEnabled = false;
bool Unk67 = false;
bool WillKickFromWorld = false;
bool RestrictedAccount = false;
bool TutorialsEnabled = false;
@@ -93,6 +98,11 @@ namespace WorldPackets
bool BpayStoreDisabledByParentalControls = false; // NYI
bool CharUndeleteEnabled = false;
bool BpayStoreEnabled = false; // NYI
bool CommerceSystemEnabled = false; // NYI
bool Unk14 = false; // NYI
bool WillKickFromWorld = false; // NYI
int32 TokenPollTimeSeconds = 0; // NYI
int32 TokenRedeemIndex = 0; // NYI
};
class MOTD final : public ServerPacket
@@ -41,7 +41,7 @@ namespace WorldPackets
class UpdateTalentData final : public ServerPacket
{
public:
UpdateTalentData() : ServerPacket(SMSG_TALENTS_INFO, 2+4+4+4+12) { }
UpdateTalentData() : ServerPacket(SMSG_UPDATE_TALENT_DATA, 2+4+4+4+12) { }
WorldPacket const* Write() override;
+2 -2
View File
@@ -29,7 +29,7 @@ namespace WorldPackets
class WhoIsRequest final : public ClientPacket
{
public:
WhoIsRequest(WorldPacket&& packet) : ClientPacket(CMSG_WHOIS, std::move(packet)) { }
WhoIsRequest(WorldPacket&& packet) : ClientPacket(CMSG_WHO_IS, std::move(packet)) { }
void Read() override;
@@ -39,7 +39,7 @@ namespace WorldPackets
class WhoIsResponse final : public ServerPacket
{
public:
WhoIsResponse() : ServerPacket(SMSG_WHOIS, 2) { }
WhoIsResponse() : ServerPacket(SMSG_WHO_IS, 2) { }
WorldPacket const* Write() override;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -86,7 +86,7 @@ void PacketLog::Initialize()
header.Signature[0] = 'P'; header.Signature[1] = 'K'; header.Signature[2] = 'T';
header.FormatVersion = 0x0301;
header.SnifferId = 'T';
header.Build = 19678; // 6.1.0
header.Build = 19802; // 6.1.2
header.Locale[0] = 'e'; header.Locale[1] = 'n'; header.Locale[2] = 'U'; header.Locale[3] = 'S';
std::memset(header.SessionKey, 0, sizeof(header.SessionKey));
header.SniffStartUnixtime = time(NULL);
+21 -20
View File
@@ -283,6 +283,7 @@ void WorldSession::SendPacket(WorldPacket const* packet, bool forced /*= false*/
sScriptMgr->OnPacketSend(this, *packet);
TC_LOG_TRACE("network.opcode", "S->C: %s %s", GetPlayerInfo().c_str(), GetOpcodeNameForLogging(static_cast<OpcodeServer>(packet->GetOpcode())).c_str());
m_Socket[conIdx]->SendPacket(*packet);
}
@@ -1204,12 +1205,12 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
{
uint32 maxPacketCounterAllowed;
switch (opcode)
{/*
{
// CPU usage sending 2000 packets/second on a 3.70 GHz 4 cores on Win x64
// [% CPU mysqld] [%CPU worldserver RelWithDebInfo]
case CMSG_PLAYER_LOGIN: // 0 0.5
case CMSG_NAME_QUERY: // 0 1
case CMSG_PET_NAME_QUERY: // 0 1
//case CMSG_PET_NAME_QUERY: // 0 1
case CMSG_NPC_TEXT_QUERY: // 0 1
case CMSG_ATTACKSTOP: // 0 1
//case CMSG_QUERY_TIME: // 0 1
@@ -1243,12 +1244,12 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
//case CMSG_REQUEST_PARTY_MEMBER_STATS: // 0 1.5
case CMSG_QUESTGIVER_COMPLETE_QUEST: // 0 1.5
case CMSG_SET_ACTION_BUTTON: // 0 1.5
case CMSG_RESET_INSTANCES: // 0 1.5
case CMSG_HEARTH_AND_RESURRECT: // 0 1.5
//case CMSG_RESET_INSTANCES: // 0 1.5
//case CMSG_HEARTH_AND_RESURRECT: // 0 1.5
case CMSG_TOGGLE_PVP: // 0 1.5
case CMSG_PET_ABANDON: // 0 1.5
case CMSG_ACTIVATE_TAXI_EXPRESS: // 0 1.5
case CMSG_ACTIVATE_TAXI: // 0 1.5
//case CMSG_ACTIVATE_TAXI_EXPRESS: // 0 1.5
//case CMSG_ACTIVATE_TAXI: // 0 1.5
case CMSG_SELF_RES: // 0 1.5
case CMSG_UNLEARN_SKILL: // 0 1.5
case CMSG_EQUIPMENT_SET_SAVE: // 0 1.5
@@ -1259,13 +1260,13 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
//case CMSG_GROUP_INVITE_RESPONSE: // 0 1.5
//case CMSG_GROUP_UNINVITE_GUID: // 0 1.5
//case CMSG_LEAVE_GROUP: // 0 1.5
case CMSG_BATTLEMASTER_JOIN_ARENA: // 0 1.5
//case CMSG_BATTLEMASTER_JOIN_ARENA: // 0 1.5
case CMSG_BATTLEFIELD_LEAVE: // 0 1.5
case CMSG_GUILD_BANK_LOG_QUERY: // 0 2
//case CMSG_GUILD_BANK_LOG_QUERY: // 0 2
case CMSG_LOGOUT_CANCEL: // 0 2
case CMSG_ALTER_APPEARANCE: // 0 2
//case CMSG_QUEST_CONFIRM_ACCEPT: // 0 2
case CMSG_GUILD_EVENT_LOG_QUERY: // 0 2.5
//case CMSG_GUILD_EVENT_LOG_QUERY: // 0 2.5
case CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY: // 0 2.5
//case CMSG_BEGIN_TRADE: // 0 2.5
//case CMSG_INITIATE_TRADE: // 0 3
@@ -1303,8 +1304,8 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
//case CMSG_QUESTLOG_REMOVE_QUEST: // 0 4
case CMSG_QUESTGIVER_CHOOSE_REWARD: // 0 4
//case CMSG_SEND_CONTACT_LIST: // 0 5
case CMSG_AUTOBANK_ITEM: // 0 6
case CMSG_AUTOSTORE_BANK_ITEM: // 0 6
//case CMSG_AUTOBANK_ITEM: // 0 6
//case CMSG_AUTOSTORE_BANK_ITEM: // 0 6
case CMSG_WHO: // 0 7
//case CMSG_RIDE_VEHICLE_INTERACT: // 0 8
case CMSG_MOVE_HEARTBEAT:
@@ -1395,16 +1396,16 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
//case CMSG_ARENA_TEAM_LEADER: // not profiled
case CMSG_LOOT_METHOD: // not profiled
case CMSG_GUILD_INVITE_BY_NAME: // not profiled
case CMSG_ACCEPT_GUILD_INVITE: // not profiled
case CMSG_GUILD_DECLINE_INVITATION: // not profiled
//case CMSG_ACCEPT_GUILD_INVITE: // not profiled
//case CMSG_GUILD_DECLINE_INVITATION: // not profiled
case CMSG_GUILD_LEAVE: // not profiled
case CMSG_GUILD_DELETE: // not profiled
case CMSG_GUILD_SET_GUILD_MASTER: // not profiled
case CMSG_GUILD_UPDATE_MOTD_TEXT: // not profiled
//case CMSG_GUILD_DELETE: // not profiled
//case CMSG_GUILD_SET_GUILD_MASTER: // not profiled
//case CMSG_GUILD_UPDATE_MOTD_TEXT: // not profiled
case CMSG_GUILD_SET_RANK_PERMISSIONS: // not profiled
case CMSG_GUILD_ADD_RANK: // not profiled
case CMSG_GUILD_DELETE_RANK: // not profiled
case CMSG_GUILD_UPDATE_INFO_TEXT: // not profiled
//case CMSG_GUILD_ADD_RANK: // not profiled
//case CMSG_GUILD_DELETE_RANK: // not profiled
//case CMSG_GUILD_UPDATE_INFO_TEXT: // not profiled
case CMSG_GUILD_BANK_DEPOSIT_MONEY: // not profiled
case CMSG_GUILD_BANK_WITHDRAW_MONEY: // not profiled
case CMSG_GUILD_BANK_BUY_TAB: // not profiled
@@ -1426,7 +1427,7 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
{
maxPacketCounterAllowed = PLAYER_SLOTS_COUNT;
break;
}*/
}
default:
{
maxPacketCounterAllowed = 100;
+6 -9
View File
@@ -110,6 +110,7 @@ namespace WorldPackets
struct CharRaceOrFactionChangeInfo;
struct CharacterUndeleteInfo;
class AlterApperance;
class EnumCharacters;
class CreateChar;
class DeleteChar;
@@ -421,9 +422,9 @@ enum AccountDataType
enum TutorialAction
{
TUTORIAL_ACTION_CLEAR = 1,
TUTORIAL_ACTION_UPDATE = 2,
TUTORIAL_ACTION_RESET = 3
TUTORIAL_ACTION_RESET = 0,
TUTORIAL_ACTION_UPDATE = 1,
TUTORIAL_ACTION_CLEAR = 2
};
/*
@@ -581,7 +582,6 @@ class WorldSession
void SendNotification(uint32 stringId, ...);
void SendPetNameInvalid(uint32 error, std::string const& name, DeclinedName *declinedName);
void SendPartyResult(PartyOperation operation, std::string const& member, PartyResult res, uint32 val = 0);
void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2, 3);
void SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<uint32> const& terrainswaps, std::set<uint32> const& worldMapAreaSwaps);
void SendQueryTimeResponse();
@@ -790,7 +790,7 @@ class WorldSession
void HandleCharRenameOpcode(WorldPackets::Character::CharacterRenameRequest& request);
void HandleCharRenameCallBack(PreparedQueryResult result, WorldPackets::Character::CharacterRenameInfo* renameInfo);
void HandleSetPlayerDeclinedNames(WorldPacket& recvData);
void HandleAlterAppearance(WorldPacket& recvData);
void HandleAlterAppearance(WorldPackets::Character::AlterApperance& packet);
void HandleCharCustomizeOpcode(WorldPackets::Character::CharCustomize& packet);
void HandleCharCustomizeCallback(PreparedQueryResult result, WorldPackets::Character::CharCustomizeInfo* customizeInfo);
void HandleCharRaceOrFactionChangeOpcode(WorldPackets::Character::CharRaceOrFactionChange& packet);
@@ -1135,7 +1135,6 @@ class WorldSession
void HandleChatMessageEmoteOpcode(WorldPackets::Chat::ChatMessageEmote& packet);
void SendPlayerNotFoundNotice(std::string const& name);
void SendPlayerAmbiguousNotice(std::string const& name);
void SendWrongFactionNotice();
void SendChatRestrictedNotice(ChatRestrictionType restriction);
void HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet);
void HandleChatIgnoredOpcode(WorldPacket& recvPacket);
@@ -1221,7 +1220,7 @@ class WorldSession
void HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet);
void HandleRealmSplitOpcode(WorldPacket& recvData);
void HandleTimeSyncResponse(WorldPackets::Misc::TimeSyncResponse& packet);
void HandleWhoisOpcode(WorldPackets::Who::WhoIsRequest& packet);
void HandleWhoIsOpcode(WorldPackets::Who::WhoIsRequest& packet);
void HandleResetInstancesOpcode(WorldPacket& recvData);
void HandleHearthAndResurrect(WorldPacket& recvData);
void HandleInstanceLockResponse(WorldPacket& recvPacket);
@@ -1356,8 +1355,6 @@ class WorldSession
void SendSpellCategoryCooldowns();
int32 HandleEnableNagleAlgorithm();
// Compact Unit Frames (4.x)
void HandleSaveCUFProfiles(WorldPacket& recvPacket);
void SendLoadCUFProfiles();
+90 -51
View File
@@ -57,7 +57,7 @@ uint32 const SizeOfServerHeader[2] = { sizeof(uint16) + sizeof(uint32), sizeof(u
WorldSocket::WorldSocket(tcp::socket&& socket) : Socket(std::move(socket)),
_type(CONNECTION_TYPE_REALM), _authSeed(rand32()), _OverSpeedPings(0),
_worldSession(nullptr), _compressionStream(nullptr), _initialized(false)
_worldSession(nullptr), _authed(false), _compressionStream(nullptr), _initialized(false)
{
_headerBuffer.Resize(SizeOfClientHeader[0][0]);
}
@@ -96,7 +96,15 @@ void WorldSocket::HandleSendAuthSession()
memcpy(&challenge.DosChallenge[4], _decryptSeed.AsByteArray(16).get(), 16);
challenge.DosZeroBits = 1;
SendPacket(*challenge.Write());
SendPacketAndLogOpcode(*challenge.Write());
}
void WorldSocket::OnClose()
{
{
std::lock_guard<std::mutex> sessionGuard(_worldSessionLock);
_worldSession = nullptr;
}
}
void WorldSocket::ReadHandler()
@@ -182,15 +190,8 @@ bool WorldSocket::ReadHeaderHandler()
if (!ClientPktHeader::IsValidSize(size) || (_initialized && !ClientPktHeader::IsValidOpcode(opcode)))
{
if (_worldSession)
{
Player* player = _worldSession->GetPlayer();
TC_LOG_ERROR("network", "WorldSocket::ReadHeaderHandler(): client (account: %u, char [%s, name: %s]) sent malformed packet (size: %u, cmd: %u)",
_worldSession->GetAccountId(), player ? player->GetGUID().ToString().c_str() : "GUID: Empty", player ? player->GetName().c_str() : "<none>", size, opcode);
}
else
TC_LOG_ERROR("network", "WorldSocket::ReadHeaderHandler(): client %s sent malformed packet (size: %u, cmd: %u)",
GetRemoteIpAddress().to_string().c_str(), size, opcode);
TC_LOG_ERROR("network", "WorldSocket::ReadHeaderHandler(): client %s sent malformed packet (size: %u, cmd: %u)",
GetRemoteIpAddress().to_string().c_str(), size, opcode);
CloseSocket();
return false;
@@ -217,19 +218,29 @@ bool WorldSocket::ReadDataHandler()
if (sPacketLog->CanLogPacket())
sPacketLog->LogPacket(packet, CLIENT_TO_SERVER, GetRemoteIpAddress(), GetRemotePort(), GetConnectionType());
TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), GetOpcodeNameForLogging(opcode).c_str());
std::unique_lock<std::mutex> sessionGuard(_worldSessionLock, std::defer_lock);
switch (opcode)
{
case CMSG_PING:
LogOpcodeText(opcode, sessionGuard);
HandlePing(packet);
break;
case CMSG_AUTH_SESSION:
{
if (_worldSession)
LogOpcodeText(opcode, sessionGuard);
if (_authed)
{
TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_SESSION from %s", _worldSession->GetPlayerInfo().c_str());
break;
// locking just to safely log offending user is probably overkill but we are disconnecting him anyway
{
if (sessionGuard.try_lock())
{
TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_SESSION from %s", _worldSession->GetPlayerInfo().c_str());
sessionGuard.unlock(); // unlock session guard to prevent deadlocking in CloseSocket
}
}
CloseSocket();
return false;
}
WorldPackets::Auth::AuthSession authSession(std::move(packet));
@@ -239,10 +250,19 @@ bool WorldSocket::ReadDataHandler()
}
case CMSG_AUTH_CONTINUED_SESSION:
{
if (_worldSession)
LogOpcodeText(opcode, sessionGuard);
if (_authed)
{
TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_CONTINUED_SESSION from %s", _worldSession->GetPlayerInfo().c_str());
break;
// locking just to safely log offending user is probably overkill but we are disconnecting him anyway
{
if (sessionGuard.try_lock())
{
TC_LOG_ERROR("network", "WorldSocket::ProcessIncoming: received duplicate CMSG_AUTH_CONTINUED_SESSION from %s", _worldSession->GetPlayerInfo().c_str());
sessionGuard.unlock(); // unlock session guard to prevent deadlocking in CloseSocket
}
}
CloseSocket();
return false;
}
WorldPackets::Auth::AuthContinuedSession authSession(std::move(packet));
@@ -251,24 +271,21 @@ bool WorldSocket::ReadDataHandler()
break;
}
case CMSG_KEEP_ALIVE:
TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
LogOpcodeText(opcode, sessionGuard);
break;
case CMSG_LOG_DISCONNECT:
LogOpcodeText(opcode, sessionGuard);
packet.rfinish(); // contains uint32 disconnectReason;
TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
return true;
case CMSG_ENABLE_NAGLE:
{
TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
if (_worldSession)
_worldSession->HandleEnableNagleAlgorithm();
LogOpcodeText(opcode, sessionGuard);
SetNoDelay(false);
break;
}
case CMSG_CONNECT_TO_FAILED:
{
sessionGuard.lock();
LogOpcodeText(opcode, sessionGuard);
WorldPackets::Auth::ConnectToFailed connectToFailed(std::move(packet));
connectToFailed.Read();
HandleConnectToFailed(connectToFailed);
@@ -276,6 +293,10 @@ bool WorldSocket::ReadDataHandler()
}
default:
{
sessionGuard.lock();
LogOpcodeText(opcode, sessionGuard);
if (!_worldSession)
{
TC_LOG_ERROR("network.opcode", "ProcessIncoming: Client not authed opcode = %u", uint32(opcode));
@@ -283,13 +304,6 @@ bool WorldSocket::ReadDataHandler()
return false;
}
// prevent invalid memory access/crash with custom opcodes
if (static_cast<uint32>(opcode) >= NUM_OPCODE_HANDLERS)
{
CloseSocket();
return false;
}
OpcodeHandler const* handler = opcodeTable[opcode];
if (!handler)
{
@@ -339,6 +353,25 @@ bool WorldSocket::ReadDataHandler()
return true;
}
void WorldSocket::LogOpcodeText(OpcodeClient opcode, std::unique_lock<std::mutex> const& guard) const
{
if (!guard)
{
TC_LOG_TRACE("network.opcode", "C->S: %s %s", GetRemoteIpAddress().to_string().c_str(), GetOpcodeNameForLogging(opcode).c_str());
}
else
{
TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(),
GetOpcodeNameForLogging(opcode).c_str());
}
}
void WorldSocket::SendPacketAndLogOpcode(WorldPacket const& packet)
{
TC_LOG_TRACE("network.opcode", "S->C: %s %s", GetRemoteIpAddress().to_string().c_str(), GetOpcodeNameForLogging(static_cast<OpcodeServer>(packet.GetOpcode())).c_str());
SendPacket(packet);
}
void WorldSocket::SendPacket(WorldPacket const& packet)
{
if (!IsOpen())
@@ -347,8 +380,6 @@ void WorldSocket::SendPacket(WorldPacket const& packet)
if (sPacketLog->CanLogPacket())
sPacketLog->LogPacket(packet, SERVER_TO_CLIENT, GetRemoteIpAddress(), GetRemotePort(), GetConnectionType());
TC_LOG_TRACE("network.opcode", "S->C: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), GetOpcodeNameForLogging(static_cast<OpcodeServer>(packet.GetOpcode())).c_str());
uint32 packetSize = packet.size();
uint32 sizeOfHeader = SizeOfServerHeader[_authCrypt.IsInitialized()];
if (packetSize > 0x400)
@@ -656,6 +687,7 @@ void WorldSocket::HandleAuthSession(WorldPackets::Auth::AuthSession& authSession
// At this point, we can safely hook a successful login
sScriptMgr->OnAccountLogin(id);
_authed = true;
_worldSession = new WorldSession(id, battlenetAccountId, shared_from_this(), AccountTypes(security), expansion, mutetime, locale, recruiter, isRecruiter);
_worldSession->LoadGlobalAccountData();
_worldSession->LoadTutorialsData();
@@ -715,8 +747,10 @@ void WorldSocket::HandleAuthContinuedSession(WorldPackets::Auth::AuthContinuedSe
return;
}
_authed = true;
WorldPackets::Auth::ResumeComms resumeComms;
SendPacket(*resumeComms.Write());
SendPacketAndLogOpcode(*resumeComms.Write());
_worldSession->AddInstanceConnection(shared_from_this());
_worldSession->HandleContinuePlayerLogin();
@@ -755,10 +789,9 @@ void WorldSocket::HandleConnectToFailed(WorldPackets::Auth::ConnectToFailed& con
//else
//{
// transfer_aborted when/if we get map node redirection
// SendPacket(*WorldPackets::Auth::ResumeComms().Write());
// SendPacketAndLogOpcode(*WorldPackets::Auth::ResumeComms().Write());
//}
}
}
void WorldSocket::SendAuthResponseError(uint8 code)
@@ -767,7 +800,7 @@ void WorldSocket::SendAuthResponseError(uint8 code)
response.SuccessInfo.HasValue = false;
response.WaitInfo.HasValue = false;
response.Result = code;
SendPacket(*response.Write());
SendPacketAndLogOpcode(*response.Write());
}
void WorldSocket::HandlePing(WorldPacket& recvPacket)
@@ -799,6 +832,8 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket)
if (maxAllowed && _OverSpeedPings > maxAllowed)
{
std::lock_guard<std::mutex> sessionGuard(_worldSessionLock);
if (_worldSession && !_worldSession->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_OVERSPEED_PING))
{
TC_LOG_ERROR("network", "WorldSocket::HandlePing: %s kicked for over-speed pings (address: %s)",
@@ -813,20 +848,24 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket)
_OverSpeedPings = 0;
}
if (_worldSession)
{
_worldSession->SetLatency(latency);
_worldSession->ResetClientTimeDelay();
}
else
{
TC_LOG_ERROR("network", "WorldSocket::HandlePing: peer sent CMSG_PING, but is not authenticated or got recently kicked, address = %s", GetRemoteIpAddress().to_string().c_str());
std::lock_guard<std::mutex> sessionGuard(_worldSessionLock);
CloseSocket();
return;
if (_worldSession)
{
_worldSession->SetLatency(latency);
_worldSession->ResetClientTimeDelay();
}
else
{
TC_LOG_ERROR("network", "WorldSocket::HandlePing: peer sent CMSG_PING, but is not authenticated or got recently kicked, address = %s", GetRemoteIpAddress().to_string().c_str());
CloseSocket();
return;
}
}
WorldPacket packet(SMSG_PONG, 4);
packet << ping;
return SendPacket(packet);
return SendPacketAndLogOpcode(packet);
}
+8
View File
@@ -86,11 +86,17 @@ public:
ConnectionType GetConnectionType() const { return _type; }
protected:
void OnClose() override;
void ReadHandler() override;
bool ReadHeaderHandler();
bool ReadDataHandler();
private:
/// writes network.opcode log
/// accessing WorldSession is not threadsafe, only do it when holding _worldSessionLock
void LogOpcodeText(OpcodeClient opcode, std::unique_lock<std::mutex> const& guard) const;
/// sends and logs network.opcode without accessing WorldSession
void SendPacketAndLogOpcode(WorldPacket const& packet);
void WritePacketToBuffer(WorldPacket const& packet, MessageBuffer& buffer);
uint32 CompressPacket(uint8* buffer, WorldPacket const& packet);
@@ -114,7 +120,9 @@ private:
std::chrono::steady_clock::time_point _LastPingTime;
uint32 _OverSpeedPings;
std::mutex _worldSessionLock;
WorldSession* _worldSession;
bool _authed;
MessageBuffer _headerBuffer;
MessageBuffer _packetBuffer;
+2 -3
View File
@@ -51,13 +51,12 @@ WorldSocketMgr::~WorldSocketMgr()
delete _instanceAcceptor;
}
int const boost::asio::socket_base::max_connections;
bool WorldSocketMgr::StartNetwork(boost::asio::io_service& service, std::string const& bindIp, uint16 port)
{
_tcpNoDelay = sConfigMgr->GetBoolDefault("Network.TcpNodelay", true);
TC_LOG_DEBUG("misc", "Max allowed socket connections %d", boost::asio::socket_base::max_connections);
int const max_connections = boost::asio::socket_base::max_connections;
TC_LOG_DEBUG("misc", "Max allowed socket connections %d", max_connections);
// -1 means use default
_socketSendBufferSize = sConfigMgr->GetIntDefault("Network.OutKBuff", -1);
@@ -5415,7 +5415,7 @@ void AuraEffect::HandleAuraSetVehicle(AuraApplication const* aurApp, uint8 mode,
if (target->GetTypeId() != TYPEID_PLAYER)
return;
WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, target->GetPackGUID().size()+4);
WorldPacket data(SMSG_SET_VEHICLE_REC_ID, target->GetPackGUID().size() + 4);
data << target->GetPackGUID();
data << uint32(apply ? vehicleId : 0);
target->SendMessageToSet(&data, true);
+2 -2
View File
@@ -4247,7 +4247,7 @@ void Spell::SendChannelUpdate(uint32 time)
m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL, 0);
}
WorldPacket data(SMSG_CHANNEL_UPDATE, 8+4);
WorldPacket data(SMSG_SPELL_CHANNEL_UPDATE, 8 + 4);
data << m_caster->GetPackGUID();
data << uint32(time);
@@ -4261,7 +4261,7 @@ void Spell::SendChannelStart(uint32 duration)
if (m_UniqueTargetInfo.size() + m_UniqueGOTargetInfo.size() == 1) // this is for TARGET_SELECT_CATEGORY_NEARBY
channelTarget = !m_UniqueTargetInfo.empty() ? m_UniqueTargetInfo.front().targetGUID : m_UniqueGOTargetInfo.front().targetGUID;
WorldPacket data(SMSG_CHANNEL_START, (8+4+4));
WorldPacket data(SMSG_SPELL_CHANNEL_START, (8 + 4 + 4));
data << m_caster->GetPackGUID();
data << uint32(m_spellInfo->Id);
data << uint32(duration);
+2 -2
View File
@@ -2340,7 +2340,7 @@ void Spell::EffectDispel(SpellEffIndex effIndex)
if (success_list.empty())
return;
WorldPacket dataSuccess(SMSG_SPELL_DISPEL_LOG, 8+8+4+1+4+success_list.size()*5);
WorldPacket dataSuccess(SMSG_SPELL_DISPELL_LOG, 8 + 8 + 4 + 1 + 4 + success_list.size() * 5);
// Send packet header
dataSuccess << unitTarget->GetPackGUID(); // Victim GUID
dataSuccess << m_caster->GetPackGUID(); // Caster GUID
@@ -5154,7 +5154,7 @@ void Spell::EffectStealBeneficialBuff(SpellEffIndex /*effIndex*/)
if (success_list.empty())
return;
WorldPacket dataSuccess(SMSG_SPELLSTEALLOG, 8+8+4+1+4+damage*5);
WorldPacket dataSuccess(SMSG_SPELL_DISPELL_LOG, 8 + 8 + 4 + 1 + 4 + damage * 5);
dataSuccess << unitTarget->GetPackGUID(); // Victim GUID
dataSuccess << m_caster->GetPackGUID(); // Caster GUID
dataSuccess << uint32(m_spellInfo->Id); // dispel spell id
+3 -1
View File
@@ -406,6 +406,7 @@ void ComplaintTicket::DeleteFromDB()
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GM_COMPLAINT_CHATLOG);
stmt->setUInt32(0, _id);
CharacterDatabase.Execute(stmt);
}
std::string ComplaintTicket::FormatViewMessageString(ChatHandler& handler, bool detailed) const
@@ -518,7 +519,8 @@ std::string SuggestionTicket::FormatViewMessageString(ChatHandler& handler, bool
}
SupportMgr::SupportMgr() : _lastGmTicketId(0), _lastBugId(0), _lastComplaintId(0), _lastSuggestionId(0), _openGmTicketCount(0),
_openBugTicketCount(0), _openComplaintTicketCount(0), _openSuggestionTicketCount(0) { }
_openBugTicketCount(0), _openComplaintTicketCount(0), _openSuggestionTicketCount(0), _lastChange(0), _supportSystemStatus(false),
_bugSystemStatus(false), _complaintSystemStatus(false), _suggestionSystemStatus(false) { }
SupportMgr::~SupportMgr()
{
+2 -2
View File
@@ -442,7 +442,7 @@ void World::LoadConfigSettings(bool reload)
sSupportMgr->SetSuggestionSystemStatus(m_bool_configs[CONFIG_SUPPORT_SUGGESTIONS_ENABLED]);
}
m_float_configs[CONFIG_CHANCE_OF_GM_SURVEY] = sConfigMgr->GetFloatDefault("Support.ChanceOfGMSurvey", 50.0f);
///- Get string for new logins (newly created characters)
SetNewCharString(sConfigMgr->GetStringDefault("PlayerStart.String", ""));
@@ -2756,7 +2756,7 @@ void World::ShutdownCancel()
/// Send a server message to the user(s)
void World::SendServerMessage(ServerMessageType type, const char *text, Player* player)
{
WorldPacket data(SMSG_SERVER_MESSAGE, 50); // guess size
WorldPacket data(SMSG_CHAT_SERVER_MESSAGE, 50); // guess size
data << uint32(type);
if (type <= SERVER_MSG_STRING)
data << text;
+4 -3
View File
@@ -33,6 +33,7 @@ EndScriptData */
#include "GossipDef.h"
#include "Transport.h"
#include "Language.h"
#include "MovementPackets.h"
#include <fstream>
@@ -1349,9 +1350,9 @@ public:
target->DestroyForNearbyPlayers(); // Force new SMSG_UPDATE_OBJECT:CreateObject
else
{
WorldPacket data(SMSG_MOVE_UPDATE);
target->WriteMovementInfo(data);
target->SendMessageToSet(&data, true);
WorldPackets::Movement::MoveUpdate moveUpdate;
moveUpdate.movementInfo = &target->m_movementInfo;
target->SendMessageToSet(moveUpdate.Write(), true);
}
handler->PSendSysMessage(LANG_MOVEFLAGS_SET, target->GetUnitMovementFlags(), target->GetExtraUnitMovementFlags());
+2 -3
View File
@@ -271,9 +271,8 @@ public:
}
/// - Send the message
// Use SendAreaTriggerMessage for fastest delivery.
player->GetSession()->SendAreaTriggerMessage("%s", msgStr);
player->GetSession()->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r");
player->GetSession()->SendNotification("%s", msgStr);
player->GetSession()->SendNotification("|cffff0000[Message from administrator]:|r");
// Confirmation message
std::string nameLink = handler->GetNameLink(player);
@@ -27,10 +27,13 @@ EndScriptData */
npc_webbed_creature
EndContentData */
#include "Player.h"
#include "Group.h"
#include "GridNotifiers.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedEscortAI.h"
#include "PassiveAI.h"
#include "Player.h"
/*######
## npc_webbed_creature
@@ -88,7 +91,722 @@ public:
}
};
/*######
## Quest 9759: Ending Their World
######*/
enum EndingTheirWorldMisc
{
SAY_SIRONAS_1 = 0,
SAY_LEGOSO_1 = 0,
SAY_LEGOSO_2 = 1,
SAY_LEGOSO_3 = 2,
SAY_LEGOSO_4 = 3,
SAY_LEGOSO_5 = 4,
SAY_LEGOSO_6 = 5,
SAY_LEGOSO_7 = 6,
SAY_LEGOSO_8 = 7,
SAY_LEGOSO_9 = 8,
SAY_LEGOSO_10 = 9,
SAY_LEGOSO_11 = 10,
SAY_LEGOSO_12 = 11,
SAY_LEGOSO_13 = 12,
SAY_LEGOSO_14 = 13,
SAY_LEGOSO_15 = 14,
SAY_LEGOSO_16 = 15,
SAY_LEGOSO_17 = 16,
SAY_LEGOSO_18 = 17,
SAY_LEGOSO_19 = 18,
SAY_LEGOSO_20 = 19,
SAY_LEGOSO_21 = 20,
SPELL_BLOODMYST_TESLA = 31611,
SPELL_SIRONAS_CHANNELING = 31612,
SPELL_UPPERCUT = 10966,
SPELL_IMMOLATE = 12742,
SPELL_CURSE_OF_BLOOD = 8282,
SPELL_FROST_SHOCK = 8056,
SPELL_HEALING_SURGE = 8004,
SPELL_SEARING_TOTEM = 38116,
SPELL_STRENGTH_OF_EARTH_TOTEM = 31633,
NPC_SIRONAS = 17678,
NPC_BLOODMYST_TESLA_COIL = 17979,
NPC_LEGOSO = 17982,
GO_DRAENEI_EXPLOSIVES_1 = 182088,
GO_DRAENEI_EXPLOSIVES_2 = 182091,
GO_FIRE_EXPLOSION = 182071,
ACTION_SIRONAS_CHANNEL_START = 1,
ACTION_SIRONAS_CHANNEL_STOP = 2,
ACTION_LEGOSO_SIRONAS_KILLED = 1,
EVENT_UPPERCUT = 1,
EVENT_IMMOLATE = 2,
EVENT_CURSE_OF_BLOOD = 3,
EVENT_FROST_SHOCK = 1,
EVENT_HEALING_SURGE = 2,
EVENT_SEARING_TOTEM = 3,
EVENT_STRENGTH_OF_EARTH_TOTEM = 4,
WP_START = 1,
WP_EXPLOSIVES_FIRST_POINT = 21,
WP_EXPLOSIVES_FIRST_PLANT = 22,
WP_EXPLOSIVES_FIRST_RUNOFF = 23,
WP_EXPLOSIVES_FIRST_DETONATE = 24,
WP_DEBUG_1 = 25,
WP_DEBUG_2 = 26,
WP_SIRONAS_HILL = 33,
WP_EXPLOSIVES_SECOND_BATTLEROAR = 35,
WP_EXPLOSIVES_SECOND_PLANT = 39,
WP_EXPLOSIVES_SECOND_DETONATE = 40,
PHASE_NONE = 0,
PHASE_CONTINUE = -1,
PHASE_WP_26 = 1,
PHASE_WP_22 = 2,
PHASE_PLANT_FIRST_KNEEL = 3,
PHASE_PLANT_FIRST_STAND = 4,
PHASE_PLANT_FIRST_WORK = 5,
PHASE_PLANT_FIRST_FINISH = 6,
PHASE_PLANT_FIRST_TIMER_1 = 7,
PHASE_PLANT_FIRST_TIMER_2 = 8,
PHASE_PLANT_FIRST_TIMER_3 = 9,
PHASE_PLANT_FIRST_DETONATE = 10,
PHASE_PLANT_FIRST_SPEECH = 11,
PHASE_PLANT_FIRST_ROTATE = 12,
PHASE_PLANT_FIRST_POINT = 13,
PHASE_FEEL_SIRONAS_1 = 14,
PHASE_FEEL_SIRONAS_2 = 15,
PHASE_MEET_SIRONAS_ROAR = 16,
PHASE_MEET_SIRONAS_TURN = 17,
PHASE_MEET_SIRONAS_SPEECH = 18,
PHASE_PLANT_SECOND_KNEEL = 19,
PHASE_PLANT_SECOND_SPEECH = 20,
PHASE_PLANT_SECOND_STAND = 21,
PHASE_PLANT_SECOND_FINISH = 22,
PHASE_PLANT_SECOND_WAIT = 23,
PHASE_PLANT_SECOND_TIMER_1 = 24,
PHASE_PLANT_SECOND_TIMER_2 = 25,
PHASE_PLANT_SECOND_TIMER_3 = 26,
PHASE_PLANT_SECOND_DETONATE = 27,
PHASE_FIGHT_SIRONAS_STOP = 28,
PHASE_FIGHT_SIRONAS_SPEECH_1 = 29,
PHASE_FIGHT_SIRONAS_SPEECH_2 = 30,
PHASE_FIGHT_SIRONAS_START = 31,
PHASE_SIRONAS_SLAIN_SPEECH_1 = 32,
PHASE_SIRONAS_SLAIN_EMOTE_1 = 33,
PHASE_SIRONAS_SLAIN_EMOTE_2 = 34,
PHASE_SIRONAS_SLAIN_SPEECH_2 = 35,
DATA_EVENT_STARTER_GUID = 0,
MAX_EXPLOSIVES = 5,
QUEST_ENDING_THEIR_WORLD = 9759
};
Position const ExplosivesPos[2][MAX_EXPLOSIVES] =
{
{
{ -1954.946f, -10654.714f, 110.448f },
{ -1956.331f, -10654.494f, 110.869f },
{ -1955.906f, -10656.221f, 110.791f },
{ -1957.294f, -10656.000f, 111.219f },
{ -1954.462f, -10656.451f, 110.404f }
},
{
{ -1915.137f, -10583.651f, 178.365f },
{ -1914.006f, -10582.964f, 178.471f },
{ -1912.717f, -10582.398f, 178.658f },
{ -1915.056f, -10582.251f, 178.162f },
{ -1913.883f, -10581.778f, 178.346f }
}
};
/*######
## npc_sironas
######*/
class npc_sironas : public CreatureScript
{
public:
npc_sironas() : CreatureScript("npc_sironas") { }
struct npc_sironasAI : public ScriptedAI
{
npc_sironasAI(Creature* creature) : ScriptedAI(creature) { }
void Reset() override
{
_events.Reset();
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_UPPERCUT, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_IMMOLATE, 10 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 5 * IN_MILLISECONDS);
}
void JustDied(Unit* killer) override
{
me->SetObjectScale(1.0f);
_events.Reset();
if (Creature* legoso = me->FindNearestCreature(NPC_LEGOSO, SIZE_OF_GRIDS))
{
Group* group = me->GetLootRecipientGroup();
if (killer->GetGUID() == legoso->GetGUID() ||
(group && group->IsMember(killer->GetGUID())) ||
killer->GetGUID() == legoso->AI()->GetGUID(DATA_EVENT_STARTER_GUID))
legoso->AI()->DoAction(ACTION_LEGOSO_SIRONAS_KILLED);
}
}
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_UPPERCUT:
DoCastVictim(SPELL_UPPERCUT);
_events.ScheduleEvent(EVENT_UPPERCUT, urand(10, 12) * IN_MILLISECONDS);
break;
case EVENT_IMMOLATE:
DoCastVictim(SPELL_IMMOLATE);
_events.ScheduleEvent(EVENT_IMMOLATE, urand(15, 20) * IN_MILLISECONDS);
break;
case EVENT_CURSE_OF_BLOOD:
DoCastVictim(SPELL_CURSE_OF_BLOOD);
_events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, urand(20, 25) * IN_MILLISECONDS);
break;
default:
break;
}
}
DoMeleeAttackIfReady();
}
void DoAction(int32 param) override
{
switch (param)
{
case ACTION_SIRONAS_CHANNEL_START:
{
DoCast(me, SPELL_SIRONAS_CHANNELING);
std::list<Creature*> BeamList;
me->GetCreatureListWithEntryInGrid(BeamList, NPC_BLOODMYST_TESLA_COIL, SIZE_OF_GRIDS);
if (!BeamList.empty())
for (std::list<Creature*>::iterator itr = BeamList.begin(); itr != BeamList.end(); ++itr)
(*itr)->CastSpell(*itr, SPELL_BLOODMYST_TESLA);
break;
}
case ACTION_SIRONAS_CHANNEL_STOP:
{
me->InterruptNonMeleeSpells(true, SPELL_SIRONAS_CHANNELING);
std::list<Creature*> creatureList;
GetCreatureListWithEntryInGrid(creatureList, me, NPC_BLOODMYST_TESLA_COIL, 500.0f);
if (!creatureList.empty())
for (std::list<Creature*>::iterator itr = creatureList.begin(); itr != creatureList.end(); ++itr)
(*itr)->InterruptNonMeleeSpells(true, SPELL_BLOODMYST_TESLA);
}
default:
break;
}
}
private:
EventMap _events;
};
CreatureAI* GetAI(Creature* creature) const
{
return new npc_sironasAI(creature);
}
};
/*######
## npc_demolitionist_legoso
######*/
class npc_demolitionist_legoso : public CreatureScript
{
public:
npc_demolitionist_legoso() : CreatureScript("npc_demolitionist_legoso") { }
struct npc_demolitionist_legosoAI : public npc_escortAI
{
npc_demolitionist_legosoAI(Creature* creature) : npc_escortAI(creature)
{
Initialize();
}
void Initialize()
{
_phase = PHASE_NONE;
_moveTimer = 0;
}
void sQuestAccept(Player* player, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ENDING_THEIR_WORLD)
{
SetGUID(player->GetGUID(), DATA_EVENT_STARTER_GUID);
Start(true, true, player->GetGUID(), quest);
}
}
ObjectGuid GetGUID(int32 type) const override
{
if (type == DATA_EVENT_STARTER_GUID)
return _eventStarterGuid;
return ObjectGuid::Empty;
}
void SetGUID(ObjectGuid guid, int32 type) override
{
switch (type)
{
case DATA_EVENT_STARTER_GUID:
_eventStarterGuid = guid;
break;
default:
break;
}
}
void Reset() override
{
me->SetCanDualWield(true);
Initialize();
_events.Reset();
_events.ScheduleEvent(EVENT_FROST_SHOCK, 1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HEALING_SURGE, 5 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SEARING_TOTEM, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_STRENGTH_OF_EARTH_TOTEM, 20 * IN_MILLISECONDS);
}
void UpdateAI(uint32 diff) override
{
_events.Update(diff);
if (UpdateVictim())
{
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_FROST_SHOCK:
DoCastVictim(SPELL_FROST_SHOCK);
_events.DelayEvents(1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_FROST_SHOCK, urand(10, 15) * IN_MILLISECONDS);
break;
case EVENT_SEARING_TOTEM:
DoCast(me, SPELL_SEARING_TOTEM);
_events.DelayEvents(1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SEARING_TOTEM, urand(110, 130) * IN_MILLISECONDS);
break;
case EVENT_STRENGTH_OF_EARTH_TOTEM:
DoCast(me, SPELL_STRENGTH_OF_EARTH_TOTEM);
_events.DelayEvents(1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_STRENGTH_OF_EARTH_TOTEM, urand(110, 130) * IN_MILLISECONDS);
break;
case EVENT_HEALING_SURGE:
{
Unit* target = NULL;
if (me->GetHealthPct() < 85)
target = me;
else if (Player* player = GetPlayerForEscort())
if (player->GetHealthPct() < 85)
target = player;
if (target)
{
DoCast(target, SPELL_HEALING_SURGE);
_events.ScheduleEvent(EVENT_HEALING_SURGE, 10 * IN_MILLISECONDS);
}
else
_events.ScheduleEvent(EVENT_HEALING_SURGE, 2 * IN_MILLISECONDS);
break;
}
default:
break;
}
}
DoMeleeAttackIfReady();
}
if (HasEscortState(STATE_ESCORT_NONE))
return;
npc_escortAI::UpdateAI(diff);
if (_phase)
{
if (_moveTimer <= diff)
{
switch (_phase)
{
case PHASE_WP_26: //debug skip path to point 26, buggy path calculation
me->GetMotionMaster()->MovePoint(WP_DEBUG_2, -2021.77f, -10648.8f, 129.903f, false);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_CONTINUE: // continue escort
SetEscortPaused(false);
_moveTimer = 0 * IN_MILLISECONDS;
_phase = PHASE_NONE;
break;
case PHASE_WP_22: //debug skip path to point 22, buggy path calculation
me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_PLANT, -1958.026f, -10660.465f, 111.547f, false);
Talk(SAY_LEGOSO_3);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_KNEEL;
break;
case PHASE_PLANT_FIRST_KNEEL: // plant first explosives stage 1 kneel
me->SetStandState(UNIT_STAND_STATE_KNEEL);
_moveTimer = 10 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_STAND;
break;
case PHASE_PLANT_FIRST_STAND: // plant first explosives stage 1 stand
me->SetStandState(UNIT_STAND_STATE_STAND);
_moveTimer = 0.5* IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_WORK;
break;
case PHASE_PLANT_FIRST_WORK: // plant first explosives stage 2 work
Talk(SAY_LEGOSO_4);
_moveTimer = 17.5 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_FINISH;
break;
case PHASE_PLANT_FIRST_FINISH: // plant first explosives finish
_explosivesGuids.clear();
for (uint8 i = 0; i != MAX_EXPLOSIVES; ++i)
{
if (GameObject* explosive = me->SummonGameObject(GO_DRAENEI_EXPLOSIVES_1, ExplosivesPos[0][i].m_positionX, ExplosivesPos[0][i].m_positionY, ExplosivesPos[0][i].m_positionZ, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0))
_explosivesGuids.push_back(explosive->GetGUID());
}
me->HandleEmoteCommand(EMOTE_ONESHOT_NONE); // reset anim state
// force runoff movement so he will not screw up next waypoint
me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_RUNOFF, -1955.6f, -10669.8f, 110.65f, false);
Talk(SAY_LEGOSO_5);
_moveTimer = 1.5 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_PLANT_FIRST_TIMER_1: // first explosives detonate timer 1
Talk(SAY_LEGOSO_6);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_TIMER_2;
break;
case PHASE_PLANT_FIRST_TIMER_2: // first explosives detonate timer 2
Talk(SAY_LEGOSO_7);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_TIMER_3;
break;
case PHASE_PLANT_FIRST_TIMER_3: // first explosives detonate timer 3
Talk(SAY_LEGOSO_8);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_DETONATE;
break;
case PHASE_PLANT_FIRST_DETONATE: // first explosives detonate finish
for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr)
{
if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr))
me->RemoveGameObject(explosive, true);
}
_explosivesGuids.clear();
me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_SPEECH;
break;
case PHASE_PLANT_FIRST_SPEECH: // after detonation 1 speech
Talk(SAY_LEGOSO_9);
_moveTimer = 4 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_ROTATE;
break;
case PHASE_PLANT_FIRST_ROTATE: // after detonation 1 rotate to next point
me->SetFacingTo(2.272f);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_POINT;
break;
case PHASE_PLANT_FIRST_POINT: // after detonation 1 send point anim and go on to next point
me->HandleEmoteCommand(EMOTE_ONESHOT_POINT);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_FEEL_SIRONAS_1: // legoso exclamation before sironas 1.1
Talk(SAY_LEGOSO_10);
_moveTimer = 4 * IN_MILLISECONDS;
_phase = PHASE_FEEL_SIRONAS_2;
break;
case PHASE_FEEL_SIRONAS_2: // legoso exclamation before sironas 1.2
Talk(SAY_LEGOSO_11);
_moveTimer = 4 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_MEET_SIRONAS_ROAR: // legoso exclamation before sironas 2.1
Talk(SAY_LEGOSO_12);
_moveTimer = 4 * IN_MILLISECONDS;
_phase = PHASE_MEET_SIRONAS_TURN;
break;
case PHASE_MEET_SIRONAS_TURN: // legoso exclamation before sironas 2.2
if (Player* player = GetPlayerForEscort())
me->SetFacingToObject(player);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_MEET_SIRONAS_SPEECH;
break;
case PHASE_MEET_SIRONAS_SPEECH: // legoso exclamation before sironas 2.3
Talk(SAY_LEGOSO_13);
_moveTimer = 7 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_PLANT_SECOND_KNEEL: // plant second explosives stage 1 kneel
me->SetStandState(UNIT_STAND_STATE_KNEEL);
_moveTimer = 11 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_SPEECH;
break;
case PHASE_PLANT_SECOND_SPEECH: // plant second explosives stage 2 kneel
Talk(SAY_LEGOSO_14);
_moveTimer = 13 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_STAND;
break;
case PHASE_PLANT_SECOND_STAND: // plant second explosives finish
me->SetStandState(UNIT_STAND_STATE_STAND);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_FINISH;
break;
case PHASE_PLANT_SECOND_FINISH: // plant second explosives finish - create explosives
_explosivesGuids.clear();
for (uint8 i = 0; i != MAX_EXPLOSIVES; ++i)
{
if (GameObject* explosive = me->SummonGameObject(GO_DRAENEI_EXPLOSIVES_2, ExplosivesPos[1][i].m_positionX, ExplosivesPos[1][i].m_positionY, ExplosivesPos[1][i].m_positionZ, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0))
_explosivesGuids.push_back(explosive->GetGUID());
}
Talk(SAY_LEGOSO_15);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_WAIT;
break;
case PHASE_PLANT_SECOND_WAIT: // plant second explosives finish - proceed to next point
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_PLANT_SECOND_TIMER_1: // second explosives detonate timer 1
Talk(SAY_LEGOSO_16);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_TIMER_2;
break;
case PHASE_PLANT_SECOND_TIMER_2: // second explosives detonate timer 2
Talk(SAY_LEGOSO_17);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_TIMER_3;
break;
case PHASE_PLANT_SECOND_TIMER_3: // second explosives detonate timer 3
Talk(SAY_LEGOSO_18);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_DETONATE;
break;
case PHASE_PLANT_SECOND_DETONATE: // second explosives detonate finish
for (GuidList::iterator itr = _explosivesGuids.begin(); itr != _explosivesGuids.end(); ++itr)
{
if (GameObject* explosive = sObjectAccessor->GetGameObject(*me, *itr))
me->RemoveGameObject(explosive, true);
}
_explosivesGuids.clear();
if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS))
{
sironas->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
me->SetFacingToObject(sironas);
}
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_FIGHT_SIRONAS_STOP;
break;
case PHASE_FIGHT_SIRONAS_STOP: // sironas channel stop
if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS))
sironas->AI()->DoAction(ACTION_SIRONAS_CHANNEL_STOP);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_FIGHT_SIRONAS_SPEECH_1;
break;
case PHASE_FIGHT_SIRONAS_SPEECH_1: // sironas exclamation before aggro
if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS))
sironas->AI()->Talk(SAY_SIRONAS_1);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_FIGHT_SIRONAS_SPEECH_2;
break;
case PHASE_FIGHT_SIRONAS_SPEECH_2: // legoso exclamation before aggro
if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS))
sironas->SetObjectScale(3.0f);
Talk(SAY_LEGOSO_19);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_FIGHT_SIRONAS_START;
break;
case PHASE_FIGHT_SIRONAS_START: // legoso exclamation at aggro
if (Creature* sironas = me->FindNearestCreature(NPC_SIRONAS, SIZE_OF_GRIDS))
{
Unit* target = GetPlayerForEscort();
if (!target)
target = me;
target->AddThreat(sironas, 0.001f);
sironas->Attack(target, true);
sironas->GetMotionMaster()->MoveChase(target);
}
_moveTimer = 10 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case PHASE_SIRONAS_SLAIN_SPEECH_1: // legoso exclamation after battle - stage 1.1
Talk(SAY_LEGOSO_20);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_SIRONAS_SLAIN_EMOTE_1;
break;
case PHASE_SIRONAS_SLAIN_EMOTE_1: // legoso exclamation after battle - stage 1.2
me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_SIRONAS_SLAIN_EMOTE_2;
break;
case PHASE_SIRONAS_SLAIN_EMOTE_2: // legoso exclamation after battle - stage 1.3
if (Player* player = GetPlayerForEscort())
player->GroupEventHappens(QUEST_ENDING_THEIR_WORLD, me);
me->HandleEmoteCommand(EMOTE_ONESHOT_CHEER);
_moveTimer = 5 * IN_MILLISECONDS;
_phase = PHASE_SIRONAS_SLAIN_SPEECH_2;
break;
case PHASE_SIRONAS_SLAIN_SPEECH_2: // legoso exclamation after battle - stage 2
Talk(SAY_LEGOSO_21);
_moveTimer = 30 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
default:
break;
}
}
else if (!me->IsInCombat())
_moveTimer -= diff;
}
}
void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
return;
switch (waypointId)
{
case WP_START:
SetEscortPaused(true);
me->SetFacingToObject(player);
Talk(SAY_LEGOSO_1);
_moveTimer = 2.5 * IN_MILLISECONDS;
_phase = PHASE_CONTINUE;
break;
case WP_EXPLOSIVES_FIRST_POINT:
SetEscortPaused(true);
Talk(SAY_LEGOSO_2);
_moveTimer = 8 * IN_MILLISECONDS;
_phase = PHASE_WP_22;
break;
case WP_EXPLOSIVES_FIRST_PLANT:
me->SetFacingTo(1.46f);
break;
case WP_EXPLOSIVES_FIRST_DETONATE:
SetEscortPaused(true);
me->SetFacingTo(1.05f);
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_PLANT_FIRST_TIMER_1;
break;
case WP_DEBUG_1:
SetEscortPaused(true);
_moveTimer = 0.5 * IN_MILLISECONDS;
_phase = PHASE_WP_26;
break;
case WP_SIRONAS_HILL:
{
SetEscortPaused(true);
//Find Sironas and make it respawn if needed
Creature* sironas = NULL;
Trinity::AllCreaturesOfEntryInRange check(me, NPC_SIRONAS, SIZE_OF_GRIDS);
Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(me, sironas, check);
me->VisitNearbyObject(SIZE_OF_GRIDS, searcher);
if (sironas)
{
if (!sironas->IsAlive())
sironas->Respawn(true);
sironas->AI()->DoAction(ACTION_SIRONAS_CHANNEL_START);
me->SetFacingToObject(sironas);
}
_moveTimer = 1 * IN_MILLISECONDS;
_phase = PHASE_FEEL_SIRONAS_1;
break;
}
case WP_EXPLOSIVES_SECOND_BATTLEROAR:
SetEscortPaused(true);
_moveTimer = 0.2 * IN_MILLISECONDS;
_phase = PHASE_MEET_SIRONAS_ROAR;
break;
case WP_EXPLOSIVES_SECOND_PLANT:
SetEscortPaused(true);
_moveTimer = 0.5 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_KNEEL;
break;
case WP_EXPLOSIVES_SECOND_DETONATE:
SetEscortPaused(true);
me->SetFacingTo(5.7f);
_moveTimer = 2 * IN_MILLISECONDS;
_phase = PHASE_PLANT_SECOND_TIMER_1;
break;
default:
break;
}
}
void DoAction(int32 param) override
{
switch (param)
{
case ACTION_LEGOSO_SIRONAS_KILLED:
_phase = PHASE_SIRONAS_SLAIN_SPEECH_1;
_moveTimer = 5 * IN_MILLISECONDS;
break;
default:
break;
}
}
private:
int8 _phase;
uint32 _moveTimer;
ObjectGuid _eventStarterGuid;
GuidList _explosivesGuids;
EventMap _events;
};
CreatureAI* GetAI(Creature* creature) const
{
return new npc_demolitionist_legosoAI(creature);
}
};
void AddSC_bloodmyst_isle()
{
new npc_webbed_creature();
new npc_sironas();
new npc_demolitionist_legoso();
}
@@ -746,7 +746,7 @@ class npc_gunship : public CreatureScript
{
cannon->CastSpell(cannon, SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO, TRIGGERED_FULL_MASK);
WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, cannon->GetPackGUID().size() + 4);
WorldPacket data(SMSG_SET_VEHICLE_REC_ID, cannon->GetPackGUID().size() + 4);
data << cannon->GetPackGUID();
data << uint32(0);
cannon->SendMessageToSet(&data, true);
@@ -2101,7 +2101,7 @@ class spell_igb_overheat : public SpellScriptLoader
{
if (Player* player = passenger->ToPlayer())
{
WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, GetUnitOwner()->GetPackGUID().size() + 1);
WorldPacket data(SMSG_CONTROL_UPDATE, GetUnitOwner()->GetPackGUID().size() + 1);
data << GetUnitOwner()->GetPackGUID();
data << uint8(value);
player->GetSession()->SendPacket(&data);

Some files were not shown because too many files have changed in this diff Show More