diff options
113 files changed, 17188 insertions, 1532 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake index bd39f3cade4..80b3bfc765f 100644 --- a/cmake/compiler/msvc/settings.cmake +++ b/cmake/compiler/msvc/settings.cmake @@ -18,9 +18,11 @@ if(PLATFORM EQUAL 64) add_definitions("-D_WIN64") message(STATUS "MSVC: 64-bit platform, enforced -D_WIN64 parameter") - #Enable extended object support for debug compiles on X64 (not required on X86) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") - message(STATUS "MSVC: Enabled increased number of sections in object files") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.23026.0) + #Enable extended object support for debug compiles on X64 (not required on X86) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj") + message(STATUS "MSVC: Enabled increased number of sections in object files") + endif() else() # mark 32 bit executables large address aware so they can use > 2GB address space set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") @@ -39,6 +41,17 @@ add_definitions(-D_BUILD_DIRECTIVE=\\"$(ConfigurationName)\\") # multithreaded compiling on VS set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") +# /Zc:throwingNew. +# When you specify Zc:throwingNew on the command line, it instructs the compiler to assume +# that the program will eventually be linked with a conforming operator new implementation, +# and can omit all of these extra null checks from your program. +# http://blogs.msdn.com/b/vcblog/archive/2015/08/06/new-in-vs-2015-zc-throwingnew.aspx +if(NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.23026.0)) + # also enable /bigobj for ALL builds under visual studio 2015, increased number of templates in standard library + # makes this flag a requirement to build TC at all + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:throwingNew /bigobj") +endif() + # Define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES - eliminates the warning by changing the strcpy call to strcpy_s, which prevents buffer overruns add_definitions(-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES) message(STATUS "MSVC: Overloaded standard names") diff --git a/dep/g3dlite/G3D-v9.0 hotfix5.diff b/dep/g3dlite/G3D-v9.0 hotfix5.diff new file mode 100644 index 00000000000..7bc4073ef62 --- /dev/null +++ b/dep/g3dlite/G3D-v9.0 hotfix5.diff @@ -0,0 +1,28 @@ +diff --git a/dep/g3dlite/include/G3D/Quat.h b/dep/g3dlite/include/G3D/Quat.h +index 04e11e0..b26708a 100644 +--- a/dep/g3dlite/include/G3D/Quat.h ++++ b/dep/g3dlite/include/G3D/Quat.h +@@ -335,8 +335,8 @@ public: + Note that q.pow(a).pow(b) == q.pow(a + b) + @cite Dam98 pg 21 + */ +- inline Quat pow(float x) const { +- return (log() * x).exp(); ++ inline Quat pow(float r) const { ++ return (log() * r).exp(); + } + + /** Make unit length in place */ +@@ -349,9 +349,9 @@ public: + the magnitude. + */ + Quat toUnit() const { +- Quat x = *this; +- x.unitize(); +- return x; ++ Quat copyOfThis = *this; ++ copyOfThis.unitize(); ++ return copyOfThis; + } + + /** diff --git a/dep/g3dlite/Readme.txt b/dep/g3dlite/Readme.txt index 682a2404d96..bcd418d1d0e 100644 --- a/dep/g3dlite/Readme.txt +++ b/dep/g3dlite/Readme.txt @@ -14,3 +14,4 @@ G3D-v9.0 hotfix1.diff - 2014-08-22 - updated to G3D9, reapplied previous patches G3D-v9.0 hotfix2.diff - 2014-08-23 - fix some -Wconversion warnings G3D-v9.0 hotfix3.diff - 2015-06-28 - fix some warnings G3D-v9.0 hotfix4.diff - 2015-07-02 - backport G3D10 fix +G3D-v9.0 hotfix5.diff - 2015-07-31 - fix MSVC 2015 warning: dep/g3dlite/include/G3D/Quat.h(352): warning C4458: declaration of 'x' hides class member diff --git a/dep/g3dlite/include/G3D/Quat.h b/dep/g3dlite/include/G3D/Quat.h index 04e11e084a0..73e661a4f48 100644 --- a/dep/g3dlite/include/G3D/Quat.h +++ b/dep/g3dlite/include/G3D/Quat.h @@ -335,8 +335,8 @@ public: Note that q.pow(a).pow(b) == q.pow(a + b) @cite Dam98 pg 21 */ - inline Quat pow(float x) const { - return (log() * x).exp(); + inline Quat pow(float r) const { + return (log() * r).exp(); } /** Make unit length in place */ @@ -349,9 +349,9 @@ public: the magnitude. */ Quat toUnit() const { - Quat x = *this; - x.unitize(); - return x; + Quat copyOfThis = *this; + copyOfThis.unitize(); + return copyOfThis; } /** diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index 0173f62621a..0a7528d4ca8 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -251,7 +251,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',20182),('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',20253),('WoW','ptBR',0),('WoW','ptPT',0),('WoW','ruRU',0),('WoW','Win',20253),('WoW','Wn64',20253),('WoW','zhCN',0),('WoW','zhTW',0); +INSERT INTO `battlenet_components` VALUES ('Bnet','Mc64',37165),('Bnet','Win',37165),('Bnet','Wn64',37165),('WoW','base',20182),('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',20338),('WoW','ptBR',0),('WoW','ptPT',0),('WoW','ruRU',0),('WoW','Win',20338),('WoW','Wn64',20338),('WoW','zhCN',0),('WoW','zhTW',0); /*!40000 ALTER TABLE `battlenet_components` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql index 2f3490c4689..82c455aee8a 100644 --- a/sql/base/characters_database.sql +++ b/sql/base/characters_database.sql @@ -1,8 +1,8 @@ --- MySQL dump 10.13 Distrib 5.6.21, for Win64 (x86_64) +-- MySQL dump 10.16 Distrib 10.1.6-MariaDB, for Win64 (AMD64) -- -- Host: localhost Database: characters -- ------------------------------------------------------ --- Server version 5.6.21-log +-- Server version 10.1.6-MariaDB /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -271,16 +271,16 @@ DROP TABLE IF EXISTS `calendar_events`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `calendar_events` ( - `id` bigint(20) unsigned NOT NULL DEFAULT '0', - `creator` bigint(20) unsigned NOT NULL DEFAULT '0', - `title` varchar(255) NOT NULL DEFAULT '', - `description` varchar(255) NOT NULL DEFAULT '', - `type` tinyint(1) unsigned NOT NULL DEFAULT '4', - `dungeon` int(10) NOT NULL DEFAULT '-1', - `eventtime` int(10) unsigned NOT NULL DEFAULT '0', - `flags` int(10) unsigned NOT NULL DEFAULT '0', - `time2` int(10) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) + `EventID` bigint(20) unsigned NOT NULL DEFAULT '0', + `Owner` bigint(20) unsigned NOT NULL DEFAULT '0', + `Title` varchar(255) NOT NULL DEFAULT '', + `Description` varchar(255) NOT NULL DEFAULT '', + `EventType` tinyint(1) unsigned NOT NULL DEFAULT '4', + `TextureID` int(10) NOT NULL DEFAULT '-1', + `Date` int(10) unsigned NOT NULL DEFAULT '0', + `Flags` int(10) unsigned NOT NULL DEFAULT '0', + `LockDate` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`EventID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; @@ -301,15 +301,15 @@ DROP TABLE IF EXISTS `calendar_invites`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `calendar_invites` ( - `id` bigint(20) unsigned NOT NULL DEFAULT '0', - `event` bigint(20) unsigned NOT NULL DEFAULT '0', - `invitee` bigint(20) unsigned NOT NULL DEFAULT '0', - `sender` bigint(20) unsigned NOT NULL DEFAULT '0', - `status` tinyint(1) unsigned NOT NULL DEFAULT '0', - `statustime` int(10) unsigned NOT NULL DEFAULT '0', - `rank` tinyint(1) unsigned NOT NULL DEFAULT '0', - `text` varchar(255) NOT NULL DEFAULT '', - PRIMARY KEY (`id`) + `InviteID` bigint(20) unsigned NOT NULL DEFAULT '0', + `EventID` bigint(20) unsigned NOT NULL DEFAULT '0', + `Invitee` bigint(20) unsigned NOT NULL DEFAULT '0', + `Sender` bigint(20) unsigned NOT NULL DEFAULT '0', + `Status` tinyint(1) unsigned NOT NULL DEFAULT '0', + `ResponseTime` int(10) unsigned NOT NULL DEFAULT '0', + `ModerationRank` tinyint(1) unsigned NOT NULL DEFAULT '0', + `Note` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`InviteID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; @@ -1632,6 +1632,7 @@ CREATE TABLE `characters` ( `latency` mediumint(8) unsigned NOT NULL DEFAULT '0', `talentGroupsCount` tinyint(3) unsigned NOT NULL DEFAULT '1', `activeTalentGroup` tinyint(3) unsigned NOT NULL DEFAULT '0', + `lootSpecId` int(10) unsigned NOT NULL DEFAULT '0', `exploredZones` longtext, `equipmentCache` longtext, `knownTitles` longtext, @@ -3064,7 +3065,7 @@ CREATE TABLE `updates` ( LOCK TABLES `updates` WRITE; /*!40000 ALTER TABLE `updates` DISABLE KEYS */; -INSERT INTO `updates` VALUES ('2014_10_20_00_characters.sql','A5882DA0979CF4DAE33DA011EBAA006C24BE7230','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_00_characters.sql','E2AC4758133EE19B7F08464A445802154D1261C8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_01_characters.sql','20029E6323D9773B32C34D84FFED1711CC60F09F','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_02_characters.sql','8A7A16886EE71E7ACDDB3DDA6D0ECAC2FD2FDCA8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_24_00_characters.sql','D008FE81AE844FCA686439D6ECC5108FB0DD1EB9','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_25_00_characters.sql','A39C7BE46686B54776BDAB9D7A882D91EDEC51A4','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_26_00_characters.sql','C787954CC35FE34B4101FDE6527F14C027F4947C','ARCHIVED','2015-03-21 15:55:55',0),('2014_11_12_00_characters.sql','B160BB2313F1BD5F3B076A5A9279DC10D4796E34','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_23_00_characters.sql','3D9D648B2387B357F4BD090B33F80682F7924882','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_28_00_characters.sql','5362922FF4483A336311D73082A5727309CD9219','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_31_00_characters.sql','498DDF2DD936CF156D74A8208DC93DCE9FCAB5AA','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_02_00_characters.sql','E5940BE836F253982E07930120422E598D08BDE1','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_10_00_characters.sql','30796056C8623699B2FE1BF626A19D38262E9284','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_16_00_characters.sql','96642760A54C8D799AAFE438049A63AA521656F2','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_27_00_characters.sql','EB710E3EB9F2CAFD84AB62CDC84E898403A80A4F','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_00_characters.sql','405BEB4ED207DC6076442A37EE2AFB1F21E274A0','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_01_characters.sql','35F582D4F33BF55D1685A1BA89273ED895FD09C5','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_17_00_characters.sql','8D21FC5A55BF8B55D6DCDCE5F02CF2B640230E94','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_10_00_characters.sql','E565B89B145C340067742DFF2DEF1B74F5F1BD4E','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_01_characters.sql','20BD68468C57FCF7E665B4DA185DCD52FACE8B3F','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_02_characters.sql','0296995DCD3676BA9AE6024CA7C91C5F39D927A3','ARCHIVED','2015-03-21 15:56:46',0),('2015_03_29_00_characters.sql','95D6A46BB746A8BD3EE3FE2086DF1A07F7C33B92','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_21_00_characters.sql','F2032B9BF4EDA7EDE5065554724ED392FD91657D','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_28_00_characters.sql','949F62DB3A3461D420A1230ECF7A6A3ED6435703','ARCHIVED','2015-05-02 15:43:06',0),('2015_05_08_00_characters.sql','0F14B7821618D1C872625B6EDDAA9A667B211167','ARCHIVED','2015-07-10 19:32:17',0),('2015_05_22_00_characters.sql','65B82152413FAB23BE413656E59A486A74447FF7','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_08_00_characters.sql','DAB25360ACB5244C8F8E6214CF6BD97160588A5B','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_11_00_characters.sql','B421B6C0E57BD0FD587071358863D9DABF4BA849','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_12_00_characters.sql','E98E7FD61EF6426E7EDE8ED9AD8C15D8D7132589','ARCHIVED','2015-07-13 21:50:02',0); +INSERT INTO `updates` VALUES ('2014_10_20_00_characters.sql','A5882DA0979CF4DAE33DA011EBAA006C24BE7230','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_00_characters.sql','E2AC4758133EE19B7F08464A445802154D1261C8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_01_characters.sql','20029E6323D9773B32C34D84FFED1711CC60F09F','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_23_02_characters.sql','8A7A16886EE71E7ACDDB3DDA6D0ECAC2FD2FDCA8','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_24_00_characters.sql','D008FE81AE844FCA686439D6ECC5108FB0DD1EB9','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_25_00_characters.sql','A39C7BE46686B54776BDAB9D7A882D91EDEC51A4','ARCHIVED','2015-03-21 15:55:55',0),('2014_10_26_00_characters.sql','C787954CC35FE34B4101FDE6527F14C027F4947C','ARCHIVED','2015-03-21 15:55:55',0),('2014_11_12_00_characters.sql','B160BB2313F1BD5F3B076A5A9279DC10D4796E34','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_23_00_characters.sql','3D9D648B2387B357F4BD090B33F80682F7924882','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_28_00_characters.sql','5362922FF4483A336311D73082A5727309CD9219','ARCHIVED','2015-03-21 15:55:55',0),('2014_12_31_00_characters.sql','498DDF2DD936CF156D74A8208DC93DCE9FCAB5AA','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_02_00_characters.sql','E5940BE836F253982E07930120422E598D08BDE1','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_10_00_characters.sql','30796056C8623699B2FE1BF626A19D38262E9284','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_16_00_characters.sql','96642760A54C8D799AAFE438049A63AA521656F2','ARCHIVED','2015-03-21 15:55:55',0),('2015_01_27_00_characters.sql','EB710E3EB9F2CAFD84AB62CDC84E898403A80A4F','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_00_characters.sql','405BEB4ED207DC6076442A37EE2AFB1F21E274A0','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_13_01_characters.sql','35F582D4F33BF55D1685A1BA89273ED895FD09C5','ARCHIVED','2015-03-21 15:55:55',0),('2015_02_17_00_characters.sql','8D21FC5A55BF8B55D6DCDCE5F02CF2B640230E94','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_10_00_characters.sql','E565B89B145C340067742DFF2DEF1B74F5F1BD4E','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_01_characters.sql','20BD68468C57FCF7E665B4DA185DCD52FACE8B3F','ARCHIVED','2015-03-21 15:55:55',0),('2015_03_20_02_characters.sql','0296995DCD3676BA9AE6024CA7C91C5F39D927A3','ARCHIVED','2015-03-21 15:56:46',0),('2015_03_29_00_characters.sql','95D6A46BB746A8BD3EE3FE2086DF1A07F7C33B92','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_21_00_characters.sql','F2032B9BF4EDA7EDE5065554724ED392FD91657D','ARCHIVED','2015-05-02 15:43:06',0),('2015_04_28_00_characters.sql','949F62DB3A3461D420A1230ECF7A6A3ED6435703','ARCHIVED','2015-05-02 15:43:06',0),('2015_05_08_00_characters.sql','0F14B7821618D1C872625B6EDDAA9A667B211167','ARCHIVED','2015-07-10 19:32:17',0),('2015_05_22_00_characters.sql','65B82152413FAB23BE413656E59A486A74447FF7','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_08_00_characters.sql','DAB25360ACB5244C8F8E6214CF6BD97160588A5B','ARCHIVED','2015-07-10 19:32:17',0),('2015_07_11_00_characters.sql','B421B6C0E57BD0FD587071358863D9DABF4BA849','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_12_00_characters.sql','E98E7FD61EF6426E7EDE8ED9AD8C15D8D7132589','ARCHIVED','2015-07-13 21:50:02',0),('2015_07_28_00_characters.sql','0711BC3A658D189EF71B0CB68DCFF2E9B781C4A0','RELEASED','2015-07-29 16:23:56',0),('2015_08_08_00_characters.sql','EA12BB2DC24FAF2300A96D0888A45BBEA158D5DC','RELEASED','2015-08-08 16:34:07',0); /*!40000 ALTER TABLE `updates` ENABLE KEYS */; UNLOCK TABLES; @@ -3149,4 +3150,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2015-07-13 23:49:28 +-- Dump completed on 2015-08-08 18:35:34 diff --git a/sql/updates/auth/2015_07_29_00_auth.sql b/sql/updates/auth/2015_07_29_00_auth.sql new file mode 100644 index 00000000000..f52cdee6f52 --- /dev/null +++ b/sql/updates/auth/2015_07_29_00_auth.sql @@ -0,0 +1 @@ +UPDATE `battlenet_components` SET `Build`=20338 WHERE `Program`='WoW' AND `Platform` IN ('Mc64','Win','Wn64') AND `Build`=20253; diff --git a/sql/updates/characters/2015_07_28_00_characters.sql b/sql/updates/characters/2015_07_28_00_characters.sql new file mode 100644 index 00000000000..29af7731d19 --- /dev/null +++ b/sql/updates/characters/2015_07_28_00_characters.sql @@ -0,0 +1,20 @@ +ALTER TABLE `calendar_invites` + CHANGE COLUMN `id` `InviteID` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' FIRST, + CHANGE COLUMN `event` `EventID` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' AFTER `InviteID`, + CHANGE COLUMN `invitee` `Invitee` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' AFTER `EventID`, + CHANGE COLUMN `sender` `Sender` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' AFTER `Invitee`, + CHANGE COLUMN `status` `Status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `Sender`, + CHANGE COLUMN `statustime` `ResponseTime` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `Status`, + CHANGE COLUMN `rank` `ModerationRank` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `ResponseTime`, + CHANGE COLUMN `text` `Note` VARCHAR(255) NOT NULL DEFAULT '' AFTER `ModerationRank`; + +ALTER TABLE `calendar_events` + CHANGE COLUMN `id` `EventID` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' FIRST, + CHANGE COLUMN `creator` `Owner` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' AFTER `EventID`, + CHANGE COLUMN `title` `Title` VARCHAR(255) NOT NULL DEFAULT '' AFTER `Owner`, + CHANGE COLUMN `description` `Description` VARCHAR(255) NOT NULL DEFAULT '' AFTER `Title`, + CHANGE COLUMN `type` `EventType` TINYINT(1) UNSIGNED NOT NULL DEFAULT '4' AFTER `Description`, + CHANGE COLUMN `dungeon` `TextureID` INT(10) NOT NULL DEFAULT '-1' AFTER `EventType`, + CHANGE COLUMN `eventtime` `Date` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `TextureID`, + CHANGE COLUMN `flags` `Flags` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `Date`, + CHANGE COLUMN `time2` `LockDate` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `Flags`; diff --git a/sql/updates/characters/2015_08_08_00_characters.sql b/sql/updates/characters/2015_08_08_00_characters.sql new file mode 100644 index 00000000000..5e009e10fd4 --- /dev/null +++ b/sql/updates/characters/2015_08_08_00_characters.sql @@ -0,0 +1 @@ +ALTER TABLE `characters` ADD `lootSpecId` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `activeTalentGroup`; diff --git a/sql/updates/world/2015_07_28_00_world.sql b/sql/updates/world/2015_07_28_00_world.sql new file mode 100644 index 00000000000..d8fccc9986e --- /dev/null +++ b/sql/updates/world/2015_07_28_00_world.sql @@ -0,0 +1,8 @@ +-- +-- Aqueous Defender SAI +SET @ENTRY := 73191; +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,1,0,0,0,100,0,5000,7000,22000,24000,11,147185,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aqueous Defender - In Combat - Cast Rushing Waters"), +(@ENTRY,0,2,0,0,0,100,0,4000,5500,7000,7500,11,147305,2,0,0,0,0,2,0,0,0,0,0,0,0,"Aqueous Defender - In Combat - Cast Vortex."); diff --git a/sql/updates/world/2015_07_28_01_world.sql b/sql/updates/world/2015_07_28_01_world.sql new file mode 100644 index 00000000000..139947c9e11 --- /dev/null +++ b/sql/updates/world/2015_07_28_01_world.sql @@ -0,0 +1,183 @@ +-- +-- DB/SAI: Update Teldrassil +-- Ancient Protector SAI +SET @ENTRY := 2041; +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,9,0,100,0,0,30,21000,25000,11,11922,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ancient Protector - Within 0-30 Range - Cast 'Entangling Roots'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,18000,11,45,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ancient Protector - Within 0-5 Range - Cast 'War Stomp'"); +-- Bloodfeather Fury SAI +SET @ENTRY := 2019; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfeather Fury - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,0,0,50,14000,18000,11,5515,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Fury - Between 0-50% Health - Cast 'Savagery'"); +-- NPC talk text insert +SET @ENTRY := 2019; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You will be easy prey, $c.',12,0,50,0,0,0, 'on Aggro Text',2231), +(@ENTRY,0,1, 'My talons will shred your puny body, $r.',12,0,50,0,0,0, 'on Aggro Text',2230), +(@ENTRY,0,2, 'A fine trophy your head will make, $r.',12,0,50,0,0,0, 'on Aggro Text',2229); +-- Bloodfeather Harpy SAI +SET @ENTRY := 2015; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Harpy - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,5,6000,9000,11,6958,0,0,0,0,0,2,1,0,0,0,0,0,0,"Bloodfeather Harpy - Within 0-5 Range - Cast 'Blood Leech'"); +-- NPC talk text insert +SET @ENTRY := 2015; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You will be easy prey, $c.',12,0,50,0,0,0, 'on Aggro Text',2231), +(@ENTRY,0,1, 'My talons will shred your puny body, $r.',12,0,50,0,0,0, 'on Aggro Text',2230), +(@ENTRY,0,2, 'A fine trophy your head will make, $r.',12,0,50,0,0,0, 'on Aggro Text',2229); +-- Bloodfeather Matriarch SAI +SET @ENTRY := 2021; +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,0,0,3400,4700,11,9532,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfeather Matriarch - In Combat - Cast 'Lightning Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Matriarch - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Matriarch - On Aggro - Say Line 1 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 2021; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,1,0, 'You will be easy prey, $c.',12,0,50,0,0,0, 'on Aggro Text',2231), +(@ENTRY,1,1, 'My talons will shred your puny body, $r.',12,0,50,0,0,0, 'on Aggro Text',2230), +(@ENTRY,1,2, 'A fine trophy your head will make, $r.',12,0,50,0,0,0, 'on Aggro Text',2229); +-- Bloodfeather Rogue SAI +SET @ENTRY := 2017; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Rogue - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 2017; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You will be easy prey, $c.',12,0,50,0,0,0, 'on Aggro Text',2231), +(@ENTRY,0,1, 'My talons will shred your puny body, $r.',12,0,50,0,0,0, 'on Aggro Text',2230), +(@ENTRY,0,2, 'A fine trophy your head will make, $r.',12,0,50,0,0,0, 'on Aggro Text',2229); +-- Bloodfeather Sorceress SAI +SET @ENTRY := 2018; +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,0,0,3400,4700,11,20793,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfeather Sorceress - In Combat - Cast 'Fireball'"), +(@ENTRY,0,1,2,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Sorceress - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Sorceress - On Aggro - Say Line 1 (No Repeat)"), +(@ENTRY,0,3,0,1,0,100,0,500,1000,600000,600000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Sorceress - Out of Combat - Cast 'Frost Armor'"); +-- NPC talk text insert +SET @ENTRY := 2018; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,1,0, 'You will be easy prey, $c.',12,0,50,0,0,0, 'on Aggro Text',2231), +(@ENTRY,1,1, 'My talons will shred your puny body, $r.',12,0,50,0,0,0, 'on Aggro Text',2230), +(@ENTRY,1,2, 'A fine trophy your head will make, $r.',12,0,50,0,0,0, 'on Aggro Text',2229); +-- Bloodfeather Wind Witch SAI +SET @ENTRY := 2020; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Wind Witch - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,5,11000,16000,11,6982,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfeather Wind Witch - Within 0-5 Range - Cast 'Gust of Wind'"); +-- NPC talk text insert +SET @ENTRY := 2020; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You will be easy prey, $c.',12,0,50,0,0,0, 'on Aggro Text',2231), +(@ENTRY,0,1, 'My talons will shred your puny body, $r.',12,0,50,0,0,0, 'on Aggro Text',2230), +(@ENTRY,0,2, 'A fine trophy your head will make, $r.',12,0,50,0,0,0, 'on Aggro Text',2229); +-- Feral Nightsaber SAI +SET @ENTRY := 2034; +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,9,0,100,0,0,5,10000,16000,11,12166,0,0,0,0,0,2,0,0,0,0,0,0,0,"Feral Nightsaber - Within 0-5 Range - Cast 'Muscle Tear'"); +-- Gnarlpine Ursa SAI +SET @ENTRY := 2006; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnarlpine Ursa - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Gnarlpine Gardener SAI +SET @ENTRY := 2007; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnarlpine Gardener - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Gnarlpine Mystic SAI +SET @ENTRY := 7235; +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,0,0,3400,4700,11,9739,64,0,0,0,0,2,0,0,0,0,0,0,0,"Gnarlpine Mystic - In Combat - Cast 'Wrath'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnarlpine Mystic - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Gnarlpine Shaman SAI +SET @ENTRY := 2009; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gnarlpine Shaman - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Gnarlpine Warrior SAI +SET @ENTRY := 2008; +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,9,0,100,0,0,5,7000,12000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gnarlpine Warrior - Within 0-5 Range - Cast 'Strike'"); +-- Grimmaw SAI +SET @ENTRY := 14429; +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,2000,4500,12000,20000,11,19319,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimmaw - In Combat - Cast 'Vicious Bite'"); +-- Moon Priestess Amara SAI +SET @ENTRY := 2151; +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,0,0,3400,4700,11,18561,64,0,0,0,0,2,0,0,0,0,0,0,0,"Moon Priestess Amara - In Combat - Cast 'Shoot'"); +-- Rageclaw SAI +SET @ENTRY := 7318; +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,4,0,100,1,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rageclaw - On Aggro - Set Event Phase 1 (No Repeat)"), +(@ENTRY,0,1,0,4,1,100,1,0,0,0,0,11,7090,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rageclaw - On Aggro - Cast 'Bear Form' (Phase 1) (No Repeat)"), +(@ENTRY,0,2,0,9,1,100,0,0,5,13000,18000,11,12161,0,0,0,0,0,2,0,0,0,0,0,0,0,"Rageclaw - Within 0-5 Range - Cast 'Maul' (Phase 1)"), +(@ENTRY,0,3,0,7,1,100,1,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rageclaw - On Evade - Set Event Phase 0 (Phase 1) (No Repeat)"); +-- Threggil SAI +SET @ENTRY := 14432; +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,2000,4500,12000,20000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Threggil - In Combat - Cast 'Strike'"); +-- Ursal the Mauler SAI +SET @ENTRY := 2039; +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,9,0,100,0,0,5,5000,8000,11,15793,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ursal the Mauler - Within 0-5 Range - Cast 'Maul'"); +-- Uruson SAI +SET @ENTRY := 14428; +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,9,0,100,0,0,5,33000,33000,11,15971,0,0,0,0,0,1,0,0,0,0,0,0,0,"Uruson - Within 0-5 Range - Cast 'Demoralizing Roar'"); +-- Webwood Silkspinner SAI +SET @ENTRY := 2000; +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,9,0,100,0,0,30,17000,20000,11,12023,0,0,0,0,0,2,0,0,0,0,0,0,0,"Webwood Silkspinner - Within 0-30 Range - Cast 'Web'"); +-- Webwood Spider SAI +SET @ENTRY := 1986; +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,9,0,100,0,0,5,22000,24000,11,6751,0,0,0,0,0,2,0,0,0,0,0,0,0,"Webwood Spider - Within 0-5 Range - Cast 'Weak Poison'"); diff --git a/sql/updates/world/2015_07_28_02_world.sql b/sql/updates/world/2015_07_28_02_world.sql new file mode 100644 index 00000000000..773c80f9053 --- /dev/null +++ b/sql/updates/world/2015_07_28_02_world.sql @@ -0,0 +1,763 @@ +-- +-- DB/SAI: Update Uldum +-- Cavorting Pygmy SAI +SET @ENTRY := 51217; +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,9,0,100,0,0,8,12000,12500,11,86695,0,0,0,0,0,1,0,0,0,0,0,0,0,"Cavorting Pygmy - Within 0-8 Range - Cast 'Whirlwind'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,14500,16900,11,86699,0,0,0,0,0,2,0,0,0,0,0,0,0,"Cavorting Pygmy - In Combat - Cast 'Shockwave'"); +-- Colossus of the Moon SAI +SET @ENTRY := 46042; +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,9,0,100,0,0,8,15000,17000,11,85840,0,0,0,0,0,1,0,0,0,0,0,0,0,"Colossus of the Moon - Within 0-8 Range - Cast 'Thunderclap'"); +-- Colossus of the Sun SAI +SET @ENTRY := 46041; +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,9,0,100,0,0,8,15000,17000,11,85840,0,0,0,0,0,1,0,0,0,0,0,0,0,"Colossus of the Sun - Within 0-8 Range - Cast 'Thunderclap'"); +-- Carrion Bird SAI +SET @ENTRY := 51760; +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,3500,4100,11500,13500,11,55079,0,0,0,0,0,2,0,0,0,0,0,0,0,"Carrion Bird - In Combat - Cast 'Swoop'"); +-- Captain Kronkh SAI +SET @ENTRY := 47978; +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,9,0,100,0,0,8,120000,120000,11,80983,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captain Kronkh - Within 0-8 Range - Cast 'Commanding Shout'"); +-- Ancestral Guardian SAI +SET @ENTRY := 48518; +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,5000,5000,13500,14200,11,86085,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ancestral Guardian - In Combat - Cast 'Mutilate'"); +-- Amethyst Scarab SAI +SET @ENTRY := 46129; +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,9000,10000,13600,11,87395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Amethyst Scarab - In Combat - Cast 'Serrated Slash'"); +-- Crazed Digger SAI +SET @ENTRY := 46590; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crazed Digger - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Diseased Vulture SAI +SET @ENTRY := 47202; +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,3000,4000,13000,16000,11,81236,0,0,0,0,0,2,32,0,0,0,0,0,0,"Diseased Vulture - In Combat - Cast 'Diseased Spit'"); +-- Dreadstalker SAI +SET @ENTRY := 47749; +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,5000,5000,13300,17500,11,88876,0,0,0,0,0,2,32,0,0,0,0,0,0,"Dreadstalker - In Combat - Cast 'Paralytic Venom'"); +-- Dark Pharaoh Tekahn SAI +SET @ENTRY := 47753; +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,0,0,3400,4700,11,88886,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Pharaoh Tekahn - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,11000,13000,11,88883,0,0,0,0,0,5,1,0,0,0,0,0,0,"Dark Pharaoh Tekahn - In Combat - Cast 'Pact of Darkness'"), +(@ENTRY,0,2,0,9,0,100,0,5,25,15800,18300,11,88887,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Pharaoh Tekahn - Within 5-25 Range - Cast 'Dark Rune'"); +-- Dark Ritualist Zakahn SAI +SET @ENTRY := 49148; +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,9,0,100,0,0,8,12400,13500,11,9081,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Ritualist Zakahn - Within 0-8 Range - Cast 'Shadow Bolt Volley'"), +(@ENTRY,0,1,0,4,0,100,1,0,0,0,0,11,91614,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Ritualist Zakahn - On Aggro - Cast 'Zakahn's Serpents' (No Repeat)"), +(@ENTRY,0,2,0,1,0,100,1,1000,1000,1000,1000,11,68797,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Ritualist Zakahn - Out of Combat - Cast 'Soulguard Channel' (No Repeat)"); +-- Decrepit Watcher SAI +SET @ENTRY := 47385; +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,8000,8000,16000,19000,11,87753,0,0,0,0,0,1,0,0,0,0,0,0,0,"Decrepit Watcher - In Combat - Cast 'Blazing Eruption'"); +-- Emerald Scarab SAI +SET @ENTRY := 46128; +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,9000,10000,13600,11,87395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Emerald Scarab - In Combat - Cast 'Serrated Slash'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,14500,15500,11,87393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Emerald Scarab - Within 0-8 Range - Cast 'Corrosive Spray'"); +-- Eternal Protector SAI +SET @ENTRY := 47227; +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,3000,3000,17800,21300,11,14868,0,0,0,0,0,5,0,0,0,0,0,0,0,"Eternal Protector - In Combat - Cast 'Curse of Agony'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,8000,11000,11,85424,0,0,0,0,0,2,0,0,0,0,0,0,0,"Eternal Protector - Within 0-5 Range - Cast 'Spirit Burst'"); +-- Cyrus the Black SAI +SET @ENTRY := 50064; +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,3000,4000,13600,15800,11,93589,0,0,0,0,0,2,0,0,0,0,0,0,0,"Cyrus the Black - In Combat - Cast 'Disease Breath'"), +(@ENTRY,0,1,0,0,0,100,0,9000,9000,17800,21300,11,93587,0,0,0,0,0,2,1,0,0,0,0,0,0,"Cyrus the Black - In Combat - Cast 'Ritual of Bloodletting'"), +(@ENTRY,0,2,0,2,0,100,1,0,50,0,0,11,93585,0,0,0,0,0,2,0,0,0,0,0,0,0,"Cyrus the Black - Between 0-50% Health - Cast 'Serum of Torment' (No Repeat)"); +-- Crown Technician SAI +SET @ENTRY := 51613; +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,0,0,3500,4100,11,70074,64,0,0,0,0,2,0,0,0,0,0,0,0,"Crown Technician - In Combat - Cast 'Spray Chemical'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,8000,10000,11,11978,0,0,0,0,0,2,0,0,0,0,0,0,0,"Crown Technician - Within 0-5 Range - Cast 'Kick'"); +-- Captain Margun SAI +SET @ENTRY := 47981; +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,5000,5000,14500,15300,11,6253,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Margun - In Combat - Cast 'Backhand'"), +(@ENTRY,0,1,0,9,0,100,0,0,10,12000,12300,11,84309,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Margun - Within 0-10 Range - Cast 'Coin Toss'"); +-- Captain Cork SAI +SET @ENTRY := 47980; +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,5000,5000,11300,13500,11,86738,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Cork - In Combat - Cast 'Deep Bruise'"), +(@ENTRY,0,1,0,9,0,100,0,0,10,15000,16000,11,93456,0,0,0,0,0,5,0,0,0,0,0,0,0,"Captain Cork - Within 0-10 Range - Cast 'Smoke Bomb'"); +-- Antechamber Guardian SAI +SET @ENTRY := 39077; +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,9,0,100,0,0,5,15000,15000,11,80380,0,0,0,0,0,2,0,0,0,0,0,0,0,"Antechamber Guardian - Within 0-5 Range - Cast 'Sand Breath'"), +(@ENTRY,0,1,0,9,0,100,0,0,25,22000,23000,11,73864,0,0,0,0,0,2,0,0,0,0,0,0,0,"Antechamber Guardian - Within 0-25 Range - Cast 'Sand Trap'"), +(@ENTRY,0,2,0,0,0,100,0,3000,3000,18000,18000,11,83567,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antechamber Guardian - In Combat - Cast 'Sparkling Sands'"); +-- Akma'hat SAI +SET @ENTRY := 50063; +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,9000,9000,22000,22000,11,94946,0,0,0,0,0,1,0,0,0,0,0,0,0,"Akma'hat - In Combat - Cast 'Fury of the Sands'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,19500,27300,11,93578,0,0,0,0,0,1,0,0,0,0,0,0,0,"Akma'hat - In Combat - Cast 'Sands of Time'"), +(@ENTRY,0,2,0,9,0,100,0,0,8,15800,18300,11,94968,0,0,0,0,0,2,0,0,0,0,0,0,0,"Akma'hat - Within 0-8 Range - Cast 'Shockwave'"), +(@ENTRY,0,3,0,2,0,100,1,0,40,0,0,11,93561,0,0,0,0,0,1,0,0,0,0,0,0,0,"Akma'hat - Between 0-40% Health - Cast 'Stone Mantle' (No Repeat)"); +-- Cursed Engineer SAI +SET @ENTRY := 46617; +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,4,0,25,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Cursed Engineer - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 46617; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Hubba-hubba!',12,0,50,0,0,0, 'combat Say',46807), +(@ENTRY,0,1, 'You could bounce a washer off those legs!',12,0,50,0,0,0, 'combat Say',46809), +(@ENTRY,0,2, 'Weaponized sharks? Why didn\'t I think of that!',12,0,50,0,0,0, 'combat Say',46817), +(@ENTRY,0,3, 'ROCK ON!',12,0,50,0,0,0, 'combat Say',46818), +(@ENTRY,0,4, 'So... EPIC!',12,0,50,0,0,0, 'combat Say',46816), +(@ENTRY,0,5, '200 horsepower, dual combustion engine with modified flux capacitors! ZOING!',12,0,50,0,0,0, 'combat Say',46812), +(@ENTRY,0,6, 'Shake it like a sine wave, baby!',12,0,50,0,0,0, 'combat Say',46810); +-- Mangy Hyena SAI +SET @ENTRY := 45202; +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,5000,8000,12000,12000,11,85415,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mangy Hyena - In Combat - Cast 'Mangle'"); +-- Madexx SAI +SET @ENTRY := 51402; +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,13,0,100,0,12000,18000,0,0,11,79840,0,0,0,0,0,6,1,0,0,0,0,0,0,"Madexx - On Victim Casting - Cast 'Harden'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - Between 0-30% Health - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - On Aggro - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,14000,16000,11,79607,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - In Combat - Cast 'Venom Splash'"); +-- Madexx SAI +SET @ENTRY := 50154; +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,13,0,100,0,12000,18000,0,0,11,79840,0,0,0,0,0,6,1,0,0,0,0,0,0,"Madexx - On Victim Casting - Cast 'Harden'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - Between 0-30% Health - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - On Aggro - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,14000,16000,11,79607,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - In Combat - Cast 'Venom Splash'"); +-- Madexx SAI +SET @ENTRY := 51403; +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,13,0,100,0,12000,18000,0,0,11,79840,0,0,0,0,0,6,1,0,0,0,0,0,0,"Madexx - On Victim Casting - Cast 'Harden'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - Between 0-30% Health - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - On Aggro - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,14000,16000,11,79607,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - In Combat - Cast 'Venom Splash'"); +-- Madexx SAI +SET @ENTRY := 51404; +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,13,0,100,0,12000,18000,0,0,11,79840,0,0,0,0,0,6,1,0,0,0,0,0,0,"Madexx - On Victim Casting - Cast 'Harden'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - Between 0-30% Health - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - On Aggro - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,14000,16000,11,79607,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - In Combat - Cast 'Venom Splash'"); +-- Madexx SAI +SET @ENTRY := 51401; +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,13,0,100,0,12000,18000,0,0,11,79840,0,0,0,0,0,6,1,0,0,0,0,0,0,"Madexx - On Victim Casting - Cast 'Harden'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - Between 0-30% Health - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,79443,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - On Aggro - Cast 'Sand Step' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,14000,16000,11,79607,0,0,0,0,0,1,0,0,0,0,0,0,0,"Madexx - In Combat - Cast 'Venom Splash'"); +-- Longstrider Gazelle SAI +SET @ENTRY := 51713; +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,5000,5000,12000,13000,11,32019,0,0,0,0,0,2,0,0,0,0,0,0,0,"Longstrider Gazelle - In Combat - Cast 'Gore'"); +-- Kavem the Callous SAI +SET @ENTRY := 47567; +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,9,0,100,0,0,8,120000,120000,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kavem the Callous - Within 0-8 Range - Cast 'Battle Shout'"), +(@ENTRY,0,1,0,2,0,100,1,0,50,0,0,11,79878,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kavem the Callous - Between 0-50% Health - Cast 'Bloodthirst' (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,3000,3000,11000,13000,11,11977,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kavem the Callous - In Combat - Cast 'Rend'"), +(@ENTRY,0,3,0,4,0,100,1,0,0,0,0,11,79883,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kavem the Callous - On Aggro - Cast 'Shattering Throw' (No Repeat)"), +(@ENTRY,0,4,0,0,0,100,0,8000,8000,17800,19600,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Kavem the Callous - In Combat - Cast 'Slam'"); +-- Mysterious Camel Figurine SAI +SET @ENTRY := 50409; +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,3000,3500,11000,11500,11,93473,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mysterious Camel Figurine - In Combat - Cast 'Sandstorm'"); +-- Mar'at Guardian SAI +SET @ENTRY := 48874; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Mar'at Guardian - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mar'at Guardian - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,3400,5500,10800,15400,11,40505,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mar'at Guardian - In Combat - Cast 'Cleave'"); +-- Indentured Protector SAI +SET @ENTRY := 45949; +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,0,0,2300,3900,11,91856,64,0,0,0,0,2,0,0,0,0,0,0,0,"Indentured Protector - In Combat - Cast 'Scythe of Disruption'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,13500,14200,11,86085,0,0,0,0,0,2,0,0,0,0,0,0,0,"Indentured Protector - In Combat - Cast 'Mutilate'"); +-- Immortal Colossus SAI +SET @ENTRY := 48548; +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,5000,5000,12000,13000,11,90422,0,0,0,0,0,2,0,0,0,0,0,0,0,"Immortal Colossus - In Combat - Cast 'Colossal Cleave'"); +-- High Priest Sekhemet SAI +SET @ENTRY := 47730; +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,0,0,3400,4700,11,79932,64,0,0,0,0,2,0,0,0,0,0,0,0,"High Priest Sekhemet - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"High Priest Sekhemet - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8200,8500,18500,22300,11,86845,0,0,0,0,0,1,0,0,0,0,0,0,0,"High Priest Sekhemet - In Combat - Cast 'Shadow Eruption'"); +-- General Ammantep SAI +SET @ENTRY := 45772; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"General Ammantep - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"General Ammantep - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- High Commander Kamses SAI +SET @ENTRY := 46134; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"High Commander Kamses - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"High Commander Kamses - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Ferndweller Wasp SAI +SET @ENTRY := 51712; +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,2,0,100,1,0,30,0,0,11,34392,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ferndweller Wasp - Between 0-30% Health - Cast 'Stinger Rage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ferndweller Wasp - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 51712; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes rage!',16,0,100,0,0,0, 'combat Rage',10677); +-- Furious Specter SAI +SET @ENTRY := 47220; +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,5000,5000,17200,18900,11,69633,0,0,0,0,0,5,0,0,0,0,0,0,0,"Furious Specter - In Combat - Cast 'Veil of Shadow'"), +(@ENTRY,0,1,0,0,0,100,0,8000,11000,9000,14000,11,92919,0,0,0,0,0,1,0,0,0,0,0,0,0,"Furious Specter - In Combat - Cast 'Wail of Souls'"); +-- Oasis Crocolisk SAI +SET @ENTRY := 51675; +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,3000,4000,12900,14700,11,48287,0,0,0,0,0,2,0,0,0,0,0,0,0,"Oasis Crocolisk - In Combat - Cast 'Powerful Bite'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,87228,0,0,0,0,0,1,0,0,0,0,0,0,0,"Oasis Crocolisk - Between 0-30% Health - Cast 'Thick Hide' (No Repeat)"); +-- Obsidian Colossus SAI +SET @ENTRY := 46646; +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,8000,8000,17900,18500,11,87988,0,0,0,0,0,1,0,0,0,0,0,0,0,"Obsidian Colossus - In Combat - Cast 'Force Punch'"), +(@ENTRY,0,1,0,9,0,100,0,8,20,15800,18300,11,87990,0,0,0,0,0,1,0,0,0,0,0,0,0,"Obsidian Colossus - Within 8-20 Range - Cast 'Shadow Storm'"), +(@ENTRY,0,2,0,0,0,100,0,3000,3000,12000,13000,11,87680,0,0,0,0,0,2,0,0,0,0,0,0,0,"Obsidian Colossus - In Combat - Cast 'Sweeping Attack'"); +-- Neferset Blade Twister SAI +SET @ENTRY := 47727; +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,5000,5000,12000,13400,11,88844,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Blade Twister - In Combat - Cast 'Cauterizing Strike'"); +-- Neferset Armorer SAI +SET @ENTRY := 47722; +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,4500,4500,15800,18900,11,86070,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Armorer - In Combat - Cast 'Pierce Armor'"), +(@ENTRY,0,1,0,0,0,100,0,3000,3000,21200,22000,11,21118,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Armorer - In Combat - Cast 'Spell Reflection'"); +-- Neferset Ritualist SAI +SET @ENTRY := 47762; +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,0,0,3400,4700,11,88886,64,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Ritualist - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,2,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Ritualist - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,2000,3000,22000,25000,11,69391,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Ritualist - In Combat - Cast 'Dark Blessing'"), +(@ENTRY,0,3,0,9,0,100,0,0,20,15800,19900,11,88902,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Ritualist - Within 0-20 Range - Cast 'Meteor'"); +-- Neferset Savage SAI +SET @ENTRY := 47729; +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,5000,5000,14800,15600,11,32736,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Savage - In Combat - Cast 'Mortal Strike'"), +(@ENTRY,0,1,0,0,0,100,0,9000,9200,22400,22700,11,88846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Savage - In Combat - Cast 'Shockwave'"); +-- Neferset Raider SAI +SET @ENTRY := 48626; +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,5000,5000,11000,12300,11,13608,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Raider - In Combat - Cast 'Hooked Net'"); +-- Neferset Scryer SAI +SET @ENTRY := 48625; +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,0,0,3400,4700,11,88886,64,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Scryer - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Scryer - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,3000,3000,18500,19100,11,90607,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Scryer - In Combat - Cast 'Curse of Impotence'"), +(@ENTRY,0,3,0,0,0,100,0,1000,1000,34500,35600,11,31976,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Scryer - In Combat - Cast 'Shadow Shield'"); +-- Prince Nadun SAI +SET @ENTRY := 45799; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"Prince Nadun - In Combat - Cast 'Shoot'"); +-- Rabid Hyena SAI +SET @ENTRY := 51671; +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,4500,4500,11000,12500,11,85415,0,0,0,0,0,2,0,0,0,0,0,0,0,"Rabid Hyena - In Combat - Cast 'Mangle'"); +-- Ramkahen Citizen SAI +SET @ENTRY := 46402; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Citizen - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Citizen - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Ramkahen Field Worker SAI +SET @ENTRY := 47699; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Field Worker - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Field Worker - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Pyramid Watcher SAI +SET @ENTRY := 47810; +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,8000,8000,16000,19000,11,87753,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pyramid Watcher - In Combat - Cast 'Blazing Eruption'"); +-- Ramkahen Prisoner SAI +SET @ENTRY := 46425; +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,9,0,100,0,0,8,22000,25000,11,13730,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Prisoner - Within 0-8 Range - Cast 'Demoralizing Shout'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,13500,15700,11,74720,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Prisoner - In Combat - Cast 'Pound'"); +-- Ramkahen Ranger SAI +SET @ENTRY := 49255; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Ranger - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Ranger - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Ramkahen Ranger Captain SAI +SET @ENTRY := 49253; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Ranger Captain - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Ranger Captain - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Ramkahen Marksman SAI +SET @ENTRY := 48514; +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,0,0,2300,3900,11,85232,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Marksman - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Marksman - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Ramkahen Guardian SAI +SET @ENTRY := 51776; +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,0,0,2300,3900,11,23337,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Guardian - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Guardian - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,8,8000,12000,11,40505,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Guardian - Within 0-8 Range - Cast 'Cleave'"); +-- Neferset Cursebringer SAI +SET @ENTRY := 47760; +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,5000,5000,17000,19200,11,88901,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Cursebringer - In Combat - Cast 'Curse of Blood'"), +(@ENTRY,0,1,0,0,0,100,0,3000,9000,11000,14500,11,15968,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Cursebringer - In Combat - Cast 'Lash of Pain'"); +-- Neferset Looter SAI +SET @ENTRY := 48627; +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,3500,5500,12000,13000,11,6595,0,0,0,0,0,2,0,0,0,0,0,0,0,"Neferset Looter - In Combat - Cast 'Exploit Weakness'"), +(@ENTRY,0,1,0,0,0,100,0,9000,9000,21000,22000,11,36250,0,0,0,0,0,2,1,0,0,0,0,0,0,"Neferset Looter - In Combat - Cast 'Steal Armor'"); +-- Neferset Snake Charmer SAI +SET @ENTRY := 47738; +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,11900,13500,11,88863,0,0,0,0,0,2,32,0,0,0,0,0,0,"Neferset Snake Charmer - In Combat - Cast 'Instant Poison'"), +(@ENTRY,0,1,0,0,0,100,0,9000,9000,25000,25000,11,88862,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Snake Charmer - In Combat - Cast 'Viper's Call'"); +-- Neferset Venom Keeper SAI +SET @ENTRY := 47741; +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,5000,5000,17000,18000,11,85713,0,0,0,0,0,2,32,0,0,0,0,0,0,"Neferset Venom Keeper - In Combat - Cast 'Intoxicating Venom'"), +(@ENTRY,0,1,0,0,0,100,0,9000,9000,12000,13000,11,88867,0,0,0,0,0,1,0,0,0,0,0,0,0,"Neferset Venom Keeper - In Combat - Cast 'Anesthetics'"); +-- Oathsworn Skinner SAI +SET @ENTRY := 51759; +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,8000,8000,16000,16000,11,96098,0,0,0,0,0,1,0,0,0,0,0,0,0,"Oathsworn Skinner - In Combat - Cast 'Fan of Knives'"), +(@ENTRY,0,1,0,0,0,100,0,3000,3000,11000,11500,11,84031,0,0,0,0,0,2,0,0,0,0,0,0,0,"Oathsworn Skinner - In Combat - Cast 'Spinal Pierce'"); +-- Pygmy Oaf SAI +SET @ENTRY := 48040; +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,9,0,100,0,0,8,15000,18000,11,86695,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pygmy Oaf - Within 0-8 Range - Cast 'Whirlwind'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,12500,13600,11,86699,0,0,0,0,0,2,0,0,0,0,0,0,0,"Pygmy Oaf - In Combat - Cast 'Shockwave'"); +-- Pygmy Scout SAI +SET @ENTRY := 48041; +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,0,0,2300,3900,11,79444,64,0,0,0,0,2,0,0,0,0,0,0,0,"Pygmy Scout - In Combat - Cast 'Impale'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pygmy Scout - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,8,15000,15000,11,73864,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pygmy Scout - Within 0-8 Range - Cast 'Sand Trap'"); +-- Pygmy Thief SAI +SET @ENTRY := 48043; +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,0,0,2300,3900,11,87341,64,0,0,0,0,2,0,0,0,0,0,0,0,"Pygmy Thief - In Combat - Cast 'Blow Dart'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pygmy Thief - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Ramkahen Guardian SAI +SET @ENTRY := 48883; +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,0,0,2300,3900,11,23337,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Guardian - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Guardian - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,20,15000,16000,11,12024,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Guardian - Within 0-20 Range - Cast 'Net'"); +-- Ramkahen Guardian SAI +SET @ENTRY := 51776; +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,0,0,2300,3900,11,23337,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Guardian - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ramkahen Guardian - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,8,8000,12000,11,40505,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ramkahen Guardian - Within 0-8 Range - Cast 'Cleave'"); +-- Riverbed Crocolisk SAI +SET @ENTRY := 45321; +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,3000,4000,12900,14700,11,48287,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverbed Crocolisk - In Combat - Cast 'Powerful Bite'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,87228,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverbed Crocolisk - Between 0-30% Health - Cast 'Thick Hide' (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,8,17900,18500,11,63900,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverbed Crocolisk - Within 0-8 Range - Cast 'Thunderstomp'"); +-- Myzerian SAI +SET @ENTRY := 48444; +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,6000,8000,12000,14000,11,90075,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Black Cleave'"), +(@ENTRY,0,1,0,0,0,100,0,4000,4000,15000,17500,11,90076,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Fire Spit'"), +(@ENTRY,0,2,0,0,0,100,0,12000,12000,25000,27000,11,90078,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Rupture Line'"), +(@ENTRY,0,3,0,0,0,100,0,5000,14000,17500,21500,11,90074,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Tail Sweep'"); +-- Myzerian SAI +SET @ENTRY := 48428; +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,6000,8000,12000,14000,11,90075,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Black Cleave'"), +(@ENTRY,0,1,0,0,0,100,0,4000,4000,15000,17500,11,90076,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Fire Spit'"), +(@ENTRY,0,2,0,0,0,100,0,12000,12000,25000,27000,11,90078,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Rupture Line'"), +(@ENTRY,0,3,0,0,0,100,0,5000,14000,17500,21500,11,90074,0,0,0,0,0,2,0,0,0,0,0,0,0,"Myzerian - In Combat - Cast 'Tail Sweep'"); +-- Schnottz Sea Trooper SAI +SET @ENTRY := 47982; +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,3000,3000,11000,12000,11,38029,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Sea Trooper - In Combat - Cast 'Stab'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,7000,15000,11,13608,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Sea Trooper - In Combat - Cast 'Hooked Net'"); +-- Schnottz Overseer SAI +SET @ENTRY := 48205; +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,5000,5000,12000,13500,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Overseer - In Combat - Cast 'Slam'"), +(@ENTRY,0,1,0,0,0,100,0,3000,8000,16800,19900,11,32191,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Overseer - In Combat - Cast 'Heavy Dynamite'"); +-- Schnottz Excavator SAI +SET @ENTRY := 48204; +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,13,0,100,0,12000,18000,0,0,11,11978,0,0,0,0,0,6,1,0,0,0,0,0,0,"Schnottz Excavator - On Victim Casting - Cast 'Kick'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,15800,16400,11,7978,0,0,0,0,0,5,0,0,0,0,0,0,0,"Schnottz Excavator - Within 0-8 Range - Cast 'Throw Dynamite'"); +-- Schnottz Overseer SAI +SET @ENTRY := 51753; +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,5000,5000,12000,13500,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Overseer - In Combat - Cast 'Slam'"), +(@ENTRY,0,1,0,0,0,100,0,3000,8000,16800,19900,11,32191,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Overseer - In Combat - Cast 'Heavy Dynamite'"); +-- Schnottz Rifleman SAI +SET @ENTRY := 47067; +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,0,0,2300,3900,11,84837,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Rifleman - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz Rifleman - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,8000,14500,16800,11,8858,0,0,0,0,0,5,0,0,0,0,0,0,0,"Schnottz Rifleman - In Combat - Cast 'Bomb'"), +(@ENTRY,0,3,0,0,0,100,0,11000,11000,19000,19000,11,31358,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Rifleman - In Combat - Cast 'Fear'"); +-- Schnottz Elite Trooper SAI +SET @ENTRY := 48443; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Elite Trooper - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz Elite Trooper - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,8000,14500,16800,11,93449,0,0,0,0,0,5,0,0,0,0,0,0,0,"Schnottz Elite Trooper - In Combat - Cast 'Bomb'"); +-- Schnottz Elite Infantryman SAI +SET @ENTRY := 48631; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Elite Infantryman - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz Elite Infantryman - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,8000,14500,16800,11,93449,0,0,0,0,0,5,0,0,0,0,0,0,0,"Schnottz Elite Infantryman - In Combat - Cast 'Bomb'"); +-- Schnottz Air Officer SAI +SET @ENTRY := 46993; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Air Officer - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz Air Officer - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,8000,14500,16800,11,93449,0,0,0,0,0,5,0,0,0,0,0,0,0,"Schnottz Air Officer - In Combat - Cast 'Bomb'"); +-- Schnottz Air Trooper SAI +SET @ENTRY := 46979; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Air Trooper - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz Air Trooper - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,8000,14500,16800,11,93449,0,0,0,0,0,5,0,0,0,0,0,0,0,"Schnottz Air Trooper - In Combat - Cast 'Bomb'"); +-- Schnottz's Landing Laborer SAI +SET @ENTRY := 47974; +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,0,0,2300,3900,11,89205,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz's Landing Laborer - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz's Landing Laborer - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Schnottz's Landing Laborer SAI +SET @ENTRY := 47291; +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,9,0,100,0,0,8,120000,120000,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz's Landing Laborer - Within 0-8 Range - Cast 'Battle Shout'"); +-- Schnottz's Landing Laborer SAI +SET @ENTRY := 47690; +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,9,0,100,0,0,8,120000,120000,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz's Landing Laborer - Within 0-8 Range - Cast 'Battle Shout'"); +-- Warlord Ihsenn SAI +SET @ENTRY := 47755; +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,2,0,100,1,0,30,0,0,11,6434,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warlord Ihsenn - Between 0-30% Health - Cast 'Slice and Dice' (No Repeat)"); +-- Vizier Tanotep SAI +SET @ENTRY := 46136; +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,5000,5000,12000,14000,11,32736,0,0,0,0,0,2,0,0,0,0,0,0,0,"Vizier Tanotep - In Combat - Cast 'Mortal Strike'"), +(@ENTRY,0,1,0,0,0,100,0,8000,9000,17800,19600,11,88846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Vizier Tanotep - In Combat - Cast 'Shockwave'"); +-- Venomscale Spitter SAI +SET @ENTRY := 51673; +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,5000,5000,13300,17500,11,88876,0,0,0,0,0,2,32,0,0,0,0,0,0,"Venomscale Spitter - In Combat - Cast 'Paralytic Venom'"); +-- Venomblood Scorpid SAI +SET @ENTRY := 45859; +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,9,0,100,0,0,5,12000,15000,11,63900,0,0,0,0,0,1,0,0,0,0,0,0,0,"Venomblood Scorpid - Within 0-5 Range - Cast 'Thunderstomp'"); +-- Turquoise Scarab SAI +SET @ENTRY := 46126; +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,4000,15600,16400,11,87395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Turquoise Scarab - In Combat - Cast 'Serrated Slash'"), +(@ENTRY,0,1,0,0,0,100,0,16800,17900,16800,17900,11,88023,0,0,0,0,0,1,0,0,0,0,0,0,0,"Turquoise Scarab - In Combat - Cast 'Shroud of Gold'"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,88023,0,0,0,0,0,1,0,0,0,0,0,0,0,"Turquoise Scarab - On Aggro - Cast 'Shroud of Gold' (No Repeat)"); +-- Tormented Tomb-Robber SAI +SET @ENTRY := 45765; +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,2,0,100,1,0,35,0,0,11,87354,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tormented Tomb-Robber - Between 0-35% Health - Cast 'Ethereal Form' (No Repeat)"); +-- Temple Scarab SAI +SET @ENTRY := 47801; +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,9000,10000,13600,11,87395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Temple Scarab - In Combat - Cast 'Serrated Slash'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,14500,15500,11,87393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Temple Scarab - Within 0-8 Range - Cast 'Corrosive Spray'"); +-- Sweeping Winds SAI +SET @ENTRY := 51672; +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,9,0,100,0,0,8,18500,18900,11,77500,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sweeping Winds - Within 0-8 Range - Cast 'Wind Blast'"); +-- Skarf SAI +SET @ENTRY := 45204; +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,5000,5000,12000,13500,11,85835,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skarf - In Combat - Cast 'Maul'"), +(@ENTRY,0,1,0,9,0,100,0,5,15,15800,18300,11,44531,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skarf - Within 5-15 Range - Cast 'Dash'"); +-- Shaggy Desert Coyote SAI +SET @ENTRY := 47190; +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,5000,5000,12000,13500,11,85835,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shaggy Desert Coyote - In Combat - Cast 'Maul'"), +(@ENTRY,0,1,0,0,0,100,0,9900,9900,16400,17400,11,85691,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shaggy Desert Coyote - In Combat - Cast 'Piercing Howl'"); +-- Slacking Laborer SAI +SET @ENTRY := 47292; +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,4,0,100,1,0,0,0,0,11,14890,0,0,0,0,0,2,0,0,0,0,0,0,0,"Slacking Laborer - On Aggro - Cast 'Dismounting Blow' (No Repeat)"); +-- Sergeant Mehat SAI +SET @ENTRY := 48012; +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,0,0,2300,3900,11,87215,64,0,0,0,0,2,0,0,0,0,0,0,0,"Sergeant Mehat - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sergeant Mehat - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Schnottz Elite Trooper SAI +SET @ENTRY := 48668; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Elite Trooper - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Schnottz Elite Trooper - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,5000,5000,12000,13000,11,88844,0,0,0,0,0,2,0,0,0,0,0,0,0,"Schnottz Elite Trooper - In Combat - Cast 'Cauterizing Strike'"); +-- Sapphire Scarab SAI +SET @ENTRY := 46127; +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,3000,9000,7000,13600,11,87395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sapphire Scarab - In Combat - Cast 'Serrated Slash'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,16800,17900,11,87396,0,0,0,0,0,2,1,0,0,0,0,0,0,"Sapphire Scarab - In Combat - Cast 'Sapphire Gaze'"); +-- Sand Serpent SAI +SET @ENTRY := 47283; +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,5000,5000,12000,13000,11,89905,0,0,0,0,0,2,32,0,0,0,0,0,0,"Sand Serpent - In Combat - Cast 'Venomous Bite'"); +-- Sand Scorpid SAI +SET @ENTRY := 47803; +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,3500,3500,10800,11200,11,31289,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sand Scorpid - In Combat - Cast 'Claw'"), +(@ENTRY,0,1,0,0,0,100,0,8000,8000,16800,17300,11,32093,0,0,0,0,0,2,32,0,0,0,0,0,0,"Sand Scorpid - In Combat - Cast 'Poison Spit'"); +-- Sand Pygmy SAI +SET @ENTRY := 45190; +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,9,0,100,0,0,8,12000,12500,11,86695,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sand Pygmy - Within 0-8 Range - Cast 'Whirlwind'"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,14500,16900,11,86699,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sand Pygmy - In Combat - Cast 'Shockwave'"); +-- Tiger SAI +SET @ENTRY := 47726; +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,5000,5000,12000,13500,11,85835,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tiger - In Combat - Cast 'Maul'"), +(@ENTRY,0,1,0,9,0,100,0,5,15,15800,18300,11,44531,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tiger - Within 5-15 Range - Cast 'Dash'"); +-- Sultan Oogah SAI +SET @ENTRY := 45205; +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,0,0,2300,3900,11,87341,64,0,0,0,0,2,0,0,0,0,0,0,0,"Sultan Oogah - In Combat - Cast 'Blow Dart'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sultan Oogah - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,8000,22500,23800,11,87322,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sultan Oogah - In Combat - Cast 'Veil of Shimmering Sand'"); +-- Sand-Husk Scarab SAI +SET @ENTRY := 51674; +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,9000,10000,13600,11,87395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sand-Husk Scarab - In Combat - Cast 'Serrated Slash'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,14500,15500,11,87393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sand-Husk Scarab - Within 0-8 Range - Cast 'Corrosive Spray'"); +-- Scorpion-Lord Namkhare SAI +SET @ENTRY := 47742; +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,4,0,100,1,0,0,0,0,11,89424,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scorpion-Lord Namkhare - On Aggro - Cast 'Call Scorpid' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5000,5000,12000,13000,11,88863,0,0,0,0,0,2,32,0,0,0,0,0,0,"Scorpion-Lord Namkhare - In Combat - Cast 'Instant Poison'"), +(@ENTRY,0,2,0,0,0,100,0,2000,8000,7000,16000,11,38338,0,0,0,0,0,2,0,0,0,0,0,0,0,"Scorpion-Lord Namkhare - In Combat - Cast 'Net'"); +-- Titanic Guardian SAI +SET @ENTRY := 47032; +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,8000,8000,16000,19000,11,87753,0,0,0,0,0,1,0,0,0,0,0,0,0,"Titanic Guardian - In Combat - Cast 'Blazing Eruption'"), +(@ENTRY,0,1,0,0,0,100,0,3000,3000,13000,13000,11,87656,0,0,0,0,0,1,0,0,0,0,0,0,0,"Titanic Guardian - In Combat - Cast 'Decrepit Ruin'"), +(@ENTRY,0,2,0,0,0,100,0,12000,12000,29000,35000,11,87698,0,0,0,0,0,1,1,0,0,0,0,0,0,"Titanic Guardian - In Combat - Cast 'Summon Meteor'"); diff --git a/sql/updates/world/2015_07_28_03_world.sql b/sql/updates/world/2015_07_28_03_world.sql new file mode 100644 index 00000000000..f5a37545f03 --- /dev/null +++ b/sql/updates/world/2015_07_28_03_world.sql @@ -0,0 +1,462 @@ +-- +-- DB/SAI: Update Westfall +-- Brack SAI +SET @ENTRY := 520; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Brack - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,6700,12500,21000,33600,11,9080,0,0,0,0,0,2,0,0,0,0,0,0,0,"Brack - In Combat - Cast 'Hamstring'"), +(@ENTRY,0,2,0,0,0,100,0,25300,25300,47000,56000,11,6016,0,0,0,0,0,2,0,0,0,0,0,0,0,"Brack - In Combat - Cast 'Pierce Armor'"), +(@ENTRY,0,3,0,0,0,100,0,11000,11500,11600,25500,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Brack - In Combat - Cast 'Strike'"); +-- Chasm Slime SAI +SET @ENTRY := 42669; +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,2,0,100,1,0,40,0,0,11,80570,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chasm Slime - Between 0-40% Health - Cast 'Mimic' (No Repeat)"); +-- Coyote SAI +SET @ENTRY := 834; +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,1,0,10,0,30000,600000,120000,600000,4,1018,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coyote - Out of Combat - Play Sound 1018"), +(@ENTRY,0,1,0,61,0,100,0,30000,600000,120000,600000,5,393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coyote - Out of Combat - Play Emote 393"), +(@ENTRY,0,2,0,0,0,100,0,7000,12000,24000,32000,11,80362,0,0,0,0,0,2,0,0,0,0,0,0,0,"Coyote - In Combat - Cast 'Crushing Bite'"); +-- Coyote Packleader SAI +SET @ENTRY := 833; +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,1,0,10,0,30000,600000,120000,600000,4,1018,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coyote Packleader - Out of Combat - Play Sound 1018"), +(@ENTRY,0,1,0,61,0,100,0,30000,600000,120000,600000,5,393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coyote Packleader - Out of Combat - Play Emote 393"), +(@ENTRY,0,2,0,0,0,100,0,7000,12000,24000,32000,11,80362,0,0,0,0,0,2,0,0,0,0,0,0,0,"Coyote Packleader - In Combat - Cast 'Crushing Bite'"); +-- Defias Henchman SAI +SET @ENTRY := 594; +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,4,0,100,1,0,0,0,0,11,78894,0,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Henchman - On Aggro - Cast 'Leaping Cleave' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,0,0,55,12000,21000,11,3248,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Henchman - Between 0-55% Health - Cast 'Improved Blocking'"); +-- Defias Knuckleduster SAI +SET @ENTRY := 449; +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,2000,4500,12000,20000,11,75356,0,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Knuckleduster - In Combat - Cast 'Fisticuffs'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,80597,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Knuckleduster - Between 0-30% Health - Cast 'Bash and Smash' (No Repeat)"); +-- Defias Pillager SAI +SET @ENTRY := 589; +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,0,0,3400,4700,11,13878,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Pillager - In Combat - Cast 'Scorch'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,79849,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Pillager - Out of Combat - Cast 'Molten Armor'"), +(@ENTRY,0,2,0,9,0,100,0,0,8,13600,14500,11,79857,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Pillager - Within 0-8 Range - Cast 'Blast Wave'"); +-- Energized Harvest Reaper SAI +SET @ENTRY := 42342; +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,5000,8000,15000,20000,11,7342,0,0,0,0,0,2,0,0,0,0,0,0,0,"Energized Harvest Reaper - In Combat - Cast 'Wide Slash'"), +(@ENTRY,0,1,0,2,0,100,0,0,40,25000,29000,11,80572,0,0,0,0,0,1,0,0,0,0,0,0,0,"Energized Harvest Reaper - Between 0-40% Health - Cast 'Energize!'"); +-- Fleshripper SAI +SET @ENTRY := 1109; +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,4500,9500,17500,22300,11,13443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Fleshripper - In Combat - Cast 'Rend'"); +-- Foe Reaper 4000 SAI +SET @ENTRY := 573; +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,5000,8000,15000,20000,11,7342,0,0,0,0,0,2,0,0,0,0,0,0,0,"Foe Reaper 4000 - In Combat - Cast 'Wide Slash'"), +(@ENTRY,0,1,0,2,0,100,0,0,40,25000,29000,11,80572,0,0,0,0,0,1,0,0,0,0,0,0,0,"Foe Reaper 4000 - Between 0-40% Health - Cast 'Energize!'"); +-- Goretusk SAI +SET @ENTRY := 157; +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,4,0,100,1,0,0,0,0,11,6268,0,0,0,0,0,1,0,0,0,0,0,0,0,"Goretusk - On Aggro - Cast 'Rushing Charge' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5500,7800,18500,26300,11,32019,0,0,0,0,0,2,0,0,0,0,0,0,0,"Goretusk - In Combat - Cast 'Gore'"); +-- Greater Fleshripper SAI +SET @ENTRY := 154; +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,4500,9500,17500,22300,11,13443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Greater Fleshripper - In Combat - Cast 'Rend'"); +-- Harvest Watcher SAI +SET @ENTRY := 114; +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,5000,8000,15000,20000,11,7342,0,0,0,0,0,2,0,0,0,0,0,0,0,"Harvest Watcher - In Combat - Cast 'Wide Slash'"); +-- Hulking Goretusk SAI +SET @ENTRY := 42357; +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,4,0,100,1,0,0,0,0,11,6268,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hulking Goretusk - On Aggro - Cast 'Rushing Charge' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5500,7800,18500,26300,11,32019,0,0,0,0,0,2,0,0,0,0,0,0,0,"Hulking Goretusk - In Combat - Cast 'Gore'"); +-- Jango Spothide SAI +SET @ENTRY := 42653; +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,2,0,100,0,0,35,18000,25000,11,79853,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jango Spothide - Between 0-35% Health - Cast 'Evasion'"), +(@ENTRY,0,1,0,0,0,100,0,3500,9000,24000,28000,11,3136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jango Spothide - In Combat - Cast 'Frenzied Command'"); +-- Master Digger SAI +SET @ENTRY := 1424; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Master Digger - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,6000,12000,27000,33000,11,80382,0,0,0,0,0,2,0,0,0,0,0,0,0,"Master Digger - In Combat - Cast 'Dirt Toss'"), +(@ENTRY,0,2,0,0,0,100,0,4000,7000,18000,27000,11,6016,0,0,0,0,0,2,0,0,0,0,0,0,0,"Master Digger - In Combat - Cast 'Pierce Armor'"); +-- Moonbrook Thug SAI +SET @ENTRY := 42677; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Moonbrook Thug - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5500,7800,18500,21200,11,80146,0,0,0,0,0,2,0,0,0,0,0,0,0,"Moonbrook Thug - In Combat - Cast 'Bonk'"); +-- Murloc Hunter SAI +SET @ENTRY := 458; +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,0,0,2300,3900,11,10277,64,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Hunter - In Combat - Cast 'Throw'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Hunter - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,1,0,100,1,3000,5000,0,0,11,8656,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Hunter - Out of Combat - Cast 'Summon Crawler' (No Repeat)"); +-- Murloc Minor Oracle SAI +SET @ENTRY := 456; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Minor Oracle - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5500,7500,12500,18500,11,79831,0,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Minor Oracle - In Combat - Cast 'Wave Crash'"), +(@ENTRY,0,2,0,1,0,100,0,500,1000,600000,600000,11,79892,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Minor Oracle - Out of Combat - Cast 'Water Shield'"), +(@ENTRY,0,3,0,16,0,100,0,79892,1,15000,30000,11,79892,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Minor Oracle - On Friendly Unit Missing Buff 'Water Shield' - Cast 'Water Shield'"); +-- Murloc Netter SAI +SET @ENTRY := 513; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Netter - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,20,14000,17000,11,6533,0,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Netter - Within 0-20 Range - Cast 'Net'"), +(@ENTRY,0,2,0,0,0,100,0,4500,7500,14500,17500,11,11971,0,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Netter - In Combat - Cast 'Sunder Armor'"); +-- Murloc Oracle SAI +SET @ENTRY := 517; +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,0,0,3400,4700,11,9734,64,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Oracle - In Combat - Cast 'Holy Smite'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Oracle - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,2,1,100,1,0,30,0,0,11,11835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Oracle - Between 0-30% Health - Cast 'Power Word: Shield' (Phase 1) (No Repeat)"); +-- Murloc Raider SAI +SET @ENTRY := 515; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Raider - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,20,14000,17000,11,6533,0,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Raider - Within 0-20 Range - Cast 'Net'"), +(@ENTRY,0,2,0,0,0,100,0,8000,9000,27500,33500,11,80522,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Raider - In Combat - Cast 'Demoralizing Mmmrrrggglll'"); +-- Murloc Tidehunter SAI +SET @ENTRY := 127; +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,0,0,3400,4700,11,32011,64,0,0,0,0,2,0,0,0,0,0,0,0,"Murloc Tidehunter - In Combat - Cast 'Water Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Tidehunter - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,15,13600,14500,11,78542,0,0,0,0,0,1,0,0,0,0,0,0,0,"Murloc Tidehunter - Within 0-15 Range - Cast 'Splash'"); +-- Old Murk-Eye SAI +SET @ENTRY := 391; +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,2000,3000,12000,14000,11,80555,0,0,0,0,0,2,0,0,0,0,0,0,0,"Old Murk-Eye - In Combat - Cast 'Sonic Spear'"), +(@ENTRY,0,1,0,0,0,100,0,12000,15000,27000,35000,11,78542,0,0,0,0,0,1,0,0,0,0,0,0,0,"Old Murk-Eye - In Combat - Cast 'Splash'"), +(@ENTRY,0,2,3,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Old Murk-Eye - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,3,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Old Murk-Eye - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 391; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Protector Bialon SAI +SET @ENTRY := 487; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Bialon - In Combat - Cast 'Shoot'"); +-- Protector Deni SAI +SET @ENTRY := 870; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Deni - In Combat - Cast 'Shoot'"); +-- Protector Dorana SAI +SET @ENTRY := 869; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Dorana - In Combat - Cast 'Shoot'"); +-- Protector Dutfield SAI +SET @ENTRY := 489; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Dutfield - In Combat - Cast 'Shoot'"); +-- Protector Gariel SAI +SET @ENTRY := 490; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Gariel - In Combat - Cast 'Shoot'"); +-- Protector Korelor SAI +SET @ENTRY := 874; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Korelor - In Combat - Cast 'Shoot'"); +-- Protector Leick SAI +SET @ENTRY := 876; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Leick - In Combat - Cast 'Shoot'"); +-- Protector Weaver SAI +SET @ENTRY := 488; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Protector Weaver - In Combat - Cast 'Shoot'"); +-- Riverpaw Bandit SAI +SET @ENTRY := 452; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Bandit - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,0,0,40,25000,28000,11,80576,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Bandit - Between 0-40% Health - Cast 'Shadowstep'"), +(@ENTRY,0,2,0,0,0,100,0,7500,12400,21000,22000,11,30478,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Bandit - In Combat - Cast 'Hemorrhage'"), +(@ENTRY,0,3,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Bandit - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 452; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Bandit SAI +SET @ENTRY := 54371; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Bandit - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,0,0,40,25000,28000,11,80576,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Bandit - Between 0-40% Health - Cast 'Shadowstep'"), +(@ENTRY,0,2,0,0,0,100,0,7500,12400,21000,22000,11,30478,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Bandit - In Combat - Cast 'Hemorrhage'"), +(@ENTRY,0,3,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Bandit - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 54371; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Brute SAI +SET @ENTRY := 124; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Brute - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4500,6200,18500,22000,11,77558,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Brute - In Combat - Cast 'Bloody Strike'"), +(@ENTRY,0,2,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Brute - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 124; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Brute SAI +SET @ENTRY := 54372; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Brute - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4500,6200,18500,22000,11,77558,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Brute - In Combat - Cast 'Bloody Strike'"), +(@ENTRY,0,2,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Brute - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 54372; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Gnoll SAI +SET @ENTRY := 117; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Gnoll - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3500,7200,14500,16500,11,80475,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Gnoll - In Combat - Cast 'Riverpaw Brand'"), +(@ENTRY,0,2,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Gnoll - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 117; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Herbalist SAI +SET @ENTRY := 501; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,50,0,1000,1000,120000,120000,11,80472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - In Combat - Cast 'Elixir of Agility'"), +(@ENTRY,0,2,0,0,0,50,0,1000,1000,120000,120000,11,80471,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - In Combat - Cast 'Potion of Strength'"), +(@ENTRY,0,3,0,0,0,50,0,1000,1000,120000,120000,11,80473,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - In Combat - Cast 'Tonic of Health'"), +(@ENTRY,0,4,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 501; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Herbalist SAI +SET @ENTRY := 54373; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,50,0,1000,1000,120000,120000,11,80472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - In Combat - Cast 'Elixir of Agility'"), +(@ENTRY,0,2,0,0,0,50,0,1000,1000,120000,120000,11,80471,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - In Combat - Cast 'Potion of Strength'"), +(@ENTRY,0,3,0,0,0,50,0,1000,1000,120000,120000,11,80473,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - In Combat - Cast 'Tonic of Health'"), +(@ENTRY,0,4,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Herbalist - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 54373; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Mongrel SAI +SET @ENTRY := 123; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Mongrel - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3500,7200,14500,16500,11,80475,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Mongrel - In Combat - Cast 'Riverpaw Brand'"), +(@ENTRY,0,2,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Mongrel - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 123; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Mystic SAI +SET @ENTRY := 453; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Mystic - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3500,4500,12500,15500,11,79913,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Mystic - In Combat - Cast 'Chain Lightning'"), +(@ENTRY,0,2,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Mystic - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,3,0,14,0,100,0,250,40,15000,18000,11,79924,0,0,0,0,0,7,0,0,0,0,0,0,0,"Riverpaw Mystic - Friendly At 250 Health - Cast 'Healing Wave'"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,11,79924,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Mystic - Between 0-30% Health - Cast 'Healing Wave' (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 453; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Scout SAI +SET @ENTRY := 500; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Scout - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Scout - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Scout - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,5000,7000,9000,10500,11,78509,0,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Scout - In Combat - Cast 'Torch Toss'"); +-- NPC talk text insert +SET @ENTRY := 500; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'More bones to gnaw on...',12,0,50,0,0,0, 'on Aggro Text',46596), +(@ENTRY,0,1, 'Grrrr... fresh meat!',12,0,50,0,0,0, 'on Aggro Text',1870); +-- Riverpaw Shaman SAI +SET @ENTRY := 1065; +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,0,0,3400,4700,11,9532,64,0,0,0,0,2,0,0,0,0,0,0,0,"Riverpaw Shaman - In Combat - Cast 'Lightning Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Shaman - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,1,0,100,0,500,1000,600000,600000,11,12550,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Shaman - Out of Combat - Cast 'Lightning Shield'"), +(@ENTRY,0,3,0,16,0,100,0,12550,1,15000,30000,11,12550,0,0,0,0,0,1,0,0,0,0,0,0,0,"Riverpaw Shaman - On Friendly Unit Missing Buff 'Lightning Shield' - Cast 'Lightning Shield'"); +-- Sand Crawler SAI +SET @ENTRY := 830; +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,7200,13500,18900,11,80380,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sand Crawler - In Combat - Cast 'Sand Breath'"); +-- Sea Crawler SAI +SET @ENTRY := 831; +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,7200,13500,18900,11,80380,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sea Crawler - In Combat - Cast 'Sand Breath'"), +(@ENTRY,0,1,0,0,0,100,0,8500,12300,22000,34000,11,78744,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sea Crawler - In Combat - Cast 'Bubblebeam'"); +-- Sentinel Hill Guard SAI +SET @ENTRY := 42407; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Sentinel Hill Guard - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,12000,15000,24000,33000,11,12169,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sentinel Hill Guard - In Combat - Cast 'Shield Block'"), +(@ENTRY,0,2,0,0,0,100,0,8000,8500,13000,13200,11,12170,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sentinel Hill Guard - In Combat - Cast 'Revenge'"); +-- Sergeant Brashclaw SAI +SET @ENTRY := 506; +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,2,0,100,1,0,30,0,0,11,79853,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sergeant Brashclaw - Between 0-30% Health - Cast 'Evasion' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,2000,3200,18000,22000,11,3136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sergeant Brashclaw - In Combat - Cast 'Frenzied Command'"); +-- Shore Crawler SAI +SET @ENTRY := 1216; +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,7200,13500,18900,11,80380,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shore Crawler - In Combat - Cast 'Sand Breath'"), +(@ENTRY,0,1,0,0,0,100,0,8500,12300,22000,34000,11,78744,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shore Crawler - In Combat - Cast 'Bubblebeam'"), +(@ENTRY,0,2,0,2,0,100,1,0,42,0,0,11,79840,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shore Crawler - Between 0-42% Health - Cast 'Harden' (No Repeat)"); +-- Skeletal Miner SAI +SET @ENTRY := 623; +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,2000,4500,15000,16000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skeletal Miner - In Combat - Cast 'Strike'"); +-- Slark SAI +SET @ENTRY := 519; +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,5500,7500,12500,18500,11,79831,0,0,0,0,0,2,0,0,0,0,0,0,0,"Slark - In Combat - Cast 'Wave Crash'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,79892,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slark - Out of Combat - Cast 'Water Shield'"), +(@ENTRY,0,2,0,16,0,100,0,79892,1,15000,30000,11,79892,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slark - On Friendly Unit Missing Buff 'Water Shield' - Cast 'Water Shield'"); +-- Undead Dynamiter SAI +SET @ENTRY := 625; +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,500,4500,14000,32000,11,7395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Undead Dynamiter - In Combat - Cast 'Deadmines Dynamite'"), +(@ENTRY,0,1,0,1,0,100,1,0,0,0,0,11,26047,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undead Dynamiter - Out of Combat - Cast 'Birth' (No Repeat)"); +-- Undead Excavator SAI +SET @ENTRY := 624; +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,8000,5000,16000,11,5137,0,0,0,0,0,2,0,0,0,0,0,0,0,"Undead Excavator - In Combat - Cast 'Call of the Grave'"), +(@ENTRY,0,1,0,1,0,100,1,0,0,0,0,11,26047,0,0,0,0,0,1,0,0,0,0,0,0,0,"Undead Excavator - Out of Combat - Cast 'Birth' (No Repeat)"); +-- Vultros SAI +SET @ENTRY := 462; +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,4500,9500,17500,22300,11,13443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Vultros - In Combat - Cast 'Rend'"); diff --git a/sql/updates/world/2015_07_28_04_world.sql b/sql/updates/world/2015_07_28_04_world.sql new file mode 100644 index 00000000000..2640c7d59a5 --- /dev/null +++ b/sql/updates/world/2015_07_28_04_world.sql @@ -0,0 +1,212 @@ +-- +-- DB/SAI: Update Gilneas City +-- Baron Ashbury SAI +SET @ENTRY := 37735; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Baron Ashbury - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Baron Ashbury - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 37735; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Lurker SAI +SET @ENTRY := 35463; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Lurker - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Lurker - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,11,0,100,1,0,0,0,0,11,5916,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Lurker - On Respawn - Cast 'Shadowstalker Stealth' (No Repeat)"), +(@ENTRY,0,3,0,7,0,100,1,0,0,0,0,11,5916,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Lurker - On Evade - Cast 'Shadowstalker Stealth' (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35463; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Ripper SAI +SET @ENTRY := 35505; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Ripper - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Ripper - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35505; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Stalker SAI +SET @ENTRY := 35229; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Stalker - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Stalker - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35229; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Worgen SAI +SET @ENTRY := 35118; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Worgen - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Worgen - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35118; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Duskhaven Watchman SAI +SET @ENTRY := 36211; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Duskhaven Watchman - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,14500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Duskhaven Watchman - Within 0-5 Range - Cast 'Cleave'"); +-- Forsaken Assassin SAI +SET @ENTRY := 36207; +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,67,0,100,0,9000,12000,0,0,11,75360,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Assassin - On Behind Target - Cast 'Backstab'"); +-- Forsaken Castaway SAI +SET @ENTRY := 36488; +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,6000,9000,18000,27000,11,75395,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Castaway - In Combat - Cast 'Planked'"); +-- Forsaken Crossbowman SAI +SET @ENTRY := 38210; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Crossbowman - In Combat - Cast 'Shoot'"); +-- Forsaken Infantry SAI +SET @ENTRY := 38616; +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,2500,4500,12000,13000,11,57846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Infantry - In Combat - Cast 'Heroic Strike'"); +-- Forsaken Infantry SAI +SET @ENTRY := 38192; +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,2500,4500,12000,13000,11,57846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Infantry - In Combat - Cast 'Heroic Strike'"); +-- Forsaken Infantry SAI +SET @ENTRY := 37692; +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,2500,4500,12000,13000,11,57846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Infantry - In Combat - Cast 'Heroic Strike'"); +-- Forsaken Sailor SAI +SET @ENTRY := 36396; +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,3500,4500,14000,20000,11,75361,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Sailor - In Combat - Cast 'Swashbuckling Slice'"); +-- Forsaken Scout SAI +SET @ENTRY := 36671; +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,7000,17000,22000,11,75388,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Scout - In Combat - Cast 'Rusty Cut'"); +-- Frenzied Stalker SAI +SET @ENTRY := 35627; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frenzied Stalker - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frenzied Stalker - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35627; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Howling Banshee SAI +SET @ENTRY := 37757; +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,0,0,3400,4700,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Howling Banshee - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,8000,12000,25000,27000,11,75438,0,0,0,0,0,1,0,0,0,0,0,0,0,"Howling Banshee - In Combat - Cast 'Banshee Screech'"); +-- Lord Walden SAI +SET @ENTRY := 37733; +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,7000,15000,19000,11,75359,0,0,0,0,0,2,0,0,0,0,0,0,0,"Lord Walden - In Combat - Cast 'Seasoned Brandy'"); +-- Northgate Rebel SAI +SET @ENTRY := 36057; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Northgate Rebel - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,14500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Northgate Rebel - Within 0-5 Range - Cast 'Cleave'"); +-- Rampaging Worgen SAI +SET @ENTRY := 34884; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rampaging Worgen - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rampaging Worgen - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 34884; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Rampaging Worgen SAI +SET @ENTRY := 35660; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rampaging Worgen - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rampaging Worgen - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35660; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Veteran Dark Ranger SAI +SET @ENTRY := 38022; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Veteran Dark Ranger - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,8500,12000,18500,24000,11,75439,0,0,0,0,0,2,0,0,0,0,0,0,0,"Veteran Dark Ranger - In Combat - Cast 'Black Shot'"); +-- Vilebrood Skitterer SAI +SET @ENTRY := 36813; +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,5000,6000,18500,21500,11,744,0,0,0,0,0,2,0,0,0,0,0,0,0,"Vilebrood Skitterer - In Combat - Cast 'Poison'"); +-- Worgen Alpha SAI +SET @ENTRY := 35167; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Alpha - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Alpha - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35167; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Worgen Runt SAI +SET @ENTRY := 35456; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Runt - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Runt - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35456; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); diff --git a/sql/updates/world/2015_07_28_05_world.sql b/sql/updates/world/2015_07_28_05_world.sql new file mode 100644 index 00000000000..612237ac30f --- /dev/null +++ b/sql/updates/world/2015_07_28_05_world.sql @@ -0,0 +1,701 @@ +-- +-- DB/SAI: Update Kezan +-- Ace SAI +SET @ENTRY := 35207; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Ace - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Ace SAI +SET @ENTRY := 37709; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Ace - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Assistant Greely SAI +SET @ENTRY := 48496; +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,60,0,100,0,10000,10000,365000,365000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 0"), +(@ENTRY,0,1,0,60,0,100,0,20000,20000,375000,375000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 1"), +(@ENTRY,0,2,0,60,0,100,0,27000,27000,382000,382000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 2"), +(@ENTRY,0,3,0,60,0,100,0,35000,35000,390000,390000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 3"), +(@ENTRY,0,4,0,60,0,100,0,55000,55000,410000,410000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 4"), +(@ENTRY,0,5,0,60,0,100,0,95000,95000,450000,450000,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 5"), +(@ENTRY,0,6,0,60,0,100,0,100000,100000,455000,455000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 6"), +(@ENTRY,0,7,0,60,0,100,0,155000,155000,510000,510000,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 7"), +(@ENTRY,0,8,0,60,0,100,0,175000,175000,530000,530000,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 8"), +(@ENTRY,0,9,0,60,0,100,0,195000,195000,550000,550000,1,9,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 9"), +(@ENTRY,0,10,0,60,0,100,0,220000,220000,575000,575000,1,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 10"), +(@ENTRY,0,11,0,60,0,100,0,245000,245000,600000,600000,1,11,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 11"), +(@ENTRY,0,12,0,60,0,100,0,250000,250000,605000,605000,1,12,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 12"), +(@ENTRY,0,13,0,60,0,100,0,260000,260000,615000,615000,1,13,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 13"), +(@ENTRY,0,14,0,60,0,100,0,280000,280000,635000,635000,1,14,0,0,0,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Update - Say Line 14"), +(@ENTRY,0,15,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Assistant Greely - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 48496; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You don\'t have to yell, Hobart, I\'m standing right here. Sheesh!',12,0,100,6,0,0, 'say Text',49102), +(@ENTRY,1,0, 'There. One Micro Mechachicken. I\'ll never understand how you come up with these names.',12,0,100,1,0,0, 'say Text',49103), +(@ENTRY,2,0, 'Greely sighs and rolls her eyes.',16,0,100,0,0,0, 'say Text',49105), +(@ENTRY,3,0, 'Yes, Doctor Grapplehammer.',12,0,100,1,0,0, 'say Text',49106), +(@ENTRY,4,0, 'The assistant shakes her head.',16,0,100,0,0,0, 'say Text',49109), +(@ENTRY,5,0, 'Greely coughs.',16,0,100,0,0,0, 'say Text',49113), +(@ENTRY,6,0, 'Um, Hobart, you\'re at the controls.',12,0,100,1,0,0, 'say Text',49114), +(@ENTRY,7,0, 'Ya think? Hobart, the Micro Mechachicken is destabilizing. It\'s expanding!',12,0,100,1,0,0, 'say Text',49121), +(@ENTRY,8,0, 'It\'s the one on the far right! Hurry, Hobart! It\'s going to eggsplode!',14,0,100,5,0,0, 'say Text',49123), +(@ENTRY,9,0, 'WHAT?!!!',14,0,100,5,0,0, 'say Text',49126), +(@ENTRY,10,0, 'We\'re still alive, Doctor Grapplehammer, despite your best efforts.',12,0,100,1,0,0, 'say Text',49128), +(@ENTRY,11,0, 'Is that egg on your face?',12,0,100,1,0,0, 'say Text',49131), +(@ENTRY,12,0, 'Hobart\'s jaw hits the ground.',16,0,100,0,0,0, 'say Text',0), +(@ENTRY,13,0, 'Now what\'s this about you \'always loved me\', Grapplehammer?',12,0,100,1,0,0, 'say Text',49132), +(@ENTRY,14,0, 'We can both agree on that, doctor.',12,0,100,1,0,0, 'say Text',49134); +-- Brett "Coins" McQuid SAI +SET @ENTRY := 37762; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Brett Coins McQuid - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Bruno Flameretardant SAI +SET @ENTRY := 34835; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bruno Flameretardant - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,2,2,0,100,1,0,20,0,0,33,34835,0,0,0,0,0,7,0,0,0,0,0,0,0,"Bruno Flameretardant - Between 0-20% Health - Quest Credit '' (No Repeat)"), +(@ENTRY,0,2,3,61,0,100,1,0,20,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bruno Flameretardant - Between 0-20% Health - Set Faction 35 (No Repeat)"), +(@ENTRY,0,3,4,61,0,100,1,0,20,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bruno Flameretardant - Between 0-20% Health - Say Line 1 (No Repeat)"), +(@ENTRY,0,4,0,61,0,100,1,0,20,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bruno Flameretardant - Between 0-20% Health - Stop Attacking (No Repeat)"), +(@ENTRY,0,5,0,1,0,100,1,5000,5000,0,0,2,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bruno Flameretardant - Out of Combat - Set Faction 7 (No Repeat)"), +(@ENTRY,0,6,0,25,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bruno Flameretardant - On Reset - Start Attacking"); +-- NPC talk text insert +SET @ENTRY := 34835; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I was just comin'' to see you. Honest!',12,0,100,0,0,0, 'say Text on Aggro',48863), +(@ENTRY,1,0, 'Darn, you got me!',12,0,100,0,0,0, 'say Text on Beat',35127); +-- Brute Enforcer SAI +SET @ENTRY := 35304; +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,500,1000,0,0,11,76136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Brute Enforcer - Out of Combat - Cast 'Acidic Sweat' (No Repeat)"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Brute Enforcer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,2,0,1,0,100,0,10000,20000,40000,50000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Brute Enforcer - Out of Combat - Say Line 0"); +-- NPC talk text insert +SET @ENTRY := 35304; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'Trolls disent certain truck,chef!',12,0,50,5,0,0, 'say Text'), +(@ENTRY,0,1, 'Songs Trolls not make the Goblin nice work!',12,0,50,5,0,0, 'say Text'), +(@ENTRY,0,2, 'You you tape us the songs Trolls!',12,0,50,5,0,0, 'say Text'), +(@ENTRY,0,3, 'It monitors Trolls very well!',12,0,50,5,0,0, 'say Text'); +-- Candy Cane SAI +SET @ENTRY := 35053; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Candy Cane - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,1,0,19,0,100,0,26712,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Candy Cane - On Quest '' Taken - Say Line 0"), +(@ENTRY,0,2,3,19,0,100,0,14113,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Candy Cane - On Quest '' Taken - Say Line 1"), +(@ENTRY,0,3,4,61,0,100,0,14113,0,0,0,11,66908,0,0,0,0,0,7,0,0,0,0,0,0,0,"Candy Cane - On Quest '' Taken - Cast 'Awesome Party Ensemble'"), +(@ENTRY,0,4,0,61,0,100,0,14113,0,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Candy Cane - On Quest '' Taken - Say Line 2"); +-- NPC talk text insert +SET @ENTRY := 35053; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Make sure you pull plenty of moolah out of the bank. I don\'t want you buying any of that cheap clothing you usually like to wear. This party\'s important!',12,0,100,1,0,0, 'say Text',49023), +(@ENTRY,1,0, 'You\'re the most handsome boyfriend a girl could hope for. Knock\'em dead, honey!',12,0,100,1,0,0, 'say Text',49012), +(@ENTRY,2,0, 'You are dresed Impress! Use your new powers below to make your party guests happy!',41,0,100,0,0,0, 'say Text',35444); +-- Chip Endale SAI +SET @ENTRY := 35054; +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,19,0,100,0,26711,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Chip Endale - On Quest '' Taken - Say Line 0"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Chip Endale - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,2,0,20,0,100,0,14110,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Chip Endale - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,3,0,19,0,100,0,14153,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Chip Endale - On Quest '' Taken - Say Line 1"); +-- NPC talk text insert +SET @ENTRY := 35054; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Make sure you pull plenty of moolah out of the bank. I don''t want you buying any of that cheap clothing you usually like to wear. This party''s important!',12,0,100,1,0,0, 'say Text',49023), +(@ENTRY,1,0, 'Look at you! I''m the luckiest boyfriend on the island!!!',42,0,100,1,0,0, 'say Text',49013); +-- Claims Adjuster SAI +SET @ENTRY := 37602; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Claims Adjuster - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,1,2,20,0,100,0,14125,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Claims Adjuster - On Quest '' Finished - Say Line 0"), +(@ENTRY,0,2,0,61,0,100,0,14125,0,0,0,28,68480,0,0,0,0,0,7,0,0,0,0,0,0,0,"Claims Adjuster - On Quest '' Finished - Remove Aura 'Phase - Quest Zone-Specific 05'"); +-- NPC talk text insert +SET @ENTRY := 37602; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'Still an unfortunate accident of fire-fireworks-lit flammable-gas - Lectriquea?',14,0,100,0,0,0, 'say Text'); +-- Coach Crosscheck SAI +SET @ENTRY := 37106; +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,0,24567,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coach Crosscheck - On Quest '' Finished - Say Line 0"), +(@ENTRY,0,1,0,19,0,100,0,24488,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coach Crosscheck - On Quest '' Taken - Say Line 1"), +(@ENTRY,0,2,0,19,0,100,0,24520,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coach Crosscheck - On Quest '' Taken - Say Line 2"), +(@ENTRY,0,3,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Coach Crosscheck - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 37106; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You gotta hurry,kid. We gotta get you into the game. But first, we gotta get the parts for that shredder!',12,0,100,1,0,0, 'say Text',49025), +(@ENTRY,1,0, 'Get into that shredder and win the game. The Bilgewater Cartel\'s counting on you!',12,0,100,1,0,0, 'say Text',49026), +(@ENTRY,2,0, 'You got the juice,kid. That\'s for sure! Too bad that dragon had to come and ruin everything. No matter. You made us proud. Now get back to headquarters.',12,0,100,1,0,0, 'say Text',49027); +-- Evol Fingers SAI +SET @ENTRY := 34696; +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,3000,5000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Evol Fingers - Out of Combat - Cast 'Summon Imp' (No Repeat)"), +(@ENTRY,0,1,0,1,0,100,0,10000,10000,20000,20000,11,69607,0,0,0,0,0,19,34689,100,0,0,0,0,0,"Evol Fingers - Out of Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,2,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Evol Fingers - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- FBoK Bank Teller SAI +SET @ENTRY := 35120; +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,0,26712,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"FBoK Bank Teller - On Quest '' Finished - Say Line 0"), +(@ENTRY,0,1,0,20,0,100,0,26711,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"FBoK Bank Teller - On Quest '' Finished - Say Line 0"), +(@ENTRY,0,2,0,1,0,100,0,15000,60000,15000,60000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"FBoK Bank Teller - Out of Combat - Say Line 1"), +(@ENTRY,0,3,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"FBoK Bank Teller - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 35120; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'You people cool your heels! $N is here. He\'s gonna be the next Trade Prince!',12,0,100,1,0,0, 'say Text',49024), +(@ENTRY,1,0, 'Next!',12,0,100,1,0,0, 'say Text',24357); +-- Fizz Lighter SAI +SET @ENTRY := 34689; +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,5000,5000,15000,15000,11,69608,0,0,0,0,0,19,34696,100,0,0,0,0,0,"Fizz Lighter - Out of Combat - Cast 'Fireball'"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Fizz Lighter - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Foreman Dampwick SAI +SET @ENTRY := 34872; +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,0,14138,0,0,0,1,0,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Quest '' Finished - Say Line 0"), +(@ENTRY,0,1,2,52,0,100,0,0,34872,0,0,11,87226,0,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Text 0 Over - Cast 'Cosmetic - Rocket Barrage (Goblin Racial)'"), +(@ENTRY,0,2,3,52,0,100,0,0,34872,0,0,1,1,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Text 0 Over - Say Line 1"), +(@ENTRY,0,3,0,52,0,100,0,1,0,0,0,1,2,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Text 1 Over - Say Line 2"), +(@ENTRY,0,4,0,19,0,100,0,25473,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Quest '' Taken - Say Line 3"), +(@ENTRY,0,5,0,19,0,100,0,14124,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Quest '' Taken - Say Line 4"), +(@ENTRY,0,6,0,1,0,100,0,45000,245000,45000,245000,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - Out of Combat - Say Line 5"), +(@ENTRY,0,7,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Foreman Dampwick - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 34872; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'It is always pleasant to receive a gift from the hand of the second in person. I\'m going to the baller immediately!',12,0,100,1,0,0, 'say Text'), +(@ENTRY,1,0, 'OUCH!',14,0,100,34,0,0, 'say Text'), +(@ENTRY,2,0, 'Okay, okay! I understand the message!',12,0,100,1,0,0, 'say Text'), +(@ENTRY,3,0, 'Chief, tell Chipie I\'ll kick him if Kaja\'Cola will get more later then that production has resumed.',12,0,100,1,0,0, 'say Text'), +(@ENTRY,4,0, 'I can\'t to believe the nerve of those trolls. Rebelling after all that I\'ve done for them!',12,0,100,1,0,0, 'say Text'), +(@ENTRY,5,0, 'Useless! You are simply useless! I fear that we are all obligate to throw you into the Maelstrom!',14,0,50,22,0,0, 'say Text'), +(@ENTRY,5,1, 'You want us go bash bad trolls?',12,0,50,0,0,0, 'say Text'); +-- Frankie Gearslipper SAI +SET @ENTRY := 34876; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,2,2,0,100,1,0,20,0,0,33,34876,0,0,0,0,0,7,0,0,0,0,0,0,0,"Frankie Gearslipper - Between 0-20% Health - Quest Credit '' (No Repeat)"), +(@ENTRY,0,2,3,61,0,100,1,0,20,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - Between 0-20% Health - Set Faction 35 (No Repeat)"), +(@ENTRY,0,3,4,61,0,100,1,0,20,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - Between 0-20% Health - Say Line 1 (No Repeat)"), +(@ENTRY,0,4,0,61,0,100,1,0,20,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - Between 0-20% Health - Stop Attacking (No Repeat)"), +(@ENTRY,0,5,0,1,0,100,1,5000,5000,0,0,2,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - Out of Combat - Set Faction 7 (No Repeat)"), +(@ENTRY,0,6,0,25,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - On Reset - Start Attacking"), +(@ENTRY,0,7,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Frankie Gearslipper - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,8,0,0,0,100,0,2000,3000,7000,9000,11,75775,0,0,0,0,0,2,0,0,0,0,0,0,0,"Frankie Gearslipper - In Combat - Cast 'Throw Gears'"); +-- NPC talk text insert +SET @ENTRY := 34876; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Oh no, you didn\'t!',12,0,100,1,0,0, 'say Text',0), +(@ENTRY,1,0, 'What? Fine, fine... I''ll pay my protection moolah to your goons!',12,0,100,1,0,0, 'say Text',35129); +-- Gappy Silvertooth SAI +SET @ENTRY := 35126; +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,62,0,100,0,3,0,0,0,56,47045,1,0,0,0,0,7,0,0,0,0,0,0,0,"Gappy Silvertooth - On Gossip Option 0 Selected - Add Item '' 1 Time"), +(@ENTRY,0,1,0,61,0,100,0,3,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Gappy Silvertooth - On Gossip Option 0 Selected - Close Gossip"), +(@ENTRY,0,2,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Gappy Silvertooth - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Gobber SAI +SET @ENTRY := 37710; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Gobber - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Gobber SAI +SET @ENTRY := 35209; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Gobber - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Goblin Supermodel SAI +SET @ENTRY := 37054; +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,1000,1000,1000,1000,11,51733,2,0,0,0,0,1,0,0,0,0,0,0,0,"Goblin Supermodel - Out of Combat - Cast 'Shadow Channelling' (No Repeat)"); +-- Goblin Supermodel SAI +SET @ENTRY := 37057; +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,1000,1000,1000,1000,11,51733,2,0,0,0,0,1,0,0,0,0,0,0,0,"Goblin Supermodel - Out of Combat - Cast 'Shadow Channelling' (No Repeat)"); +-- Goblin Supermodel SAI +SET @ENTRY := 37056; +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,1000,1000,1000,1000,11,51733,2,0,0,0,0,1,0,0,0,0,0,0,0,"Goblin Supermodel - Out of Combat - Cast 'Shadow Channelling' (No Repeat)"); +-- Hired Looter SAI +SET @ENTRY := 35234; +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,5000,11000,7800,21300,11,6257,0,0,0,0,0,2,0,0,0,0,0,0,0,"Hired Looter - In Combat - Cast 'Torch Toss'"); +-- Hobart Grapplehammer SAI +SET @ENTRY := 48494; +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,60,0,100,0,5000,5000,360000,360000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 0"), +(@ENTRY,0,1,0,60,0,100,0,25000,25000,380000,380000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 1"), +(@ENTRY,0,2,0,60,0,100,0,50000,50000,405000,405000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 2"), +(@ENTRY,0,3,0,60,0,100,0,60000,60000,415000,415000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 3"), +(@ENTRY,0,4,0,60,0,100,0,75000,75000,430000,430000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 4"), +(@ENTRY,0,5,0,60,0,100,0,85000,85000,440000,440000,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 5"), +(@ENTRY,0,6,0,60,0,100,0,90000,90000,445000,445000,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 6"), +(@ENTRY,0,7,0,60,0,100,0,110000,110000,465000,465000,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 7"), +(@ENTRY,0,8,0,60,0,100,0,115000,115000,470000,470000,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 8"), +(@ENTRY,0,9,0,60,0,100,0,120000,120000,475000,475000,1,9,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 9"), +(@ENTRY,0,10,0,60,0,100,0,125000,125000,480000,480000,1,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 10"), +(@ENTRY,0,11,0,60,0,100,0,135000,135000,490000,490000,1,11,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 11"), +(@ENTRY,0,12,0,60,0,100,0,140000,140000,495000,495000,1,12,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 12"), +(@ENTRY,0,13,0,60,0,100,0,145000,145000,500000,500000,1,13,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 13"), +(@ENTRY,0,14,0,60,0,100,0,165000,165000,520000,520000,1,14,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 14"), +(@ENTRY,0,15,0,60,0,100,0,185000,185000,540000,540000,1,15,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 15"), +(@ENTRY,0,16,0,60,0,100,0,195000,195000,550000,550000,1,16,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 16"), +(@ENTRY,0,17,0,60,0,100,0,200000,200000,555000,555000,1,17,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 17"), +(@ENTRY,0,18,0,60,0,100,0,210000,210000,565000,565000,1,18,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 18"), +(@ENTRY,0,19,0,60,0,100,0,230000,230000,585000,585000,1,19,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 19"), +(@ENTRY,0,20,0,60,0,100,0,235000,235000,590000,590000,1,20,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 20"), +(@ENTRY,0,21,0,60,0,100,0,270000,270000,625000,625000,1,21,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Update - Say Line 21"), +(@ENTRY,0,22,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Hobart Grapplehammer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 48494; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Prepare the Micro Mechachicken!',14,0,100,1,0,0, 'say Text',49101), +(@ENTRY,1,0, 'There\'s a great deal that you do not understand, my dear Greely. That is why you are the assistant and I... I am Hobart Grapplehammer!',12,0,100,1,0,0, 'say Text',49103), +(@ENTRY,2,0, 'Excellent. Now back away from the Ultra Concave Fissionable Testing Platform. Slowly, if you please.',12,0,100,1,0,0, 'say Text',49107), +(@ENTRY,3,0, 'Thank you. Now behold as I stabilize the highly unstable miniaturization process.',12,0,100,1,0,0, 'say Text',49108), +(@ENTRY,4,0, 'I am going to end the horrible problem of food storage cutting into the profits of the Bilgewater Cartel!',12,0,100,1,0,0, 'say Text',49110), +(@ENTRY,5,0, 'I\'ll soon be revered as the greatest goblin tinker of all times! Besides, that negligence case involving the creation of the gilgoblins will never stick.',12,0,100,1,0,0, 'say Text',49111), +(@ENTRY,6,0, 'Flip the switch!',12,0,100,1,0,0, 'say Text',49112), +(@ENTRY,7,0, 'Quite right, Greely. You passed today\'s pop quiz.',12,0,100,1,0,0, 'say Text',49115), +(@ENTRY,8,0, 'I am now flipping the switch!',12,0,100,1,0,0, 'say Text',49116), +(@ENTRY,9,0, 'Greely, can you feel it? My moment of success is at hand!',12,0,100,1,0,0, 'say Text',49117), +(@ENTRY,10,0, 'Grocery store owners everywhere will owe me a percentage of their profits!',12,0,100,1,0,0, 'say Text',49118), +(@ENTRY,11,0, 'I\'m flipping the second switch!',12,0,100,1,0,0, 'say Text',49119), +(@ENTRY,12,0, 'The micro mechachicken begins to grow and Greely starts sneaking away from the machine.',16,0,100,0,0,0, 'say Text',0), +(@ENTRY,13,0, 'Wait... something\'s wrong!',12,0,100,0,0,0, 'say Text',49120), +(@ENTRY,14,0, 'I know... I know! Where\'s the override? The override?!',14,0,100,0,0,0, 'say Text',49122), +(@ENTRY,15,0, 'Here goes nothing, I always loved you, Greely!',14,0,100,0,0,0, 'say Text',49124), +(@ENTRY,16,0, 'Flipping the override switch now!',14,0,100,0,0,0, 'say Text',49125), +(@ENTRY,17,0, 'The micro mechachicken quickly shrinks back to normal.',16,0,100,0,0,0, 'say Text',0), +(@ENTRY,18,0, 'Are we still alive?',12,0,100,0,0,0, 'say Text',49127), +(@ENTRY,19,0, 'Well of course we are, my dear Greely. And look there. The Micro Mechachicken\'s stabilization appears to be a complete success!',12,0,100,1,0,0, 'say Text',49129), +(@ENTRY,20,0, 'The micro mechachicken explodes.',16,0,100,0,0,0, 'say Text',0), +(@ENTRY,21,0, 'I haven\'t the foggiest notion what you\'re talking about, Miss Greely.',12,0,100,1,0,0, 'say Text',49133); +-- Izzy SAI +SET @ENTRY := 37708; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Izzy - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Izzy SAI +SET @ENTRY := 35210; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Izzy - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Jack the Hammer SAI +SET @ENTRY := 34877; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,2,2,0,100,1,0,20,0,0,33,34877,0,0,0,0,0,7,0,0,0,0,0,0,0,"Jack the Hammer - Between 0-20% Health - Quest Credit '' (No Repeat)"), +(@ENTRY,0,2,3,61,0,100,1,0,20,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - Between 0-20% Health - Set Faction 35 (No Repeat)"), +(@ENTRY,0,3,4,61,0,100,1,0,20,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - Between 0-20% Health - Say Line 1 (No Repeat)"), +(@ENTRY,0,4,0,61,0,100,1,0,20,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - Between 0-20% Health - Stop Attacking (No Repeat)"), +(@ENTRY,0,5,0,1,0,100,1,5000,5000,0,0,2,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - Out of Combat - Set Faction 7 (No Repeat)"), +(@ENTRY,0,6,0,25,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - On Reset - Start Attacking"), +(@ENTRY,0,7,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,8,0,0,0,100,0,5000,7700,12300,16700,11,75986,0,0,0,0,0,2,0,0,0,0,0,0,0,"Jack the Hammer - In Combat - Cast 'Knockback'"), +(@ENTRY,0,9,0,1,0,100,1,500,1000,0,0,11,76136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jack the Hammer - Out of Combat - Cast 'Acidic Sweat' (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 34877; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '< Jack reported something about the hammer, which would be its armead you think. >',12,0,100,0,0,0, 'say Text on Aggro',48865), +(@ENTRY,1,0, '%s grunts and gives up, clearly beaten.',16,0,100,0,0,0, 'say Text on Beat',35132); +-- Kaja'Cola Balloon SAI +SET @ENTRY := 37804; +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,30000,120000,30000,120000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kaja'Cola Balloon - Out of Combat - Say Line 0"); +-- NPC talk text insert +SET @ENTRY := 37804; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'Kaja\'Cola! Poissard the Weasel advise you to drink, or else ... !',14,0,50,0,0,0, 'say Text'), +(@ENTRY,0,1, '\"Lift it challenge the Goa\" to drink Kaja\'Cola!',14,0,50,0,0,0, 'say Text'), +(@ENTRY,0,2, 'Drink Kaja\'Cola!',14,0,50,0,0,0, 'say Text'), +(@ENTRY,0,3, 'Kaja\'Cola is proud to sponsor the Bilgewater Buccaneers!',14,0,50,0,0,0, 'say Text'), +(@ENTRY,0,4, 'Kaja\'Cola! When your hacks take the upper hand!',14,0,50,0,0,0, 'say Text'), +(@ENTRY,0,5, 'New k \' Cola! Still one hundred percent of ideas are more!',14,0,50,0,0,0, 'say Text'); +-- Keensnout Potbelly SAI +SET @ENTRY := 35613; +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,4,0,100,1,0,0,0,0,11,3385,0,0,0,0,0,1,0,0,0,0,0,0,0,"Keensnout Potbelly - On Aggro - Cast 'Boar Charge' (No Repeat)"); +-- Kezan Citizen SAI +SET @ENTRY := 35075; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Kezan Citizen - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Kezan Citizen SAI +SET @ENTRY := 35063; +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,60,0,100,0,1000,5000,1000,25000,89,20,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Citizen - On Update - Start Random Movement"); +-- Kezan Partygoer SAI +SET @ENTRY := 35201; +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,60,0,100,0,1000,9000,10000,40000,5,18,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Update - Play Emote 18"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Kezan Partygoer SAI +SET @ENTRY := 35186; +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,8,0,100,0,75046,0,15000,15000,5,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Dance' - Play Emote 10"), +(@ENTRY,0,1,0,61,0,100,0,75046,0,15000,15000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Dance' - Say Line 0"), +(@ENTRY,0,2,3,8,0,100,0,75044,0,15000,15000,5,17,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Bucket' - Play Emote 17"), +(@ENTRY,0,3,0,61,0,100,0,75044,0,15000,15000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Bucket' - Say Line 1"), +(@ENTRY,0,4,5,8,0,100,0,75042,0,12000,12000,5,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Bubbly' - Play Emote 7"), +(@ENTRY,0,5,0,61,0,100,0,75042,0,12000,12000,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Bubbly' - Say Line 2"), +(@ENTRY,0,6,7,8,0,100,0,75048,0,12000,12000,5,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Fireworks' - Play Emote 7"), +(@ENTRY,0,7,0,61,0,100,0,75048,0,12000,12000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Fireworks' - Say Line 3"), +(@ENTRY,0,8,9,8,0,100,0,75050,0,10000,10000,5,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Hors D'oeuvres' - Play Emote 7"), +(@ENTRY,0,9,0,61,0,100,0,75050,0,10000,10000,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Spellhit 'Hors D'oeuvres' - Say Line 4"), +(@ENTRY,0,10,0,1,0,60,0,2000,8000,10000,20000,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - Out of Combat - Say Line 5"), +(@ENTRY,0,11,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 37804; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'This party lacks a bit of brilliant',12,0,100,10,0,0, 'say Text'), +(@ENTRY,1,0, 'Thanks !',12,0,100,17,0,0, 'say Text'), +(@ENTRY,2,0, 'Passport delicious! And these are just the out-of A \"work?',12,0,100,7,0,0, 'say Text'), +(@ENTRY,3,0, 'Wouhaya, Fireworks! Again, again!',12,0,50,400,0,0, 'say Text'), +(@ENTRY,3,1, 'Woahhh! I have never seen anything as generally follows. Yet! Yet!',12,0,50,401,0,0, 'say Text'), +(@ENTRY,4,0, 'This white Pa wine and sparkling is delicious. Where have you found?',12,0,50,17,0,0, 'say Text'), +(@ENTRY,4,1, 'Thank you. I was soon offcourse. Yum yum!',12,0,50,7,0,0, 'say Text'), +(@ENTRY,5,0, 'I need a bucket!',12,0,50,1,0,0, 'say Text'), +(@ENTRY,5,1, 'I am hungry! But where is the food good blood?',14,0,50,6,0,0, 'say Text'), +(@ENTRY,5,2, 'If only I had someone with whom dance.',12,0,50,5,0,0, 'say Text'), +(@ENTRY,5,3, 'I love Fireworks! It is necessary that its repeats in the eardrum and it we have blouisse the view.',12,0,50,5,0,0, 'say Text'), +(@ENTRY,5,4, 'I love Fireworks!',12,0,50,5,0,0, 'say Text'), +(@ENTRY,5,5, 'Ah the love! Made go to your buttock Wouhaya Boniface!',12,0,50,21,0,0, 'say Text'); +-- Kezan Partygoer SAI +SET @ENTRY := 35185; +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,60,0,100,0,1000,5000,5000,25000,89,24,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Update - Start Random Movement"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Kezan Partygoer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Kezan Socialite SAI +SET @ENTRY := 48949; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Kezan Socialite - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- KTC Waiter SAI +SET @ENTRY := 48719; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"KTC Waiter - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- KTC Waitress SAI +SET @ENTRY := 48806; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"KTC Waitress - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- KTC Waitress SAI +SET @ENTRY := 48721; +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,500,500,500,500,12,48340,7,0,0,0,0,1,0,0,0,0,0,0,0,"KTC Waitress - Out of Combat - Summon Creature 'Drink Tray'"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"KTC Waitress - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Maxx Avalanche SAI +SET @ENTRY := 34695; +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,500,1000,600000,600000,11,78273,0,0,0,0,0,1,0,0,0,0,0,0,0,"Maxx Avalanche - Out of Combat - Cast 'Flametongue Weapon'"), +(@ENTRY,0,1,0,1,0,100,0,10000,20000,50000,60000,11,69626,0,0,0,0,0,19,34689,200,0,0,0,0,0,"Maxx Avalanche - Out of Combat - Cast 'Lightning Bolt'"), +(@ENTRY,0,2,0,1,0,100,0,10000,60000,300000,450000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Maxx Avalanche - Out of Combat - Say Line 0"); +-- NPC talk text insert +SET @ENTRY := 34695; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Would one of you hurry up and finish off the other? Some of us are trying to make some moolah here!',12,0,100,1,0,0, 'say Text',36779); +-- Megs Dreadshredder SAI +SET @ENTRY := 34874; +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,1,2,19,0,100,0,14071,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Megs Dreadshredder - On Quest '' Taken - Say Line 0"), +(@ENTRY,0,2,3,61,0,100,0,14071,0,0,0,11,91551,0,0,0,0,0,7,0,0,0,0,0,0,0,"Megs Dreadshredder - On Quest '' Taken - Cast 'Keys to the Hot Rod'"), +(@ENTRY,0,3,0,61,0,100,0,14071,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Megs Dreadshredder - On Quest '' Taken - Say Line 1"), +(@ENTRY,0,4,0,20,0,100,0,14071,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Megs Dreadshredder - On Quest '' Finished - Say Line 2"), +(@ENTRY,0,5,0,19,0,100,0,14121,0,0,0,1,3,0,0,0,0,0,7,0,0,0,0,0,0,0,"Megs Dreadshredder - On Quest '' Taken - Say Line 3"), +(@ENTRY,0,6,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Megs Dreadshredder - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 34874; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Ooh, I think you\'re gonna like this,boss!',12,0,100,1,0,0, 'say Text',49019), +(@ENTRY,1,0, 'Use the Keys to the Hot Rod |TInterface\Icons\inv_misc_key_12.blp:32|t to get into your car. Pick up your friends, Izzy, Ace, and Gobber.',41,0,100,1,0,0, 'say Text',48504), +(@ENTRY,2,0, 'Here they are! Okay, you three make sure that you help him out today. He\'s got a lot of stuff to take care of before the party!',12,0,100,1,0,0, 'say Text',49020), +(@ENTRY,3,0, 'Use your Hot Rod |TInterface\Icons\inv_misc_key_12.blp:32|t to run over Hired Looters and get their loot.',41,0,100,1,0,0, 'say Text',48844); +-- Missa Spekkies SAI +SET @ENTRY := 35130; +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,62,0,100,0,3,0,0,0,56,47047,1,0,0,0,0,7,0,0,0,0,0,0,0,"Missa Spekkies - On Gossip Option 0 Selected - Add Item '' 1 Time"), +(@ENTRY,0,1,0,61,0,100,0,3,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Missa Spekkies - On Gossip Option 0 Selected - Close Gossip"), +(@ENTRY,0,2,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Missa Spekkies - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Neill Penny SAI +SET @ENTRY := 51411; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Neill Penny - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Pirate Party Crasher SAI +SET @ENTRY := 35200; +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,5000,8900,11000,17800,11,75361,0,0,0,0,0,2,0,0,0,0,0,0,0,"Pirate Party Crasher - In Combat - Cast 'Swashbuckling Slice'"), +(@ENTRY,0,1,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pirate Party Crasher - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35200; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'We be here courtesy o\' the trade prince.',12,0,50,0,0,0, 'on Aggro Text',35450), +(@ENTRY,0,1, 'Let\'s have a dance!',12,0,50,0,0,0, 'on Aggro Text',35449), +(@ENTRY,0,2, 'Who be in charge here?',12,0,50,0,0,0, 'on Aggro Text',35454); +-- Rebellious Troll SAI +SET @ENTRY := 35294; +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,4,0,80,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rebellious Troll - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 35294; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I not gonna take it anymore,mon!',12,0,50,0,0,0, 'on Aggro Text',49041), +(@ENTRY,0,1, 'Kezan for da trolls!',12,0,50,0,0,0, 'on Aggro Text',49042), +(@ENTRY,0,2, 'Ya got some nerve,mon!',12,0,50,0,0,0, 'on Aggro Text',49039), +(@ENTRY,0,3, 'Maybe I take dem bombs from ya an\' we see who go boom!',12,0,50,0,0,0, 'on Aggro Text',49044); +-- Sally "Salvager" Sandscrew SAI +SET @ENTRY := 37761; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Sally Salvager Sandscrew - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Sassy Hardwrench SAI +SET @ENTRY := 34668; +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,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,1,0,19,0,100,0,14138,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 0"), +(@ENTRY,0,2,0,20,0,100,0,25473,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Say Line 1"), +(@ENTRY,0,3,0,19,0,100,0,14070,0,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 2"), +(@ENTRY,0,4,0,20,0,100,0,14070,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,5,0,19,0,100,0,14115,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 3"), +(@ENTRY,0,6,0,20,0,100,0,14115,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,7,0,19,0,100,0,14116,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 4"), +(@ENTRY,0,8,0,19,0,100,0,14122,0,0,0,1,5,0,0,0,0,0,7,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 5"), +(@ENTRY,0,9,13,20,0,100,0,14113,0,0,0,28,66908,0,0,0,0,0,7,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Remove Aura 'Awesome Party Ensemble'"), +(@ENTRY,0,10,0,20,0,100,0,14153,0,0,0,28,59073,0,0,0,0,0,7,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Remove Aura 'Phase - Quest Zone-Specific 01'"), +(@ENTRY,0,11,0,20,0,100,0,14122,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,12,0,20,0,100,0,14125,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,13,0,61,0,100,0,14113,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,14,0,20,0,100,0,24520,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,15,0,19,0,100,0,14125,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 6"), +(@ENTRY,0,16,0,19,0,100,0,14126,0,0,0,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sassy Hardwrench - On Quest '' Taken - Say Line 7"); +-- NPC talk text insert +SET @ENTRY := 34668; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Haha! that should be a blast!',12,0,100,25,0,0, 'say Text',43954), +(@ENTRY,1,0, 'He\'ll get me more later? How are we supposed to get you promoted to Trade Prince without our number one product on the shelves?',12,0,100,1,0,0, 'say Text',49018), +(@ENTRY,2,0, 'Ace,Izzy,Gobber,you three make sure you tag a long with $N and help him take care of those dead beats!',12,0,100,1,0,0, 'say Text',49021), +(@ENTRY,3,0, 'Go get \'em,boss!',12,0,100,1,0,0, 'say Text',37318), +(@ENTRY,4,0, 'You better get upstairs pronto, boss. Trade Prince Gallywix is waiting for you.',12,0,100,1,0,0, 'say Text',49015), +(@ENTRY,5,0, '$N, you have to hurry and break your moolah out of the bank!',12,0,100,1,0,0, 'say Text',49016), +(@ENTRY,6,0, 'I can\'t stand to watch. So many good memories. So much profit.',12,0,100,1,0,0, 'say Text',49071), +(@ENTRY,7,0, 'The Trade Prince\'s yacht is about to set sail. Everyone, get to the dock! Hand over the keys, boss. I\'m driving. Just let me know when you\'re ready to go.',12,0,100,1,0,0, 'say Text',40278); +-- Sister Goldskimmer SAI +SET @ENTRY := 34692; +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,10,0,100,0,1,8,5000,6000,11,74973,32,0,0,0,0,17,0,8,0,0,0,0,0,"Sister Goldskimmer - Within 1-8 Range Out of Combat LoS - Cast 'Power Word: Fortitude'"), +(@ENTRY,0,1,0,61,0,100,0,1,8,5000,6000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sister Goldskimmer - Within 1-8 Range Out of Combat LoS - Say Line 0"), +(@ENTRY,0,2,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Sister Goldskimmer - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 34692; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'It\'s not much, but it just might keep your green skin intact.',12,0,50,1,0,0, 'say Text',36727), +(@ENTRY,0,1, 'Just wanted to let you know that we\'re all counting on you!',12,0,50,1,0,0, 'say Text',36728), +(@ENTRY,0,2, 'Light be with you... for the very low price of a one silver tithe!',12,0,50,1,0,0, 'say Text',36722); +-- Slinky Sharpshiv SAI +SET @ENTRY := 34693; +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,60,0,100,0,1000,1000,500000,500000,11,1784,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Update - Cast 'Stealth'"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"), +(@ENTRY,0,2,0,20,0,100,0,14123,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Quest '' Finished - Play Emote 4"), +(@ENTRY,0,3,0,19,0,100,0,14115,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Quest '' Taken - Say Line 0"), +(@ENTRY,0,4,0,60,0,100,0,5000,5000,510000,510000,28,1784,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Update - Remove Aura 'Stealth'"), +(@ENTRY,0,5,0,19,0,100,0,14010,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Quest '' Taken - Say Line 1"), +(@ENTRY,0,6,0,20,0,100,0,14010,0,0,0,5,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slinky Sharpshiv - On Quest '' Finished - Play Emote 4"); +SET @ENTRY := 34693; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'I\'ll address the CAP so that it activates automatically when you\'re at the villa. Do just well warning avoid pigs!',12,0,100,1,0,0, 'say Text'), +(@ENTRY,1,0, 'All what you have to do is let me show you how was a Visca cooperation. Then, head to one of the models to lead training on which Bamm is going to pull, start a pernicious attack and finish it with a Visca cooperation.',12,0,100,1,0,0, 'say Text'); +-- Sudsy Magee SAI +SET @ENTRY := 34878; +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,4,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sudsy Magee - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,2,2,0,100,1,0,20,0,0,33,34878,0,0,0,0,0,7,0,0,0,0,0,0,0,"Sudsy Magee - Between 0-20% Health - Quest Credit '' (No Repeat)"), +(@ENTRY,0,2,3,61,0,100,1,0,20,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sudsy Magee - Between 0-20% Health - Set Faction 35 (No Repeat)"), +(@ENTRY,0,3,4,61,0,100,1,0,20,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sudsy Magee - Between 0-20% Health - Say Line 1 (No Repeat)"), +(@ENTRY,0,4,0,61,0,100,1,0,20,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sudsy Magee - Between 0-20% Health - Stop Attacking (No Repeat)"), +(@ENTRY,0,5,0,1,0,100,1,5000,5000,0,0,2,7,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sudsy Magee - Out of Combat - Set Faction 7 (No Repeat)"), +(@ENTRY,0,6,0,25,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sudsy Magee - On Reset - Start Attacking"), +(@ENTRY,0,7,0,0,0,100,0,0,0,3400,4700,11,9672,64,0,0,0,0,2,0,0,0,0,0,0,0,"Sudsy Magee - In Combat - Cast 'Frostbolt'"), +(@ENTRY,0,8,0,0,0,100,0,9800,11000,17600,25400,11,75761,0,0,0,0,0,2,0,0,0,0,0,0,0,"Sudsy Magee - In Combat - Cast 'Bubble Blast'"); +-- NPC talk text insert +SET @ENTRY := 34878; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'m tryin\' to run a business here!',12,0,100,0,0,0, 'say Text on Aggro',48864), +(@ENTRY,1,0, 'Not the face, not the face!',12,0,100,1,0,0, 'say Text on Beat',35136); +-- Szabo SAI +SET @ENTRY := 35128; +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,62,0,100,0,3,0,0,0,56,47046,1,0,0,0,0,7,0,0,0,0,0,0,0,"Szabo - On Gossip Option 0 Selected - Add Item '' 1 Time"), +(@ENTRY,0,1,0,61,0,100,0,3,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Szabo - On Gossip Option 0 Selected - Close Gossip"), +(@ENTRY,0,2,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Szabo - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- Tunneling Worm SAI +SET @ENTRY := 34865; +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,3500,7700,13200,16700,11,32738,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tunneling Worm - In Combat - Cast 'Bore'"); +-- Villa Mook SAI +SET @ENTRY := 35623; +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,500,1000,0,0,11,76136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Villa Mook - Out of Combat - Cast 'Acidic Sweat' (No Repeat)"); +-- Villa Mook SAI +SET @ENTRY := 49218; +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,500,1000,0,0,11,76136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Villa Mook - Out of Combat - Cast 'Acidic Sweat' (No Repeat)"); +-- Villa Mook SAI +SET @ENTRY := 35609; +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,500,1000,0,0,11,76136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Villa Mook - Out of Combat - Cast 'Acidic Sweat' (No Repeat)"), +(@ENTRY,0,1,0,4,0,100,1,0,0,0,0,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Villa Mook - On Aggro - Cast 'Battle Shout' (No Repeat)"); +-- Villa Mook SAI +SET @ENTRY := 37683; +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,500,1000,0,0,11,76136,0,0,0,0,0,1,0,0,0,0,0,0,0,"Villa Mook - Out of Combat - Cast 'Acidic Sweat' (No Repeat)"); +-- Vinny Slapchop SAI +SET @ENTRY := 37500; +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,60,0,100,0,15000,60000,30000,350000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vinny Slapchop - On Update - Say Line 0"), +(@ENTRY,0,1,0,64,0,100,0,0,0,0,0,10,1,3,5,6,0,0,1,0,0,0,0,0,0,0,"Vinny Slapchop - On Gossip Hello - Play Random Emote (1, 3, 5, 6)"); +-- NPC talk text insert +SET @ENTRY := 37500; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Volcano rocks - new low price! You\'re gonna love my rocks.',14,0,50,1,0,0, 'say Text',37100), +(@ENTRY,0,1, 'Volcano rocks for sale! Hot off the mountain! You want \'em, I got \'em!',14,0,50,1,0,0, 'say Text',37099), +(@ENTRY,0,2, 'Take home a piece of the Cataclysm! Volcano rocks for sale - hot, Hot, HOT!',14,0,50,1,0,0, 'say Text',37102), +(@ENTRY,0,3, 'Get your volcano rocks here! ...Great for cats!',14,0,50,1,0,0, 'say Text',37101), +(@ENTRY,0,4, 'Volcano rocks. Million and one uses. Lava, java, sauna, banana....',14,0,50,1,0,0, 'say Text',37104), +(@ENTRY,0,5, 'Papers to weigh? Doors to stop? Windows to break? bam, Bam, BAM! Volcano rocks.',14,0,50,1,0,0, 'say Text',37103), +(@ENTRY,0,6, 'Volcano rocks! Limited time offer! Papers of authenticity and everything!',14,0,50,1,0,0, 'say Text',37106); +-- Warrior-Matic NX-01 SAI +SET @ENTRY := 34697; +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,19,0,100,0,14013,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warrior-Matic NX-01 - On Quest '' Taken - Say Line 3"); +-- NPC talk text insert +SET @ENTRY := 34697; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0, 'Insert your coins inside the Warrior NX-01, who\'s learn you. Then use the technique on one of the models to lead training.',12,0,100,0,0,0, 'say Text'); diff --git a/sql/updates/world/2015_07_28_06_world.sql b/sql/updates/world/2015_07_28_06_world.sql new file mode 100644 index 00000000000..2e2fec04b41 --- /dev/null +++ b/sql/updates/world/2015_07_28_06_world.sql @@ -0,0 +1,734 @@ +-- +-- DB/SAI: Update Blasted Lands +-- Akubar the Seer SAI +SET @ENTRY := 8298; +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,0,0,3400,4700,11,79884,64,0,0,0,0,2,0,0,0,0,0,0,0,"Akubar the Seer - In Combat - Cast 'Lightning Bolt'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,79892,0,0,0,0,0,1,0,0,0,0,0,0,0,"Akubar the Seer - Out of Combat - Cast 'Water Shield'"), +(@ENTRY,0,2,0,16,0,100,0,79892,1,15000,30000,11,79892,0,0,0,0,0,1,0,0,0,0,0,0,0,"Akubar the Seer - On Friendly Unit Missing Buff 'Water Shield' - Cast 'Water Shield'"), +(@ENTRY,0,3,0,9,0,100,0,0,8,14000,14500,11,79890,0,0,0,0,0,2,0,0,0,0,0,0,0,"Akubar the Seer - Within 0-8 Range - Cast 'Flame Shock'"), +(@ENTRY,0,4,0,0,0,100,0,5000,7000,19000,22000,11,39591,1,0,0,0,0,1,0,0,0,0,0,0,0,"Akubar the Seer - In Combat - Cast 'Searing Totem'"), +(@ENTRY,0,5,0,0,0,100,0,12000,15000,25000,31000,11,79886,1,0,0,0,0,2,0,0,0,0,0,0,0,"Akubar the Seer - In Combat - Cast 'Lava Burst'"); +-- Ashmane Boar SAI +SET @ENTRY := 5992; +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,25,0,100,0,0,0,0,0,11,11351,33,0,0,0,0,1,0,0,0,0,0,0,0,"Ashmane Boar - On Reset - Cast 'Fire Shield'"), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,11,12898,33,0,0,0,0,1,0,0,0,0,0,0,0,"Ashmane Boar - On Reset - Cast 'Smoke Aura Visual'"), +(@ENTRY,0,2,0,9,0,50,1,5,20,0,0,11,6268,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ashmane Boar - Within 5-20 Range - Cast 'Rushing Charge' (No Repeat)"); +-- Blackleaf SAI +SET @ENTRY := 45260; +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,2000,4500,12000,13000,11,36247,0,0,0,0,0,2,0,0,0,0,0,0,0,"Blackleaf - In Combat - Cast 'Fel Fireball'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,25000,11,84469,0,0,0,0,0,2,0,0,0,0,0,0,0,"Blackleaf - In Combat - Cast 'Fel Immolate'"); +-- Bloodwash Acolyte SAI +SET @ENTRY := 41423; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Acolyte - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Acolyte - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,15000,17000,11,84465,1,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Acolyte - In Combat - Cast 'Frost Arrow'"), +(@ENTRY,0,3,0,2,0,100,1,0,25,0,0,11,84454,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Acolyte - Between 0-25% Health - Cast 'Bloodwash' (No Repeat)"); +-- Bloodwash Barbarian SAI +SET @ENTRY := 41386; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Barbarian - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,25,0,0,11,84454,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Barbarian - Between 0-25% Health - Cast 'Bloodwash' (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4000,5000,15000,20000,11,83639,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Barbarian - In Combat - Cast 'Bloodbath'"); +-- Bloodwash Enchantress SAI +SET @ENTRY := 41387; +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,0,0,3400,4700,11,31281,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Enchantress - In Combat - Cast 'Bloodbolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Enchantress - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,2,0,100,1,0,25,0,0,11,84454,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Enchantress - Between 0-25% Health - Cast 'Bloodwash' (No Repeat)"); +-- Bloodwash Gambler SAI +SET @ENTRY := 41404; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Gambler - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,25,0,0,11,84454,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Gambler - Between 0-25% Health - Cast 'Bloodwash' (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4500,6000,17500,19500,11,13443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Gambler - In Combat - Cast 'Rend'"), +(@ENTRY,0,3,0,4,0,100,1,0,0,0,0,11,84309,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Gambler - On Aggro - Cast 'Coin Toss' (No Repeat)"); +-- Bloodwash Idolater SAI +SET @ENTRY := 41405; +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,0,0,3400,4700,11,32011,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Idolater - In Combat - Cast 'Water Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Idolater - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,2,0,100,1,0,25,0,0,11,84454,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Idolater - Between 0-25% Health - Cast 'Bloodwash' (No Repeat)"), +(@ENTRY,0,3,0,9,0,100,0,0,10,14000,18000,11,78799,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Idolater - Within 0-10 Range - Cast 'Wave Crash'"); +-- Bloodwash Zealot SAI +SET @ENTRY := 41422; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Zealot - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Zealot - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,22120,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodwash Zealot - On Aggro - Cast 'Charge' (No Repeat)"), +(@ENTRY,0,3,0,2,0,100,1,0,25,0,0,11,84454,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodwash Zealot - Between 0-25% Health - Cast 'Bloodwash' (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 41422; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bonepicker Felfeeder SAI +SET @ENTRY := 5983; +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,2000,4500,12000,14000,11,37945,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bonepicker Felfeeder - In Combat - Cast 'Fel Fireball'"); +-- Captain Metlek SAI +SET @ENTRY := 42231; +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,2,0,100,1,0,30,0,0,11,81173,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captain Metlek - Between 0-30% Health - Cast 'Frenzy' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captain Metlek - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,81219,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captain Metlek - On Aggro - Cast 'Battle Shout' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,2000,4500,12000,12500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Metlek - In Combat - Cast 'Cleave'"), +(@ENTRY,0,4,0,0,0,100,0,6000,9000,17000,22000,11,13737,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Metlek - In Combat - Cast 'Mortal Strike'"); +-- NPC talk text insert +SET @ENTRY := 42231; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'combat Frenzy',2384); +-- Cassia the Slitherqueen SAI +SET @ENTRY := 45258; +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,0,0,3400,4700,11,9734,64,0,0,0,0,2,0,0,0,0,0,0,0,"Cassia the Slitherqueen - In Combat - Cast 'Holy Smite'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Cassia the Slitherqueen - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,9000,17000,21000,11,17170,1,0,0,0,0,2,0,0,0,0,0,0,0,"Cassia the Slitherqueen - In Combat - Cast 'Fatal Sting'"), +(@ENTRY,0,3,0,2,0,100,0,0,40,45000,55000,11,11835,0,0,0,0,0,1,0,0,0,0,0,0,0,"Cassia the Slitherqueen - Between 0-40% Health - Cast 'Power Word: Shield'"); +-- Chief Prospector Hondo SAI +SET @ENTRY := 41173; +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,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Chief Prospector Hondo - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,61,0,100,1,0,0,0,0,11,38557,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chief Prospector Hondo - On Aggro - Cast 'Throw' (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,5,15000,17000,11,6016,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chief Prospector Hondo - Within 0-5 Range - Cast 'Pierce Armor'"), +(@ENTRY,0,3,0,0,0,100,0,5000,7000,22000,26000,11,80382,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chief Prospector Hondo - In Combat - Cast 'Dirt Toss'"), +(@ENTRY,0,4,0,0,0,100,0,12000,13000,9000,18000,11,79726,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chief Prospector Hondo - In Combat - Cast 'Ticking Time Bomb'"); +-- NPC talk text insert +SET @ENTRY := 41173; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'Is that box walking on its own? Am I going mad? Quick,someone check the canary!',12,0,100,0,0,0, 'on Aggro Text',41195); +-- Clack the Reaver SAI +SET @ENTRY := 8301; +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,2000,3000,11000,12000,11,21067,0,0,0,0,0,2,0,0,0,0,0,0,0,"Clack the Reaver - In Combat - Cast 'Poison Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,22000,11,79607,0,0,0,0,0,2,0,0,0,0,0,0,0,"Clack the Reaver - In Combat - Cast 'Venom Splash'"), +(@ENTRY,0,2,0,2,0,100,0,0,40,15000,16000,11,79840,1,0,0,0,0,1,0,0,0,0,0,0,0,"Clack the Reaver - Between 0-40% Health - Cast 'Harden'"); +-- Corrupted Darkwood Treant SAI +SET @ENTRY := 45119; +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,2000,4500,12000,13000,11,36247,0,0,0,0,0,2,0,0,0,0,0,0,0,"Corrupted Darkwood Treant - In Combat - Cast 'Fel Fireball'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,25000,11,84469,0,0,0,0,0,2,0,0,0,0,0,0,0,"Corrupted Darkwood Treant - In Combat - Cast 'Fel Immolate'"); +-- Darktail Bonepicker SAI +SET @ENTRY := 42235; +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,4,0,100,1,0,0,0,0,11,66060,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darktail Bonepicker - On Aggro - Cast 'Sprint' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3000,5000,22000,25000,11,8139,0,0,0,0,0,2,0,0,0,0,0,0,0,"Darktail Bonepicker - In Combat - Cast 'Fevered Fatigue'"); +-- Darkwood Treant SAI +SET @ENTRY := 45118; +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,9,0,100,0,0,30,9000,14000,11,33844,0,0,0,0,0,2,0,0,0,0,0,0,0,"Darkwood Treant - Within 0-30 Range - Cast 'Entangling Roots'"); +-- Deatheye SAI +SET @ENTRY := 8302; +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,2000,4500,12000,15000,11,83657,0,0,0,0,0,2,0,0,0,0,0,0,0,"Deatheye - In Combat - Cast 'Hellgaze'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,24000,27000,11,77576,0,0,0,0,0,2,0,0,0,0,0,0,0,"Deatheye - In Combat - Cast 'Stone Breath'"), +(@ENTRY,0,2,0,2,0,100,0,0,40,9000,9000,11,54663,0,0,0,0,0,2,0,0,0,0,0,0,0,"Deatheye - Between 0-40% Health - Cast 'Fatal Bite'"); +-- Doomguard Destroyer SAI +SET @ENTRY := 41470; +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,2000,4500,12000,14000,11,38742,0,0,0,0,0,2,0,0,0,0,0,0,0,"Doomguard Destroyer - In Combat - Cast 'Fel Cleave'"), +(@ENTRY,0,1,0,0,0,100,0,7000,9000,18000,22000,11,84451,0,0,0,0,0,2,0,0,0,0,0,0,0,"Doomguard Destroyer - In Combat - Cast 'Wing Buffet'"), +(@ENTRY,0,2,0,0,0,100,0,5000,5000,15000,16000,11,84502,1,0,0,0,0,5,0,0,0,0,0,0,0,"Doomguard Destroyer - In Combat - Cast 'Rain of Chaos'"); +-- Dreadlord Defiler SAI +SET @ENTRY := 41471; +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,2000,4500,12000,13000,11,13860,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadlord Defiler - In Combat - Cast 'Mind Blast'"), +(@ENTRY,0,1,0,0,0,100,0,6000,11000,19000,24000,11,37624,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadlord Defiler - In Combat - Cast 'Carrion Swarm'"); +-- Dreadmaul Ambusher SAI +SET @ENTRY := 41136; +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,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ambusher - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,5,17000,18000,11,80182,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ambusher - Within 0-5 Range - Cast 'Uppercut'"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,20000,22000,11,81140,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Ambusher - In Combat - Cast 'Thunderclap'"), +(@ENTRY,0,3,0,0,0,100,0,2000,5000,35000,41000,11,11960,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ambusher - In Combat - Cast 'Curse of the Dreadmaul'"), +(@ENTRY,0,4,0,0,0,100,0,9000,14000,25000,28000,11,84333,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ambusher - In Combat - Cast 'Summon Dreadmaul'"); +-- NPC talk text insert +SET @ENTRY := 41136; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927); +-- Dreadmaul Brute SAI +SET @ENTRY := 5976; +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,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Brute - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,8,25,19000,20000,11,83015,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Brute - Within 8-25 Range - Cast 'Heroic Leap'"), +(@ENTRY,0,2,0,0,0,100,0,2000,5000,35000,41000,11,11960,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Brute - In Combat - Cast 'Curse of the Dreadmaul'"), +(@ENTRY,0,3,0,0,0,100,0,9000,14000,25000,28000,11,84333,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Brute - In Combat - Cast 'Summon Dreadmaul'"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Brute - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,5,0,2,0,100,1,0,30,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Brute - Between 0-30% Health - Say Line 1 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 5976; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927); +-- Dreadmaul Captive SAI +SET @ENTRY := 41127; +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,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Captive - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 41127; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927); +-- Dreadmaul Mauler SAI +SET @ENTRY := 5977; +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,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Mauler - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,20000,22000,11,81140,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Mauler - In Combat - Cast 'Thunderclap'"), +(@ENTRY,0,2,0,0,0,100,0,2000,5000,35000,41000,11,11960,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Mauler - In Combat - Cast 'Curse of the Dreadmaul'"), +(@ENTRY,0,3,0,0,0,100,0,9000,14000,25000,28000,11,84333,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Mauler - In Combat - Cast 'Summon Dreadmaul'"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Mauler - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,5,0,2,0,100,1,0,30,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Mauler - Between 0-30% Health - Say Line 1 (No Repeat)"), +(@ENTRY,0,6,0,9,0,100,0,0,5,17000,18000,11,80182,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Mauler - Within 0-5 Range - Cast 'Uppercut'"); +-- NPC talk text insert +SET @ENTRY := 5977; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927), +(@ENTRY,1,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Dreadmaul Ogre SAI +SET @ENTRY := 5974; +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,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,2000,5000,35000,41000,11,11960,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre - In Combat - Cast 'Curse of the Dreadmaul'"), +(@ENTRY,0,2,0,0,0,100,0,9000,14000,25000,28000,11,84333,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre - In Combat - Cast 'Summon Dreadmaul'"), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Ogre - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Ogre - Between 0-30% Health - Say Line 1 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 5974; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927), +(@ENTRY,1,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Dreadmaul Ogre Mage SAI +SET @ENTRY := 5975; +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,0,0,3400,4700,11,79858,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre Mage - In Combat - Cast 'Frostbolt'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,13600,14500,11,79850,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Ogre Mage - Within 0-8 Range - Cast 'Frost Nova'"), +(@ENTRY,0,2,0,0,0,100,0,8000,9000,15000,16000,11,79859,1,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre Mage - In Combat - Cast 'Ice Lance'"), +(@ENTRY,0,3,0,0,0,100,0,9000,14000,25000,28000,11,84333,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre Mage - In Combat - Cast 'Summon Dreadmaul'"), +(@ENTRY,0,4,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Ogre Mage - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 5975; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927); +-- Dreadmaul Warlock SAI +SET @ENTRY := 5978; +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,0,0,3400,4700,11,79938,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Warlock - In Combat - Cast 'Incinerate'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,44977,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadmaul Warlock - Out of Combat - Cast 'Fel Armor'"), +(@ENTRY,0,2,0,0,0,100,0,8000,9000,17000,17500,11,79937,1,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Warlock - In Combat - Cast 'Immolate'"), +(@ENTRY,0,3,0,0,0,100,0,9000,14000,25000,28000,11,84333,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Warlock - In Combat - Cast 'Summon Dreadmaul'"), +(@ENTRY,0,4,0,4,0,20,1,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadmaul Warlock - On Aggro - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 5978; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, 'I\'ll crush you!',12,0,50,0,0,0, 'on Aggro Text',1925), +(@ENTRY,0,1, 'Me smash! You die!',12,0,50,0,0,0, 'on Aggro Text',1926), +(@ENTRY,0,2, 'Raaar!!! Me smash $r!',12,0,50,0,0,0, 'on Aggro Text',1927); +-- Dreadscorn SAI +SET @ENTRY := 8304; +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,2000,4500,12000,14000,11,12057,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadscorn - In Combat - Cast 'Strike'"), +(@ENTRY,0,1,0,0,0,100,0,6000,10000,18000,26000,11,6253,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadscorn - In Combat - Cast 'Backhand'"), +(@ENTRY,0,2,0,2,0,100,1,0,25,0,0,11,21049,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dreadscorn - Between 0-25% Health - Cast 'Bloodlust' (No Repeat)"); +-- Drowned Gilnean Merchant SAI +SET @ENTRY := 42244; +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,4,0,100,1,0,0,0,0,11,84309,0,0,0,0,0,2,0,0,0,0,0,0,0,"Drowned Gilnean Merchant - On Aggro - Cast 'Coin Toss' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3000,4500,14000,15500,11,84306,0,0,0,0,0,2,0,0,0,0,0,0,0,"Drowned Gilnean Merchant - In Combat - Cast 'Soaking'"); +-- Drowned Gilnean Sailor SAI +SET @ENTRY := 42248; +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,4,0,100,1,0,0,0,0,11,75002,0,0,0,0,0,2,0,0,0,0,0,0,0,"Drowned Gilnean Sailor - On Aggro - Cast 'Leaping Rush' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3000,4500,14000,15500,11,84306,0,0,0,0,0,2,0,0,0,0,0,0,0,"Drowned Gilnean Sailor - In Combat - Cast 'Soaking'"), +(@ENTRY,0,2,0,0,0,100,0,8000,9000,25000,29000,11,84308,0,0,0,0,0,1,0,0,0,0,0,0,0,"Drowned Gilnean Sailor - In Combat - Cast 'Furious Howl'"); +-- Drowned Gilnean Settler SAI +SET @ENTRY := 42249; +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,9,0,100,0,0,5,9000,11000,11,31279,0,0,0,0,0,2,0,0,0,0,0,0,0,"Drowned Gilnean Settler - Within 0-5 Range - Cast 'Swipe'"), +(@ENTRY,0,1,0,0,0,100,0,3000,4500,15000,15500,11,84306,0,0,0,0,0,2,0,0,0,0,0,0,0,"Drowned Gilnean Settler - In Combat - Cast 'Soaking'"), +(@ENTRY,0,2,0,0,0,100,0,8000,9000,25000,29000,11,84308,0,0,0,0,0,1,0,0,0,0,0,0,0,"Drowned Gilnean Settler - In Combat - Cast 'Furious Howl'"); +-- Enthralled Cultist SAI +SET @ENTRY := 41254; +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,2,0,100,1,0,30,0,0,11,84325,0,0,0,0,0,1,0,0,0,0,0,0,0,"Enthralled Cultist - Between 0-30% Health - Cast 'Fel-Infused' (No Repeat)"); +-- Felguard Sentry SAI +SET @ENTRY := 6011; +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,4,0,100,1,0,0,0,0,11,22120,0,0,0,0,0,2,0,0,0,0,0,0,0,"Felguard Sentry - On Aggro - Cast 'Charge' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3000,3500,12000,13500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Felguard Sentry - In Combat - Cast 'Cleave'"); +-- Felhound SAI +SET @ENTRY := 6010; +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,6000,15000,17000,11,81082,0,0,0,0,0,2,0,0,0,0,0,0,0,"Felhound - In Combat - Cast 'Noxious Breath'"), +(@ENTRY,0,1,0,2,0,100,0,0,55,14000,21000,11,79616,1,0,0,0,0,2,0,0,0,0,0,0,0,"Felhound - Between 0-55% Health - Cast 'Drain Life'"); +-- Felscale Crawler SAI +SET @ENTRY := 45087; +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,2000,3000,12000,14000,11,84466,0,0,0,0,0,2,0,0,0,0,0,0,0,"Felscale Crawler - In Combat - Cast 'Felbreath'"), +(@ENTRY,0,1,0,2,0,100,0,0,40,15000,16000,11,79840,1,0,0,0,0,1,0,0,0,0,0,0,0,"Felscale Crawler - Between 0-40% Health - Cast 'Harden'"); +-- Felspore Bog Lord SAI +SET @ENTRY := 45125; +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,6000,17000,25000,11,79825,0,0,0,0,0,2,0,0,0,0,0,0,0,"Felspore Bog Lord - In Combat - Cast 'Summon Unstable Mushroom'"), +(@ENTRY,0,1,0,2,0,100,0,0,40,18000,18000,11,84472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Felspore Bog Lord - Between 0-40% Health - Cast 'Rejuvenation'"); +-- Gomegaz SAI +SET @ENTRY := 41166; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gomegaz - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gomegaz - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,3000,5000,14000,17000,11,84426,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gomegaz - In Combat - Cast 'Felbreath'"); +-- NPC talk text insert +SET @ENTRY := 41166; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Grunter SAI +SET @ENTRY := 8303; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grunter - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grunter - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,3000,4000,12000,13000,11,3604,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grunter - In Combat - Cast 'Tendon Rip'"), +(@ENTRY,0,3,0,0,0,100,0,2000,9000,9000,25000,11,79581,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grunter - In Combat - Cast 'Angry Snort'"), +(@ENTRY,0,4,0,4,0,100,1,0,0,0,0,11,6268,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grunter - On Aggro - Cast 'Rushing Charge' (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 8303; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Illycor SAI +SET @ENTRY := 41163; +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,2000,4500,14000,22000,11,84257,0,0,0,0,0,2,0,0,0,0,0,0,0,"Illycor - In Combat - Cast 'The Reckoning: Cancel Phase and Teleport'"), +(@ENTRY,0,1,0,0,0,100,0,7000,9000,18000,27000,11,84298,0,0,0,0,0,2,0,0,0,0,0,0,0,"Illycor - In Combat - Cast 'Optic Link'"); +-- Jarroc Torn-Wing SAI +SET @ENTRY := 41164; +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,2000,4500,12000,13000,11,36247,0,0,0,0,0,2,0,0,0,0,0,0,0,"Jarroc Torn-Wing - In Combat - Cast 'Fel Fireball'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,25000,11,84469,0,0,0,0,0,2,0,0,0,0,0,0,0,"Jarroc Torn-Wing - In Combat - Cast 'Fel Immolate'"), +(@ENTRY,0,2,0,0,0,100,0,7000,14000,21000,32000,11,84451,0,0,0,0,0,2,0,0,0,0,0,0,0,"Jarroc Torn-Wing - In Combat - Cast 'Wing Buffet'"); +-- Magronos the Unyielding SAI +SET @ENTRY := 8297; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magronos the Unyielding - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magronos the Unyielding - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,5,17000,18000,11,10966,0,0,0,0,0,2,0,0,0,0,0,0,0,"Magronos the Unyielding - Within 0-5 Range - Cast 'Uppercut'"), +(@ENTRY,0,3,0,0,0,100,0,6000,14000,19000,22500,11,22859,0,0,0,0,0,2,0,0,0,0,0,0,0,"Magronos the Unyielding - In Combat - Cast 'Mortal Cleave'"), +(@ENTRY,0,4,0,0,0,100,0,14000,18000,35000,36000,11,78827,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magronos the Unyielding - In Combat - Cast 'Bladestorm'"); +-- NPC talk text insert +SET @ENTRY := 8297; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Marl Wormthorn SAI +SET @ENTRY := 42334; +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,0,0,3400,4700,11,9739,64,0,0,0,0,2,0,0,0,0,0,0,0,"Marl Wormthorn - In Combat - Cast 'Wrath'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,79833,0,0,0,0,0,1,0,0,0,0,0,0,0,"Marl Wormthorn - Out of Combat - Cast 'Mark of the Wild'"), +(@ENTRY,0,2,0,0,0,100,0,7000,9000,14000,20000,11,33844,0,0,0,0,0,2,0,0,0,0,0,0,0,"Marl Wormthorn - In Combat - Cast 'Entangling Roots'"), +(@ENTRY,0,3,0,2,0,100,0,0,40,19000,27000,11,12160,0,0,0,0,0,1,0,0,0,0,0,0,0,"Marl Wormthorn - Between 0-40% Health - Cast 'Rejuvenation'"); +-- Mojo the Twisted SAI +SET @ENTRY := 8296; +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,0,0,3400,4700,11,20298,64,0,0,0,0,2,0,0,0,0,0,0,0,"Mojo the Twisted - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,79954,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mojo the Twisted - Out of Combat - Cast 'Fel Armor'"), +(@ENTRY,0,2,0,2,0,100,1,0,30,0,0,11,31976,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mojo the Twisted - Between 0-30% Health - Cast 'Shadow Shield' (No Repeat)"); +-- Mordak Nightbender SAI +SET @ENTRY := 45257; +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,0,0,3400,4700,11,77722,64,0,0,0,0,2,0,0,0,0,0,0,0,"Mordak Nightbender - In Combat - Cast 'Void Whip'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,600000,600000,11,79934,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mordak Nightbender - Out of Combat - Cast 'Demon Armor'"), +(@ENTRY,0,2,0,0,0,100,0,8000,12000,19000,26000,11,79930,1,0,0,0,0,2,0,0,0,0,0,0,0,"Mordak Nightbender - In Combat - Cast 'Corruption'"), +(@ENTRY,0,3,0,2,0,100,0,0,40,14000,21000,11,84533,1,0,0,0,0,2,0,0,0,0,0,0,0,"Mordak Nightbender - Between 0-40% Health - Cast 'Drain Life'"); +-- Narixxus the Doombringer SAI +SET @ENTRY := 45262; +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,9,0,100,0,0,8,13600,14500,11,36255,0,0,0,0,0,1,0,0,0,0,0,0,0,"Narixxus the Doombringer - Within 0-8 Range - Cast 'Chaos Nova'"); +-- Nethergarde Defender SAI +SET @ENTRY := 51792; +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,4,0,100,1,0,0,0,0,11,6660,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Defender - On Aggro - Cast 'Shoot' (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,13500,11,57846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Defender - Within 0-5 Range - Cast 'Heroic Strike'"), +(@ENTRY,0,2,0,13,0,100,0,2000,4500,20000,30000,11,11972,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Defender - On Victim Casting 'Alexander's Test Periodic Aura' - Cast 'Shield Bash'"), +(@ENTRY,0,3,0,2,0,100,0,0,40,9000,11000,11,3248,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Defender - Between 0-40% Health - Cast 'Improved Blocking'"); +-- Nethergarde Defender SAI +SET @ENTRY := 41158; +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,4,0,100,1,0,0,0,0,11,6660,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Defender - On Aggro - Cast 'Shoot' (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,13500,11,57846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Defender - Within 0-5 Range - Cast 'Heroic Strike'"), +(@ENTRY,0,2,0,13,0,100,0,2000,4500,20000,30000,11,11972,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Defender - On Victim Casting 'Alexander's Test Periodic Aura' - Cast 'Shield Bash'"), +(@ENTRY,0,3,0,2,0,100,0,0,40,9000,11000,11,3248,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Defender - Between 0-40% Health - Cast 'Improved Blocking'"); +-- Nethergarde Engineer SAI +SET @ENTRY := 5997; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Engineer - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Engineer - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,5000,7000,12000,15000,11,79721,1,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Engineer - In Combat - Cast 'Explosive Shot'"), +(@ENTRY,0,3,0,0,0,100,0,8000,12000,22000,26000,11,79726,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Engineer - In Combat - Cast 'Ticking Time Bomb'"); +-- Nethergarde Footman SAI +SET @ENTRY := 45031; +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,9,0,100,0,0,5,12000,13500,11,57846,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Footman - Within 0-5 Range - Cast 'Heroic Strike'"), +(@ENTRY,0,1,0,13,0,100,0,2000,4500,20000,30000,11,11972,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Footman - On Victim Casting 'Alexander's Test Periodic Aura' - Cast 'Shield Bash'"), +(@ENTRY,0,2,0,2,0,100,0,0,40,9000,11000,11,3248,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Footman - Between 0-40% Health - Cast 'Improved Blocking'"); +-- Nethergarde Foreman SAI +SET @ENTRY := 5998; +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,9,0,100,0,0,8,14000,15000,11,81140,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Foreman - Within 0-8 Range - Cast 'Thunderclap'"), +(@ENTRY,0,1,0,0,0,100,0,2000,3000,18000,24000,11,5115,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Foreman - In Combat - Cast 'Battle Command'"); +-- Nethergarde Miner SAI +SET @ENTRY := 5996; +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,0,0,2300,3900,11,38557,64,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Miner - In Combat - Cast 'Throw'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nethergarde Miner - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,21000,26000,11,80382,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Miner - In Combat - Cast 'Dirt Toss'"), +(@ENTRY,0,3,0,9,0,100,0,0,5,12000,13000,11,6016,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nethergarde Miner - Within 0-5 Range - Cast 'Pierce Armor'"); +-- Oath-Chained Infernal SAI +SET @ENTRY := 41253; +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,4,0,100,1,0,0,0,0,11,84392,0,0,0,0,0,2,0,0,0,0,0,0,0,"Oath-Chained Infernal - On Aggro - Cast 'Fel Streak' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5000,8000,17000,22000,11,12743,0,0,0,0,0,1,0,0,0,0,0,0,0,"Oath-Chained Infernal - In Combat - Cast 'Immolation'"); +-- Okril'lon Defender SAI +SET @ENTRY := 51791; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,12000,12500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Cleave'"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,17000,22000,11,13737,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Mortal Strike'"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,28000,32000,11,81219,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Battle Shout'"); +-- Okril'lon Defender SAI +SET @ENTRY := 41138; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,12000,12500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Cleave'"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,17000,22000,11,13737,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Mortal Strike'"), +(@ENTRY,0,3,0,0,0,100,0,5000,5000,28000,32000,11,81219,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okril'lon Defender - In Combat - Cast 'Battle Shout'"); +-- Okril'lon Infantry SAI +SET @ENTRY := 42359; +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,2000,4500,12000,12500,11,15496,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Infantry - In Combat - Cast 'Cleave'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,17000,22000,11,13737,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Infantry - In Combat - Cast 'Mortal Strike'"), +(@ENTRY,0,2,0,0,0,100,0,5000,5000,28000,32000,11,81219,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okril'lon Infantry - In Combat - Cast 'Battle Shout'"); +-- Okril'lon Scout SAI +SET @ENTRY := 42228; +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,4,0,100,1,0,0,0,0,11,80149,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Scout - On Aggro - Cast 'Throw Axe' (No Repeat)"), +(@ENTRY,0,1,0,11,0,100,1,0,0,0,0,11,77806,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okril'lon Scout - On Respawn - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,2,0,7,0,100,1,0,0,0,0,11,77806,0,0,0,0,0,1,0,0,0,0,0,0,0,"Okril'lon Scout - On Evade - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,3,0,2,0,100,0,0,40,14000,14500,11,80576,0,0,0,0,0,2,0,0,0,0,0,0,0,"Okril'lon Scout - Between 0-40% Health - Cast 'Shadowstep'"); +-- Ravage SAI +SET @ENTRY := 8300; +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,9,0,100,1,0,20,0,0,11,82797,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ravage - Within 0-20 Range - Cast 'Leaping Bite' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4500,4500,18500,19200,11,7367,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ravage - In Combat - Cast 'Infected Bite'"), +(@ENTRY,0,2,0,0,0,50,0,7000,8000,10000,25000,11,13445,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ravage - In Combat - Cast 'Rend'"), +(@ENTRY,0,3,0,0,0,80,0,5000,9000,18000,21000,11,3149,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ravage - In Combat - Cast 'Furious Howl'"); +-- Razelikh the Defiler SAI +SET @ENTRY := 41280; +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,2,0,100,1,0,30,0,0,11,8269,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razelikh the Defiler - Between 0-30% Health - Cast 'Frenzy' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razelikh the Defiler - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,2,0,100,1,0,60,0,0,11,77374,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razelikh the Defiler - Between 0-60% Health - Cast 'Summon Minion' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,2000,4500,12000,14000,11,8255,0,0,0,0,0,2,0,0,0,0,0,0,0,"Razelikh the Defiler - In Combat - Cast 'Strong Cleave'"), +(@ENTRY,0,4,0,0,0,100,0,8000,11000,24000,28000,11,13459,0,0,0,0,0,2,0,0,0,0,0,0,0,"Razelikh the Defiler - In Combat - Cast 'Decimate'"); +-- NPC talk text insert +SET @ENTRY := 41280; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'combat Frenzy',2384); +-- Reassuring Nethergarde Foreman SAI +SET @ENTRY := 41171; +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,9,0,100,0,0,8,13600,14500,11,81140,0,0,0,0,0,1,0,0,0,0,0,0,0,"Reassuring Nethergarde Foreman - Within 0-8 Range - Cast 'Thunderclap'"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,12000,15000,11,5115,0,0,0,0,0,1,0,0,0,0,0,0,0,"Reassuring Nethergarde Foreman - In Combat - Cast 'Battle Command'"); +-- Redstone Basilisk SAI +SET @ENTRY := 5990; +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,3000,4500,14000,16000,11,83657,0,0,0,0,0,2,0,0,0,0,0,0,0,"Redstone Basilisk - In Combat - Cast 'Hellgaze'"), +(@ENTRY,0,1,0,0,0,100,0,6000,8000,22000,24000,11,77576,0,0,0,0,0,2,0,0,0,0,0,0,0,"Redstone Basilisk - In Combat - Cast 'Stone Breath'"); +-- Rofilian Dane SAI +SET @ENTRY := 41133; +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,11,0,100,1,0,0,0,0,11,58506,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rofilian Dane - On Respawn - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,1,0,7,0,100,1,0,0,0,0,11,58506,0,0,0,0,0,1,0,0,0,0,0,0,0,"Rofilian Dane - On Evade - Cast 'Stealth' (No Repeat)"); +-- Shadowsworn Adept SAI +SET @ENTRY := 6006; +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,0,0,3400,4700,11,77721,64,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Adept - In Combat - Cast 'Shadow Weave'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,13600,14500,11,75073,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Adept - Within 0-8 Range - Cast 'Shadow Nova'"), +(@ENTRY,0,2,0,2,0,100,1,0,30,0,0,11,77471,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Adept - Between 0-30% Health - Cast 'Shadow Shield' (No Repeat)"); +-- Shadowsworn Dreadweaver SAI +SET @ENTRY := 6009; +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,0,0,3400,4700,11,77722,64,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Dreadweaver - In Combat - Cast 'Void Whip'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,22000,11,79930,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Dreadweaver - In Combat - Cast 'Corruption'"), +(@ENTRY,0,2,0,1,0,100,0,500,1000,600000,600000,11,79930,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Dreadweaver - Out of Combat - Cast 'Corruption'"); +-- Shadowsworn Enforcer SAI +SET @ENTRY := 6007; +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,9,0,100,0,0,8,14000,16000,11,35373,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Enforcer - Within 0-8 Range - Cast 'Shadowfury'"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,12000,13000,11,32916,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Enforcer - In Combat - Cast 'Shadow Cleave'"); +-- Shadowsworn Obstructor SAI +SET @ENTRY := 41191; +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,2000,4500,18000,19000,11,77129,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Obstructor - In Combat - Cast 'Disrupt Ritual'"); +-- Shadowsworn Occultist SAI +SET @ENTRY := 42297; +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,2,0,100,1,0,30,0,0,11,84325,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Occultist - Between 0-30% Health - Cast 'Fel-Infused' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4000,6000,20000,25000,11,78904,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Occultist - In Combat - Cast 'Scorched Earth'"); +-- Shadowsworn Ritualist SAI +SET @ENTRY := 6004; +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,2,0,100,1,0,30,0,0,11,84325,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Ritualist - Between 0-30% Health - Cast 'Fel-Infused' (No Repeat)"); +-- Shadowsworn Spellblade SAI +SET @ENTRY := 42296; +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,2,0,100,1,0,30,0,0,11,84325,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Spellblade - Between 0-30% Health - Cast 'Fel-Infused' (No Repeat)"), +(@ENTRY,0,1,0,4,0,100,1,0,0,0,0,11,82635,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Spellblade - On Aggro - Cast 'Flaming Leap' (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4000,6000,20000,25000,11,78904,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Spellblade - In Combat - Cast 'Scorched Earth'"), +(@ENTRY,0,3,0,0,0,100,0,8000,11000,28000,33000,11,17277,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shadowsworn Spellblade - In Combat - Cast 'Blast Wave'"); +-- Shadowsworn Thug SAI +SET @ENTRY := 6005; +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,9,0,100,0,0,5,18000,22000,11,80182,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Thug - Within 0-5 Range - Cast 'Uppercut'"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,15000,15500,11,3148,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Thug - In Combat - Cast 'Head Crack'"); +-- Shadowsworn Warlock SAI +SET @ENTRY := 6008; +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,0,0,3400,4700,11,79939,64,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowsworn Warlock - In Combat - Cast 'Chaos Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,8000,9000,22000,27000,11,79955,1,0,0,0,0,5,0,0,0,0,0,0,0,"Shadowsworn Warlock - In Combat - Cast 'Rain of Fire'"); +-- Shahandana SAI +SET @ENTRY := 41165; +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,2000,4500,12000,13000,11,36040,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shahandana - In Combat - Cast 'Fel Flamestrike'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,22000,11,37629,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shahandana - In Combat - Cast 'Melt Flesh'"), +(@ENTRY,0,2,0,0,0,100,0,8000,14000,33000,36000,11,34017,0,0,0,0,0,5,0,0,0,0,0,0,0,"Shahandana - In Combat - Cast 'Rain of Chaos'"); +-- Snickerfang Hyena SAI +SET @ENTRY := 5985; +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,9,0,100,1,0,20,0,0,11,82797,0,0,0,0,0,2,0,0,0,0,0,0,0,"Snickerfang Hyena - Within 0-20 Range - Cast 'Leaping Bite' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4500,4500,18500,19200,11,7367,0,0,0,0,0,2,0,0,0,0,0,0,0,"Snickerfang Hyena - In Combat - Cast 'Infected Bite'"), +(@ENTRY,0,2,0,0,0,50,0,7000,8000,10000,25000,11,13445,0,0,0,0,0,2,0,0,0,0,0,0,0,"Snickerfang Hyena - In Combat - Cast 'Rend'"), +(@ENTRY,0,3,0,0,0,80,0,5000,9000,18000,21000,11,3149,0,0,0,0,0,1,0,0,0,0,0,0,0,"Snickerfang Hyena - In Combat - Cast 'Furious Howl'"); +-- Spirit of Grol SAI +SET @ENTRY := 41267; +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,9,0,100,0,0,5,18000,22000,11,80182,0,0,0,0,0,2,0,0,0,0,0,0,0,"Spirit of Grol - Within 0-5 Range - Cast 'Uppercut'"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,25000,25000,11,16555,0,0,0,0,0,2,0,0,0,0,0,0,0,"Spirit of Grol - In Combat - Cast 'Drowning Death'"), +(@ENTRY,0,2,0,2,0,100,0,0,35,8000,11000,11,84310,0,0,0,0,0,1,0,0,0,0,0,0,0,"Spirit of Grol - Between 0-35% Health - Cast 'Bloodlust'"); +-- Spiteflayer SAI +SET @ENTRY := 8299; +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,4,0,100,1,0,0,0,0,11,66060,0,0,0,0,0,1,0,0,0,0,0,0,0,"Spiteflayer - On Aggro - Cast 'Sprint' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,12000,14000,11,37945,0,0,0,0,0,2,0,0,0,0,0,0,0,"Spiteflayer - In Combat - Cast 'Fel Fireball'"); +-- Surwich Warden SAI +SET @ENTRY := 51542; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Surwich Warden - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,9000,11000,11,40505,0,0,0,0,0,2,0,0,0,0,0,0,0,"Surwich Warden - Within 0-5 Range - Cast 'Cleave'"); +-- Tainted Black Bear SAI +SET @ENTRY := 42336; +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,4,0,100,1,0,0,0,0,11,75002,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tainted Black Bear - On Aggro - Cast 'Leaping Rush' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,3500,4500,60000,65000,11,84497,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tainted Black Bear - In Combat - Cast 'Feltaint'"); +-- Tainted Nightstalker SAI +SET @ENTRY := 42337; +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,3500,4500,60000,65000,11,84497,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tainted Nightstalker - In Combat - Cast 'Feltaint'"); +-- Tainted Screecher SAI +SET @ENTRY := 42338; +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,3500,4500,60000,65000,11,84497,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tainted Screecher - In Combat - Cast 'Feltaint'"), +(@ENTRY,0,1,0,2,0,100,0,0,40,9000,9000,11,54663,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tainted Screecher - Between 0-40% Health - Cast 'Fatal Bite'"); +-- Tak'arili SAI +SET @ENTRY := 41134; +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,11,0,100,1,0,0,0,0,11,58506,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tak'arili - On Respawn - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,1,0,7,0,100,1,0,0,0,0,11,58506,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tak'arili - On Evade - Cast 'Stealth' (No Repeat)"); +-- Teremus the Devourer SAI +SET @ENTRY := 7846; +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,9,0,100,0,0,5,13600,14500,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0,"Teremus the Devourer - Within 0-5 Range - Cast 'Cleave'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,19000,24000,11,9573,0,0,0,0,0,2,0,0,0,0,0,0,0,"Teremus the Devourer - In Combat - Cast 'Flame Breath'"), +(@ENTRY,0,2,0,0,0,100,0,4000,5000,15000,15500,11,11130,0,0,0,0,0,2,0,0,0,0,0,0,0,"Teremus the Devourer - In Combat - Cast 'Knock Away'"), +(@ENTRY,0,3,0,2,0,100,0,0,60,26000,29000,11,12667,0,0,0,0,0,1,0,0,0,0,0,0,0,"Teremus the Devourer - Between 0-60% Health - Cast 'Soul Consumption'"); diff --git a/sql/updates/world/2015_07_28_07_world.sql b/sql/updates/world/2015_07_28_07_world.sql new file mode 100644 index 00000000000..8c6f0710d18 --- /dev/null +++ b/sql/updates/world/2015_07_28_07_world.sql @@ -0,0 +1,341 @@ +-- +-- DB/SAI: Update Searing Gorge +-- Anvilrage Taskmaster SAI +SET @ENTRY := 24818; +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,9,0,100,0,0,5,11000,12000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Anvilrage Taskmaster - Within 0-5 Range - Cast 'Strike'"), +(@ENTRY,0,1,0,11,0,100,1,0,0,0,0,11,13589,0,0,0,0,0,1,0,0,0,0,0,0,0,"Anvilrage Taskmaster - On Respawn - Cast 'Haste Aura' (No Repeat)"); +-- Archduke Calcinder SAI +SET @ENTRY := 47462; +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,9,0,100,0,0,8,13600,14500,11,11970,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archduke Calcinder - Within 0-8 Range - Cast 'Fire Nova'"), +(@ENTRY,0,1,0,0,0,100,0,8000,9000,22000,26000,11,80549,0,0,0,0,0,2,0,0,0,0,0,0,0,"Archduke Calcinder - In Combat - Cast 'Gout of Flame'"), +(@ENTRY,0,2,0,0,0,100,0,12000,14000,33000,35000,11,75068,0,0,0,0,0,2,0,0,0,0,0,0,0,"Archduke Calcinder - In Combat - Cast 'Lava Burst'"), +(@ENTRY,0,3,0,0,0,100,0,2000,4000,13000,16000,11,35377,0,0,0,0,0,2,0,0,0,0,0,0,0,"Archduke Calcinder - In Combat - Cast 'Scorch'"); +-- Cauldron Defender SAI +SET @ENTRY := 47470; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Cauldron Defender - In Combat - Cast 'Shoot'"); +-- Chambermaid Pillaclencher SAI +SET @ENTRY := 14636; +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,4,0,100,1,0,0,0,0,11,23416,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chambermaid Pillaclencher - On Aggro - Cast 'Pillow Fight' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4000,4500,14000,16500,11,23417,0,0,0,0,0,2,0,0,0,0,0,0,0,"Chambermaid Pillaclencher - In Combat - Cast 'Smother'"); +-- Dark Blacksmith SAI +SET @ENTRY := 47535; +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,2000,4500,12000,15000,11,11977,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Blacksmith - In Combat - Cast 'Rend'"), +(@ENTRY,0,1,0,9,0,100,0,0,20,5000,7000,11,6533,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Blacksmith - Within 0-20 Range - Cast 'Net'"); +-- Dark Iron Digmaster SAI +SET @ENTRY := 47533; +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,5000,7000,18000,20000,11,5115,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Iron Digmaster - In Combat - Cast 'Battle Command'"); +-- Dark Iron Excavator SAI +SET @ENTRY := 47276; +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,2000,4500,9000,12000,11,9053,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Excavator - In Combat - Cast 'Fireball'"), +(@ENTRY,0,1,0,9,0,100,0,5,30,13000,14500,11,8858,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Excavator - Within 5-30 Range - Cast 'Bomb'"); +-- Dark Iron Footman SAI +SET @ENTRY := 47275; +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,9,0,100,0,0,5,11000,12000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Footman - Within 0-5 Range - Cast 'Strike'"); +-- Dark Iron Geologist SAI +SET @ENTRY := 5839; +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,2000,4500,9000,12000,11,9053,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Geologist - In Combat - Cast 'Fireball'"), +(@ENTRY,0,1,0,9,0,100,0,5,30,13000,14500,11,8858,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Geologist - Within 5-30 Range - Cast 'Bomb'"); +-- Dark Iron Lookout SAI +SET @ENTRY := 8566; +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,0,0,2300,3900,11,88445,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Lookout - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Iron Lookout - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,5,15000,17000,11,32915,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Lookout - Within 0-5 Range - Cast 'Raptor Strike'"), +(@ENTRY,0,3,0,0,0,100,0,8000,11000,17000,25000,11,14443,1,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Lookout - In Combat - Cast 'Multi-Shot'"); +-- Dark Iron Marksman SAI +SET @ENTRY := 8338; +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,0,0,2300,3900,11,88445,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Marksman - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,1,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Iron Marksman - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,5,15000,17000,11,32915,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Marksman - Within 0-5 Range - Cast 'Raptor Strike'"), +(@ENTRY,0,3,0,0,0,100,0,8000,11000,17000,25000,11,14443,1,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Marksman - In Combat - Cast 'Multi-Shot'"); +-- Dark Iron Slaver SAI +SET @ENTRY := 5844; +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,2000,4500,12000,15000,11,11977,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Slaver - In Combat - Cast 'Rend'"), +(@ENTRY,0,1,0,9,0,100,0,0,20,5000,7000,11,6533,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Slaver - Within 0-20 Range - Cast 'Net'"); +-- Dark Iron Steamsmith SAI +SET @ENTRY := 5840; +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,5000,7000,15000,20000,11,11983,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Iron Steamsmith - In Combat - Cast 'Steam Jet'"); +-- Dark Iron Taskmaster SAI +SET @ENTRY := 5846; +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,4,0,100,1,0,0,0,0,11,22120,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Taskmaster - On Aggro - Cast 'Charge' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5000,7000,120000,125000,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Iron Taskmaster - In Combat - Cast 'Battle Shout'"); +-- Dark Iron Watchman SAI +SET @ENTRY := 8637; +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,9,0,100,0,0,5,11000,12000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Iron Watchman - Within 0-5 Range - Cast 'Strike'"); +-- Dig-Boss Dinwhisker SAI +SET @ENTRY := 47271; +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,4,0,100,1,0,0,0,0,11,22120,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dig-Boss Dinwhisker - On Aggro - Cast 'Charge' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5000,7000,120000,125000,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dig-Boss Dinwhisker - In Combat - Cast 'Battle Shout'"); +-- Glassweb Spider SAI +SET @ENTRY := 5856; +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,4500,16000,20000,11,744,0,0,0,0,0,2,0,0,0,0,0,0,0,"Glassweb Spider - In Combat - Cast 'Poison'"), +(@ENTRY,0,1,0,9,0,100,0,0,20,8000,9000,11,745,0,0,0,0,0,2,0,0,0,0,0,0,0,"Glassweb Spider - Within 0-20 Range - Cast 'Web'"); +-- Gravius Grimesilt SAI +SET @ENTRY := 47270; +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,4,0,100,1,0,0,0,0,11,22120,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gravius Grimesilt - On Aggro - Cast 'Charge' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5000,7000,120000,125000,11,32064,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gravius Grimesilt - In Combat - Cast 'Battle Shout'"), +(@ENTRY,0,2,0,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gravius Grimesilt - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gravius Grimesilt - Between 0-30% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 47270; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Greater Lava Spider SAI +SET @ENTRY := 5858; +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,2000,4500,9000,11000,11,11985,0,0,0,0,0,2,0,0,0,0,0,0,0,"Greater Lava Spider - In Combat - Cast 'Fireball'"); +-- Heavy War Golem SAI +SET @ENTRY := 5854; +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,5000,6000,18000,20000,11,5568,0,0,0,0,0,1,0,0,0,0,0,0,0,"Heavy War Golem - In Combat - Cast 'Trample'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,25000,27000,11,12612,0,0,0,0,0,1,0,0,0,0,0,0,0,"Heavy War Golem - Within 0-8 Range - Cast 'Stomp'"); +-- Highlord Mastrogonde SAI +SET @ENTRY := 8282; +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,0,0,3400,4700,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Highlord Mastrogonde - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,25000,28000,11,13323,1,0,0,0,0,5,0,0,0,0,0,0,0,"Highlord Mastrogonde - In Combat - Cast 'Polymorph'"), +(@ENTRY,0,2,0,0,0,100,0,4000,12000,16000,22000,11,11639,1,0,0,0,0,2,0,0,0,0,0,0,0,"Highlord Mastrogonde - In Combat - Cast 'Shadow Word: Pain'"), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,11,11974,0,0,0,0,0,1,0,0,0,0,0,0,0,"Highlord Mastrogonde - Between 0-30% Health - Cast 'Power Word: Shield' (No Repeat)"); +-- Incendosaur SAI +SET @ENTRY := 9318; +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,3000,4500,12000,16000,11,9573,0,0,0,0,0,2,0,0,0,0,0,0,0,"Incendosaur - In Combat - Cast 'Flame Breath'"); +-- Inferno Elemental SAI +SET @ENTRY := 5852; +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,6000,9000,16500,22000,11,10733,0,0,0,0,0,2,0,0,0,0,0,0,0,"Inferno Elemental - In Combat - Cast 'Flame Spray'"); +-- Iron Summit Guard SAI +SET @ENTRY := 47434; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Iron Summit Guard - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Iron Summit Guard - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,20,8000,9000,11,12024,0,0,0,0,0,2,0,0,0,0,0,0,0,"Iron Summit Guard - Within 0-20 Range - Cast 'Net'"); +-- Lathoric the Black SAI +SET @ENTRY := 8391; +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,0,0,3400,4700,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Lathoric the Black - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,15000,17000,11,32063,0,0,0,0,0,2,0,0,0,0,0,0,0,"Lathoric the Black - In Combat - Cast 'Corruption'"); +-- Magma Elemental SAI +SET @ENTRY := 5855; +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,9,0,100,0,0,8,13600,14500,11,11970,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magma Elemental - Within 0-8 Range - Cast 'Fire Nova'"); +-- Margol the Rager SAI +SET @ENTRY := 5833; +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,9,0,100,0,0,8,16000,18000,11,8147,0,0,0,0,0,1,0,0,0,0,0,0,0,"Margol the Rager - Within 0-8 Range - Cast 'Thunderclap'"), +(@ENTRY,0,1,0,0,0,100,0,3000,3800,12000,13000,11,15549,0,0,0,0,0,2,0,0,0,0,0,0,0,"Margol the Rager - In Combat - Cast 'Chained Bolt'"); +-- Minister Finister SAI +SET @ENTRY := 47311; +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,2000,4500,12000,13000,11,13878,0,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Finister - In Combat - Cast 'Scorch'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,17000,22000,11,10452,0,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Finister - In Combat - Cast 'Flame Buffet'"), +(@ENTRY,0,2,0,0,0,100,0,3000,12000,25000,29000,11,78906,0,0,0,0,0,1,0,0,0,0,0,0,0,"Minister Finister - In Combat - Cast 'Goblin Orderly'"); +-- Minister Kiyuubi SAI +SET @ENTRY := 47309; +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,0,0,3400,4700,11,9672,64,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Kiyuubi - In Combat - Cast 'Frostbolt'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,13600,14500,11,79850,0,0,0,0,0,1,0,0,0,0,0,0,0,"Minister Kiyuubi - Within 0-8 Range - Cast 'Frost Nova'"), +(@ENTRY,0,2,0,0,0,100,0,5000,9000,19000,25000,11,49906,0,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Kiyuubi - In Combat - Cast 'Ice Lance'"); +-- Minister Letherio SAI +SET @ENTRY := 47310; +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,0,0,3400,4700,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Letherio - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,7000,12000,19000,22000,11,18266,0,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Letherio - In Combat - Cast 'Curse of Agony'"), +(@ENTRY,0,2,0,2,0,100,0,0,40,14000,21000,11,84533,1,0,0,0,0,2,0,0,0,0,0,0,0,"Minister Letherio - Between 0-40% Health - Cast 'Drain Life'"); +-- Obsidion SAI +SET @ENTRY := 8400; +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,5000,8000,18000,20000,11,84165,0,0,0,0,0,2,0,0,0,0,0,0,0,"Obsidion - In Combat - Cast 'Flame Blast'"); +-- Overseer Maltorius SAI +SET @ENTRY := 14621; +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,0,0,3400,4700,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Overseer Maltorius - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,25000,28000,11,13323,1,0,0,0,0,5,0,0,0,0,0,0,0,"Overseer Maltorius - In Combat - Cast 'Polymorph'"), +(@ENTRY,0,2,0,0,0,100,0,4000,12000,16000,22000,11,11639,1,0,0,0,0,2,0,0,0,0,0,0,0,"Overseer Maltorius - In Combat - Cast 'Shadow Word: Pain'"), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,11,11974,0,0,0,0,0,1,0,0,0,0,0,0,0,"Overseer Maltorius - Between 0-30% Health - Cast 'Power Word: Shield' (No Repeat)"); +-- Rasha'krak SAI +SET @ENTRY := 47553; +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,6000,9000,16500,22000,11,10733,0,0,0,0,0,2,0,0,0,0,0,0,0,"Rasha'krak - In Combat - Cast 'Flame Spray'"); +-- Rekk'tilac SAI +SET @ENTRY := 8277; +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,2000,3500,16000,18000,11,3583,0,0,0,0,0,2,0,0,0,0,0,0,0,"Rekk'tilac - In Combat - Cast 'Deadly Poison'"); +-- Scald SAI +SET @ENTRY := 8281; +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,3000,4500,15000,16000,11,11962,0,0,0,0,0,2,0,0,0,0,0,0,0,"Scald - In Combat - Cast 'Immolate'"); +-- Searing Flamewraith SAI +SET @ENTRY := 47463; +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,6000,9000,16500,22000,11,10733,0,0,0,0,0,2,0,0,0,0,0,0,0,"Searing Flamewraith - In Combat - Cast 'Flame Spray'"); +-- Shleipnarr SAI +SET @ENTRY := 8280; +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,4500,12000,13000,11,13321,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shleipnarr - In Combat - Cast 'Mana Burn'"), +(@ENTRY,0,1,0,0,0,100,0,7000,10000,25000,32000,11,7399,0,0,0,0,0,2,0,0,0,0,0,0,0,"Shleipnarr - In Combat - Cast 'Terrify'"); +-- Slave Master Blackheart SAI +SET @ENTRY := 8283; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Slave Master Blackheart - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Slave Master Blackheart - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,20,8000,9000,11,6533,0,0,0,0,0,2,0,0,0,0,0,0,0,"Slave Master Blackheart - Within 0-20 Range - Cast 'Net'"); +-- Slave Worker SAI +SET @ENTRY := 5843; +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,2000,4500,11000,12000,11,11971,0,0,0,0,0,2,0,0,0,0,0,0,0,"Slave Worker - In Combat - Cast 'Sunder Armor'"); +-- Smoldar SAI +SET @ENTRY := 8278; +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,3500,4500,17500,19500,11,5213,0,0,0,0,0,2,0,0,0,0,0,0,0,"Smoldar - In Combat - Cast 'Molten Metal'"); +-- Tempered War Golem SAI +SET @ENTRY := 5853; +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,5000,8000,18000,20000,11,84165,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tempered War Golem - In Combat - Cast 'Flame Blast'"); +-- Thorium Brotherhood Lookout SAI +SET @ENTRY := 14622; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Thorium Brotherhood Lookout - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorium Brotherhood Lookout - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,20,8000,9000,11,6533,0,0,0,0,0,2,0,0,0,0,0,0,0,"Thorium Brotherhood Lookout - Within 0-20 Range - Cast 'Net'"); +-- Twilight Dark Shaman SAI +SET @ENTRY := 5860; +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,0,0,3400,4700,11,34345,64,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Dark Shaman - In Combat - Cast 'Lightning Bolt'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Dark Shaman - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,14,0,100,0,650,40,15000,18000,11,11986,0,0,0,0,0,7,0,0,0,0,0,0,0,"Twilight Dark Shaman - Friendly At 650 Health - Cast 'Healing Wave'"); +-- Twilight Fire Guard SAI +SET @ENTRY := 5861; +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,2000,3000,12000,13000,11,80561,0,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Fire Guard - In Combat - Cast 'Flame Edge'"), +(@ENTRY,0,1,0,4,0,100,1,0,0,0,0,11,18968,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Fire Guard - On Aggro - Cast 'Fire Shield' (No Repeat)"); +-- Twilight Geomancer SAI +SET @ENTRY := 5862; +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,0,0,3400,4700,11,9053,64,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Geomancer - In Combat - Cast 'Fireball'"), +(@ENTRY,0,1,2,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Geomancer - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,7000,9000,22000,26000,11,11990,1,0,0,0,0,5,0,0,0,0,0,0,0,"Twilight Geomancer - In Combat - Cast 'Rain of Fire'"), +(@ENTRY,0,3,0,0,0,100,0,5000,11000,17000,19000,11,80117,0,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Geomancer - In Combat - Cast 'Earth Spike'"); +-- Twilight Idolater SAI +SET @ENTRY := 8419; +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,0,0,3400,4700,11,9053,64,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Idolater - In Combat - Cast 'Fireball'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight Idolater - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,24000,26000,11,11962,0,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight Idolater - In Combat - Cast 'Immolate'"); +-- Twilight-Lord Arkkus SAI +SET @ENTRY := 47460; +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,2000,3000,12000,13000,11,80561,0,0,0,0,0,2,0,0,0,0,0,0,0,"Twilight-Lord Arkkus - In Combat - Cast 'Flame Edge'"), +(@ENTRY,0,1,0,4,0,100,1,0,0,0,0,11,18968,0,0,0,0,0,1,0,0,0,0,0,0,0,"Twilight-Lord Arkkus - On Aggro - Cast 'Fire Shield' (No Repeat)"); diff --git a/sql/updates/world/2015_07_28_08_world.sql b/sql/updates/world/2015_07_28_08_world.sql new file mode 100644 index 00000000000..14d3559c94a --- /dev/null +++ b/sql/updates/world/2015_07_28_08_world.sql @@ -0,0 +1,569 @@ +-- +-- DB/SAI: Update Silverpine Forest +-- 7th Legion Scout SAI +SET @ENTRY := 45883; +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,11,0,100,1,0,0,0,0,11,84442,0,0,0,0,0,1,0,0,0,0,0,0,0,"7th Legion Scout - On Respawn - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,1,0,7,0,100,1,0,0,0,0,11,84442,0,0,0,0,0,1,0,0,0,0,0,0,0,"7th Legion Scout - On Evade - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,2,0,67,0,100,0,9000,12000,0,0,11,79862,0,0,0,0,0,2,0,0,0,0,0,0,0,"7th Legion Scout - On Behind Target - Cast 'Backstab'"), +(@ENTRY,0,3,0,9,0,100,0,0,12,13600,14500,11,79584,0,0,0,0,0,1,0,0,0,0,0,0,0,"7th Legion Scout - Within 0-12 Range - Cast 'Fan of Knives'"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,11,80576,0,0,0,0,0,2,0,0,0,0,0,0,0,"7th Legion Scout - Between 0-30% Health - Cast 'Shadowstep' (No Repeat)"); +-- 7th Legion Scout SAI +SET @ENTRY := 46040; +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,11,0,100,1,0,0,0,0,11,84442,0,0,0,0,0,1,0,0,0,0,0,0,0,"7th Legion Scout - On Respawn - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,1,0,7,0,100,1,0,0,0,0,11,84442,0,0,0,0,0,1,0,0,0,0,0,0,0,"7th Legion Scout - On Evade - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,2,0,67,0,100,0,9000,12000,0,0,11,79862,0,0,0,0,0,2,0,0,0,0,0,0,0,"7th Legion Scout - On Behind Target - Cast 'Backstab'"), +(@ENTRY,0,3,0,9,0,100,0,0,12,13600,14500,11,79584,0,0,0,0,0,1,0,0,0,0,0,0,0,"7th Legion Scout - Within 0-12 Range - Cast 'Fan of Knives'"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,11,80576,0,0,0,0,0,2,0,0,0,0,0,0,0,"7th Legion Scout - Between 0-30% Health - Cast 'Shadowstep' (No Repeat)"); +-- 7th Legion Submariner SAI +SET @ENTRY := 46065; +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,0,0,2300,3900,11,86249,64,0,0,0,0,2,0,0,0,0,0,0,0,"7th Legion Submariner - In Combat - Cast 'Throw'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,17000,11,81087,0,0,0,0,0,2,0,0,0,0,0,0,0,"7th Legion Submariner - Within 0-5 Range - Cast 'Puncture Wound'"); +-- Abomination SAI +SET @ENTRY := 46058; +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,9,0,100,0,8,40,17000,19000,11,50335,0,0,0,0,0,2,0,0,0,0,0,0,0,"Abomination - Within 8-40 Range - Cast 'Scourge Hook'"), +(@ENTRY,0,1,0,0,0,100,0,4000,5000,12000,15000,11,40504,0,0,0,0,0,2,0,0,0,0,0,0,0,"Abomination - In Combat - Cast 'Cleave'"); +-- Ambermill Brewmaster SAI +SET @ENTRY := 3577; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Brewmaster - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,2000,4500,15000,20000,11,37591,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ambermill Brewmaster - In Combat - Cast 'Drunken Haze'"); +-- Ambermill Magister SAI +SET @ENTRY := 1914; +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,0,0,2000,3200,11,13878,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ambermill Magister - In Combat - Cast 'Scorch'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Magister - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,7000,9000,17000,22000,11,79856,1,0,0,0,0,2,0,0,0,0,0,0,0,"Ambermill Magister - In Combat - Cast 'Flamestrike'"); +-- Ambermill Miner SAI +SET @ENTRY := 3578; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Miner - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,2000,3000,12000,14500,11,39214,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ambermill Miner - In Combat - Cast 'Pierce Armor'"); +-- Ambermill Portal Guardian SAI +SET @ENTRY := 45753; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Portal Guardian - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,5000,8000,60000,65000,11,87191,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Portal Guardian - In Combat - Cast 'Mana Shield'"); +-- Ambermill Warder SAI +SET @ENTRY := 1913; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Warder - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,6000,6000,18000,22000,11,3248,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Warder - In Combat - Cast 'Improved Blocking'"), +(@ENTRY,0,2,0,0,0,100,0,12000,15000,30000,32000,11,86817,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Warder - In Combat - Cast 'Spell Ward'"); +-- Ambermill Watcher SAI +SET @ENTRY := 1888; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Watcher - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4000,5000,15000,17000,11,17140,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ambermill Watcher - In Combat - Cast 'Holy Fire'"), +(@ENTRY,0,2,0,2,0,100,0,0,40,15000,21000,11,11640,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Watcher - Between 0-40% Health - Cast 'Renew'"), +(@ENTRY,0,3,0,14,0,100,0,150,40,15000,18000,11,11640,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ambermill Watcher - Friendly At 150 Health - Cast 'Renew'"), +(@ENTRY,0,4,0,1,0,100,0,500,1000,1800000,1800000,11,48168,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Watcher - Out of Combat - Cast 'Inner Fire'"); +-- Ambermill Witchalok SAI +SET @ENTRY := 1889; +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,0,0,2300,3900,11,87222,64,0,0,0,0,2,0,0,0,0,0,0,0,"Ambermill Witchalok - In Combat - Cast 'Throw Witchalok Blade'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Witchalok - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,0,0,50,1,8000,8000,0,0,11,87225,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Witchalok - In Combat - Cast 'Summon Doomskull' (No Repeat)"), +(@ENTRY,0,3,0,0,0,50,1,8000,8000,0,0,11,87224,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ambermill Witchalok - In Combat - Cast 'Summon Wolfoids' (No Repeat)"); +-- Aquarius the Unbound SAI +SET @ENTRY := 47009; +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,2000,4500,12000,15000,11,81167,0,0,0,0,0,2,0,0,0,0,0,0,0,"Aquarius the Unbound - In Combat - Cast 'Ice Lance'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,1800000,1800000,11,79865,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aquarius the Unbound - Out of Combat - Cast 'Frost Armor'"), +(@ENTRY,0,2,0,9,0,100,0,0,8,13600,14500,11,79850,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aquarius the Unbound - Within 0-8 Range - Cast 'Frost Nova'"); +-- Arcane Fiend SAI +SET @ENTRY := 45766; +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,6,0,100,1,0,0,0,0,11,87249,3,0,0,0,0,1,0,0,0,0,0,0,0,"Arcane Fiend - On Just Died - Cast 'Arcane Expulsion' (No Repeat)"); +-- Berard the Moon-Crazed SAI +SET @ENTRY := 46992; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Berard the Moon-Crazed - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Berard the Moon-Crazed - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,11,0,100,1,0,0,0,0,11,86237,0,0,0,0,0,1,0,0,0,0,0,0,0,"Berard the Moon-Crazed - On Respawn - Cast 'Stalking' (No Repeat)"), +(@ENTRY,0,3,0,7,0,100,1,0,0,0,0,11,86237,0,0,0,0,0,1,0,0,0,0,0,0,0,"Berard the Moon-Crazed - On Evade - Cast 'Stalking' (No Repeat)"), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,11,79864,0,0,0,0,0,2,0,0,0,0,0,0,0,"Berard the Moon-Crazed - Between 0-30% Health - Cast 'Shadowstep' (No Repeat)"), +(@ENTRY,0,5,0,0,0,100,0,3000,4500,12000,15000,11,60195,0,0,0,0,0,2,0,0,0,0,0,0,0,"Berard the Moon-Crazed - In Combat - Cast 'Sinister Strike'"); +-- NPC talk text insert +SET @ENTRY := 46992; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Berserker SAI +SET @ENTRY := 46050; +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,2,0,100,1,0,30,0,0,11,63227,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Berserker - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Berserker - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4000,7000,18000,20000,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Berserker - In Combat - Cast 'Slam'"); +-- NPC talk text insert +SET @ENTRY := 46050; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Berserker SAI +SET @ENTRY := 45860; +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,2,0,100,1,0,30,0,0,11,63227,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Berserker - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Berserker - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4000,7000,18000,20000,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Berserker - In Combat - Cast 'Slam'"); +-- NPC talk text insert +SET @ENTRY := 45860; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Bloodfang Scavenger SAI +SET @ENTRY := 44547; +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,6000,25000,30000,11,84308,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Scavenger - In Combat - Cast 'Furious Howl'"), +(@ENTRY,0,1,0,9,0,100,0,0,30,14000,15000,11,78509,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Scavenger - Within 0-30 Range - Cast 'Torch Toss'"); +-- Bloodfang Scavenger SAI +SET @ENTRY := 44549; +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,6000,25000,30000,11,84308,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Scavenger - In Combat - Cast 'Furious Howl'"), +(@ENTRY,0,1,0,9,0,100,0,0,30,14000,15000,11,78509,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Scavenger - Within 0-30 Range - Cast 'Torch Toss'"); +-- Bloodfang Stalker SAI +SET @ENTRY := 45195; +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,11,0,100,1,0,0,0,0,11,86237,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Stalker - On Respawn - Cast 'Stalking' (No Repeat)"), +(@ENTRY,0,1,0,7,0,100,1,0,0,0,0,11,86237,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Stalker - On Evade - Cast 'Stalking' (No Repeat)"), +(@ENTRY,0,2,0,2,0,100,1,0,30,0,0,11,79864,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Stalker - Between 0-30% Health - Cast 'Shadowstep' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,3000,4500,12000,15000,11,60195,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Stalker - In Combat - Cast 'Sinister Strike'"); +-- Bolgaff SAI +SET @ENTRY := 47003; +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,0,0,2300,3900,11,87603,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bolgaff - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,7000,8000,15000,20000,11,79721,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bolgaff - In Combat - Cast 'Explosive Shot'"), +(@ENTRY,0,2,0,0,0,100,0,9000,12000,22000,25000,11,23601,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bolgaff - In Combat - Cast 'Scatter Shot'"); +-- Caretaker Smithers SAI +SET @ENTRY := 45219; +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,2,0,100,1,0,30,0,0,11,81173,0,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Smithers - Between 0-30% Health - Cast 'Frenzy' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Smithers - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,4,0,100,1,0,0,0,0,11,81764,0,0,0,0,0,2,0,0,0,0,0,0,0,"Caretaker Smithers - On Aggro - Cast 'Throw Lantern' (No Repeat)"), +(@ENTRY,0,3,0,0,0,100,0,4000,8000,15000,17500,11,81767,0,0,0,0,0,2,0,0,0,0,0,0,0,"Caretaker Smithers - In Combat - Cast 'Lantern Blaze'"); +-- NPC talk text insert +SET @ENTRY := 45219; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'combat Frenzy',2384); +-- Dark Ranger SAI +SET @ENTRY := 44632; +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,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Ranger - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,6000,9000,18000,22000,11,80009,0,0,0,0,0,2,0,0,0,0,0,0,0,"Dark Ranger - In Combat - Cast 'Serpent Sting'"), +(@ENTRY,0,2,0,9,0,100,0,0,5,66000,67000,11,22910,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dark Ranger - Within 0-5 Range - Cast 'Immolation Trap'"); +-- Darktusk Boar SAI +SET @ENTRY := 46575; +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,4,0,100,1,0,0,0,0,11,6268,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darktusk Boar - On Aggro - Cast 'Rushing Charge' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,0,0,40,22000,25000,11,84873,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darktusk Boar - Between 0-40% Health - Cast 'Wallow'"); +-- Deathguard Elite SAI +SET @ENTRY := 51858; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Deathguard Elite - In Combat - Cast 'Shoot'"); +-- Deathguard Elite SAI +SET @ENTRY := 51854; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Deathguard Elite - In Combat - Cast 'Shoot'"); +-- Dreadguard SAI +SET @ENTRY := 44911; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadguard - In Combat - Cast 'Shoot'"); +-- Dreadguard SAI +SET @ENTRY := 51855; +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,0,0,2300,3900,11,95826,64,0,0,0,0,2,0,0,0,0,0,0,0,"Dreadguard - In Combat - Cast 'Shoot'"); +-- Dwarven Infantry SAI +SET @ENTRY := 45855; +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,9,0,100,0,0,8,15000,18000,11,17207,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dwarven Infantry - Within 0-8 Range - Cast 'Whirlwind'"), +(@ENTRY,0,1,0,0,0,100,0,9000,15000,25000,28000,11,7020,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dwarven Infantry - In Combat - Cast 'Stoneform'"); +-- Dwarven Infantry SAI +SET @ENTRY := 46039; +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,9,0,100,0,0,8,15000,18000,11,17207,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dwarven Infantry - Within 0-8 Range - Cast 'Whirlwind'"), +(@ENTRY,0,1,0,0,0,100,0,9000,15000,25000,28000,11,7020,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dwarven Infantry - In Combat - Cast 'Stoneform'"); +-- Effritus SAI +SET @ENTRY := 47012; +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,2,0,100,1,0,30,0,0,11,81173,0,0,0,0,0,1,0,0,0,0,0,0,0,"Effritus - Between 0-30% Health - Cast 'Frenzy' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Effritus - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,2,0,100,0,0,50,14000,21000,11,28995,0,0,0,0,0,1,0,0,0,0,0,0,0,"Effritus - Between 0-50% Health - Cast 'Stoneskin'"); +-- NPC talk text insert +SET @ENTRY := 47012; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'combat Frenzy',2384); +-- Elemental Servitor SAI +SET @ENTRY := 45711; +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,6000,12000,13000,11,81167,0,0,0,0,0,2,0,0,0,0,0,0,0,"Elemental Servitor - In Combat - Cast 'Ice Lance'"); +-- Fenwick Thatros SAI +SET @ENTRY := 47008; +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,2,0,100,1,0,30,0,0,11,54633,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fenwick Thatros - Between 0-30% Health - Cast 'Drink Healing Potion' (No Repeat)"), +(@ENTRY,0,1,0,4,0,50,1,0,0,0,0,11,80472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fenwick Thatros - On Aggro - Cast 'Elixir of Agility' (No Repeat)"), +(@ENTRY,0,2,0,4,0,50,1,0,0,0,0,11,80471,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fenwick Thatros - On Aggro - Cast 'Potion of Strength' (No Repeat)"), +(@ENTRY,0,3,0,4,0,50,1,0,0,0,0,11,80473,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fenwick Thatros - On Aggro - Cast 'Tonic of Health' (No Repeat)"); +-- Ferocious Grizzled Bear SAI +SET @ENTRY := 1778; +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,2000,4500,12000,15000,11,31279,0,0,0,0,0,2,0,0,0,0,0,0,0,"Ferocious Grizzled Bear - In Combat - Cast 'Swipe'"), +(@ENTRY,0,1,0,2,0,100,1,0,45,0,0,11,84868,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ferocious Grizzled Bear - Between 0-45% Health - Cast 'Hibernate' (No Repeat)"); +-- Forest Ettin SAI +SET @ENTRY := 44367; +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,5000,7000,17000,22000,11,80146,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forest Ettin - In Combat - Cast 'Bonk'"), +(@ENTRY,0,1,0,0,0,100,0,12000,15000,28000,35000,11,88421,0,0,0,0,0,1,0,0,0,0,0,0,0,"Forest Ettin - In Combat - Cast 'Log Smash'"); +-- Forsaken Mage SAI +SET @ENTRY := 46048; +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,0,0,3400,4700,11,79858,64,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Mage - In Combat - Cast 'Frostbolt'"), +(@ENTRY,0,1,0,1,0,100,0,500,1000,1800000,1800000,11,79865,0,0,0,0,0,1,0,0,0,0,0,0,0,"Forsaken Mage - Out of Combat - Cast 'Frost Armor'"), +(@ENTRY,0,2,0,9,0,100,0,0,8,13600,14500,11,79850,0,0,0,0,0,1,0,0,0,0,0,0,0,"Forsaken Mage - Within 0-8 Range - Cast 'Frost Nova'"), +(@ENTRY,0,3,0,0,0,100,0,6000,9000,25000,28000,11,79860,1,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Mage - In Combat - Cast 'Blizzard'"), +(@ENTRY,0,4,0,0,0,100,0,11000,11000,22000,23000,11,79859,1,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Mage - In Combat - Cast 'Ice Lance'"); +-- Forsaken Vanguard SAI +SET @ENTRY := 46086; +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,5000,8000,15000,18000,11,32736,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Vanguard - In Combat - Cast 'Mortal Strike'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,11000,12000,11,9080,0,0,0,0,0,2,0,0,0,0,0,0,0,"Forsaken Vanguard - Within 0-5 Range - Cast 'Hamstring'"); +-- General Marstone SAI +SET @ENTRY := 45995; +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,500,1000,600000,600000,11,19514,0,0,0,0,0,1,0,0,0,0,0,0,0,"General Marstone - Out of Combat - Cast 'Lightning Shield'"), +(@ENTRY,0,1,0,16,0,100,0,19514,1,15000,30000,11,19514,0,0,0,0,0,1,0,0,0,0,0,0,0,"General Marstone - On Friendly Unit Missing Buff 'Lightning Shield' - Cast 'Lightning Shield'"), +(@ENTRY,0,2,0,0,0,100,0,5000,6000,14000,18000,11,79913,0,0,0,0,0,2,0,0,0,0,0,0,0,"General Marstone - In Combat - Cast 'Chain Lightning'"); +-- Giant Rabid Bear SAI +SET @ENTRY := 1797; +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,3000,4500,22000,25000,11,3150,0,0,0,0,0,2,0,0,0,0,0,0,0,"Giant Rabid Bear - In Combat - Cast 'Rabies'"), +(@ENTRY,0,1,0,2,0,100,1,0,45,0,0,11,84868,0,0,0,0,0,1,0,0,0,0,0,0,0,"Giant Rabid Bear - Between 0-45% Health - Cast 'Hibernate' (No Repeat)"); +-- Gorefang SAI +SET @ENTRY := 12431; +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,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gorefang - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Gorefang - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,9,0,100,0,0,5,13000,15500,11,13443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gorefang - Within 0-5 Range - Cast 'Rend'"), +(@ENTRY,0,3,0,4,0,100,1,0,0,0,0,11,75002,0,0,0,0,0,2,0,0,0,0,0,0,0,"Gorefang - On Aggro - Cast 'Leaping Rush' (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 12431; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Hand of Ravenclaw SAI +SET @ENTRY := 1870; +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,4500,14000,16000,11,3263,0,0,0,0,0,2,0,0,0,0,0,0,0,"Hand of Ravenclaw - In Combat - Cast 'Touch of Ravenclaw'"); +-- Hillsbrad Refugee SAI +SET @ENTRY := 44966; +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,2000,3000,14000,16000,11,87104,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Refugee - In Combat - Cast 'Might of Lordaeron'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Refugee - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Hillsbrad Refugee SAI +SET @ENTRY := 44954; +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,2000,3000,14000,16000,11,87104,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Refugee - In Combat - Cast 'Might of Lordaeron'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Refugee - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Hillsbrad Worgen SAI +SET @ENTRY := 45254; +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,2,0,100,1,0,25,0,0,11,32714,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,25,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 45254; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Hillsbrad Worgen SAI +SET @ENTRY := 46063; +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,2,0,100,1,0,25,0,0,11,32714,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,25,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 46063; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Hillsbrad Worgen SAI +SET @ENTRY := 45255; +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,2,0,100,1,0,25,0,0,11,32714,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,25,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 45255; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Hillsbrad Worgen SAI +SET @ENTRY := 46064; +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,2,0,100,1,0,25,0,0,11,32714,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,25,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Hillsbrad Worgen - Between 0-25% Health - Say Line 0 (No Repeat)"); +-- NPC talk text insert +SET @ENTRY := 46064; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Inconspicuous Bear SAI +SET @ENTRY := 45750; +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,9,0,100,0,8,25,15000,18000,11,87187,0,0,0,0,0,2,0,0,0,0,0,0,0,"Inconspicuous Bear - Within 8-25 Range - Cast 'Feral Charge'"), +(@ENTRY,0,1,0,0,0,100,0,6000,8000,25000,27500,11,87185,0,0,0,0,0,1,0,0,0,0,0,0,0,"Inconspicuous Bear - In Combat - Cast 'Demoralizing Roar'"), +(@ENTRY,0,2,0,0,0,100,0,2000,4500,12000,15000,11,31279,0,0,0,0,0,2,0,0,0,0,0,0,0,"Inconspicuous Bear - In Combat - Cast 'Swipe'"); +-- Krethis the Shadowspinner SAI +SET @ENTRY := 12433; +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,11,0,100,1,0,0,0,0,11,1784,0,0,0,0,0,1,0,0,0,0,0,0,0,"Krethis the Shadowspinner - On Respawn - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,1,0,7,0,100,1,0,0,0,0,11,1784,0,0,0,0,0,1,0,0,0,0,0,0,0,"Krethis the Shadowspinner - On Evade - Cast 'Stealth' (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,5000,6000,17000,20000,11,13884,0,0,0,0,0,2,0,0,0,0,0,0,0,"Krethis the Shadowspinner - In Combat - Cast 'Withering Poison'"), +(@ENTRY,0,3,0,9,0,100,0,0,30,12000,14500,11,12023,0,0,0,0,0,2,0,0,0,0,0,0,0,"Krethis the Shadowspinner - Within 0-30 Range - Cast 'Web'"); +-- Loremaster Dibbs SAI +SET @ENTRY := 46061; +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,0,0,3400,4700,11,34447,64,0,0,0,0,2,0,0,0,0,0,0,0,"Loremaster Dibbs - In Combat - Cast 'Arcane Missiles'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,14000,16000,11,22938,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loremaster Dibbs - Within 0-8 Range - Cast 'Arcane Explosion'"), +(@ENTRY,0,2,0,0,0,100,0,6000,8000,18000,20000,11,79880,0,0,0,0,0,2,0,0,0,0,0,0,0,"Loremaster Dibbs - In Combat - Cast 'Slow'"), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,11,21655,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loremaster Dibbs - Between 0-30% Health - Cast 'Blink' (No Repeat)"), +(@ENTRY,0,4,0,0,0,100,0,9000,12000,28000,32000,11,79868,0,0,0,0,0,2,0,0,0,0,0,0,0,"Loremaster Dibbs - In Combat - Cast 'Arcane Blast'"); +-- Lost Son of Arugal SAI +SET @ENTRY := 47015; +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,3000,4500,16000,20000,11,7124,0,0,0,0,0,2,0,0,0,0,0,0,0,"Lost Son of Arugal - In Combat - Cast 'Arugal's Gift'"); +-- Marsh Crocolisk SAI +SET @ENTRY := 45896; +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,2000,3000,12000,14000,11,48287,0,0,0,0,0,2,0,0,0,0,0,0,0,"Marsh Crocolisk - In Combat - Cast 'Powerful Bite'"), +(@ENTRY,0,1,0,2,0,100,1,0,40,0,0,11,87228,0,0,0,0,0,1,0,0,0,0,0,0,0,"Marsh Crocolisk - Between 0-40% Health - Cast 'Thick Hide' (No Repeat)"); +-- Nightlash SAI +SET @ENTRY := 46981; +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,0,0,3400,4700,11,28993,64,0,0,0,0,2,0,0,0,0,0,0,0,"Nightlash - In Combat - Cast 'Banshee Wail'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,17000,18000,11,3485,1,0,0,0,0,1,0,0,0,0,0,0,0,"Nightlash - Within 0-8 Range - Cast 'Wail of Nightlash'"); +-- Phin Odelic SAI +SET @ENTRY := 46059; +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,0,0,3400,4700,11,34447,64,0,0,0,0,2,0,0,0,0,0,0,0,"Phin Odelic - In Combat - Cast 'Arcane Missiles'"), +(@ENTRY,0,1,0,9,0,100,0,0,8,14000,16000,11,22938,0,0,0,0,0,1,0,0,0,0,0,0,0,"Phin Odelic - Within 0-8 Range - Cast 'Arcane Explosion'"), +(@ENTRY,0,2,0,0,0,100,0,6000,8000,18000,20000,11,79880,0,0,0,0,0,2,0,0,0,0,0,0,0,"Phin Odelic - In Combat - Cast 'Slow'"), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,11,21655,0,0,0,0,0,1,0,0,0,0,0,0,0,"Phin Odelic - Between 0-30% Health - Cast 'Blink' (No Repeat)"), +(@ENTRY,0,4,0,0,0,100,0,9000,12000,28000,32000,11,79868,0,0,0,0,0,2,0,0,0,0,0,0,0,"Phin Odelic - In Combat - Cast 'Arcane Blast'"); +-- Rabid Worg SAI +SET @ENTRY := 1766; +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,22000,26000,11,3150,0,0,0,0,0,2,0,0,0,0,0,0,0,"Rabid Worg - In Combat - Cast 'Rabies'"); +-- Skitterweb Lurker SAI +SET @ENTRY := 1781; +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,6000,9000,18000,24000,11,82715,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skitterweb Lurker - In Combat - Cast 'Flee into the Shadows'"); +-- Skitterweb Matriarch SAI +SET @ENTRY := 44906; +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,4,0,100,1,0,0,0,0,11,87084,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skitterweb Matriarch - On Aggro - Cast 'Summon Spiderlings' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4000,7000,15000,18000,11,79607,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skitterweb Matriarch - In Combat - Cast 'Venom Splash'"); +-- Skitterweb Striker SAI +SET @ENTRY := 1780; +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,7000,9000,19000,20000,11,13884,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skitterweb Striker - In Combat - Cast 'Withering Poison'"), +(@ENTRY,0,1,0,9,0,100,0,0,5,12000,14000,11,87081,0,0,0,0,0,2,0,0,0,0,0,0,0,"Skitterweb Striker - Within 0-5 Range - Cast 'Strike'"); +-- Thule Ravenclaw SAI +SET @ENTRY := 47023; +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,0,0,3400,4700,11,77721,64,0,0,0,0,2,0,0,0,0,0,0,0,"Thule Ravenclaw - In Combat - Cast 'Shadow Weave'"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,31976,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thule Ravenclaw - Between 0-30% Health - Cast 'Shadow Shield' (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,8000,12000,33000,35000,11,7655,1,0,0,0,0,2,0,0,0,0,0,0,0,"Thule Ravenclaw - In Combat - Cast 'Hex of Ravenclaw'"); +-- Vile Fin Oracle SAI +SET @ENTRY := 46573; +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,0,0,3400,4700,11,9734,64,0,0,0,0,2,0,0,0,0,0,0,0,"Vile Fin Oracle - In Combat - Cast 'Holy Smite'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vile Fin Oracle - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Vile Fin Oracle SAI +SET @ENTRY := 1908; +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,0,0,3400,4700,11,9734,64,0,0,0,0,2,0,0,0,0,0,0,0,"Vile Fin Oracle - In Combat - Cast 'Holy Smite'"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vile Fin Oracle - Between 0-15% Health - Flee For Assist (No Repeat)"); +-- Vile Fin Tidehunter SAI +SET @ENTRY := 1768; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vile Fin Tidehunter - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,10,16000,19000,11,78542,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vile Fin Tidehunter - Within 0-10 Range - Cast 'Splash'"); +-- Vile Fin Tidehunter SAI +SET @ENTRY := 46574; +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,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vile Fin Tidehunter - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,1,0,9,0,100,0,0,10,16000,19000,11,78542,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vile Fin Tidehunter - Within 0-10 Range - Cast 'Splash'"); +-- Worgen Commando SAI +SET @ENTRY := 45861; +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,0,0,2300,3900,11,87603,64,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Commando - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,7000,8000,15000,20000,11,79721,0,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Commando - In Combat - Cast 'Explosive Shot'"), +(@ENTRY,0,2,0,0,0,100,0,9000,12000,22000,25000,11,80003,0,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Commando - In Combat - Cast 'Black Arrow'"); +-- Worgen Commando SAI +SET @ENTRY := 46038; +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,0,0,2300,3900,11,87603,64,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Commando - In Combat - Cast 'Shoot'"), +(@ENTRY,0,1,0,0,0,100,0,7000,8000,15000,20000,11,79721,0,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Commando - In Combat - Cast 'Explosive Shot'"), +(@ENTRY,0,2,0,0,0,100,0,9000,12000,22000,25000,11,80003,0,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Commando - In Combat - Cast 'Black Arrow'"); +-- Worgen Sentry SAI +SET @ENTRY := 44987; +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,4,0,100,1,0,0,0,0,11,6507,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Sentry - On Aggro - Cast 'Battle Roar' (No Repeat)"); +-- Bloodfang Berserker SAI +SET @ENTRY := 45860; +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,2,0,100,1,0,30,0,0,11,63227,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Berserker - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodfang Berserker - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4000,7000,18000,20000,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodfang Berserker - In Combat - Cast 'Slam'"); +-- NPC talk text insert +SET @ENTRY := 45860; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); +-- Worgen Warbringer SAI +SET @ENTRY := 46037; +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,2,0,100,1,0,30,0,0,11,63227,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Warbringer - Between 0-30% Health - Cast 'Enrage' (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Worgen Warbringer - Between 0-30% Health - Say Line 0 (No Repeat)"), +(@ENTRY,0,2,0,0,0,100,0,4000,7000,18000,20000,11,79881,0,0,0,0,0,2,0,0,0,0,0,0,0,"Worgen Warbringer - In Combat - Cast 'Slam'"); +-- NPC talk text insert +SET @ENTRY := 46037; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(@ENTRY,0,0, '%s becomes enraged!',16,0,100,0,0,0, 'combat Enrage',10677); diff --git a/sql/updates/world/2015_07_29_00_world.sql b/sql/updates/world/2015_07_29_00_world.sql new file mode 100644 index 00000000000..fca9aa06f45 --- /dev/null +++ b/sql/updates/world/2015_07_29_00_world.sql @@ -0,0 +1 @@ +UPDATE `command` SET `help` = 'Syntax: .additemset #itemsetid\n\nAdd items from itemset of id #itemsetid to your or selected character inventory. Will add by one example each item from itemset.\n\nIf the itemset has multiple levels it adds one of each item level.' WHERE `name` = 'additemset'; diff --git a/sql/updates/world/2015_07_29_01_world.sql b/sql/updates/world/2015_07_29_01_world.sql new file mode 100644 index 00000000000..af5669ca079 --- /dev/null +++ b/sql/updates/world/2015_07_29_01_world.sql @@ -0,0 +1,515 @@ +-- +-- Durotar Movement + Emotes +-- Burg Tiragarde +DELETE FROM `creature` WHERE `guid`=309653; +SET @NPC := 309658; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-247.4271,`position_y`=-5115.192,`position_z`=42.78535 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,-247.4271,-5115.192,42.78535,0,0,0,0,100,0), +(@PATH,2,-247.1771,-5112.692,42.03535,0,0,0,0,100,0), +(@PATH,3,-247.1771,-5104.942,41.78535,0,0,0,0,100,0), +(@PATH,4,-246.6771,-5097.692,41.78535,0,0,0,0,100,0), +(@PATH,5,-249.1591,-5081.185,24.25504,0,0,0,0,100,0), +(@PATH,6,-249.4091,-5077.685,24.25504,0,0,0,0,100,0), +(@PATH,7,-246.2748,-5094.252,41.5968,0,0,0,0,100,0), +(@PATH,8,-235.7748,-5094.252,41.5968,0,0,0,0,100,0), +(@PATH,9,-233.5248,-5094.252,41.5968,0,0,0,0,100,0), +(@PATH,10,-230.816,-5094.397,41.3468,4.694936,5000,0,0,100,0), +(@PATH,11,-233.9653,-5095.188,41.59679,0,0,0,0,100,0), +(@PATH,12,-235.4653,-5095.688,41.59679,0,0,0,0,100,0), +(@PATH,13,-236.2153,-5096.188,41.59679,0,0,0,0,100,0), +(@PATH,14,-236.9653,-5096.938,41.59679,0,0,0,0,100,0), +(@PATH,15,-242.4653,-5101.938,41.59679,0,0,0,0,100,0), +(@PATH,16,-246.4653,-5105.438,41.59679,0,0,0,0,100,0), +(@PATH,17,-246.6247,-5105.591,41.7437,0,0,0,0,100,0), +(@PATH,18,-247.3747,-5106.591,41.7437,0,0,0,0,100,0), +(@PATH,19,-247.3747,-5111.841,41.7437,0,0,0,0,100,0), +(@PATH,20,-247.3747,-5114.341,42.7437,0,0,0,0,100,0); + +-- Lieutenant Palliter SAI +SET @ENTRY := 39269; +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,2000,16000,18000,5,23,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lieutenant Palliter - Out of Combat - Play Emote 23"), +(@ENTRY,0,1,2,4,0,100,0,0,0,0,0,11,79733,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lieutenant Palliter - On Aggro - Cast 'Commanding Shout'"), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lieutenant Palliter - On Aggro - Say Line 0"), +(@ENTRY,0,3,0,0,0,100,0,100,100,10000,10000,11,78894,0,0,0,0,0,2,0,0,0,0,0,0,0,"Lieutenant Palliter - In Combat - Cast 'Leaping Cleave'"), +(@ENTRY,0,4,0,0,0,100,0,4000,5000,12000,14000,11,79732,0,0,0,0,0,2,0,0,0,0,0,0,0,"Lieutenant Palliter - In Combat - Cast 'Shield Bash'"); + +DELETE FROM `creature_text` WHERE `entry`=39269; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES +(39269, 0, 0, 'Tiragarde belongs to Northwatch now!', 12, 0, 100, 0, 0, 0, 39476, 'Lieutenant Palliter'); + +-- Shootemotestate +DELETE FROM `creature_addon` WHERE `guid` IN (309657, 309641, 309675,309745,309748); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(309657,0,0,0,1,0, '73911'), +(309641,0,0,0,1,0, '73911'), +(309675,0,0,0,1,0, '73911'), +(309745,0,0,0,1,0, '73911'), +(309748,0,0,0,1,0, '73911'); + +-- deathemote +DELETE FROM `creature_template_addon` WHERE `entry`=39270; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(39270,0,0,0,1,0, '75511'); + +-- Injured Razor Hill Grunt SAI +SET @ENTRY := 39270; +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,5000,6000,25000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Injured Razor Hill Grunt - Out of Combat - Say Line 0"); + +DELETE FROM `creature_text` WHERE `entry`=39270; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES +(39270, 0, 0, 'H-help me!', 12, 0, 100, 0, 0, 0, 39329, 'Injured Razor Hill Grunt'), +(39270, 0, 1, 'I can''t fight any longer...', 12, 0, 100, 0, 0, 0, 39330, 'Injured Razor Hill Grunt'), +(39270, 0, 2, 'I''ll never see my wife again...', 12, 0, 100, 0, 0, 0, 39328, 'Injured Razor Hill Grunt'), +(39270, 0, 3, 'Somebody... anybody...', 12, 0, 100, 0, 0, 0, 39327, 'Injured Razor Hill Grunt'); + +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (39267,39268) AND `guid` NOT IN (309657, 309641, 309675,309745,309748); +UPDATE `creature` SET `spawndist`=10, `MovementType`=1 WHERE `id`=39272; +UPDATE `creature` SET `spawndist`=7, `MovementType`=1 WHERE `guid` In (310278, 310285,310327,309861,309860,309864,309881,309872,309873); + +-- dancescript +-- Un'Thuwa SAI +SET @ENTRY := 5880; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Un'Thuwa - Out of Combat - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 588000; +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,17,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 10"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- Castemotes +DELETE FROM `creature_addon` WHERE `guid` IN (308230, 308231,308366); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(308230,0,0,0,1,468, ''), +(308231,0,0,0,1,468, ''), +(308366,0,0,0,1,468, ''); + +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `guid` IN (308230, 308231,308366); + +UPDATE `creature` SET `spawndist`=8, `MovementType`=1 WHERE `id` IN (3099, 3126, 3114, 3113,39452,39452,5823,3127,3100,3123,3107,43331); +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (3112, 3111,40948,3108,3116,3115,39603); +UPDATE `creature` SET `spawndist`=3, `MovementType`=1 WHERE `id` IN (42504, 42859, 10685,3198,3197); +UPDATE `creature` SET `spawndist`=2, `MovementType`=1 WHERE `id` IN (5900,3118,3117); +UPDATE `creature` SET `spawndist`=10, `MovementType`=1 WHERE `id` IN (3122); + +DELETE FROM `creature_template_addon` WHERE `entry` IN (39595, 39596); +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(39595,0,0,0,1,35, ''), +(39596,0,0,0,1,35, ''); + +UPDATE `creature_template_addon` SET `bytes2`=0 WHERE `entry`=10685; + +DELETE FROM `creature_addon` WHERE `guid` IN (310680,310678,310682,310716,310717,310718,310713,310712,310709,310715,310728,310714,310726,310724,310725,310735,310756,310749,310759,310763,310767,310767,310768,310769,310478, 310479, 310480, 310498,310472,310471,310474,310484,310492,310476,310790,310788,310787,310786,310792); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(310478,0,0,0,1,69, ''), +(310479,0,0,0,1,0, ''), +(310480,0,0,0,1,0, '78677'), +(310498,0,0,0,1,0, '78677'), +(310472,0,0,0,1,69, ''), +(310471,0,0,8,1,0, ''), +(310474,0,0,0,1,69, ''), +(310484,0,0,0,1,0, '78677'), +(310492,0,0,0,1,69, ''), +(310476,0,0,0,1,69, ''), +(310790,0,0,8,1,0, ''), +(310788,0,0,8,1,0, ''), +(310787,0,0,0,1,69, ''), +(310786,0,0,0,1,69, ''), +(310792,0,0,0,1,69, ''), +(310769,0,0,0,1,69, ''), +(310768,0,0,8,1,0, ''), +(310767,0,0,0,1,69, ''), +(310763,0,0,0,1,69, ''), +(310759,0,0,0,1,69, ''), +(310749,0,0,0,1,69, ''), +(310756,0,0,8,1,0, ''), +(310735,0,0,8,1,0, ''), +(310725,0,0,8,1,0, ''), +(310724,0,0,8,1,0, ''), +(310726,0,0,0,1,69, ''), +(310714,0,0,0,1,69, ''), +(310728,0,0,0,1,69, ''), +(310715,0,0,8,1,0, ''), +(310709,0,0,0,1,69, ''), +(310712,0,0,0,1,69, ''), +(310713,0,0,8,1,0, ''), +(310716,0,0,8,1,0, ''), +(310718,0,0,0,1,69, ''), +(310717,0,0,0,1,69, ''), +(310682,0,0,0,1,69, ''), +(310678,0,0,0,1,69, ''), +(310680,0,0,0,1,69, ''); + +UPDATE `creature` SET `position_y`=-4689.793, `position_z`=6.615, `orientation`=0.507, `position_x`=1467.133789 WHERE `guid`=310652; + +-- Chains +UPDATE `creature_template` SET `flags_extra`=128 WHERE `entry`=39519; +-- Cosmetic Trigger - PRK SAI +SET @GUID := -310585; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=39519; +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,1000,1000,10000,10000,11,73964,0,0,0,0,0,19,39352,20,0,0,0,0,0,"Cosmetic Trigger - PRK - Out of Combat - Cast 'Cosmetic Chains'"); + +-- Cosmetic Trigger - PRK SAI +SET @GUID := -310589; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=39519; +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,1000,1000,10000,10000,11,73964,0,0,0,0,0,19,39352,20,0,0,0,0,0,"Cosmetic Trigger - PRK - Out of Combat - Cast 'Cosmetic Chains'"); + +-- Cosmetic Trigger - PRK SAI +SET @GUID := -310584; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=39519; +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,1000,1000,10000,10000,11,73964,0,0,0,0,0,19,39352,20,0,0,0,0,0,"Cosmetic Trigger - PRK - Out of Combat - Cast 'Cosmetic Chains'"); + +-- Cosmetic Trigger - PRK SAI +SET @GUID := -310587; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=39519; +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,1000,1000,10000,10000,11,73964,0,0,0,0,0,19,39353,20,0,0,0,0,0,"Cosmetic Trigger - PRK - Out of Combat - Cast 'Cosmetic Chains'"); + +-- Cosmetic Trigger - PRK SAI +SET @GUID := -310591; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=39519; +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,1000,1000,10000,10000,11,73964,0,0,0,0,0,19,39353,20,0,0,0,0,0,"Cosmetic Trigger - PRK - Out of Combat - Cast 'Cosmetic Chains'"); + +-- Cosmetic Trigger - PRK SAI +SET @GUID := -310402; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=39519; +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,1000,1000,10000,10000,11,73964,0,0,0,0,0,19,39351,20,0,0,0,0,0,"Cosmetic Trigger - PRK - Out of Combat - Cast 'Cosmetic Chains'"); + +SET @NPC := 310117; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=688.5805,`position_y`=-3873.436,`position_z`=20.99528 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,688.5805,-3873.436,20.99528,0,0,0,0,100,0), +(@PATH,2,701.0805,-3866.936,21.74528,0,0,0,0,100,0), +(@PATH,3,714.0805,-3860.186,21.24528,0,0,0,0,100,0), +(@PATH,4,721.312,-3855.96,21.19275,0,0,0,0,100,0), +(@PATH,5,753.2512,-3836.458,21.41983,0,0,0,0,100,0), +(@PATH,6,768.1808,-3838.11,21.08494,0,0,0,0,100,0), +(@PATH,7,779.3486,-3853.463,21.12897,0,0,0,0,100,0), +(@PATH,8,781.3132,-3853.895,21.12897,0,0,0,0,100,0), +(@PATH,9,779.7146,-3852.905,21.12897,0,0,0,0,100,0), +(@PATH,10,780.6881,-3853.7,21.12897,0,0,0,0,100,0), +(@PATH,11,781.185,-3853.387,21.12897,0,0,0,0,100,0), +(@PATH,12,780.8164,-3853.961,21.12897,0,0,0,0,100,0), +(@PATH,13,781.1316,-3853.759,21.12897,0,0,0,0,100,0), +(@PATH,14,780.6812,-3853.942,21.12897,0,0,0,0,100,0), +(@PATH,15,780.7207,-3854.518,21.00397,0,0,0,0,100,0), +(@PATH,16,779.6035,-3852.928,21.12897,0,0,0,0,100,0), +(@PATH,17,780.5703,-3852.916,21.12897,0,0,0,0,100,0), +(@PATH,18,780.6561,-3853.597,21.12897,0,0,0,0,100,0), +(@PATH,19,780.1292,-3852.995,21.12897,0,0,0,0,100,0), +(@PATH,20,780.8076,-3852.75,21.12897,0,0,0,0,100,0), +(@PATH,21,779.7412,-3853.83,21.12897,0,0,0,0,100,0), +(@PATH,22,780.5329,-3853.471,21.12897,0,0,0,0,100,0), +(@PATH,23,780.4874,-3853.844,21.12897,0,0,0,0,100,0), +(@PATH,24,780.5801,-3852.711,21.12897,0,0,0,0,100,0), +(@PATH,25,768.6416,-3847.647,21.8934,0,0,0,0,100,0), +(@PATH,26,743.6416,-3837.647,21.3934,0,0,0,0,100,0), +(@PATH,27,738.1416,-3835.397,20.6434,0,0,0,0,100,0), +(@PATH,28,729.8916,-3831.897,20.3934,0,0,0,0,100,0), +(@PATH,29,721.3081,-3828.523,20.46003,0,0,0,0,100,0), +(@PATH,30,717.0581,-3831.523,21.21003,0,0,0,0,100,0), +(@PATH,31,713.0581,-3834.523,21.71003,0,0,0,0,100,0), +(@PATH,32,708.5581,-3838.023,22.21003,0,0,0,0,100,0), +(@PATH,33,691.8359,-3850.236,22.41916,0,0,0,0,100,0), +(@PATH,34,687.3359,-3854.236,23.16916,0,0,0,0,100,0), +(@PATH,35,682.3359,-3858.736,24.41916,0,0,0,0,100,0), +(@PATH,36,681.5859,-3859.236,22.66916,0,0,0,0,100,0), +(@PATH,37,680.8359,-3859.986,23.91916,0,0,0,0,100,0), +(@PATH,38,679.3359,-3861.236,25.66916,0,0,0,0,100,0), +(@PATH,39,678.5859,-3861.736,24.16916,0,0,0,0,100,0), +(@PATH,40,677.0859,-3863.236,25.16916,0,0,0,0,100,0), +(@PATH,41,676.3359,-3863.736,23.66916,0,0,0,0,100,0), +(@PATH,42,674.0859,-3865.736,21.91916,0,0,0,0,100,0), +(@PATH,43,671.8359,-3867.736,21.66916,0,0,0,0,100,0), +(@PATH,44,671.6001,-3867.693,21.40687,0,0,0,0,100,0), +(@PATH,45,668.3501,-3870.693,21.65687,0,0,0,0,100,0), +(@PATH,46,652.8501,-3867.943,21.15687,0,0,0,0,100,0), +(@PATH,47,635.9583,-3864.717,21.56643,0,0,0,0,100,0), +(@PATH,48,638.9583,-3852.467,22.06643,0,0,0,0,100,0), +(@PATH,49,642.6121,-3843.297,22.0536,0,0,0,0,100,0), +(@PATH,50,641.5416,-3842.151,22.1786,0,0,0,0,100,0); + +-- Razormane Grounds +SET @NPC := 308240; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=79.98973,`position_y`=-4636.818,`position_z`=39.59395 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,79.98973,-4636.818,39.59395,0,0,0,0,100,0), +(@PATH,2,78.48973,-4634.318,40.34395,0,0,0,0,100,0), +(@PATH,3,77.73973,-4632.568,41.09395,0,0,0,0,100,0), +(@PATH,4,76.98973,-4630.568,41.84395,0,0,0,0,100,0), +(@PATH,5,76.23973,-4628.818,42.84395,0,0,0,0,100,0), +(@PATH,6,75.23973,-4626.068,43.34395,0,0,0,0,100,0), +(@PATH,7,74.73973,-4624.318,44.09395,0,0,0,0,100,0), +(@PATH,8,73.98973,-4622.568,44.84395,0,0,0,0,100,0), +(@PATH,9,73.23973,-4620.568,45.34395,0,0,0,0,100,0), +(@PATH,10,72.23973,-4617.818,46.09395,0,0,0,0,100,0), +(@PATH,11,71.48973,-4616.068,46.59395,0,0,0,0,100,0), +(@PATH,12,70.23973,-4613.318,47.59395,0,0,0,0,100,0), +(@PATH,13,70.34749,-4613.038,47.87812,0,0,0,0,100,0), +(@PATH,14,69.34749,-4610.288,48.37812,0,0,0,0,100,0), +(@PATH,15,69.84749,-4608.538,49.12812,0,0,0,0,100,0), +(@PATH,16,70.34749,-4606.538,49.87812,0,0,0,0,100,0), +(@PATH,17,71.09749,-4604.538,50.37812,0,0,0,0,100,0), +(@PATH,18,71.59749,-4602.788,51.37812,0,0,0,0,100,0), +(@PATH,19,72.34749,-4599.788,52.12812,0,0,0,0,100,0), +(@PATH,20,73.09749,-4598.288,52.87812,0,0,0,0,100,0), +(@PATH,21,73.59749,-4596.288,53.87812,0,0,0,0,100,0), +(@PATH,22,73.84749,-4594.288,54.62812,0,0,0,0,100,0), +(@PATH,23,74.59749,-4592.538,55.37812,0,0,0,0,100,0), +(@PATH,24,75.34749,-4589.538,56.12812,0,0,0,0,100,0), +(@PATH,25,77.05266,-4584.726,56.92693,0,0,0,0,100,0), +(@PATH,26,77.30266,-4572.726,56.17693,0,0,0,0,100,0), +(@PATH,27,77.80266,-4566.976,55.92693,0,0,0,0,100,0), +(@PATH,28,78.3463,-4552.961,56.39515,0,0,0,0,100,0), +(@PATH,29,78.3463,-4549.961,56.89515,0,0,0,0,100,0), +(@PATH,30,78.0963,-4547.961,57.39515,0,0,0,0,100,0), +(@PATH,31,78.0963,-4545.961,58.64515,0,0,0,0,100,0), +(@PATH,32,78.0963,-4544.211,59.14515,0,0,0,0,100,0), +(@PATH,33,77.8463,-4541.211,59.89515,0,0,0,0,100,0), +(@PATH,34,77.8463,-4539.211,60.64515,0,0,0,0,100,0), +(@PATH,35,77.8463,-4537.211,61.39515,0,0,0,0,100,0), +(@PATH,36,78.0322,-4545.204,58.6748,0,0,0,0,100,0), +(@PATH,37,77.9944,-4541.933,60.08129,0,0,0,0,100,0), +(@PATH,38,77.7444,-4539.183,60.83129,0,0,0,0,100,0), +(@PATH,39,77.7444,-4537.183,61.33129,0,0,0,0,100,0), +(@PATH,40,77.47198,-4533.455,61.68798,0,0,0,0,100,0), +(@PATH,41,77.47198,-4528.455,60.93798,0,0,0,0,100,0), +(@PATH,42,77.47198,-4526.455,60.18798,0,0,0,0,100,0), +(@PATH,43,77.47198,-4524.455,59.43798,0,0,0,0,100,0), +(@PATH,44,77.47198,-4522.455,58.43798,0,0,0,0,100,0), +(@PATH,45,77.47198,-4520.455,57.43798,0,0,0,0,100,0), +(@PATH,46,77.47198,-4519.705,56.68798,0,0,0,0,100,0), +(@PATH,47,77.47198,-4518.705,56.18798,0,0,0,0,100,0), +(@PATH,48,77.47198,-4516.705,54.93798,0,0,0,0,100,0), +(@PATH,49,77.47198,-4514.705,54.43798,0,0,0,0,100,0), +(@PATH,50,77.47198,-4513.705,53.93798,0,0,0,0,100,0), +(@PATH,51,77.47198,-4511.705,52.93798,0,0,0,0,100,0), +(@PATH,52,77.47198,-4510.705,52.18798,0,0,0,0,100,0), +(@PATH,53,77.47198,-4508.705,51.68798,0,0,0,0,100,0), +(@PATH,54,77.47198,-4506.705,50.68798,0,0,0,0,100,0), +(@PATH,55,77.47198,-4504.705,49.93798,0,0,0,0,100,0), +(@PATH,56,77.60263,-4504.445,49.59322,0,0,0,0,100,0), +(@PATH,57,77.60263,-4502.695,48.84322,0,0,0,0,100,0), +(@PATH,58,77.85263,-4500.695,47.59322,0,0,0,0,100,0), +(@PATH,59,78.10263,-4499.695,46.84322,0,0,0,0,100,0), +(@PATH,60,78.35263,-4497.695,46.09322,0,0,0,0,100,0), +(@PATH,61,78.35263,-4496.695,45.34322,0,0,0,0,100,0), +(@PATH,62,78.60263,-4494.695,44.34322,0,0,0,0,100,0), +(@PATH,63,78.85263,-4493.695,43.84322,0,0,0,0,100,0), +(@PATH,64,79.10263,-4491.945,42.84322,0,0,0,0,100,0), +(@PATH,65,79.10263,-4489.945,41.59322,0,0,0,0,100,0), +(@PATH,66,79.35263,-4488.195,40.34322,0,0,0,0,100,0), +(@PATH,67,79.85263,-4486.195,39.59322,0,0,0,0,100,0), +(@PATH,68,80.10263,-4484.195,39.09322,0,0,0,0,100,0), +(@PATH,69,80.35263,-4482.195,38.34322,0,0,0,0,100,0), +(@PATH,70,82.90936,-4479.622,37.11091,0,0,0,0,100,0), +(@PATH,71,83.65936,-4479.122,36.86091,0,0,0,0,100,0), +(@PATH,72,86.65936,-4478.872,36.36091,0,0,0,0,100,0), +(@PATH,73,90.40936,-4478.372,35.61091,0,0,0,0,100,0), +(@PATH,74,92.40936,-4478.122,35.11091,0,0,0,0,100,0), +(@PATH,75,96.40936,-4477.622,34.36091,0,0,0,0,100,0), +(@PATH,76,100.1594,-4477.122,33.86091,0,0,0,0,100,0), +(@PATH,77,104.1594,-4477.122,33.36091,0,0,0,0,100,0), +(@PATH,78,108.4094,-4477.122,32.61091,0,0,0,0,100,0), +(@PATH,79,110.6594,-4480.622,33.36091,0,0,0,0,100,0), +(@PATH,80,112.1594,-4483.372,33.86091,0,0,0,0,100,0), +(@PATH,81,116.9094,-4485.372,33.86091,0,0,0,0,100,0), +(@PATH,82,120.9094,-4486.372,33.36091,0,0,0,0,100,0), +(@PATH,83,125.1594,-4487.622,33.36091,0,0,0,0,100,0), +(@PATH,84,127.9094,-4488.122,32.61091,0,0,0,0,100,0), +(@PATH,85,132.6594,-4489.372,31.86091,0,0,0,0,100,0), +(@PATH,86,133.4094,-4489.622,32.11091,0,0,0,0,100,0), +(@PATH,87,136.4094,-4489.622,31.61091,0,0,0,0,100,0), +(@PATH,88,137.4094,-4489.622,31.36091,0,0,0,0,100,0), +(@PATH,89,139.4094,-4489.622,30.61091,0,0,0,0,100,0), +(@PATH,90,141.6594,-4489.622,30.36091,0,0,0,0,100,0), +(@PATH,91,145.6594,-4489.622,29.61091,0,0,0,0,100,0), +(@PATH,92,149.9094,-4489.622,28.86091,0,0,0,0,100,0), +(@PATH,93,162.4094,-4499.872,28.36091,0,0,0,0,100,0), +(@PATH,94,166.6594,-4503.872,28.36091,0,0,0,0,100,0), +(@PATH,95,168.6594,-4503.622,27.61091,0,0,0,0,100,0), +(@PATH,96,171.6594,-4503.372,26.86091,0,0,0,0,100,0), +(@PATH,97,171.9954,-4503.409,26.60199,0,0,0,0,100,0), +(@PATH,98,173.7454,-4503.159,26.10199,0,0,0,0,100,0), +(@PATH,99,175.2454,-4504.159,25.85199,0,0,0,0,100,0), +(@PATH,100,177.2454,-4504.159,25.10199,0,0,0,0,100,0), +(@PATH,101,180.2454,-4504.159,24.60199,0,0,0,0,100,0), +(@PATH,102,183.2454,-4504.159,24.35199,0,0,0,0,100,0), +(@PATH,103,188.9954,-4509.909,23.60199,0,0,0,0,100,0), +(@PATH,104,193.2454,-4514.159,23.10199,0,0,0,0,100,0), +(@PATH,105,195.7454,-4516.659,22.60199,0,0,0,0,100,0), +(@PATH,106,194.7454,-4524.659,23.10199,0,0,0,0,100,0), +(@PATH,107,194.7454,-4526.909,23.10199,0,0,0,0,100,0), +(@PATH,108,194.7454,-4528.909,23.10199,0,0,0,0,100,0), +(@PATH,109,194.9398,-4529.146,22.84127,0,0,0,0,100,0), +(@PATH,110,194.9398,-4531.146,22.84127,0,0,0,0,100,0), +(@PATH,111,195.9398,-4545.146,23.34127,0,0,0,0,100,0), +(@PATH,112,197.475,-4570.42,23.57046,0,0,0,0,100,0), +(@PATH,113,195.225,-4575.92,24.07046,0,0,0,0,100,0), +(@PATH,114,193.725,-4579.67,25.07046,0,0,0,0,100,0), +(@PATH,115,190.225,-4587.67,25.57046,0,0,0,0,100,0), +(@PATH,116,187.725,-4594.17,26.07046,0,0,0,0,100,0), +(@PATH,117,186.725,-4596.92,26.82046,0,0,0,0,100,0), +(@PATH,118,184.225,-4602.42,27.57046,0,0,0,0,100,0), +(@PATH,119,183.9489,-4602.694,27.43371,0,0,0,0,100,0), +(@PATH,120,182.9489,-4604.944,27.68371,0,0,0,0,100,0), +(@PATH,121,179.9489,-4608.944,28.43371,0,0,0,0,100,0), +(@PATH,122,174.6989,-4616.194,28.93371,0,0,0,0,100,0), +(@PATH,123,168.1989,-4624.694,28.43371,0,0,0,0,100,0), +(@PATH,124,165.9489,-4627.944,27.43371,0,0,0,0,100,0), +(@PATH,125,163.4489,-4631.194,26.93371,0,0,0,0,100,0), +(@PATH,126,163.4489,-4631.194,26.93371,0,0,0,0,100,0), +(@PATH,127,163.4489,-4631.194,26.93371,0,0,0,0,100,0), +(@PATH,128,160.8272,-4634.672,26.45792,0,0,0,0,100,0), +(@PATH,129,152.3272,-4639.922,25.70792,0,0,0,0,100,0), +(@PATH,130,147.3272,-4642.922,25.20792,0,0,0,0,100,0), +(@PATH,131,143.3272,-4645.672,24.45792,0,0,0,0,100,0), +(@PATH,132,132.2215,-4652.662,24.92623,0,0,0,0,100,0), +(@PATH,133,129.2215,-4652.912,25.92623,0,0,0,0,100,0), +(@PATH,134,127.2215,-4652.912,26.92623,0,0,0,0,100,0), +(@PATH,135,125.2215,-4652.912,28.17623,0,0,0,0,100,0), +(@PATH,136,124.2215,-4652.912,28.92623,0,0,0,0,100,0), +(@PATH,137,123.2215,-4652.912,29.67623,0,0,0,0,100,0), +(@PATH,138,122.2215,-4652.912,29.92623,0,0,0,0,100,0), +(@PATH,139,120.2215,-4652.912,30.92623,0,0,0,0,100,0), +(@PATH,140,119.2215,-4652.912,31.67623,0,0,0,0,100,0), +(@PATH,141,118.2215,-4652.912,32.17623,0,0,0,0,100,0), +(@PATH,142,117.2215,-4653.162,32.92623,0,0,0,0,100,0), +(@PATH,143,115.2215,-4653.162,33.67623,0,0,0,0,100,0), +(@PATH,144,113.2215,-4653.162,34.42623,0,0,0,0,100,0), +(@PATH,145,91.47154,-4654.162,34.92623,0,0,0,0,100,0), +(@PATH,146,91.29816,-4653.952,35.37938,0,0,0,0,100,0), +(@PATH,147,90.29816,-4654.202,35.37938,0,0,0,0,100,0), +(@PATH,148,87.04816,-4648.952,36.12938,0,0,0,0,100,0), +(@PATH,149,85.54816,-4646.452,36.87938,0,0,0,0,100,0), +(@PATH,150,84.29816,-4643.952,37.37938,0,0,0,0,100,0), +(@PATH,151,82.79816,-4641.452,37.87938,0,0,0,0,100,0), +(@PATH,152,81.29816,-4638.952,38.62938,0,0,0,0,100,0), +(@PATH,153,80.29816,-4637.202,39.37938,0,0,0,0,100,0); + +SET @NPC := 308225; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=51.70237,`position_y`=-4472.69,`position_z`=42.80334 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,51.70237,-4472.69,42.80334,0,0,0,0,100,0), +(@PATH,2,54.45237,-4473.44,42.05334,0,0,0,0,100,0), +(@PATH,3,59.95237,-4475.19,41.55334,0,0,0,0,100,0), +(@PATH,4,60.26998,-4475.348,41.13422,0,0,0,0,100,0), +(@PATH,5,60.76998,-4475.348,41.13422,0,0,0,0,100,0), +(@PATH,6,64.51998,-4475.598,40.13422,0,0,0,0,100,0), +(@PATH,7,67.51998,-4475.598,39.63422,0,0,0,0,100,0), +(@PATH,8,71.86338,-4476.03,38.55601,0,0,0,0,100,0), +(@PATH,9,74.86338,-4476.03,38.30601,0,0,0,0,100,0), +(@PATH,10,77.61338,-4476.03,37.80601,0,0,0,0,100,0), +(@PATH,11,80.90776,-4475.785,36.80119,0,0,0,0,100,0), +(@PATH,12,82.90776,-4475.285,36.30119,0,0,0,0,100,0), +(@PATH,13,85.40776,-4474.785,35.80119,0,0,0,0,100,0), +(@PATH,14,89.40776,-4473.785,35.05119,0,0,0,0,100,0), +(@PATH,15,89.50303,-4473.408,34.80347,0,0,0,0,100,0), +(@PATH,16,90.50303,-4473.158,34.55347,0,0,0,0,100,0), +(@PATH,17,93.25303,-4471.908,33.80347,0,0,0,0,100,0), +(@PATH,18,95.50303,-4470.408,33.30347,0,0,0,0,100,0), +(@PATH,19,98.25303,-4469.158,32.80347,0,0,0,0,100,0), +(@PATH,20,101.753,-4467.408,32.05347,0,0,0,0,100,0), +(@PATH,21,103.503,-4466.408,31.55347,0,0,0,0,100,0), +(@PATH,22,103.8725,-4466.163,31.41965,0,0,0,0,100,0), +(@PATH,23,104.6225,-4465.663,31.16965,0,0,0,0,100,0), +(@PATH,24,106.3725,-4462.413,30.66965,0,0,0,0,100,0), +(@PATH,25,108.1739,-4459.26,30.06752,0,0,0,0,100,0), +(@PATH,26,106.954,-4450.881,30.1387,0,0,0,0,100,0), +(@PATH,27,102.5359,-4440.718,30.71219,0,0,0,0,100,0), +(@PATH,28,100.0359,-4439.218,31.21219,0,0,0,0,100,0), +(@PATH,29,94.7859,-4436.718,31.71219,0,0,0,0,100,0), +(@PATH,30,90.5359,-4434.468,32.21219,0,0,0,0,100,0), +(@PATH,31,90.21313,-4434.118,32.3544,0,0,0,0,100,0), +(@PATH,32,89.21313,-4433.618,32.6044,0,0,0,0,100,0), +(@PATH,33,84.46313,-4433.118,32.8544,0,0,0,0,100,0), +(@PATH,34,80.10579,-4432.497,33.57849,0,0,0,0,100,0), +(@PATH,35,77.35579,-4433.497,34.32849,0,0,0,0,100,0), +(@PATH,36,74.60579,-4434.247,34.82849,0,0,0,0,100,0), +(@PATH,37,71.85579,-4434.997,35.57849,0,0,0,0,100,0), +(@PATH,38,71.82204,-4435.326,35.58233,0,0,0,0,100,0), +(@PATH,39,70.82204,-4435.576,35.83233,0,0,0,0,100,0), +(@PATH,40,71.64928,-4444.331,36.14789,0,0,0,0,100,0), +(@PATH,41,69.89928,-4449.831,36.64789,0,0,0,0,100,0); + +SET @NPC := 310174; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=490.2794,`position_y`=-4222.425,`position_z`=23.92938 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,490.2794,-4222.425,23.92938,0,0,0,0,100,0), +(@PATH,2,492.0294,-4220.675,23.92938,0,0,0,0,100,0), +(@PATH,3,494.0324,-4213.647,23.80242,0,0,0,0,100,0), +(@PATH,4,495.0324,-4210.897,24.55242,0,0,0,0,100,0), +(@PATH,5,499.0324,-4199.897,24.05242,0,0,0,0,100,0), +(@PATH,6,501.0324,-4194.397,23.30242,0,0,0,0,100,0), +(@PATH,7,502.5324,-4190.647,23.05242,0,0,0,0,100,0), +(@PATH,8,503.4245,-4187.801,22.45321,0,0,0,0,100,0), +(@PATH,9,502.0799,-4178.389,22.28867,0,0,0,0,100,0), +(@PATH,10,499.8299,-4173.139,22.03867,0,0,0,0,100,0), +(@PATH,11,499.5309,-4172.999,21.96888,0,0,0,0,100,0), +(@PATH,12,498.2809,-4169.999,21.46888,0,0,0,0,100,0), +(@PATH,13,493.7809,-4166.499,21.21888,0,0,0,0,100,0), +(@PATH,14,493.3959,-4166.228,20.89663,0,0,0,0,100,0), +(@PATH,15,492.8959,-4165.728,20.89663,0,0,0,0,100,0), +(@PATH,16,486.3959,-4164.478,19.89663,0,0,0,0,100,0), +(@PATH,17,482.3959,-4163.478,19.14663,0,0,0,0,100,0), +(@PATH,18,477.6459,-4162.478,18.64663,0,0,0,0,100,0), +(@PATH,19,477.3293,-4162.448,18.40549,0,0,0,0,100,0), +(@PATH,20,476.3293,-4162.198,18.40549,0,0,0,0,100,0), +(@PATH,21,467.304,-4162.001,18.8057,0,0,0,0,100,0), +(@PATH,22,462.804,-4163.751,19.3057,0,0,0,0,100,0), +(@PATH,23,458.7089,-4165.493,19.97128,0,0,0,0,100,0), +(@PATH,24,449.4932,-4169.094,19.40906,0,0,0,0,100,0), +(@PATH,25,441.109,-4171.364,19.6838,0,0,0,0,100,0), +(@PATH,26,436.7829,-4175.063,20.30129,0,0,0,0,100,0), +(@PATH,27,423.515,-4187.791,20.43603,0,0,0,0,100,0), +(@PATH,28,419.515,-4191.791,20.68603,0,0,0,0,100,0), +(@PATH,29,416.765,-4194.541,21.43603,0,0,0,0,100,0), +(@PATH,30,414.4492,-4196.878,21.64558,0,0,0,0,100,0), +(@PATH,31,413.1992,-4203.378,22.14558,0,0,0,0,100,0), +(@PATH,32,412.5412,-4206.537,22.0668,0,0,0,0,100,0), +(@PATH,33,413.2093,-4219.619,22.37138,0,0,0,0,100,0), +(@PATH,34,418.8591,-4227.432,22.75053,0,0,0,0,100,0), +(@PATH,35,426.4359,-4231.621,23.14396,0,0,0,0,100,0), +(@PATH,36,434.6665,-4231.938,22.78331,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_29_02_world.sql b/sql/updates/world/2015_07_29_02_world.sql new file mode 100644 index 00000000000..b0f6e874b75 --- /dev/null +++ b/sql/updates/world/2015_07_29_02_world.sql @@ -0,0 +1,14 @@ +-- Nordrassil Druid +SET @NPC_YSERA := 40289; +SET @SPELL_GREEN_BRAID_CHANNEL := 74492; + +SET @GUID_DRUID_0 := -371684; +SET @GUID_DRUID_1 := -371675; +SET @GUID_DRUID_2 := -371666; +SET @SOURCETYPE := 0; + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(@GUID_DRUID_0, @GUID_DRUID_1, @GUID_DRUID_2) AND `source_type`=@SOURCETYPE; +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_DRUID_0,@SOURCETYPE,0,0,1,0,100,0,1000,1000,600000,600000,11,@SPELL_GREEN_BRAID_CHANNEL,2,0,0,0,0,19,@NPC_YSERA,0,0,0.0,0.0,0.0,0.0,"Cast SPELL_GREEN_BRAID_CHANNEL (74492) on Ysera (40289)"), +(@GUID_DRUID_1,@SOURCETYPE,0,0,1,0,100,0,1000,1000,600000,600000,11,@SPELL_GREEN_BRAID_CHANNEL,2,0,0,0,0,19,@NPC_YSERA,0,0,0.0,0.0,0.0,0.0,"Cast SPELL_GREEN_BRAID_CHANNEL (74492) on Ysera (40289)"), +(@GUID_DRUID_2,@SOURCETYPE,0,0,1,0,100,0,1000,1000,600000,600000,11,@SPELL_GREEN_BRAID_CHANNEL,2,0,0,0,0,19,@NPC_YSERA,0,0,0.0,0.0,0.0,0.0,"Cast SPELL_GREEN_BRAID_CHANNEL (74492) on Ysera (40289)"); diff --git a/sql/updates/world/2015_07_29_03_world.sql b/sql/updates/world/2015_07_29_03_world.sql new file mode 100644 index 00000000000..52b65c625d8 --- /dev/null +++ b/sql/updates/world/2015_07_29_03_world.sql @@ -0,0 +1,203 @@ +-- +DELETE FROM `playercreateinfo_cast_spell` WHERE `spell` IN(108059,108061,108058,108057,108056,108055,108060); +INSERT INTO `playercreateinfo_cast_spell` (`racemask`, `classmask`, `spell`, `note`) VALUES +(8388608, 1, 108059 , 'Pandaren - Warrior - Remove weapon'), -- 73210 +(8388608, 4, 108061 , 'Pandaren - Hunter - Remove weapon'), -- 73211 +(8388608, 8, 108058 , 'Pandaren - Rogue - Remove weapon'), -- 73208, 73212 +(8388608, 16, 108057 , 'Pandaren - Priest - Remove weapon'), -- 73207, 76393 +(8388608, 64, 108056 , 'Pandaren - Shaman - Remove weapon'), -- 76391, 73213 +(8388608, 128, 108055 , 'Pandaren - Mage - Remove weapon'), -- 76390, 76392 +(8388608, 512, 108060 , 'Pandaren - Monk - Remove weapon'); -- 73209 + +DELETE FROM `phase_area` WHERE `AreaId` = 5834; +INSERT INTO `phase_area` (`AreaId`, `PhaseId`, `Comment`) VALUES +(5834, 592, 'Pandaren starting zone - warrior'), +(5834, 593, 'Pandaren starting zone - mage'), +(5834, 594, 'Pandaren starting zone - hunter'), +(5834, 595, 'Pandaren starting zone - priest'), +(5834, 596, 'Pandaren starting zone - rogue'), +(5834, 597, 'Pandaren starting zone - shaman'), +(5834, 598, 'Pandaren starting zone - monk'), +(5834, 169, 'Pandaren starting zone - all classes'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=26 AND `SourceGroup`=0 AND `SourceEntry` IN(598,597,596,595,594,593,592); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(26,0,598,0,0,15,0,512,0,0,0,"","Get phase only if the class is Monk"), +(26,0,593,0,0,15,0,128,0,0,0,"","Get phase only if the class is Mage"), +(26,0,594,0,0,15,0,4,0,0,0,"","Get phase only if the class is Hunter"), +(26,0,595,0,0,15,0,16,0,0,0,"","Get phase only if the class is Priest"), +(26,0,596,0,0,15,0,8,0,0,0,"","Get phase only if the player is Rogue"), +(26,0,597,0,0,15,0,64,0,0,0,"","Get phase only if the class is Shaman"), +(26,0,592,0,0,15,0,1,0,0,0,"","Get phase only if the class is Warrior"); + +UPDATE `gameobject` SET `PhaseId`=598 WHERE `id`=210005; +UPDATE `gameobject_template` SET `Data17`=13361 WHERE `entry`=210015; +UPDATE `gameobject_template` SET `Data17`=13362 WHERE `entry`=210016; +UPDATE `gameobject_template` SET `Data17`=13363 WHERE `entry`=210017; +UPDATE `gameobject_template` SET `Data17`=13365 WHERE `entry`=210018; +UPDATE `gameobject_template` SET `Data17`=13366 WHERE `entry`=210019; +UPDATE `gameobject_template` SET `Data17`=13364 WHERE `entry`=210020; +UPDATE `gameobject_template` SET `Data26`=128680, `VerifiedBuild`=19116 WHERE `entry` IN(210015,210016,210017,210018,210019,210020); + +DELETE FROM `gameobject_addon` WHERE `guid` IN(45878,45947); +INSERT INTO `gameobject_addon` (`guid`, `invisibilityType`, `invisibilityValue`) VALUES +(45878, 7, 1), +(45947, 9, 100); + +-- Instructor Qun SAI +SET @ENTRY := 57748; +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,1,0,100,0,4000,4000,5000,5000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Instructor Qun - Out of Combat - Play Random Emote (509, 543, 511, 507)"), +(@ENTRY,0,1,2,61,0,100,0,4000,4000,5000,5000,45,1,1,0,0,0,0,9,53565,0,15,0,0,0,0,"Instructor Qun - Out of Combat - Set Data 1 1"), +(@ENTRY,0,2,0,61,0,100,0,4000,4000,5000,5000,45,1,1,0,0,0,0,9,65469,0,15,0,0,0,0,"Instructor Qun - Out of Combat - Set Data 1 1"); + +-- Actionlist SAI +SET @ENTRY := 5356500; +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,1,1000,1000,0,0,11,108967,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Cast 'Jab' (No Repeat)"); + +-- Aspiring Trainee SAI +SET @ENTRY := 53565; +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,38,0,100,0,1,1,5000,5000,80,53565*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 1 1 - Run Script"); + +-- Aspiring Trainee SAI +SET @ENTRY := 65469; +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,38,0,100,0,1,1,5000,5000,80,53565*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 1 1 - Run Script"); + +-- Aspiring Trainee SAI +SET @GUID := -138320; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=53565; +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,1,100,0,0,0,4000,8000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - Out of Combat - Play Random Emote (509, 543, 511, 507)"), +(@GUID,0,1,2,38,0,100,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Say Line 0"), +(@GUID,0,2,0,61,0,100,0,2,1,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Set Event Phase 2"), +(@GUID,0,3,0,38,0,100,0,2,2,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 2 - Set Event Phase 1"), +(@GUID,0,4,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Reset - Set Event Phase 1"); + +-- Aspiring Trainee SAI +SET @GUID := -138307; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=53565; +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,1,100,0,0,0,4000,8000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - Out of Combat - Play Random Emote (509, 543, 511, 507)"), +(@GUID,0,1,2,38,0,100,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Say Line 0"), +(@GUID,0,2,0,61,0,100,0,2,1,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Set Event Phase 2"), +(@GUID,0,3,0,38,0,100,0,2,2,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 2 - Set Event Phase 1"), +(@GUID,0,4,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Reset - Set Event Phase 1"); + +-- Aspiring Trainee SAI +SET @GUID := -138305; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=53565; +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,1,100,0,0,0,4000,8000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - Out of Combat - Play Random Emote (509, 543, 511, 507)"), +(@GUID,0,1,2,38,0,100,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Say Line 0"), +(@GUID,0,2,0,61,0,100,0,2,1,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Set Event Phase 2"), +(@GUID,0,3,0,38,0,100,0,2,2,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 2 - Set Event Phase 1"), +(@GUID,0,4,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Reset - Set Event Phase 1"); + +-- Aspiring Trainee SAI +SET @GUID := -138289; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=53565; +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,1,100,0,0,0,4000,8000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - Out of Combat - Play Random Emote (509, 543, 511, 507)"), +(@GUID,0,1,2,38,0,100,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Say Line 0"), +(@GUID,0,2,0,61,0,100,0,2,1,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Set Event Phase 2"), +(@GUID,0,3,0,38,0,100,0,2,2,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 2 - Set Event Phase 1"), +(@GUID,0,4,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Reset - Set Event Phase 1"); + +-- Aspiring Trainee SAI +SET @GUID := -138299; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=53565; +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,1,100,0,0,0,4000,8000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - Out of Combat - Play Random Emote (509, 543, 511, 507)"), +(@GUID,0,1,2,38,0,100,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Say Line 0"), +(@GUID,0,2,0,61,0,100,0,2,1,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 1 - Set Event Phase 2"), +(@GUID,0,3,0,38,0,100,0,2,2,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Data Set 2 2 - Set Event Phase 1"), +(@GUID,0,4,0,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Aspiring Trainee - On Reset - Set Event Phase 1"); + +-- Aspiring Trainee SAI +SET @GUID := -138284; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=53565; +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,120000,150000,300000,350000,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Aspiring Trainee - Out of Combat - Say Line 1"); + +-- Training Target SAI +SET @ENTRY := 53714; +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,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Training Target - On Reset - Set Reactstate Passive"), +(@ENTRY,0,1,0,6,0,100,0,0,0,0,0,45,2,1,0,0,0,0,11,53565,3,0,0,0,0,0,"Training Target - On Just Died - Set Data 2 1"), +(@ENTRY,0,2,0,6,0,100,0,0,0,0,0,45,2,1,0,0,0,0,11,65469,3,0,0,0,0,0,"Training Target - On Just Died - Set Data 2 1"), +(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,45,2,2,0,0,0,0,11,53565,3,0,0,0,0,0,"Training Target - On Reset - Set Data 2 2"), +(@ENTRY,0,4,0,25,0,100,0,0,0,0,0,45,2,2,0,0,0,0,11,65469,3,0,0,0,0,0,"Training Target - On Reset - Set Data 2 2"); + +-- Training Target SAI +SET @ENTRY := 57873; +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,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Training Target - On Reset - Set Reactstate Passive"), +(@ENTRY,0,1,0,6,0,100,0,0,0,0,0,45,2,1,0,0,0,0,11,53565,3,0,0,0,0,0,"Training Target - On Just Died - Set Data 2 1"), +(@ENTRY,0,2,0,6,0,100,0,0,0,0,0,45,2,1,0,0,0,0,11,65469,3,0,0,0,0,0,"Training Target - On Just Died - Set Data 2 1"), +(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,45,2,2,0,0,0,0,11,53565,3,0,0,0,0,0,"Training Target - On Reset - Set Data 2 2"), +(@ENTRY,0,4,0,25,0,100,0,0,0,0,0,45,2,2,0,0,0,0,11,65469,3,0,0,0,0,0,"Training Target - On Reset - Set Data 2 2"); + +-- Quiet Lam SAI +SET @ENTRY := 57752; +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,5000,5000,5000,5000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Quiet Lam - Out of Combat - Play Random Emote (509, 543, 511, 507)"); + +-- Ironfist Zhou SAI +SET @ENTRY := 57753; +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,4000,4000,5000,5000,10,509,543,511,507,0,0,1,0,0,0,0,0,0,0,"Ironfist Zhou - Out of Combat - Play Random Emote (509, 543, 511, 507)"); + +DELETE FROM `creature_text` WHERE `entry` IN (54587,65471,54586,65470,65469,53565); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +-- Tushui Trainee +(54587, 0, 0, 'That was a good match. Thank you.', 12, 0, 100, 1, 0, 0, 56444, 'Tushui Trainee to 0'), +(54587, 0, 1, 'You fought well. I must learn more from you in the future.', 12, 0, 100, 1, 0, 0, 56443, 'Tushui Trainee to 0'), +(54587, 0, 2, 'Thank you for reminding me that I must train more diligently.', 12, 0, 100, 1, 0, 0, 56439, 'Tushui Trainee to 0'), +-- Tushui Trainee +(65471, 0, 0, 'That was a good match. Thank you.', 12, 0, 100, 1, 0, 0, 56444, 'Tushui Trainee to 0'), +(65471, 0, 1, 'You fought well. I must learn more from you in the future.', 12, 0, 100, 1, 0, 0, 56443, 'Tushui Trainee to 0'), +(65471, 0, 2, 'Thank you for reminding me that I must train more diligently.', 12, 0, 100, 1, 0, 0, 56439, 'Tushui Trainee to 0'), +-- Huojin Trainee +(54586, 0, 0, 'That was a good match. Thank you.', 12, 0, 100, 511, 0, 0, 56444, 'Huojin Trainee to 0'), +(54586, 0, 1, 'My skills are no match for yours. I admit defeat.', 12, 0, 100, 507, 0, 0, 56441, 'Huojin Trainee to 0'), +(54586, 0, 2, 'Your skills are too great. I yield.', 12, 0, 100, 511, 0, 0, 56442, 'Huojin Trainee to 0'), +-- Huojin Trainee +(65470, 0, 0, 'That was a good match. Thank you.', 12, 0, 100, 1, 0, 0, 56444, 'Huojin Trainee to 0'), +(65470, 0, 1, 'My skills are no match for yours. I admit defeat.', 12, 0, 100, 507, 0, 0, 56441, 'Huojin Trainee to 0'), +(65470, 0, 2, 'Your skills are too great. I yield.', 12, 0, 100, 511, 0, 0, 56442, 'Huojin Trainee to 0'), +-- Aspiring Trainee +(65469, 0, 0, 'Such skill for a new trainee.', 12, 0, 100, 511, 0, 0, 56431, 'Aspiring Trainee to Training Target'), +(65469, 0, 1, 'That target didn''t stand a chance.', 12, 0, 100, 509, 0, 0, 56433, 'Aspiring Trainee to Training Target'), +(65469, 0, 2, 'One day you will have to teach me your secrets.', 12, 0, 100, 509, 0, 0, 56432, 'Aspiring Trainee to Training Target'), +(65469, 0, 3, 'You are bound for a great things, trainee.', 12, 0, 100, 508, 0, 0, 56435, 'Aspiring Trainee to Training Target'), +-- Aspiring Trainee +(53565, 0, 0, 'Such skill for a new trainee.', 12, 0, 100, 511, 0, 0, 56431, 'Aspiring Trainee to Training Target'), +(53565, 0, 1, 'That target didn''t stand a chance.', 12, 0, 100, 511, 0, 0, 56433, 'Aspiring Trainee to Training Target'), +(53565, 0, 2, 'One day you will have to teach me your secrets.', 12, 0, 100, 509, 0, 0, 56432, 'Aspiring Trainee to Training Target'), +(53565, 0, 3, 'You are bound for a great things, trainee.', 12, 0, 100, 508, 0, 0, 56435, 'Aspiring Trainee to Training Target'), +(53565, 1, 0, 'My money''s on Lam. Did you see him take down Chu during training last week?', 12, 0, 100, 1, 0, 0, 56420, 'Aspiring Trainee to 0'); + diff --git a/sql/updates/world/2015_07_29_04_world.sql b/sql/updates/world/2015_07_29_04_world.sql new file mode 100644 index 00000000000..d497b91567b --- /dev/null +++ b/sql/updates/world/2015_07_29_04_world.sql @@ -0,0 +1,2027 @@ +-- +-- DB/Pathing/Emotes: Orgrimmar - The Valley of Spirits/Wisdom + The Drag + Valley of Strength +-- Conjurer Mixli SAI +SET @ENTRY := 45714; +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,3000,5000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Conjurer Mixli - Out of Combat - Play Emote 1"); + +-- shadowchannel +-- Unjari Feltongue SAI +SET @ENTRY := 45138; +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,1000,10000,10000,11,45104,0,0,0,0,0,1,0,0,0,0,0,0,0,"Unjari Feltongue - Out of Combat - Cast 'Shadow Channelling'"); + +-- Kazrali the Witch SAI +SET @ENTRY := 45720; +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,3000,5000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kazrali the Witch - Out of Combat - Play Emote 1"); + +-- Goblin Bitchfight +DELETE FROM `creature_addon` WHERE `guid` IN (287013, 287010); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(287013, 0, 0, 0, 257, 0, '42648'), +(287010, 0, 0, 0, 257, 0, '42648'); + +-- Off-Duty Siegeworker SAI +SET @ENTRY := 45830; +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,2000,3000,10,396,273,11,5,25,15,1,0,0,0,0,0,0,0,"Off-Duty Siegeworker - Out of Combat - Play Random Emote (396, 273, 11, 5, 25, 15)"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=45830; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`,`NegativeCondition`) VALUES +(22,1,45830,0,0,1,1,42648,0,0,0,"","Off-Duty Siegeworker - Only run SAI without Sleep aura",1); + +-- ballonflight +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=41266; + +-- the cook is always the killer +-- Zarbo Porkpatty SAI +SET @ENTRY := 45550; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Zarbo Porkpatty - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 4555000; +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,66,0,0,0,0,0,0,8,0,0,0,0,0,0,5.722174,"On Script - Set Orientation 5,722174"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 69"), +(@ENTRY,9,2,0,0,0,100,0,10000,10000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.134460,"On Script - Set Orientation 1,134460"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- Kazit SAI +SET @ENTRY := 46080; +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,2000,3000,10,396,273,11,5,25,15,1,0,0,0,0,0,0,0,"Kazit - Out of Combat - Play Random Emote (396, 273, 11, 5, 25, 15)"); + +-- Boss Mida SAI +SET @ENTRY := 46078; +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,2000,3000,10,396,273,11,5,25,15,1,0,0,0,0,0,0,0,"Boss Mida - Out of Combat - Play Random Emote (396, 273, 11, 5, 25, 15)"); + +-- Bruiser Janx SAI +SET @ENTRY := 45709; +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,2000,3000,10,396,273,11,5,25,15,1,0,0,0,0,0,0,0,"Bruiser Janx - Out of Combat - Play Random Emote (396, 273, 11, 5, 25, 15)"); + +-- darkspeeremotes +-- Darkspear Headhunter SAI +SET @ENTRY := 45015; +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,3000,5000,8000,10000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darkspear Headhunter - Out of Combat - Play Emote 1"); + +-- Huntress Kuzari SAI +SET @ENTRY := 45023; +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,3000,5000,8000,10000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Huntress Kuzari - Out of Combat - Play Emote 1"); + +-- Berserker Zanga SAI +SET @ENTRY := 45019; +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,3000,5000,8000,10000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Berserker Zanga - Out of Combat - Play Emote 1"); + +-- frogmovement +UPDATE `creature` SET `spawndist`=8, `MovementType`=1 WHERE `id`=1420; + +-- danceing +-- Batamsi SAI +SET @ENTRY := 45008; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Batamsi - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 4500800; +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,17,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 10"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- cook +-- Zamja SAI +SET @ENTRY := 3399; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Zamja - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 339900; +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,17,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 28"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- hammer +DELETE FROM `creature_template_addon` WHERE `entry`=44781; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(44781,0,0,0,1,233, ''); + +-- kürschnern +-- Rento SAI +SET @ENTRY := 44782; +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,1000,21000,21000,80,44782000,2,0,0,0,0,1,0,0,0,0,0,0,0,"Rento - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 4478200; +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,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 69"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- Searn Firewarder SAI +SET @ENTRY := 5892; +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,3000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Searn Firewarder - Out of Combat - Play Emote 1"); + +-- Sagorne Creststrider SAI +SET @ENTRY := 13417; +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,3000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sagorne Creststrider - Out of Combat - Play Emote 1"); + +-- Kardris Dreamseeker SAI +SET @ENTRY := 3344; +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,3000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kardris Dreamseeker - Out of Combat - Play Emote 1"); + +-- standup +DELETE FROM `creature_addon` WHERE `guid` IN (311047, 311035, 311048, 286766); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(311047,0,0,0,1,0, ''), +(311035,0,0,0,1,0, ''), +(311048,0,0,0,1,0, ''), +(286766,0,0,0,1,0, ''); +-- Nerog SAI +SET @ENTRY := 46716; +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,3000,5000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nerog - Out of Combat - Play Emote 1"); + +-- Zilzibin Drumlore SAI +SET @ENTRY := 7010; +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,3000,5000,3000,5000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Zilzibin Drumlore - Out of Combat - Play Emote 1"); + +-- talking + no +-- Seer Liwatha SAI +SET @ENTRY := 44735; +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,3000,5000,3000,5000,10,1,274,0,0,0,0,1,0,0,0,0,0,0,0,"Seer Liwatha - Out of Combat - Play Random Emote (1, 274)"); + +-- Sunwalker Atohmo SAI +SET @ENTRY := 44725; +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,3000,5000,3000,5000,10,1,274,0,0,0,0,1,0,0,0,0,0,0,0,"Sunwalker Atohmo - Out of Combat - Play Random Emote (1, 274)"); + +-- Nahu Ragehoof SAI +SET @ENTRY := 44723; +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,3000,5000,3000,5000,10,1,274,0,0,0,0,1,0,0,0,0,0,0,0,"Nahu Ragehoof - Out of Combat - Play Random Emote (1, 274)"); + +-- Nohi Plainswalker SAI +SET @ENTRY := 44743; +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,3000,5000,3000,5000,10,1,274,0,0,0,0,1,0,0,0,0,0,0,0,"Nohi Plainswalker - Out of Combat - Play Random Emote (1, 274)"); + +-- Sahi Cloudsinger SAI +SET @ENTRY := 44740; +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,3000,5000,3000,5000,10,1,274,0,0,0,0,1,0,0,0,0,0,0,0,"Sahi Cloudsinger - Out of Combat - Play Random Emote (1, 274)"); + +-- Shalla Whiteleaf SAI +SET @ENTRY := 44726; +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,3000,5000,3000,5000,10,1,274,0,0,0,0,1,0,0,0,0,0,0,0,"Shalla Whiteleaf - Out of Combat - Play Random Emote (1, 274)"); + +-- kruscteln +-- Kor'geld SAI +SET @ENTRY := 3348; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kor'geld - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 334800; +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,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 69"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- Whuut SAI +SET @ENTRY := 11046; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Whuut - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 1104600; +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,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Whuut - On Script - Set Emote State 69"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Whuut - On Script - Set Emote State 0"); + +-- Dran Droffers SAI +SET @ENTRY := 6986; +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,2000,3000,10,15,274,0,0,0,0,1,0,0,0,0,0,0,0,"Dran Droffers - Out of Combat - Play Random Emote (15, 274)"); + +-- Malton Droffers SAI +SET @ENTRY := 6987; +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,2000,3000,10,5,274,0,0,0,0,1,0,0,0,0,0,0,0,"Malton Droffers - Out of Combat - Play Random Emote (5, 274)"); + +-- Marud SAI +SET @ENTRY := 47247; +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,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Marud - On Reset - Set Emote State 69"); + +-- Gordul SAI +SET @ENTRY := 47233; +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,3000,5000,3000,5000,10,396,273,396,0,0,0,1,0,0,0,0,0,0,0,"Gordul - Out of Combat - Play Random Emote (396, 273, 396)"); + +-- Ormok SAI +SET @ENTRY := 3328; +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,3000,5000,3000,5000,10,396,273,396,0,0,0,1,0,0,0,0,0,0,0,"Ormok - Out of Combat - Play Random Emote (396, 273, 396)"); + +-- Gest SAI +SET @ENTRY := 3327; +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,3000,5000,3000,5000,10,396,273,396,0,0,0,1,0,0,0,0,0,0,0,"Gest - Out of Combat - Play Random Emote (396, 273, 396)"); + +SET @NPC := 286787; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1847.02,`position_y`=-4319.55,`position_z`=-15.45576 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,1847.02,-4319.55,-15.45576,0,0,0,0,100,0), +(@PATH,2,1847.02,-4319.55,-15.45576,0.7330383,5000,0,0,100,0), +(@PATH,3,1838.115,-4318.975,-15.21886,0,0,0,0,100,0), +(@PATH,4,1836.71,-4318.9,-15.48197,2.338741,0,0,0,100,0), +(@PATH,5,1838.385,-4319.755,-15.22519,0,0,0,0,100,0), +(@PATH,6,1846.06,-4324.11,-15.46842,3.595378,5000,0,0,100,0), +(@PATH,7,1844.135,-4329.245,-15.21449,0,0,0,0,100,0), +(@PATH,8,1843.21,-4331.38,-15.46056,4.729842,5000,0,0,100,0), +(@PATH,9,1844.135,-4329.245,-15.21449,0,0,0,0,100,0), +(@PATH,10,1846.06,-4324.11,-15.46842,3.595378,5000,0,0,100,0), +(@PATH,11,1847.02,-4319.55,-15.45576,0,0,0,0,100,0), +(@PATH,12,1847.02,-4319.55,-15.45576,0.7330383,5000,0,0,100,0), +(@PATH,13,1838.115,-4318.975,-15.21886,0,0,0,0,100,0), +(@PATH,14,1836.71,-4318.9,-15.48197,2.338741,5000,0,0,100,0), +(@PATH,15,1838.385,-4319.755,-15.22519,0,0,0,0,100,0), +(@PATH,16,1846.06,-4324.11,-15.46842,3.595378,5000,0,0,100,0), +(@PATH,17,1849.485,-4399.909,120.7372,0,0,0,0,100,0), +(@PATH,18,1851.735,-4397.409,119.2372,0,0,0,0,100,0), +(@PATH,19,1853.235,-4395.659,118.2372,0,0,0,0,100,0), +(@PATH,20,1853.735,-4395.659,117.7372,0,0,0,0,100,0), +(@PATH,21,1844.135,-4329.245,-15.21449,0,0,0,0,100,0), +(@PATH,22,1843.21,-4331.38,-15.46056,4.729842,5000,0,0,100,0), +(@PATH,23,1844.135,-4329.245,-15.21449,0,0,0,0,100,0), +(@PATH,24,1846.06,-4324.11,-15.46842,3.595378,5000,0,0,100,0); + +SET @NPC := 310937; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1748.64,`position_y`=-4326.93,`position_z`=6.200298 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,1748.64,-4326.93,6.200298,0,0,0,0,100,0), +(@PATH,2,1750.313,-4320.861,6.197538,0,0,0,0,100,0), +(@PATH,3,1750.249,-4321.09,6.197643,0.8726646,5000,0,0,100,0), +(@PATH,4,1743.22,-4322.41,6.206087,0,0,0,0,100,0), +(@PATH,5,1750.313,-4320.861,6.197538,0,0,0,0,100,0), +(@PATH,6,1750.313,-4320.861,6.197538,0.8726646,0,0,0,100,0), +(@PATH,7,1750.313,-4320.861,6.197538,0.8726646,5000,0,0,100,0), +(@PATH,8,1748.64,-4326.93,6.200298,0,0,0,0,100,0); + +SET @NPC := 310955; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1800.63,`position_y`=-4344.018,`position_z`=-10.65129 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,1800.63,-4344.018,-10.65129,0,0,0,0,100,0), +(@PATH,2,1800.13,-4342.018,-10.65129,0,0,0,0,100,0), +(@PATH,3,1797.486,-4330.341,-10.85035,0,0,0,0,100,0), +(@PATH,4,1794.486,-4323.841,-10.85035,0,0,0,0,100,0), +(@PATH,5,1793.736,-4322.091,-10.10035,0,0,0,0,100,0), +(@PATH,6,1791.486,-4316.841,-6.850345,0,0,0,0,100,0), +(@PATH,7,1788.986,-4311.341,-4.100345,0,0,0,0,100,0), +(@PATH,8,1787.486,-4307.841,-1.600345,0,0,0,0,100,0), +(@PATH,9,1785.661,-4303.881,0.6941774,0,0,0,0,100,0), +(@PATH,10,1784.411,-4302.631,1.944177,0,0,0,0,100,0), +(@PATH,11,1780.661,-4299.131,4.944178,0,0,0,0,100,0), +(@PATH,12,1779.411,-4298.131,5.694178,0,0,0,0,100,0), +(@PATH,13,1779.501,-4297.958,5.53544,0,0,0,0,100,0), +(@PATH,14,1780.501,-4298.958,4.78544,0,0,0,0,100,0), +(@PATH,15,1784.251,-4302.708,1.78544,0,0,0,0,100,0), +(@PATH,16,1784.525,-4302.977,1.662452,0,0,0,0,100,0), +(@PATH,17,1786.025,-4304.227,0.4124517,0,0,0,0,100,0), +(@PATH,18,1787.525,-4307.727,-1.837548,0,0,0,0,100,0), +(@PATH,19,1789.025,-4311.477,-4.087548,0,0,0,0,100,0), +(@PATH,20,1791.275,-4316.477,-7.087548,0,0,0,0,100,0), +(@PATH,21,1793.775,-4321.977,-10.08755,0,0,0,0,100,0), +(@PATH,22,1794.525,-4323.977,-11.08755,0,0,0,0,100,0), +(@PATH,23,1797.615,-4330.72,-11.03062,0,0,0,0,100,0), +(@PATH,24,1800.115,-4342.22,-10.53062,0,0,0,0,100,0), +(@PATH,25,1800.054,-4342.425,-10.50339,0,0,0,0,100,0), +(@PATH,26,1800.554,-4344.425,-10.50339,0,0,0,0,100,0), +(@PATH,27,1799.054,-4346.425,-10.50339,0,0,0,0,100,0), +(@PATH,28,1795.304,-4350.175,-11.50339,0,0,0,0,100,0), +(@PATH,29,1790.934,-4355.938,-12.91172,0,0,0,0,100,0), +(@PATH,30,1790.934,-4357.188,-13.41172,0,0,0,0,100,0), +(@PATH,31,1790.184,-4363.688,-14.66172,0,0,0,0,100,0), +(@PATH,32,1790.067,-4363.927,-14.67502,0,0,0,0,100,0), +(@PATH,33,1790.067,-4364.677,-15.17502,0,0,0,0,100,0), +(@PATH,34,1790.317,-4366.677,-15.92502,0,0,0,0,100,0), +(@PATH,35,1790.567,-4367.927,-15.92502,0,0,0,0,100,0), +(@PATH,36,1790.817,-4369.927,-15.92502,0,0,0,0,100,0), +(@PATH,37,1790.817,-4371.177,-15.92502,0,0,0,0,100,0), +(@PATH,38,1791.567,-4377.427,-16.42502,0,0,0,0,100,0), +(@PATH,39,1792.904,-4383.558,-17.30309,0,0,0,0,100,0), +(@PATH,40,1793.654,-4384.058,-17.30309,0,0,0,0,100,0), +(@PATH,41,1798.426,-4387.68,-17.53324,0,0,0,0,100,0), +(@PATH,42,1798.426,-4387.18,-17.28324,0,0,0,0,100,0), +(@PATH,43,1798.945,-4392.266,-17.35662,0,0,0,0,100,0), +(@PATH,44,1790.257,-4389.847,-16.64119,0,0,0,0,100,0), +(@PATH,45,1789.007,-4387.347,-16.64119,0,0,0,0,100,0), +(@PATH,46,1787.757,-4383.347,-16.64119,0,0,0,0,100,0), +(@PATH,47,1786.757,-4381.347,-16.39119,0,0,0,0,100,0), +(@PATH,48,1785.257,-4377.597,-15.89119,0,0,0,0,100,0), +(@PATH,49,1785.057,-4377.37,-16.02831,0,0,0,0,100,0), +(@PATH,50,1784.557,-4375.62,-15.77831,0,0,0,0,100,0), +(@PATH,51,1785.307,-4372.87,-15.77831,0,0,0,0,100,0), +(@PATH,52,1786.057,-4371.12,-16.02831,0,0,0,0,100,0), +(@PATH,53,1786.557,-4368.62,-16.02831,0,0,0,0,100,0), +(@PATH,54,1786.79,-4368.333,-15.72491,0,0,0,0,100,0), +(@PATH,55,1787.54,-4365.833,-15.47491,0,0,0,0,100,0), +(@PATH,56,1789.04,-4363.833,-14.72491,0,0,0,0,100,0), +(@PATH,57,1792.54,-4359.083,-13.47491,0,0,0,0,100,0), +(@PATH,58,1793.54,-4357.583,-12.97491,0,0,0,0,100,0), +(@PATH,59,1794.762,-4355.913,-12.41032,0,0,0,0,100,0), +(@PATH,60,1798.262,-4354.913,-11.66032,0,0,0,0,100,0), +(@PATH,61,1799.762,-4354.413,-10.91032,0,0,0,0,100,0), +(@PATH,62,1800.079,-4354.228,-10.46055,0,0,0,0,100,0), +(@PATH,63,1802.579,-4353.478,-10.21055,0,0,0,0,100,0), +(@PATH,64,1808.079,-4358.728,-9.960546,0,0,0,0,100,0), +(@PATH,65,1812.829,-4362.978,-9.210546,0,0,0,0,100,0), +(@PATH,66,1815.329,-4365.478,-9.210546,0,0,0,0,100,0), +(@PATH,67,1815.723,-4365.562,-8.855595,0,0,0,0,100,0), +(@PATH,68,1816.723,-4366.812,-8.605595,0,0,0,0,100,0), +(@PATH,69,1817.223,-4367.562,-8.605595,0,0,0,0,100,0), +(@PATH,70,1817.973,-4368.812,-8.355595,0,0,0,0,100,0), +(@PATH,71,1819.723,-4371.312,-7.605595,0,0,0,0,100,0), +(@PATH,72,1821.973,-4375.812,-6.355595,0,0,0,0,100,0), +(@PATH,73,1826.223,-4382.312,-4.355595,0,0,0,0,100,0), +(@PATH,74,1829.572,-4387.597,-1.480897,0,0,0,0,100,0), +(@PATH,75,1829.822,-4388.597,-0.9808973,0,0,0,0,100,0), +(@PATH,76,1830.322,-4390.097,-0.4808973,0,0,0,0,100,0), +(@PATH,77,1831.572,-4393.847,1.019103,0,0,0,0,100,0), +(@PATH,78,1832.322,-4395.847,1.769103,0,0,0,0,100,0), +(@PATH,79,1832.822,-4397.597,3.019103,0,0,0,0,100,0), +(@PATH,80,1832.948,-4397.764,3.117026,0,0,0,0,100,0), +(@PATH,81,1833.448,-4399.014,3.867026,0,0,0,0,100,0), +(@PATH,82,1833.948,-4400.764,4.367026,0,0,0,0,100,0), +(@PATH,83,1834.198,-4401.764,4.617026,0,0,0,0,100,0), +(@PATH,84,1834.948,-4404.264,5.117026,0,0,0,0,100,0), +(@PATH,85,1835.448,-4405.514,5.117026,0,0,0,0,100,0), +(@PATH,86,1835.217,-4404.634,5.304562,0,0,0,0,100,0), +(@PATH,87,1835.717,-4405.634,5.554562,0,0,0,0,100,0), +(@PATH,88,1835.967,-4406.634,5.554562,0,0,0,0,100,0), +(@PATH,89,1837.467,-4407.134,5.304562,0,0,0,0,100,0), +(@PATH,90,1843.717,-4408.384,5.054562,0,0,0,0,100,0), +(@PATH,91,1845.467,-4409.134,5.554562,0,0,0,0,100,0), +(@PATH,92,1846.717,-4409.384,5.554562,0,0,0,0,100,0), +(@PATH,93,1848.467,-4409.884,5.804562,0,0,0,0,100,0), +(@PATH,94,1855.436,-4411.794,6.632955,0,0,0,0,100,0), +(@PATH,95,1851.686,-4408.044,6.132955,0,0,0,0,100,0), +(@PATH,96,1849.686,-4406.294,6.132955,0,0,0,0,100,0), +(@PATH,97,1847.186,-4403.794,5.632955,0,0,0,0,100,0), +(@PATH,98,1844.936,-4402.044,5.632955,0,0,0,0,100,0), +(@PATH,99,1844.186,-4401.294,5.132955,0,0,0,0,100,0), +(@PATH,100,1840.936,-4398.044,4.382955,0,0,0,0,100,0), +(@PATH,101,1839.686,-4396.794,4.632955,0,0,0,0,100,0), +(@PATH,102,1838.186,-4395.294,3.632955,0,0,0,0,100,0), +(@PATH,103,1837.845,-4395.007,3.208251,0,0,0,0,100,0), +(@PATH,104,1835.845,-4393.257,1.958251,0,0,0,0,100,0), +(@PATH,105,1835.095,-4392.007,1.208251,0,0,0,0,100,0), +(@PATH,106,1833.345,-4389.257,-0.2917492,0,0,0,0,100,0), +(@PATH,107,1831.845,-4386.757,-1.541749,0,0,0,0,100,0), +(@PATH,108,1830.095,-4384.007,-2.791749,0,0,0,0,100,0), +(@PATH,109,1828.595,-4381.757,-4.041749,0,0,0,0,100,0), +(@PATH,110,1826.595,-4378.507,-5.291749,0,0,0,0,100,0), +(@PATH,111,1824.845,-4375.507,-6.541749,0,0,0,0,100,0), +(@PATH,112,1822.595,-4372.007,-7.041749,0,0,0,0,100,0), +(@PATH,113,1821.845,-4371.007,-7.291749,0,0,0,0,100,0), +(@PATH,114,1820.845,-4369.257,-7.791749,0,0,0,0,100,0), +(@PATH,115,1820.095,-4368.007,-8.041749,0,0,0,0,100,0), +(@PATH,116,1818.468,-4365.716,-8.782751,0,0,0,0,100,0), +(@PATH,117,1817.718,-4364.216,-9.032751,0,0,0,0,100,0), +(@PATH,118,1812.218,-4355.216,-9.782751,0,0,0,0,100,0), +(@PATH,119,1809.649,-4351.164,-10.26638,0,0,0,0,100,0), +(@PATH,120,1808.899,-4339.414,-10.51638,0,0,0,0,100,0), +(@PATH,121,1808.399,-4336.414,-10.76638,0,0,0,0,100,0), +(@PATH,122,1808.149,-4331.664,-10.76638,0,0,0,0,100,0), +(@PATH,123,1807.899,-4330.664,-10.76638,0,0,0,0,100,0), +(@PATH,124,1807.992,-4330.78,-10.87779,0,0,0,0,100,0), +(@PATH,125,1807.992,-4331.78,-10.87779,0,0,0,0,100,0), +(@PATH,126,1808.242,-4336.28,-10.87779,0,0,0,0,100,0), +(@PATH,127,1808.492,-4338.78,-10.62779,0,0,0,0,100,0); + +SET @NPC := 286703; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1963.26,`position_y`=-4468.53,`position_z`=25.8766 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,1963.26,-4468.53,25.8766,0,0,0,0,100,0), +(@PATH,2,1963.243,-4468.618,26.14035,0,0,0,0,100,0), +(@PATH,3,1962.993,-4469.618,26.14035,0,0,0,0,100,0), +(@PATH,4,1962.601,-4472.248,25.94987,0,0,0,0,100,0), +(@PATH,5,1961.351,-4472.998,25.94987,0,0,0,0,100,0), +(@PATH,6,1959.851,-4473.998,26.19987,0,0,0,0,100,0), +(@PATH,7,1956.24,-4474.94,26.0593,0,0,0,0,100,0), +(@PATH,8,1956.24,-4474.94,26.0593,2.86234,5000,0,0,100,0), +(@PATH,9,1960.57,-4475.36,26.24231,0,0,0,0,100,0), +(@PATH,10,1962.57,-4475.36,25.99231,0,0,0,0,100,0), +(@PATH,11,1963.725,-4469.7,26.15803,0,0,0,0,100,0), +(@PATH,12,1961.328,-4464.891,26.15244,0,0,0,0,100,0), +(@PATH,13,1963.38,-4460.72,25.91459,5.427974,5000,0,0,100,0); + +SET @NPC := 311026; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1894.27,`position_y`=-4365.83,`position_z`=43.7109 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,1894.27,-4365.83,43.7109,2.024582,5000,0,0,100,0), +(@PATH,2,1892.38,-4362,42.4427,0,0,0,0,100,0), +(@PATH,3,1888.38,-4357.25,40.1927,0,0,0,0,100,0), +(@PATH,4,1884.38,-4353,37.1927,0,0,0,0,100,0), +(@PATH,5,1879.13,-4345.5,33.1927,0,0,0,0,100,0), +(@PATH,6,1874.63,-4334.75,28.6927,0,0,0,0,100,0), +(@PATH,7,1872.13,-4325.25,25.4427,0,0,0,0,100,0), +(@PATH,8,1872.13,-4318,24.1927,0,0,0,0,100,0), +(@PATH,9,1874.88,-4312,23.9427,0,0,0,0,100,0), +(@PATH,10,1876.38,-4304.25,23.6927,0,0,0,0,100,0), +(@PATH,11,1874.49,-4298.67,23.1745,3.124139,5000,0,0,100,0), +(@PATH,12,1875.63,-4303.5,23.6927,0,0,0,0,100,0), +(@PATH,13,1877.38,-4316,24.1927,0,0,0,0,100,0), +(@PATH,14,1878.13,-4324.5,25.9427,0,0,0,0,100,0), +(@PATH,15,1880.88,-4332.75,28.9427,0,0,0,0,100,0), +(@PATH,16,1884.88,-4341.75,32.9427,0,0,0,0,100,0), +(@PATH,17,1889.13,-4350.25,37.4427,0,0,0,0,100,0), +(@PATH,18,1891.88,-4357,40.6927,0,0,0,0,100,0); + +SET @NPC := 286723; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2002.82,`position_y`=-4358.24,`position_z`=93.9059 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,2002.82,-4358.24,93.9059,5.864306,5000,0,0,100,0), +(@PATH,2,2005.57,-4361.24,94.4059,0,0,0,0,100,0), +(@PATH,3,2003.32,-4364.24,94.1559,0,0,0,0,100,0), +(@PATH,4,1997.07,-4362.99,97.4059,0,0,0,0,100,0), +(@PATH,5,1991.07,-4361.49,102.4059,0,0,0,0,100,0), +(@PATH,6,1987.82,-4360.74,105.6559,0,0,0,0,100,0), +(@PATH,7,1976.07,-4359.49,106.4059,0,0,0,0,100,0), +(@PATH,8,1965.57,-4360.99,106.4059,0,0,0,0,100,0), +(@PATH,9,1954.57,-4362.49,106.4059,0,0,0,0,100,0), +(@PATH,10,1940.57,-4365.24,104.6559,0,0,0,0,100,0), +(@PATH,11,1925.07,-4367.99,105.1559,0,0,0,0,100,0), +(@PATH,12,1917.32,-4369.74,105.9059,0,0,0,0,100,0), +(@PATH,13,1913.57,-4372.24,105.9059,0,0,0,0,100,0), +(@PATH,14,1911.57,-4376.24,105.9059,0,0,0,0,100,0), +(@PATH,15,1907.07,-4380.74,105.9059,0,0,0,0,100,0), +(@PATH,16,1899.82,-4381.99,105.9059,0,0,0,0,100,0), +(@PATH,17,1891.32,-4374.99,105.9059,0,0,0,0,100,0), +(@PATH,18,1896.32,-4365.99,105.9059,0,0,0,0,100,0), +(@PATH,19,1904.07,-4363.99,105.9059,0,0,0,0,100,0), +(@PATH,20,1910.57,-4366.24,105.9059,0,0,0,0,100,0), +(@PATH,21,1913.07,-4368.99,105.9059,0,0,0,0,100,0), +(@PATH,22,1917.32,-4369.74,105.9059,0,0,0,0,100,0), +(@PATH,23,1925.07,-4368.24,105.1559,0,0,0,0,100,0), +(@PATH,24,1940.57,-4364.99,104.6559,0,0,0,0,100,0), +(@PATH,25,1954.57,-4362.49,106.4059,0,0,0,0,100,0), +(@PATH,26,1965.57,-4360.99,106.4059,0,0,0,0,100,0), +(@PATH,27,1976.07,-4359.49,106.4059,0,0,0,0,100,0), +(@PATH,28,1987.82,-4360.74,105.6559,0,0,0,0,100,0), +(@PATH,29,1991.32,-4361.49,102.4059,0,0,0,0,100,0), +(@PATH,30,1997.32,-4363.24,97.1559,0,0,0,0,100,0), +(@PATH,31,2003.32,-4364.24,94.1559,0,0,0,0,100,0), +(@PATH,32,2005.57,-4361.24,94.4059,0,0,0,0,100,0); + +SET @NPC := 286774; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1927.74,`position_y`=-4391.97,`position_z`=23.3262 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,1927.74,-4391.97,23.3262,0.03490658,5000,0,0,100,0), +(@PATH,2,1931.435,-4389.675,23.60685,0,0,0,0,100,0), +(@PATH,3,1938.685,-4383.675,23.60685,0,0,0,0,100,0), +(@PATH,4,1937.935,-4375.675,23.85685,0,0,0,0,100,0), +(@PATH,5,1937.185,-4363.425,24.10685,0,0,0,0,100,0), +(@PATH,6,1935.435,-4352.175,23.85685,0,0,0,0,100,0), +(@PATH,7,1933.685,-4340.925,23.85685,0,0,0,0,100,0), +(@PATH,8,1929.435,-4320.925,26.35685,0,0,0,0,100,0), +(@PATH,9,1925.935,-4306.675,24.35685,0,0,0,0,100,0), +(@PATH,10,1921.185,-4306.925,24.35685,0,0,0,0,100,0), +(@PATH,11,1924.185,-4320.925,26.35685,0,0,0,0,100,0), +(@PATH,12,1926.685,-4328.675,25.10685,0,0,0,0,100,0), +(@PATH,13,1928.935,-4340.675,23.85685,0,0,0,0,100,0), +(@PATH,14,1929.685,-4354.925,23.85685,0,0,0,0,100,0), +(@PATH,15,1930.185,-4363.925,24.10685,0,0,0,0,100,0), +(@PATH,16,1931.185,-4374.425,23.85685,0,0,0,0,100,0), +(@PATH,17,1932.185,-4381.175,23.60685,0,0,0,0,100,0); + +-- grunt +SET @NPC := 286810; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1893.98,`position_y`=-4251.22,`position_z`=32.6707 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,1893.98,-4251.22,32.6707,3.961897,0,0,0,100,0), +(@PATH,2,1888.13,-4252.125,33.36665,0,0,0,0,100,0), +(@PATH,3,1877.88,-4249.375,35.36665,0,0,0,0,100,0), +(@PATH,4,1868.88,-4245.625,37.61665,0,0,0,0,100,0), +(@PATH,5,1859.88,-4243.125,38.86665,0,0,0,0,100,0), +(@PATH,6,1849.88,-4241.125,40.11665,0,0,0,0,100,0), +(@PATH,7,1839.13,-4238.375,41.11665,0,0,0,0,100,0), +(@PATH,8,1829.13,-4236.625,41.36665,0,0,0,0,100,0), +(@PATH,9,1815.88,-4234.875,41.11665,0,0,0,0,100,0), +(@PATH,10,1804.63,-4233.125,40.86665,0,0,0,0,100,0), +(@PATH,11,1791.63,-4230.375,40.86665,0,0,0,0,100,0), +(@PATH,12,1779.13,-4224.375,41.36665,0,0,0,0,100,0), +(@PATH,13,1768.63,-4218.875,43.11665,0,0,0,0,100,0), +(@PATH,14,1757.13,-4213.125,46.36665,0,0,0,0,100,0), +(@PATH,15,1749.13,-4208.625,48.61665,0,0,0,0,100,0), +(@PATH,16,1743.88,-4205.125,50.11665,0,0,0,0,100,0), +(@PATH,17,1740.38,-4197.875,51.86665,0,0,0,0,100,0), +(@PATH,18,1740.13,-4189.125,54.86665,0,0,0,0,100,0), +(@PATH,19,1739.88,-4184.125,55.61665,0,0,0,0,100,0), +(@PATH,20,1739.13,-4178.125,56.61665,0,0,0,0,100,0), +(@PATH,21,1738.38,-4170.125,56.86665,0,0,0,0,100,0), +(@PATH,22,1738.13,-4161.875,56.61665,0,0,0,0,100,0), +(@PATH,23,1737.38,-4152.875,56.61665,0,0,0,0,100,0), +(@PATH,24,1736.63,-4145.875,56.11665,0,0,0,0,100,0), +(@PATH,25,1734.13,-4135.625,54.11665,0,0,0,0,100,0), +(@PATH,26,1734.63,-4144.125,55.86665,0,0,0,0,100,0), +(@PATH,27,1736.13,-4153.375,56.61665,0,0,0,0,100,0), +(@PATH,28,1735.63,-4160.375,56.61665,0,0,0,0,100,0), +(@PATH,29,1736.38,-4170.375,56.61665,0,0,0,0,100,0), +(@PATH,30,1737.63,-4179.375,56.36665,0,0,0,0,100,0), +(@PATH,31,1738.38,-4186.875,55.36665,0,0,0,0,100,0), +(@PATH,32,1738.63,-4195.875,52.61665,0,0,0,0,100,0), +(@PATH,33,1740.13,-4202.625,50.86665,0,0,0,0,100,0), +(@PATH,34,1743.63,-4209.875,49.36665,0,0,0,0,100,0), +(@PATH,35,1748.13,-4214.125,48.11665,0,0,0,0,100,0), +(@PATH,36,1757.13,-4217.125,45.86665,0,0,0,0,100,0), +(@PATH,37,1769.13,-4223.875,42.86665,0,0,0,0,100,0), +(@PATH,38,1791.88,-4233.625,40.86665,0,0,0,0,100,0), +(@PATH,39,1806.63,-4237.875,41.11665,0,0,0,0,100,0), +(@PATH,40,1818.13,-4238.875,41.11665,0,0,0,0,100,0), +(@PATH,41,1828.63,-4240.625,41.36665,0,0,0,0,100,0), +(@PATH,42,1838.13,-4243.875,41.36665,0,0,0,0,100,0), +(@PATH,43,1845.88,-4245.625,40.61665,0,0,0,0,100,0), +(@PATH,44,1856.13,-4248.125,39.36665,0,0,0,0,100,0), +(@PATH,45,1868.63,-4251.125,37.11665,0,0,0,0,100,0), +(@PATH,46,1882.13,-4252.875,34.36665,0,0,0,0,100,0); + +SET @NPC := 286949; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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, 1646.01, -4129.99, 68.7958, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1643.19, -4123.58, 67.471, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1639.93, -4115.83, 67.6571, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 1635.81, -4106.18, 70.5661, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 1634.44, -4102.96, 72.847, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 1633.45, -4100.62, 74.0082, 0, 5000, 0, 0, 100, 0), +(@PATH, 7, 1636.86, -4108.29, 69.5999, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 1640.94, -4117.97, 67.3172, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 1646.37, -4130.87, 69.0926, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 1650.01, -4139.24, 73.5179, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 1650.9, -4141.14, 73.3816, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1650.72, -4140.71, 73.4114, 0, 5000, 0, 0, 100, 0); + +-- standup +DELETE FROM `creature_addon` WHERE `guid`IN (286891, 286870,286871); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(286891,0,0,0,1,0, ''), +(286870,0,0,0,1,0, ''), +(286871,0,0,0,1,0, ''); + +SET @NPC := 286874; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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, 1780.49, -4011.27, 95.4958, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1775.39, -4011.74, 91.9395, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1764.94, -4012.8, 86.226, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 1754.5, -4013.89, 82.3094, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 1744.06, -4015.04, 80.1415, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 1732.35, -4016.46, 79.3967, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 1726.33, -4017.22, 79.8366, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 1718.57, -4018.19, 82.204, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 1717.99, -4018.27, 82.1986, 0, 5000, 0, 0, 100, 0), +(@PATH, 10, 1721.47, -4017.86, 81.3357, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 1734.34, -4016.38, 79.3284, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1744.09, -4015.3, 80.1335, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 1754.52, -4014.09, 82.3023, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 1764.95, -4012.87, 86.2223, 0, 0, 0, 0, 100, 0), +(@PATH, 15, 1775.38, -4011.65, 91.941, 0, 0, 0, 0, 100, 0), +(@PATH, 16, 1783.41, -4010.74, 97.7371, 0, 0, 0, 0, 100, 0), +(@PATH, 17, 1782.53, -4010.85, 97.0696, 0, 5000, 0, 0, 100, 0); + +SET @NPC := 286916; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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, 1684.58, -4076.52, 86.124, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1685.23, -4079.76, 84.7242, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1687.23, -4088.99, 82.5687, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 1689.29, -4099.29, 82.3373, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 1690.72, -4106.14, 83.2874, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 1692.87, -4116.41, 86.0708, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 1694.42, -4123.73, 89.8237, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 1694.39, -4123.61, 89.8237, 0, 5000, 0, 0, 100, 0), +(@PATH, 9, 1693.6, -4120.21, 88.0661, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 1691.41, -4109.94, 84.046, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 1688.77, -4097.17, 82.2156, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1686.7, -4086.87, 82.8869, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 1684.24, -4075.56, 87.002, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 1683.96, -4074.43, 87.4405, 0, 5000, 0, 0, 100, 0); + +-- towernpcs +SET @NPC := 304139; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1687.106,`position_y`=-3926.072,`position_z`=83.63368 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,1683.317,-3924.917,83.38367,0,0,0,0,100,0), +(@PATH,2,1685.813,-3923.332,83.38367,0,0,0,0,100,0), +(@PATH,3,1688.34,-3921.679,83.38367,0,0,0,0,100,0), +(@PATH,4,1690.882,-3920.017,83.38367,0,0,0,0,100,0), +(@PATH,5,1693.438,-3918.345,83.38367,0,0,0,0,100,0), +(@PATH,6,1695.961,-3916.695,83.38368,0,0,0,0,100,0), +(@PATH,7,1697.254,-3915.926,83.63368,0,0,0,0,100,0), +(@PATH,8,1701.048,-3913.367,83.38368,0,0,0,0,100,0), +(@PATH,9,1703.589,-3911.705,83.38368,0,0,0,0,100,0), +(@PATH,10,1706.116,-3910.052,83.38368,0,0,0,0,100,0), +(@PATH,11,1708.537,-3908.433,83.38368,0,0,0,0,100,0), +(@PATH,12,1711.037,-3906.704,83.38368,0,0,0,0,100,0), +(@PATH,13,1713.534,-3904.978,83.38368,0,0,0,0,100,0), +(@PATH,14,1716.009,-3903.267,83.38368,0,0,0,0,100,0), +(@PATH,15,1718.526,-3901.527,83.38368,0,0,0,0,100,0), +(@PATH,16,1718.652,-3901.44,83.38368,0,0,0,0,100,0), +(@PATH,17,1715.259,-3903.786,83.38368,0,0,0,0,100,0), +(@PATH,18,1714.406,-3904.375,83.38368,0,0,0,0,100,0), +(@PATH,19,1711.918,-3906.095,83.38368,0,0,0,0,100,0), +(@PATH,20,1709.411,-3907.828,83.38368,0,0,0,0,100,0), +(@PATH,21,1706.974,-3909.491,83.38368,0,0,0,0,100,0), +(@PATH,22,1704.462,-3911.134,83.38368,0,0,0,0,100,0), +(@PATH,23,1701.916,-3912.8,83.38368,0,0,0,0,100,0), +(@PATH,24,1699.32,-3914.498,83.38368,0,0,0,0,100,0), +(@PATH,25,1697.275,-3915.767,83.63368,0,0,0,0,100,0), +(@PATH,26,1694.232,-3917.825,83.38367,0,0,0,0,100,0), +(@PATH,27,1691.693,-3919.486,83.38367,0,0,0,0,100,0), +(@PATH,28,1689.138,-3921.157,83.38367,0,0,0,0,100,0), +(@PATH,29,1686.58,-3922.831,83.38367,0,0,0,0,100,0), +(@PATH,30,1684.068,-3924.445,83.38367,0,0,0,0,100,0), +(@PATH,31,1681.482,-3926.071,83.38367,0,0,0,0,100,0), +(@PATH,32,1678.902,-3927.693,83.38367,0,0,0,0,100,0), +(@PATH,33,1676.322,-3929.314,83.38367,0,0,0,0,100,0), +(@PATH,34,1673.82,-3930.887,83.38367,0,0,0,0,100,0), +(@PATH,35,1673.82,-3930.887,83.38367,0,0,0,0,100,0), +(@PATH,36,1677.312,-3928.692,83.38367,0,0,0,0,100,0), +(@PATH,37,1679.037,-3927.608,83.38367,0,0,0,0,100,0), +(@PATH,38,1681.617,-3925.986,83.38367,0,0,0,0,100,0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=304139; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(304139, 304139, 0, 0, 2, 0, 0), +(304139, 286852, 4, 90, 2, 0, 0); + +DELETE FROM `creature` WHERE `guid` IN (304138, 286853); +-- joman +SET @NPC := 286933; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1689.63,`position_y`=-4127.82,`position_z`=66.33573 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,1689.63,-4127.82,66.33573,0,0,0,0,100,0), +(@PATH,2,1689.63,-4127.82,66.33573,0.418879,5000,0,0,100,0), +(@PATH,3,1680.66,-4124.89,66.34009,0,0,0,0,100,0), +(@PATH,4,1680.855,-4124.954,66.34,5.88176,5000,0,0,100,0); + +-- gumbo +SET @NPC := 287012; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1499.775,`position_y`=-4191.948,`position_z`=53.54375 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,1499.775,-4191.948,53.54375,0,0,0,0,100,0), +(@PATH,2,1501.025,-4191.698,53.54375,0,0,0,0,100,0), +(@PATH,3,1502.24,-4190.77,52.91138,1.518436,5000,0,0,100,0), +(@PATH,4,1503.254,-4191.556,53.51646,0,0,0,0,100,0), +(@PATH,5,1505.268,-4192.842,54.12154,4.956735,5000,0,0,100,0); + +-- ingenieur +SET @NPC := 286994; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1564.773,`position_y`=-4145.446,`position_z`=51.52433 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,69, ''); +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,1564.773,-4145.446,51.52433,0,0,0,0,100,0), +(@PATH,2,1563.273,-4146.446,51.52433,0,0,0,0,100,0), +(@PATH,3,1562.523,-4147.446,51.52433,0,0,0,0,100,0), +(@PATH,4,1562.9,-4149.08,51.4992,0.6632251,5000,0,0,100,0), +(@PATH,5,1562.275,-4147.93,51.4504,0,0,0,0,100,0), +(@PATH,6,1563.525,-4146.18,51.4504,0,0,0,0,100,0), +(@PATH,7,1566.146,-4145.313,51.54946,0,0,0,0,100,0), +(@PATH,8,1566.146,-4145.313,51.54946,4.258604,5000,0,0,100,0); + +SET @NPC := 286888; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1743.84,`position_y`=-4099.944,`position_z`=50.23473 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,1743.84,-4099.944,50.23473,0,0,0,0,100,0), +(@PATH,2,1742.34,-4101.694,50.23473,0,0,0,0,100,0), +(@PATH,3,1741.34,-4102.444,50.23473,0,0,0,0,100,0), +(@PATH,4,1738.84,-4103.944,50.48473,0,0,0,0,100,0), +(@PATH,5,1736.09,-4105.694,50.48473,0,0,0,0,100,0), +(@PATH,6,1735.09,-4106.194,50.73473,0,0,0,0,100,0), +(@PATH,7,1733.84,-4107.194,50.73473,0,0,0,0,100,0), +(@PATH,8,1734.917,-4106.415,50.5214,0,0,0,0,100,0), +(@PATH,9,1733.667,-4107.415,50.7714,0,0,0,0,100,0), +(@PATH,10,1732.417,-4107.915,50.7714,0,0,0,0,100,0), +(@PATH,11,1726.917,-4108.665,50.2714,0,0,0,0,100,0), +(@PATH,12,1726.57,-4108.776,50.29182,0,0,0,0,100,0), +(@PATH,13,1723.82,-4109.276,50.29182,0,0,0,0,100,0), +(@PATH,14,1719.07,-4108.526,50.04182,0,0,0,0,100,0), +(@PATH,15,1716.625,-4108.083,50.01192,0,0,0,0,100,0), +(@PATH,16,1714.625,-4107.833,49.76192,0,0,0,0,100,0), +(@PATH,17,1712.375,-4107.583,49.76192,0,0,0,0,100,0), +(@PATH,18,1714.474,-4107.645,49.88387,0,0,0,0,100,0), +(@PATH,19,1712.224,-4107.395,49.88387,0,0,0,0,100,0), +(@PATH,20,1711.724,-4107.395,49.63387,0,0,0,0,100,0), +(@PATH,21,1707.224,-4105.645,49.38387,0,0,0,0,100,0), +(@PATH,22,1704.974,-4104.895,49.38387,0,0,0,0,100,0), +(@PATH,23,1703.974,-4104.645,49.38387,0,0,0,0,100,0), +(@PATH,24,1701.724,-4103.645,49.38387,0,0,0,0,100,0), +(@PATH,25,1703.657,-4104.264,49.44991,0,0,0,0,100,0), +(@PATH,26,1701.657,-4103.514,49.19991,0,0,0,0,100,0), +(@PATH,27,1700.407,-4103.264,49.19991,0,0,0,0,100,0), +(@PATH,28,1697.157,-4102.264,48.94991,0,0,0,0,100,0), +(@PATH,29,1696.935,-4101.982,48.9732,0,0,0,0,100,0), +(@PATH,30,1695.685,-4101.482,48.9732,0,0,0,0,100,0), +(@PATH,31,1691.725,-4093.684,48.722,0,0,0,0,100,0), +(@PATH,32,1692.225,-4092.684,48.722,0,0,0,0,100,0), +(@PATH,33,1692.725,-4091.184,48.972,0,0,0,0,100,0), +(@PATH,34,1693.475,-4089.934,48.972,0,0,0,0,100,0), +(@PATH,35,1694.225,-4088.434,48.972,0,0,0,0,100,0), +(@PATH,36,1695.225,-4085.934,48.972,0,0,0,0,100,0), +(@PATH,37,1696.475,-4083.434,48.972,0,0,0,0,100,0), +(@PATH,38,1696.819,-4083.236,49.07568,0,0,0,0,100,0), +(@PATH,39,1697.319,-4081.986,49.07568,0,0,0,0,100,0), +(@PATH,40,1697.34,-4081.827,49.07653,0,0,0,0,100,0), +(@PATH,41,1699.59,-4080.827,49.07653,0,0,0,0,100,0), +(@PATH,42,1699.59,-4079.577,49.07653,0,0,0,0,100,0), +(@PATH,43,1699.997,-4080.607,49.07729,0,0,0,0,100,0), +(@PATH,44,1699.747,-4079.357,49.07729,0,0,0,0,100,0), +(@PATH,45,1699.497,-4078.107,49.07729,0,0,0,0,100,0), +(@PATH,46,1701.247,-4075.857,49.07729,0,0,0,0,100,0), +(@PATH,47,1702.247,-4074.607,49.07729,0,0,0,0,100,0), +(@PATH,48,1702.512,-4074.279,49.08138,0,0,0,0,100,0), +(@PATH,49,1703.012,-4073.779,49.08138,0,0,0,0,100,0), +(@PATH,50,1704.762,-4072.029,49.08138,0,0,0,0,100,0), +(@PATH,51,1706.762,-4069.779,49.08138,0,0,0,0,100,0), +(@PATH,52,1708.012,-4068.529,49.08138,0,0,0,0,100,0), +(@PATH,53,1708.762,-4067.529,49.08138,0,0,0,0,100,0), +(@PATH,54,1708.129,-4068.237,49.29485,0,0,0,0,100,0), +(@PATH,55,1709.129,-4067.237,49.29485,0,0,0,0,100,0), +(@PATH,56,1709.629,-4066.737,49.29485,0,0,0,0,100,0), +(@PATH,57,1711.879,-4064.987,49.29485,0,0,0,0,100,0), +(@PATH,58,1714.379,-4062.987,49.29485,0,0,0,0,100,0), +(@PATH,59,1715.879,-4061.987,49.29485,0,0,0,0,100,0), +(@PATH,60,1719.129,-4059.487,49.54485,0,0,0,0,100,0), +(@PATH,61,1721.129,-4057.987,49.79485,0,0,0,0,100,0), +(@PATH,62,1722.129,-4056.987,49.79485,0,0,0,0,100,0), +(@PATH,63,1725.26,-4054.754,49.9922,0,0,0,0,100,0), +(@PATH,64,1727.76,-4055.004,49.9922,0,0,0,0,100,0), +(@PATH,65,1730.01,-4055.504,49.9922,0,0,0,0,100,0), +(@PATH,66,1732.76,-4055.754,49.7422,0,0,0,0,100,0), +(@PATH,67,1737.76,-4056.504,49.4922,0,0,0,0,100,0), +(@PATH,68,1740.76,-4056.504,49.4922,0,0,0,0,100,0), +(@PATH,69,1743.26,-4056.754,49.4922,0,0,0,0,100,0), +(@PATH,70,1743.6,-4056.998,49.60223,0,0,0,0,100,0), +(@PATH,71,1744.6,-4057.248,49.60223,0,0,0,0,100,0), +(@PATH,72,1748.963,-4058.681,49.76654,0,0,0,0,100,0), +(@PATH,73,1750.963,-4061.431,49.76654,0,0,0,0,100,0), +(@PATH,74,1752.213,-4063.931,49.76654,0,0,0,0,100,0), +(@PATH,75,1752.963,-4064.681,49.76654,0,0,0,0,100,0), +(@PATH,76,1753.463,-4065.681,49.76654,0,0,0,0,100,0), +(@PATH,77,1754.213,-4066.681,49.76654,0,0,0,0,100,0), +(@PATH,78,1755.963,-4069.181,50.26654,0,0,0,0,100,0), +(@PATH,79,1755.893,-4069.432,50.25053,0,0,0,0,100,0), +(@PATH,80,1756.143,-4069.682,50.50053,0,0,0,0,100,0), +(@PATH,81,1756.143,-4070.682,50.50053,0,0,0,0,100,0), +(@PATH,82,1756.143,-4072.682,50.75053,0,0,0,0,100,0), +(@PATH,83,1756.393,-4075.682,50.25053,0,0,0,0,100,0), +(@PATH,84,1756.601,-4079.347,50.10918,0,0,0,0,100,0), +(@PATH,85,1755.601,-4081.597,50.10918,0,0,0,0,100,0), +(@PATH,86,1754.851,-4083.097,49.85918,0,0,0,0,100,0), +(@PATH,87,1753.601,-4086.097,49.85918,0,0,0,0,100,0), +(@PATH,88,1751.351,-4090.847,50.10918,0,0,0,0,100,0), +(@PATH,89,1750.874,-4090.969,50.22407,0,0,0,0,100,0), +(@PATH,90,1750.874,-4091.469,50.22407,0,0,0,0,100,0), +(@PATH,91,1750.124,-4092.469,50.47407,0,0,0,0,100,0), +(@PATH,92,1748.874,-4093.719,50.47407,0,0,0,0,100,0), +(@PATH,93,1746.874,-4095.969,50.22407,0,0,0,0,100,0), +(@PATH,94,1746.374,-4096.97,50.22407,0,0,0,0,100,0), +(@PATH,95,1744.124,-4099.72,50.22407,0,0,0,0,100,0); + +SET @NPC := 286910; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1734.391,`position_y`=-4089.083,`position_z`=67.85324 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,1734.391,-4089.083,67.85324,0,0,0,0,100,0), +(@PATH,2,1730.891,-4091.083,67.85324,0,0,0,0,100,0), +(@PATH,3,1727.141,-4093.333,66.35324,0,0,0,0,100,0), +(@PATH,4,1723.391,-4095.083,64.35324,0,0,0,0,100,0), +(@PATH,5,1718.641,-4096.583,62.60324,0,0,0,0,100,0), +(@PATH,6,1713.891,-4093.583,60.60324,0,0,0,0,100,0), +(@PATH,7,1712.891,-4088.333,59.10324,0,0,0,0,100,0), +(@PATH,8,1715.141,-4083.833,57.85324,0,0,0,0,100,0), +(@PATH,9,1719.641,-4081.083,55.85324,0,0,0,0,100,0), +(@PATH,10,1725.391,-4078.333,53.35324,0,0,0,0,100,0), +(@PATH,11,1731.431,-4077.146,50.53487,0,0,0,0,100,0), +(@PATH,12,1731.431,-4077.146,50.53487,1.029744,5000,0,0,100,0), +(@PATH,13,1729.845,-4076.729,50.8541,0,0,0,0,100,0), +(@PATH,14,1723.845,-4078.979,54.1041,0,0,0,0,100,0), +(@PATH,15,1716.595,-4082.729,57.3541,0,0,0,0,100,0), +(@PATH,16,1712.845,-4087.979,59.1041,0,0,0,0,100,0), +(@PATH,17,1714.845,-4094.729,60.8541,0,0,0,0,100,0), +(@PATH,18,1719.595,-4096.229,62.8541,0,0,0,0,100,0), +(@PATH,19,1723.595,-4094.979,64.3541,0,0,0,0,100,0), +(@PATH,20,1728.345,-4093.229,67.1041,0,0,0,0,100,0), +(@PATH,21,1733.095,-4088.729,67.8541,0,0,0,0,100,0), +(@PATH,22,1737.76,-4089.313,67.67332,2.932153,5000,0,0,100,0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=286901; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(286901, 286901, 0, 0, 2, 0, 0), +(286901, 286902, 2, 0, 2, 0, 0), +(286901, 286900, 2, 50, 2, 0, 0), +(286901, 286899, 2, 310, 2, 0, 0); + +SET @NPC := 286901; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1746.421,`position_y`=-4089.614,`position_z`=50.53776 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,1746.421,-4089.614,50.53776,0,0,0,0,100,0), +(@PATH,2,1747.171,-4088.114,50.28776,0,0,0,0,100,0), +(@PATH,3,1747.671,-4086.864,50.28776,0,0,0,0,100,0), +(@PATH,4,1748.671,-4083.864,49.78776,0,0,0,0,100,0), +(@PATH,5,1749.421,-4082.614,49.78776,0,0,0,0,100,0), +(@PATH,6,1749.921,-4081.614,50.03776,0,0,0,0,100,0), +(@PATH,7,1750.421,-4080.864,50.03776,0,0,0,0,100,0), +(@PATH,8,1750.921,-4079.114,50.28776,0,0,0,0,100,0), +(@PATH,9,1752.421,-4076.114,50.53776,0,0,0,0,100,0), +(@PATH,10,1752.482,-4075.893,50.48777,0,0,0,0,100,0), +(@PATH,11,1752.482,-4075.643,50.48777,0,0,0,0,100,0), +(@PATH,12,1751.232,-4073.643,50.73777,0,0,0,0,100,0), +(@PATH,13,1749.732,-4071.143,50.48777,0,0,0,0,100,0), +(@PATH,14,1748.982,-4070.143,50.23777,0,0,0,0,100,0), +(@PATH,15,1748.232,-4068.893,49.98777,0,0,0,0,100,0), +(@PATH,16,1747.232,-4067.143,49.73777,0,0,0,0,100,0), +(@PATH,17,1746.482,-4065.893,49.73777,0,0,0,0,100,0), +(@PATH,18,1745.982,-4064.893,49.73777,0,0,0,0,100,0), +(@PATH,19,1744.732,-4063.143,49.73777,0,0,0,0,100,0), +(@PATH,20,1744.482,-4063.012,49.71793,0,0,0,0,100,0), +(@PATH,21,1744.232,-4062.512,49.46793,0,0,0,0,100,0), +(@PATH,22,1742.482,-4062.512,49.46793,0,0,0,0,100,0), +(@PATH,23,1738.982,-4062.012,49.71793,0,0,0,0,100,0), +(@PATH,24,1737.482,-4062.012,49.46793,0,0,0,0,100,0), +(@PATH,25,1733.482,-4061.512,49.71793,0,0,0,0,100,0), +(@PATH,26,1731.982,-4061.512,49.46793,0,0,0,0,100,0), +(@PATH,27,1729.263,-4061.259,49.67731,0,0,0,0,100,0), +(@PATH,28,1726.013,-4062.759,49.67731,0,0,0,0,100,0), +(@PATH,29,1725.263,-4063.259,49.42731,0,0,0,0,100,0), +(@PATH,30,1722.763,-4064.509,49.42731,0,0,0,0,100,0), +(@PATH,31,1720.513,-4065.509,49.17731,0,0,0,0,100,0), +(@PATH,32,1719.013,-4066.259,49.17731,0,0,0,0,100,0), +(@PATH,33,1717.513,-4067.009,49.17731,0,0,0,0,100,0), +(@PATH,34,1717.184,-4067.297,49.15305,0,0,0,0,100,0), +(@PATH,35,1715.684,-4068.047,49.15305,0,0,0,0,100,0), +(@PATH,36,1713.184,-4071.797,48.90305,0,0,0,0,100,0), +(@PATH,37,1711.684,-4073.547,48.90305,0,0,0,0,100,0), +(@PATH,38,1710.184,-4075.797,48.90305,0,0,0,0,100,0), +(@PATH,39,1709.684,-4076.547,48.90305,0,0,0,0,100,0), +(@PATH,40,1708.184,-4078.797,48.90305,0,0,0,0,100,0), +(@PATH,41,1707.434,-4079.797,48.90305,0,0,0,0,100,0), +(@PATH,42,1706.684,-4080.797,48.90305,0,0,0,0,100,0), +(@PATH,43,1704.684,-4083.547,48.90305,0,0,0,0,100,0), +(@PATH,44,1703.684,-4085.047,48.90305,0,0,0,0,100,0), +(@PATH,45,1699.934,-4090.297,48.90305,0,0,0,0,100,0), +(@PATH,46,1699.184,-4091.297,48.90305,0,0,0,0,100,0), +(@PATH,47,1699.22,-4091.597,49.06976,0,0,0,0,100,0), +(@PATH,48,1698.72,-4092.097,49.06976,0,0,0,0,100,0), +(@PATH,49,1699.47,-4093.597,48.81976,0,0,0,0,100,0), +(@PATH,50,1700.72,-4096.598,48.81976,0,0,0,0,100,0), +(@PATH,51,1700.988,-4096.782,49.05772,0,0,0,0,100,0), +(@PATH,52,1701.238,-4097.782,49.30772,0,0,0,0,100,0), +(@PATH,53,1703.488,-4098.282,49.30772,0,0,0,0,100,0), +(@PATH,54,1705.488,-4098.782,49.55772,0,0,0,0,100,0), +(@PATH,55,1708.738,-4099.782,49.55772,0,0,0,0,100,0), +(@PATH,56,1709.738,-4100.032,49.55772,0,0,0,0,100,0), +(@PATH,57,1711.738,-4100.282,49.55772,0,0,0,0,100,0), +(@PATH,58,1713.738,-4100.782,49.80772,0,0,0,0,100,0), +(@PATH,59,1714.988,-4101.032,49.80772,0,0,0,0,100,0), +(@PATH,60,1715.988,-4101.282,49.80772,0,0,0,0,100,0), +(@PATH,61,1717.488,-4101.782,50.05772,0,0,0,0,100,0), +(@PATH,62,1718.738,-4102.032,50.05772,0,0,0,0,100,0), +(@PATH,63,1720.488,-4102.532,50.05772,0,0,0,0,100,0), +(@PATH,64,1726.738,-4104.032,50.55772,0,0,0,0,100,0), +(@PATH,65,1726.883,-4104.031,50.58294,0,0,0,0,100,0), +(@PATH,66,1727.133,-4104.031,50.58294,0,0,0,0,100,0), +(@PATH,67,1730.845,-4102.978,50.61089,0,0,0,0,100,0), +(@PATH,68,1731.845,-4101.978,50.61089,0,0,0,0,100,0), +(@PATH,69,1733.095,-4100.978,50.61089,0,0,0,0,100,0), +(@PATH,70,1735.095,-4099.228,50.36089,0,0,0,0,100,0), +(@PATH,71,1737.345,-4097.228,50.36089,0,0,0,0,100,0), +(@PATH,72,1739.345,-4095.478,50.36089,0,0,0,0,100,0), +(@PATH,73,1742.845,-4092.728,50.36089,0,0,0,0,100,0), +(@PATH,74,1745.095,-4090.728,50.36089,0,0,0,0,100,0); + +SET @NPC := 287101; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1562.72,`position_y`=-4223.45,`position_z`=54.2681 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,1562.72,-4223.45,54.2681,0,0,0,0,100,0), +(@PATH,2,1563.47,-4223.45,54.2681,0,0,0,0,100,0), +(@PATH,3,1564.47,-4223.45,54.2681,0,0,0,0,100,0), +(@PATH,4,1564.36,-4223.44,54.19297,0,0,0,0,100,0), +(@PATH,5,1560.91,-4224.63,54.1431,0,0,0,0,100,0), +(@PATH,6,1560.91,-4224.63,54.1431,1.308997,5000,0,0,100,0), +(@PATH,7,1562.72,-4223.45,54.2681,0,0,0,0,100,0); + +SET @NPC := 286980; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1474.875,`position_y`=-4149.25,`position_z`=52.90524 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,1474.875,-4149.25,52.90524,0,0,0,0,100,0), +(@PATH,2,1478.625,-4151,52.90524,0,0,0,0,100,0), +(@PATH,3,1479.375,-4155,52.90524,0,0,0,0,100,0), +(@PATH,4,1476.625,-4158,52.90524,0,0,0,0,100,0), +(@PATH,5,1470.34,-4159.11,52.84705,0,0,0,0,100,0), +(@PATH,6,1470.34,-4159.11,52.84705,4.537856,5000,0,0,100,0), +(@PATH,7,1475.565,-4157.505,52.73143,0,0,0,0,100,0), +(@PATH,8,1478.315,-4156.255,52.73143,0,0,0,0,100,0), +(@PATH,9,1479.065,-4153.255,52.73143,0,0,0,0,100,0), +(@PATH,10,1472.12,-4148.55,52.69459,0,0,0,0,100,0), +(@PATH,11,1472.12,-4148.55,52.69459,6.230825,5000,0,0,100,0); + +-- DB/Pathing/Emotes: Orgrimmar +SET @NPC := 287179; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1433.26,`position_y`=-4428.14,`position_z`=73.792 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,1433.26,-4428.14,73.792,3.193953,0,0,0,100,0), +(@PATH,2,1426.51,-4428.89,74.042,0,0,0,0,100,0), +(@PATH,3,1420.51,-4424.64,74.042,0,0,0,0,100,0), +(@PATH,4,1417.76,-4415.14,74.042,0,0,0,0,100,0), +(@PATH,5,1416.01,-4404.64,74.042,0,0,0,0,100,0), +(@PATH,6,1415.01,-4394.14,74.042,0,0,0,0,100,0), +(@PATH,7,1413.76,-4385.14,74.042,0,0,0,0,100,0), +(@PATH,8,1412.76,-4376.14,74.042,0,0,0,0,100,0), +(@PATH,9,1411.51,-4366.14,74.042,0,0,0,0,100,0), +(@PATH,10,1408.26,-4363.89,74.042,0,0,0,0,100,0), +(@PATH,11,1400.76,-4364.39,74.042,0,0,0,0,100,0), +(@PATH,12,1397.76,-4368.14,74.042,0,0,0,0,100,0), +(@PATH,13,1398.51,-4377.39,74.042,0,0,0,0,100,0), +(@PATH,14,1399.76,-4386.89,74.042,0,0,0,0,100,0), +(@PATH,15,1401.26,-4395.64,74.042,0,0,0,0,100,0), +(@PATH,16,1401.26,-4402.89,74.042,0,0,0,0,100,0), +(@PATH,17,1402.01,-4413.39,74.042,0,0,0,0,100,0), +(@PATH,18,1403.26,-4422.39,74.042,0,0,0,0,100,0), +(@PATH,19,1406.76,-4426.89,74.042,0,0,0,0,100,0), +(@PATH,20,1410.01,-4430.39,74.042,0,0,0,0,100,0), +(@PATH,21,1412.01,-4440.64,73.792,0,0,0,0,100,0), +(@PATH,22,1413.51,-4450.89,73.792,0,0,0,0,100,0), +(@PATH,23,1414.51,-4460.64,73.792,0,0,0,0,100,0), +(@PATH,24,1412.76,-4465.89,73.792,0,0,0,0,100,0), +(@PATH,25,1411.01,-4471.39,74.042,0,0,0,0,100,0), +(@PATH,26,1411.01,-4476.64,74.042,0,0,0,0,100,0), +(@PATH,27,1411.51,-4483.14,74.042,0,0,0,0,100,0), +(@PATH,28,1413.01,-4492.39,74.042,0,0,0,0,100,0), +(@PATH,29,1414.01,-4501.64,74.042,0,0,0,0,100,0), +(@PATH,30,1418.76,-4503.64,74.042,0,0,0,0,100,0), +(@PATH,31,1424.51,-4502.39,74.042,0,0,0,0,100,0), +(@PATH,32,1426.26,-4498.64,74.042,0,0,0,0,100,0), +(@PATH,33,1425.76,-4491.64,74.042,0,0,0,0,100,0), +(@PATH,34,1425.26,-4486.64,74.042,0,0,0,0,100,0), +(@PATH,35,1424.26,-4479.39,74.042,0,0,0,0,100,0), +(@PATH,36,1423.26,-4470.39,74.042,0,0,0,0,100,0), +(@PATH,37,1421.76,-4460.14,73.792,0,0,0,0,100,0), +(@PATH,38,1421.01,-4450.64,73.792,0,0,0,0,100,0), +(@PATH,39,1420.51,-4440.39,74.042,0,0,0,0,100,0), +(@PATH,40,1421.51,-4432.64,73.792,0,0,0,0,100,0), +(@PATH,41,1426.51,-4428.64,74.042,0,0,0,0,100,0); + +SET @NPC := 310815; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1447.13,`position_y`=-4426.4,`position_z`=73.83344 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,1447.13,-4426.4,73.83344,0,0,0,0,100,0), +(@PATH,2,1447.13,-4426.4,73.83344,0.1919862,0,0,0,100,0), +(@PATH,3,1452.93,-4425.615,74.08311,0,0,0,0,100,0), +(@PATH,4,1456.43,-4420.615,74.08311,0,0,0,0,100,0), +(@PATH,5,1457.68,-4409.365,74.08311,0,0,0,0,100,0), +(@PATH,6,1457.43,-4398.115,74.08311,0,0,0,0,100,0), +(@PATH,7,1456.18,-4385.615,74.08311,0,0,0,0,100,0), +(@PATH,8,1455.43,-4378.365,74.08311,0,0,0,0,100,0), +(@PATH,9,1458.18,-4374.865,74.08311,0,0,0,0,100,0), +(@PATH,10,1463.43,-4373.615,74.08311,0,0,0,0,100,0), +(@PATH,11,1466.68,-4376.615,74.08311,0,0,0,0,100,0), +(@PATH,12,1468.18,-4385.615,74.08311,0,0,0,0,100,0), +(@PATH,13,1468.93,-4394.365,74.08311,0,0,0,0,100,0), +(@PATH,14,1469.93,-4406.615,74.08311,0,0,0,0,100,0), +(@PATH,15,1470.43,-4411.365,74.08311,0,0,0,0,100,0), +(@PATH,16,1468.18,-4417.865,74.08311,0,0,0,0,100,0), +(@PATH,17,1464.68,-4423.365,74.08311,0,0,0,0,100,0), +(@PATH,18,1460.18,-4429.865,74.08311,0,0,0,0,100,0), +(@PATH,19,1458.18,-4434.865,74.08311,0,0,0,0,100,0), +(@PATH,20,1460.18,-4439.115,74.08311,0,0,0,0,100,0), +(@PATH,21,1463.18,-4442.115,74.08311,0,0,0,0,100,0), +(@PATH,22,1466.93,-4444.865,74.08311,0,0,0,0,100,0), +(@PATH,23,1470.68,-4447.365,74.08311,0,0,0,0,100,0), +(@PATH,24,1473.93,-4450.615,74.08311,0,0,0,0,100,0), +(@PATH,25,1474.93,-4461.115,74.08311,0,0,0,0,100,0), +(@PATH,26,1476.18,-4470.365,74.08311,0,0,0,0,100,0), +(@PATH,27,1477.43,-4478.365,74.08311,0,0,0,0,100,0), +(@PATH,28,1475.93,-4482.365,73.83311,0,0,0,0,100,0), +(@PATH,29,1469.68,-4482.865,73.83311,0,0,0,0,100,0), +(@PATH,30,1466.43,-4480.615,73.83311,0,0,0,0,100,0), +(@PATH,31,1465.43,-4472.365,74.08311,0,0,0,0,100,0), +(@PATH,32,1465.18,-4466.615,74.08311,0,0,0,0,100,0), +(@PATH,33,1464.68,-4462.615,74.08311,0,0,0,0,100,0), +(@PATH,34,1464.18,-4455.365,74.08311,0,0,0,0,100,0), +(@PATH,35,1463.43,-4448.365,74.08311,0,0,0,0,100,0), +(@PATH,36,1462.93,-4442.865,74.08311,0,0,0,0,100,0), +(@PATH,37,1460.68,-4438.865,74.08311,0,0,0,0,100,0), +(@PATH,38,1458.43,-4434.365,74.08311,0,0,0,0,100,0), +(@PATH,39,1456.18,-4429.865,74.08311,0,0,0,0,100,0), +(@PATH,40,1453.18,-4425.865,74.08311,0,0,0,0,100,0); + +SET @NPC := 287184; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1428.8,`position_y`=-4365.275,`position_z`=25.8377 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,1428.8,-4365.275,25.8377,0,0,0,0,100,0), +(@PATH,2,1432.3,-4396.275,25.8377,0,0,0,0,100,0), +(@PATH,3,1436.05,-4423.775,25.8377,0,0,0,0,100,0), +(@PATH,4,1436.05,-4423.775,25.8377,0,0,0,0,100,0), +(@PATH,5,1432.3,-4396.275,25.8377,0,0,0,0,100,0), +(@PATH,6,1428.8,-4365.275,25.8377,0,0,0,0,100,0); + +SET @NPC := 310840; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1522.4,`position_y`=-4361.835,`position_z`=20.78642 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,1522.4,-4361.835,20.78642,0,0,0,0,100,0), +(@PATH,2,1524.4,-4362.335,20.78642,0,0,0,0,100,0), +(@PATH,3,1527.4,-4363.335,20.78642,0,0,0,0,100,0), +(@PATH,4,1528.65,-4363.585,20.78642,0,0,0,0,100,0), +(@PATH,5,1533.4,-4364.585,20.78642,0,0,0,0,100,0), +(@PATH,6,1537.65,-4365.835,20.78642,0,0,0,0,100,0), +(@PATH,7,1539.65,-4366.335,20.78642,0,0,0,0,100,0), +(@PATH,8,1544.195,-4367.621,20.76924,0,0,0,0,100,0), +(@PATH,9,1544.695,-4368.121,20.76924,0,0,0,0,100,0), +(@PATH,10,1544.945,-4368.371,20.76924,0,0,0,0,100,0), +(@PATH,11,1545.945,-4368.621,19.76924,0,0,0,0,100,0), +(@PATH,12,1547.695,-4369.371,18.26924,0,0,0,0,100,0), +(@PATH,13,1548.438,-4370.313,17.49227,5.77704,10000,0,0,100,0), +(@PATH,14,1547.559,-4369.556,18.27049,0,0,0,0,100,0), +(@PATH,15,1545.809,-4368.556,19.77049,0,0,0,0,100,0), +(@PATH,16,1544.559,-4367.806,20.27049,0,0,0,0,100,0), +(@PATH,17,1540.309,-4365.556,20.77049,0,0,0,0,100,0), +(@PATH,18,1539.059,-4365.056,20.77049,0,0,0,0,100,0), +(@PATH,19,1537.059,-4363.806,20.77049,0,0,0,0,100,0), +(@PATH,20,1530.309,-4360.056,20.77049,0,0,0,0,100,0), +(@PATH,21,1528.809,-4359.306,20.77049,0,0,0,0,100,0), +(@PATH,22,1528.059,-4358.806,20.77049,0,0,0,0,100,0), +(@PATH,23,1530.097,-4359.898,20.79203,0,0,0,0,100,0), +(@PATH,24,1528.597,-4359.148,20.79203,0,0,0,0,100,0), +(@PATH,25,1528.097,-4358.648,20.79203,0,0,0,0,100,0), +(@PATH,26,1526.847,-4358.148,20.79203,0,0,0,0,100,0), +(@PATH,27,1526.847,-4357.148,20.79203,0,0,0,0,100,0), +(@PATH,28,1526.847,-4354.148,20.54203,0,0,0,0,100,0), +(@PATH,29,1526.59,-4351.83,20.54868,5.113815,10000,0,0,100,0), +(@PATH,30,1525.255,-4353.895,20.78824,0,0,0,0,100,0), +(@PATH,31,1523.505,-4356.395,20.53824,0,0,0,0,100,0), +(@PATH,32,1522.505,-4358.395,20.78824,0,0,0,0,100,0), +(@PATH,33,1520.42,-4361.46,20.52781,0.1396263,10000,0,0,100,0); + +SET @NPC := 287111; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1563.189,`position_y`=-4343.167,`position_z`=20.91406 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,1563.189,-4343.167,20.91406,0,0,0,0,100,0), +(@PATH,2,1567.635,-4339.139,21.75208,0,0,0,0,100,0), +(@PATH,3,1577.135,-4330.389,22.50208,0,0,0,0,100,0), +(@PATH,4,1583.385,-4324.389,21.75208,0,0,0,0,100,0), +(@PATH,5,1600.135,-4314.639,21.00208,0,0,0,0,100,0), +(@PATH,6,1613.635,-4305.389,20.75208,0,0,0,0,100,0), +(@PATH,7,1636.135,-4295.139,21.00208,0,0,0,0,100,0), +(@PATH,8,1650.385,-4292.889,21.75208,0,0,0,0,100,0), +(@PATH,9,1670.885,-4288.389,25.25208,0,0,0,0,100,0), +(@PATH,10,1685.635,-4295.139,29.50208,0,0,0,0,100,0), +(@PATH,11,1699.385,-4310.889,31.25208,0,0,0,0,100,0), +(@PATH,12,1712.635,-4332.389,31.50208,0,0,0,0,100,0), +(@PATH,13,1718.385,-4354.389,31.50208,0,0,0,0,100,0), +(@PATH,14,1719.885,-4379.389,32.50208,0,0,0,0,100,0), +(@PATH,15,1715.635,-4389.139,33.50208,0,0,0,0,100,0), +(@PATH,16,1707.135,-4396.639,34.00208,0,0,0,0,100,0), +(@PATH,17,1695.635,-4404.139,33.25208,0,0,0,0,100,0), +(@PATH,18,1685.885,-4407.889,29.25208,0,0,0,0,100,0), +(@PATH,19,1652.635,-4410.639,18.00208,0,0,0,0,100,0), +(@PATH,20,1623.885,-4408.139,15.50208,0,0,0,0,100,0), +(@PATH,21,1613.885,-4409.639,15.25208,0,0,0,0,100,0), +(@PATH,22,1611.135,-4416.889,14.75208,0,0,0,0,100,0), +(@PATH,23,1614.635,-4419.889,16.25208,0,0,0,0,100,0), +(@PATH,24,1629.385,-4433.139,16.25208,0,0,0,0,100,0), +(@PATH,25,1632.385,-4436.389,17.50208,0,0,0,0,100,0), +(@PATH,26,1635.135,-4437.139,17.50208,0,0,0,0,100,0), +(@PATH,27,1636.635,-4440.889,17.50208,0,0,0,0,100,0), +(@PATH,28,1633.385,-4444.139,17.50208,0,0,0,0,100,0), +(@PATH,29,1629.885,-4443.139,17.50208,0,0,0,0,100,0), +(@PATH,30,1628.635,-4439.889,17.50208,0,0,0,0,100,0), +(@PATH,31,1626.135,-4436.639,16.25208,0,0,0,0,100,0), +(@PATH,32,1612.635,-4421.889,16.25208,0,0,0,0,100,0), +(@PATH,33,1609.885,-4419.139,14.50208,0,0,0,0,100,0), +(@PATH,34,1591.135,-4407.889,15.50208,0,0,0,0,100,0), +(@PATH,35,1560.385,-4398.889,17.25208,0,0,0,0,100,0), +(@PATH,36,1532.885,-4404.139,19.00208,0,0,0,0,100,0), +(@PATH,37,1522.635,-4407.639,20.75208,0,0,0,0,100,0), +(@PATH,38,1511.135,-4410.389,22.50208,0,0,0,0,100,0), +(@PATH,39,1495.635,-4413.639,24.00208,0,0,0,0,100,0), +(@PATH,40,1493.635,-4416.639,24.00208,0,0,0,0,100,0), +(@PATH,41,1496.885,-4418.889,24.00208,0,0,0,0,100,0), +(@PATH,42,1512.635,-4416.389,22.50208,0,0,0,0,100,0), +(@PATH,43,1524.635,-4412.889,20.75208,0,0,0,0,100,0), +(@PATH,44,1533.885,-4409.889,19.25208,0,0,0,0,100,0), +(@PATH,45,1540.635,-4405.889,18.75208,0,0,0,0,100,0), +(@PATH,46,1546.635,-4400.139,18.50208,0,0,0,0,100,0), +(@PATH,47,1548.635,-4392.389,18.25208,0,0,0,0,100,0), +(@PATH,48,1550.885,-4378.389,17.50208,0,0,0,0,100,0), +(@PATH,49,1547.885,-4371.639,18.00208,0,0,0,0,100,0), +(@PATH,50,1543.385,-4368.639,20.75208,0,0,0,0,100,0), +(@PATH,51,1528.885,-4360.889,20.75208,0,0,0,0,100,0), +(@PATH,52,1518.385,-4357.639,20.75208,0,0,0,0,100,0), +(@PATH,53,1516.885,-4352.889,20.75208,0,0,0,0,100,0), +(@PATH,54,1520.885,-4351.389,20.75208,0,0,0,0,100,0), +(@PATH,55,1530.885,-4358.639,20.75208,0,0,0,0,100,0), +(@PATH,56,1544.635,-4366.639,20.75208,0,0,0,0,100,0), +(@PATH,57,1549.635,-4368.389,18.00208,0,0,0,0,100,0), +(@PATH,58,1554.635,-4366.139,17.75208,0,0,0,0,100,0), +(@PATH,59,1557.635,-4353.389,19.25208,0,0,0,0,100,0); + +SET @NPC := 287207; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1630.975,`position_y`=-4438.447,`position_z`=17.17567 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,1630.975,-4438.447,17.17567,0,0,0,0,100,0), +(@PATH,2,1630.475,-4437.947,17.17567,0,0,0,0,100,0), +(@PATH,3,1629.225,-4436.697,17.42567,0,0,0,0,100,0), +(@PATH,4,1627.725,-4435.197,16.42567,0,0,0,0,100,0), +(@PATH,5,1627.225,-4434.947,16.17567,0,0,0,0,100,0), +(@PATH,6,1625.475,-4432.947,16.17567,0,0,0,0,100,0), +(@PATH,7,1623.725,-4431.197,16.17567,0,0,0,0,100,0), +(@PATH,8,1622.725,-4430.197,16.17567,0,0,0,0,100,0), +(@PATH,9,1617.256,-4425.196,16.04735,0,0,0,0,100,0), +(@PATH,10,1616.256,-4424.196,16.04735,0,0,0,0,100,0), +(@PATH,11,1615.506,-4424.196,16.04735,0,0,0,0,100,0), +(@PATH,12,1606.32,-4423.52,13.6591,0,0,0,0,100,0), +(@PATH,13,1604.415,-4416.555,14.49741,0,0,0,0,100,0), +(@PATH,14,1614.51,-4415.09,14.83572,2.216568,5000,0,0,100,0), +(@PATH,15,1609.97,-4417.64,14.28848,0,0,0,0,100,0), +(@PATH,16,1611.177,-4419.067,14.40346,0,0,0,0,100,0), +(@PATH,17,1612.712,-4420.489,15.94843,0,0,0,0,100,0), +(@PATH,18,1613.212,-4420.739,15.94843,0,0,0,0,100,0), +(@PATH,19,1615.962,-4423.739,15.94843,0,0,0,0,100,0), +(@PATH,20,1616.962,-4424.489,15.94843,0,0,0,0,100,0), +(@PATH,21,1617.462,-4425.239,15.94843,0,0,0,0,100,0), +(@PATH,22,1621.712,-4429.239,15.94843,0,0,0,0,100,0), +(@PATH,23,1626.99,-4434.539,16.21526,0,0,0,0,100,0), +(@PATH,24,1627.24,-4434.789,16.21526,0,0,0,0,100,0), +(@PATH,25,1627.74,-4435.289,16.46526,0,0,0,0,100,0), +(@PATH,26,1629.24,-4436.789,17.21526,0,0,0,0,100,0); + +SET @NPC := 286678; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1851.119,`position_y`=-4517.251,`position_z`=24.18536 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,1851.119,-4517.251,24.18536,0,0,0,0,100,0), +(@PATH,2,1838.687,-4521.425,24.12316,0,0,0,0,100,0), +(@PATH,3,1822.937,-4523.175,23.62316,0,0,0,0,100,0), +(@PATH,4,1814.664,-4524.395,23.43164,0,0,0,0,100,0), +(@PATH,5,1792.395,-4526.896,23.87183,0,0,0,0,100,0), +(@PATH,6,1784.645,-4527.646,24.37183,0,0,0,0,100,0), +(@PATH,7,1775.932,-4528.245,25.23722,0,0,0,0,100,0), +(@PATH,8,1771.682,-4525.745,25.48722,0,0,0,0,100,0), +(@PATH,9,1766.932,-4522.995,26.23722,0,0,0,0,100,0), +(@PATH,10,1763.147,-4520.727,26.59712,0,0,0,0,100,0), +(@PATH,11,1757.318,-4520.313,27.18797,0,0,0,0,100,0), +(@PATH,12,1760.318,-4522.813,26.68797,0,0,0,0,100,0), +(@PATH,13,1763.818,-4526.063,26.18797,0,0,0,0,100,0), +(@PATH,14,1811.458,-4530.557,23.69439,0,0,0,0,100,0), +(@PATH,15,1834.708,-4525.557,23.94439,0,0,0,0,100,0), +(@PATH,16,1858.364,-4524.273,24.94416,0,0,0,0,100,0), +(@PATH,17,1863.364,-4527.523,25.44416,0,0,0,0,100,0), +(@PATH,18,1868.364,-4530.773,26.19416,0,0,0,0,100,0), +(@PATH,19,1872.364,-4533.273,26.69416,0,0,0,0,100,0), +(@PATH,20,1876.614,-4535.773,27.44416,0,0,0,0,100,0), +(@PATH,21,1880.745,-4538.067,28.21308,0,0,0,0,100,0), +(@PATH,22,1890.245,-4536.317,28.71308,0,0,0,0,100,0), +(@PATH,23,1846.463,-4523.104,24.2444,0,0,0,0,100,0), +(@PATH,24,1858.362,-4524.417,24.9125,0,0,0,0,100,0), +(@PATH,25,1863.362,-4527.417,25.4125,0,0,0,0,100,0), +(@PATH,26,1868.362,-4530.667,26.1625,0,0,0,0,100,0), +(@PATH,27,1872.362,-4533.167,26.6625,0,0,0,0,100,0), +(@PATH,28,1876.612,-4535.917,27.4125,0,0,0,0,100,0), +(@PATH,29,1880.635,-4538.062,28.04634,0,0,0,0,100,0), +(@PATH,30,1890.385,-4536.312,28.54634,0,0,0,0,100,0), +(@PATH,31,1894.55,-4535.616,28.75937,0,0,0,0,100,0), +(@PATH,32,1894.8,-4531.616,28.25937,0,0,0,0,100,0), +(@PATH,33,1895.05,-4525.616,27.50937,0,0,0,0,100,0), +(@PATH,34,1895.3,-4519.866,27.00937,0,0,0,0,100,0), +(@PATH,35,1895.3,-4514.866,26.50937,0,0,0,0,100,0), +(@PATH,36,1895.55,-4510.866,25.75937,0,0,0,0,100,0), +(@PATH,37,1895.763,-4505.792,25.21579,0,0,0,0,100,0), +(@PATH,38,1892.263,-4502.292,24.46579,0,0,0,0,100,0), +(@PATH,39,1889.513,-4499.792,24.21579,0,0,0,0,100,0), +(@PATH,40,1883.375,-4494.163,23.63243,0,0,0,0,100,0), +(@PATH,41,1863.905,-4510.321,23.82265,0,0,0,0,100,0), +(@PATH,42,1851.133,-4517.409,24.19658,0,0,0,0,100,0); + +SET @NPC := 286611; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1940.928,`position_y`=-4677.009,`position_z`=33.84278 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,1940.928,-4677.009,33.84278,0,0,0,0,100,0), +(@PATH,2,1927.215,-4666.632,33.64573,0,0,0,0,100,0), +(@PATH,3,1922.24,-4656.295,33.53835,0,0,0,0,100,0), +(@PATH,4,1927.13,-4666.74,33.56191,0,0,0,0,100,0), +(@PATH,5,1927.48,-4666.732,33.6406,0,0,0,0,100,0), +(@PATH,6,1941.19,-4677.344,33.7936,0,0,0,0,100,0), +(@PATH,7,1952.69,-4679.344,33.2936,0,0,0,0,100,0), +(@PATH,8,1952.909,-4679.659,33.25051,0,0,0,0,100,0), +(@PATH,9,1954.159,-4679.909,33.00051,0,0,0,0,100,0), +(@PATH,10,1960.909,-4680.409,32.50051,0,0,0,0,100,0), +(@PATH,11,1966.636,-4681.128,31.84682,0,0,0,0,100,0), +(@PATH,12,1971.485,-4678.636,31.61636,0,0,0,0,100,0), +(@PATH,13,1972.735,-4678.636,31.61636,0,0,0,0,100,0), +(@PATH,14,1977.235,-4681.386,32.11636,0,0,0,0,100,0), +(@PATH,15,1981.485,-4683.636,32.36636,0,0,0,0,100,0), +(@PATH,16,1985.735,-4685.886,32.36636,0,0,0,0,100,0), +(@PATH,17,1986.047,-4686.072,32.31528,0,0,0,0,100,0), +(@PATH,18,1987.047,-4686.572,32.31528,0,0,0,0,100,0), +(@PATH,19,1990.297,-4688.322,31.81528,0,0,0,0,100,0), +(@PATH,20,1994.297,-4690.072,30.81528,0,0,0,0,100,0), +(@PATH,21,1999.094,-4692.644,29.50362,0,0,0,0,100,0), +(@PATH,22,2003.983,-4693.757,29.15121,0,0,0,0,100,0), +(@PATH,23,2016.154,-4687.944,28.6915,0,0,0,0,100,0), +(@PATH,24,2025.908,-4682.835,28.44281,0,0,0,0,100,0), +(@PATH,25,2027.452,-4670.082,28.80202,0,0,0,0,100,0), +(@PATH,26,2027.254,-4661.718,28.77965,0,0,0,0,100,0), +(@PATH,27,2021.034,-4651.025,28.84457,0,0,0,0,100,0), +(@PATH,28,2020.784,-4650.775,28.34457,0,0,0,0,100,0), +(@PATH,29,2021.534,-4649.025,30.09457,0,0,0,0,100,0), +(@PATH,30,2024.784,-4648.275,31.84457,0,0,0,0,100,0), +(@PATH,31,2024.684,-4648.058,31.82929,0,0,0,0,100,0), +(@PATH,32,2022.434,-4646.808,31.82929,0,0,0,0,100,0), +(@PATH,33,2022.934,-4645.558,31.82929,0,0,0,0,100,0), +(@PATH,34,2023.83,-4640.935,31.93436,0,0,0,0,100,0), +(@PATH,35,2024.01,-4639.8,31.6793,0,0,0,0,100,0), +(@PATH,36,2023.63,-4640.87,31.93757,0,0,0,0,100,0), +(@PATH,37,2022.88,-4644.87,31.93757,0,0,0,0,100,0), +(@PATH,38,2022.794,-4644.919,31.83172,0,0,0,0,100,0), +(@PATH,39,2022.294,-4646.919,31.83172,0,0,0,0,100,0), +(@PATH,40,2019.794,-4646.419,31.83172,0,0,0,0,100,0), +(@PATH,41,2020.294,-4648.419,30.08172,0,0,0,0,100,0), +(@PATH,42,2020.3,-4648.677,29.99502,0,0,0,0,100,0), +(@PATH,43,2020.55,-4651.677,28.99502,0,0,0,0,100,0), +(@PATH,44,2027.175,-4661.797,28.80478,0,0,0,0,100,0), +(@PATH,45,2027.589,-4670.408,28.68972,0,0,0,0,100,0), +(@PATH,46,2025.86,-4683.181,28.42958,0,0,0,0,100,0), +(@PATH,47,2015.776,-4688.109,28.73262,0,0,0,0,100,0), +(@PATH,48,2003.63,-4693.804,29.23157,0,0,0,0,100,0), +(@PATH,49,1998.394,-4691.927,29.86153,0,0,0,0,100,0), +(@PATH,50,1994.394,-4690.177,30.86153,0,0,0,0,100,0), +(@PATH,51,1990.394,-4688.177,31.86153,0,0,0,0,100,0), +(@PATH,52,1986.831,-4686.379,32.36172,0,0,0,0,100,0), +(@PATH,53,1985.831,-4685.879,32.36172,0,0,0,0,100,0), +(@PATH,54,1981.581,-4683.629,32.36172,0,0,0,0,100,0), +(@PATH,55,1977.331,-4681.379,32.11172,0,0,0,0,100,0), +(@PATH,56,1971.895,-4678.033,31.80171,0,0,0,0,100,0), +(@PATH,57,1966.294,-4680.932,32.32523,0,0,0,0,100,0), +(@PATH,58,1960.544,-4680.432,32.57523,0,0,0,0,100,0), +(@PATH,59,1953.9,-4679.636,33.22524,0,0,0,0,100,0), +(@PATH,60,1946.4,-4678.386,33.72524,0,0,0,0,100,0); + +SET @NPC := 286648; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1919.725,`position_y`=-4572.23,`position_z`=36.2021 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,1919.725,-4572.23,36.2021,0,0,0,0,100,0), +(@PATH,2,1924.975,-4579.98,36.2021,0,0,0,0,100,0), +(@PATH,3,1924.975,-4587.23,36.2021,0,0,0,0,100,0), +(@PATH,4,1913.975,-4595.23,36.2021,0,0,0,0,100,0), +(@PATH,5,1900.225,-4604.73,36.2021,0,0,0,0,100,0), +(@PATH,6,1898.475,-4612.98,36.2021,0,0,0,0,100,0), +(@PATH,7,1898.475,-4612.98,36.2021,0,0,0,0,100,0), +(@PATH,8,1900.225,-4604.73,36.2021,0,0,0,0,100,0), +(@PATH,9,1913.975,-4595.23,36.2021,0,0,0,0,100,0), +(@PATH,10,1924.975,-4587.23,36.2021,0,0,0,0,100,0), +(@PATH,11,1924.975,-4579.98,36.2021,0,0,0,0,100,0), +(@PATH,12,1919.725,-4572.23,36.2021,0,0,0,0,100,0); + +SET @NPC := 286710; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1939.754,`position_y`=-4491.729,`position_z`=27.66025 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,1939.754,-4491.729,27.66025,0,0,0,0,100,0), +(@PATH,2,1933.004,-4484.979,26.16025,0,0,0,0,100,0), +(@PATH,3,1921.504,-4484.979,26.16025,0,0,0,0,100,0), +(@PATH,4,1915.004,-4480.729,25.66025,0,0,0,0,100,0), +(@PATH,5,1924.74,-4477.54,25.218,3.525565,0,0,0,100,0), +(@PATH,6,1925.405,-4480.79,25.5873,0,0,0,0,100,0), +(@PATH,7,1931.155,-4479.79,25.8373,0,0,0,0,100,0), +(@PATH,8,1941.905,-4473.04,25.5873,0,0,0,0,100,0), +(@PATH,9,1945.655,-4472.79,26.3373,0,0,0,0,100,0), +(@PATH,10,1949.905,-4471.29,26.3373,0,0,0,0,100,0), +(@PATH,11,1940.88,-4481.57,25.8503,2.792527,0,0,0,100,0), +(@PATH,12,1936.324,-4481.993,25.9764,0,0,0,0,100,0), +(@PATH,13,1935.074,-4485.743,26.2264,0,0,0,0,100,0), +(@PATH,14,1942.574,-4493.243,27.7264,0,0,0,0,100,0); + +SET @NPC := 311028; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1833.535,`position_y`=-4523.455,`position_z`=24.19615 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,1833.535,-4523.455,24.19615,0,0,0,0,100,0), +(@PATH,2,1819.785,-4523.205,23.69615,0,0,0,0,100,0), +(@PATH,3,1809.285,-4523.705,23.44615,0,0,0,0,100,0), +(@PATH,4,1797.785,-4527.455,23.69615,0,0,0,0,100,0), +(@PATH,5,1789.535,-4529.205,23.94615,0,0,0,0,100,0), +(@PATH,6,1775.785,-4529.955,24.94615,0,0,0,0,100,0), +(@PATH,7,1766.035,-4521.955,26.44615,0,0,0,0,100,0), +(@PATH,8,1759.285,-4514.205,27.69615,0,0,0,0,100,0), +(@PATH,9,1753.035,-4509.205,28.94615,0,0,0,0,100,0), +(@PATH,10,1749.035,-4505.205,30.19615,0,0,0,0,100,0), +(@PATH,11,1744.285,-4500.205,30.69615,0,0,0,0,100,0), +(@PATH,12,1738.035,-4493.455,31.69615,0,0,0,0,100,0), +(@PATH,13,1734.285,-4486.955,32.69615,0,0,0,0,100,0), +(@PATH,14,1733.035,-4478.705,34.19615,0,0,0,0,100,0), +(@PATH,15,1733.535,-4472.705,35.44615,0,0,0,0,100,0), +(@PATH,16,1737.035,-4471.455,35.44615,0,0,0,0,100,0), +(@PATH,17,1743.285,-4476.955,37.44615,0,0,0,0,100,0), +(@PATH,18,1747.285,-4480.205,40.19615,0,0,0,0,100,0), +(@PATH,19,1750.785,-4483.455,42.19615,0,0,0,0,100,0), +(@PATH,20,1755.035,-4487.455,44.19615,0,0,0,0,100,0), +(@PATH,21,1753.8,-4493.53,43.9572,3.403392,5000,0,0,100,0), +(@PATH,22,1758.535,-4486.705,44.69615,0,0,0,0,100,0), +(@PATH,23,1755.535,-4480.205,43.19615,0,0,0,0,100,0), +(@PATH,24,1752.035,-4476.455,40.44615,0,0,0,0,100,0), +(@PATH,25,1747.035,-4472.455,37.44615,0,0,0,0,100,0), +(@PATH,26,1741.785,-4469.455,35.69615,0,0,0,0,100,0), +(@PATH,27,1729.285,-4472.455,35.44615,0,0,0,0,100,0), +(@PATH,28,1726.785,-4480.955,33.94615,0,0,0,0,100,0), +(@PATH,29,1728.285,-4487.955,32.69615,0,0,0,0,100,0), +(@PATH,30,1733.535,-4496.955,31.44615,0,0,0,0,100,0), +(@PATH,31,1737.285,-4501.705,30.94615,0,0,0,0,100,0), +(@PATH,32,1742.035,-4507.205,30.19615,0,0,0,0,100,0), +(@PATH,33,1747.285,-4511.955,29.44615,0,0,0,0,100,0), +(@PATH,34,1755.035,-4518.955,27.94615,0,0,0,0,100,0), +(@PATH,35,1764.285,-4526.705,26.19615,0,0,0,0,100,0), +(@PATH,36,1775.535,-4533.455,24.94615,0,0,0,0,100,0), +(@PATH,37,1793.035,-4534.455,23.69615,0,0,0,0,100,0), +(@PATH,38,1808.535,-4531.705,23.44615,0,0,0,0,100,0), +(@PATH,39,1815.285,-4529.705,23.69615,0,0,0,0,100,0), +(@PATH,40,1829.035,-4529.205,24.19615,0,0,0,0,100,0); + +SET @NPC := 286827; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1729.325,`position_y`=-4315.215,`position_z`=62.04093 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,1729.325,-4315.215,62.04093,0,0,0,0,100,0), +(@PATH,2,1734.575,-4325.215,58.79093,0,0,0,0,100,0), +(@PATH,3,1739.825,-4338.215,53.29093,0,0,0,0,100,0), +(@PATH,4,1742.075,-4352.215,47.54093,0,0,0,0,100,0), +(@PATH,5,1741.325,-4367.715,40.29093,0,0,0,0,100,0), +(@PATH,6,1738.575,-4375.465,37.04093,0,0,0,0,100,0), +(@PATH,7,1735.575,-4379.465,34.29093,0,0,0,0,100,0), +(@PATH,8,1735.41,-4383.35,33.1556,3.874631,0,0,0,100,0), +(@PATH,9,1734.74,-4379.615,33.79375,0,0,0,0,100,0), +(@PATH,10,1738.49,-4375.615,36.79375,0,0,0,0,100,0), +(@PATH,11,1741.49,-4367.115,40.54375,0,0,0,0,100,0), +(@PATH,12,1741.99,-4351.865,47.54375,0,0,0,0,100,0), +(@PATH,13,1739.74,-4336.865,53.79375,0,0,0,0,100,0), +(@PATH,14,1734.99,-4325.615,58.54375,0,0,0,0,100,0), +(@PATH,15,1729.49,-4315.865,62.04375,0,0,0,0,100,0), +(@PATH,16,1729.325,-4315.215,62.04093,0,0,0,0,100,0), +(@PATH,17,1734.575,-4325.215,58.79093,0,0,0,0,100,0), +(@PATH,18,1739.825,-4338.215,53.29093,0,0,0,0,100,0), +(@PATH,19,1742.075,-4352.215,47.54093,0,0,0,0,100,0), +(@PATH,20,1741.325,-4367.715,40.29093,0,0,0,0,100,0), +(@PATH,21,1738.575,-4375.465,37.04093,0,0,0,0,100,0), +(@PATH,22,1735.575,-4379.465,34.29093,0,0,0,0,100,0); + +SET @NPC := 286600; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1920.912,`position_y`=-4672.05,`position_z`=34.50681 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,1920.912,-4672.05,34.50681,0,0,0,0,100,0), +(@PATH,2,1921.662,-4670.8,34.25681,0,0,0,0,100,0), +(@PATH,3,1918.662,-4661.55,34.00681,0,0,0,0,100,0), +(@PATH,4,1918.2,-4661.582,33.97115,0,0,0,0,100,0), +(@PATH,5,1918.2,-4661.332,33.72115,0,0,0,0,100,0), +(@PATH,6,1919.685,-4666.685,34.22895,0,0,0,0,100,0), +(@PATH,7,1919.685,-4668.685,34.22895,0,0,0,0,100,0), +(@PATH,8,1919.685,-4670.685,34.47895,0,0,0,0,100,0), +(@PATH,9,1918.685,-4674.685,34.97895,0,0,0,0,100,0), +(@PATH,10,1919.951,-4678.11,35.15611,0,0,0,0,100,0), +(@PATH,11,1912.701,-4682.61,35.65611,0,0,0,0,100,0), +(@PATH,12,1909.832,-4683.692,35.95065,0,0,0,0,100,0), +(@PATH,13,1909.082,-4683.692,36.20065,0,0,0,0,100,0), +(@PATH,14,1907.332,-4683.692,37.70065,0,0,0,0,100,0), +(@PATH,15,1906.332,-4683.692,38.70065,0,0,0,0,100,0), +(@PATH,16,1906.133,-4683.496,38.59302,0,0,0,0,100,0), +(@PATH,17,1905.633,-4683.496,38.59302,0,0,0,0,100,0), +(@PATH,18,1900.633,-4682.996,38.59302,0,0,0,0,100,0), +(@PATH,19,1899.383,-4682.996,38.59302,0,0,0,0,100,0), +(@PATH,20,1892.883,-4682.496,38.59302,0,0,0,0,100,0), +(@PATH,21,1889.383,-4682.246,38.59302,0,0,0,0,100,0), +(@PATH,22,1886.633,-4681.996,38.59302,0,0,0,0,100,0), +(@PATH,23,1884.883,-4681.746,38.59302,0,0,0,0,100,0), +(@PATH,24,1884.433,-4681.579,38.75163,0,0,0,0,100,0), +(@PATH,25,1884.183,-4681.329,38.50163,0,0,0,0,100,0), +(@PATH,26,1883.433,-4678.829,38.50163,0,0,0,0,100,0), +(@PATH,27,1882.46,-4676.81,38.50108,5.585053,5000,0,0,100,0), +(@PATH,28,1909.314,-4683.479,36.07848,0,0,0,0,100,0), +(@PATH,29,1910.064,-4683.479,35.82848,0,0,0,0,100,0), +(@PATH,30,1916.686,-4679.775,35.18268,0,0,0,0,100,0); + +SET @NPC := 286746; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1773.07,`position_y`=-4493.42,`position_z`=45.7378 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,1773.07,-4493.42,45.7378,1.291544,5000,0,0,100,0), +(@PATH,2,1772.36,-4497.94,45.0764,0,0,0,0,100,0), +(@PATH,3,1777.61,-4505.44,45.0764,0,0,0,0,100,0), +(@PATH,4,1791.61,-4504.94,45.3264,0,0,0,0,100,0), +(@PATH,5,1806.86,-4498.69,46.3264,0,0,0,0,100,0), +(@PATH,6,1823.36,-4494.94,47.3264,0,0,0,0,100,0), +(@PATH,7,1840.61,-4490.19,47.0764,0,0,0,0,100,0), +(@PATH,8,1859.36,-4478.94,47.3264,0,0,0,0,100,0), +(@PATH,9,1875.11,-4464.44,49.5764,0,0,0,0,100,0), +(@PATH,10,1885.36,-4453.19,51.5764,0,0,0,0,100,0), +(@PATH,11,1891.61,-4447.69,53.0764,0,0,0,0,100,0); + +SET @NPC := 310941; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1779.89,`position_y`=-4384.665,`position_z`=103.0044 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,1779.89,-4384.665,103.0044,0,0,0,0,100,0), +(@PATH,2,1777.39,-4382.415,102.7544,0,0,0,0,100,0), +(@PATH,3,1772.39,-4385.165,106.0044,0,0,0,0,100,0), +(@PATH,4,1767.14,-4388.665,109.7544,0,0,0,0,100,0), +(@PATH,5,1765.39,-4393.665,109.7544,0,0,0,0,100,0), +(@PATH,6,1760.39,-4404.415,109.7544,0,0,0,0,100,0), +(@PATH,7,1746.64,-4402.415,109.7544,0,0,0,0,100,0), +(@PATH,8,1731.89,-4412.415,108.5044,0,0,0,0,100,0), +(@PATH,9,1718.64,-4421.415,110.5044,0,0,0,0,100,0), +(@PATH,10,1714.14,-4423.665,110.5044,0,0,0,0,100,0), +(@PATH,11,1698.01,-4422.38,110.214,2.600541,5000,0,0,100,0), +(@PATH,12,1700.86,-4422.88,110.4795,0,0,0,0,100,0), +(@PATH,13,1714.36,-4423.63,110.4795,0,0,0,0,100,0), +(@PATH,14,1720.61,-4420.13,110.4795,0,0,0,0,100,0), +(@PATH,15,1730.86,-4413.13,108.7295,0,0,0,0,100,0), +(@PATH,16,1742.36,-4405.13,109.7295,0,0,0,0,100,0), +(@PATH,17,1744.36,-4403.38,109.7295,0,0,0,0,100,0), +(@PATH,18,1749.36,-4389.13,109.7295,0,0,0,0,100,0), +(@PATH,19,1764.61,-4388.88,109.7295,0,0,0,0,100,0), +(@PATH,20,1768.61,-4387.88,109.7295,0,0,0,0,100,0), +(@PATH,21,1700.86,-4422.88,110.4795,0,0,0,0,100,0), +(@PATH,22,1714.36,-4423.63,110.4795,0,0,0,0,100,0), +(@PATH,23,1720.61,-4420.13,110.4795,0,0,0,0,100,0), +(@PATH,24,1730.86,-4413.13,108.7295,0,0,0,0,100,0), +(@PATH,25,1742.36,-4405.13,109.7295,0,0,0,0,100,0), +(@PATH,26,1744.36,-4403.38,109.7295,0,0,0,0,100,0), +(@PATH,27,1749.36,-4389.13,109.7295,0,0,0,0,100,0), +(@PATH,28,1764.61,-4388.88,109.7295,0,0,0,0,100,0), +(@PATH,29,1768.61,-4387.88,109.7295,0,0,0,0,100,0), +(@PATH,30,1776.94,-4388.29,102.063,0,0,0,0,100,0), +(@PATH,31,1778.27,-4386.95,102.2948,0,0,0,0,100,0), +(@PATH,32,1778.27,-4386.95,102.2948,0.6806784,5000,0,0,100,0); + +SET @NPC := 286472; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2067.078,`position_y`=-4604.621,`position_z`=49.55064 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,2067.078,-4604.621,49.55064,0,0,0,0,100,0), +(@PATH,2,2066.837,-4601.917,49.58557,0,0,0,0,100,0), +(@PATH,3,2071.4,-4598.52,49.61624,0,0,0,0,100,0), +(@PATH,4,2073.402,-4593.574,49.62801,0,0,0,0,100,0), +(@PATH,5,2076.472,-4592.464,49.62801,0,0,0,0,100,0), +(@PATH,6,2079.267,-4593.267,49.62801,0,0,0,0,100,0), +(@PATH,7,2080.517,-4595.267,49.62801,0,0,0,0,100,0), +(@PATH,8,2085.191,-4595.672,49.62801,0,0,0,0,100,0), +(@PATH,9,2082.922,-4599.072,49.62801,0,0,0,0,100,0), +(@PATH,10,2077.278,-4597.584,49.62801,0,0,0,0,100,0), +(@PATH,11,2077.057,-4597.626,49.58388,0,0,0,0,100,0), +(@PATH,12,2074.807,-4598.126,49.58388,0,0,0,0,100,0), +(@PATH,13,2072.718,-4601.672,49.56532,0,0,0,0,100,0), +(@PATH,14,2071.877,-4604.907,49.53975,0,0,0,0,100,0), +(@PATH,15,2067.195,-4604.676,49.33388,0,0,0,0,100,0); + +SET @NPC := 310942; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1756.095,`position_y`=-4287.895,`position_z`=101.411 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,1756.095,-4287.895,101.411,0,0,0,0,100,0), +(@PATH,2,1755.845,-4293.395,101.411,0,0,0,0,100,0), +(@PATH,3,1755.095,-4297.645,101.661,0,0,0,0,100,0), +(@PATH,4,1754.595,-4302.645,101.661,0,0,0,0,100,0), +(@PATH,5,1756.345,-4307.145,101.661,0,0,0,0,100,0), +(@PATH,6,1757.845,-4311.145,101.411,0,0,0,0,100,0), +(@PATH,7,1756.56,-4314.15,101.445,3.787364,5000,0,0,100,0), +(@PATH,8,1757.845,-4310.895,101.411,0,0,0,0,100,0), +(@PATH,9,1760.345,-4307.895,101.411,0,0,0,0,100,0), +(@PATH,10,1762.095,-4304.895,101.411,0,0,0,0,100,0), +(@PATH,11,1762.345,-4300.645,101.411,0,0,0,0,100,0), +(@PATH,12,1761.095,-4296.395,101.411,0,0,0,0,100,0), +(@PATH,13,1758.345,-4293.645,101.411,0,0,0,0,100,0), +(@PATH,14,1756.095,-4290.895,101.411,0,0,0,0,100,0), +(@PATH,15,1755.845,-4288.145,101.411,0,0,0,0,100,0); + +SET @NPC := 287251; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1769.491,`position_y`=-4284.555,`position_z`=101.3198 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,1769.491,-4284.555,101.3198,0,0,0,0,100,0), +(@PATH,2,1769.491,-4286.555,101.3198,0,0,0,0,100,0), +(@PATH,3,1769.741,-4291.305,101.3198,0,0,0,0,100,0), +(@PATH,4,1770.13,-4291.393,101.2691,0,0,0,0,100,0), +(@PATH,5,1770.13,-4292.893,101.0191,0,0,0,0,100,0), +(@PATH,6,1771.13,-4301.143,101.0191,0,0,0,0,100,0), +(@PATH,7,1771.789,-4304.024,101.2555,0,0,0,0,100,0), +(@PATH,8,1772.789,-4306.274,101.2555,0,0,0,0,100,0), +(@PATH,9,1776.528,-4313.794,101.3277,0,0,0,0,100,0), +(@PATH,10,1779.581,-4317.397,101.3794,0,0,0,0,100,0), +(@PATH,11,1780.581,-4318.397,101.3794,0,0,0,0,100,0), +(@PATH,12,1781.831,-4319.397,101.3794,0,0,0,0,100,0), +(@PATH,13,1780.874,-4318.676,101.42,0,0,0,0,100,0), +(@PATH,14,1782.124,-4319.426,101.42,0,0,0,0,100,0), +(@PATH,15,1782.374,-4319.676,101.42,0,0,0,0,100,0), +(@PATH,16,1784.79,-4320.3,101.2179,0.08726646,6000,0,0,100,0), +(@PATH,17,1784.595,-4318.9,101.4229,0,0,0,0,100,0), +(@PATH,18,1782.468,-4310.931,101.359,0,0,0,0,100,0), +(@PATH,19,1777.557,-4307.645,101.2813,0,0,0,0,100,0), +(@PATH,20,1776.307,-4306.395,101.2813,0,0,0,0,100,0), +(@PATH,21,1771.615,-4301.402,101.2395,0,0,0,0,100,0); + +SET @NPC := 286708; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1902.69,`position_y`=-4450.71,`position_z`=53.40442 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,1902.69,-4450.71,53.40442,0,0,0,0,100,0), +(@PATH,2,1902.69,-4450.71,53.40442,0.6981317,5000,0,0,100,0), +(@PATH,3,1905.7,-4455.57,53.39288,0,0,0,0,100,0), +(@PATH,4,1905.831,-4455.37,53.63839,0,0,0,0,100,0), +(@PATH,5,1907.59,-4460.51,53.38523,0,0,0,0,100,0), +(@PATH,6,1907.898,-4460.374,53.63419,0,0,0,0,100,0), +(@PATH,7,1907.07,-4462.99,53.38649,5.51524,5000,0,0,100,0), +(@PATH,8,1902.12,-4462.42,53.40385,0,0,0,0,100,0), +(@PATH,9,1902.431,-4462.497,53.65258,0,0,0,0,100,0), +(@PATH,10,1907.07,-4462.99,53.38649,5.51524,5000,0,0,100,0), +(@PATH,11,1902.12,-4462.42,53.40385,0,0,0,0,100,0), +(@PATH,12,1902.434,-4462.497,53.65257,0,0,0,0,100,0), +(@PATH,13,1900.8,-4463.85,53.40813,5.410521,5000,0,0,100,0); + +SET @NPC := 310850; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1549.595,`position_y`=-4329.565,`position_z`=26.08117 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,1549.595,-4329.565,26.08117,0,0,0,0,100,0), +(@PATH,2,1550.845,-4331.565,26.08117,0,0,0,0,100,0), +(@PATH,3,1553.095,-4335.815,22.83117,0,0,0,0,100,0), +(@PATH,4,1562.845,-4346.815,20.83117,0,0,0,0,100,0), +(@PATH,5,1567.845,-4356.315,21.08117,0,0,0,0,100,0), +(@PATH,6,1573.095,-4367.065,20.58117,0,0,0,0,100,0), +(@PATH,7,1582.595,-4373.815,20.83117,0,0,0,0,100,0), +(@PATH,8,1594.095,-4372.065,21.33117,0,0,0,0,100,0), +(@PATH,9,1593.4,-4373.435,21.0926,0,0,0,0,100,0), +(@PATH,10,1582.4,-4375.935,20.5926,0,0,0,0,100,0), +(@PATH,11,1575.15,-4368.435,20.8426,0,0,0,0,100,0), +(@PATH,12,1568.15,-4356.435,21.0926,0,0,0,0,100,0), +(@PATH,13,1563.15,-4348.435,20.5926,0,0,0,0,100,0), +(@PATH,14,1553.65,-4335.935,22.5926,0,0,0,0,100,0), +(@PATH,15,1550.65,-4331.435,26.0926,0,0,0,0,100,0), +(@PATH,16,1546.4,-4325.35,25.93285,0,0,0,0,100,0); + +DELETE FROM `creature` WHERE `guid`=310801; +UPDATE `creature` SET `spawndist`=3, `MovementType`=1 WHERE `guid`=287231; +DELETE FROM `creature` WHERE `guid`=310835; + +DELETE FROM `creature_template_addon` WHERE `entry`=37072; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(37072,0,0,0,1,233, ''); + +-- Sana SAI +SET @ENTRY := 3319; +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,5000,5000,6000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sana - Out of Combat - Play Emote 1"); + +-- Naros SAI +SET @ENTRY := 46512; +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,5000,5000,6000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Naros - Out of Combat - Play Emote 1"); + +-- Gonto SAI +SET @ENTRY := 46357; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Gonto - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 4635700; +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,66,0,0,0,0,0,0,8,0,0,0,0,0,0,2.560978,"On Script - Set Orientation 2,560978"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 69"), +(@ENTRY,9,2,0,0,0,100,0,11000,11000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,5.934120,"On Script - Set Orientation 5,934120"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +DELETE FROM `creature` WHERE `guid`=310841; + +-- Urtharo SAI +SET @ENTRY := 3314; +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,3000,14000,25000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urtharo - Out of Combat - Play Emote 1"); + +SET @NPC := 287142; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1653.72,`position_y`=-4324.76,`position_z`=63.8352 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,1653.72,-4324.76,63.8352,0,0,0,0,100,0), +(@PATH,2,1639.97,-4333.26,63.8352,0,0,0,0,100,0), +(@PATH,3,1634.47,-4344.01,63.8352,0,0,0,0,100,0), +(@PATH,4,1634.97,-4355.51,63.8352,0,0,0,0,100,0), +(@PATH,5,1640.22,-4365.26,63.8352,0,0,0,0,100,0), +(@PATH,6,1649.22,-4372.01,63.8352,0,0,0,0,100,0), +(@PATH,7,1661.97,-4372.76,63.8352,0,0,0,0,100,0), +(@PATH,8,1675.22,-4365.51,63.8352,0,0,0,0,100,0), +(@PATH,9,1675.22,-4365.51,63.8352,0,0,0,0,100,0), +(@PATH,10,1661.97,-4372.76,63.8352,0,0,0,0,100,0), +(@PATH,11,1649.22,-4372.01,63.8352,0,0,0,0,100,0), +(@PATH,12,1640.22,-4365.26,63.8352,0,0,0,0,100,0), +(@PATH,13,1634.97,-4355.51,63.8352,0,0,0,0,100,0), +(@PATH,14,1634.47,-4344.01,63.8352,0,0,0,0,100,0), +(@PATH,15,1639.97,-4333.26,63.8352,0,0,0,0,100,0), +(@PATH,16,1653.72,-4324.76,63.8352,0,0,0,0,100,0); + +SET @NPC := 310923; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1599.81,`position_y`=-4305.11,`position_z`=20.5214 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,1599.81,-4305.11,20.5214,5.375614,5000,0,0,100,0), +(@PATH,2,1603.225,-4311.32,21.014,0,0,0,0,100,0), +(@PATH,3,1610.225,-4308.57,21.014,0,0,0,0,100,0), +(@PATH,4,1618.975,-4302.07,21.014,0,0,0,0,100,0), +(@PATH,5,1627.975,-4297.07,21.014,0,0,0,0,100,0), +(@PATH,6,1643.475,-4294.32,21.764,0,0,0,0,100,0), +(@PATH,7,1657.975,-4289.82,22.764,0,0,0,0,100,0), +(@PATH,8,1668.975,-4288.07,25.014,0,0,0,0,100,0), +(@PATH,9,1677.475,-4291.32,27.764,0,0,0,0,100,0), +(@PATH,10,1686.225,-4296.57,30.014,0,0,0,0,100,0), +(@PATH,11,1693.975,-4305.32,31.514,0,0,0,0,100,0), +(@PATH,12,1699.975,-4312.82,31.514,0,0,0,0,100,0), +(@PATH,13,1705.725,-4321.32,31.514,0,0,0,0,100,0), +(@PATH,14,1710.975,-4331.82,31.514,0,0,0,0,100,0), +(@PATH,15,1715.225,-4343.07,31.514,0,0,0,0,100,0), +(@PATH,16,1717.225,-4353.57,31.514,0,0,0,0,100,0), +(@PATH,17,1719.225,-4365.32,31.764,0,0,0,0,100,0), +(@PATH,18,1718.725,-4377.32,32.264,0,0,0,0,100,0), +(@PATH,19,1721.225,-4387.32,33.264,0,0,0,0,100,0), +(@PATH,20,1725.975,-4393.57,34.514,0,0,0,0,100,0), +(@PATH,21,1730.725,-4396.57,35.514,0,0,0,0,100,0), +(@PATH,22,1734.975,-4396.32,36.264,0,0,0,0,100,0), +(@PATH,23,1738.225,-4393.82,36.514,0,0,0,0,100,0), +(@PATH,24,1741.225,-4390.57,40.014,0,0,0,0,100,0), +(@PATH,25,1744.725,-4388.07,42.764,0,0,0,0,100,0), +(@PATH,26,1749.22,-4385.11,42.50665,0,0,0,0,100,0), +(@PATH,27,1749.22,-4385.11,42.50665,3.752458,5000,0,0,100,0), +(@PATH,28,1744.765,-4388.11,42.76402,0,0,0,0,100,0), +(@PATH,29,1741.015,-4390.61,39.76402,0,0,0,0,100,0), +(@PATH,30,1737.515,-4393.11,36.51402,0,0,0,0,100,0), +(@PATH,31,1733.265,-4397.36,36.01402,0,0,0,0,100,0), +(@PATH,32,1729.765,-4397.11,35.51402,0,0,0,0,100,0), +(@PATH,33,1726.765,-4390.36,34.01402,0,0,0,0,100,0), +(@PATH,34,1726.765,-4377.61,32.51402,0,0,0,0,100,0), +(@PATH,35,1726.765,-4364.86,31.76402,0,0,0,0,100,0), +(@PATH,36,1725.015,-4355.36,31.51402,0,0,0,0,100,0), +(@PATH,37,1722.015,-4344.36,31.51402,0,0,0,0,100,0), +(@PATH,38,1719.015,-4334.61,31.51402,0,0,0,0,100,0), +(@PATH,39,1713.515,-4324.36,31.51402,0,0,0,0,100,0), +(@PATH,40,1706.515,-4312.86,31.51402,0,0,0,0,100,0), +(@PATH,41,1699.515,-4305.11,31.51402,0,0,0,0,100,0), +(@PATH,42,1692.265,-4296.86,31.01402,0,0,0,0,100,0), +(@PATH,43,1681.515,-4286.11,28.26402,0,0,0,0,100,0), +(@PATH,44,1671.265,-4282.11,25.51402,0,0,0,0,100,0), +(@PATH,45,1659.765,-4284.11,23.26402,0,0,0,0,100,0), +(@PATH,46,1642.265,-4287.86,21.51402,0,0,0,0,100,0), +(@PATH,47,1620.015,-4295.11,21.01402,0,0,0,0,100,0), +(@PATH,48,1611.015,-4300.86,21.01402,0,0,0,0,100,0), +(@PATH,49,1604.765,-4304.11,21.01402,0,0,0,0,100,0); + +SET @NPC := 310873; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1632.455,`position_y`=-4264.46,`position_z`=38.0437 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,1632.455,-4264.46,38.0437,0,0,0,0,100,0), +(@PATH,2,1621.955,-4265.21,43.5437,0,0,0,0,100,0), +(@PATH,3,1613.705,-4266.96,50.5437,0,0,0,0,100,0), +(@PATH,4,1609.205,-4265.71,51.2937,0,0,0,0,100,0), +(@PATH,5,1605.705,-4249.21,52.0437,0,0,0,0,100,0), +(@PATH,6,1612.955,-4243.71,52.2937,0,0,0,0,100,0), +(@PATH,7,1630.955,-4241.71,52.2937,0,0,0,0,100,0), +(@PATH,8,1648.705,-4241.71,52.2937,0,0,0,0,100,0), +(@PATH,9,1661.205,-4240.96,52.2937,0,0,0,0,100,0), +(@PATH,10,1676.955,-4239.71,52.2937,0,0,0,0,100,0), +(@PATH,11,1687.705,-4236.96,52.2937,0,0,0,0,100,0), +(@PATH,12,1698.955,-4233.71,52.0437,0,0,0,0,100,0), +(@PATH,13,1706.455,-4231.21,51.5437,0,0,0,0,100,0), +(@PATH,14,1713.705,-4227.96,51.2937,0,0,0,0,100,0), +(@PATH,15,1731.19,-4219.69,49.8088,3.473205,5000,0,0,100,0), +(@PATH,16,1713.455,-4227.96,51.2937,0,0,0,0,100,0), +(@PATH,17,1706.205,-4231.21,51.5437,0,0,0,0,100,0), +(@PATH,18,1698.955,-4233.71,52.0437,0,0,0,0,100,0), +(@PATH,19,1687.455,-4237.21,52.2937,0,0,0,0,100,0), +(@PATH,20,1676.955,-4239.71,52.2937,0,0,0,0,100,0), +(@PATH,21,1671.955,-4244.46,52.2937,0,0,0,0,100,0), +(@PATH,22,1670.455,-4250.96,52.2937,0,0,0,0,100,0), +(@PATH,23,1668.205,-4256.96,52.2937,0,0,0,0,100,0), +(@PATH,24,1658.455,-4259.71,47.0437,0,0,0,0,100,0), +(@PATH,25,1648.705,-4261.46,40.2937,0,0,0,0,100,0), +(@PATH,26,1638.72,-4261.23,37.2786,4.939282,5000,0,0,100,0); + +SET @NPC := 287071; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1491.04,`position_y`=-4153.62,`position_z`=51.4495 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,1491.04,-4153.62,51.4495,0,0,0,0,100,0), +(@PATH,2,1488.66,-4155.7,52.37835,0,0,0,0,100,0), +(@PATH,3,1484.16,-4163.7,52.87835,0,0,0,0,100,0), +(@PATH,4,1482.66,-4175.7,53.12835,0,0,0,0,100,0), +(@PATH,5,1484.66,-4180.95,53.37835,0,0,0,0,100,0), +(@PATH,6,1489.91,-4184.2,53.37835,0,0,0,0,100,0), +(@PATH,7,1495.66,-4184.2,52.87835,0,0,0,0,100,0), +(@PATH,8,1501.91,-4185.95,52.62835,0,0,0,0,100,0), +(@PATH,9,1507.16,-4188.2,52.62835,0,0,0,0,100,0), +(@PATH,10,1512.16,-4191.2,52.37835,0,0,0,0,100,0), +(@PATH,11,1518.91,-4195.2,52.62835,0,0,0,0,100,0), +(@PATH,12,1523.66,-4196.95,52.62835,0,0,0,0,100,0), +(@PATH,13,1529.66,-4198.2,52.62835,0,0,0,0,100,0), +(@PATH,14,1540.91,-4201.7,53.12835,0,0,0,0,100,0), +(@PATH,15,1549.41,-4205.7,53.87835,0,0,0,0,100,0), +(@PATH,16,1551.91,-4210.95,54.12835,0,0,0,0,100,0), +(@PATH,17,1554.91,-4215.95,54.37835,0,0,0,0,100,0), +(@PATH,18,1561.66,-4218.7,54.12835,0,0,0,0,100,0), +(@PATH,19,1567.16,-4216.2,54.12835,0,0,0,0,100,0), +(@PATH,20,1572.91,-4211.2,54.12835,0,0,0,0,100,0), +(@PATH,21,1576.41,-4207.45,54.12835,0,0,0,0,100,0), +(@PATH,22,1576.995,-4201.592,53.90705,0,0,0,0,100,0), +(@PATH,23,1576.995,-4201.592,53.90705,5.358161,5000,0,0,100,0), +(@PATH,24,1578.267,-4204.606,53.92828,0,0,0,0,100,0), +(@PATH,25,1575.017,-4207.606,54.17828,0,0,0,0,100,0), +(@PATH,26,1570.517,-4209.106,54.42828,0,0,0,0,100,0), +(@PATH,27,1563.767,-4207.856,54.42828,0,0,0,0,100,0), +(@PATH,28,1556.267,-4204.606,54.17828,0,0,0,0,100,0), +(@PATH,29,1548.767,-4202.106,53.67828,0,0,0,0,100,0), +(@PATH,30,1536.767,-4198.856,52.67828,0,0,0,0,100,0), +(@PATH,31,1528.517,-4196.856,52.67828,0,0,0,0,100,0), +(@PATH,32,1518.517,-4193.856,52.42828,0,0,0,0,100,0), +(@PATH,33,1510.767,-4189.106,52.42828,0,0,0,0,100,0), +(@PATH,34,1501.517,-4181.606,52.42828,0,0,0,0,100,0), +(@PATH,35,1495.517,-4175.606,52.42828,0,0,0,0,100,0), +(@PATH,36,1489.267,-4167.606,52.67828,0,0,0,0,100,0), +(@PATH,37,1487.767,-4161.606,52.67828,0,0,0,0,100,0); + +SET @NPC := 287049; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1554.32,`position_y`=-4199.72,`position_z`=54.13395 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,1554.32,-4199.72,54.13395,0,0,0,0,100,0), +(@PATH,2,1556.82,-4200.47,54.13395,0,0,0,0,100,0), +(@PATH,3,1558.07,-4202.22,54.38395,0,0,0,0,100,0), +(@PATH,4,1560.57,-4203.22,54.38395,0,0,0,0,100,0), +(@PATH,5,1565.39,-4202.8,54.61966,0,0,0,0,100,0), +(@PATH,6,1565.39,-4202.8,54.61966,3.211406,5000,0,0,100,0), +(@PATH,7,1564.01,-4201.91,54.5091,0,0,0,0,100,0), +(@PATH,8,1564.01,-4201.91,54.5091,1.466077,5000,0,0,100,0), +(@PATH,9,1563.155,-4202.085,54.6693,0,0,0,0,100,0), +(@PATH,10,1561.905,-4201.085,54.4193,0,0,0,0,100,0), +(@PATH,11,1561.905,-4199.085,54.6693,0,0,0,0,100,0), +(@PATH,12,1562.155,-4197.335,54.6693,0,0,0,0,100,0), +(@PATH,13,1560.8,-4195.76,54.3295,1.239184,5000,0,0,100,0), +(@PATH,14,1559.6,-4197.16,54.2491,0,0,0,0,100,0), +(@PATH,15,1560.305,-4195.975,54.53215,0,0,0,0,100,0), +(@PATH,16,1558.805,-4195.225,54.28215,0,0,0,0,100,0), +(@PATH,17,1557.055,-4196.475,54.28215,0,0,0,0,100,0), +(@PATH,18,1556.805,-4198.475,54.28215,0,0,0,0,100,0), +(@PATH,19,1555.305,-4199.225,54.03215,0,0,0,0,100,0), +(@PATH,20,1554.01,-4198.29,53.8152,1.291544,5000,0,0,100,0), +(@PATH,21,1554.32,-4199.72,54.13395,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_29_05_world.sql b/sql/updates/world/2015_07_29_05_world.sql new file mode 100644 index 00000000000..040fc76c5be --- /dev/null +++ b/sql/updates/world/2015_07_29_05_world.sql @@ -0,0 +1,328 @@ +-- +SET @CGUID = 2; -- Set by TDB team (need 10) +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID AND @CGUID+9; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseId`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 63331, 1, 1, 0, 10424.83, 765.6614, 1322.754, 1.998563, 120, 0, 0), +(@CGUID+1, 12160, 1, 1, 0, 10313.05, 816.032, 1327.698, 3.972167, 120, 10, 1), +(@CGUID+2, 12160, 1, 1, 0, 10413.19, 731.5011, 1321.063, 5.983846, 120, 10, 1), +(@CGUID+3, 12160, 1, 1, 0, 10348.853, 751.136, 1325.35, 5.057269, 120, 10, 1), +(@CGUID+4, 62242, 1, 1, 0, 10626.83, 927.5742, 1327.541, 2.04279, 120, 15, 1), +(@CGUID+5, 62242, 1, 1, 0, 10625.32, 821.9661, 1316.752, 5.311656, 120, 15, 1), +(@CGUID+6, 62242, 1, 1, 0, 10575.35, 963.194, 1325.54, 4.892617, 120, 15, 1), +(@CGUID+7, 62242, 1, 1, 0, 10423.52, 919.1991, 1324.547, 5.583723, 120, 15, 1), +(@CGUID+8, 62242, 1, 1, 0, 10283.21, 854.236, 1341.771, 4.222265, 120, 15, 1), +(@CGUID+9, 61757, 1, 1, 0, 10690.396, 669.625, 1335.091, 5.874082, 120, 15, 1); + +UPDATE `creature_template_addon` SET `emote`=426 WHERE `entry`=8583; +UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=2031; +UPDATE `creature_template_addon` SET `mount`=6448 WHERE `entry`=49478; +UPDATE `creature_template_addon` SET `mount`=9991 WHERE `entry`=49477; +UPDATE `creature` SET `MovementType`=1, `spawndist`=15 WHERE `id` IN (883, 1984, 2031, 721,1989,2032,1985,890, 1986, 14881, 49728, 1988); +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (48624, 48623, 62242); +UPDATE `creature_template_addon` SET `auras`="" WHERE `entry`=44614; +UPDATE `creature_template` SET `flags_extra`=2 WHERE `entry`=49598; +UPDATE `creature_template` SET `unit_flags`=768 WHERE `entry` IN (49598); +DELETE FROM `creature` WHERE `guid`=271995; +UPDATE `quest_template` SET `flags`=0 WHERE `id`=28725; +UPDATE `creature_template` SET `RegenHealth`=0 WHERE `entry`=44617; +UPDATE `creature` SET `curhealth`=650 WHERE `id`=44617; +DELETE FROM `smart_scripts` WHERE `entryorguid`=44617 AND `source_type`=0; -- 6x only +UPDATE `creature_template` SET `AIName`='' WHERE `entry`=44617; -- 6x only +UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `guid` IN (313087, 313078, 313080, 313108, 313104, 313102, 313120, 313126, 313118, 313123); + +DELETE FROM `spell_area` WHERE `spell` IN (49417, 49416, 60922, 92549, 94566, 92237); +INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES +(49417, 188, 0, 28713, 0, 0, 2, 1, 0, 41), +(49416, 188, 28713, 28714, 0, 0, 2, 1, 66, 41), +(60922, 188, 28714, 0, 0, 0, 2, 1, 66, 0), +(92549, 188, 0, 28727, 0, 0, 2, 1, 0, 43), +(94566, 188, 28727, 0, 0, 0, 2, 1, 64, 0), +(92237, 257, 28725, 28728, -92239, 0, 2, 1, 74, 41); + +DELETE FROM `creature_addon` WHERE `guid` IN (331003); +INSERT INTO `creature_addon` (`guid`,`bytes1`,`bytes2`,`auras`) VALUES +(331003,0,1,'80797'); +UPDATE `creature_template_addon` SET `Auras`="80797" WHERE `entry`=8584; +UPDATE `creature_template_addon` SET `emote`="415" WHERE `entry`=2082; + +SET @ENTRY := 2077; +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,70,0,2000,4000,7000,9000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Melithar Forteramure - OOC - Play emote Talk"), +(@ENTRY,0,1,0,19,0,100,0,3118,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"), +(@ENTRY,0,2,0,19,0,100,0,3117,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"), +(@ENTRY,0,3,0,19,0,100,0,26841,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"), +(@ENTRY,0,4,0,19,0,100,0,3119,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"), +(@ENTRY,0,5,0,19,0,100,0,3116,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"), +(@ENTRY,0,6,0,19,0,100,0,3120,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"), +(@ENTRY,0,7,0,19,0,100,0,31168,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Melithar Forteramure - on quest accepted - Say text1"); + +SET @ENTRY := 49479; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@ENTRY); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY*100) 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,0,0,0,20,0,100,0,28724,0,0,0,80,@ENTRY*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - action list"), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Close gossip"), +(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Remove npc flag"), +(@ENTRY*100,9,2,0,0,0,100,0,0,0,0,0,11,87071,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Cast Alchemy"), +(@ENTRY*100,9,3,0,0,0,100,0,3000,3000,0,0,11,92388,0,0,0,0,0,19,8584,15,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Cast Curing Ivveron"), +(@ENTRY*100,9,4,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Say text 1"), +(@ENTRY*100,9,5,0,0,0,100,0,0,0,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Add npc flag"), +(@ENTRY,0,1,0,19,0,100,0,28725,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Say text 2"), +(@ENTRY,0,2,0,19,0,100,0,28729,0,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Say text 3"), +(@ENTRY,0,3,0,19,0,100,0,28730,0,0,0,1,3,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dentaria Silverglade - on quest rewarded - Say text 4"); + +SET @ENTRY := 2079; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@ENTRY, 49478); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY,49478) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY*100, 4947800) 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,0,0,0,20,0,100,0,28713,0,0,0,80,@ENTRY*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Ilthalaine - on quest rewarded - action list"), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - Action list - Say text 1"), +(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - Action list - store target"), +(@ENTRY*100,9,2,0,0,0,100,0,6000,6000,0,0,1,0,0,0,0,0,0,19,49477,10,0,0,0,0,0,"Ilthalaine - Action list - Say text 1"), +(@ENTRY*100,9,3,0,0,0,100,0,1000,1000,0,0,100,1,0,0,0,0,0,19,49478,10,0,0,0,0,0,"Ilthalaine - Action list - Send target"), +(@ENTRY*100,9,4,0,0,0,100,0,6000,6000,0,0,45,1,1,0,0,0,0,19,49478,10,0,0,0,0,0,"Ilthalaine - Action list - Set data"), +(@ENTRY,0,1,0,19,0,100,0,3118,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - on quest accepted - Say text2"), +(@ENTRY,0,2,0,19,0,100,0,3117,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - on quest accepted - Say text2"), +(@ENTRY,0,3,0,19,0,100,0,26841,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - on quest accepted - Say text2"), +(@ENTRY,0,4,0,19,0,100,0,3119,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - on quest accepted - Say text2"), +(@ENTRY,0,5,0,19,0,100,0,3116,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - on quest accepted - Say text2"), +(@ENTRY,0,6,0,19,0,100,0,3120,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Ilthalaine - on quest accepted - Say text2"), +(49478,0,0,0,38,0,100,0,1,1,0,0,80,4947800,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dentaria Silverglade - On data set - action list"), +(4947800,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,"Dentaria Silverglade - Action list - Say text 1"), +(4947800,9,1,0,0,0,100,0,6000,6000,0,0,1,1,0,0,0,0,0,12,1,0,0,0,0,0,0,"Dentaria Silverglade - Action list - Say text 2"); + +SET @ENTRY := 44614; +UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry` IN (@ENTRY); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY*100) 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,0,0,0,8,0,100,0,122,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY,0,1,0,8,0,100,0,100,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY,0,2,0,8,0,100,0,2098,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY,0,3,0,8,0,100,0,56641,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY,0,4,0,8,0,100,0,8921,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY,0,5,0,8,0,100,0,589,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY,0,6,0,8,0,100,0,100787,0,0,0,33,44175,0,0,0,0,0,7,0,0,0,0,0,0,0,"Training Dummy - On spell hit - Credit kill"), +(@ENTRY, 0, 7, 0, 6, 0, 100, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Training Dummy - On Death - Respawn'); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (34757); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (34757) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (34757*100) 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 +(34757,0,0,0,10,0,100,0,1,25,25000,25000,80,34757*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Doranel Amberleaf - ooc los - action list"), +(34757*100,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Doranel Amberleaf - action list - Say text 1"), +(34757*100,9,1,0,0,0,100,0,4000,4000,0,0,1,0,0,0,0,0,0,19,34756,15,0,0,0,0,0,"Doranel Amberleaf - action list - Say text 1"), -- +(34757*100,9,2,0,0,0,100,0,2000,2000,0,0,66,0,0,0,0,0,0,8,0,0,0,10455.959961, 833.090576, 1380.937988, 2.795327,"Doranel Amberleaf - action list - Set Orientation"), +(34757*100,9,3,0,0,0,100,0,5000,5000,0,0,66,0,0,0,0,0,0,8,0,0,0,10456, 832.971985, 1381.02002, 5.3058,"Doranel Amberleaf - action list - Set Orientation"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup` IN (1) AND `SourceEntry`=34757; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`, `ConditionTarget`) VALUES +(22,1,34757,0,31,4,0,0,0,'','event require a player', 0, 0); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (1994); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (1994) 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 +(1994,0,0,0,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,11,49480,20,0,0,0,0,0,"Githyiss the Vile - On death - Set data"), +(1994,0,1,0,4,0,100,0,0,0,0,0,45,1,3,0,0,0,0,11,49480,30,0,0,0,0,0,"Githyiss the Vile - On aggro - Set data"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (1986); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (1986) 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 +(1986,0,0,0,6,0,100,0,0,0,0,0,45,1,2,0,0,0,0,19,49480,20,0,0,0,0,0,"Webwood Spider - On death - Set data"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (49480); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (49480) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (49480*100) 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 +(49480,0,0,0,1,0,100,0,3000,3000,3000,3000,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - ooc - despawn if in area 188"), +(49480,0,1,0,0,0,100,0,3000,6000,8000,9000,11,33844,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tarindrella - IC - Cast Entangling Roots"), +(49480,0,2,0,38,0,100,0,1,3,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - on data set - Say text 3"), +(49480,0,3,0,38,0,100,0,1,3,0,0,11,92573,2,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - on data seto - Cast to Summon Nature's Bite"), +(49480,0,4,0,38,0,100,0,1,3,0,0,11,92573,2,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - on data set - Cast to Summon Nature's Bite"), +(49480,0,5,0,38,0,100,0,1,3,0,0,11,92573,2,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - In aggro - Cast to Summon Nature's Bite"), +(49480,0,6,7,54,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Tarindrella - just summoned - Say text 0"), +(49480,0,7,0,61,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - just summoned - react passif"), +(49480,0,8,0,38,0,40,0,1,2,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - on data set - Say text 1"), +(49480,0,9,0,38,0,100,0,1,1,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - on data set - Say text 2"), +(49480,0,10,0,20,0,100,0,28727,0,0,0,1,4,0,0,0,0,0,23,0,0,0,0,0,0,0,"Tarindrella - ooc - Say text 4"), +(49480,0,11,0,0,0,100,0,3000,6000,5000,6000,11,66056,0,0,0,0,0,23,0,0,0,0,0,0,0,"Tarindrella - IC - Cast Entangling Roots"), +(49480,0,12,0,19,0,100,0,28728,0,0,0,80,49480*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - On quest taken - Actionlist"), +(4948000,9,0,0,0,0,100,0,0,0,0,0,85,92420,2,0,0,0,0,7,0,0,0,0,0,0,0,"Tarindrella - Actionlist - Cast teleport"), +(4948000,9,1,0,0,0,100,0,3000,3000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tarindrella - Actionlist - Despawn"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (34575, 34574); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (34575, 34574) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (3457400, 3457401, 3457402) 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 +(34575,0,0,0,25,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Moonwell Bunny - On reset - Set invisible"), +(34575,0,1,0,10,0,100,0,1,10,119000,119000,11,65656,0,0,0,0,0,1,0,0,0,0,0,0,0,"Doranel Amberleaf - ooc los - Cast Summon Shade of the Kaldorei"), +(34574,0,0,0,54,0,100,0,0,0,0,0,80,3457400,2,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - On just summoned - Action list"), +(3457400,9,0,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Actionlist - Say text 1"), +(3457400,9,1,0,0,0,100,0,1000,1000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Actionlist - Say text 2"), +(3457400,9,2,0,0,0,100,0,4000,4000,0,0,53,0,34574,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Actionlist - start wp"), +(34574,0,1,0,40,0,100,0,1,34574,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - On wp1 reached - Pause wp"), +(34574,0,2,0,40,0,100,0,1,34574,0,0,1,2,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - On wp1 reached - Say text 2"), +(34574,0,3,0,40,0,100,0,3,34574,0,0,80,3457401,2,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - On wp1 reached - Action list"), +(3457401,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Action list - Pause wp"), +(3457401,9,1,0,0,0,100,0,2000,2000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Action list - Say text 3"), +(3457401,9,2,0,0,0,100,0,7000,7000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Action list - Say text 4"), +(34574,0,4,0,40,0,100,0,4,34574,0,0,80,3457402,2,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - On wp1 reached - Action list"), +(3457402,9,0,0,0,0,100,0,1000,1000,0,0,66,0,0,0,0,0,0,8,0,0,0,10713.9882, 761.775, 1321.589, 2.957,"Shade of the Kaldorei - Action list - Set orientation"), +(3457402,9,1,0,0,0,100,0,2000,2000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Action list - Say text 3"), +(3457402,9,2,0,0,0,100,0,5000,5000,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Action list - Say text 4"), +(3457402,9,3,0,0,0,100,0,1000,1000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shade of the Kaldorei - Action list - Despawn"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (3514); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (3514) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (351400) 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 +(3514,0,0,0,10,0,100,0,1,10,20000,20000,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Tenaron Stormgrip - Ooc los - Say line 1"), +(3514,0,1,0,19,0,100,0,28731,0,0,0,80,351400,2,0,0,0,0,1,0,0,0,0,0,0,0,"Tenaron Stormgrip - On quest accepted - Action list"), +(351400,9,0,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Tenaron Stormgrip - Action list - Say text 2"), +(351400,9,1,0,0,0,100,0,0,0,0,0,11,65453,0,0,0,0,0,7,0,0,0,0,0,0,0,"Tenaron Stormgrip - Action list - Cast Wind's Embrace"); + +DELETE FROM `waypoints` WHERE `entry`=34574; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(34574,1,10702.9423, 761.374, 1322.905,"Shade of the Kaldorei"), +(34574,2,10704.4101, 769.148, 1322.599,"Shade of the Kaldorei"), +(34574,3,10706.4238, 768.360, 1322.765,"Shade of the Kaldorei"), +(34574,4,10713.9882, 761.775, 1321.589,"Shade of the Kaldorei"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup` IN (1,2) AND `SourceEntry` IN (34575, 3514); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`, `ConditionTarget`) VALUES +(22,2,34575,0,9,28730,0,0,0,'','event require quest 28730 taken', 0, 0), +(22,1,3514,0,31,4,0,0,0,'','event require a player', 0, 0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup` IN (1,3) AND `SourceEntry`=49480; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`, `ConditionTarget`) VALUES +(22,1,49480,0,23,188,0,0,0,'','event require area 188', 0, 1); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (-92237); +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES +(-92237, 92237, 0, 'Tarindrella Guardian Aura'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceGroup`=0 AND `SourceEntry` IN (92238); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(17, 0, 92238, 0, 0, 29, 0, 49480, 20, 0, 1, 0, 0, '', 'Summon Tarindrella if sh''s not summoned'); + +DELETE FROM `creature_text` WHERE `entry` IN (2079, 49477, 49478, 2077, 49479, 34756, 34757, 49480, 34574, 3514); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextId`) VALUES +(2079,0,0,"I'm sorry, Huntress. None of our new $cs are ready. They still have much to learn.",12,0,100,0,0,0, 'Ilthalaine', 49681), +(2079,1,0,"You'll find the trainer inside of Aldrassil, $n.",12,0,100,0,0,0, 'Ilthalaine', 49664), +(2077,0,0,"You'll find the trainer inside of Aldrassil, $n.",12,0,100,0,0,0, 'Melithar Staghelm', 49664), +(49477,0,0,"I fear time may not be on our side, Ilthalaine. The battle may carry to Teldrassil itself if we do not act soon.",12,0,100,0,0,0, 'Huntress Sandrya Moonfall', 49682), +(49478,0,0,"We will leave you to your training, Ilthalaine. This is your area of expertise.",12,0,100,0,0,0, 'Dentaria Silverglade', 49683), +(49478,1,0,"Study well, $n. We may need you fighting by our side before the next moon fills.",12,0,100,0,0,0, 'Dentaria Silverglade', 49684), +(49479,0,0,"Iverron's poison is cured, but it will take some time for him to recover.",12,0,100,0,0,0, 'Dentaria Silverglade', 49668), +(49479,1,0,"Shadowthread Cave lies to the north. Be careful, it's dangerous there of late.",12,0,100,0,0,0, 'Dentaria Silverglade', 49665), +(49479,2,0,"The moonwell is to the northeast, on the other side of the pool and up the hill.",12,0,100,0,0,0, 'Dentaria Silverglade', 49666), +(49479,3,0,"The ramp up to Aldrassil is just in sight over there. Circle around and find Tenaron up top.",12,0,100,0,0,0, 'Dentaria Silverglade', 49667), +(34756,0,0,"Shh! Someone's here.",12,0,100,0,0,0, 'Moriana Dawnlight', 35023), +(34757,0,0,"Don't get me wrong... I'm grateful to have Shando Stormrage back, but this is all really suspicious. What happened to Fandral?",12,0,100,0,0,0, 'Doranel Amberleaf', 35024), +(49480,0,0,"You've come to help, $c? Let us stay together for a while.",12,0,100,0,0,0, 'Tarindrella', 49550), +(49480,1,0,"The corruption goes much further than these spiders. I fear the true source is not within this cave.",12,0,100,0,0,0, 'Tarindrella', 49673), +(49480,1,1,"His body screams for death, but his soul",12,0,100,0,0,0, 'Tarindrella', 49672), +(49480,1,2,"I weep at these atrocities we commit. It is almost unbearable.",12,0,100,0,0,0, 'Tarindrella', 49674), +(49480,1,3,"Corruption this deep could not have come from outside.",12,0,100,0,0,0, 'Tarindrella', 49675), +(49480,1,4,"It almost seems as if he was born with this corruption inside of him.",12,0,100,0,0,0, 'Tarindrella', 49676), +(49480,1,5,"They are surely unredeemable, but it still hurts to see them die.",12,0,100,0,0,0, 'Tarindrella', 49670), +(49480,1,6,"The corruption is buried deep within him.",12,0,100,0,0,0, 'Tarindrella', 49669), +(49480,2,0,"This totem has been corrupting the eggs! It seems a greater threat looms. The Gnarlpine remain tainted by something most foul.",12,0,100,0,0,0, 'Tarindrella', 49697), +(49480,3,0,"My dear friends... I'm sorry..",12,0,100,0,0,0, 'Tarindrella', 49671), +(49480,4,0,"I'm going to stay and do what I can to free these spiders. Thank you for your help, $n.",12,0,100,0,0,0, 'Tarindrella', 49549), +(34574,0,0,"%s fades into existence as you approach, nodding a subtle greeting.",16,0,100,0,0,0, 'Shade of the Kaldorei', 34832), +(34574,1,0,"Much has changed for our people since the Battle of Mount Hyjal.",12,0,100,1,0,0, 'Shade of the Kaldorei', 34792), +(34574,2,0,"Nordrassil lies a pale shadow of what it once was, its power used to defeat Archimonde and drive back the Burning Legion.",12,0,100,1,0,0, 'Shade of the Kaldorei', 34793), +(34574,3,0,"Our immortality-the very essence of our beings!-was lost.",12,0,100,1,0,0, 'Shade of the Kaldorei', 34794), +(34574,4,0,"The Betrayer was freed from his prison, and Shand'do Stormrage disappeared into the emerald dream.",12,0,100,1,0,0, 'Shade of the Kaldorei', 34795), +(34574,5,0,"A dark time for all.",12,0,100,1,0,0, 'Shade of the Kaldorei', 34796), +(34574,6,0,"The Shade of the Kaldorei closes its eyes and fades away.",16,0,100,0,0,0, 'Shade of the Kaldorei', 34820), +(3514,1,0,"Take with you the blessing of the wind's embrace. May it make your descent from Aldrassil more... direct.",12,0,100,1,0,0, 'Tenaron Stormgrip', 34602), +(3514,0,0,"Greetings, $c.",12,0,100,2,0,0, 'Tenaron Stormgrip', 13306); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid` IN (313169, 313206, 313226, 313274, 313219); +DELETE FROM `creature_addon` WHERE `guid` IN (313169, 313206, 313226, 313274, 313219); +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`) VALUES (313169,3131690,1), (313206,3132060,1), (313226, 3132260,1), (313274, 3132740,1), (313219, 3132190,1); +DELETE FROM `waypoint_data` WHERE `id` IN (3131690, 3132060, 3132260, 3132740, 3132190); +INSERT INTO `waypoint_data`(`id`,`point`,`position_x`,`position_y`,`position_z`) VALUES +(3131690,0,10397.1, 883.697, 1321.38), +(3131690,1,10365.086, 866.052, 1324.957), +(3131690,2,10355.648, 852.585, 1325.153), +(3131690,3,10323.380, 827.040, 1326.372), +(3131690,4,10368.04, 747.071, 1321.498), +(3131690,5,10323.38, 827.040, 1326.372), +(3131690,6,10353.702, 850.765, 1325.191), +(3131690,7,10366.606, 867.413, 1324.948), +(3131690,8,10383.323, 875.205, 1323.82), +(3131690,9,10395.709, 884.819, 1321.464), +(3131690,10,10417.325, 886.186, 1318.983), +(3132060,0,10502.5, 835.888, 1361.219), +(3132060,1,10512.655, 820.212, 1354.791), +(3132060,2,10520.407, 825.945, 1354.791), +(3132060,3,10510.217, 848.159, 1348.965), +(3132060,4,10488.945, 856.990, 1342.790), +(3132060,5,10462.384, 858.067, 1339.001), +(3132060,6,10419.645, 885.502, 1319.205), +(3132060,7,10460.513, 858.739, 1338.220), +(3132060,8,10497.229, 855.959, 1344.867), +(3132060,9,10514.280, 843.018, 1350.855), +(3132060,10,10521.792, 823.973, 1354.790), +(3132060,11,10513.139, 821.360, 1354.790), +(3132060,12,10502.500, 835.888, 1361.219), +(3132060,13,10492.272, 845.633, 1366.704), +(3132060,14,10469.248, 849.412, 1375.608), +(3132060,15,10450.879, 843.149, 1380.849), +(3132060,16,10483.722, 849.269, 1370.218), +(3132260,0,10484.900, 800.648, 1326.810), +(3132260,1,10495.391, 797.863, 1328.542), +(3132260,2,10504.521, 796.760, 1330.43), +(3132260,3,10522.355, 782.140, 1329.599), +(3132260,4,10502.737, 796.839, 1330.355), +(3132260,5,10490.255, 799.390, 1326.818), +(3132260,6,10484.900, 800.648, 1326.810), +(3132260,7,10473.137, 799.122, 1322.745), +(3132260,8,10460.290, 799.294, 1322.586), +(3132260,9,10402.640, 764.818, 1322.690), +(3132260,10,10461.493, 799.607, 1322.670), +(3132260,11,10476.748, 799.978, 1324.267), +(3132260,12,10484.900, 800.648, 1326.810), +(3132740,0,10427.900, 771.281, 1335.500), +(3132740,1,10435.214, 776.668, 1337.285), +(3132740,2,10428.291, 786.768, 1337.285), +(3132740,3,10442.534, 797.240, 1345.633), +(3132740,4,10452.217, 797.576, 1345.652), +(3132740,5,10442.357, 796.852, 1345.633), +(3132740,6,10428.579, 787.004, 1337.286), +(3132740,7,10434.862, 776.611, 1337.286), +(3132740,8,10421.213, 767.289, 1331.536), +(3132740,9,10404.082, 759.106, 1322.680), +(3132740,10,10418.659, 765.651, 1329.756), +(3132190,0,10501.599, 787.122, 1397.800049), +(3132190,1,10484.208, 786.734, 1395.329834), +(3132190,2,10461.358, 798.532, 1388.930664), +(3132190,3,10444.578, 821.521, 1382.356323), +(3132190,4,10444.853, 834.345, 1380.909058), +(3132190,5,10449.272, 841.089, 1381.171143), +(3132190,6,10444.853, 834.345, 1380.909058), +(3132190,7,10444.578, 821.521, 1382.356323), +(3132190,8,10461.358, 798.532, 1388.930664), +(3132190,9,10484.208, 786.734, 1395.329834), +(3132190,10,10501.599, 787.122, 1397.800049); + +UPDATE `creature` SET `position_x`=10458.53, `position_y`=803.5, `position_z`=1346.837, `orientation`=3.829888 WHERE `id`=3588; +UPDATE `creature` SET `position_x`=10461.84, `position_y`=796.7726, `position_z`=1346.837, `orientation`=2.918795 WHERE `id`=3589; +UPDATE `creature` SET `position_x`=10444.3, `position_y`=783.1163, `position_z`=1337.368, `orientation`=3.441297 WHERE `id`=3590; +UPDATE `creature` SET `position_x`=10436.1, `position_y`=769.5018, `position_z`=1322.749, `orientation`=2.301193 WHERE `id`=43006; +UPDATE `creature` SET `position_x`=10441.9, `position_y`=773.5695, `position_z`=1322.749, `orientation`=2.372235 WHERE `id`=3595; +UPDATE `creature` SET `position_x`=10449.46, `position_y`=780.4097, `position_z`=1322.753, `orientation`=3.088696 WHERE `id`=3591; +UPDATE `creature` SET `position_x`=10433.55, `position_y`=796.7604, `position_z`=1322.79, `orientation`=5.995227 WHERE `id`=3594; +UPDATE `creature` SET `position_x`=10435.85, `position_y`=798.5434, `position_z`=1322.791, `orientation`=4.145119 WHERE `id`=3593; +UPDATE `creature` SET `position_x`=10437.67, `position_y`=796.0573, `position_z`=1322.785, `orientation`=3.138109 WHERE `id`=3596; +UPDATE `creature` SET `position_x`=10512.27, `position_y`=782.3906, `position_z`=1329.682, `orientation`=1.31167 WHERE `id`=3587; +UPDATE `creature` SET `position_x`=10526.37, `position_y`=784.0903, `position_z`=1329.682, `orientation`=3.23779 WHERE `id`=6091; +UPDATE `creature` SET `position_x`=10430, `position_y`=765.778 , `position_z`=1322.75 , `orientation`=2.146750 WHERE `guid`=313269; +UPDATE `creature` SET `position_x`=10396.87, `position_y`=775.3403, `position_z`=1322.796, `orientation`=5.280887 WHERE `id`=3592; diff --git a/sql/updates/world/2015_07_29_06_world.sql b/sql/updates/world/2015_07_29_06_world.sql new file mode 100644 index 00000000000..247922cdf9d --- /dev/null +++ b/sql/updates/world/2015_07_29_06_world.sql @@ -0,0 +1,9 @@ +-- +SET @ENTRY := 8075; +UPDATE `creature_template` SET `InhabitType`=4, `AIName`="SmartAI" WHERE `entry` IN (@ENTRY); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ENTRY, -312720) 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,46,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Edana Hatetalon - on Just summoned - move forward"), +(@ENTRY,0,1,0,9,0,100,0,0,20,5000,5000,11,9532,0,0,0,0,0,2,0,0,0,0,0,0,0,"Edana Hatetalon - In range - Lightning Bolt"), +(@ENTRY,0,2,0,0,0,100,0,4000,5000,20000,22000,11,8293,2,0,0,0,0,2,0,0,0,0,0,0,0,"Edana Hatetalon - IC - Cast Lightning Cloud"), +(@ENTRY,0,3,0,0,0,100,0,9000,10000,7000,9000,11,12058,2,0,0,0,0,2,0,0,0,0,0,0,0,"Edana Hatetalon - IC - Cast Chain Lightning"); diff --git a/sql/updates/world/2015_07_30_00_world.sql b/sql/updates/world/2015_07_30_00_world.sql new file mode 100644 index 00000000000..1d27c6ffa69 --- /dev/null +++ b/sql/updates/world/2015_07_30_00_world.sql @@ -0,0 +1,51 @@ +-- +SET @CGUID := 25; +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+3; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 44865, 1, 1, 1643.72, -4443.32, 18.61603, 1.570796, 120, 0, 0), -- Auctioneer Fazdran (Area: Valley of Strength) +(@CGUID+1, 44867, 1, 1, 1640.17, -4445.12, 18.61683, 2.251475, 120, 0, 0), -- Auctioneer Ralinza (Area: Valley of Strength) +(@CGUID+2, 44866, 1, 1, 1637.42, -4448.21, 18.61663, 2.408554, 120, 0, 0), -- Auctioneer Drezmit (Area: Valley of Strength) +(@CGUID+3, 44868, 1, 1, 1635.46, -4451.19, 18.61623, 3.176499, 120, 0, 0); -- Auctioneer Xifa (Area: Valley of Strength) + +-- Auctioneer Fazdran SAI +SET @ENTRY := 44865; +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,10000,15000,10000,15000,10,273,5,0,0,0,0,1,0,0,0,0,0,0,0,"Auctioneer Fazdran - Out of Combat - Play Random Emote (273, 5)"); + +-- Auctioneer Ralinza SAI +SET @ENTRY := 44867; +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,10000,15000,10000,15000,10,273,5,0,0,0,0,1,0,0,0,0,0,0,0,"Auctioneer Ralinza - Out of Combat - Play Random Emote (273, 5)"); + +-- Auctioneer Drezmit SAI +SET @ENTRY := 44866; +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,10000,15000,10000,15000,10,273,5,0,0,0,0,1,0,0,0,0,0,0,0,"Auctioneer Drezmit - Out of Combat - Play Random Emote (273, 5)"); + +-- Auctioneer Xifa SAI +SET @ENTRY := 44868; +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,10000,15000,10000,15000,10,273,5,0,0,0,0,1,0,0,0,0,0,0,0,"Auctioneer Xifa - Out of Combat - Play Random Emote (273, 5)"); + +-- grundtalk +DELETE FROM `creature_addon` WHERE `guid` IN (310823, 310821,287204,287201); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(310823,0,0,0,1,1, ''), +(310821,0,0,0,1,1, ''), +(287204,0,0,0,1,1, ''), +(287201,0,0,0,1,1, ''); + +-- Doyo'da SAI +SET @ENTRY := 5613; +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,2000,3000,10,1,11,0,0,0,0,0,0,0,0,0,0,0,0,"Doyo'da - Out of Combat - Play Random Emote (1, 11)"); diff --git a/sql/updates/world/2015_07_30_01_world.sql b/sql/updates/world/2015_07_30_01_world.sql new file mode 100644 index 00000000000..b41f9d9168e --- /dev/null +++ b/sql/updates/world/2015_07_30_01_world.sql @@ -0,0 +1,332 @@ +-- The Drag +SET @CGUID := 81; +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+22; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 14451, 1, 1, 1818.58, -4514.46, 23.58583, 4.921828, 120, 0, 0), -- Orphan Matron Battlewail (Area: The Drag) +(@CGUID+1, 14499, 1, 1, 1814.32, -4496.01, 24.43963, 2.635447, 120, 0, 0), -- Horde Orphan (Area: The Drag) +(@CGUID+2, 14499, 1, 1, 1813.079, -4504.531, 24.42935, 4.330676, 120, 0, 0), -- Horde Orphan (Area: The Drag) +(@CGUID+3, 14499, 1, 1, 1812.67, -4494.27, 24.41623, 5.096361, 120, 0, 0), -- Horde Orphan (Area: The Drag) +(@CGUID+4, 14499, 1, 1, 1814.645, -4505.915, 24.47924, 2.856299, 120, 0, 0), -- Horde Orphan (Area: The Drag) +(@CGUID+5, 14499, 1, 1, 1812.57, -4496.78, 24.40493, 1.186824, 120, 0, 0), -- Horde Orphan (Area: The Drag) +(@CGUID+6, 14499, 1, 1, 1804.7, -4502.45, 24.43733, 3.961897, 120, 0, 0), -- Horde Orphan (Area: The Drag) +(@CGUID+7, 14498, 1, 1, 1810.56, -4502.17, 24.41543, 5.148721, 120, 0, 0), -- Tosamina (Area: The Drag) +(@CGUID+8, 3317, 1, 1, 1814.78, -4563.1, 23.00011, 2.286381, 120, 0, 0), -- Ollanus (Area: The Drag) +(@CGUID+9, 3364, 1, 1, 1807.04, -4563.03, 23.00011, 1.658063, 120, 0, 0), -- Borya (Area: The Drag) (possible waypoints or random movement) +(@CGUID+10, 3363, 1, 1, 1801.01, -4563.08, 23.08343, 1.553343, 120, 0, 0), -- Magar (Area: The Drag) +(@CGUID+11, 3315, 1, 1, 1791.28, -4566.03, 23.08343, 0.6806784, 120, 0, 0), -- Tor'phan (Area: The Drag) +(@CGUID+12, 2855, 1, 1, 1810.65, -4575.83, 23.00011, 5.445427, 120, 0, 0), -- Snang (Area: The Drag) (possible waypoints or random movement) +(@CGUID+13, 52809, 1, 1, 1860.115, -4525.585, 24.72254, 5.719091, 120, 0, 0), -- Blax Bottlerocket (Area: The Drag) (Auras: ) +(@CGUID+14, 3369, 1, 1, 1778.911, -4505.396, 27.73932, 3.979351, 120, 0, 0), -- Gotri (Area: The Drag) +(@CGUID+15, 54472, 1, 1, 1721.033, -4513.222, 31.25615, 0.29052, 120, 0, 0), -- Vaultkeeper Jazra (Area: The Drag) +(@CGUID+16, 54473, 1, 1, 1727.328, -4519.503, 32.6442, 1.291544, 120, 0, 0), -- Warpweaver Dushar (Area: The Drag) (Auras: ) +(@CGUID+17, 57801, 1, 1, 1727.368, -4507.533, 30.77355, 4.817109, 120, 0, 0), -- Thaumaturge Altha (Area: The Drag) +(@CGUID+18, 42506, 1, 1, 1762.285, -4489.653, 45.0499, 3.455752, 120, 0, 0), -- Marogg (Area: The Drag) +(@CGUID+19, 49737, 1, 1, 1763.764, -4494.328, 45.0406, 3.612832, 120, 0, 0), -- Shazdar (Area: The Drag) +(@CGUID+20, 3368, 1, 1, 1773.65, -4490.16, 45.64117, 4.520403, 120, 0, 0), -- Borstan (Area: The Drag) +(@CGUID+21, 46709, 1, 1, 1772.18, -4482.51, 45.64117, 0.8794622, 120, 0, 0), -- Arugi (Area: The Drag) +(@CGUID+22, 46708, 1, 1, 1779.2, -4489.25, 45.64117, 4.64705, 120, 0, 0); -- Suja (Area: The Drag) + +SET @NPC := 94; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1814.534,`position_y`=-4524.287,`position_z`=23.4143 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,1814.534,-4524.287,23.4143,0,0,0,0,100,0), +(@PATH,2,1792.397,-4527.087,23.86665,0,0,0,0,100,0), +(@PATH,3,1784.647,-4527.587,24.36665,0,0,0,0,100,0), +(@PATH,4,1775.957,-4528.342,25.0537,0,0,0,0,100,0), +(@PATH,5,1771.707,-4525.842,25.5537,0,0,0,0,100,0), +(@PATH,6,1766.957,-4522.842,26.3037,0,0,0,0,100,0), +(@PATH,7,1763.054,-4520.713,26.70084,0,0,0,0,100,0), +(@PATH,8,1757.339,-4520.239,27.29017,0,0,0,0,100,0), +(@PATH,9,1760.339,-4522.989,26.79017,0,0,0,0,100,0), +(@PATH,10,1763.839,-4525.989,26.29017,0,0,0,0,100,0), +(@PATH,11,1766.141,-4527.969,25.87352,0,0,0,0,100,0), +(@PATH,12,1769.641,-4529.719,25.12352,0,0,0,0,100,0), +(@PATH,13,1775.886,-4532.876,24.55395,0,0,0,0,100,0), +(@PATH,14,1782.636,-4533.376,24.05395,0,0,0,0,100,0), +(@PATH,15,1791.43,-4534.103,23.45097,0,0,0,0,100,0), +(@PATH,16,1811.443,-4530.402,23.69624,0,0,0,0,100,0), +(@PATH,17,1834.693,-4525.652,23.94624,0,0,0,0,100,0), +(@PATH,18,1846.413,-4522.951,24.25943,0,0,0,0,100,0), +(@PATH,19,1858.337,-4524.244,24.93543,0,0,0,0,100,0), +(@PATH,20,1863.337,-4527.494,25.43543,0,0,0,0,100,0), +(@PATH,21,1868.337,-4530.744,26.18543,0,0,0,0,100,0), +(@PATH,22,1872.587,-4533.244,26.68543,0,0,0,0,100,0), +(@PATH,23,1876.587,-4535.744,27.43543,0,0,0,0,100,0), +(@PATH,24,1880.76,-4538.204,28.17977,0,0,0,0,100,0), +(@PATH,25,1890.26,-4536.704,28.67977,0,0,0,0,100,0), +(@PATH,26,1894.436,-4535.524,28.95365,0,0,0,0,100,0), +(@PATH,27,1894.686,-4531.524,28.20365,0,0,0,0,100,0), +(@PATH,28,1894.936,-4525.524,27.70365,0,0,0,0,100,0), +(@PATH,29,1895.186,-4519.774,26.95365,0,0,0,0,100,0), +(@PATH,30,1895.436,-4514.774,26.45365,0,0,0,0,100,0), +(@PATH,31,1895.686,-4510.774,25.95365,0,0,0,0,100,0), +(@PATH,32,1895.721,-4505.721,25.05981,0,0,0,0,100,0), +(@PATH,33,1892.221,-4502.221,24.55981,0,0,0,0,100,0), +(@PATH,34,1889.471,-4499.721,24.05981,0,0,0,0,100,0), +(@PATH,35,1883.432,-4493.992,23.59523,0,0,0,0,100,0), +(@PATH,36,1863.914,-4510.189,23.8035,0,0,0,0,100,0), +(@PATH,37,1851.016,-4517.419,24.18311,0,0,0,0,100,0), +(@PATH,38,1838.676,-4521.322,24.12628,0,0,0,0,100,0), +(@PATH,39,1822.926,-4523.072,23.62628,0,0,0,0,100,0); + +SET @NPC := 93; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1810.36,`position_y`=-4575.28,`position_z`=23.25011 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,1810.36,-4575.28,23.25011,0,0,0,0,100,0), +(@PATH,2,1810.65,-4575.83,23.00011,5.445427,5000,0,0,100,0), +(@PATH,3,1811.31,-4571.17,23.00011,0,0,0,0,100,0), +(@PATH,4,1811.516,-4571.172,23.25011,0,0,0,0,100,0), +(@PATH,5,1815.552,-4570.529,23.25011,0,0,0,0,100,0), +(@PATH,6,1815.29,-4571.68,23.25011,0,0,0,0,100,0), +(@PATH,7,1811.582,-4571.169,23.25011,0,0,0,0,100,0), +(@PATH,8,1810.36,-4575.28,23.25011,0,0,0,0,100,0); + +SET @NPC := 90; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1811.28,`position_y`=-4565.53,`position_z`=23.00011 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,1811.28,-4565.53,23.00011,0,5000,0,0,100,0), +(@PATH,2,1807.04,-4563.03,23.00011,0,5000,0,0,100,0); + +SET @NPC := 95; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1773.416,`position_y`=-4510.458,`position_z`=28.04409 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,1773.416,-4510.458,28.04409,0,0,0,0,100,0), +(@PATH,2,1774.916,-4509.208,27.79409,0,0,0,0,100,0), +(@PATH,3,1776.916,-4507.208,27.79409,0,0,0,0,100,0), +(@PATH,4,1778.911,-4505.396,27.73932,3.979351,5000,0,0,100,0); + +DELETE FROM `creature` WHERE `guid` In (310904, 311039); +SET @NPC := 286716; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1923.415,`position_y`=-4436.305,`position_z`=25.1589 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,1923.415,-4436.305,25.1589,0,0,0,0,100,0), +(@PATH,2,1920.915,-4439.805,27.6589,0,0,0,0,100,0), +(@PATH,3,1917.915,-4441.055,29.9089,0,0,0,0,100,0), +(@PATH,4,1914.915,-4439.805,31.6589,0,0,0,0,100,0), +(@PATH,5,1912.165,-4437.305,33.1589,0,0,0,0,100,0), +(@PATH,6,1912.665,-4434.305,35.1589,0,0,0,0,100,0), +(@PATH,7,1914.165,-4430.805,37.1589,0,0,0,0,100,0), +(@PATH,8,1916.915,-4430.055,39.1589,0,0,0,0,100,0), +(@PATH,9,1920.415,-4430.555,41.6589,0,0,0,0,100,0), +(@PATH,10,1922.165,-4433.305,43.6589,0,0,0,0,100,0), +(@PATH,11,1922.665,-4437.055,45.4089,0,0,0,0,100,0), +(@PATH,12,1920.165,-4439.555,45.4089,0,0,0,0,100,0), +(@PATH,13,1922.665,-4441.555,45.4089,0,0,0,0,100,0), +(@PATH,14,1930.14,-4441.545,45.25065,0,0,0,0,100,0), +(@PATH,15,1930.64,-4434.795,45.25065,0,0,0,0,100,0), +(@PATH,16,1929.39,-4428.295,45.75065,0,0,0,0,100,0), +(@PATH,17,1929.385,-4428.68,45.66025,0,0,0,0,100,0), +(@PATH,18,1930.385,-4441.18,45.41025,0,0,0,0,100,0), +(@PATH,19,1926.385,-4444.43,45.41025,0,0,0,0,100,0), +(@PATH,20,1921.635,-4439.18,45.41025,0,0,0,0,100,0), +(@PATH,21,1922.635,-4436.43,45.16025,0,0,0,0,100,0), +(@PATH,22,1922.135,-4433.43,43.91025,0,0,0,0,100,0), +(@PATH,23,1920.385,-4430.43,41.91025,0,0,0,0,100,0), +(@PATH,24,1917.135,-4429.93,39.41025,0,0,0,0,100,0), +(@PATH,25,1913.635,-4430.68,36.91025,0,0,0,0,100,0), +(@PATH,26,1912.135,-4434.18,35.41025,0,0,0,0,100,0), +(@PATH,27,1912.385,-4436.93,33.16025,0,0,0,0,100,0), +(@PATH,28,1914.885,-4439.43,31.66025,0,0,0,0,100,0), +(@PATH,29,1917.885,-4440.93,29.91025,0,0,0,0,100,0), +(@PATH,30,1921.135,-4439.93,27.66025,0,0,0,0,100,0), +(@PATH,31,1923.385,-4436.93,25.16025,0,0,0,0,100,0), +(@PATH,32,1925.135,-4432.18,25.41025,0,0,0,0,100,0), +(@PATH,33,1928.385,-4430.18,25.16025,0,0,0,0,100,0), +(@PATH,34,1932.135,-4426.18,24.16025,0,0,0,0,100,0), +(@PATH,35,1936.635,-4419.68,23.91025,0,0,0,0,100,0), +(@PATH,36,1940.635,-4409.68,23.91025,0,0,0,0,100,0), +(@PATH,37,1940.385,-4401.93,23.91025,0,0,0,0,100,0), +(@PATH,38,1940.635,-4397.18,23.91025,0,0,0,0,100,0), +(@PATH,39,1946.385,-4392.68,24.41025,0,0,0,0,100,0), +(@PATH,40,1956.635,-4385.68,27.91025,0,0,0,0,100,0), +(@PATH,41,1923.415,-4436.305,25.1589,0,0,0,0,100,0); + +SET @NPC := 286671; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1900.79,`position_y`=-4505.65,`position_z`=25.7526 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,1900.79,-4505.65,25.7526,2.199115,5000,0,0,100,0), +(@PATH,2,1894.25,-4511.21,25.7111,0,0,0,0,100,0), +(@PATH,3,1891,-4518.46,26.7111,0,0,0,0,100,0), +(@PATH,4,1891,-4526.71,27.4611,0,0,0,0,100,0), +(@PATH,5,1894.25,-4532.71,28.4611,0,0,0,0,100,0), +(@PATH,6,1901.5,-4540.46,29.9611,0,0,0,0,100,0), +(@PATH,7,1910.01,-4538.48,30.68554,0,0,0,0,100,0), +(@PATH,8,1909.944,-4538.645,30.68871,2.199115,5000,0,0,100,0), +(@PATH,9,1904.622,-4538.928,30.22595,0,0,0,0,100,0), +(@PATH,10,1898.622,-4531.678,28.72595,0,0,0,0,100,0), +(@PATH,11,1896.872,-4522.178,27.47595,0,0,0,0,100,0), +(@PATH,12,1896.872,-4511.428,25.97595,0,0,0,0,100,0), +(@PATH,13,1900.8,-4505.71,25.7632,2.199115,5000,0,0,100,0), +(@PATH,14,1915.134,-4553.913,36.10616,0,0,0,0,100,0), +(@PATH,15,1915.634,-4555.413,36.10616,0,0,0,0,100,0), +(@PATH,16,1916.384,-4556.913,36.10616,0,0,0,0,100,0), +(@PATH,17,1889.71,-4497.935,24.12695,0,0,0,0,100,0), +(@PATH,18,1878.71,-4496.935,23.37695,0,0,0,0,100,0), +(@PATH,19,1870.21,-4505.935,23.87695,0,0,0,0,100,0), +(@PATH,20,1855.46,-4513.685,24.37695,0,0,0,0,100,0), +(@PATH,21,1854.12,-4527.16,24.4907,2.024582,5000,0,0,100,0), +(@PATH,22,1861.375,-4526.065,25.05885,0,0,0,0,100,0), +(@PATH,23,1871.375,-4533.815,26.80885,0,0,0,0,100,0), +(@PATH,24,1877.125,-4537.315,27.55885,0,0,0,0,100,0), +(@PATH,25,1884.375,-4542.315,28.80885,0,0,0,0,100,0), +(@PATH,26,1890.13,-4551.97,30.627,2.199115,5000,0,0,100,0), +(@PATH,27,1883.45,-4535.495,27.7967,0,0,0,0,100,0), +(@PATH,28,1876.2,-4530.995,26.7967,0,0,0,0,100,0), +(@PATH,29,1866.45,-4522.995,25.0467,0,0,0,0,100,0), +(@PATH,30,1859.2,-4522.495,24.7967,0,0,0,0,100,0), +(@PATH,31,1853.77,-4527.02,24.4664,2.024582,5000,0,0,100,0), +(@PATH,32,1860.53,-4522.335,24.8595,0,0,0,0,100,0), +(@PATH,33,1866.78,-4516.835,24.3595,0,0,0,0,100,0), +(@PATH,34,1874.28,-4509.585,23.8595,0,0,0,0,100,0), +(@PATH,35,1884.53,-4504.585,24.1095,0,0,0,0,100,0); + +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (42548, 4953); + +-- Thund SAI +SET @ENTRY := 2857; +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,1000,21000,21000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Thund - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 285700; +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,66,0,0,0,0,0,0,8,0,0,0,0,0,0,2.565630,"On Script - Set Orientation 2,565630"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,17,233,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 233"), +(@ENTRY,9,2,0,0,0,100,0,10000,10000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,5.818128,"On Script - Set Orientation 5,818128"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- Roxxik SAI +SET @ENTRY := 11017; +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,2000,3000,10,274,273,396,6,0,0,1,0,0,0,0,0,0,0,"Roxxik - Out of Combat - Play Random Emote (274, 273, 396, 6)"); + +-- Rilli Greasygob SAI +SET @ENTRY := 9317; +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,2000,3000,10,274,273,396,6,0,0,1,0,0,0,0,0,0,0,"Rilli Greasygob - Out of Combat - Play Random Emote (274, 273, 396, 6)"); + +-- Sovik SAI +SET @ENTRY := 3413; +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,2000,3000,10,274,273,396,6,0,0,1,0,0,0,0,0,0,0,"Sovik - Out of Combat - Play Random Emote (274, 273, 396, 6)"); + +-- Karolek SAI +SET @ENTRY := 3365; +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,5000,8000,5000,8000,10,273,396,6,0,0,0,1,0,0,0,0,0,0,0,"Karolek - Out of Combat - Play Random Emote (273, 396, 6)"); + +-- Kamari SAI +SET @ENTRY := 5811; +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,5000,8000,5000,8000,10,273,396,6,0,0,0,1,0,0,0,0,0,0,0,"Kamari - Out of Combat - Play Random Emote (273, 396, 6)"); + +SET @NPC := 101; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1772.08,`position_y`=-4485.131,`position_z`=45.64117 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,1772.08,-4485.131,45.64117,0,0,0,0,100,0), +(@PATH,2,1773.615,-4489.646,45.89117,0,0,0,0,100,0), +(@PATH,3,1773.65,-4490.16,45.64117,4.520403,5000,0,0,100,0), +(@PATH,4,1776.47,-4490.49,45.64117,0,0,0,0,100,0), +(@PATH,5,1773.65,-4490.16,45.64117,0,0,0,0,100,0), +(@PATH,6,1773.65,-4490.16,45.64117,4.520403,5000,0,0,100,0); + +-- Arugi SAI +SET @ENTRY := 46709; +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,0,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Arugi - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 4670900; +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,17,28,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 28"), +(@ENTRY,9,1,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +SET @NPC := 286788; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1753.8,`position_y`=-4493.53,`position_z`=43.9572 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,1753.8,-4493.53,43.9572,3.403392,0,0,0,100,0), +(@PATH,2,1758.535,-4486.705,44.69615,0,0,0,0,100,0), +(@PATH,3,1755.535,-4480.205,43.19615,0,0,0,0,100,0), +(@PATH,4,1752.035,-4476.455,40.44615,0,0,0,0,100,0), +(@PATH,5,1747.035,-4472.455,37.44615,0,0,0,0,100,0), +(@PATH,6,1741.785,-4469.455,35.69615,0,0,0,0,100,0), +(@PATH,7,1729.285,-4472.455,35.44615,0,0,0,0,100,0), +(@PATH,8,1726.785,-4480.955,33.94615,0,0,0,0,100,0), +(@PATH,9,1728.285,-4487.955,32.69615,0,0,0,0,100,0), +(@PATH,10,1733.535,-4496.955,31.44615,0,0,0,0,100,0), +(@PATH,11,1737.285,-4501.705,30.94615,0,0,0,0,100,0), +(@PATH,12,1742.035,-4507.205,30.19615,0,0,0,0,100,0), +(@PATH,13,1747.285,-4511.955,29.44615,0,0,0,0,100,0), +(@PATH,14,1755.035,-4518.955,27.94615,0,0,0,0,100,0), +(@PATH,15,1764.285,-4526.705,26.19615,0,0,0,0,100,0), +(@PATH,16,1775.535,-4533.455,24.94615,0,0,0,0,100,0), +(@PATH,17,1793.035,-4534.455,23.69615,0,0,0,0,100,0), +(@PATH,18,1808.535,-4531.705,23.44615,0,0,0,0,100,0), +(@PATH,19,1815.285,-4529.705,23.69615,0,0,0,0,100,0), +(@PATH,20,1829.035,-4529.205,24.19615,0,0,0,0,100,0), +(@PATH,21,1833.535,-4523.455,24.19615,0,0,0,0,100,0), +(@PATH,22,1819.785,-4523.205,23.69615,0,0,0,0,100,0), +(@PATH,23,1809.285,-4523.705,23.44615,0,0,0,0,100,0), +(@PATH,24,1797.785,-4527.455,23.69615,0,0,0,0,100,0), +(@PATH,25,1789.535,-4529.205,23.94615,0,0,0,0,100,0), +(@PATH,26,1775.785,-4529.955,24.94615,0,0,0,0,100,0), +(@PATH,27,1766.035,-4521.955,26.44615,0,0,0,0,100,0), +(@PATH,28,1759.285,-4514.205,27.69615,0,0,0,0,100,0), +(@PATH,29,1753.035,-4509.205,28.94615,0,0,0,0,100,0), +(@PATH,30,1749.035,-4505.205,30.19615,0,0,0,0,100,0), +(@PATH,31,1744.285,-4500.205,30.69615,0,0,0,0,100,0), +(@PATH,32,1738.035,-4493.455,31.69615,0,0,0,0,100,0), +(@PATH,33,1734.285,-4486.955,32.69615,0,0,0,0,100,0), +(@PATH,34,1733.035,-4478.705,34.19615,0,0,0,0,100,0), +(@PATH,35,1733.535,-4472.705,35.44615,0,0,0,0,100,0), +(@PATH,36,1737.035,-4471.455,35.44615,0,0,0,0,100,0), +(@PATH,37,1743.285,-4476.955,37.44615,0,0,0,0,100,0), +(@PATH,38,1747.285,-4480.205,40.19615,0,0,0,0,100,0), +(@PATH,39,1750.785,-4483.455,42.19615,0,0,0,0,100,0), +(@PATH,40,1755.035,-4487.455,44.19615,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_30_02_world.sql b/sql/updates/world/2015_07_30_02_world.sql new file mode 100644 index 00000000000..5b8dd97c31a --- /dev/null +++ b/sql/updates/world/2015_07_30_02_world.sql @@ -0,0 +1,879 @@ +-- Orgrimmar - Valley of Honor +SET @CGUID := 685; +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+116; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 31146, 1, 1, 2118.74, -4623.69, 49.32983, 2.565634, 120, 0, 0), -- Raider's Training Dummy (Area: -Unknown-) (Auras: 61573 - Banner of the Alliance) +(@CGUID+1, 3352, 1, 1, 2106.94, -4616.56, 49.33633, 1.884956, 120, 0, 0), -- Ormak Grimshot (Area: -Unknown-) +(@CGUID+2, 47815, 1, 1, 2104.46, -4618.06, 49.33623, 2.286381, 120, 0, 0), -- Grimfang (Area: -Unknown-) +(@CGUID+3, 47818, 1, 1, 2110.97, -4610.88, 49.33633, 4.08407, 120, 0, 0), -- Tusker (Area: -Unknown-) +(@CGUID+4, 46647, 1, 1, 2126.25, -4599.05, 49.33633, 3.874631, 120, 0, 0), -- Training Dummy (Area: -Unknown-) (Auras: 61573 - Banner of the Alliance) +(@CGUID+5, 47767, 1, 1, 2107.56, -4611.76, 49.33633, 3.979351, 120, 0, 0), -- Korla (Area: -Unknown-) +(@CGUID+6, 31755, 1, 1, 2073.01, -4618.06, 49.28975, 2.268928, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+7, 46647, 1, 1, 2081.63, -4607.98, 49.33633, 5.951573, 120, 0, 0), -- Training Dummy (Area: Valley of Honor) (Auras: 61573 - Banner of the Alliance) +(@CGUID+8, 46639, 1, 1, 2066.51, -4659.04, 34.10603, 2.80998, 120, 0, 0), -- Auctioneer Zilbeena (Area: Valley of Honor) +(@CGUID+9, 46640, 1, 1, 2068.53, -4666.77, 34.10643, 3.368485, 120, 0, 0), -- Auctioneer Kuvi (Area: Valley of Honor) +(@CGUID+10, 3296, 1, 1, 2126.052, -4738.245, 50.66297, 2.740167, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+11, 31146, 1, 1, 2098.6, -4627.86, 49.33633, 0.7853982, 120, 0, 0), -- Raider's Training Dummy (Area: Valley of Honor) (Auras: 61573 - Banner of the Alliance) +(@CGUID+12, 3296, 1, 1, 2057.959, -4668.522, 32.54941, 0.3530898, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+13, 47788, 1, 1, 2102.71, -4613.35, 49.33633, 6.195919, 120, 0, 0), -- Guldor (Area: Valley of Honor) +(@CGUID+14, 46647, 1, 1, 2110.68, -4590.13, 49.33633, 4.520403, 120, 0, 0), -- Training Dummy (Area: Valley of Honor) (Auras: 61573 - Banner of the Alliance) +(@CGUID+15, 47817, 1, 1, 2102.99, -4608.63, 49.33633, 0, 120, 0, 0), -- Scuttler (Area: Valley of Honor) +(@CGUID+16, 3296, 1, 1, 2130.936, -4730.043, 50.65128, 2.600541, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+17, 46637, 1, 1, 2067.2, -4662.71, 34.10633, 3.717551, 120, 0, 0), -- Auctioneer Drezbit (Area: Valley of Honor) +(@CGUID+18, 46647, 1, 1, 2093.14, -4593.85, 49.33633, 5.358161, 120, 0, 0), -- Training Dummy (Area: Valley of Honor) (Auras: 61573 - Banner of the Alliance) +(@CGUID+19, 14539, 1, 1, 2108.84, -4579.1, 49.33633, 6.230825, 120, 0, 0), -- Swift Timber Wolf (Area: Valley of Honor) +(@CGUID+20, 46638, 1, 1, 2070.95, -4669.52, 34.10563, 4.433136, 120, 0, 0), -- Auctioneer Vizput (Area: Valley of Honor) +(@CGUID+21, 3296, 1, 1, 2059.41, -4674.11, 32.63963, 2.007129, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+22, 31756, 1, 1, 2066.95, -4604.88, 49.28975, 1.704291, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+23, 3296, 1, 1, 2045.607, -4706.141, 28.56897, 5.310535, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+24, 65058, 1, 1, 2041.068, -4706.365, 28.4637, 5.445554, 120, 0, 0), -- Black Dragon Turtle (Area: Valley of Honor) +(@CGUID+25, 31758, 1, 1, 2066.756, -4611.738, 49.28975, 0.5314288, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+26, 57922, 1, 1, 2088.715, -4764.458, 28.01213, 3.735005, 120, 0, 0), -- Taryssa Lazuria (Area: Valley of Honor) +(@CGUID+27, 74228, 1, 1, 2058.88, -4730.48, 27.774, 4.705526, 120, 0, 0), -- -Unknown- (Area: Valley of Honor) (Auras: ) +(@CGUID+28, 3296, 1, 1, 2055.37, -4663.19, 32.63573, 5.009095, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+29, 3358, 1, 1, 2083.222, -4770.205, 28.00946, 1.58825, 120, 0, 0), -- Gorina (Area: Valley of Honor) +(@CGUID+30, 65008, 1, 1, 2024.453, -4698.135, 28.46393, 5.29936, 120, 0, 0), -- Huojin Monk (Area: Valley of Honor) +(@CGUID+31, 50482, 1, 1, 2087.52, -4769.45, 28.01213, 1.012291, 120, 0, 0), -- Marith Lazuria (Area: Valley of Honor) +(@CGUID+32, 3296, 1, 1, 2024.861, -4657.98, 28.5511, 2.120832, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+33, 65060, 1, 1, 2032.906, -4718.252, 28.33491, 4.387585, 120, 0, 0), -- Blue Dragon Turtle (Area: Valley of Honor) +(@CGUID+34, 65008, 1, 1, 2026.585, -4701.569, 28.44965, 2.062142, 120, 0, 0), -- Huojin Monk (Area: Valley of Honor) +(@CGUID+35, 5029, 1, 1, 2030.547, -4722.234, 56.79307, 4.456704, 120, 0, 0), -- Jiming (Area: Valley of Honor) (Auras: ) +(@CGUID+36, 49837, 1, 1, 2032.245, -4656.735, 28.7079, 2.781837, 120, 0, 0), -- Spiny Lizard (Area: Valley of Honor) +(@CGUID+37, 3357, 1, 1, 2081.978, -4764.085, 28.00872, 3.438299, 120, 0, 0), -- Makaru (Area: Valley of Honor) +(@CGUID+38, 46675, 1, 1, 2088.8, -4767.27, 28.01213, 4.153883, 120, 0, 0), -- Lugrah (Area: Valley of Honor) +(@CGUID+39, 65063, 1, 1, 2034.248, -4699.74, 28.42856, 0, 120, 0, 0), -- Purple Dragon Turtle (Area: Valley of Honor) +(@CGUID+40, 14540, 1, 1, 2100.4, -4569.89, 49.33633, 0.5759587, 120, 0, 0), -- Swift Brown Wolf (Area: Valley of Honor) +(@CGUID+41, 14541, 1, 1, 2102.94, -4571.69, 49.33633, 1.53589, 120, 0, 0), -- Swift Gray Wolf (Area: Valley of Honor) +(@CGUID+42, 3296, 1, 1, 2024.55, -4635.63, 31.76513, 3.385939, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+43, 31757, 1, 1, 2076.46, -4589, 49.33633, 5.654867, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+44, 64105, 1, 1, 2088.593, -4565.708, 49.37801, 2.474993, 120, 0, 0), -- Muffin (Area: Valley of Honor) +(@CGUID+45, 47771, 1, 1, 2081.68, -4588.85, 49.33633, 2.6529, 120, 0, 0), -- Drukma (Area: Valley of Honor) +(@CGUID+46, 356, 1, 1, 2072.99, -4564.18, 49.33633, 1.745329, 120, 0, 0), -- Black Wolf (Area: Valley of Honor) +(@CGUID+47, 4752, 1, 1, 2085.36, -4572.86, 49.33633, 5.393067, 120, 0, 0), -- Kildar (Area: Valley of Honor) +(@CGUID+48, 31768, 1, 1, 2088.397, -4584.163, 65.13868, 3.220361, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+49, 12351, 1, 1, 2075.17, -4562.83, 49.33633, 2.391101, 120, 0, 0), -- Dire Riding Wolf (Area: Valley of Honor) +(@CGUID+50, 47809, 1, 1, 2086.21, -4578.24, 49.33633, 1.745329, 120, 0, 0), -- Brown Wolf (Area: Valley of Honor) +(@CGUID+51, 42548, 1, 1, 2029.454, -4598.487, 30.89835, 4.963881, 120, 0, 0), -- Muddy Crawfish (Area: Valley of Honor) +(@CGUID+52, 49743, 1, 1, 2064.779, -4561.279, 49.37801, 5.097329, 120, 0, 0), -- Dung Beetle (Area: Valley of Honor) +(@CGUID+53, 3296, 1, 1, 2030.06, -4634.3, 32.72443, 2.164208, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: 55701 - Cosmetic - Sleep Zzz Breakable) +(@CGUID+54, 31769, 1, 1, 2059.19, -4597.96, 54.53453, 5.794493, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+55, 47764, 1, 1, 2077.69, -4587.09, 49.33633, 5.88176, 120, 0, 0), -- Murog (Area: Valley of Honor) +(@CGUID+56, 3362, 1, 1, 2088.108, -4568.436, 49.37801, 6.148685, 120, 0, 0), -- Ogunaro Wolfrunner (Area: Valley of Honor) +(@CGUID+57, 47808, 1, 1, 2090.61, -4574.53, 49.33633, 2.844887, 120, 0, 0), -- Black Wolf (Area: Valley of Honor) +(@CGUID+58, 49743, 1, 1, 2208.888, -4620.986, 81.70455, 0.461408, 120, 0, 0), -- Dung Beetle (Area: Valley of Honor) +(@CGUID+59, 12353, 1, 1, 2070.63, -4578.04, 49.33633, 3.787364, 120, 0, 0), -- Timber Riding Wolf (Area: Valley of Honor) +(@CGUID+60, 31755, 1, 1, 2082.43, -4591.11, 49.33633, 3.298672, 120, 0, 0), -- Stabled Hunter Pet (Area: Valley of Honor) +(@CGUID+61, 3296, 1, 1, 2021.84, -4636.36, 31.76863, 0.2443461, 120, 0, 0), -- Orgrimmar Grunt (Area: Valley of Honor) (Auras: ) +(@CGUID+62, 5195, 1, 1, 2071.26, -4580.62, 49.33633, 3.141593, 120, 0, 0), -- Brown Riding Wolf (Area: Valley of Honor) +(@CGUID+63, 51346, 1, 1, 2079.416, -4304.976, 151.3706, 4.778497, 120, 10, 1), -- Orgrimmar Wind Rider (Area: Valley of Honor) (Auras: ) (possible waypoints or random movement) +(@CGUID+64, 51346, 1, 1, 2068, -4306.357, 151.1366, 4.750923, 120, 10, 1), -- Orgrimmar Wind Rider (Area: Valley of Honor) (Auras: ) (possible waypoints or random movement) +(@CGUID+65, 51346, 1, 1, 2087.293, -4304.559, 151.1373, 4.764519, 120, 10, 1), -- Orgrimmar Wind Rider (Area: Valley of Honor) (Auras: ) (possible waypoints or random movement) +(@CGUID+66, 49743, 1, 1, 2281.795, -4625.089, 99.82313, 3.682395, 120, 0, 0), -- Dung Beetle (Area: 0) +(@CGUID+67, 62114, 1, 1, 2312.9, -4724.179, 117.8283, 2.38314, 120, 0, 0), -- Spiny Lizard (Area: 0) +(@CGUID+68, 49743, 1, 1, 2318.733, -4716.366, 117.0158, 3.291296, 120, 0, 0), -- Dung Beetle (Area: 0) +(@CGUID+69, 49743, 1, 1, 2261.286, -4623.78, 92.22597, 3.034986, 120, 0, 0), -- Dung Beetle (Area: 0) +(@CGUID+70, 62114, 1, 1, 2276.586, -4660.981, 102.8914, 0.02538517, 120, 0, 0), -- Spiny Lizard (Area: 0) +(@CGUID+71, 49837, 1, 1, 2313.926, -4647.306, 110.4751, 5.228102, 120, 0, 0), -- Spiny Lizard (Area: 0) +(@CGUID+72, 49837, 1, 1, 2293.419, -4635.905, 104.2426, 1.571773, 120, 0, 0), -- Spiny Lizard (Area: 0) +(@CGUID+73, 3296, 1, 1, 2293.286, -4661.32, 105.5588, 5.522541, 120, 0, 0), -- Orgrimmar Grunt (Area: 0) (Auras: ) +(@CGUID+74, 62115, 1, 1, 2310.692, -4701.588, 114.1208, 4.649848, 120, 0, 0), -- Dung Beetle (Area: 0) +(@CGUID+75, 42650, 1, 1, 2321.906, -4738.458, 122.2641, 0.938438, 120, 0, 0), -- Goblin Siegeworker (Area: 0) (Auras: 80126 - Goblin Carrying a Horde Crate) +(@CGUID+76, 42548, 1, 1, 2329.702, -4738.493, 116.8893, 3.171628, 120, 0, 0), -- Muddy Crawfish (Area: 0) +(@CGUID+77, 42650, 1, 1, 2347.325, -4742.363, 121.195, 0.9773844, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+78, 42548, 1, 1, 2360.02, -4771.724, 119.1137, 1.124648, 120, 0, 0), -- Muddy Crawfish (Area: 0) +(@CGUID+79, 42650, 1, 1, 2375.211, -4760.818, 123.3872, 1.910486, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+80, 42650, 1, 1, 2322.724, -4768.457, 123.5431, 3.996804, 120, 0, 0), -- Goblin Siegeworker (Area: 0) (Auras: 80126 - Goblin Carrying a Horde Crate) +(@CGUID+81, 42650, 1, 1, 2345.14, -4796.854, 124.3948, 4.939282, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+82, 42671, 1, 1, 2390.698, -4790.512, 126.4508, 0.3141593, 120, 0, 0), -- Chief Engineer (Area: 0) +(@CGUID+83, 42673, 1, 1, 2392.984, -4796.818, 126.877, 0.9250245, 120, 0, 0), -- Hellscream Demolisher (Area: 0) +(@CGUID+84, 42650, 1, 1, 2375.762, -4787.292, 129.7977, 4.694936, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+85, 42650, 1, 1, 2366.611, -4790.205, 129.7605, 0.2268928, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+86, 42673, 1, 1, 2402.266, -4807.132, 127.0672, 0.3839724, 120, 0, 0), -- Hellscream Demolisher (Area: 0) +(@CGUID+87, 42650, 1, 1, 2387.059, -4820.118, 134.1067, 5.916666, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+88, 42650, 1, 1, 2384.826, -4813.146, 129.956, 2.600541, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+89, 42671, 1, 1, 2407.099, -4808.962, 126.9619, 1.064651, 120, 0, 0), -- Chief Engineer (Area: 0) +(@CGUID+90, 42650, 1, 1, 2399.405, -4814.858, 127.5179, 4.014257, 120, 0, 0), -- Goblin Siegeworker (Area: 0) (Auras: 80126 - Goblin Carrying a Horde Crate) +(@CGUID+91, 42650, 1, 1, 2422.088, -4806.223, 127.3449, 2.851961, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+92, 42650, 1, 1, 2398.076, -4818.552, 132.5486, 3.787364, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+93, 49837, 1, 1, 2427.167, -4788.862, 128.8044, 0.1792479, 120, 0, 0), -- Spiny Lizard (Area: 0) +(@CGUID+94, 42650, 1, 1, 2430.163, -4828.295, 142.047, 4.694936, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+95, 42650, 1, 1, 2404.344, -4846.243, 136.9398, 5.113815, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+96, 42650, 1, 1, 2393.2, -4828.768, 127.8356, 2.844887, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+97, 42650, 1, 1, 2438.661, -4858.741, 138.4747, 5.131268, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+98, 42650, 1, 1, 2440.625, -4867.327, 150.8198, 2.216568, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+99, 42672, 1, 1, 2482.097, -4815.262, 143.0676, 5.393067, 120, 0, 0), -- Foreman Glibbs (Area: 0) +(@CGUID+100, 42673, 1, 1, 2446.889, -4832.603, 131.6044, 1.012291, 120, 0, 0), -- Hellscream Demolisher (Area: 0) +(@CGUID+101, 42671, 1, 1, 2452.552, -4830.993, 132.6834, 1.064651, 120, 0, 0), -- Chief Engineer (Area: 0) +(@CGUID+102, 42650, 1, 1, 2458.705, -4856.469, 138.3684, 3.374021, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+103, 42650, 1, 1, 2452.25, -4853.809, 137.7998, 3.071779, 120, 0, 0), -- Goblin Siegeworker (Area: 0) (Auras: 80126 - Goblin Carrying a Horde Crate) +(@CGUID+104, 3296, 1, 1, 2450.965, -4825.7, 132.9035, 5.861367, 120, 0, 0), -- Orgrimmar Grunt (Area: 0) (Auras: ) +(@CGUID+105, 42650, 1, 1, 2434.986, -4841.952, 132.6866, 2.792527, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+106, 42650, 1, 1, 2488.392, -4827.316, 142.4043, 1.614059, 120, 0, 0), -- Goblin Siegeworker (Area: 0) (Auras: 80126 - Goblin Carrying a Horde Crate) +(@CGUID+107, 42650, 1, 1, 2472.807, -4868.455, 141.0457, 3.543018, 120, 0, 0), -- Goblin Siegeworker (Area: 0) +(@CGUID+108, 3296, 1, 1, 2510.97, -4856.11, 148.5153, 1.361357, 120, 0, 0), -- Orgrimmar Grunt (Area: 0) (Auras: ) +(@CGUID+109, 74228, 1, 1, 2513.97, -4836.57, 148.5153, 4.537856, 120, 0, 0), -- -Unknown- (Area: 0) (Auras: ) +(@CGUID+110, 35162, 1, 1, 2482.71, -5031.668, 142.9066, 3.595378, 120, 0, 0), -- Azshara Sapling (Area: Orgrimmar Rear Gate) (Auras: ) +(@CGUID+111, 3296, 1, 1, 2561.502, -4849.932, 144.9335, 5.131268, 120, 0, 0), -- Orgrimmar Grunt (Area: Orgrimmar Rear Gate) (Auras: ) +(@CGUID+112, 3296, 1, 1, 2549.267, -4868.382, 145.5338, 0.4363323, 120, 0, 0), -- Orgrimmar Grunt (Area: Orgrimmar Rear Gate) (Auras: ) +(@CGUID+113, 35162, 1, 1, 2514.72, -5012.401, 133.0677, 5.305801, 120, 0, 0), -- Azshara Sapling (Area: Orgrimmar Rear Gate) (Auras: ) +(@CGUID+114, 8576, 1, 1, 2551.691, -4851.772, 145.8126, 5.393067, 120, 0, 0), -- Ag'tor Bloodfist (Area: Orgrimmar Rear Gate) +(@CGUID+115, 35086, 1, 1, 2546.905, -4861.781, 145.8856, 0.6283185, 120, 0, 0), -- Labor Captain Grabbit (Area: Orgrimmar Rear Gate) +(@CGUID+116, 35162, 1, 1, 2639.04, -4721.168, 142.183, 3.176499, 120, 0, 0); -- Azshara Sapling (Area: Orgrimmar Rear Gate) + +-- correction: +DELETE FROM `creature` WHERE `guid` IN (286470,358717,358716,720,708,695,286467, 697,286484,706,705,286482,702,693,727,746,738,711,286501,722,286503,286502); + +UPDATE `creature` SET `spawndist`=4, `MovementType`=1 WHERE `guid`=286606; +-- Vink SAI +SET @ENTRY := 46620; +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,5000,8000,5000,8000,10,3,273,0,0,0,0,1,0,0,0,0,0,0,0,"Vink - Out of Combat - Play Random Emote (3, 273)"); + +-- Binzella SAI +SET @ENTRY := 46619; +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,5000,8000,5000,8000,10,3,273,0,0,0,0,1,0,0,0,0,0,0,0,"Binzella - Out of Combat - Play Random Emote (3, 273)"); + +-- Blademaster Ronakada SAI +SET @ENTRY := 46667; +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,5000,8000,5000,8000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blademaster Ronakada - Out of Combat - Play Emote 1"); + +-- Taryssa Lazuria SAI +SET @ENTRY := 57922; +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,3000,5000,3000,5000,10,274,273,1,0,0,0,0,0,0,0,0,0,0,0,"Taryssa Lazuria - Out of Combat - Play Random Emote (274, 273, 1)"); + +-- Marith Lazuria SAI +SET @ENTRY := 50482; +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,3000,5000,3000,5000,10,274,273,1,0,0,0,0,0,0,0,0,0,0,0,"Marith Lazuria - Out of Combat - Play Random Emote (274, 273, 1)"); + +-- Guldor SAI +SET @ENTRY := 47788; +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,3000,5000,3000,5000,10,274,273,1,0,0,0,0,0,0,0,0,0,0,0,"Guldor - Out of Combat - Play Random Emote (274, 273, 1)"); + +-- Ormak Grimshot SAI +SET @ENTRY := 3352; +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,3000,5000,3000,5000,10,274,273,1,0,0,0,0,0,0,0,0,0,0,0,"Ormak Grimshot - Out of Combat - Play Random Emote (274, 273, 1)"); + +-- Korla SAI +SET @ENTRY := 47767; +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,3000,5000,3000,5000,10,274,273,1,0,0,0,0,0,0,0,0,0,0,0,"Korla - Out of Combat - Play Random Emote (274, 273, 1)"); + +-- hammer +DELETE FROM `creature_addon` WHERE `guid` IN (286506,286508,286494, 286499,286505); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(286494,0,0,0,1,233, ''), +(286499,0,0,0,1,233, ''), +(286505,0,0,0,1,233, ''), +(286508,0,0,0,1,233, ''), +(286506,0,0,0,1,233, ''); + +-- kneeling grunts +DELETE FROM `creature_addon` WHERE `guid` IN (286476,286479,286478,286559,286562,286537,286572,286570,286568,286573,286575,286576,286543,286546,286542,286534,286528,286536,286539); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(286572,0,0,8,1,0, ''), +(286570,0,0,8,1,0, ''), +(286568,0,0,8,1,0, ''), +(286573,0,0,8,1,0, ''), +(286575,0,0,8,1,0, ''), +(286576,0,0,8,1,0, ''), +-- +(286543,0,0,0,1,1, ''), +(286546,0,0,0,1,1, ''), +(286542,0,0,0,1,1, ''), +(286534,0,0,0,1,0, '78677'), +(286528,0,0,0,1,0, '78677'), +(286536,0,0,0,1,1, ''), +(286539,0,0,0,1,1, ''), +(286562,0,0,0,1,1, ''), +(286559,0,0,0,1,1, ''), +(286478,0,0,0,1,1, ''), +(286479,0,0,0,1,1, ''), +(286476,0,0,0,1,0, '78677'), +(286537,0,0,0,1,0, '78677'); + +-- Karg Skullgore SAI +SET @ENTRY := 34955; +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,3000,5000,3000,5000,10,273,6,274,0,0,0,1,0,0,0,0,0,0,0,"Karg Skullgore - Out of Combat - Play Random Emote (273, 6, 274)"); + +-- Karba Blazemaw SAI +SET @ENTRY := 49573; +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,3000,5000,3000,5000,10,273,6,274,0,0,0,1,0,0,0,0,0,0,0,"Karba Blazemaw - Out of Combat - Play Random Emote (273, 6, 274)"); + +-- Murog SAI +SET @ENTRY := 47764; +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,3000,5000,3000,5000,10,273,6,0,0,0,0,1,0,0,0,0,0,0,0,"Murog - Out of Combat - Play Random Emote (273, 6)"); + +-- Drukma SAI +SET @ENTRY := 47771; +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,3000,5000,3000,5000,10,273,6,0,0,0,0,1,0,0,0,0,0,0,0,"Drukma - Out of Combat - Play Random Emote (273, 6)"); + +-- Kildar SAI +SET @ENTRY := 4752; +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,3000,5000,3000,5000,10,15,274,0,0,0,0,1,0,0,0,0,0,0,0,"Kildar - Out of Combat - Play Random Emote (15, 274)"); + +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=31768; +UPDATE `creature` SET `spawndist`=4, `MovementType`=1 WHERE `guid`=741; + +SET @NPC := 780; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2345.849,`position_y`=-4788.236,`position_z`=123.6137 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,257,0, '80126'); +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,2345.849,-4788.236,123.6137,0,0,0,0,100,0), +(@PATH,2,2345.782,-4788.322,123.8437,0,0,0,0,100,0), +(@PATH,3,2345.742,-4792.829,124.0043,0,0,0,0,100,0), +(@PATH,4,2346.992,-4793.579,124.0043,0,0,0,0,100,0), +(@PATH,5,2346.492,-4796.329,124.7543,0,0,0,0,100,0), +(@PATH,6,2345.14,-4796.854,124.3948,4.939282,5000,0,0,100,0), +(@PATH,7,2346.127,-4793.836,123.9689,0,0,0,0,100,0), +(@PATH,8,2346.127,-4789.586,123.9689,0,0,0,0,100,0), +(@PATH,9,2344.127,-4785.586,123.9689,0,0,0,0,100,0), +(@PATH,10,2345.849,-4788.236,123.6137,0,0,0,0,100,0), +(@PATH,11,2345.785,-4788.327,123.8437,0,0,0,0,100,0), +(@PATH,12,2345.742,-4792.84,124.0043,0,0,0,0,100,0), +(@PATH,13,2346.992,-4793.59,124.0043,0,0,0,0,100,0), +(@PATH,14,2346.492,-4796.34,124.7543,0,0,0,0,100,0), +(@PATH,15,2345.14,-4796.854,124.3948,4.939282,5000,0,0,100,0), +(@PATH,16,2346.127,-4793.836,123.9689,0,0,0,0,100,0), +(@PATH,17,2346.127,-4789.586,123.9689,0,0,0,0,100,0), +(@PATH,18,2344.127,-4785.586,123.9689,0,0,0,0,100,0), +(@PATH,19,2345.849,-4788.236,123.6137,0,0,0,0,100,0), +(@PATH,20,2345.785,-4788.326,123.8437,0,0,0,0,100,0), +(@PATH,21,2345.742,-4792.839,124.0043,0,0,0,0,100,0), +(@PATH,22,2346.992,-4793.589,124.0043,0,0,0,0,100,0), +(@PATH,23,2346.492,-4796.339,124.7543,0,0,0,0,100,0), +(@PATH,24,2345.14,-4796.854,124.3948,4.939282,5000,0,0,100,0), +(@PATH,25,2346.127,-4793.836,123.9689,0,0,0,0,100,0), +(@PATH,26,2346.127,-4789.586,123.9689,0,0,0,0,100,0), +(@PATH,27,2344.127,-4785.586,123.9689,0,0,0,0,100,0), +(@PATH,28,2345.849,-4788.236,123.6137,0,0,0,0,100,0); + +SET @NPC := 767; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2373.553,`position_y`=-4802.581,`position_z`=127.9173 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,257,0, '80126'); +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,2373.553,-4802.581,127.9173,0,0,0,0,100,0), +(@PATH,2,2377.053,-4801.331,127.9173,0,0,0,0,100,0), +(@PATH,3,2382.303,-4798.831,127.6673,0,0,0,0,100,0), +(@PATH,4,2384.053,-4794.581,127.6673,0,0,0,0,100,0), +(@PATH,5,2387.303,-4791.831,127.1673,0,0,0,0,100,0), +(@PATH,6,2388.303,-4787.331,126.1673,0,0,0,0,100,0), +(@PATH,7,2385.303,-4780.831,125.1673,0,0,0,0,100,0), +(@PATH,8,2378.303,-4770.581,124.6673,0,0,0,0,100,0), +(@PATH,9,2376.303,-4763.831,124.1673,0,0,0,0,100,0), +(@PATH,10,2371.803,-4751.081,122.9173,0,0,0,0,100,0), +(@PATH,11,2370.053,-4744.081,122.1673,0,0,0,0,100,0), +(@PATH,12,2365.303,-4738.331,121.6673,0,0,0,0,100,0), +(@PATH,13,2362.946,-4732.276,120.9367,0,0,0,0,100,0), +(@PATH,14,2365.083,-4733.847,120.7839,0.7679449,5000,0,0,100,0), +(@PATH,15,2365.44,-4741.152,121.7646,0,0,0,0,100,0), +(@PATH,16,2367.44,-4749.402,122.7646,0,0,0,0,100,0), +(@PATH,17,2371.19,-4757.152,123.5146,0,0,0,0,100,0), +(@PATH,18,2377.69,-4765.902,124.2646,0,0,0,0,100,0), +(@PATH,19,2383.94,-4776.152,124.7646,0,0,0,0,100,0), +(@PATH,20,2387.44,-4784.402,125.7646,0,0,0,0,100,0), +(@PATH,21,2388.44,-4789.652,126.5146,0,0,0,0,100,0), +(@PATH,22,2384.94,-4797.152,127.5146,0,0,0,0,100,0), +(@PATH,23,2381.69,-4799.652,127.7646,0,0,0,0,100,0), +(@PATH,24,2377.19,-4800.402,127.7646,0,0,0,0,100,0), +(@PATH,25,2373.94,-4802.652,128.0146,0,0,0,0,100,0), +(@PATH,26,2373.553,-4802.581,127.9173,0,0,0,0,100,0); + +SET @NPC := 791; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2490.851,`position_y`=-4816.962,`position_z`=142.9825 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,257,0, '80126'); +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,2490.851,-4816.962,142.9825,1.047198,0,0,0,100,0), +(@PATH,2,2490.851,-4816.962,142.9825,4.223697,5000,0,0,100,0), +(@PATH,3,2490.052,-4818.995,143.2241,0,0,0,0,100,0), +(@PATH,4,2488.552,-4821.995,142.9741,0,0,0,0,100,0), +(@PATH,5,2489.052,-4825.745,142.9741,0,0,0,0,100,0), +(@PATH,6,2488.302,-4829.745,142.2241,0,0,0,0,100,0), +(@PATH,7,2484.552,-4836.495,140.9741,0,0,0,0,100,0), +(@PATH,8,2482.052,-4844.245,140.7241,0,0,0,0,100,0), +(@PATH,9,2478.302,-4847.995,140.2241,0,0,0,0,100,0), +(@PATH,10,2475.052,-4853.995,140.4741,0,0,0,0,100,0), +(@PATH,11,2467.552,-4856.495,139.7241,0,0,0,0,100,0), +(@PATH,12,2464.552,-4860.245,139.4741,0,0,0,0,100,0), +(@PATH,13,2464.253,-4864.528,138.9658,5.742133,5000,0,0,100,0), +(@PATH,14,2463.802,-4863.745,139.2241,0,0,0,0,100,0), +(@PATH,15,2464.552,-4860.745,139.4741,0,0,0,0,100,0), +(@PATH,16,2467.802,-4858.245,139.7241,0,0,0,0,100,0), +(@PATH,17,2475.552,-4854.745,140.4741,0,0,0,0,100,0), +(@PATH,18,2482.052,-4848.245,140.9741,0,0,0,0,100,0), +(@PATH,19,2485.302,-4837.245,140.9741,0,0,0,0,100,0), +(@PATH,20,2488.552,-4828.995,142.4741,0,0,0,0,100,0), +(@PATH,21,2488.302,-4822.995,142.9741,0,0,0,0,100,0), +(@PATH,22,2490.851,-4816.962,142.9825,1.047198,0,0,0,100,0), +(@PATH,23,2490.851,-4816.962,142.9825,4.223697,0,0,0,100,0); + +SET @NPC := 766; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2328.901,`position_y`=-4774.885,`position_z`=123.5431 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,257,0, '80126'); +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,2328.901,-4774.885,123.5431,3.420845,0,0,0,100,0), +(@PATH,2,2328.901,-4774.885,123.5431,0.7504916,5000,0,0,100,0), +(@PATH,3,2330.783,-4771.301,123.7794,0,0,0,0,100,0), +(@PATH,4,2330.033,-4764.301,123.7794,0,0,0,0,100,0), +(@PATH,5,2328.783,-4756.551,123.7794,0,0,0,0,100,0), +(@PATH,6,2326.033,-4750.301,123.7794,0,0,0,0,100,0), +(@PATH,7,2324.283,-4746.801,123.7794,0,0,0,0,100,0), +(@PATH,8,2320.783,-4744.051,123.7794,0,0,0,0,100,0), +(@PATH,9,2320.783,-4740.301,123.0294,0,0,0,0,100,0), +(@PATH,10,2325.283,-4734.301,121.5294,0,0,0,0,100,0), +(@PATH,11,2329.533,-4729.551,119.2794,0,0,0,0,100,0), +(@PATH,12,2337.033,-4728.301,119.2794,0,0,0,0,100,0), +(@PATH,13,2345.783,-4729.801,120.2794,0,0,0,0,100,0), +(@PATH,14,2354.783,-4727.051,120.7794,0,0,0,0,100,0), +(@PATH,15,2354.283,-4726.801,120.7794,0,0,0,0,100,0), +(@PATH,16,2343.783,-4728.051,119.7794,0,0,0,0,100,0), +(@PATH,17,2333.783,-4726.301,118.7794,0,0,0,0,100,0), +(@PATH,18,2328.533,-4730.551,119.0294,0,0,0,0,100,0), +(@PATH,19,2324.033,-4737.801,121.5294,0,0,0,0,100,0), +(@PATH,20,2323.033,-4746.801,123.7794,0,0,0,0,100,0), +(@PATH,21,2326.033,-4755.051,123.7794,0,0,0,0,100,0), +(@PATH,22,2329.783,-4764.051,123.7794,0,0,0,0,100,0), +(@PATH,23,2330.283,-4770.801,123.7794,0,0,0,0,100,0), +(@PATH,24,2328.901,-4774.885,123.5431,3.420845,0,0,0,100,0); + +SET @NPC := 764; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2427.715,`position_y`=-4825.382,`position_z`=130.8018 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,257,0, '80126'); +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,2427.715,-4825.382,130.8018,1.204277,5000,0,0,100,0), +(@PATH,2,2429.473,-4822.097,130.7333,0,0,0,0,100,0), +(@PATH,3,2431.723,-4818.597,129.9833,0,0,0,0,100,0), +(@PATH,4,2430.223,-4814.347,129.2333,0,0,0,0,100,0), +(@PATH,5,2426.973,-4810.097,128.4833,0,0,0,0,100,0), +(@PATH,6,2422.473,-4806.347,127.7333,0,0,0,0,100,0), +(@PATH,7,2415.973,-4804.347,127.2333,0,0,0,0,100,0), +(@PATH,8,2411.473,-4803.597,126.9833,0,0,0,0,100,0), +(@PATH,9,2408.723,-4801.347,126.9833,0,0,0,0,100,0), +(@PATH,10,2403.473,-4799.847,126.9833,0,0,0,0,100,0), +(@PATH,11,2399.723,-4801.347,127.2333,0,0,0,0,100,0), +(@PATH,12,2394.473,-4805.847,127.7333,0,0,0,0,100,0), +(@PATH,13,2393.473,-4811.597,127.9833,0,0,0,0,100,0), +(@PATH,14,2392.973,-4812.097,127.9833,0,0,0,0,100,0), +(@PATH,15,2393.473,-4808.347,127.7333,0,0,0,0,100,0), +(@PATH,16,2397.473,-4802.597,127.2333,0,0,0,0,100,0), +(@PATH,17,2402.473,-4800.097,126.9833,0,0,0,0,100,0), +(@PATH,18,2406.973,-4800.597,126.9833,0,0,0,0,100,0), +(@PATH,19,2415.723,-4805.847,127.2333,0,0,0,0,100,0), +(@PATH,20,2421.723,-4807.597,127.7333,0,0,0,0,100,0), +(@PATH,21,2428.723,-4810.847,128.7333,0,0,0,0,100,0), +(@PATH,22,2429.473,-4817.347,129.4833,0,0,0,0,100,0), +(@PATH,23,2429.223,-4821.347,130.7333,0,0,0,0,100,0), +(@PATH,24,2427.715,-4825.382,130.8018,1.204277,0,0,0,100,0); + +SET @NPC := 787; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2447.274,`position_y`=-4856.858,`position_z`=137.7073 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,257,0, '80126'); +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,2447.274,-4856.858,137.7073,1.710423,5000,0,0,100,0), +(@PATH,2,2449.482,-4858.549,138.2745,0,0,0,0,100,0), +(@PATH,3,2455.732,-4856.799,138.5245,0,0,0,0,100,0), +(@PATH,4,2461.982,-4856.799,139.0245,0,0,0,0,100,0), +(@PATH,5,2472.482,-4858.549,140.0245,0,0,0,0,100,0), +(@PATH,6,2477.732,-4863.299,141.0245,0,0,0,0,100,0), +(@PATH,7,2480.982,-4867.299,141.5245,0,0,0,0,100,0), +(@PATH,8,2447.274,-4856.858,137.7073,1.710423,5000,0,0,100,0), +(@PATH,9,2449.482,-4858.549,138.2745,0,0,0,0,100,0), +(@PATH,10,2455.732,-4856.799,138.5245,0,0,0,0,100,0), +(@PATH,11,2461.982,-4856.799,139.0245,0,0,0,0,100,0), +(@PATH,12,2472.482,-4858.549,140.0245,0,0,0,0,100,0), +(@PATH,13,2477.732,-4863.299,141.0245,0,0,0,0,100,0), +(@PATH,14,2480.982,-4867.299,141.5245,0,0,0,0,100,0), +(@PATH,15,2483.232,-4869.799,142.0245,0,0,0,0,100,0), +(@PATH,16,2480.982,-4866.799,141.5245,0,0,0,0,100,0), +(@PATH,17,2477.982,-4863.299,141.0245,0,0,0,0,100,0), +(@PATH,18,2474.232,-4860.799,140.2745,0,0,0,0,100,0), +(@PATH,19,2469.482,-4857.049,139.7745,0,0,0,0,100,0), +(@PATH,20,2461.732,-4855.799,139.0245,0,0,0,0,100,0), +(@PATH,21,2450.232,-4858.549,138.2745,0,0,0,0,100,0), +(@PATH,22,2447.274,-4856.858,137.7073,1.710423,5000,0,0,100,0); + +SET @NPC := 776; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2424.445,`position_y`=-4825.149,`position_z`=130.8846 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,257,0, '80126'); +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,2424.445,-4825.149,130.8846,4.380776,5000,0,0,100,0), +(@PATH,2,2424.445,-4825.149,130.8846,1.099557,0,0,0,100,0), +(@PATH,3,2423.513,-4822.246,131.1352,0,0,0,0,100,0), +(@PATH,4,2419.763,-4822.246,131.1352,0,0,0,0,100,0), +(@PATH,5,2417.013,-4822.246,131.1352,0,0,0,0,100,0), +(@PATH,6,2415.082,-4823.842,130.8859,5.358161,5000,0,0,100,0), +(@PATH,7,2414.826,-4823.365,131.3125,0,0,0,0,100,0), +(@PATH,8,2416.326,-4821.615,131.3125,0,0,0,0,100,0), +(@PATH,9,2419.576,-4822.615,131.3125,0,0,0,0,100,0), +(@PATH,10,2422.826,-4824.115,131.3125,0,0,0,0,100,0), +(@PATH,11,2427.326,-4823.865,131.3125,0,0,0,0,100,0), +(@PATH,12,2430.826,-4821.865,130.8125,0,0,0,0,100,0), +(@PATH,13,2436.576,-4820.365,130.8125,0,0,0,0,100,0), +(@PATH,14,2441.826,-4819.615,131.5625,0,0,0,0,100,0), +(@PATH,15,2446.826,-4821.865,132.3125,0,0,0,0,100,0), +(@PATH,16,2458.076,-4828.365,134.3125,0,0,0,0,100,0), +(@PATH,17,2462.326,-4832.865,135.5625,0,0,0,0,100,0), +(@PATH,18,2465.326,-4839.615,137.0625,0,0,0,0,100,0), +(@PATH,19,2464.576,-4846.365,138.5625,0,0,0,0,100,0), +(@PATH,20,2461.326,-4851.865,138.5625,0,0,0,0,100,0), +(@PATH,21,2457.076,-4855.115,138.3125,0,0,0,0,100,0), +(@PATH,22,2452.576,-4857.365,138.0625,0,0,0,0,100,0), +(@PATH,23,2455.097,-4853.229,138.0922,0,0,0,0,100,0), +(@PATH,24,2458.097,-4851.479,138.3422,0,0,0,0,100,0), +(@PATH,25,2462.597,-4847.229,138.3422,0,0,0,0,100,0), +(@PATH,26,2464.597,-4841.979,137.5922,0,0,0,0,100,0), +(@PATH,27,2464.097,-4835.979,136.3422,0,0,0,0,100,0), +(@PATH,28,2459.347,-4828.229,134.5922,0,0,0,0,100,0), +(@PATH,29,2451.097,-4823.479,133.0922,0,0,0,0,100,0), +(@PATH,30,2443.097,-4820.979,131.8422,0,0,0,0,100,0), +(@PATH,31,2435.097,-4820.979,130.8422,0,0,0,0,100,0), +(@PATH,32,2429.097,-4823.229,131.0922,0,0,0,0,100,0), +(@PATH,33,2426.097,-4823.729,131.3422,0,0,0,0,100,0), +(@PATH,34,2424.445,-4825.149,130.8846,4.380776,5000,0,0,100,0), +(@PATH,35,2424.445,-4825.149,130.8846,1.099557,0,0,0,100,0), +(@PATH,36,2423.513,-4822.246,131.1352,0,0,0,0,100,0), +(@PATH,37,2419.763,-4822.246,131.1352,0,0,0,0,100,0), +(@PATH,38,2417.013,-4822.246,131.1352,0,0,0,0,100,0), +(@PATH,39,2415.082,-4823.842,130.8859,5.358161,5000,0,0,100,0), +(@PATH,40,2414.826,-4823.365,131.3125,0,0,0,0,100,0), +(@PATH,41,2416.326,-4821.615,131.3125,0,0,0,0,100,0), +(@PATH,42,2419.576,-4822.615,131.3125,0,0,0,0,100,0), +(@PATH,43,2422.826,-4824.115,131.3125,0,0,0,0,100,0); + +SET @NPC := 775; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2402.055,`position_y`=-4813.739,`position_z`=127.5776 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,257,0, '80126'); +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,2402.055,-4813.739,127.5776,0,0,0,0,100,0), +(@PATH,2,2404.305,-4815.739,127.5776,0,0,0,0,100,0), +(@PATH,3,2404.055,-4818.239,127.5776,0,0,0,0,100,0), +(@PATH,4,2401.205,-4819.62,127.6373,3.01942,5000,0,0,100,0), +(@PATH,5,2401.983,-4819.322,127.9547,0,0,0,0,100,0), +(@PATH,6,2403.983,-4817.572,127.9547,0,0,0,0,100,0), +(@PATH,7,2408.983,-4813.072,127.4547,0,0,0,0,100,0), +(@PATH,8,2415.233,-4809.072,127.4547,0,0,0,0,100,0), +(@PATH,9,2425.733,-4812.822,128.7047,0,0,0,0,100,0), +(@PATH,10,2430.983,-4816.322,129.4547,0,0,0,0,100,0), +(@PATH,11,2434.233,-4822.822,130.7047,0,0,0,0,100,0), +(@PATH,12,2399.405,-4814.858,127.5179,4.014257,5000,0,0,100,0), +(@PATH,13,2402.055,-4813.739,127.5776,0,0,0,0,100,0), +(@PATH,14,2404.305,-4815.739,127.5776,0,0,0,0,100,0), +(@PATH,15,2404.055,-4818.239,127.5776,0,0,0,0,100,0), +(@PATH,16,2401.205,-4819.62,127.6373,3.01942,5000,0,0,100,0), +(@PATH,17,2401.983,-4819.322,127.9547,0,0,0,0,100,0), +(@PATH,18,2403.983,-4817.572,127.9547,0,0,0,0,100,0), +(@PATH,19,2408.983,-4813.072,127.4547,0,0,0,0,100,0), +(@PATH,20,2415.233,-4809.072,127.4547,0,0,0,0,100,0), +(@PATH,21,2425.733,-4812.822,128.7047,0,0,0,0,100,0), +(@PATH,22,2430.983,-4816.322,129.4547,0,0,0,0,100,0), +(@PATH,23,2434.233,-4822.822,130.7047,0,0,0,0,100,0), +(@PATH,24,2433.668,-4825.551,130.861,0,0,0,0,100,0), +(@PATH,25,2437.418,-4828.051,131.111,0,0,0,0,100,0), +(@PATH,26,2437.575,-4830.577,130.95,4.29351,5000,0,0,100,0), +(@PATH,27,2437.575,-4830.577,130.95,1.029744,0,0,0,100,0), +(@PATH,28,2439.49,-4826.217,131.2339,0,0,0,0,100,0), +(@PATH,29,2438.24,-4822.717,130.9839,0,0,0,0,100,0), +(@PATH,30,2433.74,-4816.967,129.7339,0,0,0,0,100,0), +(@PATH,31,2426.49,-4811.967,128.7339,0,0,0,0,100,0), +(@PATH,32,2420.49,-4809.717,127.7339,0,0,0,0,100,0), +(@PATH,33,2411.99,-4811.967,127.4839,0,0,0,0,100,0), +(@PATH,34,2405.49,-4812.717,127.7339,0,0,0,0,100,0), +(@PATH,35,2399.405,-4814.858,127.5179,4.014257,5000,0,0,100,0); + +SET @NPC := 765; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2322.724,`position_y`=-4768.457,`position_z`=123.5431 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,257,0, '80126'); +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,2322.724,-4768.457,123.5431,3.996804,5000,0,0,100,0), +(@PATH,2,2323.664,-4767.192,123.7763,0,0,0,0,100,0), +(@PATH,3,2324.414,-4761.692,123.7763,0,0,0,0,100,0), +(@PATH,4,2323.414,-4752.942,123.7763,0,0,0,0,100,0), +(@PATH,5,2320.414,-4746.192,123.7763,0,0,0,0,100,0), +(@PATH,6,2322.414,-4741.442,123.0263,0,0,0,0,100,0), +(@PATH,7,2327.164,-4733.942,120.0263,0,0,0,0,100,0), +(@PATH,8,2332.414,-4731.192,119.2763,0,0,0,0,100,0), +(@PATH,9,2340.414,-4729.942,119.7763,0,0,0,0,100,0), +(@PATH,10,2351.414,-4725.942,120.5263,0,0,0,0,100,0), +(@PATH,11,2356.104,-4721.927,120.5095,3.979351,5000,0,0,100,0), +(@PATH,12,2354.664,-4723.692,120.7763,0,0,0,0,100,0), +(@PATH,13,2350.414,-4726.442,120.5263,0,0,0,0,100,0), +(@PATH,14,2345.164,-4731.192,120.2763,0,0,0,0,100,0), +(@PATH,15,2337.664,-4729.692,119.5263,0,0,0,0,100,0), +(@PATH,16,2333.164,-4730.442,119.2763,0,0,0,0,100,0), +(@PATH,17,2328.164,-4732.942,119.5263,0,0,0,0,100,0), +(@PATH,18,2324.914,-4736.192,121.5263,0,0,0,0,100,0), +(@PATH,19,2322.414,-4741.192,123.0263,0,0,0,0,100,0), +(@PATH,20,2321.664,-4747.192,123.7763,0,0,0,0,100,0), +(@PATH,21,2320.914,-4753.942,123.7763,0,0,0,0,100,0), +(@PATH,22,2322.414,-4760.192,123.7763,0,0,0,0,100,0), +(@PATH,23,2323.914,-4764.692,123.7763,0,0,0,0,100,0), +(@PATH,24,2322.724,-4768.457,123.5431,3.996804,5000,0,0,100,0); + +SET @NPC := 789; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2354.64,`position_y`=-4749.77,`position_z`=122.443 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,2354.64,-4749.77,122.443,0.9424778,5000,0,0,100,0), +(@PATH,2,2361.065,-4748.025,122.418,0,0,0,0,100,0), +(@PATH,3,2369.315,-4754.025,123.168,0,0,0,0,100,0), +(@PATH,4,2383.565,-4769.275,124.668,0,0,0,0,100,0), +(@PATH,5,2399.065,-4790.025,126.668,0,0,0,0,100,0), +(@PATH,6,2421.065,-4808.775,127.918,0,0,0,0,100,0), +(@PATH,7,2433.315,-4817.525,130.168,0,0,0,0,100,0), +(@PATH,8,2458.815,-4829.025,134.418,0,0,0,0,100,0), +(@PATH,9,2475.315,-4844.025,139.168,0,0,0,0,100,0), +(@PATH,10,2486.99,-4843.78,141.393,6.073746,5000,0,0,100,0), +(@PATH,11,2479.565,-4836.775,139.418,0,0,0,0,100,0), +(@PATH,12,2466.065,-4827.275,136.168,0,0,0,0,100,0), +(@PATH,13,2449.315,-4819.275,132.668,0,0,0,0,100,0), +(@PATH,14,2426.565,-4807.775,128.418,0,0,0,0,100,0), +(@PATH,15,2409.815,-4793.275,126.668,0,0,0,0,100,0), +(@PATH,16,2394.315,-4776.525,125.668,0,0,0,0,100,0), +(@PATH,17,2376.065,-4751.025,122.918,0,0,0,0,100,0); + +SET @NPC := 758; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2354.57,`position_y`=-4723.89,`position_z`=120.437 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,2354.57,-4723.89,120.437,4.031711,5000,0,0,100,0), +(@PATH,2,2344.805,-4730.075,120.1041,0,0,0,0,100,0), +(@PATH,3,2337.805,-4723.825,118.3541,0,0,0,0,100,0), +(@PATH,4,2335.555,-4714.075,116.8541,0,0,0,0,100,0), +(@PATH,5,2319.305,-4678.825,111.3541,0,0,0,0,100,0), +(@PATH,6,2299.555,-4659.825,106.8541,0,0,0,0,100,0), +(@PATH,7,2263.305,-4637.075,96.60415,0,0,0,0,100,0), +(@PATH,8,2225.305,-4628.825,85.60415,0,0,0,0,100,0), +(@PATH,9,2179.04,-4639.76,69.7713,3.769911,5000,0,0,100,0), +(@PATH,10,2188.555,-4642.075,73.10415,0,0,0,0,100,0), +(@PATH,11,2216.555,-4633.575,82.85415,0,0,0,0,100,0), +(@PATH,12,2259.305,-4640.575,95.60415,0,0,0,0,100,0), +(@PATH,13,2289.555,-4657.575,104.8541,0,0,0,0,100,0), +(@PATH,14,2315.805,-4682.575,111.3541,0,0,0,0,100,0), +(@PATH,15,2328.055,-4707.575,115.3541,0,0,0,0,100,0), +(@PATH,16,2332.055,-4720.075,117.6041,0,0,0,0,100,0), +(@PATH,17,2338.555,-4725.075,118.6041,0,0,0,0,100,0), +(@PATH,18,2347.555,-4726.075,120.1041,0,0,0,0,100,0); + +SET @NPC := 717; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2025.857,`position_y`=-4683.201,`position_z`=28.42917 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,2025.857,-4683.201,28.42917,0,0,0,0,100,0), +(@PATH,2,2015.818,-4688.088,28.73193,0,0,0,0,100,0), +(@PATH,3,2003.643,-4693.797,29.23093,0,0,0,0,100,0), +(@PATH,4,1998.419,-4691.936,29.85946,0,0,0,0,100,0), +(@PATH,5,1994.419,-4690.186,30.85946,0,0,0,0,100,0), +(@PATH,6,1990.419,-4688.186,31.85946,0,0,0,0,100,0), +(@PATH,7,1986.685,-4686.464,32.28598,0,0,0,0,100,0), +(@PATH,8,1985.685,-4685.964,32.28598,0,0,0,0,100,0), +(@PATH,9,1981.435,-4683.964,32.53598,0,0,0,0,100,0), +(@PATH,10,1976.935,-4682.214,32.28598,0,0,0,0,100,0), +(@PATH,11,1971.302,-4679.623,31.55442,0,0,0,0,100,0), +(@PATH,12,1966.365,-4681.003,32.18766,0,0,0,0,100,0), +(@PATH,13,1960.615,-4680.253,32.68766,0,0,0,0,100,0), +(@PATH,14,1953.954,-4679.512,33.14034,0,0,0,0,100,0), +(@PATH,15,1946.454,-4678.262,33.64034,0,0,0,0,100,0), +(@PATH,16,1941.09,-4676.992,33.84451,0,0,0,0,100,0), +(@PATH,17,1927.174,-4666.602,33.64549,0,0,0,0,100,0), +(@PATH,18,1922.214,-4656.237,33.53629,0,0,0,0,100,0), +(@PATH,19,1927.13,-4666.74,33.56191,0,0,0,0,100,0), +(@PATH,20,1927.491,-4666.738,33.64042,0,0,0,0,100,0), +(@PATH,21,1941.121,-4677.292,33.79312,0,0,0,0,100,0), +(@PATH,22,1952.621,-4679.292,33.29312,0,0,0,0,100,0), +(@PATH,23,1953.087,-4679.645,33.25417,0,0,0,0,100,0), +(@PATH,24,1954.087,-4679.895,33.00417,0,0,0,0,100,0), +(@PATH,25,1960.837,-4680.395,32.50417,0,0,0,0,100,0), +(@PATH,26,1966.614,-4681.123,31.85062,0,0,0,0,100,0), +(@PATH,27,1970.864,-4679.373,31.60062,0,0,0,0,100,0), +(@PATH,28,1971.112,-4679.344,31.69574,0,0,0,0,100,0), +(@PATH,29,1972.612,-4678.594,31.69574,0,0,0,0,100,0), +(@PATH,30,1977.362,-4681.344,32.19574,0,0,0,0,100,0), +(@PATH,31,1981.612,-4683.594,32.44574,0,0,0,0,100,0), +(@PATH,32,1985.862,-4685.844,32.44574,0,0,0,0,100,0), +(@PATH,33,1986.063,-4686.081,32.31482,0,0,0,0,100,0), +(@PATH,34,1987.063,-4686.581,32.31482,0,0,0,0,100,0), +(@PATH,35,1990.313,-4688.331,31.81482,0,0,0,0,100,0), +(@PATH,36,1994.313,-4690.081,30.81482,0,0,0,0,100,0), +(@PATH,37,1999.119,-4692.657,29.49647,0,0,0,0,100,0), +(@PATH,38,2003.999,-4693.762,29.15011,0,0,0,0,100,0), +(@PATH,39,2016.105,-4687.969,28.69383,0,0,0,0,100,0), +(@PATH,40,2025.87,-4682.854,28.44343,0,0,0,0,100,0), +(@PATH,41,2027.443,-4670.143,28.80083,0,0,0,0,100,0), +(@PATH,42,2027.256,-4661.537,28.77932,0,0,0,0,100,0), +(@PATH,43,2020.852,-4650.886,28.84587,0,0,0,0,100,0), +(@PATH,44,2020.852,-4650.886,28.34587,0,0,0,0,100,0), +(@PATH,45,2021.602,-4649.136,30.09587,0,0,0,0,100,0), +(@PATH,46,2024.602,-4648.136,31.84587,0,0,0,0,100,0), +(@PATH,47,2024.575,-4648.085,31.76911,0,0,0,0,100,0), +(@PATH,48,2022.575,-4646.835,31.76911,0,0,0,0,100,0), +(@PATH,49,2023.075,-4645.585,31.76911,0,0,0,0,100,0), +(@PATH,50,2023.83,-4640.935,31.93436,0,0,0,0,100,0), +(@PATH,51,2024.012,-4639.788,31.67921,0,0,0,0,100,0), +(@PATH,52,2023.631,-4640.864,31.93753,0,0,0,0,100,0), +(@PATH,53,2022.881,-4644.864,31.93753,0,0,0,0,100,0), +(@PATH,54,2022.803,-4644.882,31.83164,0,0,0,0,100,0), +(@PATH,55,2022.303,-4646.882,31.83164,0,0,0,0,100,0), +(@PATH,56,2019.803,-4646.632,31.83164,0,0,0,0,100,0), +(@PATH,57,2020.303,-4648.382,30.08164,0,0,0,0,100,0), +(@PATH,58,2020.29,-4648.641,30.02628,0,0,0,0,100,0), +(@PATH,59,2020.54,-4651.641,28.77628,0,0,0,0,100,0), +(@PATH,60,2027.098,-4661.933,28.80339,0,0,0,0,100,0), +(@PATH,61,2027.583,-4670.238,28.69053,0,0,0,0,100,0), +(@PATH,62,2025.674,-4683.059,28.40272,0,0,0,0,100,0); + +SET @NPC := 286527; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2037.625,`position_y`=-4675.975,`position_z`=31.66002 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,2037.625,-4675.975,31.66002,0,0,0,0,100,0), +(@PATH,2,2038.375,-4675.725,31.66002,0,0,0,0,100,0), +(@PATH,3,2039.625,-4675.225,31.66002,0,0,0,0,100,0), +(@PATH,4,2046.375,-4672.725,31.66002,0,0,0,0,100,0), +(@PATH,5,2047.625,-4672.225,31.66002,0,0,0,0,100,0), +(@PATH,6,2050.125,-4671.225,31.66002,0,0,0,0,100,0), +(@PATH,7,2052.625,-4670.475,31.66002,0,0,0,0,100,0), +(@PATH,8,2053.125,-4670.225,31.91002,0,0,0,0,100,0), +(@PATH,9,2055.125,-4669.475,32.91002,0,0,0,0,100,0), +(@PATH,10,2056.875,-4668.975,32.66002,0,0,0,0,100,0), +(@PATH,11,2057.375,-4668.725,32.66002,0,0,0,0,100,0), +(@PATH,12,2057.435,-4668.7,32.66305,0,0,0,0,100,0), +(@PATH,13,2055.185,-4669.45,32.66305,0,0,0,0,100,0), +(@PATH,14,2053.185,-4670.2,31.91305,0,0,0,0,100,0), +(@PATH,15,2052.685,-4670.45,31.66305,0,0,0,0,100,0), +(@PATH,16,2050.185,-4671.2,31.66305,0,0,0,0,100,0), +(@PATH,17,2039.615,-4675.117,31.52842,0,0,0,0,100,0), +(@PATH,18,2037.365,-4675.867,31.52842,0,0,0,0,100,0), +(@PATH,19,2037.625,-4675.975,31.66002,0,0,0,0,100,0), +(@PATH,20,2038.375,-4675.725,31.66002,0,0,0,0,100,0), +(@PATH,21,2039.625,-4675.225,31.66002,0,0,0,0,100,0), +(@PATH,22,2046.375,-4672.725,31.66002,0,0,0,0,100,0), +(@PATH,23,2047.625,-4672.225,31.66002,0,0,0,0,100,0), +(@PATH,24,2050.125,-4671.225,31.66002,0,0,0,0,100,0), +(@PATH,25,2052.625,-4670.475,31.66002,0,0,0,0,100,0), +(@PATH,26,2053.125,-4670.225,31.91002,0,0,0,0,100,0), +(@PATH,27,2055.125,-4669.475,32.91002,0,0,0,0,100,0), +(@PATH,28,2056.875,-4668.975,32.66002,0,0,0,0,100,0), +(@PATH,29,2057.375,-4668.725,32.66002,0,0,0,0,100,0), +(@PATH,30,2065.67,-4665.68,32.55113,3.525565,5000,0,0,100,0); + +SET @NPC := 286518; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2129.26,`position_y`=-4671.98,`position_z`=52.79225 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,2129.26,-4671.98,52.79225,0,0,0,0,100,0), +(@PATH,2,2129.26,-4671.98,52.79225,4.939282,5000,0,0,100,0), +(@PATH,3,2129.365,-4679.77,51.80112,0,0,0,0,100,0), +(@PATH,4,2121.615,-4686.52,49.30112,0,0,0,0,100,0), +(@PATH,5,2111.365,-4691.02,46.80112,0,0,0,0,100,0), +(@PATH,6,2103.365,-4698.27,44.30112,0,0,0,0,100,0), +(@PATH,7,2095.865,-4704.77,42.05112,0,0,0,0,100,0), +(@PATH,8,2086.615,-4707.52,39.05112,0,0,0,0,100,0), +(@PATH,9,2078.615,-4708.52,37.05112,0,0,0,0,100,0), +(@PATH,10,2069.115,-4709.27,34.05112,0,0,0,0,100,0), +(@PATH,11,2060.365,-4707.27,31.55112,0,0,0,0,100,0), +(@PATH,12,2049.615,-4711.52,29.55112,0,0,0,0,100,0), +(@PATH,13,2040.365,-4722.77,28.55112,0,0,0,0,100,0), +(@PATH,14,2022.615,-4721.77,28.80112,0,0,0,0,100,0), +(@PATH,15,2007.615,-4710.52,29.55112,0,0,0,0,100,0), +(@PATH,16,2007.365,-4700.02,29.05112,0,0,0,0,100,0), +(@PATH,17,2014.365,-4692.02,29.05112,0,0,0,0,100,0), +(@PATH,18,2027.115,-4688.52,28.55112,0,0,0,0,100,0), +(@PATH,19,2040.615,-4698.02,28.55112,0,0,0,0,100,0), +(@PATH,20,2046.365,-4706.52,29.05112,0,0,0,0,100,0), +(@PATH,21,2059.115,-4713.02,31.55112,0,0,0,0,100,0), +(@PATH,22,2069.865,-4715.02,34.05112,0,0,0,0,100,0), +(@PATH,23,2079.615,-4714.27,37.05112,0,0,0,0,100,0), +(@PATH,24,2087.115,-4713.77,39.30112,0,0,0,0,100,0), +(@PATH,25,2095.365,-4712.52,41.55112,0,0,0,0,100,0), +(@PATH,26,2105.115,-4705.02,44.30112,0,0,0,0,100,0), +(@PATH,27,2111.365,-4700.02,46.05112,0,0,0,0,100,0), +(@PATH,28,2119.115,-4695.27,48.05112,0,0,0,0,100,0), +(@PATH,29,2124.615,-4691.02,49.55112,0,0,0,0,100,0), +(@PATH,30,2130.115,-4687.02,50.80112,0,0,0,0,100,0); + +SET @NPC := 286556; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1957.43,`position_y`=-4827.78,`position_z`=58.064 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,1957.43,-4827.78,58.064,0,0,0,0,100,0), +(@PATH,2,1940.18,-4818.78,58.064,0,0,0,0,100,0), +(@PATH,3,1933.43,-4798.78,58.064,0,0,0,0,100,0), +(@PATH,4,1941.68,-4777.53,58.064,0,0,0,0,100,0), +(@PATH,5,1962.43,-4772.28,58.064,0,0,0,0,100,0), +(@PATH,6,1980.68,-4779.28,58.064,0,0,0,0,100,0), +(@PATH,7,1985.93,-4802.28,58.064,0,0,0,0,100,0), +(@PATH,8,1985.93,-4802.28,58.064,0,0,0,0,100,0), +(@PATH,9,1980.68,-4779.28,58.064,0,0,0,0,100,0), +(@PATH,10,1962.43,-4772.28,58.064,0,0,0,0,100,0), +(@PATH,11,1941.68,-4777.53,58.064,0,0,0,0,100,0), +(@PATH,12,1933.43,-4798.78,58.064,0,0,0,0,100,0), +(@PATH,13,1940.18,-4818.78,58.064,0,0,0,0,100,0), +(@PATH,14,1957.43,-4827.78,58.064,0,0,0,0,100,0), +(@PATH,15,1957.43,-4827.78,58.064,0,0,0,0,100,0); + +SET @NPC := 286548; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1965.46,`position_y`=-4802.14,`position_z`=84.2834 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,1965.46,-4802.14,84.2834,3.054326,5000,0,0,100,0), +(@PATH,2,1967.28,-4800.415,84.43535,0,0,0,0,100,0), +(@PATH,3,1966.28,-4794.915,84.43535,0,0,0,0,100,0), +(@PATH,4,1961.53,-4790.665,84.43535,0,0,0,0,100,0), +(@PATH,5,1955.78,-4790.665,84.43535,0,0,0,0,100,0), +(@PATH,6,1950.28,-4793.915,83.18535,0,0,0,0,100,0), +(@PATH,7,1948.28,-4798.665,80.43535,0,0,0,0,100,0), +(@PATH,8,1947.78,-4804.165,78.18535,0,0,0,0,100,0), +(@PATH,9,1950.03,-4808.915,76.68535,0,0,0,0,100,0), +(@PATH,10,1953.78,-4812.165,74.43535,0,0,0,0,100,0), +(@PATH,11,1958.78,-4813.915,71.68535,0,0,0,0,100,0), +(@PATH,12,1962.78,-4813.665,69.43535,0,0,0,0,100,0), +(@PATH,13,1966.78,-4812.165,68.18535,0,0,0,0,100,0), +(@PATH,14,1971.28,-4808.665,66.68535,0,0,0,0,100,0), +(@PATH,15,1973.28,-4803.915,64.43535,0,0,0,0,100,0), +(@PATH,16,1972.78,-4798.665,61.68535,0,0,0,0,100,0), +(@PATH,17,1970.03,-4794.165,58.93535,0,0,0,0,100,0), +(@PATH,18,1967.53,-4792.665,58.43535,0,0,0,0,100,0), +(@PATH,19,1963.28,-4795.165,58.43535,0,0,0,0,100,0), +(@PATH,20,1959.78,-4799.915,58.43535,0,0,0,0,100,0), +(@PATH,21,1959.53,-4804.165,57.43535,0,0,0,0,100,0), +(@PATH,22,1959.28,-4809.665,54.43535,0,0,0,0,100,0), +(@PATH,23,1959.03,-4817.165,50.18535,0,0,0,0,100,0), +(@PATH,24,1958.78,-4821.165,49.43535,0,0,0,0,100,0), +(@PATH,25,1958.03,-4824.915,49.43535,0,0,0,0,100,0), +(@PATH,26,1956.53,-4826.415,49.43535,0,0,0,0,100,0), +(@PATH,27,1952.78,-4824.665,49.43535,0,0,0,0,100,0), +(@PATH,28,1953.03,-4820.915,48.43535,0,0,0,0,100,0), +(@PATH,29,1953.53,-4817.165,46.18535,0,0,0,0,100,0), +(@PATH,30,1954.03,-4813.665,44.18535,0,0,0,0,100,0), +(@PATH,31,1954.03,-4809.665,41.93535,0,0,0,0,100,0), +(@PATH,32,1953.78,-4805.665,39.93535,0,0,0,0,100,0), +(@PATH,33,1950.21,-4802.085,39.3388,0,0,0,0,100,0), +(@PATH,34,1946.71,-4803.585,39.3388,0,0,0,0,100,0), +(@PATH,35,1945.71,-4807.085,39.0888,0,0,0,0,100,0), +(@PATH,36,1946.96,-4812.085,39.0888,0,0,0,0,100,0), +(@PATH,37,1950.46,-4818.585,39.0888,0,0,0,0,100,0), +(@PATH,38,1953.96,-4820.835,39.3388,0,0,0,0,100,0), +(@PATH,39,1958.46,-4821.335,39.3388,0,0,0,0,100,0), +(@PATH,40,1965.21,-4821.585,39.0888,0,0,0,0,100,0), +(@PATH,41,1970.71,-4821.835,39.0888,0,0,0,0,100,0), +(@PATH,42,1976.96,-4821.585,39.3388,0,0,0,0,100,0), +(@PATH,43,1981.21,-4818.085,39.3388,0,0,0,0,100,0), +(@PATH,44,1981.96,-4812.585,39.3388,0,0,0,0,100,0), +(@PATH,45,1978.46,-4807.835,39.3388,0,0,0,0,100,0), +(@PATH,46,1966.82,-4802.98,39.0903,1.448623,5000,0,0,100,0), +(@PATH,47,1966.39,-4805.81,39.43685,0,0,0,0,100,0), +(@PATH,48,1964.89,-4812.81,43.18685,0,0,0,0,100,0), +(@PATH,49,1964.39,-4818.81,46.43685,0,0,0,0,100,0), +(@PATH,50,1964.14,-4825.06,49.43685,0,0,0,0,100,0), +(@PATH,51,1960.39,-4826.81,49.43685,0,0,0,0,100,0), +(@PATH,52,1958.64,-4825.06,49.43685,0,0,0,0,100,0), +(@PATH,53,1958.64,-4819.31,49.43685,0,0,0,0,100,0), +(@PATH,54,1959.14,-4815.56,51.18685,0,0,0,0,100,0), +(@PATH,55,1959.39,-4810.81,53.93685,0,0,0,0,100,0), +(@PATH,56,1959.64,-4807.06,55.93685,0,0,0,0,100,0), +(@PATH,57,1959.89,-4804.06,57.43685,0,0,0,0,100,0), +(@PATH,58,1960.14,-4799.81,58.43685,0,0,0,0,100,0), +(@PATH,59,1963.64,-4795.31,58.43685,0,0,0,0,100,0), +(@PATH,60,1968.89,-4793.06,58.43685,0,0,0,0,100,0), +(@PATH,61,1971.64,-4795.81,60.18685,0,0,0,0,100,0), +(@PATH,62,1972.89,-4798.81,61.68685,0,0,0,0,100,0), +(@PATH,63,1973.39,-4802.56,63.68685,0,0,0,0,100,0), +(@PATH,64,1972.14,-4806.56,65.68685,0,0,0,0,100,0), +(@PATH,65,1969.64,-4809.81,67.43685,0,0,0,0,100,0), +(@PATH,66,1966.39,-4812.31,68.18685,0,0,0,0,100,0), +(@PATH,67,1961.14,-4813.81,70.18685,0,0,0,0,100,0), +(@PATH,68,1956.14,-4813.06,73.18685,0,0,0,0,100,0), +(@PATH,69,1951.64,-4810.31,75.93685,0,0,0,0,100,0), +(@PATH,70,1948.14,-4806.06,78.18685,0,0,0,0,100,0), +(@PATH,71,1947.39,-4801.81,78.43685,0,0,0,0,100,0), +(@PATH,72,1948.39,-4797.31,81.18685,0,0,0,0,100,0), +(@PATH,73,1950.39,-4793.56,83.18685,0,0,0,0,100,0), +(@PATH,74,1953.64,-4791.31,84.43685,0,0,0,0,100,0), +(@PATH,75,1958.64,-4790.31,84.43685,0,0,0,0,100,0), +(@PATH,76,1963.39,-4792.31,84.43685,0,0,0,0,100,0), +(@PATH,77,1966.39,-4796.31,84.43685,0,0,0,0,100,0), +(@PATH,78,1967.39,-4800.06,84.43685,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_30_03_world.sql b/sql/updates/world/2015_07_30_03_world.sql new file mode 100644 index 00000000000..44c4e9e6e0d --- /dev/null +++ b/sql/updates/world/2015_07_30_03_world.sql @@ -0,0 +1,1679 @@ +-- DB/Pathing: Orgrimmar - Orgrimmar Wind Rider +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=51346; +UPDATE `creature_template_addon` SET `mount`=17719 WHERE `entry`=51346; +-- Orgrimmar Wind Rider SAI +SET @ENTRY := 51346; +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,1000,1000,1000,60,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Wind Rider - Out of Combat - Set Fly On"); + +-- 1. +DELETE FROM `creature_formations` WHERE `leaderGUID`=311128; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(311128, 311128, 0, 0, 2, 0, 0), +(311128, 311129, 6, 90, 2, 0, 0), +(311128, 311130, 6, 270, 2, 0, 0); + +SET @NPC := 311128; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2187.817,`position_y`=-4778.676,`position_z`=125.7029 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=2187.817,`position_y`=-4778.676,`position_z`=125.7029 WHERE `guid` IN (311129, 311130); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,2187.817,-4778.676,125.7029,0,0,0,0,100,0), +(@PATH,2,2182.846,-4798.097,126.1781,0,0,0,0,100,0), +(@PATH,3,2174.621,-4816.327,127.6751,0,0,0,0,100,0), +(@PATH,4,2164.929,-4832.59,129.7338,0,0,0,0,100,0), +(@PATH,5,2152.912,-4847.764,132.3678,0,0,0,0,100,0), +(@PATH,6,2137.976,-4860.472,136.3017,0,0,0,0,100,0), +(@PATH,7,2121.298,-4869.944,141.6481,0,0,0,0,100,0), +(@PATH,8,2095.439,-4880.728,150.1578,0,0,0,0,100,0), +(@PATH,9,2077.664,-4885.504,155.7869,0,0,0,0,100,0), +(@PATH,10,2060.441,-4889.292,160.9066,0,0,0,0,100,0), +(@PATH,11,2048.303,-4891.24,163.8743,0,0,0,0,100,0), +(@PATH,12,2040.797,-4891.888,165.1125,0,0,0,0,100,0), +(@PATH,13,2009.719,-4890.751,166.2931,0,0,0,0,100,0), +(@PATH,14,1991.264,-4887.998,164.7786,0,0,0,0,100,0), +(@PATH,15,1972.238,-4882.874,162.7602,0,0,0,0,100,0), +(@PATH,16,1954.183,-4875.612,161.0011,0,0,0,0,100,0), +(@PATH,17,1936.896,-4865.991,159.0571,0,0,0,0,100,0), +(@PATH,18,1921.589,-4854.209,156.8548,0,0,0,0,100,0), +(@PATH,19,1907.726,-4842.86,153.6287,0,0,0,0,100,0), +(@PATH,20,1894.537,-4829.801,149.411,0,0,0,0,100,0), +(@PATH,21,1882.714,-4815.224,144.7564,0,0,0,0,100,0), +(@PATH,22,1871.844,-4800.283,140.9853,0,0,0,0,100,0), +(@PATH,23,1861.971,-4783.229,138.1526,0,0,0,0,100,0), +(@PATH,24,1855.708,-4764.293,136.0078,0,0,0,0,100,0), +(@PATH,25,1852.721,-4744.902,134.7815,0,0,0,0,100,0), +(@PATH,26,1849.573,-4730.19,133.674,0,0,0,0,100,0), +(@PATH,27,1842.431,-4714.059,132.0484,0,0,0,0,100,0), +(@PATH,28,1834.485,-4698.854,128.8706,0,0,0,0,100,0), +(@PATH,29,1825.651,-4681.227,124.9815,0,0,0,0,100,0), +(@PATH,30,1820.647,-4662.264,122.322,0,0,0,0,100,0), +(@PATH,31,1818.278,-4643.169,119.7074,0,0,0,0,100,0), +(@PATH,32,1817.632,-4623.775,116.8286,0,0,0,0,100,0), +(@PATH,33,1818.479,-4604.525,113.7605,0,0,0,0,100,0), +(@PATH,34,1821.578,-4586.457,110.5236,0,0,0,0,100,0), +(@PATH,35,1826.724,-4568.271,107.1641,0,0,0,0,100,0), +(@PATH,36,1832.583,-4550.62,104.7226,0,0,0,0,100,0), +(@PATH,37,1839.564,-4533.561,103.9151,0,0,0,0,100,0), +(@PATH,38,1850.087,-4516.717,105.5849,0,0,0,0,100,0), +(@PATH,39,1862.609,-4501.715,108.8422,0,0,0,0,100,0), +(@PATH,40,1876.802,-4488.396,111.5773,0,0,0,0,100,0), +(@PATH,41,1892.35,-4477.78,113.6671,0,0,0,0,100,0), +(@PATH,42,1908.139,-4468.642,116.6651,0,0,0,0,100,0), +(@PATH,43,1925.951,-4459.532,120.2383,0,0,0,0,100,0), +(@PATH,44,1945.116,-4453.866,124.3253,0,0,0,0,100,0), +(@PATH,45,1965.382,-4452.527,129.7621,0,0,0,0,100,0), +(@PATH,46,1985.508,-4456.406,133.5837,0,0,0,0,100,0), +(@PATH,47,2003.947,-4465.961,134.4593,0,0,0,0,100,0), +(@PATH,48,2019.997,-4477.835,134.0049,0,0,0,0,100,0), +(@PATH,49,2034.383,-4491.871,132.9457,0,0,0,0,100,0), +(@PATH,50,2044.794,-4507.014,130.8295,0,0,0,0,100,0), +(@PATH,51,2054.616,-4522.693,128.1867,0,0,0,0,100,0), +(@PATH,52,2063.581,-4538.11,125.4089,0,0,0,0,100,0), +(@PATH,53,2072.56,-4552.639,123.2466,0,0,0,0,100,0), +(@PATH,54,2082.353,-4567.643,121.5576,0,0,0,0,100,0), +(@PATH,55,2092.787,-4581.88,120.9785,0,0,0,0,100,0), +(@PATH,56,2104.217,-4596.457,120.9865,0,0,0,0,100,0), +(@PATH,57,2115.904,-4611.45,121.4817,0,0,0,0,100,0), +(@PATH,58,2127.003,-4626.323,122.7404,0,0,0,0,100,0), +(@PATH,59,2137.855,-4641.216,124.7632,0,0,0,0,100,0), +(@PATH,60,2148.089,-4656.334,126.4673,0,0,0,0,100,0), +(@PATH,61,2158.35,-4673.106,127.38,0,0,0,0,100,0), +(@PATH,62,2172.951,-4701.135,127.8701,0,0,0,0,100,0), +(@PATH,63,2180.643,-4718.625,127.6946,0,0,0,0,100,0), +(@PATH,64,2186.588,-4737.121,127.2609,0,0,0,0,100,0), +(@PATH,65,2189.073,-4756.958,126.5473,0,0,0,0,100,0), +(@PATH,66,2188.074,-4776.907,125.7336,0,0,0,0,100,0), +(@PATH,67,2183.474,-4796.335,126.0819,0,0,0,0,100,0), +(@PATH,68,2175.427,-4814.786,127.5149,0,0,0,0,100,0); + +-- 2. +DELETE FROM `creature_formations` WHERE `leaderGUID`=310863; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(310863, 310863, 0, 0, 2, 0, 0), +(310863, 310862, 4, 90, 0, 0, 0), +(310863, 310864, 4, 270, 0, 0, 0); + +SET @NPC := 310863; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1453.753,`position_y`=-4362.598,`position_z`=150.2205 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1453.753,`position_y`=-4362.598,`position_z`=150.2205 WHERE `guid`=310862; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1453.753,-4362.598,150.2205,0,0,0,0,100,0), +(@PATH,2,1433.826,-4364,150.1758,0,0,0,0,100,0), +(@PATH,3,1412.867,-4371.117,147.7425,0,0,0,0,100,0), +(@PATH,4,1395.033,-4383.396,143.9625,0,0,0,0,100,0), +(@PATH,5,1384.314,-4401.771,141.7057,0,0,0,0,100,0), +(@PATH,6,1382.594,-4424.03,141.1066,0,0,0,0,100,0), +(@PATH,7,1387.038,-4446.073,141.1109,0,0,0,0,100,0), +(@PATH,8,1399.362,-4463.98,141.1268,0,0,0,0,100,0), +(@PATH,9,1418.6,-4475.412,141.3571,0,0,0,0,100,0), +(@PATH,10,1439.65,-4480.671,141.7339,0,0,0,0,100,0), +(@PATH,11,1461.542,-4476.429,142.3987,0,0,0,0,100,0), +(@PATH,12,1479.532,-4467.318,143.1184,0,0,0,0,100,0), +(@PATH,13,1495.394,-4461.308,142.9345,0,0,0,0,100,0), +(@PATH,14,1511.904,-4456.913,141.6133,0,0,0,0,100,0), +(@PATH,15,1530.222,-4453.2,140.2176,0,0,0,0,100,0), +(@PATH,16,1546.628,-4450.616,138.8715,0,0,0,0,100,0), +(@PATH,17,1564.728,-4448.281,137.6191,0,0,0,0,100,0), +(@PATH,18,1585.957,-4445.819,137.8257,0,0,0,0,100,0), +(@PATH,19,1603.106,-4444.29,139.3361,0,0,0,0,100,0), +(@PATH,20,1622.621,-4442.888,141.715,0,0,0,0,100,0), +(@PATH,21,1642.136,-4441.177,144.7662,0,0,0,0,100,0), +(@PATH,22,1660.079,-4438.621,148.3557,0,0,0,0,100,0), +(@PATH,23,1678.894,-4434.875,154.1817,0,0,0,0,100,0), +(@PATH,24,1696.946,-4429.788,161.3757,0,0,0,0,100,0), +(@PATH,25,1713.376,-4419.644,168.4954,0,0,0,0,100,0), +(@PATH,26,1724.96,-4403.855,174.5833,0,0,0,0,100,0), +(@PATH,27,1732.58,-4385.019,180.4676,0,0,0,0,100,0), +(@PATH,28,1736.862,-4364.963,185.6549,0,0,0,0,100,0), +(@PATH,29,1736.79,-4344.911,189.4968,0,0,0,0,100,0), +(@PATH,30,1730.308,-4323.565,192.2776,0,0,0,0,100,0), +(@PATH,31,1721.316,-4305.716,193.4582,0,0,0,0,100,0), +(@PATH,32,1711.136,-4289.479,192.8545,0,0,0,0,100,0), +(@PATH,33,1696.868,-4274.714,189.1641,0,0,0,0,100,0), +(@PATH,34,1684.186,-4263.849,183.6184,0,0,0,0,100,0), +(@PATH,35,1671.591,-4253.092,175.6228,0,0,0,0,100,0), +(@PATH,36,1658.406,-4242.482,166.7235,0,0,0,0,100,0), +(@PATH,37,1644.187,-4231.799,160.0248,0,0,0,0,100,0), +(@PATH,38,1629.841,-4220.764,153.4237,0,0,0,0,100,0), +(@PATH,39,1620.33,-4210.348,148.7201,0,0,0,0,100,0), +(@PATH,40,1614.203,-4195.522,146.76,0,0,0,0,100,0), +(@PATH,41,1613.691,-4182.065,147.3239,0,0,0,0,100,0), +(@PATH,42,1620.928,-4170.055,150.5764,0,0,0,0,100,0), +(@PATH,43,1631.703,-4160.409,153.4229,0,0,0,0,100,0), +(@PATH,44,1648.289,-4151.509,156.0684,0,0,0,0,100,0), +(@PATH,45,1664.268,-4143.702,158.7324,0,0,0,0,100,0), +(@PATH,46,1681.259,-4136.542,160.1767,0,0,0,0,100,0), +(@PATH,47,1697.498,-4131.925,157.5118,0,0,0,0,100,0), +(@PATH,48,1716.405,-4126.562,153.8514,0,0,0,0,100,0), +(@PATH,49,1733.779,-4118.829,153.4746,0,0,0,0,100,0), +(@PATH,50,1751.665,-4108.66,154.7351,0,0,0,0,100,0), +(@PATH,51,1766.817,-4094.701,156.5226,0,0,0,0,100,0), +(@PATH,52,1777.733,-4079.402,158.4923,0,0,0,0,100,0), +(@PATH,53,1786.683,-4060.58,161.2617,0,0,0,0,100,0), +(@PATH,54,1792.617,-4042.946,164.3353,0,0,0,0,100,0), +(@PATH,55,1797.749,-4026.452,167.322,0,0,0,0,100,0), +(@PATH,56,1802.148,-4007.16,170.8382,0,0,0,0,100,0), +(@PATH,57,1803.962,-3986.031,174.7932,0,0,0,0,100,0), +(@PATH,58,1802.265,-3965.61,178.8509,0,0,0,0,100,0), +(@PATH,59,1799.214,-3947.251,182.7919,0,0,0,0,100,0), +(@PATH,60,1794.865,-3926.838,187.2427,0,0,0,0,100,0), +(@PATH,61,1789.204,-3906.146,191.7953,0,0,0,0,100,0), +(@PATH,62,1782.103,-3886.776,196.0662,0,0,0,0,100,0), +(@PATH,63,1772.051,-3868.774,199.9532,0,0,0,0,100,0), +(@PATH,64,1757.822,-3856.761,202.4072,0,0,0,0,100,0), +(@PATH,65,1736.957,-3853.127,203.7096,0,0,0,0,100,0), +(@PATH,66,1715.396,-3857.027,203.8102,0,0,0,0,100,0), +(@PATH,67,1694.912,-3864.766,203.2657,0,0,0,0,100,0), +(@PATH,68,1677.01,-3873.806,202.6426,0,0,0,0,100,0), +(@PATH,69,1660.573,-3884.544,202.2555,0,0,0,0,100,0), +(@PATH,70,1644.532,-3899.208,201.7124,0,0,0,0,100,0), +(@PATH,71,1630.805,-3915.794,200.8964,0,0,0,0,100,0), +(@PATH,72,1620.844,-3932.873,199.7097,0,0,0,0,100,0), +(@PATH,73,1617.142,-3953.463,197.727,0,0,0,0,100,0), +(@PATH,74,1626.62,-3974.113,194.3372,0,0,0,0,100,0), +(@PATH,75,1639.574,-3989.739,190.5507,0,0,0,0,100,0), +(@PATH,76,1648.191,-4002.926,187.0622,0,0,0,0,100,0), +(@PATH,77,1656.632,-4019.936,183.2987,0,0,0,0,100,0), +(@PATH,78,1661.367,-4033.343,180.1778,0,0,0,0,100,0), +(@PATH,79,1661.558,-4034.377,179.9276,0,0,0,0,100,0), +(@PATH,80,1655.095,-4058.743,175.1125,0,0,0,0,100,0), +(@PATH,81,1642.66,-4070.673,172.3383,0,0,0,0,100,0), +(@PATH,82,1629.409,-4080.272,168.6872,0,0,0,0,100,0), +(@PATH,83,1613.893,-4087.821,163.9733,0,0,0,0,100,0), +(@PATH,84,1598.063,-4094.845,159.4254,0,0,0,0,100,0), +(@PATH,85,1580.72,-4105.733,155.2786,0,0,0,0,100,0), +(@PATH,86,1565.851,-4119.33,151.7436,0,0,0,0,100,0), +(@PATH,87,1553.396,-4135.209,148.8713,0,0,0,0,100,0), +(@PATH,88,1543.916,-4153.896,146.7233,0,0,0,0,100,0), +(@PATH,89,1541.862,-4176.448,144.8783,0,0,0,0,100,0), +(@PATH,90,1546.4,-4196.079,143.3901,0,0,0,0,100,0), +(@PATH,91,1555.503,-4215.291,141.9598,0,0,0,0,100,0), +(@PATH,92,1572.037,-4230.205,140.8074,0,0,0,0,100,0), +(@PATH,93,1583.852,-4239.599,139.5642,0,0,0,0,100,0), +(@PATH,94,1592.342,-4252.434,137.9855,0,0,0,0,100,0), +(@PATH,95,1599.167,-4269.076,136.3192,0,0,0,0,100,0), +(@PATH,96,1605.269,-4286.15,134.7745,0,0,0,0,100,0), +(@PATH,97,1607.538,-4301.603,133.1383,0,0,0,0,100,0), +(@PATH,98,1603.179,-4313.941,131.4175,0,0,0,0,100,0), +(@PATH,99,1592.402,-4328.95,129.5083,0,0,0,0,100,0), +(@PATH,100,1580.699,-4342.257,128.4065,0,0,0,0,100,0), +(@PATH,101,1568.928,-4352.674,130.1394,0,0,0,0,100,0), +(@PATH,102,1554.321,-4360.198,134.159,0,0,0,0,100,0), +(@PATH,103,1540.395,-4365.917,138.999,0,0,0,0,100,0), +(@PATH,104,1526.083,-4367.126,142.841,0,0,0,0,100,0), +(@PATH,105,1507.671,-4366.261,146.282,0,0,0,0,100,0), +(@PATH,106,1489.133,-4365.348,148.2374,0,0,0,0,100,0), +(@PATH,107,1468.95,-4363.478,149.6181,0,0,0,0,100,0); + +-- correction +DELETE FROM `creature` WHERE `guid` IN (749, 748, 750, 286722); + +-- 3. +DELETE FROM `creature_formations` WHERE `leaderGUID`=287137; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(287137, 287137, 0, 0, 2, 0, 0), +(287137, 287136, 6, 90, 2, 0, 0), +(287137, 287138, 6, 270, 2, 0, 0); + +SET @NPC := 287137; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2344.476,`position_y`=-4649.64,`position_z`=193.1467 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2344.476,`position_y`=-4649.64,`position_z`=193.1467 WHERE `guid` IN (287136, 287138); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,2344.476,-4649.64,193.1467,0,0,0,0,100,0), +(@PATH,2,2356.663,-4664.491,196.4953,0,0,0,0,100,0), +(@PATH,3,2365.037,-4681.887,202.8909,0,0,0,0,100,0), +(@PATH,4,2371.134,-4695.135,210.2224,0,0,0,0,100,0), +(@PATH,5,2380.507,-4708.189,216.9977,0,0,0,0,100,0), +(@PATH,6,2380.564,-4707.161,217.7028,0,0,0,0,100,0), +(@PATH,7,2403.165,-4735.233,224.0464,0,0,0,0,100,0), +(@PATH,8,2415.197,-4746.526,225.39,0,0,0,0,100,0), +(@PATH,9,2429.123,-4755.889,226.2017,0,0,0,0,100,0), +(@PATH,10,2444.228,-4763.291,226.3444,0,0,0,0,100,0), +(@PATH,11,2460.73,-4769.616,226.2886,0,0,0,0,100,0), +(@PATH,12,2479.895,-4780.43,226.2886,0,0,0,0,100,0), +(@PATH,13,2492.513,-4797.801,226.2886,0,0,0,0,100,0), +(@PATH,14,2498.938,-4818.601,226.2886,0,0,0,0,100,0), +(@PATH,15,2497.883,-4839.326,226.2886,0,0,0,0,100,0), +(@PATH,16,2492.498,-4859.307,226.2886,0,0,0,0,100,0), +(@PATH,17,2482.858,-4877.205,226.2886,0,0,0,0,100,0), +(@PATH,18,2469.356,-4893.59,226.2886,0,0,0,0,100,0), +(@PATH,19,2450.658,-4904.374,226.2886,0,0,0,0,100,0), +(@PATH,20,2428.441,-4907.047,226.2886,0,0,0,0,100,0), +(@PATH,21,2430.179,-4904.146,227.2886,0,0,0,0,100,0), +(@PATH,22,2390.011,-4890.25,226.2886,0,0,0,0,100,0), +(@PATH,23,2376.153,-4876.193,226.3321,0,0,0,0,100,0), +(@PATH,24,2364.573,-4860.924,226.214,0,0,0,0,100,0), +(@PATH,25,2354.688,-4844.067,224.8432,0,0,0,0,100,0), +(@PATH,26,2347.108,-4827.485,221.3296,0,0,0,0,100,0), +(@PATH,27,2340.542,-4808.85,216.7655,0,0,0,0,100,0), +(@PATH,28,2336.556,-4790.968,211.4741,0,0,0,0,100,0), +(@PATH,29,2331.757,-4775.583,207.1461,0,0,0,0,100,0), +(@PATH,30,2324.677,-4761.693,203.7116,0,0,0,0,100,0), +(@PATH,31,2314.852,-4748.389,200.5888,0,0,0,0,100,0), +(@PATH,32,2303.061,-4736.283,197.593,0,0,0,0,100,0), +(@PATH,33,2290.437,-4725.825,192.8786,0,0,0,0,100,0), +(@PATH,34,2276.626,-4716.892,187.3818,0,0,0,0,100,0), +(@PATH,35,2260.946,-4706.064,182.7776,0,0,0,0,100,0), +(@PATH,36,2246.423,-4693.782,179.7449,0,0,0,0,100,0), +(@PATH,37,2232.982,-4679.748,177.2713,0,0,0,0,100,0), +(@PATH,38,2221.459,-4664.255,174.932,0,0,0,0,100,0), +(@PATH,39,2212.006,-4648.268,173.2646,0,0,0,0,100,0), +(@PATH,40,2203.236,-4632.228,172.8204,0,0,0,0,100,0), +(@PATH,41,2194.019,-4617.633,173.9287,0,0,0,0,100,0), +(@PATH,42,2183.847,-4602.959,175.8922,0,0,0,0,100,0), +(@PATH,43,2172.926,-4588.244,178.2528,0,0,0,0,100,0), +(@PATH,44,2162.121,-4573.11,179.1541,0,0,0,0,100,0), +(@PATH,45,2151.729,-4557.401,178.6325,0,0,0,0,100,0), +(@PATH,46,2142.714,-4541.034,176.4897,0,0,0,0,100,0), +(@PATH,47,2134.871,-4525.855,173.5946,0,0,0,0,100,0), +(@PATH,48,2125.843,-4512.703,169.2345,0,0,0,0,100,0), +(@PATH,49,2103.72,-4489.439,158.1273,0,0,0,0,100,0), +(@PATH,50,2089.687,-4478.886,151.5134,0,0,0,0,100,0), +(@PATH,51,2076.47,-4468.49,145.7966,0,0,0,0,100,0), +(@PATH,52,2062.125,-4456.734,140.1501,0,0,0,0,100,0), +(@PATH,53,2048.843,-4444.243,135.3729,0,0,0,0,100,0), +(@PATH,54,2036.135,-4430.877,131.2297,0,0,0,0,100,0), +(@PATH,55,2024.317,-4416.351,128.0157,0,0,0,0,100,0), +(@PATH,56,2013.314,-4400.627,125.5775,0,0,0,0,100,0), +(@PATH,57,2003.819,-4384.565,124.432,0,0,0,0,100,0), +(@PATH,58,1995.68,-4367.403,125.0835,0,0,0,0,100,0), +(@PATH,59,1989.646,-4348.842,127.5712,0,0,0,0,100,0), +(@PATH,60,1986.104,-4330.198,131.3635,0,0,0,0,100,0), +(@PATH,61,1984.33,-4310.543,136.3107,0,0,0,0,100,0), +(@PATH,62,1985.675,-4291.238,142.08,0,0,0,0,100,0), +(@PATH,63,1991.782,-4272.034,149.2602,0,0,0,0,100,0), +(@PATH,64,2006.172,-4256.529,155.3723,0,0,0,0,100,0), +(@PATH,65,2026.905,-4249.235,160.0862,0,0,0,0,100,0), +(@PATH,66,2048.529,-4250.858,161.7471,0,0,0,0,100,0), +(@PATH,67,2068.326,-4261.122,160.5783,0,0,0,0,100,0), +(@PATH,68,2081.692,-4277.859,157.3597,0,0,0,0,100,0), +(@PATH,69,2088.627,-4297.592,152.968,0,0,0,0,100,0), +(@PATH,70,2089.216,-4317.914,147.9373,0,0,0,0,100,0), +(@PATH,71,2085.511,-4337.333,143.084,0,0,0,0,100,0), +(@PATH,72,2077.561,-4355.278,138.611,0,0,0,0,100,0), +(@PATH,73,2066.443,-4371.464,135.3215,0,0,0,0,100,0), +(@PATH,74,2052.791,-4385.495,133.0123,0,0,0,0,100,0), +(@PATH,75,2036.607,-4397.225,129.5401,0,0,0,0,100,0), +(@PATH,76,2020.975,-4406.482,127.706,0,0,0,0,100,0), +(@PATH,77,2006.328,-4414.937,129.485,0,0,0,0,100,0), +(@PATH,78,1997.5,-4426.043,131.056,0,0,0,0,100,0), +(@PATH,79,1991.759,-4439.949,132.9174,0,0,0,0,100,0), +(@PATH,80,1993.17,-4453.991,137.8703,0,0,0,0,100,0), +(@PATH,81,1999.313,-4466.726,141.9852,0,0,0,0,100,0), +(@PATH,82,2009.966,-4479.995,146.4247,0,0,0,0,100,0), +(@PATH,83,2021.526,-4491.116,150.4905,0,0,0,0,100,0), +(@PATH,84,2035.686,-4503.419,155.0344,0,0,0,0,100,0), +(@PATH,85,2049.509,-4515.366,159.5474,0,0,0,0,100,0), +(@PATH,86,2063.091,-4528.274,164.582,0,0,0,0,100,0), +(@PATH,87,2074.898,-4540.081,169.8273,0,0,0,0,100,0), +(@PATH,88,2086.931,-4549.661,174.8661,0,0,0,0,100,0), +(@PATH,89,2102.868,-4558.697,180.0944,0,0,0,0,100,0), +(@PATH,90,2117.932,-4565.953,184.4518,0,0,0,0,100,0), +(@PATH,91,2130.677,-4570.399,187.8371,0,0,0,0,100,0), +(@PATH,92,2148.475,-4573.66,189.4443,0,0,0,0,100,0), +(@PATH,93,2164.142,-4576.132,190.4781,0,0,0,0,100,0), +(@PATH,94,2164.281,-4576.153,190.4873,0,0,0,0,100,0), +(@PATH,95,2205.021,-4582.769,191.698,0,0,0,0,100,0), +(@PATH,96,2223.725,-4587.793,191.629,0,0,0,0,100,0), +(@PATH,97,2241.47,-4593.268,191.629,0,0,0,0,100,0), +(@PATH,98,2259.559,-4599.501,191.629,0,0,0,0,100,0), +(@PATH,99,2276.989,-4606.036,191.629,0,0,0,0,100,0), +(@PATH,100,2294.536,-4613.769,191.629,0,0,0,0,100,0), +(@PATH,101,2311.454,-4623.332,191.3935,0,0,0,0,100,0), +(@PATH,102,2327.26,-4634.21,191.3435,0,0,0,0,100,0); + +-- 4. +DELETE FROM `creature_formations` WHERE `leaderGUID`=311055; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(311055, 311055, 0, 0, 2, 0, 0), +(311055, 311054, 6, 90, 2, 0, 0), +(311055, 311103, 6, 270, 2, 0, 0); + +SET @NPC := 311055; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2070.802,`position_y`=-4466.9,`position_z`=110.4167 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=2070.802,`position_y`=-4466.9,`position_z`=110.4167 WHERE `guid` IN (311054, 311103); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,2070.802,-4466.9,110.4167,0,0,0,0,100,0), +(@PATH,2,2077.909,-4449.454,111.092,0,0,0,0,100,0), +(@PATH,3,2084.219,-4432.092,115.2293,0,0,0,0,100,0), +(@PATH,4,2089.34,-4414.369,120.0934,0,0,0,0,100,0), +(@PATH,5,2092.373,-4395.824,124.3021,0,0,0,0,100,0), +(@PATH,6,2093.642,-4377.708,129.6119,0,0,0,0,100,0), +(@PATH,7,2093.612,-4359.75,135.9595,0,0,0,0,100,0), +(@PATH,8,2092.712,-4342.802,142.5403,0,0,0,0,100,0), +(@PATH,9,2089.928,-4324.907,149.8836,0,0,0,0,100,0), +(@PATH,10,2085.531,-4308.248,158.0671,0,0,0,0,100,0), +(@PATH,11,2079.91,-4291.361,164.5166,0,0,0,0,100,0), +(@PATH,12,2072.953,-4274.022,167.8593,0,0,0,0,100,0), +(@PATH,13,2064.66,-4257.31,166.0467,0,0,0,0,100,0), +(@PATH,14,2055.794,-4242.208,159.0939,0,0,0,0,100,0), +(@PATH,15,2046.105,-4228.125,149.6974,0,0,0,0,100,0), +(@PATH,16,2035.854,-4216.223,137.8053,0,0,0,0,100,0), +(@PATH,17,2025.628,-4206.5,126.0673,0,0,0,0,100,0), +(@PATH,18,2011.247,-4195.292,115.0595,0,0,0,0,100,0), +(@PATH,19,1995.137,-4186.879,107.0282,0,0,0,0,100,0), +(@PATH,20,1977.305,-4182.569,101.6301,0,0,0,0,100,0), +(@PATH,21,1957.84,-4179.803,99.54911,0,0,0,0,100,0), +(@PATH,22,1937.104,-4181.209,99.66904,0,0,0,0,100,0), +(@PATH,23,1918.19,-4187.264,99.96359,0,0,0,0,100,0), +(@PATH,24,1900.112,-4199.129,99.93196,0,0,0,0,100,0), +(@PATH,25,1886.134,-4214.233,99.90671,0,0,0,0,100,0), +(@PATH,26,1875.294,-4230.847,100.9119,0,0,0,0,100,0), +(@PATH,27,1867.471,-4247.532,102.6202,0,0,0,0,100,0), +(@PATH,28,1860.031,-4265.672,104.4892,0,0,0,0,100,0), +(@PATH,29,1855.04,-4284.947,106.7965,0,0,0,0,100,0), +(@PATH,30,1853.599,-4305.338,109.0562,0,0,0,0,100,0), +(@PATH,31,1858.074,-4326.417,110.5447,0,0,0,0,100,0), +(@PATH,32,1871.455,-4345.249,112.2112,0,0,0,0,100,0), +(@PATH,33,1893.955,-4353.599,114.1995,0,0,0,0,100,0), +(@PATH,34,1911.324,-4352.415,116.2395,0,0,0,0,100,0), +(@PATH,35,1921.525,-4358.517,117.7673,0,0,0,0,100,0), +(@PATH,36,1929.024,-4370.511,119.4713,0,0,0,0,100,0), +(@PATH,37,1932.213,-4384.316,119.4429,0,0,0,0,100,0), +(@PATH,38,1931.979,-4401.509,117.4868,0,0,0,0,100,0), +(@PATH,39,1930.207,-4418.992,115.0721,0,0,0,0,100,0), +(@PATH,40,1927.021,-4435.5,112.7006,0,0,0,0,100,0), +(@PATH,41,1921.894,-4452.03,110.6684,0,0,0,0,100,0), +(@PATH,42,1914.313,-4465.204,108.7827,0,0,0,0,100,0), +(@PATH,43,1903.157,-4477.424,107.414,0,0,0,0,100,0), +(@PATH,44,1889.731,-4488.692,106.9053,0,0,0,0,100,0), +(@PATH,45,1875.686,-4499.458,106.9582,0,0,0,0,100,0), +(@PATH,46,1861.084,-4509.003,107.0194,0,0,0,0,100,0), +(@PATH,47,1845.435,-4516.418,106.7208,0,0,0,0,100,0), +(@PATH,48,1830.062,-4520.913,106.402,0,0,0,0,100,0), +(@PATH,49,1814.017,-4522.21,106.155,0,0,0,0,100,0), +(@PATH,50,1797.839,-4520.491,106.1131,0,0,0,0,100,0), +(@PATH,51,1783.63,-4515.53,106.0794,0,0,0,0,100,0), +(@PATH,52,1770.261,-4505.03,105.6187,0,0,0,0,100,0), +(@PATH,53,1753.287,-4493.229,105.6244,0,0,0,0,100,0), +(@PATH,54,1732.657,-4486.024,107.0413,0,0,0,0,100,0), +(@PATH,55,1709.945,-4489.919,108.4623,0,0,0,0,100,0), +(@PATH,56,1691.712,-4506.029,107.7552,0,0,0,0,100,0), +(@PATH,57,1687.861,-4530.702,108.4373,0,0,0,0,100,0), +(@PATH,58,1703.458,-4551.063,110.0196,0,0,0,0,100,0), +(@PATH,59,1721.49,-4558.226,112.5992,0,0,0,0,100,0), +(@PATH,60,1737.531,-4564.795,115.5456,0,0,0,0,100,0), +(@PATH,61,1737.511,-4564.788,115.5422,0,0,0,0,100,0), +(@PATH,62,1776.312,-4575.609,119.9136,0,0,0,0,100,0), +(@PATH,63,1796.13,-4574.086,121.3507,0,0,0,0,100,0), +(@PATH,64,1814.89,-4570.237,121.5083,0,0,0,0,100,0), +(@PATH,65,1832.352,-4567.336,121.1143,0,0,0,0,100,0), +(@PATH,66,1849.508,-4566.387,120.172,0,0,0,0,100,0), +(@PATH,67,1864.634,-4569.146,118.4792,0,0,0,0,100,0), +(@PATH,68,1878.275,-4575.464,116.1419,0,0,0,0,100,0), +(@PATH,69,1891.51,-4586.458,113.3991,0,0,0,0,100,0), +(@PATH,70,1908.983,-4597.85,110.471,0,0,0,0,100,0), +(@PATH,71,1928.972,-4602.315,106.6242,0,0,0,0,100,0), +(@PATH,72,1949.398,-4601.805,102.9171,0,0,0,0,100,0), +(@PATH,73,1969.276,-4596.564,100.8913,0,0,0,0,100,0), +(@PATH,74,1986.783,-4585.743,100.7549,0,0,0,0,100,0), +(@PATH,75,2001.332,-4573.289,101.1974,0,0,0,0,100,0), +(@PATH,76,2014.655,-4559.408,102.3548,0,0,0,0,100,0), +(@PATH,77,2027.02,-4545.175,104.094,0,0,0,0,100,0), +(@PATH,78,2038.184,-4529.604,106.6144,0,0,0,0,100,0), +(@PATH,79,2047.414,-4513.563,108.0986,0,0,0,0,100,0), +(@PATH,80,2056.418,-4496.791,109.37,0,0,0,0,100,0), +(@PATH,81,2065.042,-4479.687,110.3946,0,0,0,0,100,0), +(@PATH,82,2072.51,-4462.905,110.3689,0,0,0,0,100,0), +(@PATH,83,2079.677,-4444.754,111.9228,0,0,0,0,100,0), +(@PATH,84,2086.185,-4426.043,117.0077,0,0,0,0,100,0), +(@PATH,85,2090.693,-4407.714,121.6001,0,0,0,0,100,0), +(@PATH,86,2092.977,-4389.396,126.0021,0,0,0,0,100,0), +(@PATH,87,2093.759,-4371.153,131.8432,0,0,0,0,100,0), +(@PATH,88,2093.363,-4353.426,138.3627,0,0,0,0,100,0), +(@PATH,89,2091.965,-4336.111,145.2158,0,0,0,0,100,0), +(@PATH,90,2088.477,-4318.838,152.7976,0,0,0,0,100,0); + +-- 5. singel +SET @NPC := 310649; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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,17719,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, 1917.59, -4699.52, 82.6288, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1956.38, -4737.34, 82.0614, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1980.35, -4753.11, 78.5511, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 2015.21, -4757, 78.2543, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 2047.53, -4770.04, 77.5184, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 2083.43, -4769.09, 79.5475, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 2113.08, -4725.98, 83.7579, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 2119.78, -4667.99, 87.8909, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 2093.88, -4616.57, 87.6157, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 2051.04, -4588.51, 78.1248, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 2000.85, -4598.82, 68.8872, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1955.07, -4629.46, 62.6593, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 1918.5, -4662.03, 68.0767, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 1908.28, -4682.58, 72.5178, 0, 0, 0, 0, 100, 0); + +-- 6. +DELETE FROM `creature_formations` WHERE `leaderGUID`=287140; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(287140, 287140, 0, 0, 2, 0, 0), +(287140, 287141, 6, 90, 2, 0, 0), +(287140, 287139, 6, 270, 2, 0, 0); + +SET @NPC := 287140; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1752.398,`position_y`=-4243.478,`position_z`=115.2898 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1752.398,`position_y`=-4243.478,`position_z`=115.2898 WHERE `guid` IN (287141, 287139); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1752.398,-4243.478,115.2898,0,0,0,0,100,0), +(@PATH,2,1739.821,-4239.554,114.8747,0,0,0,0,100,0), +(@PATH,3,1723.82,-4239.623,115.0613,0,0,0,0,100,0), +(@PATH,4,1707.624,-4242.889,114.9495,0,0,0,0,100,0), +(@PATH,5,1696.511,-4248.668,114.8715,0,0,0,0,100,0), +(@PATH,6,1688.887,-4261.579,114.8668,0,0,0,0,100,0), +(@PATH,7,1687.313,-4272.348,115.0801,0,0,0,0,100,0), +(@PATH,8,1694.772,-4283.346,115.7162,0,0,0,0,100,0), +(@PATH,9,1706.599,-4293.738,116.267,0,0,0,0,100,0), +(@PATH,10,1720.707,-4300.788,116.6437,0,0,0,0,100,0), +(@PATH,11,1722.247,-4301.319,116.6611,0,0,0,0,100,0), +(@PATH,12,1748.626,-4301.684,116.3646,0,0,0,0,100,0), +(@PATH,13,1760.774,-4294.115,116.3098,0,0,0,0,100,0), +(@PATH,14,1765.131,-4282.963,116.6441,0,0,0,0,100,0), +(@PATH,15,1768.911,-4265.282,116.7886,0,0,0,0,100,0), +(@PATH,16,1779.849,-4244.463,116.6789,0,0,0,0,100,0), +(@PATH,17,1800.664,-4233.946,116.446,0,0,0,0,100,0), +(@PATH,18,1823.237,-4236.028,116.0322,0,0,0,0,100,0), +(@PATH,19,1842.136,-4244.565,115.7385,0,0,0,0,100,0), +(@PATH,20,1857.677,-4261.013,115.8512,0,0,0,0,100,0), +(@PATH,21,1862.982,-4283.648,116.3685,0,0,0,0,100,0), +(@PATH,22,1852.109,-4305.289,116.8431,0,0,0,0,100,0), +(@PATH,23,1835.275,-4317.941,117.2421,0,0,0,0,100,0), +(@PATH,24,1824.156,-4327.291,117.9631,0,0,0,0,100,0), +(@PATH,25,1816.757,-4339.838,118.5972,0,0,0,0,100,0), +(@PATH,26,1813.489,-4354.331,118.5286,0,0,0,0,100,0), +(@PATH,27,1814.347,-4370.722,118.5286,0,0,0,0,100,0), +(@PATH,28,1817.135,-4387.975,118.5251,0,0,0,0,100,0), +(@PATH,29,1821.922,-4402.899,118.5264,0,0,0,0,100,0), +(@PATH,30,1829.496,-4417.697,118.6126,0,0,0,0,100,0), +(@PATH,31,1839.317,-4429.991,118.732,0,0,0,0,100,0), +(@PATH,32,1851.958,-4439.413,118.8564,0,0,0,0,100,0), +(@PATH,33,1864.205,-4443.029,118.5307,0,0,0,0,100,0), +(@PATH,34,1876.703,-4439.447,118.8907,0,0,0,0,100,0), +(@PATH,35,1886.7,-4432.099,120.0332,0,0,0,0,100,0), +(@PATH,36,1887.963,-4422.688,121.9425,0,0,0,0,100,0), +(@PATH,37,1882.006,-4409.991,123.7688,0,0,0,0,100,0), +(@PATH,38,1871.089,-4395.06,125.3668,0,0,0,0,100,0), +(@PATH,39,1860.026,-4382.354,125.2833,0,0,0,0,100,0), +(@PATH,40,1848.181,-4372.905,123.9159,0,0,0,0,100,0), +(@PATH,41,1833.491,-4365.679,122.3379,0,0,0,0,100,0), +(@PATH,42,1817.43,-4360.013,120.4906,0,0,0,0,100,0), +(@PATH,43,1800.453,-4355.821,118.7043,0,0,0,0,100,0), +(@PATH,44,1783.021,-4350.945,118.2935,0,0,0,0,100,0), +(@PATH,45,1769.411,-4350.87,118.8795,0,0,0,0,100,0), +(@PATH,46,1757.252,-4355.759,120.8041,0,0,0,0,100,0), +(@PATH,47,1746.178,-4366.038,124.6221,0,0,0,0,100,0), +(@PATH,48,1738.148,-4378.114,129.0555,0,0,0,0,100,0), +(@PATH,49,1736.964,-4390.267,132.5117,0,0,0,0,100,0), +(@PATH,50,1740.115,-4406.795,135.334,0,0,0,0,100,0), +(@PATH,51,1744.998,-4423.01,136.7945,0,0,0,0,100,0), +(@PATH,52,1751.891,-4437.946,137.3098,0,0,0,0,100,0), +(@PATH,53,1761.145,-4451.333,138.1502,0,0,0,0,100,0), +(@PATH,54,1773.241,-4464.571,139.2234,0,0,0,0,100,0), +(@PATH,55,1785.103,-4475.089,140.1783,0,0,0,0,100,0), +(@PATH,56,1798.931,-4483.318,141.4307,0,0,0,0,100,0), +(@PATH,57,1811.15,-4485.266,141.3097,0,0,0,0,100,0), +(@PATH,58,1825.475,-4481.725,139.1551,0,0,0,0,100,0), +(@PATH,59,1833.307,-4474.778,135.0122,0,0,0,0,100,0), +(@PATH,60,1836.942,-4462.713,129.762,0,0,0,0,100,0), +(@PATH,61,1834.82,-4449.708,126.425,0,0,0,0,100,0), +(@PATH,62,1828.68,-4434.435,123.9729,0,0,0,0,100,0), +(@PATH,63,1819.578,-4420.028,122.4969,0,0,0,0,100,0), +(@PATH,64,1809.853,-4403.466,121.2047,0,0,0,0,100,0), +(@PATH,65,1801.958,-4387.142,119.9052,0,0,0,0,100,0), +(@PATH,66,1794.5,-4370.375,119.1905,0,0,0,0,100,0), +(@PATH,67,1787.333,-4353.754,119.1238,0,0,0,0,100,0), +(@PATH,68,1780.714,-4335.614,119.2794,0,0,0,0,100,0), +(@PATH,69,1775.645,-4317.413,119.6594,0,0,0,0,100,0), +(@PATH,70,1771.494,-4299.163,120.0483,0,0,0,0,100,0), +(@PATH,71,1768.708,-4279.266,119.8779,0,0,0,0,100,0), +(@PATH,72,1767.849,-4263.084,119.0378,0,0,0,0,100,0), +(@PATH,73,1762.163,-4252.079,117.2981,0,0,0,0,100,0); + +-- 7. + +DELETE FROM `creature_formations` WHERE `leaderGUID`=287084; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(287084, 287084, 0, 0, 2, 0, 0), +(287084, 287082, 6, 90, 2, 0, 0), +(287084, 287083, 6, 270, 2, 0, 0); + +SET @NPC := 287084; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1935.921,`position_y`=-4202.151,`position_z`=99.90977 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1935.921,`position_y`=-4202.151,`position_z`=99.90977 WHERE `guid` IN (287082,287083); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1935.921,-4202.151,99.90977,0,0,0,0,100,0), +(@PATH,2,1921.545,-4207.911,99.95251,0,0,0,0,100,0), +(@PATH,3,1909.5,-4217.915,99.88344,0,0,0,0,100,0), +(@PATH,4,1898.489,-4230.976,100.0763,0,0,0,0,100,0), +(@PATH,5,1890.768,-4244.812,101.4671,0,0,0,0,100,0), +(@PATH,6,1882.993,-4261.813,103.2667,0,0,0,0,100,0), +(@PATH,7,1877.236,-4277.878,105.2477,0,0,0,0,100,0), +(@PATH,8,1873.785,-4294.484,107.691,0,0,0,0,100,0), +(@PATH,9,1874.276,-4309.689,109.6676,0,0,0,0,100,0), +(@PATH,10,1878.807,-4323.878,111.0572,0,0,0,0,100,0), +(@PATH,11,1887.464,-4331.698,112.9127,0,0,0,0,100,0), +(@PATH,12,1899.838,-4333.164,114.9801,0,0,0,0,100,0), +(@PATH,13,1923.164,-4335.438,116.874,0,0,0,0,100,0), +(@PATH,14,1940.603,-4350.049,118.275,0,0,0,0,100,0), +(@PATH,15,1949.912,-4369.577,119.8247,0,0,0,0,100,0), +(@PATH,16,1952.322,-4390.372,118.8485,0,0,0,0,100,0), +(@PATH,17,1951.392,-4409.454,116.6469,0,0,0,0,100,0), +(@PATH,18,1949.12,-4427.942,114.229,0,0,0,0,100,0), +(@PATH,19,1944.638,-4446.903,111.9787,0,0,0,0,100,0), +(@PATH,20,1937.552,-4465.993,110.0087,0,0,0,0,100,0), +(@PATH,21,1925.565,-4482.845,108.2043,0,0,0,0,100,0), +(@PATH,22,1912.332,-4496.136,107.1636,0,0,0,0,100,0), +(@PATH,23,1897.506,-4507.985,106.8793,0,0,0,0,100,0), +(@PATH,24,1881.884,-4519.595,107.0125,0,0,0,0,100,0), +(@PATH,25,1864.594,-4529.744,106.943,0,0,0,0,100,0), +(@PATH,26,1846.272,-4537.363,106.5945,0,0,0,0,100,0), +(@PATH,27,1826.524,-4541.63,106.3038,0,0,0,0,100,0), +(@PATH,28,1806.477,-4541.843,106.1006,0,0,0,0,100,0), +(@PATH,29,1786.435,-4538.217,106.1396,0,0,0,0,100,0), +(@PATH,30,1767.084,-4528.427,105.936,0,0,0,0,100,0), +(@PATH,31,1752.535,-4516.355,105.5038,0,0,0,0,100,0), +(@PATH,32,1738.496,-4508.19,105.9019,0,0,0,0,100,0), +(@PATH,33,1726.097,-4505.763,108.0605,0,0,0,0,100,0), +(@PATH,34,1713.973,-4510.533,108.0363,0,0,0,0,100,0), +(@PATH,35,1707.527,-4519.758,107.9116,0,0,0,0,100,0), +(@PATH,36,1708.649,-4529.286,108.8271,0,0,0,0,100,0), +(@PATH,37,1717.73,-4535.468,110.8898,0,0,0,0,100,0), +(@PATH,38,1735.099,-4542.322,113.7331,0,0,0,0,100,0), +(@PATH,39,1744.455,-4546.032,115.5387,0,0,0,0,100,0), +(@PATH,40,1767.765,-4554.515,118.6557,0,0,0,0,100,0), +(@PATH,41,1782.335,-4555.451,120.5992,0,0,0,0,100,0), +(@PATH,42,1799.186,-4553.248,121.4981,0,0,0,0,100,0), +(@PATH,43,1817.777,-4549.193,121.4107,0,0,0,0,100,0), +(@PATH,44,1837.463,-4546.765,120.8337,0,0,0,0,100,0), +(@PATH,45,1857.404,-4546.974,119.6974,0,0,0,0,100,0), +(@PATH,46,1877.712,-4552.726,117.6969,0,0,0,0,100,0), +(@PATH,47,1895.652,-4563.852,115.1779,0,0,0,0,100,0), +(@PATH,48,1908.9,-4574.855,112.4627,0,0,0,0,100,0), +(@PATH,49,1920.992,-4580.644,109.1501,0,0,0,0,100,0), +(@PATH,50,1936.721,-4582.809,105.1895,0,0,0,0,100,0), +(@PATH,51,1952.357,-4580.941,101.9664,0,0,0,0,100,0), +(@PATH,52,1966.249,-4575.677,100.6484,0,0,0,0,100,0), +(@PATH,53,1979.888,-4565.699,100.9134,0,0,0,0,100,0), +(@PATH,54,1992.121,-4554.174,101.5216,0,0,0,0,100,0), +(@PATH,55,2004.498,-4540.778,102.9756,0,0,0,0,100,0), +(@PATH,56,2015.598,-4527.351,105.0364,0,0,0,0,100,0), +(@PATH,57,2024.328,-4513.858,107.2172,0,0,0,0,100,0), +(@PATH,58,2033.161,-4497.864,108.5765,0,0,0,0,100,0), +(@PATH,59,2041.593,-4481.994,109.7591,0,0,0,0,100,0), +(@PATH,60,2049.304,-4466.047,110.514,0,0,0,0,100,0), +(@PATH,61,2056.344,-4449.665,110.4499,0,0,0,0,100,0), +(@PATH,62,2062.734,-4432.895,113.1039,0,0,0,0,100,0), +(@PATH,63,2068.121,-4416.631,118.1264,0,0,0,0,100,0), +(@PATH,64,2071.593,-4400.654,122.4922,0,0,0,0,100,0), +(@PATH,65,2073.321,-4384.095,127.1755,0,0,0,0,100,0), +(@PATH,66,2073.756,-4367.256,133.2768,0,0,0,0,100,0), +(@PATH,67,2073.211,-4350.749,139.8226,0,0,0,0,100,0), +(@PATH,68,2071.648,-4335.55,146.7975,0,0,0,0,100,0), +(@PATH,69,2068.221,-4320.453,154.6145,0,0,0,0,100,0), +(@PATH,70,2063.41,-4304.71,162.3728,0,0,0,0,100,0), +(@PATH,71,2057.478,-4288.737,166.9085,0,0,0,0,100,0), +(@PATH,72,2050.302,-4272.94,167.5631,0,0,0,0,100,0), +(@PATH,73,2042.437,-4258.701,162.4632,0,0,0,0,100,0), +(@PATH,74,2033.77,-4245.15,153.701,0,0,0,0,100,0), +(@PATH,75,2025.198,-4234.163,143.13,0,0,0,0,100,0), +(@PATH,76,2016.179,-4224.923,130.5518,0,0,0,0,100,0), +(@PATH,77,2005.462,-4215.757,119.3923,0,0,0,0,100,0), +(@PATH,78,1993.986,-4208.205,110.6679,0,0,0,0,100,0), +(@PATH,79,1980.92,-4203.697,103.6423,0,0,0,0,100,0), +(@PATH,80,1964.031,-4200.561,100.1602,0,0,0,0,100,0), +(@PATH,81,1947.91,-4199.841,99.29764,0,0,0,0,100,0); + +-- 8. +DELETE FROM `creature_formations` WHERE `leaderGUID`=286840; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(286840, 286840, 0, 0, 2, 0, 0), +(286840, 286841, 6, 90, 2, 0, 0), +(286840, 286839, 6, 270, 2, 0, 0); + +SET @NPC := 286840; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1502.716,`position_y`=-4240.965,`position_z`=145.6398 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1502.716,`position_y`=-4240.965,`position_z`=145.6398 WHERE `guid` IN (286841, 286839); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1502.716,-4240.965,145.6398,0,0,0,0,100,0), +(@PATH,2,1521.766,-4229.916,141.0763,0,0,0,0,100,0), +(@PATH,3,1545.081,-4231.815,135.5507,0,0,0,0,100,0), +(@PATH,4,1563.346,-4243.645,129.5311,0,0,0,0,100,0), +(@PATH,5,1573.269,-4262.555,124.0921,0,0,0,0,100,0), +(@PATH,6,1576.224,-4284.094,120.4005,0,0,0,0,100,0), +(@PATH,7,1570.207,-4305.087,119.0906,0,0,0,0,100,0), +(@PATH,8,1559.188,-4322.599,119.3613,0,0,0,0,100,0), +(@PATH,9,1545.175,-4337.73,120.4396,0,0,0,0,100,0), +(@PATH,10,1524.104,-4346.338,122.4728,0,0,0,0,100,0), +(@PATH,11,1503.495,-4348.131,124.1845,0,0,0,0,100,0), +(@PATH,12,1481.973,-4342.198,123.7066,0,0,0,0,100,0), +(@PATH,13,1468.231,-4334.629,121.768,0,0,0,0,100,0), +(@PATH,14,1454.794,-4333.293,119.0893,0,0,0,0,100,0), +(@PATH,15,1447.411,-4338.956,117.3361,0,0,0,0,100,0), +(@PATH,16,1446.31,-4340.785,117.1032,0,0,0,0,100,0), +(@PATH,17,1436.816,-4370.514,114.6013,0,0,0,0,100,0), +(@PATH,18,1432.841,-4387.51,113.1745,0,0,0,0,100,0), +(@PATH,19,1431.701,-4403.535,112.0783,0,0,0,0,100,0), +(@PATH,20,1433.492,-4420.227,111.5698,0,0,0,0,100,0), +(@PATH,21,1438.619,-4434.499,111.1867,0,0,0,0,100,0), +(@PATH,22,1510.604,-4450.885,114.1283,0,0,0,0,100,0), +(@PATH,23,1529.034,-4456.004,116.4663,0,0,0,0,100,0), +(@PATH,24,1548.209,-4462.812,119.3373,0,0,0,0,100,0), +(@PATH,25,1565.712,-4469.323,122.161,0,0,0,0,100,0), +(@PATH,26,1581.662,-4474.407,124.8381,0,0,0,0,100,0), +(@PATH,27,1598.054,-4478.258,127.9857,0,0,0,0,100,0), +(@PATH,28,1614.608,-4481.175,130.5697,0,0,0,0,100,0), +(@PATH,29,1632.461,-4484.498,133.0226,0,0,0,0,100,0), +(@PATH,30,1649.25,-4486.296,134.6477,0,0,0,0,100,0), +(@PATH,31,1666.103,-4484.893,134.2528,0,0,0,0,100,0), +(@PATH,32,1682.979,-4481.126,132.6382,0,0,0,0,100,0), +(@PATH,33,1698.579,-4475.7,131.3756,0,0,0,0,100,0), +(@PATH,34,1711.682,-4467.347,130.5376,0,0,0,0,100,0), +(@PATH,35,1723.328,-4456.544,130.3224,0,0,0,0,100,0), +(@PATH,36,1728.529,-4444.683,130.6103,0,0,0,0,100,0), +(@PATH,37,1728.302,-4431.08,131.018,0,0,0,0,100,0), +(@PATH,38,1722.222,-4416.401,130.8934,0,0,0,0,100,0), +(@PATH,39,1713.429,-4403.267,129.0098,0,0,0,0,100,0), +(@PATH,40,1702.001,-4391.354,127.2167,0,0,0,0,100,0), +(@PATH,41,1688.388,-4380.945,126.0762,0,0,0,0,100,0), +(@PATH,42,1673.425,-4370.66,125.4516,0,0,0,0,100,0), +(@PATH,43,1658.53,-4360.935,125.2306,0,0,0,0,100,0), +(@PATH,44,1643.211,-4352.356,125.62,0,0,0,0,100,0), +(@PATH,45,1627.278,-4345.106,126.6703,0,0,0,0,100,0), +(@PATH,46,1610.744,-4338.946,128.3904,0,0,0,0,100,0), +(@PATH,47,1593.601,-4334.221,131.1824,0,0,0,0,100,0), +(@PATH,48,1576.339,-4330.934,134.6862,0,0,0,0,100,0), +(@PATH,49,1560.145,-4329.077,138.0405,0,0,0,0,100,0), +(@PATH,50,1541.687,-4328.51,141.218,0,0,0,0,100,0), +(@PATH,51,1521.748,-4322.381,144.0511,0,0,0,0,100,0), +(@PATH,52,1504.034,-4312.254,146.3996,0,0,0,0,100,0), +(@PATH,53,1489.946,-4293.953,148.1813,0,0,0,0,100,0), +(@PATH,54,1488.496,-4270.528,148.5301,0,0,0,0,100,0), +(@PATH,55,1495.272,-4250.421,147.2183,0,0,0,0,100,0); + +-- 9. + +DELETE FROM `creature_formations` WHERE `leaderGUID`=310949; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(310949, 310949, 0, 0, 2, 0, 0), +(310949, 310948, 6, 90, 2, 0, 0), +(310949, 310950, 6, 270, 2, 0, 0); + +SET @NPC := 310949; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1782.49,`position_y`=-3924.35,`position_z`=161.7631 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1782.49,`position_y`=-3924.35,`position_z`=161.7631 WHERE `guid` IN (310948,310950); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1782.49,-3924.35,161.7631,0,0,0,0,100,0), +(@PATH,2,1794.615,-3930.264,162.2107,0,0,0,0,100,0), +(@PATH,3,1805.522,-3939.2,162.5445,0,0,0,0,100,0), +(@PATH,4,1814.109,-3950.02,162.6255,0,0,0,0,100,0), +(@PATH,5,1819.634,-3964.029,162.2112,0,0,0,0,100,0), +(@PATH,6,1821.767,-3976.814,161.4032,0,0,0,0,100,0), +(@PATH,7,1823.256,-3989.302,160.1567,0,0,0,0,100,0), +(@PATH,8,1823.344,-3996.523,159.1215,0,0,0,0,100,0), +(@PATH,9,1822.35,-4013.035,156.407,0,0,0,0,100,0), +(@PATH,10,1821.569,-4024.022,154.3276,0,0,0,0,100,0), +(@PATH,11,1820.607,-4035.974,152.0726,0,0,0,0,100,0), +(@PATH,12,1819.253,-4047.867,149.8837,0,0,0,0,100,0), +(@PATH,13,1817.653,-4059.764,147.6697,0,0,0,0,100,0), +(@PATH,14,1816.078,-4071.278,145.5203,0,0,0,0,100,0), +(@PATH,15,1814.492,-4083.109,143.3595,0,0,0,0,100,0), +(@PATH,16,1813.034,-4094.187,141.3412,0,0,0,0,100,0), +(@PATH,17,1811.869,-4105.119,139.3237,0,0,0,0,100,0), +(@PATH,18,1811.04,-4116.399,137.2942,0,0,0,0,100,0), +(@PATH,19,1810.057,-4128.018,135.3994,0,0,0,0,100,0), +(@PATH,20,1809.026,-4139.601,133.7306,0,0,0,0,100,0), +(@PATH,21,1807.282,-4151.96,132.0467,0,0,0,0,100,0), +(@PATH,22,1804.545,-4163.88,130.183,0,0,0,0,100,0), +(@PATH,23,1800.83,-4175.986,128.2061,0,0,0,0,100,0), +(@PATH,24,1795.765,-4187.718,126.1428,0,0,0,0,100,0), +(@PATH,25,1789.341,-4198.814,123.8942,0,0,0,0,100,0), +(@PATH,26,1781.749,-4208.825,122.5092,0,0,0,0,100,0), +(@PATH,27,1772.541,-4218.223,122.2516,0,0,0,0,100,0), +(@PATH,28,1760.82,-4225.95,123.1252,0,0,0,0,100,0), +(@PATH,29,1748.384,-4230.843,125.131,0,0,0,0,100,0), +(@PATH,30,1734.841,-4233.412,127.6087,0,0,0,0,100,0), +(@PATH,31,1720.987,-4232.403,129.9933,0,0,0,0,100,0), +(@PATH,32,1707.399,-4227.351,132.5653,0,0,0,0,100,0), +(@PATH,33,1696.353,-4218.671,135.5142,0,0,0,0,100,0), +(@PATH,34,1687.908,-4208.504,138.8237,0,0,0,0,100,0), +(@PATH,35,1681.215,-4199.081,141.7039,0,0,0,0,100,0), +(@PATH,36,1674.81,-4188.451,143.8387,0,0,0,0,100,0), +(@PATH,37,1669.814,-4177.183,145.5393,0,0,0,0,100,0), +(@PATH,38,1665.539,-4166.708,147.2283,0,0,0,0,100,0), +(@PATH,39,1661.035,-4155.234,149.092,0,0,0,0,100,0), +(@PATH,40,1656.545,-4144.633,150.6522,0,0,0,0,100,0), +(@PATH,41,1651.291,-4134.366,151.5647,0,0,0,0,100,0), +(@PATH,42,1645.717,-4125.248,151.6956,0,0,0,0,100,0), +(@PATH,43,1639.824,-4118.122,151.5813,0,0,0,0,100,0), +(@PATH,44,1632.568,-4112.105,151.3904,0,0,0,0,100,0), +(@PATH,45,1624.246,-4108.173,150.5881,0,0,0,0,100,0), +(@PATH,46,1616.239,-4105.823,149.2457,0,0,0,0,100,0), +(@PATH,47,1606.571,-4105.216,147.3423,0,0,0,0,100,0), +(@PATH,48,1596.181,-4106.263,145.7002,0,0,0,0,100,0), +(@PATH,49,1585.595,-4108.025,144.1347,0,0,0,0,100,0), +(@PATH,50,1573.769,-4110.471,142.4232,0,0,0,0,100,0), +(@PATH,51,1561.757,-4113.431,140.7244,0,0,0,0,100,0), +(@PATH,52,1551.067,-4116.589,139.2582,0,0,0,0,100,0), +(@PATH,53,1540.059,-4120.447,137.8842,0,0,0,0,100,0), +(@PATH,54,1529.393,-4124.763,136.6354,0,0,0,0,100,0), +(@PATH,55,1519.564,-4129.475,135.5119,0,0,0,0,100,0), +(@PATH,56,1510.97,-4134.532,134.5002,0,0,0,0,100,0), +(@PATH,57,1511.471,-4211.023,133.0304,0,0,0,0,100,0), +(@PATH,58,1520.297,-4216.17,131.5602,0,0,0,0,100,0), +(@PATH,59,1529.923,-4220.291,129.6511,0,0,0,0,100,0), +(@PATH,60,1539.637,-4223.272,127.8224,0,0,0,0,100,0), +(@PATH,61,1549.837,-4224.956,125.8669,0,0,0,0,100,0), +(@PATH,62,1560.925,-4225.85,124.0003,0,0,0,0,100,0), +(@PATH,63,1572.205,-4226.376,122.5518,0,0,0,0,100,0), +(@PATH,64,1583.631,-4226.253,121.4491,0,0,0,0,100,0), +(@PATH,65,1595.088,-4225.796,120.686,0,0,0,0,100,0), +(@PATH,66,1607.112,-4225.413,120.1906,0,0,0,0,100,0), +(@PATH,67,1618.298,-4224.938,120.1016,0,0,0,0,100,0), +(@PATH,68,1628.405,-4223.525,121.1098,0,0,0,0,100,0), +(@PATH,69,1638.406,-4220.944,123.5405,0,0,0,0,100,0), +(@PATH,70,1647.107,-4217.338,126.8946,0,0,0,0,100,0), +(@PATH,71,1655.392,-4212.341,131.4094,0,0,0,0,100,0), +(@PATH,72,1661.444,-4206.973,136.0719,0,0,0,0,100,0), +(@PATH,73,1664.806,-4200.668,139.8007,0,0,0,0,100,0), +(@PATH,74,1666.757,-4191.302,142.9762,0,0,0,0,100,0), +(@PATH,75,1667.16,-4182.498,146.2831,0,0,0,0,100,0), +(@PATH,76,1665.696,-4172.579,148.7019,0,0,0,0,100,0), +(@PATH,77,1662.821,-4163.579,149.0816,0,0,0,0,100,0), +(@PATH,78,1658.465,-4152.605,148.7118,0,0,0,0,100,0), +(@PATH,79,1654.092,-4141.396,148.2908,0,0,0,0,100,0), +(@PATH,80,1649.607,-4130.683,147.6877,0,0,0,0,100,0), +(@PATH,81,1644.864,-4118.967,147.0466,0,0,0,0,100,0), +(@PATH,82,1640.849,-4106.851,146.6917,0,0,0,0,100,0), +(@PATH,83,1637.954,-4094.115,146.8069,0,0,0,0,100,0), +(@PATH,84,1636.319,-4081.77,147.2816,0,0,0,0,100,0), +(@PATH,85,1636.172,-4068.982,148.0928,0,0,0,0,100,0), +(@PATH,86,1637.581,-4056.533,149.2318,0,0,0,0,100,0), +(@PATH,87,1640.186,-4044.125,150.7211,0,0,0,0,100,0), +(@PATH,88,1643.415,-4032.162,152.2013,0,0,0,0,100,0), +(@PATH,89,1647.013,-4020.59,153.3602,0,0,0,0,100,0), +(@PATH,90,1651.505,-4008.7,154.246,0,0,0,0,100,0), +(@PATH,91,1656.385,-3997.713,154.9447,0,0,0,0,100,0), +(@PATH,92,1661.678,-3987.166,155.6336,0,0,0,0,100,0), +(@PATH,93,1668.206,-3976.164,156.3449,0,0,0,0,100,0); + +-- 10. +DELETE FROM `creature_formations` WHERE `leaderGUID`=286881; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(286881, 286881, 0, 0, 2, 0, 0), +(286881, 286880, 6, 90, 2, 0, 0), +(286881, 286882, 6, 270, 2, 0, 0); + +SET @NPC := 286881; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1954.547,`position_y`=-4234.702,`position_z`=124.1495 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1954.547,`position_y`=-4234.702,`position_z`=124.1495 WHERE `guid` IN (286880,286882); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1954.547,-4234.702,124.1495,0,0,0,0,100,0), +(@PATH,2,1938.731,-4222.536,124.6159,0,0,0,0,100,0), +(@PATH,3,1919.533,-4212.465,124.177,0,0,0,0,100,0), +(@PATH,4,1895.385,-4214,122.6989,0,0,0,0,100,0), +(@PATH,5,1876.938,-4224.779,120.3522,0,0,0,0,100,0), +(@PATH,6,1866.533,-4234.044,117.2119,0,0,0,0,100,0), +(@PATH,7,1852.104,-4234.643,113.6671,0,0,0,0,100,0), +(@PATH,8,1836.024,-4232.125,110.88,0,0,0,0,100,0), +(@PATH,9,1819.479,-4227.296,109.4104,0,0,0,0,100,0), +(@PATH,10,1802.794,-4221.022,109.1513,0,0,0,0,100,0), +(@PATH,11,1785.994,-4213.458,109.7092,0,0,0,0,100,0), +(@PATH,12,1766.929,-4208.049,110.8175,0,0,0,0,100,0), +(@PATH,13,1746.482,-4205.335,112.2132,0,0,0,0,100,0), +(@PATH,14,1726.945,-4206.582,113.5684,0,0,0,0,100,0), +(@PATH,15,1707.069,-4211.39,114.7465,0,0,0,0,100,0), +(@PATH,16,1688.293,-4219.502,115.4038,0,0,0,0,100,0), +(@PATH,17,1671.592,-4229.898,115.8248,0,0,0,0,100,0), +(@PATH,18,1657.341,-4247.639,116.0683,0,0,0,0,100,0), +(@PATH,19,1651.852,-4267.857,115.8455,0,0,0,0,100,0), +(@PATH,20,1653.63,-4289.913,115.2588,0,0,0,0,100,0), +(@PATH,21,1661.335,-4309.284,114.4485,0,0,0,0,100,0), +(@PATH,22,1672.424,-4326.894,113.238,0,0,0,0,100,0), +(@PATH,23,1680.395,-4339.328,111.3261,0,0,0,0,100,0), +(@PATH,24,1685.079,-4353.114,109.4104,0,0,0,0,100,0), +(@PATH,25,1683.144,-4367.714,109.1087,0,0,0,0,100,0), +(@PATH,26,1677.937,-4384.193,110.3666,0,0,0,0,100,0), +(@PATH,27,1670.855,-4399.245,112.5851,0,0,0,0,100,0), +(@PATH,28,1661.452,-4412.03,114.6408,0,0,0,0,100,0), +(@PATH,29,1649.163,-4423.056,115.8343,0,0,0,0,100,0), +(@PATH,30,1633.621,-4433.305,115.833,0,0,0,0,100,0), +(@PATH,31,1620.871,-4439.209,115.6198,0,0,0,0,100,0), +(@PATH,32,1611.992,-4438.751,115.4828,0,0,0,0,100,0), +(@PATH,33,1589.736,-4436.129,116.2584,0,0,0,0,100,0), +(@PATH,34,1575.32,-4430.159,116.4765,0,0,0,0,100,0), +(@PATH,35,1567.388,-4420.016,116.511,0,0,0,0,100,0), +(@PATH,36,1560.802,-4404.041,116.404,0,0,0,0,100,0), +(@PATH,37,1557.368,-4388.695,116.1834,0,0,0,0,100,0), +(@PATH,38,1559.424,-4375.208,115.5816,0,0,0,0,100,0), +(@PATH,39,1566.398,-4360.625,114.4203,0,0,0,0,100,0), +(@PATH,40,1576.59,-4345.86,112.7528,0,0,0,0,100,0), +(@PATH,41,1587.612,-4331.081,111.0801,0,0,0,0,100,0), +(@PATH,42,1598.586,-4317.407,109.5039,0,0,0,0,100,0), +(@PATH,43,1609.89,-4303.618,107.9324,0,0,0,0,100,0), +(@PATH,44,1621.851,-4289.64,106.7583,0,0,0,0,100,0), +(@PATH,45,1633.929,-4276.34,107.0436,0,0,0,0,100,0), +(@PATH,46,1646.417,-4263.521,107.8411,0,0,0,0,100,0), +(@PATH,47,1659.544,-4251.433,108.543,0,0,0,0,100,0), +(@PATH,48,1672.973,-4240.702,109.2773,0,0,0,0,100,0), +(@PATH,49,1687.775,-4231.006,110.0295,0,0,0,0,100,0), +(@PATH,50,1702.921,-4223.103,110.6569,0,0,0,0,100,0), +(@PATH,51,1718.936,-4218.556,110.7521,0,0,0,0,100,0), +(@PATH,52,1735.746,-4216.64,110.2329,0,0,0,0,100,0), +(@PATH,53,1752.657,-4216.599,108.4848,0,0,0,0,100,0), +(@PATH,54,1769.614,-4218.347,106.0527,0,0,0,0,100,0), +(@PATH,55,1785.691,-4221.831,103.2465,0,0,0,0,100,0), +(@PATH,56,1801.018,-4227.316,100.5446,0,0,0,0,100,0), +(@PATH,57,1817.06,-4234.363,98.36078,0,0,0,0,100,0), +(@PATH,58,1832.369,-4242.525,96.1289,0,0,0,0,100,0), +(@PATH,59,1844.78,-4253.133,93.64021,0,0,0,0,100,0), +(@PATH,60,1855.947,-4266.039,91.12543,0,0,0,0,100,0), +(@PATH,61,1863.85,-4279.255,89.65752,0,0,0,0,100,0), +(@PATH,62,1869.337,-4296.27,89.45457,0,0,0,0,100,0), +(@PATH,63,1877.801,-4314.619,90.4335,0,0,0,0,100,0), +(@PATH,64,1888.224,-4330.828,92.54515,0,0,0,0,100,0), +(@PATH,65,1903.605,-4345.586,95.40073,0,0,0,0,100,0), +(@PATH,66,1922.573,-4354.502,99.31542,0,0,0,0,100,0), +(@PATH,67,1945.698,-4352.438,103.8368,0,0,0,0,100,0), +(@PATH,68,1963.934,-4340.752,108.3923,0,0,0,0,100,0), +(@PATH,69,1976.774,-4323.534,112.2477,0,0,0,0,100,0), +(@PATH,70,1983.794,-4304.261,115.6078,0,0,0,0,100,0), +(@PATH,71,1983.818,-4282.431,118.565,0,0,0,0,100,0), +(@PATH,72,1976.171,-4262.901,121.0682,0,0,0,0,100,0), +(@PATH,73,1965.106,-4246.208,123.0572,0,0,0,0,100,0); + +-- 11. +DELETE FROM `creature_formations` WHERE `leaderGUID`=304146; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(304146, 304146, 0, 0, 2, 0, 0), +(304146, 304145, 6, 90, 2, 0, 0), +(304146, 304144, 6, 270, 2, 0, 0); + +SET @NPC := 304146; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1791.164,`position_y`=-4047.381,`position_z`=163.5226 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1791.164,`position_y`=-4047.381,`position_z`=163.5226 WHERE `guid` IN (304145,304144); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1791.164,-4047.381,163.5226,0,0,0,0,100,0), +(@PATH,2,1796.218,-4031.665,166.3797,0,0,0,0,100,0), +(@PATH,3,1800.952,-4013.518,169.6719,0,0,0,0,100,0), +(@PATH,4,1803.749,-3993.092,173.4559,0,0,0,0,100,0), +(@PATH,5,1803.008,-3971.102,177.6935,0,0,0,0,100,0), +(@PATH,6,1800.251,-3952.967,181.5564,0,0,0,0,100,0), +(@PATH,7,1796.269,-3932.905,185.9146,0,0,0,0,100,0), +(@PATH,8,1790.943,-3911.934,190.5192,0,0,0,0,100,0), +(@PATH,9,1784.228,-3891.916,194.9351,0,0,0,0,100,0), +(@PATH,10,1775.903,-3874.543,198.7298,0,0,0,0,100,0), +(@PATH,11,1764.839,-3861.119,201.5043,0,0,0,0,100,0), +(@PATH,12,1745.044,-3853.358,203.3846,0,0,0,0,100,0), +(@PATH,13,1621.83,-3966.715,195.7863,0,0,0,0,100,0), +(@PATH,14,1634.631,-3983.975,192.0398,0,0,0,0,100,0), +(@PATH,15,1645.231,-3997.282,188.4355,0,0,0,0,100,0), +(@PATH,16,1653.785,-4013.945,184.6452,0,0,0,0,100,0), +(@PATH,17,1660.204,-4028.969,181.2208,0,0,0,0,100,0), +(@PATH,18,1661.558,-4034.377,179.9276,0,0,0,0,100,0), +(@PATH,19,1657.634,-4055.121,176.0111,0,0,0,0,100,0), +(@PATH,20,1647.564,-4066.465,173.3674,0,0,0,0,100,0), +(@PATH,21,1633.951,-4077.444,170.2001,0,0,0,0,100,0), +(@PATH,22,1619.941,-4084.887,165.6421,0,0,0,0,100,0), +(@PATH,23,1603.974,-4092.245,160.9831,0,0,0,0,100,0), +(@PATH,24,1585.698,-4101.966,156.4931,0,0,0,0,100,0), +(@PATH,25,1589.997,-4248.205,138.498,0,0,0,0,100,0), +(@PATH,26,1597.295,-4264.284,136.7392,0,0,0,0,100,0), +(@PATH,27,1603.667,-4281.062,135.2466,0,0,0,0,100,0), +(@PATH,28,1607.494,-4297.545,133.6204,0,0,0,0,100,0), +(@PATH,29,1605.276,-4309.903,131.971,0,0,0,0,100,0), +(@PATH,30,1595.974,-4324.494,130.0394,0,0,0,0,100,0), +(@PATH,31,1583.835,-4338.783,128.5802,0,0,0,0,100,0), +(@PATH,32,1572.195,-4350.58,129.1572,0,0,0,0,100,0), +(@PATH,33,1558.999,-4357.677,132.9003,0,0,0,0,100,0), +(@PATH,34,1544.339,-4364.787,137.6578,0,0,0,0,100,0), +(@PATH,35,1530.304,-4367.112,141.7922,0,0,0,0,100,0), +(@PATH,36,1513.679,-4366.579,145.3613,0,0,0,0,100,0), +(@PATH,37,1494.094,-4365.717,147.7929,0,0,0,0,100,0), +(@PATH,38,1475.913,-4364.107,149.2123,0,0,0,0,100,0), +(@PATH,39,1455.206,-4362.637,150.1821,0,0,0,0,100,0), +(@PATH,40,1435.142,-4363.744,150.2197,0,0,0,0,100,0), +(@PATH,41,1414.539,-4370.334,148.0383,0,0,0,0,100,0), +(@PATH,42,1396.389,-4382.087,144.2717,0,0,0,0,100,0), +(@PATH,43,1384.842,-4399.914,141.8136,0,0,0,0,100,0), +(@PATH,44,1382.475,-4421.819,141.1265,0,0,0,0,100,0), +(@PATH,45,1478.154,-4468.025,143.0791,0,0,0,0,100,0), +(@PATH,46,1493.763,-4461.798,143.0144,0,0,0,0,100,0), +(@PATH,47,1510.166,-4457.322,141.7738,0,0,0,0,100,0), +(@PATH,48,1528.443,-4453.521,140.3201,0,0,0,0,100,0), +(@PATH,49,1544.797,-4450.876,139.034,0,0,0,0,100,0), +(@PATH,50,1562.82,-4448.512,137.7038,0,0,0,0,100,0), +(@PATH,51,1582.761,-4446.183,137.6434,0,0,0,0,100,0), +(@PATH,52,1600.271,-4444.506,139.045,0,0,0,0,100,0), +(@PATH,53,1619.606,-4443.109,141.3056,0,0,0,0,100,0), +(@PATH,54,1639.214,-4441.48,144.2609,0,0,0,0,100,0), +(@PATH,55,1657.649,-4439.066,147.8115,0,0,0,0,100,0), +(@PATH,56,1676.482,-4435.371,153.3135,0,0,0,0,100,0), +(@PATH,57,1694.668,-4430.645,160.4203,0,0,0,0,100,0), +(@PATH,58,1711.401,-4421.387,167.6144,0,0,0,0,100,0), +(@PATH,59,1723.658,-4406.227,173.7595,0,0,0,0,100,0), +(@PATH,60,1731.781,-4387.549,179.7368,0,0,0,0,100,0), +(@PATH,61,1736.594,-4367,185.1796,0,0,0,0,100,0), +(@PATH,62,1737.088,-4346.997,189.1641,0,0,0,0,100,0), +(@PATH,63,1731.531,-4326.529,191.9673,0,0,0,0,100,0), +(@PATH,64,1722.669,-4308.128,193.3809,0,0,0,0,100,0), +(@PATH,65,1712.675,-4291.575,193.0801,0,0,0,0,100,0), +(@PATH,66,1698.438,-4276.086,189.6956,0,0,0,0,100,0), +(@PATH,67,1685.615,-4265.158,184.3505,0,0,0,0,100,0), +(@PATH,68,1672.95,-4254.187,176.6221,0,0,0,0,100,0), +(@PATH,69,1659.988,-4243.784,167.6225,0,0,0,0,100,0), +(@PATH,70,1645.701,-4232.896,160.7243,0,0,0,0,100,0), +(@PATH,71,1630.688,-4221.482,153.8185,0,0,0,0,100,0), +(@PATH,72,1620.927,-4211.261,148.9949,0,0,0,0,100,0), +(@PATH,73,1614.485,-4196.701,146.7963,0,0,0,0,100,0), +(@PATH,74,1613.337,-4183.714,147.0635,0,0,0,0,100,0), +(@PATH,75,1619.386,-4171.917,150.0361,0,0,0,0,100,0), +(@PATH,76,1629.952,-4161.554,153.0461,0,0,0,0,100,0), +(@PATH,77,1645.151,-4153.147,155.631,0,0,0,0,100,0), +(@PATH,78,1660.821,-4145.302,158.1813,0,0,0,0,100,0), +(@PATH,79,1677.75,-4137.908,160.1336,0,0,0,0,100,0), +(@PATH,80,1693.688,-4132.823,158.4026,0,0,0,0,100,0), +(@PATH,81,1712.224,-4128.033,154.4047,0,0,0,0,100,0), +(@PATH,82,1730.092,-4120.557,153.3734,0,0,0,0,100,0), +(@PATH,83,1747.71,-4111.278,154.3697,0,0,0,0,100,0), +(@PATH,84,1764.086,-4097.786,156.1356,0,0,0,0,100,0), +(@PATH,85,1775.402,-4083.184,157.9884,0,0,0,0,100,0), +(@PATH,86,1784.723,-4065.444,160.5013,0,0,0,0,100,0), +(@PATH,87,1791.437,-4046.544,163.6766,0,0,0,0,100,0), +(@PATH,88,1796.566,-4030.513,166.5879,0,0,0,0,100,0), +(@PATH,89,1801.192,-4012.352,169.8851,0,0,0,0,100,0), +(@PATH,90,1803.823,-3991.704,173.7173,0,0,0,0,100,0), +(@PATH,91,1802.859,-3969.946,177.9357,0,0,0,0,100,0); + +-- 12. +DELETE FROM `creature_formations` WHERE `leaderGUID`=311106; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(311106, 311106, 0, 0, 2, 0, 0), +(311106, 311107, 6, 90, 2, 0, 0), +(311106, 311104, 6, 270, 2, 0, 0); + +SET @NPC := 311106; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1697.098,`position_y`=-4390.057,`position_z`=110.2293 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=1697.098,`position_y`=-4390.057,`position_z`=110.2293 WHERE `guid` IN (311107,311104); +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,17719,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,1697.098,-4390.057,110.2293,0,0,0,0,100,0), +(@PATH,2,1688.756,-4408.252,112.4431,0,0,0,0,100,0), +(@PATH,3,1677.299,-4424.309,114.4888,0,0,0,0,100,0), +(@PATH,4,1662.421,-4438.106,115.8006,0,0,0,0,100,0), +(@PATH,5,1645.054,-4449.778,115.8482,0,0,0,0,100,0), +(@PATH,6,1625.73,-4458.661,115.6599,0,0,0,0,100,0), +(@PATH,7,1611.918,-4458.752,115.4833,0,0,0,0,100,0), +(@PATH,8,1611.918,-4458.752,115.4833,0,0,0,0,100,0), +(@PATH,9,1565.85,-4447.839,116.4646,0,0,0,0,100,0), +(@PATH,10,1550.472,-4430.803,116.5146,0,0,0,0,100,0), +(@PATH,11,1542.495,-4412.264,116.4163,0,0,0,0,100,0), +(@PATH,12,1537.559,-4391.925,116.2197,0,0,0,0,100,0), +(@PATH,13,1539.805,-4370.872,115.6662,0,0,0,0,100,0), +(@PATH,14,1548.302,-4351.927,114.5623,0,0,0,0,100,0), +(@PATH,15,1559.357,-4335.533,112.9272,0,0,0,0,100,0), +(@PATH,16,1570.618,-4320.385,111.2405,0,0,0,0,100,0), +(@PATH,17,1581.968,-4306.128,109.659,0,0,0,0,100,0), +(@PATH,18,1593.274,-4292.332,108.1045,0,0,0,0,100,0), +(@PATH,19,1605.444,-4277.993,106.8167,0,0,0,0,100,0), +(@PATH,20,1617.835,-4264.283,106.9656,0,0,0,0,100,0), +(@PATH,21,1631.234,-4250.388,107.7713,0,0,0,0,100,0), +(@PATH,22,1645.151,-4237.457,108.4792,0,0,0,0,100,0), +(@PATH,23,1659.894,-4225.478,109.212,0,0,0,0,100,0), +(@PATH,24,1676.042,-4214.731,109.9629,0,0,0,0,100,0), +(@PATH,25,1693.436,-4205.419,110.6195,0,0,0,0,100,0), +(@PATH,26,1713.477,-4199.217,110.7672,0,0,0,0,100,0), +(@PATH,27,1732.214,-4196.871,110.3262,0,0,0,0,100,0), +(@PATH,28,1752.193,-4196.528,108.6993,0,0,0,0,100,0), +(@PATH,29,1772.854,-4198.609,106.0112,0,0,0,0,100,0), +(@PATH,30,1791.319,-4202.637,103.2072,0,0,0,0,100,0), +(@PATH,31,1809.205,-4209.068,100.5155,0,0,0,0,100,0), +(@PATH,32,1826.464,-4216.669,98.21891,0,0,0,0,100,0), +(@PATH,33,1844.653,-4226.695,95.97742,0,0,0,0,100,0), +(@PATH,34,1859.821,-4239.905,93.4817,0,0,0,0,100,0), +(@PATH,35,1872.763,-4255.135,90.97318,0,0,0,0,100,0), +(@PATH,36,1882.969,-4273.238,89.60306,0,0,0,0,100,0), +(@PATH,37,1888.627,-4290.87,89.47735,0,0,0,0,100,0), +(@PATH,38,1895.925,-4306.064,90.55748,0,0,0,0,100,0), +(@PATH,39,1904.6,-4319.286,92.70146,0,0,0,0,100,0), +(@PATH,40,1915.564,-4329.522,95.60627,0,0,0,0,100,0), +(@PATH,41,1928.245,-4335.308,99.52489,0,0,0,0,100,0), +(@PATH,42,1938.608,-4333.708,104.1094,0,0,0,0,100,0), +(@PATH,43,1951.109,-4325.374,108.6329,0,0,0,0,100,0), +(@PATH,44,1959.476,-4313.431,112.4713,0,0,0,0,100,0), +(@PATH,45,1964.395,-4299.242,115.8342,0,0,0,0,100,0), +(@PATH,46,1964.013,-4285.485,118.759,0,0,0,0,100,0), +(@PATH,47,1958.188,-4271.719,121.1986,0,0,0,0,100,0), +(@PATH,48,1948.862,-4257.913,123.1436,0,0,0,0,100,0), +(@PATH,49,1937.571,-4246.421,124.3987,0,0,0,0,100,0), +(@PATH,50,1922.871,-4236.132,124.5614,0,0,0,0,100,0), +(@PATH,51,1910.601,-4230.841,123.9003,0,0,0,0,100,0), +(@PATH,52,1898.089,-4234.909,121.9145,0,0,0,0,100,0), +(@PATH,53,1885.57,-4244.55,119.1837,0,0,0,0,100,0), +(@PATH,54,1863.28,-4254.762,115.8188,0,0,0,0,100,0), +(@PATH,55,1843.03,-4253.876,112.4868,0,0,0,0,100,0), +(@PATH,56,1823.948,-4249.617,110.0904,0,0,0,0,100,0), +(@PATH,57,1805.807,-4243.627,109.2054,0,0,0,0,100,0), +(@PATH,58,1788.298,-4236.372,109.2757,0,0,0,0,100,0), +(@PATH,59,1772.822,-4230.178,110.0869,0,0,0,0,100,0), +(@PATH,60,1756.266,-4226.344,111.3374,0,0,0,0,100,0), +(@PATH,61,1740.067,-4225.406,112.7029,0,0,0,0,100,0), +(@PATH,62,1723.609,-4227.502,114.0724,0,0,0,0,100,0), +(@PATH,63,1707.625,-4232.57,115.0328,0,0,0,0,100,0), +(@PATH,64,1691.672,-4240.448,115.5813,0,0,0,0,100,0), +(@PATH,65,1679.758,-4249.527,115.9751,0,0,0,0,100,0), +(@PATH,66,1673.519,-4261.09,116.0333,0,0,0,0,100,0), +(@PATH,67,1671.568,-4275.499,115.6591,0,0,0,0,100,0), +(@PATH,68,1674.839,-4290.318,114.9819,0,0,0,0,100,0), +(@PATH,69,1682.105,-4306.104,114.1077,0,0,0,0,100,0), +(@PATH,70,1692.008,-4319.158,112.6074,0,0,0,0,100,0), +(@PATH,71,1701.481,-4337.39,110.4719,0,0,0,0,100,0); + +-- 13. +SET @NPC := 311105; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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,17719,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, 1660.82, -4283.98, 63.2615, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1620.27, -4290.06, 60.9092, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1589.57, -4323.7, 57.026, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 1560.95, -4345.81, 53.1829, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 1509.73, -4387.29, 46.3191, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 1508.2, -4427.45, 45.8588, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 1522.15, -4428.47, 46.2685, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 1589.57, -4422.2, 46.6417, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 1616.78, -4418.91, 47.4682, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 1684.8, -4405.73, 50.3249, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 1717.83, -4380.91, 51.5959, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1710.45, -4338.7, 51.337, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 1684.04, -4296.48, 58.0137, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 1666.85, -4283.53, 58.9361, 0, 0, 0, 0, 100, 0); + +-- 14. +SET @NPC := 311041; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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,17719,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, 1685.8, -4109.97, 89.4076, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1715.42, -4091.83, 85.8596, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1742.82, -4058.34, 83.0513, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 1754.99, -4017.08, 90.8648, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 1752.87, -3975.17, 89.2434, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 1733.46, -3938.65, 88.8604, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 1706.13, -3939.88, 88.283, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 1709.8, -3968.48, 85.2167, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 1727.49, -4010.25, 84.3052, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 1734.95, -4040.12, 82.376, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 1713.95, -4065.05, 82.1854, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1676.29, -4087.99, 76.8193, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 1646.84, -4105.68, 75.9196, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 1610.64, -4121.87, 74.9112, 0, 0, 0, 0, 100, 0), +(@PATH, 15, 1566.51, -4136.79, 76.181, 0, 0, 0, 0, 100, 0), +(@PATH, 16, 1549.57, -4140.85, 76.817, 0, 0, 0, 0, 100, 0), +(@PATH, 17, 1503.23, -4159.52, 77.8546, 0, 0, 0, 0, 100, 0), +(@PATH, 18, 1515.04, -4184.18, 78.218, 0, 0, 0, 0, 100, 0), +(@PATH, 19, 1543.61, -4195.47, 77.6548, 0, 0, 0, 0, 100, 0), +(@PATH, 20, 1576.25, -4196.88, 75.6522, 0, 0, 0, 0, 100, 0), +(@PATH, 21, 1589.45, -4187.76, 74.5151, 0, 0, 0, 0, 100, 0), +(@PATH, 22, 1603.68, -4162.3, 73.1248, 0, 0, 0, 0, 100, 0), +(@PATH, 23, 1621.38, -4141.27, 73.6877, 0, 0, 0, 0, 100, 0), +(@PATH, 24, 1650.98, -4123.75, 75.31, 0, 0, 0, 0, 100, 0), +(@PATH, 25, 1670.35, -4113.5, 78.7438, 0, 0, 0, 0, 100, 0); + +-- 15. +SET @NPC := 287018; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1495.565,`position_y`=-4168.035,`position_z`=51.73763 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,1495.565,-4168.035,51.73763,0,0,0,0,100,0), +(@PATH,2,1495.287,-4168.088,51.8574,0,0,0,0,100,0), +(@PATH,3,1494.037,-4166.588,51.8574,0,0,0,0,100,0), +(@PATH,4,1493.603,-4164.904,51.87238,0,0,0,0,100,0), +(@PATH,5,1494.23,-4162.97,51.45435,0.5934119,5000,0,0,100,0), +(@PATH,6,1493.085,-4165.53,51.83562,0,0,0,0,100,0), +(@PATH,7,1494.724,-4168.007,51.93468,0,0,0,0,100,0), +(@PATH,8,1495.974,-4174.757,52.18468,0,0,0,0,100,0), +(@PATH,9,1499.974,-4176.757,52.18468,0,0,0,0,100,0), +(@PATH,10,1500.254,-4176.932,52.13823,0,0,0,0,100,0), +(@PATH,11,1501.504,-4175.682,51.88823,0,0,0,0,100,0), +(@PATH,12,1501.751,-4175.708,51.69862,0,0,0,0,100,0), +(@PATH,13,1503.501,-4175.208,51.44862,0,0,0,0,100,0), +(@PATH,14,1503.955,-4171.56,51.6193,0,0,0,0,100,0), +(@PATH,15,1502.705,-4169.31,51.3693,0,0,0,0,100,0), +(@PATH,16,1500.205,-4169.81,51.6193,0,0,0,0,100,0), +(@PATH,17,1498.947,-4174.157,51.77612,0,0,0,0,100,0), +(@PATH,18,1498.819,-4173.981,51.74632,0,0,0,0,100,0), +(@PATH,19,1497.819,-4171.231,51.74632,0,0,0,0,100,0), +(@PATH,20,1499.29,-4168.38,51.16976,0,0,0,0,100,0), +(@PATH,21,1499.29,-4168.38,51.16976,3.996804,5000,0,0,100,0); + +-- 16. +SET @NPC := 287015; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1478.185,`position_y`=-4174.237,`position_z`=83.73706 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,1478.185,-4174.237,83.73706,0,0,0,0,100,0), +(@PATH,2,1478.935,-4179.987,83.73706,0,0,0,0,100,0), +(@PATH,3,1482.412,-4180.579,83.71821,0,0,0,0,100,0), +(@PATH,4,1492.339,-4184.873,83.66711,0,0,0,0,100,0), +(@PATH,5,1492.155,-4184.79,83.43674,0,0,0,0,100,0), +(@PATH,6,1492.242,-4184.591,83.70753,0,0,0,0,100,0), +(@PATH,7,1482.186,-4180.211,83.72748,0,0,0,0,100,0), +(@PATH,8,1478.936,-4179.961,83.72748,0,0,0,0,100,0), +(@PATH,9,1477.954,-4174.076,83.73439,0,0,0,0,100,0), +(@PATH,10,1476.739,-4154.171,83.73648,0,0,0,0,100,0), +(@PATH,11,1480.489,-4150.921,84.23648,0,0,0,0,100,0), +(@PATH,12,1481.489,-4150.921,84.48648,0,0,0,0,100,0), +(@PATH,13,1479.989,-4150.671,83.73648,0,0,0,0,100,0), +(@PATH,14,1478.538,-4147.028,83.73347,0,0,0,0,100,0), +(@PATH,15,1482.538,-4147.528,83.73347,0,0,0,0,100,0), +(@PATH,16,1483.538,-4149.028,84.23347,0,0,0,0,100,0), +(@PATH,17,1500.656,-4133.007,83.74146,0,0,0,0,100,0), +(@PATH,18,1501.906,-4137.007,83.74146,0,0,0,0,100,0), +(@PATH,19,1503.241,-4136.472,83.70921,0,0,0,0,100,0), +(@PATH,20,1500.507,-4133.066,83.73335,0,0,0,0,100,0), +(@PATH,21,1501.507,-4137.316,83.73335,0,0,0,0,100,0), +(@PATH,22,1478.489,-4147.164,83.73515,0,0,0,0,100,0), +(@PATH,23,1480.489,-4150.664,83.73515,0,0,0,0,100,0), +(@PATH,24,1476.526,-4154.406,83.7347,0,0,0,0,100,0); + +-- 17. +SET @NPC := 286946; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1561.884,`position_y`=-4098.291,`position_z`=120.8239 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,1561.884,-4098.291,120.8239,0,0,0,0,100,0), +(@PATH,2,1563.884,-4097.541,120.5739,0,0,0,0,100,0), +(@PATH,3,1569.634,-4095.541,120.0739,0,0,0,0,100,0), +(@PATH,4,1580.634,-4091.541,120.0739,0,0,0,0,100,0), +(@PATH,5,1561.673,-4098.669,120.9767,0,0,0,0,100,0), +(@PATH,6,1554.173,-4101.419,119.9767,0,0,0,0,100,0), +(@PATH,7,1550.173,-4102.919,119.7267,0,0,0,0,100,0), +(@PATH,8,1544.173,-4105.169,120.9767,0,0,0,0,100,0), +(@PATH,9,1542.173,-4105.919,120.9767,0,0,0,0,100,0), +(@PATH,10,1539.778,-4107.183,121.6618,0,0,0,0,100,0), +(@PATH,11,1536.778,-4108.183,122.9118,0,0,0,0,100,0), +(@PATH,12,1532.278,-4110.183,123.6618,0,0,0,0,100,0), +(@PATH,13,1531.028,-4110.683,123.6618,0,0,0,0,100,0), +(@PATH,14,1523.528,-4113.683,123.6618,0,0,0,0,100,0), +(@PATH,15,1517.778,-4115.933,121.4118,0,0,0,0,100,0), +(@PATH,16,1513.261,-4117.953,120.2626,0,0,0,0,100,0), +(@PATH,17,1507.261,-4120.703,118.7626,0,0,0,0,100,0), +(@PATH,18,1497.511,-4124.953,118.0126,0,0,0,0,100,0), +(@PATH,19,1492.011,-4127.453,118.7626,0,0,0,0,100,0), +(@PATH,20,1486.741,-4129.933,119.621,0,0,0,0,100,0), +(@PATH,21,1485.491,-4131.183,119.621,0,0,0,0,100,0), +(@PATH,22,1479.991,-4136.683,119.621,0,0,0,0,100,0), +(@PATH,23,1473.491,-4142.683,120.121,0,0,0,0,100,0), +(@PATH,24,1473.25,-4143,120.3613,0,0,0,0,100,0), +(@PATH,25,1471.5,-4144.75,120.6113,0,0,0,0,100,0), +(@PATH,26,1469.5,-4150,120.1113,0,0,0,0,100,0), +(@PATH,27,1468.5,-4154,120.3613,0,0,0,0,100,0), +(@PATH,28,1467.75,-4156,120.1113,0,0,0,0,100,0), +(@PATH,29,1464.75,-4164.75,121.3613,0,0,0,0,100,0), +(@PATH,30,1467.632,-4156.08,120.2714,0,0,0,0,100,0), +(@PATH,31,1468.382,-4153.83,120.2714,0,0,0,0,100,0), +(@PATH,32,1469.632,-4150.08,120.2714,0,0,0,0,100,0), +(@PATH,33,1471.79,-4144.445,120.5612,0,0,0,0,100,0), +(@PATH,34,1473.54,-4142.695,120.3112,0,0,0,0,100,0), +(@PATH,35,1479.79,-4136.695,119.8112,0,0,0,0,100,0), +(@PATH,36,1485.29,-4131.195,119.8112,0,0,0,0,100,0), +(@PATH,37,1487.065,-4129.587,119.8208,0,0,0,0,100,0), +(@PATH,38,1492.065,-4127.337,118.8208,0,0,0,0,100,0), +(@PATH,39,1497.565,-4124.837,118.0708,0,0,0,0,100,0), +(@PATH,40,1507.315,-4120.587,118.8208,0,0,0,0,100,0); + +DELETE FROM `creature` WHERE `guid` IN (304149, 304150,286832,304129,304147,311124,286931); + +-- 18. + +DELETE FROM `creature_formations` WHERE `leaderGUID`=310854; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(310854, 310854, 0, 0, 2, 0, 0), +(310854, 310855, 3, 90, 2, 0, 0); + +SET @NPC := 310854; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1540.968,`position_y`=-4331.818,`position_z`=88.63969 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,1540.968,-4331.818,88.63969,0,0,0,0,100,0), +(@PATH,2,1542.468,-4330.818,88.63969,0,0,0,0,100,0), +(@PATH,3,1546.718,-4325.818,89.38969,0,0,0,0,100,0), +(@PATH,4,1549.468,-4322.818,89.13969,0,0,0,0,100,0), +(@PATH,5,1552.968,-4318.568,89.38969,0,0,0,0,100,0), +(@PATH,6,1556.468,-4314.318,90.13969,0,0,0,0,100,0), +(@PATH,7,1561.468,-4308.568,90.13969,0,0,0,0,100,0), +(@PATH,8,1563.607,-4305.764,91.05544,0,0,0,0,100,0), +(@PATH,9,1566.357,-4300.764,91.55544,0,0,0,0,100,0), +(@PATH,10,1568.357,-4296.264,91.55544,0,0,0,0,100,0), +(@PATH,11,1571.107,-4291.264,92.05544,0,0,0,0,100,0), +(@PATH,12,1574.774,-4283.906,93.51273,0,0,0,0,100,0), +(@PATH,13,1574.024,-4280.156,94.51273,0,0,0,0,100,0), +(@PATH,14,1573.024,-4275.406,95.26273,0,0,0,0,100,0), +(@PATH,15,1571.274,-4266.656,96.76273,0,0,0,0,100,0), +(@PATH,16,1571.402,-4266.708,96.79311,0,0,0,0,100,0), +(@PATH,17,1573.152,-4275.458,95.29311,0,0,0,0,100,0), +(@PATH,18,1574.152,-4280.208,94.54311,0,0,0,0,100,0), +(@PATH,19,1574.652,-4282.958,93.79311,0,0,0,0,100,0), +(@PATH,20,1574.587,-4283.181,93.51605,0,0,0,0,100,0), +(@PATH,21,1574.837,-4283.931,93.26605,0,0,0,0,100,0), +(@PATH,22,1571.087,-4291.181,92.26605,0,0,0,0,100,0), +(@PATH,23,1568.587,-4296.431,91.51605,0,0,0,0,100,0), +(@PATH,24,1566.337,-4300.681,92.01605,0,0,0,0,100,0), +(@PATH,25,1563.554,-4305.809,90.76807,0,0,0,0,100,0), +(@PATH,26,1561.304,-4308.309,90.26807,0,0,0,0,100,0), +(@PATH,27,1556.554,-4314.059,90.01807,0,0,0,0,100,0), +(@PATH,28,1553.054,-4318.309,89.76807,0,0,0,0,100,0), +(@PATH,29,1549.304,-4322.809,89.26807,0,0,0,0,100,0), +(@PATH,30,1546.804,-4325.809,89.76807,0,0,0,0,100,0), +(@PATH,31,1542.275,-4331.172,88.49124,0,0,0,0,100,0), +(@PATH,32,1540.775,-4332.172,88.24124,0,0,0,0,100,0), +(@PATH,33,1537.525,-4333.922,87.49124,0,0,0,0,100,0), +(@PATH,34,1530.275,-4338.172,86.74124,0,0,0,0,100,0), +(@PATH,35,1524.969,-4341.395,84.82468,0,0,0,0,100,0), +(@PATH,36,1521.469,-4342.395,83.82468,0,0,0,0,100,0), +(@PATH,37,1515.719,-4343.645,82.32468,0,0,0,0,100,0), +(@PATH,38,1511.219,-4344.895,80.57468,0,0,0,0,100,0), +(@PATH,39,1508.448,-4345.555,79.73019,0,0,0,0,100,0), +(@PATH,40,1503.698,-4345.555,79.23019,0,0,0,0,100,0), +(@PATH,41,1498.198,-4345.555,78.98019,0,0,0,0,100,0), +(@PATH,42,1498.259,-4345.869,78.97261,0,0,0,0,100,0), +(@PATH,43,1503.509,-4345.869,78.97261,0,0,0,0,100,0), +(@PATH,44,1508.849,-4345.683,80.20703,0,0,0,0,100,0), +(@PATH,45,1511.099,-4344.933,80.70703,0,0,0,0,100,0), +(@PATH,46,1515.599,-4343.683,81.95703,0,0,0,0,100,0), +(@PATH,47,1521.349,-4342.433,83.70703,0,0,0,0,100,0), +(@PATH,48,1521.522,-4342.098,84.08778,0,0,0,0,100,0), +(@PATH,49,1525.022,-4341.348,85.08778,0,0,0,0,100,0), +(@PATH,50,1530.272,-4338.098,86.58778,0,0,0,0,100,0), +(@PATH,51,1537.522,-4333.848,87.33778,0,0,0,0,100,0); + +-- 19. +DELETE FROM `creature_formations` WHERE `leaderGUID`=311121; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(311121, 311121, 0, 0, 2, 0, 0), +-- +(311121, 311119, 3, 90, 2, 0, 0), +(311121, 311122, 6, 90, 2, 0, 0), +(311121, 311123, 9, 90, 2, 0, 0), +-- +(311121, 311120, 3, 270, 2, 0, 0), +(311121, 311118, 6, 270, 2, 0, 0), +(311121, 311117, 9, 270, 2, 0, 0); + +SET @NPC := 311121; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1807.01,`position_y`=-4316.48,`position_z`=149.3002 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,17719,0,1,0, '95230'); +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,1807.01,-4316.48,149.3002,0,0,0,0,100,0), +(@PATH,2,1808.774,-4313.723,173.6998,0,0,0,0,100,0), +(@PATH,3,1807.063,-4316.488,187.2079,0,0,0,0,100,0), +(@PATH,4,1807.063,-4316.488,187.2079,0,0,0,0,100,0), +(@PATH,5,1807.481,-4316.267,184.353,0.9250245,5000,0,0,100,0), +(@PATH,6,1808.33,-4314.263,187.2079,0,0,0,0,100,0), +(@PATH,7,1793.559,-4316.036,178.2978,0,0,0,0,100,0), +(@PATH,8,1777.785,-4306.187,179.0402,0,0,0,0,100,0), +(@PATH,9,1761.671,-4295.139,180.0481,0,0,0,0,100,0), +(@PATH,10,1746.95,-4283.836,180.8696,0,0,0,0,100,0), +(@PATH,11,1732.525,-4271.096,182.3055,0,0,0,0,100,0), +(@PATH,12,1718.8,-4257.377,184.3837,0,0,0,0,100,0), +(@PATH,13,1706.131,-4244.092,186.1173,0,0,0,0,100,0), +(@PATH,14,1694.591,-4230.988,187.1132,0,0,0,0,100,0), +(@PATH,15,1683.094,-4217.781,187.2331,0,0,0,0,100,0), +(@PATH,16,1670.549,-4203.002,186.8739,0,0,0,0,100,0), +(@PATH,17,1658.949,-4187.574,186.0255,0,0,0,0,100,0), +(@PATH,18,1648.444,-4171.864,184.7251,0,0,0,0,100,0), +(@PATH,19,1638.348,-4158.23,183.2735,0,0,0,0,100,0), +(@PATH,20,1627.186,-4145.286,181.4723,0,0,0,0,100,0), +(@PATH,21,1614.735,-4135.304,179.651,0,0,0,0,100,0), +(@PATH,22,1600.054,-4127.3,178.2775,0,0,0,0,100,0), +(@PATH,23,1583.386,-4120.385,176.9991,0,0,0,0,100,0), +(@PATH,24,1567.839,-4116.856,176.2117,0,0,0,0,100,0), +(@PATH,25,1552.111,-4116.935,176.1456,0,0,0,0,100,0), +(@PATH,26,1537.198,-4120.831,176.3604,0,0,0,0,100,0), +(@PATH,27,1524.506,-4128.325,176.0686,0,0,0,0,100,0), +(@PATH,28,1510.056,-4140.798,176.0435,0,0,0,0,100,0), +(@PATH,29,1497.115,-4153.093,178.0401,0,0,0,0,100,0), +(@PATH,30,1485.643,-4166.016,181.9767,0,0,0,0,100,0), +(@PATH,31,1472.987,-4179.955,186.6292,0,0,0,0,100,0), +(@PATH,32,1458.547,-4192.708,191.2159,0,0,0,0,100,0), +(@PATH,33,1442.81,-4204.699,196.5309,0,0,0,0,100,0), +(@PATH,34,1428.188,-4214.711,200.2226,0,0,0,0,100,0), +(@PATH,35,1409.727,-4223.685,198.7708,0,0,0,0,100,0), +(@PATH,36,1397.06,-4228.111,190.9477,0,0,0,0,100,0), +(@PATH,37,1384.933,-4234.856,182.4714,0,0,0,0,100,0), +(@PATH,38,1374.461,-4243.07,170.9508,0,0,0,0,100,0), +(@PATH,39,1365.93,-4251.694,158.6469,0,0,0,0,100,0), +(@PATH,40,1357.721,-4261.561,145.0761,0,0,0,0,100,0), +(@PATH,41,1350.721,-4272.154,132.928,0,0,0,0,100,0), +(@PATH,42,1344.517,-4284.101,121.6979,0,0,0,0,100,0), +(@PATH,43,1339.773,-4296.786,111.3554,0,0,0,0,100,0), +(@PATH,44,1335.96,-4311.421,101.9002,0,0,0,0,100,0), +(@PATH,45,1333.623,-4326.046,93.31429,0,0,0,0,100,0), +(@PATH,46,1334.957,-4337.731,84.69461,0,0,0,0,100,0), +(@PATH,47,1343.626,-4350.635,75.67818,0,0,0,0,100,0), +(@PATH,48,1354.871,-4363.032,68.21049,0,0,0,0,100,0), +(@PATH,49,1358.317,-4367.091,66.27425,0,0,0,0,100,0), +(@PATH,50,1356.423,-4364.788,67.5598,3.263766,5000,0,0,100,0), +(@PATH,51,1351.521,-4382.996,66.27425,0,0,0,0,100,0), +(@PATH,52,1351.521,-4382.996,66.27425,0,0,0,0,100,0), +(@PATH,53,1351.521,-4382.996,66.27425,-2.865702,5000,0,0,100,0), +(@PATH,54,1355.414,-4397.424,64.36366,0,0,0,0,100,0), +(@PATH,55,1349.781,-4417.869,63.44082,0,0,0,0,100,0), +(@PATH,56,1343.145,-4434.903,63.21791,0,0,0,0,100,0), +(@PATH,57,1336.118,-4452.121,63.88697,0,0,0,0,100,0), +(@PATH,58,1329.525,-4469.378,65.8797,0,0,0,0,100,0), +(@PATH,59,1322.943,-4486.343,68.81236,0,0,0,0,100,0), +(@PATH,60,1318.146,-4502.357,72.51958,0,0,0,0,100,0), +(@PATH,61,1316.105,-4518.2,77.22173,0,0,0,0,100,0), +(@PATH,62,1316.302,-4533.891,82.95803,0,0,0,0,100,0), +(@PATH,63,1319.12,-4549.391,88.91561,0,0,0,0,100,0), +(@PATH,64,1324.333,-4563.656,94.31775,0,0,0,0,100,0), +(@PATH,65,1331.916,-4578.44,99.80263,0,0,0,0,100,0), +(@PATH,66,1341.016,-4593.465,105.1026,0,0,0,0,100,0), +(@PATH,67,1350.623,-4607.153,109.9065,0,0,0,0,100,0), +(@PATH,68,1362.2,-4621.035,114.5719,0,0,0,0,100,0), +(@PATH,69,1373.953,-4635.165,118.6817,0,0,0,0,100,0), +(@PATH,70,1384.709,-4650.624,122.1362,0,0,0,0,100,0), +(@PATH,71,1394.193,-4666.75,124.7447,0,0,0,0,100,0), +(@PATH,72,1402.022,-4683.615,126.4022,0,0,0,0,100,0), +(@PATH,73,1408.258,-4700.825,127.3785,0,0,0,0,100,0), +(@PATH,74,1413.426,-4718.913,127.7007,0,0,0,0,100,0), +(@PATH,75,1416.899,-4738.973,127.4302,0,0,0,0,100,0), +(@PATH,76,1418.046,-4757.724,126.6843,0,0,0,0,100,0), +(@PATH,77,1417.918,-4777.43,125.4663,0,0,0,0,100,0), +(@PATH,78,1416.332,-4797.274,124.0066,0,0,0,0,100,0), +(@PATH,79,1412.751,-4816.214,122.5238,0,0,0,0,100,0), +(@PATH,80,1404.375,-4835.041,121.0357,0,0,0,0,100,0), +(@PATH,81,1394.703,-4850.106,119.4216,0,0,0,0,100,0), +(@PATH,82,1387.365,-4864.996,117.1234,0,0,0,0,100,0), +(@PATH,83,1382.297,-4881.407,114.7568,0,0,0,0,100,0), +(@PATH,84,1377.801,-4899.102,112.0526,0,0,0,0,100,0), +(@PATH,85,1375.401,-4915.914,108.7919,0,0,0,0,100,0), +(@PATH,86,1376.218,-4930.03,104.6527,0,0,0,0,100,0), +(@PATH,87,1381.309,-4943.936,99.20206,0,0,0,0,100,0), +(@PATH,88,1389.932,-4958.036,92.84589,0,0,0,0,100,0), +(@PATH,89,1399.953,-4970.539,86.23571,0,0,0,0,100,0), +(@PATH,90,1410.403,-4980.592,78.61923,0,0,0,0,100,0), +(@PATH,91,1424.887,-4988.536,68.9007,0,0,0,0,100,0), +(@PATH,92,1438.818,-4994.247,60.62519,0,0,0,0,100,0), +(@PATH,93,1443.614,-4996.463,58.34653,0,0,0,0,100,0), +(@PATH,94,1441.035,-4995.255,59.76055,1.658063,5000,0,0,100,0), +(@PATH,95,1428.884,-5006.125,58.34653,0,0,0,0,100,0), +(@PATH,96,1428.884,-5006.125,58.34653,0,0,0,0,100,0), +(@PATH,97,1428.884,-5006.125,58.34653,1.63541,5000,0,0,100,0), +(@PATH,98,1426.727,-4984.576,59.54522,0,0,0,0,100,0), +(@PATH,99,1427.424,-4964.031,61.14178,0,0,0,0,100,0), +(@PATH,100,1429.404,-4946.52,62.64558,0,0,0,0,100,0), +(@PATH,101,1431.497,-4927.274,64.41466,0,0,0,0,100,0), +(@PATH,102,1432.58,-4908.179,66.33176,0,0,0,0,100,0), +(@PATH,103,1431.662,-4890.863,68.31383,0,0,0,0,100,0), +(@PATH,104,1428.842,-4874.077,70.41498,0,0,0,0,100,0), +(@PATH,105,1424.707,-4857.552,72.62909,0,0,0,0,100,0), +(@PATH,106,1419.345,-4840.807,74.93507,0,0,0,0,100,0), +(@PATH,107,1412.903,-4823.7,77.27052,0,0,0,0,100,0), +(@PATH,108,1406.075,-4808.176,79.39149,0,0,0,0,100,0), +(@PATH,109,1397.786,-4793.342,81.37319,0,0,0,0,100,0), +(@PATH,110,1388.236,-4777.8,83.39078,0,0,0,0,100,0), +(@PATH,111,1378.527,-4761.554,85.47807,0,0,0,0,100,0), +(@PATH,112,1369.615,-4744.184,87.71409,0,0,0,0,100,0), +(@PATH,113,1362.757,-4726.517,90.05842,0,0,0,0,100,0), +(@PATH,114,1357.021,-4708.558,92.51503,0,0,0,0,100,0), +(@PATH,115,1352.01,-4690.008,95.09456,0,0,0,0,100,0), +(@PATH,116,1347.843,-4671.299,97.76492,0,0,0,0,100,0), +(@PATH,117,1344.698,-4653.094,100.4613,0,0,0,0,100,0), +(@PATH,118,1342.698,-4635.618,103.1828,0,0,0,0,100,0), +(@PATH,119,1341.788,-4615.435,106.5755,0,0,0,0,100,0), +(@PATH,120,1342.429,-4595.523,110.1277,0,0,0,0,100,0), +(@PATH,121,1344.715,-4576.87,113.5843,0,0,0,0,100,0), +(@PATH,122,1348.764,-4559.769,116.8085,0,0,0,0,100,0), +(@PATH,123,1356.282,-4541.801,120.0888,0,0,0,0,100,0), +(@PATH,124,1367.829,-4525.43,123.0104,0,0,0,0,100,0), +(@PATH,125,1381.503,-4512.091,125.9577,0,0,0,0,100,0), +(@PATH,126,1396.188,-4500.717,129.6965,0,0,0,0,100,0), +(@PATH,127,1411.983,-4491.121,134.1022,0,0,0,0,100,0), +(@PATH,128,1429.146,-4483.078,139.0746,0,0,0,0,100,0), +(@PATH,129,1446.704,-4476.547,144.2854,0,0,0,0,100,0), +(@PATH,130,1463.978,-4471.508,149.4841,0,0,0,0,100,0), +(@PATH,131,1481.431,-4468.143,154.7737,0,0,0,0,100,0), +(@PATH,132,1498.786,-4466.564,160.1712,0,0,0,0,100,0), +(@PATH,133,1517.528,-4466.153,166.1545,0,0,0,0,100,0), +(@PATH,134,1534.442,-4466.233,171.8325,0,0,0,0,100,0), +(@PATH,135,1551.467,-4466.555,178.006,0,0,0,0,100,0), +(@PATH,136,1569.594,-4467.434,184.4545,0,0,0,0,100,0), +(@PATH,137,1588.226,-4469.213,190.4113,0,0,0,0,100,0), +(@PATH,138,1606.836,-4472.281,195.1004,0,0,0,0,100,0), +(@PATH,139,1624.713,-4476.79,198.0858,0,0,0,0,100,0), +(@PATH,140,1642.351,-4482.453,200.0069,0,0,0,0,100,0), +(@PATH,141,1659.788,-4489.217,200.9092,0,0,0,0,100,0), +(@PATH,142,1677.164,-4497.134,200.7925,0,0,0,0,100,0), +(@PATH,143,1694.01,-4505.979,199.6644,0,0,0,0,100,0), +(@PATH,144,1709.751,-4515.468,197.2912,0,0,0,0,100,0), +(@PATH,145,1724.935,-4525.876,193.4211,0,0,0,0,100,0), +(@PATH,146,1739.924,-4537.181,188.6904,0,0,0,0,100,0), +(@PATH,147,1754.19,-4548.751,183.9597,0,0,0,0,100,0), +(@PATH,148,1767.79,-4560.417,179.8924,0,0,0,0,100,0), +(@PATH,149,1781.463,-4572.727,176.9339,0,0,0,0,100,0), +(@PATH,150,1795.488,-4586.251,174.6125,0,0,0,0,100,0), +(@PATH,151,1808.908,-4600.187,172.8913,0,0,0,0,100,0), +(@PATH,152,1821.34,-4614.191,171.7502,0,0,0,0,100,0), +(@PATH,153,1832.189,-4627.673,171.1791,0,0,0,0,100,0), +(@PATH,154,1843.175,-4643.834,171.4573,0,0,0,0,100,0), +(@PATH,155,1851.177,-4659.663,173.1657,0,0,0,0,100,0), +(@PATH,156,1857.922,-4676.054,175.525,0,0,0,0,100,0), +(@PATH,157,1865.265,-4693.154,177.2991,0,0,0,0,100,0), +(@PATH,158,1872.05,-4709.729,178.376,0,0,0,0,100,0), +(@PATH,159,1879.111,-4727.632,179.427,0,0,0,0,100,0), +(@PATH,160,1886.306,-4745.599,180.6753,0,0,0,0,100,0), +(@PATH,161,1893.448,-4762.291,182.3388,0,0,0,0,100,0), +(@PATH,162,1901.142,-4778.182,184.9192,0,0,0,0,100,0), +(@PATH,163,1909.677,-4794.671,188.8966,0,0,0,0,100,0), +(@PATH,164,1918.158,-4809.278,193.5147,0,0,0,0,100,0), +(@PATH,165,1927.136,-4822.047,198.2432,0,0,0,0,100,0), +(@PATH,166,1937.749,-4833.822,202.9114,0,0,0,0,100,0), +(@PATH,167,1950.384,-4844.948,208.1431,0,0,0,0,100,0), +(@PATH,168,1963.895,-4854.318,213.2049,0,0,0,0,100,0), +(@PATH,169,1977.87,-4861.619,217.3819,0,0,0,0,100,0), +(@PATH,170,1992.485,-4866.707,220.1422,0,0,0,0,100,0), +(@PATH,171,2007.539,-4869.385,221.5735,0,0,0,0,100,0), +(@PATH,172,2025.376,-4870.392,222.6461,0,0,0,0,100,0), +(@PATH,173,2044.167,-4870.353,224.0206,0,0,0,0,100,0), +(@PATH,174,2061.388,-4869.485,225.2248,0,0,0,0,100,0), +(@PATH,175,2080.476,-4867.871,226.4804,0,0,0,0,100,0), +(@PATH,176,2099.469,-4865.734,227.7914,0,0,0,0,100,0), +(@PATH,177,2117.285,-4863.222,229.2233,0,0,0,0,100,0), +(@PATH,178,2134.274,-4860.052,231.0907,0,0,0,0,100,0), +(@PATH,179,2150.96,-4855.128,233.8257,0,0,0,0,100,0), +(@PATH,180,2185.812,-4843.068,239.4897,0,0,0,0,100,0), +(@PATH,181,2201.066,-4837.948,241.4729,0,0,0,0,100,0), +(@PATH,182,2218.384,-4831.886,243.5535,0,0,0,0,100,0), +(@PATH,183,2230.87,-4827.673,245.0291,0,0,0,0,100,0), +(@PATH,184,2256.073,-4820.334,248.0988,0,0,0,0,100,0), +(@PATH,185,2274.964,-4816.626,250.5945,0,0,0,0,100,0), +(@PATH,186,2288.184,-4815.473,252.5606,0,0,0,0,100,0), +(@PATH,187,2313.565,-4816.311,257.1127,0,0,0,0,100,0), +(@PATH,188,2332.012,-4818.446,260.7191,0,0,0,0,100,0), +(@PATH,189,2349.727,-4820.781,264.0513,0,0,0,0,100,0), +(@PATH,190,2361.119,-4821.99,265.9361,0,0,0,0,100,0), +(@PATH,191,2378.392,-4822.709,268.2498,0,0,0,0,100,0), +(@PATH,192,2395.672,-4822.382,270.5723,0,0,0,0,100,0), +(@PATH,193,2418.667,-4821.696,272.4164,0,0,0,0,100,0), +(@PATH,194,2437.808,-4822.147,271.8976,0,0,0,0,100,0), +(@PATH,195,2451.392,-4823.351,270.2963,0,0,0,0,100,0), +(@PATH,196,2475.574,-4826.919,264.9532,0,0,0,0,100,0), +(@PATH,197,2495.615,-4830.523,259.2421,0,0,0,0,100,0), +(@PATH,198,2515.663,-4834.421,252.9475,0,0,0,0,100,0), +(@PATH,199,2528.312,-4836.965,248.804,0,0,0,0,100,0), +(@PATH,200,2548.086,-4840.947,242.2778,0,0,0,0,100,0), +(@PATH,201,2553.753,-4842.025,240.4903,0,0,0,0,100,0), +(@PATH,202,2553.753,-4842.025,240.4903,0,0,0,0,100,0), +(@PATH,203,2553.753,-4842.025,240.4903,0,0,0,0,100,0), +(@PATH,204,2530.35,-4847.412,246.7449,0,0,0,0,100,0), +(@PATH,205,2519.405,-4838.286,250.5472,0,0,0,0,100,0), +(@PATH,206,2505.105,-4824.995,254.0947,0,0,0,0,100,0), +(@PATH,207,2489.081,-4808.324,257.0263,0,0,0,0,100,0), +(@PATH,208,2480.348,-4799.167,258.2751,0,0,0,0,100,0), +(@PATH,209,2462.016,-4781.071,260.1203,0,0,0,0,100,0), +(@PATH,210,2449.802,-4770.005,260.6873,0,0,0,0,100,0), +(@PATH,211,2437.105,-4758.915,260.8073,0,0,0,0,100,0), +(@PATH,212,2423.625,-4747.453,260.7435,0,0,0,0,100,0), +(@PATH,213,2408.885,-4735.125,260.747,0,0,0,0,100,0), +(@PATH,214,2393.352,-4722.233,261.0336,0,0,0,0,100,0), +(@PATH,215,2380.273,-4711.536,261.4713,0,0,0,0,100,0), +(@PATH,216,2365.73,-4699.78,262.0394,0,0,0,0,100,0), +(@PATH,217,2350.47,-4687.515,262.669,0,0,0,0,100,0), +(@PATH,218,2335.104,-4675.178,263.2961,0,0,0,0,100,0), +(@PATH,219,2320.177,-4663.15,263.8583,0,0,0,0,100,0), +(@PATH,220,2306.352,-4651.905,264.2885,0,0,0,0,100,0), +(@PATH,221,2292.482,-4640.46,264.5583,0,0,0,0,100,0), +(@PATH,222,2277.301,-4628.1,264.7198,0,0,0,0,100,0), +(@PATH,223,2263.924,-4617.124,264.676,0,0,0,0,100,0), +(@PATH,224,2251.102,-4605.994,264.3789,0,0,0,0,100,0), +(@PATH,225,2237.733,-4593.284,263.7799,0,0,0,0,100,0), +(@PATH,226,2225.097,-4580.236,262.826,0,0,0,0,100,0), +(@PATH,227,2216.42,-4570.856,261.8818,0,0,0,0,100,0), +(@PATH,228,2199.343,-4551.523,259.7386,0,0,0,0,100,0), +(@PATH,229,2187.011,-4536.791,258.2495,0,0,0,0,100,0), +(@PATH,230,2175.961,-4522.861,257.2587,0,0,0,0,100,0), +(@PATH,231,2164.849,-4507.772,257.1758,0,0,0,0,100,0), +(@PATH,232,2154.261,-4491.937,258.6173,0,0,0,0,100,0), +(@PATH,233,2145.396,-4476.492,260.5597,0,0,0,0,100,0), +(@PATH,234,2137.43,-4459.933,261.691,0,0,0,0,100,0), +(@PATH,235,2130.769,-4443.319,261.4178,0,0,0,0,100,0), +(@PATH,236,2125.71,-4427.077,260.7786,0,0,0,0,100,0), +(@PATH,237,2121.078,-4409.912,259.4034,0,0,0,0,100,0), +(@PATH,238,2116.066,-4391.729,256.8839,0,0,0,0,100,0), +(@PATH,239,2110.218,-4373.027,253.1455,0,0,0,0,100,0), +(@PATH,240,2105.732,-4357.7,249.3848,0,0,0,0,100,0), +(@PATH,241,2101.378,-4341.67,244.8545,0,0,0,0,100,0), +(@PATH,242,2096.695,-4324.966,239.7186,0,0,0,0,100,0), +(@PATH,243,2091.386,-4308.121,234.2892,0,0,0,0,100,0), +(@PATH,244,2085.056,-4291.282,228.7592,0,0,0,0,100,0), +(@PATH,245,2077.344,-4274.687,223.3504,0,0,0,0,100,0), +(@PATH,246,2069.002,-4260.209,218.6541,0,0,0,0,100,0), +(@PATH,247,2059.842,-4246.49,213.6165,0,0,0,0,100,0), +(@PATH,248,2049.46,-4232.339,208.0533,0,0,0,0,100,0), +(@PATH,249,2038.229,-4218.037,202.3802,0,0,0,0,100,0), +(@PATH,250,2026.325,-4203.612,196.9223,0,0,0,0,100,0), +(@PATH,251,2014.406,-4189.677,192.223,0,0,0,0,100,0), +(@PATH,252,2002.499,-4176.084,188.5589,0,0,0,0,100,0), +(@PATH,253,1991.118,-4163.265,186.4,0,0,0,0,100,0), +(@PATH,254,1980.133,-4150.911,186.1717,0,0,0,0,100,0), +(@PATH,255,1967.656,-4137.147,189.1347,0,0,0,0,100,0), +(@PATH,256,1955.593,-4124.359,195.033,0,0,0,0,100,0), +(@PATH,257,1943.927,-4112.546,202.8083,0,0,0,0,100,0), +(@PATH,258,1932.446,-4101.496,211.4719,0,0,0,0,100,0), +(@PATH,259,1920.958,-4091.026,220.0315,0,0,0,0,100,0), +(@PATH,260,1909.449,-4081.107,227.3716,0,0,0,0,100,0), +(@PATH,261,1896.112,-4070.187,233.6728,0,0,0,0,100,0), +(@PATH,262,1881.711,-4058.82,239.9983,0,0,0,0,100,0), +(@PATH,263,1867.177,-4048.092,245.9405,0,0,0,0,100,0), +(@PATH,264,1853.032,-4038.735,251.0147,0,0,0,0,100,0), +(@PATH,265,1839.338,-4031.089,254.9502,0,0,0,0,100,0), +(@PATH,266,1825.944,-4025.421,257.4778,0,0,0,0,100,0), +(@PATH,267,1809.285,-4021.613,257.9171,0,0,0,0,100,0), +(@PATH,268,1791.939,-4020.598,255.979,0,0,0,0,100,0), +(@PATH,269,1774.828,-4021.412,252.9435,0,0,0,0,100,0), +(@PATH,270,1758.35,-4022.942,250.0472,0,0,0,0,100,0), +(@PATH,271,1740.679,-4025.196,246.935,0,0,0,0,100,0), +(@PATH,272,1725.025,-4029.035,243.3118,0,0,0,0,100,0), +(@PATH,273,1710.132,-4034.917,239.6053,0,0,0,0,100,0), +(@PATH,274,1695.517,-4042.831,236.3092,0,0,0,0,100,0), +(@PATH,275,1680.435,-4053.033,233.0617,0,0,0,0,100,0), +(@PATH,276,1666.971,-4064.274,229.8546,0,0,0,0,100,0), +(@PATH,277,1657.59,-4075.063,226.6826,0,0,0,0,100,0), +(@PATH,278,1651.78,-4088.253,223.0625,0,0,0,0,100,0), +(@PATH,279,1650.519,-4102.87,219.3593,0,0,0,0,100,0), +(@PATH,280,1652.254,-4117.496,215.2804,0,0,0,0,100,0), +(@PATH,281,1656.852,-4132.258,210.9501,0,0,0,0,100,0), +(@PATH,282,1664.544,-4148.375,206.2254,0,0,0,0,100,0), +(@PATH,283,1673.097,-4162.16,202.0511,0,0,0,0,100,0), +(@PATH,284,1683.237,-4175.781,197.7508,0,0,0,0,100,0), +(@PATH,285,1694.797,-4189.847,193.4776,0,0,0,0,100,0), +(@PATH,286,1707.06,-4203.938,189.7254,0,0,0,0,100,0), +(@PATH,287,1718.838,-4216.889,186.956,0,0,0,0,100,0), +(@PATH,288,1730.887,-4229.196,184.764,0,0,0,0,100,0), +(@PATH,289,1743.695,-4241.563,183.2065,0,0,0,0,100,0), +(@PATH,290,1757.407,-4254.418,182.3882,0,0,0,0,100,0), +(@PATH,291,1770.998,-4266.899,182.4858,0,0,0,0,100,0), +(@PATH,292,1786.442,-4280.654,183.4359,0,0,0,0,100,0), +(@PATH,293,1801.985,-4294.292,184.7827,0,0,0,0,100,0), +(@PATH,294,1815.332,-4305.937,186.0635,0,0,0,0,100,0), +(@PATH,295,1823.079,-4312.73,186.7368,0,0,0,0,100,0), +(@PATH,296,1823.079,-4312.73,186.7368,0,0,0,0,100,0), +(@PATH,297,1807.846,-4325.581,162.9674,0,0,0,0,100,0), +(@PATH,298,1807.432,-4324.88,147.9789,0,0,0,0,100,0), +(@PATH,299,1807.792,-4325.482,131.6825,0,0,0,0,100,0), +(@PATH,300,1807.792,-4325.482,131.6825,0,0,0,0,100,0), +(@PATH,301,1824.376,-4325.779,131.6825,0,0,0,0,100,0), +(@PATH,302,1824.376,-4325.779,131.6825,0,0,0,0,100,0), +(@PATH,303,1824.376,-4325.779,131.6825,0,0,0,0,100,0), +(@PATH,304,1824.376,-4325.779,131.6825,-1.985682,5000,0,0,100,0); diff --git a/sql/updates/world/2015_07_31_00_world.sql b/sql/updates/world/2015_07_31_00_world.sql new file mode 100644 index 00000000000..08697f55816 --- /dev/null +++ b/sql/updates/world/2015_07_31_00_world.sql @@ -0,0 +1,279 @@ +-- DB/Pathing: Orgrimmar - Complete 'Roof' of that City +DELETE FROM `creature` WHERE `guid` IN (286799,311126,311127,311125,310878,310924,310922,287257,287256,287255,287254,287253,287252,286859,286860,286861,287247,287247,287247); +SET @NPC := 287152; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1582.58,`position_y`=-4349.62,`position_z`=21.153 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,1582.58,-4349.62,21.153,4.886922,5000,0,0,100,0), +(@PATH,2,1600.605,-4349.375,21.38635,0,0,0,0,100,0), +(@PATH,3,1611.13,-4341.13,21.1197,6.021386,5000,0,0,100,0), +(@PATH,4,1616.5,-4333.325,21.36925,0,0,0,0,100,0), +(@PATH,5,1624.5,-4321.325,21.36925,0,0,0,0,100,0), +(@PATH,6,1632.25,-4305.1,21.23968,0,0,0,0,100,0), +(@PATH,7,1629.665,-4306.11,21.44634,0,0,0,0,100,0), +(@PATH,8,1602.665,-4326.36,21.19634,0,0,0,0,100,0), +(@PATH,9,1596.415,-4344.11,21.19634,0,0,0,0,100,0), +(@PATH,10,1590.165,-4349.86,21.19634,0,0,0,0,100,0), +(@PATH,11,1582.58,-4349.62,21.153,4.886922,5000,0,0,100,0); + +SET @NPC := 286970; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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, 1476.08, -4180.59, 117.13, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 1482.02, -4186.54, 116.033, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 1487.52, -4190.36, 114.569, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 1497.14, -4195.27, 112.281, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 1508.99, -4200.23, 110.343, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 1520.51, -4206.08, 107.232, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 1525.82, -4210.04, 105.508, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 1534.7, -4218.01, 103.453, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 1536.9, -4220.32, 103.043, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 1539.57, -4223.04, 102.539, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 1534.9, -4217.83, 103.365, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 1526.71, -4208.91, 104.874, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 1519.39, -4203.54, 107.45, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 1509.23, -4199.49, 110.198, 0, 0, 0, 0, 100, 0), +(@PATH, 15, 1500.51, -4196.89, 112.015, 0, 0, 0, 0, 100, 0), +(@PATH, 16, 1490.85, -4194.18, 113.845, 0, 0, 0, 0, 100, 0), +(@PATH, 17, 1481.42, -4189.16, 116.687, 0, 0, 0, 0, 100, 0), +(@PATH, 18, 1475.95, -4182.8, 118.048, 0, 0, 0, 0, 100, 0), +(@PATH, 19, 1470.11, -4173.52, 118.75, 0, 0, 0, 0, 100, 0), +(@PATH, 20, 1465.99, -4163.74, 120.533, 0, 0, 0, 0, 100, 0), +(@PATH, 21, 1467.34, -4154.41, 120.164, 0, 0, 0, 0, 100, 0), +(@PATH, 22, 1475.24, -4143.78, 119.214, 0, 0, 0, 0, 100, 0), +(@PATH, 23, 1479.99, -4139.64, 118.711, 0, 0, 0, 0, 100, 0), +(@PATH, 24, 1485.24, -4135.36, 118.437, 0, 0, 0, 0, 100, 0), +(@PATH, 25, 1475.67, -4144.95, 118.799, 0, 0, 0, 0, 100, 0), +(@PATH, 26, 1468.32, -4153.7, 119.871, 0, 0, 0, 0, 100, 0), +(@PATH, 27, 1465.33, -4164.05, 120.831, 0, 0, 0, 0, 100, 0), +(@PATH, 28, 1468.88, -4172.37, 119.494, 0, 0, 0, 0, 100, 0), +(@PATH, 29, 1472.61, -4176.74, 118.048, 0, 0, 0, 0, 100, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=286884; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(286884, 286884, 0, 0, 2, 0, 0), +(286884, 286883, 3, 270, 2, 0, 0); + +SET @NPC := 286884; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1660.113,`position_y`=-4057.619,`position_z`=127.4508 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,1660.113,-4057.619,127.4508,0,0,0,0,100,0), +(@PATH,2,1666.363,-4054.119,128.2008,0,0,0,0,100,0), +(@PATH,3,1671.363,-4051.119,128.7008,0,0,0,0,100,0), +(@PATH,4,1674.363,-4049.369,129.2008,0,0,0,0,100,0), +(@PATH,5,1684.635,-4043.444,129.964,0,0,0,0,100,0), +(@PATH,6,1685.635,-4041.694,130.214,0,0,0,0,100,0), +(@PATH,7,1686.635,-4039.694,130.214,0,0,0,0,100,0), +(@PATH,8,1691.385,-4031.944,130.964,0,0,0,0,100,0), +(@PATH,9,1691.274,-4031.574,131.1229,0,0,0,0,100,0), +(@PATH,10,1692.774,-4029.074,131.3729,0,0,0,0,100,0), +(@PATH,11,1691.524,-4019.824,131.8729,0,0,0,0,100,0), +(@PATH,12,1691.274,-4018.074,131.8729,0,0,0,0,100,0), +(@PATH,13,1689.731,-4006.081,133.3835,0,0,0,0,100,0), +(@PATH,14,1689.231,-4005.081,133.6335,0,0,0,0,100,0), +(@PATH,15,1678.981,-3990.581,134.6335,0,0,0,0,100,0), +(@PATH,16,1677.231,-3988.081,134.8835,0,0,0,0,100,0), +(@PATH,17,1677.292,-3988.13,134.791,0,0,0,0,100,0), +(@PATH,18,1679.042,-3990.63,134.791,0,0,0,0,100,0), +(@PATH,19,1689.292,-4005.13,133.541,0,0,0,0,100,0), +(@PATH,20,1690.179,-4006.287,133.306,0,0,0,0,100,0), +(@PATH,21,1691.429,-4017.787,132.056,0,0,0,0,100,0), +(@PATH,22,1691.679,-4019.787,132.056,0,0,0,0,100,0), +(@PATH,23,1692.822,-4029.267,131.171,0,0,0,0,100,0), +(@PATH,24,1691.322,-4032.017,130.921,0,0,0,0,100,0), +(@PATH,25,1686.822,-4039.767,130.421,0,0,0,0,100,0), +(@PATH,26,1685.572,-4041.517,130.171,0,0,0,0,100,0), +(@PATH,27,1684.373,-4043.729,129.8849,0,0,0,0,100,0), +(@PATH,28,1674.373,-4049.479,129.3849,0,0,0,0,100,0), +(@PATH,29,1671.623,-4050.979,128.6349,0,0,0,0,100,0), +(@PATH,30,1666.373,-4054.229,128.3849,0,0,0,0,100,0), +(@PATH,31,1659.931,-4057.989,127.2083,0,0,0,0,100,0), +(@PATH,32,1645.931,-4063.239,125.2083,0,0,0,0,100,0), +(@PATH,33,1616.931,-4074.489,122.9583,0,0,0,0,100,0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=286865; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(286865, 286865, 0, 0, 2, 0, 0), +(286865, 286864, 3, 270, 2, 0, 0); + +SET @NPC := 286865; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1795.847,`position_y`=-3951.65,`position_z`=134.2392 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,1795.847,-3951.65,134.2392,0,0,0,0,100,0), +(@PATH,2,1797.097,-3955.9,133.7392,0,0,0,0,100,0), +(@PATH,3,1804.347,-3982.65,131.4892,0,0,0,0,100,0), +(@PATH,4,1807.597,-3994.9,129.9892,0,0,0,0,100,0), +(@PATH,5,1807.899,-3995.059,129.708,0,0,0,0,100,0), +(@PATH,6,1808.399,-3997.059,129.458,0,0,0,0,100,0), +(@PATH,7,1809.149,-4021.809,126.958,0,0,0,0,100,0), +(@PATH,8,1809.138,-4021.836,126.9843,0,0,0,0,100,0), +(@PATH,9,1808.162,-3996.775,129.8237,0,0,0,0,100,0), +(@PATH,10,1807.662,-3994.775,130.0737,0,0,0,0,100,0), +(@PATH,11,1804.162,-3982.775,131.5737,0,0,0,0,100,0), +(@PATH,12,1797.162,-3956.025,133.8237,0,0,0,0,100,0), +(@PATH,13,1795.725,-3951.347,134.4281,0,0,0,0,100,0), +(@PATH,14,1789.975,-3933.597,135.9281,0,0,0,0,100,0), +(@PATH,15,1789.783,-3933.488,136.0831,0,0,0,0,100,0), +(@PATH,16,1795.825,-3951.583,134.2462,0,0,0,0,100,0); + +SET @NPC := 286830; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2 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,1772.84,-4379.08,101.764,0,0,0,0,100,0), +(@PATH,2,1778.14,-4375.21,102.587,0,0,0,0,100,0), +(@PATH,3,1783.33,-4366.61,102.764,0,0,0,0,100,0), +(@PATH,4,1784.04,-4357.92,102.56,0,0,0,0,100,0), +(@PATH,5,1778.65,-4350.98,102.823,0,0,0,0,100,0), +(@PATH,6,1769.76,-4339.34,101.95,0,0,0,0,100,0), +(@PATH,7,1763.85,-4331.95,101.841,0,0,0,0,100,0), +(@PATH,8,1758.97,-4324.76,103.488,0,0,0,0,100,0), +(@PATH,9,1752.18,-4313.64,101.994,0,0,0,0,100,0), +(@PATH,10,1744.05,-4300.96,102.606,0,0,0,0,100,0), +(@PATH,11,1733.95,-4288.79,101.52,0,0,0,0,100,0), +(@PATH,12,1724.84,-4280.11,103.078,0,0,0,0,100,0), +(@PATH,13,1716.3,-4274.71,102.123,0,0,0,0,100,0), +(@PATH,14,1713.24,-4268.93,101.724,0,0,0,0,100,0), +(@PATH,15,1712.84,-4262.2,101.724,0,0,0,0,100,0), +(@PATH,16,1707.99,-4257.8,101.725,0,0,0,0,100,0), +(@PATH,17,1701.07,-4258.26,101.724,0,0,0,0,100,0), +(@PATH,18,1697.36,-4259.23,101.724,0,0,0,0,100,0), +(@PATH,19,1697.36,-4259.23,101.724,0,0,0,0,100,0), +(@PATH,20,1697.36,-4259.23,101.724,2.460914,5000,0,0,100,0), +(@PATH,21,1697.6,-4263.405,101.994,0,0,0,0,100,0), +(@PATH,22,1697.85,-4269.155,101.994,0,0,0,0,100,0), +(@PATH,23,1701.85,-4274.405,101.994,0,0,0,0,100,0), +(@PATH,24,1708.85,-4273.655,101.994,0,0,0,0,100,0), +(@PATH,25,1714.35,-4273.905,102.244,0,0,0,0,100,0), +(@PATH,26,1728.6,-4286.405,101.744,0,0,0,0,100,0), +(@PATH,27,1739.85,-4299.905,103.244,0,0,0,0,100,0), +(@PATH,28,1749.6,-4314.655,102.244,0,0,0,0,100,0), +(@PATH,29,1756.35,-4324.905,103.744,0,0,0,0,100,0), +(@PATH,30,1763.6,-4335.655,101.994,0,0,0,0,100,0), +(@PATH,31,1769.6,-4343.405,102.244,0,0,0,0,100,0), +(@PATH,32,1774.6,-4349.905,103.244,0,0,0,0,100,0), +(@PATH,33,1781.6,-4359.155,102.994,0,0,0,0,100,0), +(@PATH,34,1782.6,-4364.405,102.994,0,0,0,0,100,0), +(@PATH,35,1778.35,-4371.405,102.994,0,0,0,0,100,0); + +SET @NPC := 310962; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1811.399,`position_y`=-4351.669,`position_z`=102.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,1811.399,-4351.669,102.7625,0,0,0,0,100,0), +(@PATH,2,1811.438,-4352.036,102.6394,0,0,0,0,100,0), +(@PATH,3,1811.688,-4354.036,102.8894,0,0,0,0,100,0), +(@PATH,4,1813.71,-4353.58,102.7915,1.710423,5000,0,0,100,0), +(@PATH,5,1811.535,-4353.56,102.8446,0,0,0,0,100,0), +(@PATH,6,1811.109,-4349.543,102.6839,0,0,0,0,100,0), +(@PATH,7,1811.817,-4345.384,102.5037,0,0,0,0,100,0), +(@PATH,8,1812.567,-4343.384,102.5037,0,0,0,0,100,0), +(@PATH,9,1812.931,-4343.214,102.3251,0,0,0,0,100,0), +(@PATH,10,1813.431,-4341.714,102.3251,0,0,0,0,100,0), +(@PATH,11,1813.431,-4340.214,102.3251,0,0,0,0,100,0), +(@PATH,12,1813.41,-4339.825,102.2658,0,0,0,0,100,0), +(@PATH,13,1813.176,-4340.16,102.3639,0,0,0,0,100,0), +(@PATH,14,1812.926,-4341.16,102.3639,0,0,0,0,100,0), +(@PATH,15,1812.426,-4342.16,102.3639,0,0,0,0,100,0), +(@PATH,16,1811.674,-4343.991,102.2712,0,0,0,0,100,0), +(@PATH,17,1811.29,-4348.261,102.6309,0,0,0,0,100,0), +(@PATH,18,1811.399,-4351.914,102.7623,0,0,0,0,100,0); + +SET @NPC := 310977; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1821.185,`position_y`=-4383.9,`position_z`=103.6216 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,1821.185,-4383.9,103.6216,0,0,0,0,100,0), +(@PATH,2,1816.625,-4386.891,103.3357,0,0,0,0,100,0), +(@PATH,3,1808.012,-4386.565,103.1792,0,0,0,0,100,0), +(@PATH,4,1806.262,-4386.565,103.1792,0,0,0,0,100,0), +(@PATH,5,1801.39,-4386.062,103.4776,0,0,0,0,100,0), +(@PATH,6,1802.4,-4387.6,103.4435,0,0,0,0,100,0), +(@PATH,7,1802.54,-4387.46,103.6431,0,0,0,0,100,0), +(@PATH,8,1807.706,-4388.32,103.0164,0,0,0,0,100,0), +(@PATH,9,1812.151,-4388.348,103.0451,0,0,0,0,100,0), +(@PATH,10,1817.385,-4387.065,103.3176,0,0,0,0,100,0), +(@PATH,11,1821.385,-4384.065,103.5676,0,0,0,0,100,0); + +SET @NPC := 310982; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1855.755,`position_y`=-4406.695,`position_z`=104.059 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,1855.755,-4406.695,104.059,0,0,0,0,100,0), +(@PATH,2,1854.255,-4404.445,104.059,0,0,0,0,100,0), +(@PATH,3,1850.755,-4401.195,104.059,0,0,0,0,100,0), +(@PATH,4,1846.755,-4397.195,104.059,0,0,0,0,100,0), +(@PATH,5,1842.505,-4393.695,104.059,0,0,0,0,100,0), +(@PATH,6,1840.005,-4391.945,104.059,0,0,0,0,100,0), +(@PATH,7,1838.255,-4392.445,103.809,0,0,0,0,100,0), +(@PATH,8,1837.255,-4394.195,103.809,0,0,0,0,100,0), +(@PATH,9,1838.755,-4397.695,103.809,0,0,0,0,100,0), +(@PATH,10,1839.505,-4398.195,103.809,0,0,0,0,100,0), +(@PATH,11,1838.505,-4395.945,103.809,0,0,0,0,100,0), +(@PATH,12,1838.505,-4393.945,103.809,0,0,0,0,100,0), +(@PATH,13,1839.755,-4392.445,104.059,0,0,0,0,100,0), +(@PATH,14,1842.005,-4393.445,104.059,0,0,0,0,100,0), +(@PATH,15,1846.005,-4396.695,104.059,0,0,0,0,100,0), +(@PATH,16,1851.005,-4401.945,104.059,0,0,0,0,100,0), +(@PATH,17,1854.707,-4407.343,103.955,0,0,0,0,100,0), +(@PATH,18,1855.27,-4408.17,103.955,0,0,0,0,100,0), +(@PATH,19,1855.69,-4406.9,103.954,0,0,0,0,100,0); + +SET @NPC := 286504; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2058.88,`position_y`=-4730.48,`position_z`=27.774 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,2058.88,-4730.48,27.774,2.635447,5000,0,0,100,0), +(@PATH,2,2058.83,-4734.94,27.96475,0,0,0,0,100,0), +(@PATH,3,2060.08,-4742.19,27.96475,0,0,0,0,100,0), +(@PATH,4,2061.58,-4750.44,27.96475,0,0,0,0,100,0), +(@PATH,5,2062.58,-4762.19,27.71475,0,0,0,0,100,0), +(@PATH,6,2062.33,-4774.69,27.71475,0,0,0,0,100,0), +(@PATH,7,2067.08,-4785.44,27.71475,0,0,0,0,100,0), +(@PATH,8,2069.08,-4794.44,27.71475,0,0,0,0,100,0), +(@PATH,9,2063.58,-4803.69,27.71475,0,0,0,0,100,0), +(@PATH,10,2057.58,-4814.94,27.71475,0,0,0,0,100,0), +(@PATH,11,2053.08,-4823.44,27.71475,0,0,0,0,100,0), +(@PATH,12,2053.33,-4824.69,27.71475,0,0,0,0,100,0), +(@PATH,13,2058.83,-4818.44,27.71475,0,0,0,0,100,0), +(@PATH,14,2062.58,-4810.69,27.71475,0,0,0,0,100,0), +(@PATH,15,2066.58,-4805.44,27.71475,0,0,0,0,100,0), +(@PATH,16,2069.83,-4799.94,27.71475,0,0,0,0,100,0), +(@PATH,17,2071.58,-4793.69,27.71475,0,0,0,0,100,0), +(@PATH,18,2069.58,-4785.19,27.71475,0,0,0,0,100,0), +(@PATH,19,2066.33,-4777.19,27.71475,0,0,0,0,100,0), +(@PATH,20,2064.83,-4767.44,27.71475,0,0,0,0,100,0), +(@PATH,21,2064.58,-4758.44,27.71475,0,0,0,0,100,0), +(@PATH,22,2063.83,-4748.94,27.71475,0,0,0,0,100,0), +(@PATH,23,2060.83,-4742.19,27.96475,0,0,0,0,100,0), +(@PATH,24,2058.83,-4734.19,27.96475,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_31_01_world.sql b/sql/updates/world/2015_07_31_01_world.sql new file mode 100644 index 00000000000..e34e68529b4 --- /dev/null +++ b/sql/updates/world/2015_07_31_01_world.sql @@ -0,0 +1,19 @@ +-- DB/Quest: The Far Watch Offensive 4.x + 6.x +-- Areatrigger SAI +SET @ENTRY := 6135; +DELETE FROM `areatrigger_scripts` WHERE `entry`=@ENTRY; +INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES (@ENTRY,"SmartTrigger"); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=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 +(@ENTRY,2,0,0,46,0,100,0,6135,0,0,0,45,1,1,0,0,0,0,10,303897,3438,0,0,0,0,0,"Areatrigger - On Trigger - Set Data 1 1"); + +-- Kreenig Snarlsnout SAI +SET @ENTRY := 3438; +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,38,0,100,1,1,1,0,0,1,0,0,0,0,0,0,21,200,0,0,0,0,0,0,"Kreenig Snarlsnout - On Data Set 1 1 - Say Line 0 (No Repeat)"); + +DELETE FROM `creature_text` WHERE `entry`=3438; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(3438, 0, 0, 'Come and face me! *snort* I can smell your $r stench from here.', 14, 0, 100, 0, 0, 0, 'Kreenig Snarlsnout', 44319); diff --git a/sql/updates/world/2015_07_31_02_world.sql b/sql/updates/world/2015_07_31_02_world.sql new file mode 100644 index 00000000000..d584737d4f1 --- /dev/null +++ b/sql/updates/world/2015_07_31_02_world.sql @@ -0,0 +1,193 @@ +-- Trok 4.x + 6.x +DELETE FROM `creature_formations` WHERE `leaderGUID`=303759; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(303759, 303759, 0, 0, 0, 0, 0), +(303759, 303762, 3, 30, 0, 0, 0), +(303759, 303764, 3, 60, 0, 0, 0), +(303759, 303763, 3, 330, 0, 0, 0), +(303759, 303761, 3, 300, 0, 0, 0); + +-- Trok SAI +SET @ENTRY := 14872; +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,10000,10000,10000,10000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Trok - Out of Combat - Say Line 0"); + +DELETE FROM `creature_text` WHERE `entry`=14872; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(14872, 0, 0, 'Help! I''m being chased by a swarm of bees!', 12, 1, 100, 0, 0, 0, 10259, 'Trok'), +(14872, 0, 1, 'I''m so tired of running, but these bees won''t leave me alone!', 12, 1, 100, 0, 0, 0, 10260, 'Trok'), +(14872, 0, 2, 'I didn''t know bees didn''t like fire!', 12, 1, 100, 0, 0, 0, 10261, 'Trok'), +(14872, 1, 3, 'Karu will you please help get these bees off of me? They sting!', 12, 1, 100, 0, 0, 0, 10262, 'Trok'); + +SET @NPC := 303759; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=208.3277,`position_y`=-2984.533,`position_z`=93.41618 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,208.3277,-2984.533,93.41618,0,0,1,0,100,0), +(@PATH,2,214.3277,-2975.783,92.41618,0,0,1,0,100,0), +(@PATH,3,214.4524,-2975.595,92.45035,0,0,1,0,100,0), +(@PATH,4,218.2024,-2970.345,92.20035,0,0,1,0,100,0), +(@PATH,5,214.7024,-2963.345,92.45035,0,0,1,0,100,0), +(@PATH,6,214.8174,-2963.406,92.42918,0,0,1,0,100,0), +(@PATH,7,213.5674,-2961.156,92.67918,0,0,1,0,100,0), +(@PATH,8,195.6956,-2969.93,92.3918,0,0,1,0,100,0), +(@PATH,9,190.3945,-2990.763,92.83701,0,0,1,0,100,0), +(@PATH,10,194.1445,-2998.763,92.08701,0,0,1,0,100,0), +(@PATH,11,194.0587,-2998.934,92.41968,0,0,1,0,100,0), +(@PATH,12,197.0587,-3005.184,92.16968,0,0,1,0,100,0), +(@PATH,13,204.8087,-3008.934,92.91968,0,0,1,0,100,0), +(@PATH,14,206.5587,-3009.934,93.66968,0,0,1,0,100,0), +(@PATH,15,209.0587,-3011.184,94.66968,0,0,1,0,100,0), +(@PATH,16,211.0587,-3012.184,95.41968,0,0,1,0,100,0), +(@PATH,17,206.8103,-3010.117,93.97746,0,0,1,0,100,0), +(@PATH,18,209.3103,-3011.367,94.47746,0,0,1,0,100,0), +(@PATH,19,211.3103,-3012.367,95.22746,0,0,1,0,100,0), +(@PATH,20,211.3103,-3012.617,95.47746,0,0,1,0,100,0), +(@PATH,21,213.8103,-3013.617,95.72746,0,0,1,0,100,0), +(@PATH,22,214.1222,-3014.03,95.90149,0,0,1,0,100,0), +(@PATH,23,217.8722,-3016.03,96.15149,0,0,1,0,100,0), +(@PATH,24,217.8722,-3023.03,95.40149,0,0,1,0,100,0), +(@PATH,25,217.6222,-3026.78,94.65149,0,0,1,0,100,0), +(@PATH,26,217.6222,-3029.78,94.40149,0,0,1,0,100,0), +(@PATH,27,217.9783,-3027.129,95.01676,0,0,1,0,100,0), +(@PATH,28,217.9783,-3030.129,94.26676,0,0,1,0,100,0), +(@PATH,29,217.7283,-3033.379,94.51676,0,0,1,0,100,0), +(@PATH,30,217.9783,-3034.379,95.01676,0,0,1,0,100,0), +(@PATH,31,218.7283,-3038.379,95.26676,0,0,1,0,100,0), +(@PATH,32,218.1058,-3034.597,95.06687,0,0,1,0,100,0), +(@PATH,33,218.8558,-3038.597,95.31687,0,0,1,0,100,0), +(@PATH,34,219.6058,-3040.847,95.81687,0,0,1,0,100,0), +(@PATH,35,223.8558,-3043.097,96.56687,0,0,1,0,100,0), +(@PATH,36,218.3195,-3046.51,95.85423,0,0,1,0,100,0), +(@PATH,37,215.5695,-3046.26,94.85423,0,0,1,0,100,0), +(@PATH,38,213.5695,-3045.76,94.10423,0,0,1,0,100,0), +(@PATH,39,211.5695,-3045.51,93.60423,0,0,1,0,100,0), +(@PATH,40,208.8195,-3045.01,92.85423,0,0,1,0,100,0), +(@PATH,41,205.8195,-3044.51,92.10423,0,0,1,0,100,0), +(@PATH,42,208.5269,-3044.983,92.51109,0,0,1,0,100,0), +(@PATH,43,205.5269,-3044.483,92.26109,0,0,1,0,100,0), +(@PATH,44,200.2769,-3043.483,92.26109,0,0,1,0,100,0), +(@PATH,45,199.3011,-3058.522,91.95006,0,0,1,0,100,0), +(@PATH,46,213.6869,-3057.947,92.64718,0,0,1,0,100,0), +(@PATH,47,214.9369,-3055.447,93.39718,0,0,1,0,100,0), +(@PATH,48,215.9369,-3053.697,94.14718,0,0,1,0,100,0), +(@PATH,49,216.9369,-3051.947,94.64718,0,0,1,0,100,0), +(@PATH,50,217.9369,-3050.447,95.39718,0,0,1,0,100,0), +(@PATH,51,218.9369,-3048.697,95.89718,0,0,1,0,100,0), +(@PATH,52,218.9457,-3048.589,96.01563,0,0,1,0,100,0), +(@PATH,53,222.6957,-3042.089,96.51563,0,0,1,0,100,0), +(@PATH,54,220.1957,-3037.839,95.76563,0,0,1,0,100,0), +(@PATH,55,219.4457,-3036.089,95.01563,0,0,1,0,100,0), +(@PATH,56,217.9457,-3033.589,94.51563,0,0,1,0,100,0), +(@PATH,57,216.4457,-3030.839,94.01563,0,0,1,0,100,0), +(@PATH,58,213.4457,-3024.839,93.26563,0,0,1,0,100,0), +(@PATH,59,210.9457,-3020.339,94.01563,0,0,1,0,100,0), +(@PATH,60,213.1537,-3024.447,92.99397,0,0,1,0,100,0), +(@PATH,61,210.9037,-3020.197,93.74397,0,0,1,0,100,0), +(@PATH,62,210.4037,-3019.447,93.74397,0,0,1,0,100,0), +(@PATH,63,207.9037,-3017.697,92.99397,0,0,1,0,100,0), +(@PATH,64,205.1537,-3015.197,92.49397,0,0,1,0,100,0), +(@PATH,65,195.8551,-3007.947,91.97503,0,0,1,0,100,0), +(@PATH,66,196.3405,-2990.304,92.28298,0,0,1,0,100,0), +(@PATH,67,205.5905,-2984.804,92.78298,0,0,1,0,100,0), +(@PATH,68,209.5936,-2985.285,93.96368,0,0,1,0,100,0), +(@PATH,69,208.5936,-2992.285,94.71368,0,0,1,0,100,0), +(@PATH,70,208.0936,-2997.285,93.96368,0,0,1,0,100,0), +(@PATH,71,207.5936,-3001.035,93.21368,0,0,1,0,100,0), +(@PATH,72,205.8935,-3013.946,93.09561,0,0,1,0,100,0), +(@PATH,73,207.8935,-3013.446,94.09561,0,0,1,0,100,0), +(@PATH,74,208.8935,-3013.196,94.34561,0,0,1,0,100,0), +(@PATH,75,210.6435,-3012.696,95.09561,0,0,1,0,100,0), +(@PATH,76,210.8413,-3013.034,95.25333,0,0,1,0,100,0), +(@PATH,77,213.5913,-3012.034,95.75333,0,0,1,0,100,0), +(@PATH,78,221.1634,-3016.889,96.20912,0,0,1,0,100,0), +(@PATH,79,222.8369,-3027.971,96.03332,0,0,1,0,100,0), +(@PATH,80,225.8369,-3027.971,96.53332,0,0,1,0,100,0), +(@PATH,81,228.5869,-3027.971,97.03332,0,0,1,0,100,0), +(@PATH,82,232.5869,-3027.721,97.53332,0,0,1,0,100,0), +(@PATH,83,225.8138,-3028.087,96.2298,0,0,1,0,100,0), +(@PATH,84,228.8138,-3028.087,96.9798,0,0,1,0,100,0), +(@PATH,85,232.8138,-3028.087,97.4798,0,0,1,0,100,0), +(@PATH,86,234.0638,-3028.087,97.7298,0,0,1,0,100,0), +(@PATH,87,243.0638,-3041.087,97.2298,0,0,1,0,100,0), +(@PATH,88,243.1479,-3041.456,97.15866,0,0,1,0,100,0), +(@PATH,89,243.8979,-3042.456,96.90866,0,0,1,0,100,0), +(@PATH,90,245.6479,-3048.206,96.40866,0,0,1,0,100,0), +(@PATH,91,252.3979,-3072.956,95.90866,0,0,1,0,100,0), +(@PATH,92,253.6479,-3076.956,95.40866,0,0,1,0,100,0), +(@PATH,93,252.8096,-3073.445,95.80983,0,0,1,0,100,0), +(@PATH,94,253.8096,-3076.945,95.30983,0,0,1,0,100,0), +(@PATH,95,254.5596,-3079.195,95.30983,0,0,1,0,100,0), +(@PATH,96,259.5596,-3079.445,95.80983,0,0,1,0,100,0), +(@PATH,97,267.9379,-3079.989,96.17749,0,0,1,0,100,0), +(@PATH,98,270.9379,-3076.489,96.67749,0,0,1,0,100,0), +(@PATH,99,270.6745,-3068.651,97.42564,0,0,1,0,100,0), +(@PATH,100,266.6745,-3062.901,97.92564,0,0,1,0,100,0), +(@PATH,101,260.9245,-3054.901,97.42564,0,0,1,0,100,0), +(@PATH,102,257.6745,-3050.151,96.92564,0,0,1,0,100,0), +(@PATH,103,248.6745,-3038.151,97.42564,0,0,1,0,100,0), +(@PATH,104,246.4245,-3034.901,97.92564,0,0,1,0,100,0), +(@PATH,105,243.6962,-3031.323,98.18463,0,0,1,0,100,0), +(@PATH,106,236.1172,-3037.736,97.73177,0,0,1,0,100,0), +(@PATH,107,230.1172,-3042.736,97.23177,0,0,1,0,100,0), +(@PATH,108,230.1608,-3043.067,96.96597,0,0,1,0,100,0), +(@PATH,109,228.9108,-3044.067,96.96597,0,0,1,0,100,0), +(@PATH,110,239.9108,-3050.317,96.46597,0,0,1,0,100,0), +(@PATH,111,240.185,-3050.621,96.58394,0,0,1,0,100,0), +(@PATH,112,241.185,-3051.121,96.58394,0,0,1,0,100,0), +(@PATH,113,255.685,-3057.121,97.08394,0,0,1,0,100,0), +(@PATH,114,255.9355,-3057.419,97.01665,0,0,1,0,100,0), +(@PATH,115,259.6855,-3058.919,97.76665,0,0,1,0,100,0), +(@PATH,116,271.9355,-3070.419,97.26665,0,0,1,0,100,0), +(@PATH,117,272.1206,-3070.531,97.25916,0,0,1,0,100,0), +(@PATH,118,273.6206,-3072.031,97.00916,0,0,1,0,100,0), +(@PATH,119,276.6206,-3076.031,96.25916,0,0,1,0,100,0), +(@PATH,120,279.6206,-3080.781,95.50916,0,0,1,0,100,0), +(@PATH,121,281.3706,-3083.281,94.50916,0,0,1,0,100,0), +(@PATH,122,282.6206,-3084.781,93.75916,0,0,1,0,100,0), +(@PATH,123,283.6206,-3086.531,92.50916,0,0,1,0,100,0), +(@PATH,124,284.1089,-3086.748,92.52485,0,0,1,0,100,0), +(@PATH,125,289.1089,-3093.998,92.27485,0,0,1,0,100,0), +(@PATH,126,309.8589,-3093.748,92.77485,0,0,1,0,100,0), +(@PATH,127,310.1771,-3093.723,92.50008,0,0,1,0,100,0), +(@PATH,128,312.4271,-3093.723,92.75008,0,0,1,0,100,0), +(@PATH,129,321.9271,-3083.723,92.25008,0,0,1,0,100,0), +(@PATH,130,328.3951,-3076.796,91.88872,0,0,1,0,100,0), +(@PATH,131,307.6125,-3065.445,92.25626,0,0,1,0,100,0), +(@PATH,132,294.8625,-3065.445,93.00626,0,0,1,0,100,0), +(@PATH,133,292.8625,-3065.445,93.75626,0,0,1,0,100,0), +(@PATH,134,290.8625,-3065.445,94.25626,0,0,1,0,100,0), +(@PATH,135,288.8625,-3065.445,95.00626,0,0,1,0,100,0), +(@PATH,136,284.8625,-3065.445,95.75626,0,0,1,0,100,0), +(@PATH,137,284.5811,-3065.265,95.96494,0,0,1,0,100,0), +(@PATH,138,280.0811,-3065.265,96.46494,0,0,1,0,100,0), +(@PATH,139,277.0811,-3065.265,96.71494,0,0,1,0,100,0), +(@PATH,140,275.3311,-3065.265,97.21494,0,0,1,0,100,0), +(@PATH,141,271.0811,-3064.265,97.46494,0,0,1,0,100,0), +(@PATH,142,266.8311,-3064.265,97.96494,0,0,1,0,100,0), +(@PATH,143,265.1016,-3052.868,97.46735,0,0,1,0,100,0), +(@PATH,144,261.6016,-3047.118,96.96735,0,0,1,0,100,0), +(@PATH,145,248.974,-3039.003,97.26952,0,0,1,0,100,0), +(@PATH,146,242.474,-3037.003,97.76952,0,0,1,0,100,0), +(@PATH,147,230.224,-3033.003,97.26952,0,0,1,0,100,0), +(@PATH,148,226.474,-3031.753,96.51952,0,0,1,0,100,0), +(@PATH,149,230.0052,-3032.802,97.08563,0,0,1,0,100,0), +(@PATH,150,226.2552,-3031.552,96.58563,0,0,1,0,100,0), +(@PATH,151,225.5052,-3031.302,96.33563,0,0,1,0,100,0), +(@PATH,152,222.7552,-3030.052,95.58563,0,0,1,0,100,0), +(@PATH,153,219.2552,-3028.552,94.83563,0,0,1,0,100,0), +(@PATH,154,216.5052,-3027.302,94.33563,0,0,1,0,100,0), +(@PATH,155,214.7552,-3026.552,93.33563,0,0,1,0,100,0), +(@PATH,156,212.0052,-3025.302,92.58563,0,0,1,0,100,0), +(@PATH,157,214.4791,-3026.336,93.28333,0,0,1,0,100,0), +(@PATH,158,211.7291,-3025.086,92.78333,0,0,1,0,100,0), +(@PATH,159,208.2291,-3023.336,92.53333,0,0,1,0,100,0), +(@PATH,160,206.7291,-3015.836,93.03333,0,0,1,0,100,0), +(@PATH,161,206.7761,-3015.526,92.97921,0,0,1,0,100,0), +(@PATH,162,205.0261,-3006.026,92.72921,0,0,1,0,100,0), +(@PATH,163,206.5261,-2996.526,92.97921,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_31_03_world.sql b/sql/updates/world/2015_07_31_03_world.sql new file mode 100644 index 00000000000..060ee888745 --- /dev/null +++ b/sql/updates/world/2015_07_31_03_world.sql @@ -0,0 +1,885 @@ +-- DB/Pathing: Northern Barrens +UPDATE `creature` SET `spawndist`=15, `MovementType`=1 WHERE `id` IN (3255,3416,3245,3415,3242,3246,3425,3248,3244,34640,44166); +UPDATE `creature` SET `spawndist`=6, `MovementType`=1 WHERE `id` IN (3271,34545,3269,3267,3265); +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (3268,3266); +UPDATE `creature` SET `spawndist`=10, `MovementType`=1 WHERE `id` IN (44164,3256,34503); +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (34640,44057); +UPDATE `creature_template` SET `flags_extra`=128 WHERE `entry` IN (34641,34641); +UPDATE `creature` SET `spawndist`=10, `MovementType`=01 WHERE `guid`=303973; + +-- cook +-- Lokarbo SAI +SET @ENTRY := 43956; +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,1000,30000,30000,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Lokarbo - Out of Combat - Run Script"); +-- Actionlist SAI +SET @ENTRY := 4395600; +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,66,0,0,0,0,0,0,8,0,0,0,0,0,0,5.511383,"On Script - Set Orientation 5,511383"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,17,233,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 28"), +(@ENTRY,9,2,0,0,0,100,0,8000,8000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,3.327976,"On Script - Set Orientation 3,327976"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 69"), +(@ENTRY,9,4,0,0,0,100,0,10000,10000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Set Emote State 0"); + +-- Dorak SAI +SET @ENTRY := 34284; +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,53,1,34284,1,0,0,0,1,0,0,0,0,0,0,0,"Dorak - On Reset - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,2,34284,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dorak - On Waypoint 2 Reached - Pause Waypoint"), +(@ENTRY,0,2,3,40,0,100,0,4,34284,0,0,5,15,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dorak - On Waypoint 4 Reached - Play Emote 15"), +(@ENTRY,0,3,0,61,0,100,0,4,34284,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dorak - On Waypoint 4 Reached - Pause Waypoint"); + +DELETE FROM `waypoints` WHERE `entry`=34284; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(34284, 1, 68.3908, -3655.05, 27.2275, 'Dorak'), +(34284, 2, 65.6666, -3654.42, 27.2899, 'Dorak'), +(34284, 3, 70.9096, -3618.55, 28.506, 'Dorak'), +(34284, 4, 68.826, -3618.87, 28.6913, 'Dorak'); + +-- sleep +DELETE FROM `creature_addon` WHERE `guid` IN (303735, 303733); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(303735,0,0,3,1,0, ''), +(303733,0,0,3,1,0, ''); + +DELETE FROM `creature_addon` WHERE `guid` IN (302190); +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(302190,0,0,1,1,0, ''); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=303909; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(303909, 303909, 0, 0, 2, 0, 0), +(303909, 303907, 3, 45, 2, 0, 0), +(303909, 303908, 3, 315, 2, 0, 0); + +-- griaffe + +DELETE FROM `creature_formations` WHERE `leaderGUID`=302229; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(302229, 302229, 0, 0, 2, 0, 0), +(302229, 302225, 4, 0, 2, 0, 0), +(302229, 302227, 10, 0, 2, 0, 0), +(302229, 302230, 6, 60, 2, 0, 0), +(302229, 302231, 6, 300, 2, 0, 0), +(302229, 302228, 8, 60, 2, 0, 0), +(302229, 302232, 8, 300, 2, 0, 0); + +SET @NPC := 302229; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-591.0389,`position_y`=-3562.209,`position_z`=91.78902 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=-591.0389,`position_y`=-3562.209,`position_z`=91.78902 WHERE `guid` IN (302225,302227,302230,302231,302228,302232); +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,-591.0389,-3562.209,91.78902,0,0,0,0,100,0), +(@PATH,2,-588.0886,-3562.99,91.78535,0,0,0,0,100,0), +(@PATH,3,-585.0549,-3564.003,91.90669,0,0,0,0,100,0), +(@PATH,4,-582.8528,-3564.795,91.9189,0,0,0,0,100,0), +(@PATH,5,-579.9396,-3565.619,91.78902,0,0,0,0,100,0), +(@PATH,6,-577.1524,-3566.757,91.789,0,0,0,0,100,0), +(@PATH,7,-575.1255,-3568.542,91.82635,0,0,0,0,100,0), +(@PATH,8,-573.8477,-3570.814,91.92499,0,0,0,0,100,0), +(@PATH,9,-572.8024,-3573.548,92.12836,0,0,0,0,100,0), +(@PATH,10,-571.886,-3576.283,92.44159,0,0,0,0,100,0), +(@PATH,11,-572.1017,-3578.838,92.68695,0,0,0,0,100,0), +(@PATH,12,-573.5018,-3578.973,92.87691,0,0,0,0,100,0), +(@PATH,13,-574.4412,-3581.29,93.31703,0,0,0,0,100,0), +(@PATH,14,-577.8175,-3585.935,92.88861,0,0,0,0,100,0), +(@PATH,15,-580.2591,-3587.313,92.7204,0,0,0,0,100,0), +(@PATH,16,-581.8243,-3588.061,92.62587,0,0,0,0,100,0), +(@PATH,17,-582.5677,-3588.407,92.44985,0,0,0,0,100,0), +(@PATH,18,-586.3956,-3591.548,92.27977,0,0,0,0,100,0), +(@PATH,19,-590.0269,-3594.148,91.80365,0,0,0,0,100,0), +(@PATH,20,-592.6264,-3595.693,91.74335,0,0,0,0,100,0), +(@PATH,21,-591.7633,-3594.55,91.914,0,0,0,0,100,0), +(@PATH,22,-594.2666,-3595.932,91.789,0,0,0,0,100,0), +(@PATH,23,-596.7737,-3597.263,91.789,0,0,0,0,100,0), +(@PATH,24,-599.3653,-3598.417,91.789,0,0,0,0,100,0), +(@PATH,25,-602.0683,-3599.218,91.789,0,0,0,0,100,0), +(@PATH,26,-608.798,-3601.819,91.789,0,0,0,0,100,0), +(@PATH,27,-611.4841,-3602.583,91.789,0,0,0,0,100,0), +(@PATH,28,-614.0052,-3602.638,91.789,0,0,0,0,100,0), +(@PATH,29,-616.5444,-3603.393,91.789,0,0,0,0,100,0), +(@PATH,30,-619.3514,-3604.509,91.789,0,0,0,0,100,0), +(@PATH,31,-621.8402,-3604.911,91.789,0,0,0,0,100,0), +(@PATH,32,-625.0182,-3605.715,91.789,0,0,0,0,100,0), +(@PATH,33,-627.6204,-3606.449,91.789,0,0,0,0,100,0), +(@PATH,34,-630.657,-3606.701,91.789,0,0,0,0,100,0), +(@PATH,35,-633.3206,-3606.75,91.789,0,0,0,0,100,0), +(@PATH,36,-636.3915,-3606.781,91.789,0,0,0,0,100,0), +(@PATH,37,-639.5804,-3606.751,91.789,0,0,0,0,100,0), +(@PATH,38,-642.2101,-3606.655,91.789,0,0,0,0,100,0), +(@PATH,39,-645.3203,-3606.528,92.03998,0,0,0,0,100,0), +(@PATH,40,-646.5802,-3606.649,92.82047,0,0,0,0,100,0), +(@PATH,41,-646.8903,-3606.391,92.65396,0,0,0,0,100,0), +(@PATH,42,-649.4845,-3606.254,93.11131,0,0,0,0,100,0), +(@PATH,43,-657.1104,-3605.572,93.414,0,0,0,0,100,0), +(@PATH,44,-660.3222,-3605.726,93.48773,0,0,0,0,100,0), +(@PATH,45,-662.9648,-3605.028,93.42059,0,0,0,0,100,0), +(@PATH,46,-665.6725,-3604.86,93.289,0,0,0,0,100,0), +(@PATH,47,-668.2249,-3604.24,93.08726,0,0,0,0,100,0), +(@PATH,48,-670.7357,-3603.466,92.76475,0,0,0,0,100,0), +(@PATH,49,-671.9227,-3603.059,92.78248,0,0,0,0,100,0), +(@PATH,50,-675.7313,-3602.044,92.52003,0,0,0,0,100,0), +(@PATH,51,-677.6043,-3601.047,92.2177,0,0,0,0,100,0), +(@PATH,52,-681.8926,-3599.867,91.96063,0,0,0,0,100,0), +(@PATH,53,-684.6117,-3598.757,91.87982,0,0,0,0,100,0), +(@PATH,54,-687.5937,-3597.957,92.11273,0,0,0,0,100,0), +(@PATH,55,-690.8465,-3596.58,92.50311,0,0,0,0,100,0), +(@PATH,56,-692.3484,-3596.191,92.81978,0,0,0,0,100,0), +(@PATH,57,-694.0055,-3595.339,93.0874,0,0,0,0,100,0), +(@PATH,58,-695.764,-3594.879,93.66331,0,0,0,0,100,0), +(@PATH,59,-701.9249,-3592.232,93.66936,0,0,0,0,100,0), +(@PATH,60,-704.3012,-3590.704,93.48577,0,0,0,0,100,0), +(@PATH,61,-706.813,-3589.036,93.29095,0,0,0,0,100,0), +(@PATH,62,-708.6758,-3587.299,92.91399,0,0,0,0,100,0), +(@PATH,63,-710.1832,-3586.387,93.01859,0,0,0,0,100,0), +(@PATH,64,-713.3809,-3583.783,92.53899,0,0,0,0,100,0), +(@PATH,65,-715.8456,-3581.733,92.28436,0,0,0,0,100,0), +(@PATH,66,-718.649,-3580.066,92.16399,0,0,0,0,100,0), +(@PATH,67,-720.6063,-3577.95,92.0805,0,0,0,0,100,0), +(@PATH,68,-723.4074,-3576.25,92.0014,0,0,0,0,100,0), +(@PATH,69,-725.6078,-3573.994,92.03899,0,0,0,0,100,0), +(@PATH,70,-727.5848,-3571.5,92.03899,0,0,0,0,100,0), +(@PATH,71,-729.4189,-3569.032,92.28899,0,0,0,0,100,0), +(@PATH,72,-730.7903,-3566.254,92.53338,0,0,0,0,100,0), +(@PATH,73,-731.6673,-3564.373,93.06799,0,0,0,0,100,0), +(@PATH,74,-732.3871,-3562.424,93.09393,0,0,0,0,100,0), +(@PATH,75,-733.1938,-3560.417,93.48034,0,0,0,0,100,0), +(@PATH,76,-734.6166,-3557.735,93.83107,0,0,0,0,100,0), +(@PATH,77,-735.9352,-3554.624,94.33328,0,0,0,0,100,0), +(@PATH,78,-737.334,-3551.588,94.92009,0,0,0,0,100,0), +(@PATH,79,-739.1,-3547.732,95.28485,0,0,0,0,100,0), +(@PATH,80,-741.614,-3542.833,95.14137,0,0,0,0,100,0), +(@PATH,81,-742.9312,-3539.958,95.12404,0,0,0,0,100,0), +(@PATH,82,-744.3644,-3537.052,95.1526,0,0,0,0,100,0), +(@PATH,83,-745.7712,-3534.205,95.19655,0,0,0,0,100,0), +(@PATH,84,-747.1898,-3531.362,94.88484,0,0,0,0,100,0), +(@PATH,85,-748.1395,-3528.405,94.65486,0,0,0,0,100,0), +(@PATH,86,-748.5651,-3525.977,94.7002,0,0,0,0,100,0), +(@PATH,87,-749.6279,-3522.432,94.45174,0,0,0,0,100,0), +(@PATH,88,-750.2421,-3519.614,94.27547,0,0,0,0,100,0), +(@PATH,89,-750.8396,-3516.76,94.25764,0,0,0,0,100,0), +(@PATH,90,-751.4366,-3513.932,94.43391,0,0,0,0,100,0), +(@PATH,91,-751.9617,-3511.058,94.43391,0,0,0,0,100,0), +(@PATH,92,-752.6078,-3508.198,94.30891,0,0,0,0,100,0), +(@PATH,93,-753.1934,-3505.341,94.30891,0,0,0,0,100,0), +(@PATH,94,-753.7323,-3502.419,94.18391,0,0,0,0,100,0), +(@PATH,95,-754.5886,-3499.677,94.03899,0,0,0,0,100,0), +(@PATH,96,-755.6948,-3497.097,94.00726,0,0,0,0,100,0), +(@PATH,97,-756.7603,-3494.525,93.69573,0,0,0,0,100,0), +(@PATH,98,-758.2226,-3492.105,93.78899,0,0,0,0,100,0), +(@PATH,99,-759.3184,-3489.649,93.42864,0,0,0,0,100,0), +(@PATH,100,-760.5809,-3487.283,93.24358,0,0,0,0,100,0), +(@PATH,101,-761.8428,-3485.018,92.945,0,0,0,0,100,0), +(@PATH,102,-762.8008,-3483.016,92.78899,0,0,0,0,100,0), +(@PATH,103,-763.4695,-3481.628,92.80417,0,0,0,0,100,0), +(@PATH,104,-764.3606,-3480.023,92.53007,0,0,0,0,100,0), +(@PATH,105,-766.5647,-3476.683,92.25404,0,0,0,0,100,0), +(@PATH,106,-769.0477,-3472.472,91.78899,0,0,0,0,100,0), +(@PATH,107,-770.8193,-3469.862,91.78899,0,0,0,0,100,0), +(@PATH,108,-772.8027,-3467.112,91.78899,0,0,0,0,100,0), +(@PATH,109,-773.9666,-3464.927,91.78899,0,0,0,0,100,0), +(@PATH,110,-775.5773,-3462.215,91.76067,0,0,0,0,100,0), +(@PATH,111,-779.5476,-3455.479,92.90218,0,0,0,0,100,0), +(@PATH,112,-782.7976,-3450.229,93.15218,0,0,0,0,100,0), +(@PATH,113,-786.5476,-3443.729,93.90218,0,0,0,0,100,0), +(@PATH,114,-793.527,-3432.37,94.1869,0,0,0,0,100,0), +(@PATH,115,-782.027,-3407.12,93.6869,0,0,0,0,100,0), +(@PATH,116,-781.7552,-3406.848,93.47012,0,0,0,0,100,0), +(@PATH,117,-781.5052,-3406.098,93.47012,0,0,0,0,100,0), +(@PATH,118,-776.7552,-3404.848,93.22012,0,0,0,0,100,0), +(@PATH,119,-769.7552,-3403.098,92.47012,0,0,0,0,100,0), +(@PATH,120,-745.0052,-3396.848,93.22012,0,0,0,0,100,0), +(@PATH,121,-738.2552,-3395.098,93.72012,0,0,0,0,100,0), +(@PATH,122,-732.7543,-3393.786,93.64067,0,0,0,0,100,0), +(@PATH,123,-726.0043,-3395.536,92.89067,0,0,0,0,100,0), +(@PATH,124,-721.5043,-3397.036,92.64067,0,0,0,0,100,0), +(@PATH,125,-709.2111,-3400.296,92.15369,0,0,0,0,100,0), +(@PATH,126,-685.7111,-3424.296,92.65369,0,0,0,0,100,0), +(@PATH,127,-682.2111,-3428.046,93.15369,0,0,0,0,100,0), +(@PATH,128,-678.9978,-3431.148,93.69975,0,0,0,0,100,0), +(@PATH,129,-673.4978,-3437.148,94.19975,0,0,0,0,100,0), +(@PATH,130,-662.4978,-3449.398,94.69975,0,0,0,0,100,0), +(@PATH,131,-655.7478,-3456.898,95.19975,0,0,0,0,100,0), +(@PATH,132,-655.4231,-3457.169,95.37837,0,0,0,0,100,0), +(@PATH,133,-654.9231,-3457.669,95.37837,0,0,0,0,100,0), +(@PATH,134,-653.1731,-3469.419,94.62837,0,0,0,0,100,0), +(@PATH,135,-652.1731,-3475.169,94.12837,0,0,0,0,100,0), +(@PATH,136,-651.1731,-3480.169,93.37837,0,0,0,0,100,0), +(@PATH,137,-650.4231,-3484.919,93.12837,0,0,0,0,100,0), +(@PATH,138,-649.6731,-3489.919,92.37837,0,0,0,0,100,0), +(@PATH,139,-648.5933,-3494.768,92.15804,0,0,0,0,100,0), +(@PATH,140,-639.0933,-3508.518,92.65804,0,0,0,0,100,0), +(@PATH,141,-634.0231,-3515.702,92.99541,0,0,0,0,100,0), +(@PATH,142,-633.7731,-3541.452,92.49541,0,0,0,0,100,0), +(@PATH,143,-633.5231,-3546.452,92.24541,0,0,0,0,100,0), +(@PATH,144,-633.3118,-3555.671,92.03901,0,0,0,0,100,0), +(@PATH,145,-604.2021,-3557.557,91.94941,0,0,0,0,100,0); + +-- king reaperclaw +SET @NPC := 303909; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-566.8538,`position_y`=-3476.528,`position_z`=92.06723 WHERE `guid`=@NPC; +UPDATE `creature` SET `spawndist`=0,`MovementType`=0,`position_x`=-566.8538,`position_y`=-3476.528,`position_z`=92.06723 WHERE `guid` IN (303907,303908); +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,-566.8538,-3476.528,92.06723,0,0,0,0,100,0), +(@PATH,2,-550.5098,-3505.429,92.03902,0,0,0,0,100,0), +(@PATH,3,-548.5079,-3530.607,92.31209,0,0,0,0,100,0), +(@PATH,4,-553.7579,-3554.857,92.81209,0,0,0,0,100,0), +(@PATH,5,-554.7579,-3558.607,93.31209,0,0,0,0,100,0), +(@PATH,6,-556.0079,-3564.607,93.81209,0,0,0,0,100,0), +(@PATH,7,-540.9332,-3572.965,93.56209,0,0,0,0,100,0), +(@PATH,8,-529.1832,-3577.715,93.06209,0,0,0,0,100,0), +(@PATH,9,-556.561,-3565.557,93.83516,0,0,0,0,100,0), +(@PATH,10,-556.7917,-3566.53,93.83516,0,0,0,0,100,0), +(@PATH,11,-541.0859,-3573.07,93.28434,0,0,0,0,100,0), +(@PATH,12,-529.0762,-3578.072,92.66402,0,0,0,0,100,0), +(@PATH,13,-503.0746,-3588.901,93.28902,0,0,0,0,100,0), +(@PATH,14,-503.0746,-3588.901,93.28902,0,0,0,0,100,0), +(@PATH,15,-502.7176,-3588.561,93.52411,0,0,0,0,100,0), +(@PATH,16,-490.4676,-3578.311,92.77411,0,0,0,0,100,0), +(@PATH,17,-486.2176,-3574.811,92.52411,0,0,0,0,100,0), +(@PATH,18,-471.9316,-3562.915,92.14691,0,0,0,0,100,0), +(@PATH,19,-452.4316,-3546.415,92.64691,0,0,0,0,100,0), +(@PATH,20,-447.6816,-3542.415,93.14691,0,0,0,0,100,0), +(@PATH,21,-438.3602,-3535.648,94.10231,0,0,0,0,100,0), +(@PATH,22,-420.6102,-3524.398,93.85231,0,0,0,0,100,0), +(@PATH,23,-406.3602,-3515.648,94.35231,0,0,0,0,100,0), +(@PATH,24,-399.6102,-3511.398,94.85231,0,0,0,0,100,0), +(@PATH,25,-395.988,-3508.799,94.98924,0,0,0,0,100,0), +(@PATH,26,-381.988,-3504.799,94.23924,0,0,0,0,100,0), +(@PATH,27,-375.238,-3502.799,93.98924,0,0,0,0,100,0), +(@PATH,28,-375.0091,-3502.714,93.67376,0,0,0,0,100,0), +(@PATH,29,-373.7591,-3502.464,93.42376,0,0,0,0,100,0), +(@PATH,30,-369.0091,-3500.964,93.17376,0,0,0,0,100,0), +(@PATH,31,-343.8214,-3492.741,93.43587,0,0,0,0,100,0), +(@PATH,32,-331.3214,-3485.241,92.93587,0,0,0,0,100,0), +(@PATH,33,-331.7682,-3487.515,92.85645,0,0,0,0,100,0), +(@PATH,34,-351.7682,-3505.765,92.60645,0,0,0,0,100,0), +(@PATH,35,-370.7682,-3523.265,93.10645,0,0,0,0,100,0), +(@PATH,36,-379.5182,-3531.265,93.60645,0,0,0,0,100,0), +(@PATH,37,-398.6083,-3548.753,93.68606,0,0,0,0,100,0), +(@PATH,38,-408.6083,-3549.253,93.43606,0,0,0,0,100,0), +(@PATH,39,-435.6406,-3548.522,93.08662,0,0,0,0,100,0), +(@PATH,40,-469.6406,-3538.022,92.58662,0,0,0,0,100,0), +(@PATH,41,-485.8906,-3532.772,93.08662,0,0,0,0,100,0), +(@PATH,42,-487.4649,-3532.506,93.03902,0,0,0,0,100,0), +(@PATH,43,-495.7149,-3536.256,92.28902,0,0,0,0,100,0), +(@PATH,44,-583.8541,-3541.175,92.61128,0,0,0,0,100,0), +(@PATH,45,-588.9537,-3538.207,93.17204,0,0,0,0,100,0), +(@PATH,46,-600.6988,-3516.983,93.60151,0,0,0,0,100,0), +(@PATH,47,-589.9488,-3503.733,93.10151,0,0,0,0,100,0), +(@PATH,48,-586.1988,-3499.483,92.35151,0,0,0,0,100,0), +(@PATH,49,-566.9017,-3476.687,92.04884,0,0,0,0,100,0); + +-- frenzy +SET @NPC := 303882; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-201.8419,`position_y`=-3295.316,`position_z`=91.79166 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,-201.8419,-3295.316,91.79166,0,0,0,0,100,0), +(@PATH,2,-201.9289,-3296.312,91.79166,0,0,0,0,100,0), +(@PATH,3,-203.8269,-3309.191,91.79166,0,0,0,0,100,0), +(@PATH,4,-203.8269,-3309.191,91.79166,0,0,0,0,100,0), +(@PATH,5,-203.7439,-3309.169,92.04166,0,0,0,0,100,0), +(@PATH,6,-216.8094,-3314.094,92.04166,0,0,0,0,100,0), +(@PATH,7,-224.0224,-3330.115,92.04166,0,0,0,0,100,0), +(@PATH,8,-217.293,-3338.208,92.04166,0,0,0,0,100,0), +(@PATH,9,-207.4327,-3345.059,92.04166,0,0,0,0,100,0), +(@PATH,10,-197.7908,-3355.164,92.23478,0,0,0,0,100,0), +(@PATH,11,-188.0408,-3359.414,92.48478,0,0,0,0,100,0), +(@PATH,12,-182.4595,-3361.769,93.52293,0,0,0,0,100,0), +(@PATH,13,-180.9595,-3359.269,94.02293,0,0,0,0,100,0), +(@PATH,14,-178.9595,-3355.769,94.77293,0,0,0,0,100,0), +(@PATH,15,-176.7095,-3352.769,95.27293,0,0,0,0,100,0), +(@PATH,16,-171.6927,-3345.522,95.63161,0,0,0,0,100,0), +(@PATH,17,-167.9427,-3339.522,94.88161,0,0,0,0,100,0), +(@PATH,18,-166.1927,-3336.272,94.13161,0,0,0,0,100,0), +(@PATH,19,-163.4427,-3332.022,93.88161,0,0,0,0,100,0), +(@PATH,20,-159.5975,-3325.357,93.19179,0,0,0,0,100,0), +(@PATH,21,-159.0975,-3318.357,92.44179,0,0,0,0,100,0), +(@PATH,22,-158.4869,-3308.573,91.88663,0,0,0,0,100,0), +(@PATH,23,-168.7532,-3291.879,92.04166,0,0,0,0,100,0), +(@PATH,24,-182.9655,-3279.95,92.04166,0,0,0,0,100,0), +(@PATH,25,-200.6937,-3286.16,92.04166,0,0,0,0,100,0), +(@PATH,26,-202.0485,-3296.343,92.04166,0,0,0,0,100,0); + +-- hunter +SET @NPC := 303878; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-208.3682,`position_y`=-3342.525,`position_z`=92.05386 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,-208.3682,-3342.525,92.05386,0,0,0,0,100,0), +(@PATH,2,-221.1996,-3329.735,92.04166,0,0,0,0,100,0), +(@PATH,3,-211.2382,-3320.357,92.04166,0,0,0,0,100,0), +(@PATH,4,-194.4217,-3312.745,92.04166,0,0,0,0,100,0), +(@PATH,5,-172.8744,-3303.235,91.95402,0,0,0,0,100,0), +(@PATH,6,-159.1244,-3318.485,92.70402,0,0,0,0,100,0), +(@PATH,7,-151.8711,-3326.484,92.28525,0,0,0,0,100,0), +(@PATH,8,-135.2233,-3342.244,92.7538,0,0,0,0,100,0), +(@PATH,9,-125.2233,-3347.994,93.0038,0,0,0,0,100,0), +(@PATH,10,-121.2599,-3350.426,93.52101,0,0,0,0,100,0), +(@PATH,11,-110.2599,-3360.426,94.02101,0,0,0,0,100,0), +(@PATH,12,-97.79968,-3371.532,94.08496,0,0,0,0,100,0), +(@PATH,13,-101.0497,-3379.532,93.58496,0,0,0,0,100,0), +(@PATH,14,-102.8393,-3383.885,93.25633,0,0,0,0,100,0), +(@PATH,15,-107.0893,-3387.635,92.75633,0,0,0,0,100,0), +(@PATH,16,-107.2332,-3388.044,92.6341,0,0,0,0,100,0), +(@PATH,17,-108.9832,-3389.544,92.3841,0,0,0,0,100,0), +(@PATH,18,-120.9832,-3395.794,91.8841,0,0,0,0,100,0), +(@PATH,19,-125.4994,-3398.227,91.87676,0,0,0,0,100,0), +(@PATH,20,-142.2212,-3402.677,91.72403,0,0,0,0,100,0), +(@PATH,21,-151.8671,-3387.656,92.12762,0,0,0,0,100,0), +(@PATH,22,-161.6171,-3382.906,92.62762,0,0,0,0,100,0), +(@PATH,23,-166.6171,-3380.156,93.12762,0,0,0,0,100,0), +(@PATH,24,-174.808,-3375.611,93.24947,0,0,0,0,100,0), +(@PATH,25,-182.308,-3367.861,92.74947,0,0,0,0,100,0), +(@PATH,26,-191.808,-3357.861,92.24947,0,0,0,0,100,0), +(@PATH,27,-192.6488,-3356.861,92.10658,0,0,0,0,100,0); + +-- Una wolfclaw +SET @NPC := 303734; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=238.0208,`position_y`=-2899.691,`position_z`=98.10114 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,238.0208,-2899.691,98.10114,0,6000,0,0,100,0), +(@PATH,2,237.9513,-2899.784,98.36108,0,0,0,0,100,0), +(@PATH,3,234.7764,-2901.858,98.42511,0,0,0,0,100,0), +(@PATH,4,233.7764,-2902.108,98.42511,0,0,0,0,100,0), +(@PATH,5,233.5138,-2902.135,98.39661,0,0,0,0,100,0), +(@PATH,6,231.7638,-2902.635,98.39661,0,6000,0,0,100,0); + +-- grunt +SET @NPC := 303766; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=205.2726,`position_y`=-3050.228,`position_z`=91.95189 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,205.2726,-3050.228,91.95189,0,0,0,0,100,0), +(@PATH,2,202.4913,-3040.96,91.79173,0,0,0,0,100,0); + +-- grunt +SET @NPC := 303772; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=164.1702,`position_y`=-3050.721,`position_z`=91.88634 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,164.1702,-3050.721,91.88634,0,0,0,0,100,0), +(@PATH,2,164.1702,-3051.721,91.88634,0,0,0,0,100,0), +(@PATH,3,164.1702,-3052.971,91.88634,0,0,0,0,100,0), +(@PATH,4,162.4202,-3053.471,91.88634,0,0,0,0,100,0), +(@PATH,5,161.4202,-3053.471,91.88634,0,0,0,0,100,0), +(@PATH,6,160.4202,-3053.471,91.88634,0,0,0,0,100,0), +(@PATH,7,159.4202,-3051.721,91.88634,0,0,0,0,100,0), +(@PATH,8,159.4202,-3049.721,91.88634,0,0,0,0,100,0), +(@PATH,9,158.6702,-3048.721,91.88634,0,0,0,0,100,0), +(@PATH,10,156.4202,-3045.471,91.88634,0,0,0,0,100,0), +(@PATH,11,154.1702,-3041.721,92.63634,0,0,0,0,100,0), +(@PATH,12,153.9202,-3040.221,91.88634,0,0,0,0,100,0), +(@PATH,13,153.4202,-3037.471,91.88634,0,0,0,0,100,0), +(@PATH,14,155.1495,-3043.822,92.08198,0,0,0,0,100,0), +(@PATH,15,155.1495,-3043.822,92.08198,1.499299,5000,0,0,100,0), +(@PATH,16,156.4431,-3045.951,91.93686,0,0,0,0,100,0), +(@PATH,17,158.6931,-3048.701,91.93686,0,0,0,0,100,0), +(@PATH,18,159.6931,-3049.701,91.93686,0,0,0,0,100,0), +(@PATH,19,159.6931,-3051.951,91.93686,0,0,0,0,100,0), +(@PATH,20,160.4431,-3053.451,91.93686,0,0,0,0,100,0), +(@PATH,21,161.4431,-3053.451,91.93686,0,0,0,0,100,0), +(@PATH,22,162.4431,-3053.451,91.93686,0,0,0,0,100,0), +(@PATH,23,163.4431,-3053.451,91.93686,0,0,0,0,100,0), +(@PATH,24,163.9431,-3051.951,91.93686,0,0,0,0,100,0), +(@PATH,25,163.9431,-3050.701,91.93686,0,0,0,0,100,0), +(@PATH,26,163.9431,-3049.701,91.93686,0,0,0,0,100,0), +(@PATH,27,165.7295,-3057.622,92.71378,0,0,0,0,100,0), +(@PATH,28,165.9795,-3059.622,93.21378,0,0,0,0,100,0), +(@PATH,29,165.9795,-3058.872,92.71378,0,0,0,0,100,0), +(@PATH,30,165.4795,-3055.872,92.46378,0,0,0,0,100,0), +(@PATH,31,165.6809,-3047.897,92.04174,0,0,0,0,100,0), +(@PATH,32,164.9309,-3049.147,92.04174,0,0,0,0,100,0), +(@PATH,33,167.2897,-3047.926,91.79174,0,0,0,0,100,0), +(@PATH,34,169.482,-3054.177,91.93901,0,0,0,0,100,0), +(@PATH,35,164.2368,-3049.081,91.79174,2.726045,5000,0,0,100,0); + +-- guard +SET @NPC := 303760; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=266.9732,`position_y`=-3068.487,`position_z`=97.38151 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,266.9732,-3068.487,97.38151,0,0,0,0,100,0), +(@PATH,2,267.3316,-3069.42,97.38151,0,0,0,0,100,0), +(@PATH,3,254.4805,-3063.842,96.66673,0,0,0,0,100,0), +(@PATH,4,249.5504,-3061.705,96.17528,0,0,0,0,100,0), +(@PATH,5,249.5504,-3061.705,96.17528,0,0,0,0,100,0), +(@PATH,6,249.5054,-3061.354,96.40649,0,0,0,0,100,0), +(@PATH,7,239.1577,-3049.697,96.35353,0,0,0,0,100,0), +(@PATH,8,235.9471,-3044.409,97.26952,0,0,0,0,100,0), +(@PATH,9,239.7158,-3042.681,97.22945,0,0,0,0,100,0), +(@PATH,10,242.7158,-3047.681,96.47945,0,0,0,0,100,0), +(@PATH,11,246.0697,-3052.966,96.40887,0,0,0,0,100,0), +(@PATH,12,253.3197,-3063.466,96.65887,0,0,0,0,100,0), +(@PATH,13,253.4949,-3063.718,96.79263,0,0,0,0,100,0), +(@PATH,14,254.4949,-3065.468,96.79263,0,0,0,0,100,0), +(@PATH,15,262.6323,-3071.087,97.20951,0,0,0,0,100,0), +(@PATH,16,267.3316,-3069.42,97.38151,5.078908,5000,0,0,100,0); + +-- guard +SET @NPC := 303757; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=173.9595,`position_y`=-3037.782,`position_z`=92.41533 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,173.9595,-3037.782,92.41533,0,0,0,0,100,0), +(@PATH,2,173.9444,-3037.887,92.36877,0,0,0,0,100,0), +(@PATH,3,173.9381,-3037.589,92.6256,0,0,0,0,100,0), +(@PATH,4,173.4381,-3031.839,93.1256,0,0,0,0,100,0), +(@PATH,5,173.2796,-3027.479,93.3085,0,0,0,0,100,0), +(@PATH,6,167.9664,-3019.916,93.28297,0,0,0,0,100,0), +(@PATH,7,165.4426,-3014.446,93.12948,0,0,0,0,100,0), +(@PATH,8,167.0085,-3018.051,93.16674,0,0,0,0,100,0), +(@PATH,9,162.3928,-3018.519,93.11629,0,0,0,0,100,0), +(@PATH,10,158.3928,-3017.519,93.11629,0,0,0,0,100,0), +(@PATH,11,156.3928,-3018.019,93.11629,0,0,0,0,100,0), +(@PATH,12,155.3928,-3018.019,93.11629,0,0,0,0,100,0), +(@PATH,13,154.3928,-3018.019,93.11629,0,0,0,0,100,0), +(@PATH,14,152.8928,-3016.769,93.11629,0,0,0,0,100,0), +(@PATH,15,151.3928,-3016.269,93.36629,0,0,0,0,100,0), +(@PATH,16,150.1428,-3016.269,93.36629,0,0,0,0,100,0), +(@PATH,17,149.1428,-3016.269,93.36629,0,0,0,0,100,0), +(@PATH,18,148.1428,-3016.269,93.11629,0,0,0,0,100,0), +(@PATH,19,156.8112,-3020.83,93.02756,0,0,0,0,100,0), +(@PATH,20,155.3112,-3022.83,93.02756,0,0,0,0,100,0), +(@PATH,21,155.3112,-3024.83,92.77756,0,0,0,0,100,0), +(@PATH,22,155.3112,-3026.83,92.52756,0,0,0,0,100,0), +(@PATH,23,154.0612,-3028.33,92.52756,0,0,0,0,100,0), +(@PATH,24,150.3112,-3031.08,92.52756,0,0,0,0,100,0), +(@PATH,25,155.1344,-3024.783,92.82811,0,0,0,0,100,0), +(@PATH,26,154.1344,-3023.283,93.07811,0,0,0,0,100,0), +(@PATH,27,153.1344,-3020.783,93.07811,0,0,0,0,100,0), +(@PATH,28,150.1344,-3017.783,93.32811,0,0,0,0,100,0), +(@PATH,29,149.9651,-3017.72,93.24736,0,0,0,0,100,0), +(@PATH,30,148.7151,-3016.72,93.24736,0,0,0,0,100,0), +(@PATH,31,145.9651,-3015.72,93.24736,0,0,0,0,100,0), +(@PATH,32,150.9655,-3018.719,93.06583,0,0,0,0,100,0), +(@PATH,33,149.889,-3017.419,93.293,0,0,0,0,100,0), +(@PATH,34,148.389,-3016.419,93.293,0,0,0,0,100,0), +(@PATH,35,146.139,-3015.419,93.293,0,0,0,0,100,0), +(@PATH,36,145.639,-3012.419,93.293,0,0,0,0,100,0), +(@PATH,37,145.3474,-3010.09,93.06033,0,0,0,0,100,0), +(@PATH,38,144.8474,-3008.34,92.81033,0,0,0,0,100,0), +(@PATH,39,142.9454,-3008.306,92.83431,0,0,0,0,100,0), +(@PATH,40,142.4454,-3010.306,93.08431,0,0,0,0,100,0), +(@PATH,41,142.4454,-3011.556,93.08431,0,0,0,0,100,0), +(@PATH,42,142.4454,-3012.556,93.08431,0,0,0,0,100,0), +(@PATH,43,146.1954,-3013.306,93.33431,0,0,0,0,100,0), +(@PATH,44,147.1954,-3014.306,93.33431,0,0,0,0,100,0), +(@PATH,45,148.1954,-3015.806,93.33431,0,0,0,0,100,0), +(@PATH,46,150.1954,-3017.556,93.33431,0,0,0,0,100,0), +(@PATH,47,154.4454,-3018.056,93.33431,0,0,0,0,100,0), +(@PATH,48,155.1954,-3018.056,93.33431,0,0,0,0,100,0), +(@PATH,49,156.1954,-3018.056,93.33431,0,0,0,0,100,0), +(@PATH,50,158.4454,-3017.556,93.08431,0,0,0,0,100,0), +(@PATH,51,162.4454,-3018.556,93.08431,0,0,0,0,100,0), +(@PATH,52,166.6954,-3018.556,93.33431,0,0,0,0,100,0), +(@PATH,53,162.6088,-3018.712,93.0483,0,0,0,0,100,0), +(@PATH,54,158.6088,-3019.712,93.0483,0,0,0,0,100,0), +(@PATH,55,157.1088,-3020.712,93.0483,0,0,0,0,100,0), +(@PATH,56,155.3588,-3022.712,93.0483,0,0,0,0,100,0), +(@PATH,57,155.3588,-3024.712,92.7983,0,0,0,0,100,0), +(@PATH,58,156.8329,-3020.735,93.09354,0,0,0,0,100,0), +(@PATH,59,155.5829,-3022.985,93.09354,0,0,0,0,100,0), +(@PATH,60,155.5829,-3024.985,92.84354,0,0,0,0,100,0), +(@PATH,61,155.5829,-3026.735,92.59354,0,0,0,0,100,0), +(@PATH,62,154.3329,-3028.485,92.59354,0,0,0,0,100,0), +(@PATH,63,154.3188,-3028.417,92.34318,0,0,0,0,100,0), +(@PATH,64,154.3188,-3028.417,92.34318,0.5663568,0,0,0,100,0), +(@PATH,65,155.4137,-3026.734,92.70565,0,0,0,0,100,0), +(@PATH,66,155.4137,-3024.734,92.95565,0,0,0,0,100,0), +(@PATH,67,156.4137,-3023.234,92.95565,0,0,0,0,100,0), +(@PATH,68,156.9137,-3021.984,92.95565,0,0,0,0,100,0), +(@PATH,69,158.6637,-3021.234,93.20565,0,0,0,0,100,0), +(@PATH,70,162.4137,-3018.734,93.20565,0,0,0,0,100,0), +(@PATH,71,166.6637,-3018.734,93.20565,0,0,0,0,100,0), +(@PATH,72,164.8767,-3008.842,92.69083,0,0,0,0,100,0), +(@PATH,73,165.3038,-3014.622,92.90702,0,0,0,0,100,0), +(@PATH,74,165.5395,-3014.512,92.9668,0,0,0,0,100,0), +(@PATH,75,168.2978,-3020.257,93.32513,0,0,0,0,100,0), +(@PATH,76,173.2038,-3027.914,93.26228,0,0,0,0,100,0), +(@PATH,77,173.7038,-3034.664,92.76228,0,0,0,0,100,0), +(@PATH,78,173.9929,-3037.776,92.63618,0,0,0,0,100,0), +(@PATH,79,173.9444,-3037.887,92.36877,0,0,0,0,100,0), +(@PATH,80,174.0091,-3037.583,92.68045,0,0,0,0,100,0), +(@PATH,81,173.5091,-3031.833,93.18045,0,0,0,0,100,0), +(@PATH,82,173.2478,-3027.505,93.33543,0,0,0,0,100,0), +(@PATH,83,167.9609,-3019.79,93.28394,0,0,0,0,100,0), +(@PATH,84,165.4959,-3014.301,93.11089,0,0,0,0,100,0), +(@PATH,85,165.2301,-3013.624,92.90702,0,0,0,0,100,0), +(@PATH,86,165.3038,-3014.622,92.90702,0,0,0,0,100,0), +(@PATH,87,168.0521,-3020.149,93.16674,0,0,0,0,100,0), +(@PATH,88,168.0521,-3020.149,93.16674,0,0,0,0,100,0), +(@PATH,89,173.2743,-3027.845,93.14709,0,0,0,0,100,0), +(@PATH,90,173.1658,-3027.72,93.26052,0,0,0,0,100,0), +(@PATH,91,173.6658,-3034.47,92.76052,0,0,0,0,100,0), +(@PATH,92,173.6686,-3034.915,92.71877,0,0,0,0,100,0), +(@PATH,93,173.9186,-3037.915,92.46877,0,0,0,0,100,0), +(@PATH,94,173.9444,-3037.887,92.36877,0,0,0,0,100,0), +(@PATH,95,173.8694,-3037.58,92.57248,0,0,0,0,100,0), +(@PATH,96,173.6194,-3031.83,93.07248,0,0,0,0,100,0), +(@PATH,97,171.5352,-3025.283,93.15152,0,0,0,0,100,0), +(@PATH,98,172.0967,-3026.11,93.15152,0,0,0,0,100,0), +(@PATH,99,173.2743,-3027.845,93.14709,0,0,0,0,100,0), +(@PATH,100,173.7383,-3034.832,92.54174,0,0,0,0,100,0), +(@PATH,101,173.9444,-3037.887,92.36877,0,0,0,0,100,0), +(@PATH,102,173.9444,-3037.887,92.36877,0,0,0,0,100,0), +(@PATH,103,173.9608,-3037.801,92.41367,0,0,0,0,100,0), +(@PATH,104,173.9444,-3037.887,92.36877,0,0,0,0,100,0), +(@PATH,105,173.9387,-3037.585,92.62599,0,0,0,0,100,0), +(@PATH,106,173.4387,-3031.835,93.12599,0,0,0,0,100,0), +(@PATH,107,173.2794,-3027.475,93.30872,0,0,0,0,100,0); + +-- guard +SET @NPC := 303773; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=162.5903,`position_y`=-3053.296,`position_z`=91.89172 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,162.5903,-3053.296,91.89172,0,0,0,0,100,0), +(@PATH,2,161.3403,-3053.296,91.89172,0,0,0,0,100,0), +(@PATH,3,160.3403,-3053.296,91.89172,0,0,0,0,100,0), +(@PATH,4,159.3403,-3051.796,91.89172,0,0,0,0,100,0), +(@PATH,5,159.3403,-3049.796,91.89172,0,0,0,0,100,0), +(@PATH,6,158.3403,-3048.796,91.89172,0,0,0,0,100,0), +(@PATH,7,156.5903,-3045.546,91.89172,0,0,0,0,100,0), +(@PATH,8,154.3403,-3041.796,92.64172,0,0,0,0,100,0), +(@PATH,9,153.8403,-3040.046,91.89172,0,0,0,0,100,0), +(@PATH,10,153.3403,-3037.546,91.89172,0,0,0,0,100,0), +(@PATH,11,152.3732,-3033.185,92.01853,0,0,0,0,100,0), +(@PATH,12,154.3598,-3032.87,92.1793,0,0,0,0,100,0), +(@PATH,13,155.3598,-3035.37,91.9293,0,0,0,0,100,0), +(@PATH,14,155.3598,-3037.62,91.9293,0,0,0,0,100,0), +(@PATH,15,155.8598,-3039.62,91.9293,0,0,0,0,100,0), +(@PATH,16,155.8598,-3040.62,91.9293,0,0,0,0,100,0), +(@PATH,17,155.8598,-3041.62,91.9293,0,0,0,0,100,0), +(@PATH,18,158.3598,-3042.62,91.9293,0,0,0,0,100,0), +(@PATH,19,159.3598,-3043.62,91.9293,0,0,0,0,100,0), +(@PATH,20,159.3598,-3045.62,91.9293,0,0,0,0,100,0), +(@PATH,21,159.3598,-3047.62,91.9293,0,0,0,0,100,0), +(@PATH,22,159.3598,-3049.87,91.9293,0,0,0,0,100,0), +(@PATH,23,159.3598,-3051.87,91.9293,0,0,0,0,100,0), +(@PATH,24,160.3598,-3053.37,91.9293,0,0,0,0,100,0), +(@PATH,25,161.3598,-3053.37,91.9293,0,0,0,0,100,0), +(@PATH,26,162.6098,-3053.37,91.9293,0,0,0,0,100,0), +(@PATH,27,164.2502,-3057.343,92.77245,0,0,0,0,100,0), +(@PATH,28,165.5002,-3059.843,93.27245,0,0,0,0,100,0), +(@PATH,29,166.5002,-3061.593,94.02245,0,0,0,0,100,0), +(@PATH,30,167.1096,-3062.889,94.2788,0,0,0,0,100,0), +(@PATH,31,167.1096,-3062.889,94.2788,4.520196,5000,0,0,100,0), +(@PATH,32,166.0933,-3060.81,93.79064,0,0,0,0,100,0), +(@PATH,33,164.8433,-3058.56,93.04064,0,0,0,0,100,0), +(@PATH,34,163.5933,-3055.81,92.54064,0,0,0,0,100,0), +(@PATH,35,164.101,-3053.822,92.04711,0,0,0,0,100,0), +(@PATH,36,165.601,-3051.822,92.04711,0,0,0,0,100,0), +(@PATH,37,165.601,-3049.822,92.04711,0,0,0,0,100,0), +(@PATH,38,165.601,-3047.822,92.04711,0,0,0,0,100,0), +(@PATH,39,165.601,-3045.822,92.04711,0,0,0,0,100,0), +(@PATH,40,165.601,-3043.822,92.04711,0,0,0,0,100,0), +(@PATH,41,164.101,-3053.822,92.04711,0,0,0,0,100,0), +(@PATH,42,165.601,-3051.822,92.04711,0,0,0,0,100,0), +(@PATH,43,165.601,-3049.822,92.04711,0,0,0,0,100,0), +(@PATH,44,165.601,-3047.822,92.04711,0,0,0,0,100,0), +(@PATH,45,165.601,-3045.822,92.04711,0,0,0,0,100,0), +(@PATH,46,165.601,-3043.822,92.04711,0,0,0,0,100,0), +(@PATH,47,165.625,-3046.715,91.79174,0,0,0,0,100,0), +(@PATH,48,165.601,-3047.973,92.04711,0,0,0,0,100,0), +(@PATH,49,165.601,-3049.973,92.04711,0,0,0,0,100,0), +(@PATH,50,165.601,-3051.723,92.04711,0,0,0,0,100,0), +(@PATH,51,165.601,-3053.973,92.04711,0,0,0,0,100,0), +(@PATH,52,165.4761,-3047.602,91.79174,0,0,0,0,100,0), +(@PATH,53,165.625,-3046.613,91.79174,0,0,0,0,100,0), +(@PATH,54,167.6027,-3050.176,91.79174,0,0,0,0,100,0), +(@PATH,55,167.6027,-3050.176,91.79174,0,0,0,0,100,0), +(@PATH,56,169.2921,-3054.25,91.91667,0,0,0,0,100,0), +(@PATH,57,162.577,-3054.732,91.80248,2.642978,5000,0,0,100,0); + +-- hunter +SET @NPC := 303898; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-258.5695,`position_y`=-3523.104,`position_z`=53.49051 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,-258.5695,-3523.104,53.49051,0,0,0,0,100,0), +(@PATH,2,-258.8195,-3525.854,53.74051,0,0,0,0,100,0), +(@PATH,3,-259.3195,-3532.354,54.24051,0,0,0,0,100,0), +(@PATH,4,-259.3195,-3534.354,54.74051,0,0,0,0,100,0), +(@PATH,5,-259.8195,-3540.604,56.24051,0,0,0,0,100,0), +(@PATH,6,-260.1964,-3543.483,56.51688,0,0,0,0,100,0), +(@PATH,7,-263.6964,-3544.983,56.51688,0,0,0,0,100,0), +(@PATH,8,-270.7443,-3548.873,55.52689,0,0,0,0,100,0), +(@PATH,9,-275.2443,-3547.123,55.02689,0,0,0,0,100,0), +(@PATH,10,-276.2443,-3546.623,54.77689,0,0,0,0,100,0), +(@PATH,11,-282.0537,-3543.991,53.59756,0,0,0,0,100,0), +(@PATH,12,-283.5537,-3542.741,53.09756,0,0,0,0,100,0), +(@PATH,13,-285.5537,-3540.741,53.09756,0,0,0,0,100,0), +(@PATH,14,-286.5537,-3539.991,52.59756,0,0,0,0,100,0), +(@PATH,15,-289.3037,-3537.241,51.09756,0,0,0,0,100,0), +(@PATH,16,-292.0537,-3534.741,50.84756,0,0,0,0,100,0), +(@PATH,17,-289.5139,-3537.355,51.02432,0,0,0,0,100,0), +(@PATH,18,-286.5139,-3540.105,52.52432,0,0,0,0,100,0), +(@PATH,19,-285.7639,-3540.855,53.02432,0,0,0,0,100,0), +(@PATH,20,-283.7639,-3542.855,53.02432,0,0,0,0,100,0), +(@PATH,21,-279.9232,-3545.968,54.25237,0,0,0,0,100,0), +(@PATH,22,-275.4232,-3546.468,55.00237,0,0,0,0,100,0), +(@PATH,23,-268.5771,-3547.186,55.93196,0,0,0,0,100,0), +(@PATH,24,-264.5771,-3544.436,56.18196,0,0,0,0,100,0), +(@PATH,25,-260.3271,-3541.936,56.43196,0,0,0,0,100,0), +(@PATH,26,-259.0771,-3540.936,56.43196,0,0,0,0,100,0), +(@PATH,27,-255.8112,-3538.334,56.12782,0,0,0,0,100,0), +(@PATH,28,-255.5612,-3535.334,55.12782,0,0,0,0,100,0), +(@PATH,29,-255.5612,-3531.084,54.37782,0,0,0,0,100,0), +(@PATH,30,-255.5612,-3526.834,54.12782,0,0,0,0,100,0), +(@PATH,31,-255.4542,-3526.465,53.77671,0,0,0,0,100,0), +(@PATH,32,-255.4542,-3525.215,53.77671,0,0,0,0,100,0), +(@PATH,33,-256.9542,-3522.465,53.52671,0,0,0,0,100,0), +(@PATH,34,-257.7042,-3520.715,53.27671,0,0,0,0,100,0), +(@PATH,35,-259.3177,-3518.179,52.60952,4.939282,5000,0,0,100,0); + +-- hunter +SET @NPC := 304027; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-264.0234,`position_y`=-3544.681,`position_z`=22.75331 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,-264.0234,-3544.681,22.75331,0,0,0,0,100,0), +(@PATH,2,-262.5234,-3544.181,22.25331,0,0,0,0,100,0), +(@PATH,3,-258.5067,-3542.316,21.94831,0,0,0,0,100,0), +(@PATH,4,-254.0067,-3538.316,21.69831,0,0,0,0,100,0), +(@PATH,5,-254.0425,-3538.355,21.6328,0,0,0,0,100,0), +(@PATH,6,-258.7375,-3542.503,21.97903,0,0,0,0,100,0), +(@PATH,7,-261.9875,-3543.753,22.22903,0,0,0,0,100,0), +(@PATH,8,-263.7375,-3544.503,22.72903,0,0,0,0,100,0), +(@PATH,9,-268.7375,-3546.503,24.22903,0,0,0,0,100,0), +(@PATH,10,-264.0234,-3544.681,22.75331,0,0,0,0,100,0); + +SET @NPC := 308126; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-358.5499,`position_y`=-3813.287,`position_z`=28.22426 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,-358.5499,-3813.287,28.22426,0,0,0,0,100,0), +(@PATH,2,-362.0912,-3829.833,28.01439,0,0,0,0,100,0), +(@PATH,3,-360.8412,-3841.583,27.51439,0,0,0,0,100,0), +(@PATH,4,-360.8792,-3841.747,27.36276,0,0,0,0,100,0), +(@PATH,5,-360.6292,-3842.747,27.36276,0,0,0,0,100,0), +(@PATH,6,-366.1292,-3847.247,26.61276,0,0,0,0,100,0), +(@PATH,7,-376.1292,-3854.997,26.36276,0,0,0,0,100,0), +(@PATH,8,-376.145,-3855.167,26.39338,0,0,0,0,100,0), +(@PATH,9,-378.895,-3857.167,26.39338,0,0,0,0,100,0), +(@PATH,10,-381.645,-3855.917,26.89338,0,0,0,0,100,0), +(@PATH,11,-394.1936,-3850.461,27.79027,0,0,0,0,100,0), +(@PATH,12,-394.6936,-3843.711,28.04027,0,0,0,0,100,0), +(@PATH,13,-395.143,-3838.756,28.90712,0,0,0,0,100,0), +(@PATH,14,-400.643,-3837.506,29.15712,0,0,0,0,100,0), +(@PATH,15,-406.473,-3836.28,29.99613,0,0,0,0,100,0), +(@PATH,16,-421.473,-3843.53,29.24613,0,0,0,0,100,0), +(@PATH,17,-421.6653,-3843.403,29.58047,0,0,0,0,100,0), +(@PATH,18,-422.4153,-3843.903,29.58047,0,0,0,0,100,0), +(@PATH,19,-429.1653,-3840.153,29.83047,0,0,0,0,100,0), +(@PATH,20,-433.6597,-3837.489,30.45175,0,0,0,0,100,0), +(@PATH,21,-433.9097,-3833.489,30.70175,0,0,0,0,100,0), +(@PATH,22,-433.9097,-3825.489,31.20175,0,0,0,0,100,0), +(@PATH,23,-434.1931,-3809.231,31.2517,0,0,0,0,100,0), +(@PATH,24,-422.7949,-3775.78,30.71181,0,0,0,0,100,0), +(@PATH,25,-416.7949,-3774.53,29.96181,0,0,0,0,100,0), +(@PATH,26,-410.7949,-3773.78,29.46181,0,0,0,0,100,0), +(@PATH,27,-403.2949,-3772.28,28.96181,0,0,0,0,100,0), +(@PATH,28,-391.0279,-3770.035,28.7414,0,0,0,0,100,0), +(@PATH,29,-386.7779,-3775.785,29.2414,0,0,0,0,100,0), +(@PATH,30,-376.5255,-3789.156,29.31096,0,0,0,0,100,0), +(@PATH,31,-366.5255,-3802.406,28.81096,0,0,0,0,100,0); + +-- razormane +SET @NPC := 304021; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-203.2383,`position_y`=-3752.949,`position_z`=28.4771 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,-203.2383,-3752.949,28.4771,0,0,0,0,100,0), +(@PATH,2,-202.4883,-3752.699,28.4771,0,0,0,0,100,0), +(@PATH,3,-200.2383,-3745.199,28.9771,0,0,0,0,100,0), +(@PATH,4,-197.7708,-3736.953,29.36144,0,0,0,0,100,0), +(@PATH,5,-198.0208,-3732.953,29.86144,0,0,0,0,100,0), +(@PATH,6,-198.7708,-3724.953,30.36144,0,0,0,0,100,0), +(@PATH,7,-199.2708,-3718.203,31.11144,0,0,0,0,100,0), +(@PATH,8,-200.4796,-3702.494,31.0158,0,0,0,0,100,0), +(@PATH,9,-205.7296,-3696.494,30.5158,0,0,0,0,100,0), +(@PATH,10,-209.7296,-3691.994,29.7658,0,0,0,0,100,0), +(@PATH,11,-212.9796,-3688.244,29.2658,0,0,0,0,100,0), +(@PATH,12,-215.4796,-3685.244,28.7658,0,0,0,0,100,0), +(@PATH,13,-218.7296,-3681.494,28.0158,0,0,0,0,100,0), +(@PATH,14,-230.4659,-3668.353,27.76447,0,0,0,0,100,0), +(@PATH,15,-253.5655,-3691.246,27.97902,0,0,0,0,100,0), +(@PATH,16,-253.5655,-3700.246,28.47902,0,0,0,0,100,0), +(@PATH,17,-253.8155,-3724.996,27.97902,0,0,0,0,100,0), +(@PATH,18,-253.8846,-3726.521,27.93848,0,0,0,0,100,0), +(@PATH,19,-244.6346,-3732.021,28.43848,0,0,0,0,100,0), +(@PATH,20,-240.0611,-3735.191,28.20564,0,0,0,0,100,0), +(@PATH,21,-243.0611,-3737.941,27.70564,0,0,0,0,100,0), +(@PATH,22,-250.6241,-3745.825,27.33429,0,0,0,0,100,0), +(@PATH,23,-238.8741,-3760.575,26.83429,0,0,0,0,100,0), +(@PATH,24,-236.5609,-3762.99,26.81933,0,0,0,0,100,0), +(@PATH,25,-223.3109,-3758.99,27.31933,0,0,0,0,100,0), +(@PATH,26,-210.0609,-3755.24,27.56933,0,0,0,0,100,0); + +-- razormane +SET @NPC := 304038; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-61.39247,`position_y`=-3634.46,`position_z`=30.74987 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,-61.39247,-3634.46,30.74987,0,0,0,0,100,0), +(@PATH,2,-74.89247,-3619.96,29.99987,0,0,0,0,100,0), +(@PATH,3,-82.14247,-3611.71,29.49987,0,0,0,0,100,0), +(@PATH,4,-86.14247,-3607.46,28.99987,0,0,0,0,100,0), +(@PATH,5,-90.77446,-3602.838,28.1987,0,0,0,0,100,0), +(@PATH,6,-102.0245,-3616.338,27.6987,0,0,0,0,100,0), +(@PATH,7,-114.4264,-3630.485,27.40917,0,0,0,0,100,0), +(@PATH,8,-139.6764,-3658.485,27.65917,0,0,0,0,100,0), +(@PATH,9,-144.4264,-3663.735,28.40917,0,0,0,0,100,0), +(@PATH,10,-144.4538,-3663.949,28.32541,0,0,0,0,100,0), +(@PATH,11,-144.7038,-3664.449,28.32541,0,0,0,0,100,0), +(@PATH,12,-138.4538,-3685.199,27.82541,0,0,0,0,100,0), +(@PATH,13,-133.7238,-3700.801,27.49711,0,0,0,0,100,0), +(@PATH,14,-116.9304,-3718.824,27.38062,0,0,0,0,100,0), +(@PATH,15,-109.6804,-3713.574,26.88062,0,0,0,0,100,0), +(@PATH,16,-94.77512,-3703.506,27.5852,0,0,0,0,100,0), +(@PATH,17,-80.52512,-3700.256,27.8352,0,0,0,0,100,0), +(@PATH,18,-76.56852,-3699.008,28.39589,0,0,0,0,100,0), +(@PATH,19,-62.31852,-3674.258,28.89589,0,0,0,0,100,0), +(@PATH,20,-57.5658,-3666.098,29.52995,0,0,0,0,100,0), +(@PATH,21,-59.5658,-3651.348,29.77995,0,0,0,0,100,0), +(@PATH,22,-60.3158,-3642.598,30.27995,0,0,0,0,100,0); + +-- Peonstuff - Borderzone +SET @NPC := 304091; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=333.7413,`position_y`=-3686.676,`position_z`=27.86447 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,333.7413,-3686.676,27.86447,0,0,0,0,100,0), +(@PATH,2,331.4913,-3682.926,27.61447,0,0,0,0,100,0), +(@PATH,3,328.2413,-3682.676,27.61447,0,0,0,0,100,0), +(@PATH,4,327.4913,-3682.676,27.61447,0,0,0,0,100,0), +(@PATH,5,330.7413,-3682.676,27.61447,0,0,0,0,100,0), +(@PATH,6,333.4913,-3686.426,27.86447,0,0,0,0,100,0), +(@PATH,7,333.7413,-3686.676,27.86447,0,0,0,0,100,0); + +SET @NPC := 304090; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=309.3087,`position_y`=-3672.01,`position_z`=27.21739 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,309.3087,-3672.01,27.21739,0,0,0,0,100,0), +(@PATH,2,309.4936,-3671.948,27.41766,0,0,0,0,100,0), +(@PATH,3,313.8301,-3689.508,27.35551,0,0,0,0,100,0), +(@PATH,4,320.6342,-3693.457,27.15489,0,0,0,0,100,0), +(@PATH,5,325.6618,-3689.65,27.21739,1.570796,5000,0,0,100,0), +(@PATH,6,316.928,-3693.633,27.09239,0,0,0,0,100,0), +(@PATH,7,316.9654,-3693.443,27.29672,0,0,0,0,100,0), +(@PATH,8,308.7818,-3688.939,27.17718,0,0,0,0,100,0), +(@PATH,9,301.5027,-3679.994,27.38743,0,0,0,0,100,0), +(@PATH,10,294.9082,-3671.141,27.72398,0,0,0,0,100,0), +(@PATH,11,288.9224,-3670.656,27.44807,1.937315,5000,0,0,100,0), +(@PATH,12,301.9308,-3683.951,27.21739,0,0,0,0,100,0), +(@PATH,13,302.1828,-3684.004,27.37862,0,0,0,0,100,0), +(@PATH,14,314.7279,-3695.032,27.21811,0,0,0,0,100,0), +(@PATH,15,326.2723,-3696.133,27.76481,0,0,0,0,100,0), +(@PATH,16,330.7723,-3694.633,28.26481,0,0,0,0,100,0), +(@PATH,17,327.3414,-3693.541,27.56175,0,0,0,0,100,0), +(@PATH,18,316.9224,-3691.291,27.12896,0,0,0,0,100,0), +(@PATH,19,308.7729,-3681.836,27.43475,0,0,0,0,100,0); + +SET @NPC := 304085; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=327.0269,`position_y`=-3702.834,`position_z`=27.56776 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,327.0269,-3702.834,27.56776,0,0,0,0,100,0), +(@PATH,2,317.7341,-3704.953,26.94114,0,0,0,0,100,0), +(@PATH,3,301.2341,-3702.703,26.44114,0,0,0,0,100,0), +(@PATH,4,295.3854,-3701.735,26.46143,0,0,0,0,100,0), +(@PATH,5,286.3854,-3694.735,26.96143,0,0,0,0,100,0), +(@PATH,6,282.3854,-3691.485,27.46143,0,0,0,0,100,0), +(@PATH,7,281.2959,-3688.978,28.09551,0,0,0,0,100,0), +(@PATH,8,279.7959,-3685.228,28.59551,0,0,0,0,100,0), +(@PATH,9,275.7959,-3675.478,28.59551,0,0,0,0,100,0), +(@PATH,10,275.0459,-3673.478,29.59551,0,0,0,0,100,0), +(@PATH,11,274.6982,-3673.373,29.58753,0,0,0,0,100,0), +(@PATH,12,274.1982,-3671.373,29.58753,0,0,0,0,100,0), +(@PATH,13,273.9482,-3664.623,27.58753,0,0,0,0,100,0), +(@PATH,14,273.6982,-3660.873,27.58753,0,0,0,0,100,0), +(@PATH,15,273.5458,-3658.68,27.43373,0,0,0,0,100,0), +(@PATH,16,272.7958,-3657.68,27.43373,0,0,0,0,100,0), +(@PATH,17,272.7528,-3659.224,27.60741,0,0,0,0,100,0), +(@PATH,18,272.7528,-3660.224,27.60741,0,0,0,0,100,0), +(@PATH,19,272.7528,-3660.724,27.60741,0,0,0,0,100,0), +(@PATH,20,273.2528,-3663.974,27.60741,0,0,0,0,100,0), +(@PATH,21,273.5028,-3664.474,27.60741,0,0,0,0,100,0), +(@PATH,22,274.2276,-3668.445,28.75386,0,0,0,0,100,0), +(@PATH,23,274.9776,-3671.195,29.50386,0,0,0,0,100,0), +(@PATH,24,275.7276,-3673.445,29.50386,0,0,0,0,100,0), +(@PATH,25,276.9776,-3676.945,28.75386,0,0,0,0,100,0), +(@PATH,26,276.9776,-3678.945,29.00386,0,0,0,0,100,0), +(@PATH,27,277.3337,-3679.286,28.88524,0,0,0,0,100,0), +(@PATH,28,275.3337,-3680.036,28.88524,0,0,0,0,100,0), +(@PATH,29,282.3337,-3685.786,28.38524,0,0,0,0,100,0), +(@PATH,30,285.8337,-3688.786,27.63524,0,0,0,0,100,0), +(@PATH,31,289.8337,-3691.786,27.13524,0,0,0,0,100,0), +(@PATH,32,289.9146,-3692.086,27.04403,0,0,0,0,100,0), +(@PATH,33,291.9146,-3693.586,26.79403,0,0,0,0,100,0), +(@PATH,34,311.5242,-3704.626,26.84253,0,0,0,0,100,0), +(@PATH,35,318.5932,-3715.422,26.73446,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_31_04_world.sql b/sql/updates/world/2015_07_31_04_world.sql new file mode 100644 index 00000000000..c125281d353 --- /dev/null +++ b/sql/updates/world/2015_07_31_04_world.sql @@ -0,0 +1,45 @@ +-- Winterspring Rndmmovement +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =49161; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48935; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =49779; +UPDATE `creature` SET `spawndist` = 8, `MovementType` = 1 WHERE id =50258; +UPDATE `creature` SET `spawndist` = 8, `MovementType` = 1 WHERE id =7459; +UPDATE `creature` SET `spawndist` = 8, `MovementType` = 1 WHERE id =7460; +UPDATE `creature` SET `spawndist` = 8, `MovementType` = 1 WHERE id =7458; +UPDATE `creature` SET `spawndist` = 3, `MovementType` = 1 WHERE id =7438; +UPDATE `creature` SET `spawndist` = 8, `MovementType` = 1 WHERE id =7450; +UPDATE `creature` SET `spawndist` = 3, `MovementType` = 1 WHERE id =7439; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48918; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7443; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7444; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7455; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7448; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7433; +UPDATE `creature` SET `spawndist` = 3, `MovementType` = 1 WHERE id =7430; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7448; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7434; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48952; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7523; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7524; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48665; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48664; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48670; +UPDATE `creature` SET `spawndist` = 3, `MovementType` = 1 WHERE id =7442; +UPDATE `creature` SET `spawndist` = 3, `MovementType` = 1 WHERE id =7441; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48768; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =48767; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7452; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7453; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7451; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7454; +UPDATE `creature` SET `spawndist` = 5, `MovementType` = 1 WHERE id =50250; +UPDATE `creature` SET `spawndist` = 3, `MovementType` = 1 WHERE id =51681; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7431; +UPDATE `creature` SET `spawndist` = 10, `MovementType` = 1 WHERE id =7432; +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `guid` IN (277028, 277016, 277002); +UPDATE `creature` SET `spawndist`=10, `MovementType`=1 WHERE `guid` IN (277004); +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=50282; +DELETE FROM `creature` WHERE `guid` IN (278016,277241,277234,278024,277131,277135,277139, 277139,277144,278026,277138,277128, 277227, 278033, 278042, 278010,278011,278005, 278041,277134,277165,278072,277138,278026,278023, 277146,278006,277239,277143,278001,278000,277133,277999,277246,277240,277129); +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (49346, 49347); +UPDATE `creature` SET `spawndist`=15, `MovementType`=1 WHERE `id` IN (7456); +UPDATE `creature` SET `spawndist`=10, `MovementType`=1 WHERE `id` IN (50044); diff --git a/sql/updates/world/2015_07_31_05_world.sql b/sql/updates/world/2015_07_31_05_world.sql new file mode 100644 index 00000000000..67863bd27ad --- /dev/null +++ b/sql/updates/world/2015_07_31_05_world.sql @@ -0,0 +1,943 @@ +-- DB/Pathing: Deadwind Pass 4.x + 6.x + (maybe 3.x except the spiders) +UPDATE `creature` SET `spawndist`=2, `MovementType`=1 WHERE `id`=12380; +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (7376, 7369, 7379, 7379, 7372, 7371, 7370, 12377, 12378, 12377, 12379); +UPDATE `creature` SET `spawndist`=3, `MovementType`=1 WHERE `id` IN (51983); +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=7376; + +-- oger +SET @NPC := 290796; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11152.41,`position_y`=-2402.39,`position_z`=107.8207 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,-11152.41,-2402.39,107.8207,0,0,0,0,100,0), +(@PATH,2,-11150.91,-2403.89,107.5707,0,0,0,0,100,0), +(@PATH,3,-11147.66,-2407.14,107.3207,0,0,0,0,100,0), +(@PATH,4,-11147.38,-2407.568,107.0629,0,0,0,0,100,0), +(@PATH,5,-11144.38,-2410.318,106.8129,0,0,0,0,100,0), +(@PATH,6,-11144.13,-2411.568,106.8129,0,0,0,0,100,0), +(@PATH,7,-11143.38,-2412.568,106.5629,0,0,0,0,100,0), +(@PATH,8,-11142.13,-2414.818,106.5629,0,0,0,0,100,0), +(@PATH,9,-11141.86,-2414.921,106.5999,0,0,0,0,100,0), +(@PATH,10,-11140.11,-2418.671,106.5999,0,0,0,0,100,0), +(@PATH,11,-11140.11,-2421.171,106.8499,0,0,0,0,100,0), +(@PATH,12,-11140.11,-2424.421,107.3499,0,0,0,0,100,0), +(@PATH,13,-11139.86,-2426.671,107.5999,0,0,0,0,100,0), +(@PATH,14,-11139.66,-2424.525,107.2991,0,0,0,0,100,0), +(@PATH,15,-11139.66,-2427.025,107.5491,0,0,0,0,100,0), +(@PATH,16,-11139.66,-2428.525,107.5491,0,0,0,0,100,0), +(@PATH,17,-11139.41,-2431.775,107.5491,0,0,0,0,100,0), +(@PATH,18,-11139.41,-2436.275,106.7991,0,0,0,0,100,0), +(@PATH,19,-11138.91,-2441.775,106.2991,0,0,0,0,100,0), +(@PATH,20,-11138.73,-2441.95,106.0568,0,0,0,0,100,0), +(@PATH,21,-11138.73,-2442.7,106.0568,0,0,0,0,100,0), +(@PATH,22,-11139.48,-2444.95,106.0568,0,0,0,0,100,0), +(@PATH,23,-11140.23,-2446.7,106.0568,0,0,0,0,100,0), +(@PATH,24,-11141.48,-2451.2,105.8068,0,0,0,0,100,0), +(@PATH,25,-11142.48,-2453.95,105.8068,0,0,0,0,100,0), +(@PATH,26,-11142.79,-2454.27,105.646,0,0,0,0,100,0), +(@PATH,27,-11143.29,-2455.77,105.646,0,0,0,0,100,0), +(@PATH,28,-11144.04,-2456.27,105.646,0,0,0,0,100,0), +(@PATH,29,-11147.54,-2458.77,104.646,0,0,0,0,100,0), +(@PATH,30,-11151.04,-2461.52,104.646,0,0,0,0,100,0), +(@PATH,31,-11152.29,-2462.27,104.396,0,0,0,0,100,0), +(@PATH,32,-11151.28,-2461.577,104.4617,0,0,0,0,100,0), +(@PATH,33,-11152.53,-2462.577,104.4617,0,0,0,0,100,0), +(@PATH,34,-11154.28,-2463.827,104.2117,0,0,0,0,100,0), +(@PATH,35,-11156.03,-2465.827,103.9617,0,0,0,0,100,0), +(@PATH,36,-11157.53,-2467.827,104.4617,0,0,0,0,100,0), +(@PATH,37,-11159.78,-2470.827,104.7117,0,0,0,0,100,0), +(@PATH,38,-11163.28,-2475.327,104.7117,0,0,0,0,100,0), +(@PATH,39,-11163.26,-2475.348,104.7722,0,0,0,0,100,0), +(@PATH,40,-11160.01,-2470.848,104.5222,0,0,0,0,100,0), +(@PATH,41,-11157.51,-2467.848,104.2722,0,0,0,0,100,0), +(@PATH,42,-11156.01,-2465.848,104.0222,0,0,0,0,100,0), +(@PATH,43,-11167.01,-2480.041,104.7494,0,0,0,0,100,0), +(@PATH,44,-11167.62,-2480.83,104.7494,0,0,0,0,100,0), +(@PATH,45,-11163.62,-2475.692,104.6252,0,0,0,0,100,0), +(@PATH,46,-11159.91,-2470.935,104.4077,0,0,0,0,100,0), +(@PATH,47,-11157.51,-2467.856,104.0211,0,0,0,0,100,0), +(@PATH,48,-11155.97,-2465.885,103.641,0,0,0,0,100,0), +(@PATH,49,-11154.4,-2463.866,103.795,0,0,0,0,100,0), +(@PATH,50,-11154.4,-2463.866,103.795,0,0,0,0,100,0), +(@PATH,51,-11152.31,-2462.266,104.3967,0,0,0,0,100,0), +(@PATH,52,-11151.06,-2461.516,104.6467,0,0,0,0,100,0), +(@PATH,53,-11147.56,-2459.016,104.6467,0,0,0,0,100,0), +(@PATH,54,-11144.06,-2456.266,105.6467,0,0,0,0,100,0), +(@PATH,55,-11143.91,-2456.071,105.5428,0,0,0,0,100,0), +(@PATH,56,-11143.16,-2455.321,105.5428,0,0,0,0,100,0), +(@PATH,57,-11142.66,-2454.071,105.5428,0,0,0,0,100,0), +(@PATH,58,-11141.91,-2451.321,105.7928,0,0,0,0,100,0), +(@PATH,59,-11140.16,-2447.071,106.0428,0,0,0,0,100,0), +(@PATH,60,-11139.41,-2444.821,106.0428,0,0,0,0,100,0), +(@PATH,61,-11140.18,-2446.861,106.4788,0,0,0,0,100,0), +(@PATH,62,-11139.43,-2444.611,106.2288,0,0,0,0,100,0), +(@PATH,63,-11138.93,-2442.861,106.2288,0,0,0,0,100,0), +(@PATH,64,-11138.93,-2441.861,106.2288,0,0,0,0,100,0), +(@PATH,65,-11139.43,-2436.361,106.9788,0,0,0,0,100,0), +(@PATH,66,-11139.68,-2431.861,107.7288,0,0,0,0,100,0), +(@PATH,67,-11139.8,-2431.455,107.6868,0,0,0,0,100,0), +(@PATH,68,-11139.8,-2428.955,107.6868,0,0,0,0,100,0), +(@PATH,69,-11139.8,-2426.455,107.4368,0,0,0,0,100,0), +(@PATH,70,-11139.8,-2425.205,107.4368,0,0,0,0,100,0), +(@PATH,71,-11139.8,-2422.205,106.6868,0,0,0,0,100,0), +(@PATH,72,-11140.09,-2421.899,106.8443,0,0,0,0,100,0), +(@PATH,73,-11140.09,-2418.649,106.5943,0,0,0,0,100,0), +(@PATH,74,-11142.09,-2414.899,106.5943,0,0,0,0,100,0), +(@PATH,75,-11143.09,-2412.899,106.8443,0,0,0,0,100,0), +(@PATH,76,-11143.84,-2411.649,106.8443,0,0,0,0,100,0), +(@PATH,77,-11143.42,-2412.43,106.8697,0,0,0,0,100,0), +(@PATH,78,-11144.17,-2411.43,106.8697,0,0,0,0,100,0), +(@PATH,79,-11144.67,-2410.18,106.8697,0,0,0,0,100,0), +(@PATH,80,-11147.42,-2407.43,106.8697,0,0,0,0,100,0), +(@PATH,81,-11150.92,-2403.93,107.6197,0,0,0,0,100,0), +(@PATH,82,-11151.25,-2403.608,107.7203,0,0,0,0,100,0), +(@PATH,83,-11152.75,-2402.108,107.7203,0,0,0,0,100,0), +(@PATH,84,-11155.5,-2399.858,108.4703,0,0,0,0,100,0), +(@PATH,85,-11156.25,-2399.108,108.4703,0,0,0,0,100,0); + +-- oger +SET @NPC := 290933; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11108.92,`position_y`=-2370.972,`position_z`=112.3171 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,-11108.92,-2370.972,112.3171,0,0,0,0,100,0), +(@PATH,2,-11110.42,-2370.222,112.3171,0,0,0,0,100,0), +(@PATH,3,-11111.67,-2364.222,112.5671,0,0,0,0,100,0), +(@PATH,4,-11111.92,-2363.222,112.5671,0,0,0,0,100,0), +(@PATH,5,-11112.17,-2361.972,112.3171,0,0,0,0,100,0), +(@PATH,6,-11113.17,-2357.972,112.3171,0,0,0,0,100,0), +(@PATH,7,-11113.36,-2357.755,112.3302,0,0,0,0,100,0), +(@PATH,8,-11114.11,-2354.505,112.8302,0,0,0,0,100,0), +(@PATH,9,-11114.61,-2353.005,113.3302,0,0,0,0,100,0), +(@PATH,10,-11114.86,-2351.255,113.3302,0,0,0,0,100,0), +(@PATH,11,-11115.36,-2347.505,113.8302,0,0,0,0,100,0), +(@PATH,12,-11115.61,-2346.005,114.0802,0,0,0,0,100,0), +(@PATH,13,-11116.11,-2343.255,115.0802,0,0,0,0,100,0), +(@PATH,14,-11116.12,-2342.867,115.461,0,0,0,0,100,0), +(@PATH,15,-11116.87,-2339.867,116.461,0,0,0,0,100,0), +(@PATH,16,-11113.12,-2335.617,116.711,0,0,0,0,100,0), +(@PATH,17,-11110.62,-2332.367,118.211,0,0,0,0,100,0), +(@PATH,18,-11108.62,-2329.617,118.211,0,0,0,0,100,0), +(@PATH,19,-11108.56,-2329.775,118.126,0,0,0,0,100,0), +(@PATH,20,-11110.56,-2332.275,118.126,0,0,0,0,100,0), +(@PATH,21,-11112.81,-2335.025,117.126,0,0,0,0,100,0), +(@PATH,22,-11116.68,-2340.196,116.3412,0,0,0,0,100,0), +(@PATH,23,-11116.18,-2343.196,115.0912,0,0,0,0,100,0), +(@PATH,24,-11115.68,-2345.946,114.0912,0,0,0,0,100,0), +(@PATH,25,-11115.43,-2347.196,113.8412,0,0,0,0,100,0), +(@PATH,26,-11114.68,-2351.196,113.3412,0,0,0,0,100,0), +(@PATH,27,-11114.43,-2352.446,113.3412,0,0,0,0,100,0), +(@PATH,28,-11114.63,-2351.489,113.0744,0,0,0,0,100,0), +(@PATH,29,-11114.38,-2352.739,113.0744,0,0,0,0,100,0), +(@PATH,30,-11113.88,-2354.989,112.5744,0,0,0,0,100,0), +(@PATH,31,-11113.38,-2357.239,112.3244,0,0,0,0,100,0), +(@PATH,32,-11112.38,-2361.739,112.5744,0,0,0,0,100,0), +(@PATH,33,-11112.13,-2362.739,112.5744,0,0,0,0,100,0), +(@PATH,34,-11111.88,-2364.239,112.5744,0,0,0,0,100,0), +(@PATH,35,-11110.63,-2369.239,112.3244,0,0,0,0,100,0), +(@PATH,36,-11110.25,-2369.446,112.2569,0,0,0,0,100,0), +(@PATH,37,-11110,-2370.446,112.2569,0,0,0,0,100,0), +(@PATH,38,-11108.5,-2371.196,112.2569,0,0,0,0,100,0), +(@PATH,39,-11107,-2371.946,112.5069,0,0,0,0,100,0), +(@PATH,40,-11105.25,-2372.946,112.7569,0,0,0,0,100,0), +(@PATH,41,-11101.5,-2374.946,112.5069,0,0,0,0,100,0), +(@PATH,42,-11096.75,-2377.446,112.7569,0,0,0,0,100,0), +(@PATH,43,-11096.51,-2377.824,112.9202,0,0,0,0,100,0), +(@PATH,44,-11095.26,-2378.574,112.9202,0,0,0,0,100,0), +(@PATH,45,-11092.51,-2379.824,112.9202,0,0,0,0,100,0), +(@PATH,46,-11089.26,-2381.074,113.4202,0,0,0,0,100,0), +(@PATH,47,-11086.51,-2382.324,113.4202,0,0,0,0,100,0), +(@PATH,48,-11084.01,-2383.574,113.4202,0,0,0,0,100,0), +(@PATH,49,-11086.28,-2382.667,113.6271,0,0,0,0,100,0), +(@PATH,50,-11083.78,-2383.667,113.3771,0,0,0,0,100,0), +(@PATH,51,-11082.53,-2384.417,113.6271,0,0,0,0,100,0), +(@PATH,52,-11081.28,-2386.167,113.8771,0,0,0,0,100,0), +(@PATH,53,-11078.28,-2390.417,112.8771,0,0,0,0,100,0), +(@PATH,54,-11077.53,-2391.417,112.6271,0,0,0,0,100,0), +(@PATH,55,-11077.7,-2391.482,112.6648,0,0,0,0,100,0), +(@PATH,56,-11078.2,-2390.482,112.9148,0,0,0,0,100,0), +(@PATH,57,-11080.95,-2386.732,113.9148,0,0,0,0,100,0), +(@PATH,58,-11081.15,-2386.458,113.738,0,0,0,0,100,0), +(@PATH,59,-11082.65,-2383.958,113.488,0,0,0,0,100,0), +(@PATH,60,-11083.9,-2383.458,113.488,0,0,0,0,100,0), +(@PATH,61,-11086.4,-2382.708,113.488,0,0,0,0,100,0), +(@PATH,62,-11088.9,-2381.458,113.488,0,0,0,0,100,0), +(@PATH,63,-11092.4,-2379.708,112.988,0,0,0,0,100,0), +(@PATH,64,-11095.22,-2378.323,112.5722,0,0,0,0,100,0), +(@PATH,65,-11096.72,-2377.573,112.5722,0,0,0,0,100,0), +(@PATH,66,-11101.47,-2375.073,112.5722,0,0,0,0,100,0), +(@PATH,67,-11105.22,-2373.073,112.5722,0,0,0,0,100,0), +(@PATH,68,-11106.97,-2372.073,112.3222,0,0,0,0,100,0), +(@PATH,69,-11108.47,-2371.073,112.3222,0,0,0,0,100,0), +(@PATH,70,-11103.95,-2373.839,112.452,0,0,0,0,100,0), +(@PATH,71,-11103.95,-2373.839,112.452,0,0,0,0,100,0); + +-- ghost +SET @NPC := 290807; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11357.55,`position_y`=-2186.109,`position_z`=22.97028 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,-11357.55,-2186.109,22.97028,0,0,0,0,100,0), +(@PATH,2,-11384.52,-2183.385,23.1736,0,0,0,0,100,0), +(@PATH,3,-11396.77,-2194.385,23.1736,0,0,0,0,100,0), +(@PATH,4,-11397.52,-2195.135,23.1736,0,0,0,0,100,0), +(@PATH,5,-11404.52,-2201.635,23.4236,0,0,0,0,100,0), +(@PATH,6,-11404.8,-2201.527,23.68835,0,0,0,0,100,0), +(@PATH,7,-11406.3,-2203.027,23.68835,0,0,0,0,100,0), +(@PATH,8,-11406.55,-2198.527,23.68835,0,0,0,0,100,0), +(@PATH,9,-11406.55,-2193.277,23.43835,0,0,0,0,100,0), +(@PATH,10,-11406.55,-2188.027,27.93835,0,0,0,0,100,0), +(@PATH,11,-11406.55,-2178.527,34.93835,0,0,0,0,100,0), +(@PATH,12,-11406.67,-2178.375,34.83125,0,0,0,0,100,0), +(@PATH,13,-11406.67,-2177.125,34.83125,0,0,0,0,100,0), +(@PATH,14,-11406.82,-2177.324,34.66116,0,0,0,0,100,0), +(@PATH,15,-11406.65,-2177.404,34.73546,0,0,0,0,100,0), +(@PATH,16,-11406.65,-2178.654,34.73546,0,0,0,0,100,0), +(@PATH,17,-11406.65,-2187.904,27.73546,0,0,0,0,100,0), +(@PATH,18,-11406.65,-2193.404,23.48546,0,0,0,0,100,0), +(@PATH,19,-11406.65,-2198.404,23.73546,0,0,0,0,100,0), +(@PATH,20,-11406.39,-2203.11,23.42908,0,0,0,0,100,0), +(@PATH,21,-11404.64,-2201.61,23.42908,0,0,0,0,100,0), +(@PATH,22,-11397.64,-2195.11,23.17908,0,0,0,0,100,0), +(@PATH,23,-11396.89,-2194.36,23.17908,0,0,0,0,100,0), +(@PATH,24,-11384.43,-2183.397,23.23336,0,0,0,0,100,0), +(@PATH,25,-11358.43,-2185.897,22.98336,0,0,0,0,100,0); + +-- ghost +SET @NPC := 290810; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11285.16,`position_y`=-2192.621,`position_z`=22.9577 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,-11285.16,-2192.621,22.9577,0,0,0,0,100,0), +(@PATH,2,-11304.45,-2188.722,22.9573,0,0,0,0,100,0), +(@PATH,3,-11317.27,-2191.545,22.95722,0,0,0,0,100,0), +(@PATH,4,-11335.63,-2186.83,22.95722,0,0,0,0,100,0), +(@PATH,5,-11344.63,-2186.58,22.95722,0,0,0,0,100,0), +(@PATH,6,-11351.92,-2186.214,22.80923,0,0,0,0,100,0), +(@PATH,7,-11354.17,-2186.214,22.80923,0,0,0,0,100,0), +(@PATH,8,-11358.17,-2186.214,23.05923,0,0,0,0,100,0), +(@PATH,9,-11358.56,-2186.159,23.05923,0,0,0,0,100,0), +(@PATH,10,-11354.06,-2186.159,22.80923,0,0,0,0,100,0), +(@PATH,11,-11351.53,-2186.225,22.97278,0,0,0,0,100,0), +(@PATH,12,-11344.78,-2186.475,22.97278,0,0,0,0,100,0), +(@PATH,13,-11335.54,-2186.707,22.95722,0,0,0,0,100,0), +(@PATH,14,-11316.8,-2191.492,22.95722,0,0,0,0,100,0), +(@PATH,15,-11304.19,-2188.713,22.95788,0,0,0,0,100,0), +(@PATH,16,-11284.94,-2192.873,22.95729,0,0,0,0,100,0), +(@PATH,17,-11267.99,-2193.994,22.9556,0,0,0,0,100,0), +(@PATH,18,-11254.79,-2195.179,22.95457,0,0,0,0,100,0), +(@PATH,19,-11249.99,-2199.038,22.95328,0,0,0,0,100,0), +(@PATH,20,-11241.49,-2199.788,22.95328,0,0,0,0,100,0), +(@PATH,21,-11237.99,-2200.038,22.95328,0,0,0,0,100,0), +(@PATH,22,-11237.73,-2200.055,22.95811,0,0,0,0,100,0), +(@PATH,23,-11236.98,-2200.055,22.95811,0,0,0,0,100,0), +(@PATH,24,-11231.98,-2199.055,22.95811,0,0,0,0,100,0), +(@PATH,25,-11224.29,-2197.586,22.97294,0,0,0,0,100,0), +(@PATH,26,-11224.64,-2197.935,22.71374,0,0,0,0,100,0), +(@PATH,27,-11224.68,-2197.919,22.96178,0,0,0,0,100,0), +(@PATH,28,-11231.68,-2199.169,22.96178,0,0,0,0,100,0), +(@PATH,29,-11236.68,-2199.919,22.96178,0,0,0,0,100,0); + +-- ghost +SET @NPC := 290954; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11228.15,`position_y`=-2223.346,`position_z`=22.96585 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,-11228.15,-2223.346,22.96585,0,0,0,0,100,0), +(@PATH,2,-11232.65,-2222.096,22.96585,0,0,0,0,100,0), +(@PATH,3,-11234.9,-2221.596,22.96585,0,0,0,0,100,0), +(@PATH,4,-11234.9,-2221.528,22.96743,0,0,0,0,100,0), +(@PATH,5,-11232.65,-2222.278,22.96743,0,0,0,0,100,0), +(@PATH,6,-11227.87,-2223.239,22.96367,0,0,0,0,100,0), +(@PATH,7,-11218.3,-2237.203,22.96388,0,0,0,0,100,0), +(@PATH,8,-11218.55,-2239.203,22.96388,0,0,0,0,100,0), +(@PATH,9,-11218.75,-2243.816,22.96791,0,0,0,0,100,0), +(@PATH,10,-11218,-2239.316,22.96791,0,0,0,0,100,0), +(@PATH,11,-11217.5,-2237.066,22.96791,0,0,0,0,100,0), +(@PATH,12,-11216.12,-2231.53,22.96245,0,0,0,0,100,0), +(@PATH,13,-11206.62,-2232.03,22.96245,0,0,0,0,100,0), +(@PATH,14,-11203.37,-2232.28,22.96245,0,0,0,0,100,0), +(@PATH,15,-11200.12,-2232.28,22.96245,0,0,0,0,100,0), +(@PATH,16,-11199.64,-2232.362,22.96899,0,0,0,0,100,0), +(@PATH,17,-11196.64,-2232.612,22.96899,0,0,0,0,100,0), +(@PATH,18,-11192.89,-2232.612,22.96899,0,0,0,0,100,0), +(@PATH,19,-11187.64,-2232.612,22.96899,0,0,0,0,100,0), +(@PATH,20,-11177.79,-2232.909,22.96883,0,0,0,0,100,0), +(@PATH,21,-11175.11,-2240.497,22.96412,0,0,0,0,100,0), +(@PATH,22,-11175.11,-2242.997,22.96412,0,0,0,0,100,0), +(@PATH,23,-11175.06,-2247.079,22.96218,0,0,0,0,100,0), +(@PATH,24,-11174.81,-2243.079,22.96218,0,0,0,0,100,0), +(@PATH,25,-11174.81,-2240.829,22.96218,0,0,0,0,100,0), +(@PATH,26,-11174.56,-2237.079,22.96218,0,0,0,0,100,0), +(@PATH,27,-11174.29,-2236.847,22.9634,0,0,0,0,100,0), +(@PATH,28,-11174.04,-2234.847,22.9634,0,0,0,0,100,0), +(@PATH,29,-11163.79,-2229.597,22.9634,0,0,0,0,100,0), +(@PATH,30,-11163.52,-2229.304,22.96021,0,0,0,0,100,0), +(@PATH,31,-11160.77,-2228.054,22.96021,0,0,0,0,100,0), +(@PATH,32,-11158.77,-2228.054,22.96021,0,0,0,0,100,0), +(@PATH,33,-11158.78,-2227.63,22.95865,0,0,0,0,100,0), +(@PATH,34,-11155.78,-2227.38,22.95865,0,0,0,0,100,0), +(@PATH,35,-11157.78,-2226.88,22.95865,0,0,0,0,100,0), +(@PATH,36,-11158.78,-2226.88,22.95865,0,0,0,0,100,0), +(@PATH,37,-11162.47,-2225.595,22.96747,0,0,0,0,100,0), +(@PATH,38,-11166.72,-2220.845,22.96747,0,0,0,0,100,0), +(@PATH,39,-11167.97,-2219.345,22.96747,0,0,0,0,100,0), +(@PATH,40,-11171.44,-2215.594,22.97846,0,0,0,0,100,0), +(@PATH,41,-11170.69,-2199.094,22.97846,0,0,0,0,100,0), +(@PATH,42,-11170.2,-2185.32,22.97534,0,0,0,0,100,0), +(@PATH,43,-11162.19,-2178.09,22.96563,0,0,0,0,100,0), +(@PATH,44,-11155.69,-2178.84,22.96563,0,0,0,0,100,0), +(@PATH,45,-11153.44,-2179.09,22.96563,0,0,0,0,100,0), +(@PATH,46,-11153.36,-2178.751,22.96519,0,0,0,0,100,0), +(@PATH,47,-11150.61,-2179.001,22.96519,0,0,0,0,100,0), +(@PATH,48,-11153.36,-2178.251,22.96519,0,0,0,0,100,0), +(@PATH,49,-11155.61,-2177.501,22.96519,0,0,0,0,100,0), +(@PATH,50,-11163.61,-2175.251,22.96519,0,0,0,0,100,0), +(@PATH,51,-11163.79,-2174.966,22.96431,0,0,0,0,100,0), +(@PATH,52,-11167.29,-2173.716,22.96431,0,0,0,0,100,0), +(@PATH,53,-11167.79,-2168.716,22.96431,0,0,0,0,100,0), +(@PATH,54,-11168.29,-2163.466,22.96431,0,0,0,0,100,0), +(@PATH,55,-11168.54,-2161.466,22.96431,0,0,0,0,100,0), +(@PATH,56,-11168.54,-2160.216,22.96431,0,0,0,0,100,0), +(@PATH,57,-11168.87,-2160.217,22.96051,0,0,0,0,100,0), +(@PATH,58,-11169.12,-2156.717,22.96051,0,0,0,0,100,0), +(@PATH,59,-11170.12,-2160.217,22.96051,0,0,0,0,100,0), +(@PATH,60,-11170.37,-2161.717,22.96051,0,0,0,0,100,0), +(@PATH,61,-11170.62,-2163.717,22.96051,0,0,0,0,100,0), +(@PATH,62,-11171.62,-2167.467,22.96051,0,0,0,0,100,0), +(@PATH,63,-11172.56,-2170.771,22.96473,0,0,0,0,100,0), +(@PATH,64,-11189.09,-2169.78,22.96945,0,0,0,0,100,0), +(@PATH,65,-11192.09,-2170.03,22.96945,0,0,0,0,100,0), +(@PATH,66,-11199.84,-2170.53,22.96945,0,0,0,0,100,0), +(@PATH,67,-11211.05,-2170.868,22.96526,0,0,0,0,100,0), +(@PATH,68,-11211.3,-2168.118,22.96526,0,0,0,0,100,0), +(@PATH,69,-11212.05,-2159.618,22.96526,0,0,0,0,100,0), +(@PATH,70,-11212.3,-2157.618,22.96526,0,0,0,0,100,0), +(@PATH,71,-11212.55,-2156.368,22.96526,0,0,0,0,100,0), +(@PATH,72,-11212.58,-2157.621,22.9605,0,0,0,0,100,0), +(@PATH,73,-11212.83,-2156.371,22.9605,0,0,0,0,100,0), +(@PATH,74,-11213.08,-2154.371,22.9605,0,0,0,0,100,0), +(@PATH,75,-11213.33,-2156.371,22.9605,0,0,0,0,100,0), +(@PATH,76,-11213.83,-2157.871,22.9605,0,0,0,0,100,0), +(@PATH,77,-11214.33,-2159.871,22.9605,0,0,0,0,100,0), +(@PATH,78,-11216.33,-2170.621,22.9605,0,0,0,0,100,0), +(@PATH,79,-11216.67,-2170.949,22.95807,0,0,0,0,100,0), +(@PATH,80,-11217.17,-2172.949,22.95807,0,0,0,0,100,0), +(@PATH,81,-11220.92,-2172.949,22.95807,0,0,0,0,100,0), +(@PATH,82,-11228.42,-2172.699,22.95807,0,0,0,0,100,0), +(@PATH,83,-11230.67,-2172.699,22.95807,0,0,0,0,100,0), +(@PATH,84,-11230.58,-2172.783,22.96055,0,0,0,0,100,0), +(@PATH,85,-11228.33,-2173.033,22.96055,0,0,0,0,100,0), +(@PATH,86,-11221.08,-2173.033,22.96055,0,0,0,0,100,0), +(@PATH,87,-11216.89,-2173.025,22.95843,0,0,0,0,100,0), +(@PATH,88,-11216.64,-2170.775,22.95843,0,0,0,0,100,0), +(@PATH,89,-11214.14,-2160.025,22.95843,0,0,0,0,100,0), +(@PATH,90,-11213.64,-2158.025,22.95843,0,0,0,0,100,0), +(@PATH,91,-11213.39,-2156.525,22.95843,0,0,0,0,100,0), +(@PATH,92,-11213.14,-2156.411,22.96162,0,0,0,0,100,0), +(@PATH,93,-11212.64,-2154.411,22.96162,0,0,0,0,100,0), +(@PATH,94,-11212.39,-2156.411,22.96162,0,0,0,0,100,0), +(@PATH,95,-11212.39,-2157.661,22.96162,0,0,0,0,100,0), +(@PATH,96,-11212.39,-2159.661,22.96162,0,0,0,0,100,0), +(@PATH,97,-11211.39,-2168.161,22.96162,0,0,0,0,100,0), +(@PATH,98,-11210.84,-2170.762,22.9667,0,0,0,0,100,0), +(@PATH,99,-11200.09,-2170.262,22.9667,0,0,0,0,100,0), +(@PATH,100,-11192.09,-2169.762,22.9667,0,0,0,0,100,0), +(@PATH,101,-11191.76,-2169.993,22.97355,0,0,0,0,100,0), +(@PATH,102,-11189.01,-2169.743,22.97355,0,0,0,0,100,0), +(@PATH,103,-11172.66,-2170.633,22.9623,0,0,0,0,100,0), +(@PATH,104,-11171.91,-2167.633,22.9623,0,0,0,0,100,0), +(@PATH,105,-11170.91,-2163.633,22.9623,0,0,0,0,100,0), +(@PATH,106,-11170.41,-2161.633,22.9623,0,0,0,0,100,0), +(@PATH,107,-11169.91,-2160.133,22.9623,0,0,0,0,100,0), +(@PATH,108,-11168.84,-2156.562,22.96515,0,0,0,0,100,0), +(@PATH,109,-11168.59,-2160.312,22.96515,0,0,0,0,100,0), +(@PATH,110,-11168.59,-2161.312,22.96515,0,0,0,0,100,0), +(@PATH,111,-11168.59,-2163.312,22.96515,0,0,0,0,100,0), +(@PATH,112,-11167.84,-2168.812,22.96515,0,0,0,0,100,0), +(@PATH,113,-11167.12,-2174.091,22.95806,0,0,0,0,100,0), +(@PATH,114,-11163.62,-2175.091,22.95806,0,0,0,0,100,0), +(@PATH,115,-11155.62,-2177.341,22.95806,0,0,0,0,100,0), +(@PATH,116,-11153.37,-2178.091,22.95806,0,0,0,0,100,0), +(@PATH,117,-11153.4,-2178.109,22.96325,0,0,0,0,100,0), +(@PATH,118,-11150.4,-2179.109,22.96325,0,0,0,0,100,0), +(@PATH,119,-11153.4,-2178.859,22.96325,0,0,0,0,100,0), +(@PATH,120,-11155.65,-2178.609,22.96325,0,0,0,0,100,0), +(@PATH,121,-11162.27,-2178.183,22.97392,0,0,0,0,100,0), +(@PATH,122,-11170.13,-2185.393,22.97823,0,0,0,0,100,0), +(@PATH,123,-11170.63,-2198.143,22.97823,0,0,0,0,100,0), +(@PATH,124,-11171.44,-2215.942,22.97005,0,0,0,0,100,0), +(@PATH,125,-11168.19,-2219.192,22.97005,0,0,0,0,100,0), +(@PATH,126,-11166.94,-2220.692,22.97005,0,0,0,0,100,0), +(@PATH,127,-11162.27,-2225.437,22.96269,0,0,0,0,100,0), +(@PATH,128,-11158.77,-2226.687,22.96269,0,0,0,0,100,0), +(@PATH,129,-11157.77,-2226.937,22.96269,0,0,0,0,100,0), +(@PATH,130,-11158.8,-2226.779,22.9582,0,0,0,0,100,0), +(@PATH,131,-11157.55,-2227.279,22.9582,0,0,0,0,100,0), +(@PATH,132,-11155.8,-2227.529,22.9582,0,0,0,0,100,0), +(@PATH,133,-11157.8,-2227.529,22.9582,0,0,0,0,100,0), +(@PATH,134,-11161.11,-2228.208,22.96246,0,0,0,0,100,0), +(@PATH,135,-11163.86,-2229.708,22.96246,0,0,0,0,100,0), +(@PATH,136,-11174.18,-2235.077,22.96141,0,0,0,0,100,0), +(@PATH,137,-11174.18,-2237.077,22.96141,0,0,0,0,100,0), +(@PATH,138,-11174.43,-2240.827,22.96141,0,0,0,0,100,0), +(@PATH,139,-11174.68,-2243.077,22.96141,0,0,0,0,100,0), +(@PATH,140,-11175.1,-2247.032,22.95994,0,0,0,0,100,0), +(@PATH,141,-11175.1,-2243.032,22.95994,0,0,0,0,100,0), +(@PATH,142,-11175.1,-2241.032,22.95994,0,0,0,0,100,0), +(@PATH,143,-11175.23,-2243.104,22.96832,0,0,0,0,100,0), +(@PATH,144,-11175.23,-2240.854,22.96832,0,0,0,0,100,0), +(@PATH,145,-11175.23,-2240.104,22.96832,0,0,0,0,100,0), +(@PATH,146,-11177.8,-2232.824,22.9684,0,0,0,0,100,0), +(@PATH,147,-11187.55,-2232.824,22.9684,0,0,0,0,100,0), +(@PATH,148,-11193.05,-2232.574,22.9684,0,0,0,0,100,0), +(@PATH,149,-11193.28,-2232.262,22.9699,0,0,0,0,100,0), +(@PATH,150,-11197.03,-2232.262,22.9699,0,0,0,0,100,0), +(@PATH,151,-11200.03,-2232.012,22.9699,0,0,0,0,100,0), +(@PATH,152,-11203.28,-2232.012,22.9699,0,0,0,0,100,0), +(@PATH,153,-11206.28,-2232.012,22.9699,0,0,0,0,100,0), +(@PATH,154,-11216.21,-2231.306,22.96424,0,0,0,0,100,0), +(@PATH,155,-11217.46,-2237.306,22.96424,0,0,0,0,100,0), +(@PATH,156,-11217.96,-2239.306,22.96424,0,0,0,0,100,0); + +-- ghost +SET @NPC := 290937; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11174.61,`position_y`=-2075.024,`position_z`=35.75519 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,-11174.61,-2075.024,35.75519,0,0,0,0,100,0), +(@PATH,2,-11173.11,-2075.274,35.75519,0,0,0,0,100,0), +(@PATH,3,-11174.61,-2075.274,35.75519,0,0,0,0,100,0), +(@PATH,4,-11178.11,-2075.274,35.75519,0,0,0,0,100,0), +(@PATH,5,-11184.09,-2075.696,35.62197,0,0,0,0,100,0), +(@PATH,6,-11184.34,-2085.196,35.62197,0,0,0,0,100,0), +(@PATH,7,-11184.59,-2091.946,31.62197,0,0,0,0,100,0), +(@PATH,8,-11184.87,-2099.878,31.4889,0,0,0,0,100,0), +(@PATH,9,-11180.37,-2101.378,31.4889,0,0,0,0,100,0), +(@PATH,10,-11177.12,-2102.628,31.4889,0,0,0,0,100,0), +(@PATH,11,-11177.13,-2102.489,31.48894,0,0,0,0,100,0), +(@PATH,12,-11175.63,-2102.989,31.48894,0,0,0,0,100,0), +(@PATH,13,-11177.13,-2102.739,31.48894,0,0,0,0,100,0), +(@PATH,14,-11180.38,-2102.239,31.48894,0,0,0,0,100,0), +(@PATH,15,-11190.38,-2100.739,31.48894,0,0,0,0,100,0), +(@PATH,16,-11193.88,-2099.989,31.48894,0,0,0,0,100,0), +(@PATH,17,-11193.79,-2100.171,31.48894,0,0,0,0,100,0), +(@PATH,18,-11197.04,-2099.421,31.48894,0,0,0,0,100,0), +(@PATH,19,-11194.04,-2100.921,31.48894,0,0,0,0,100,0), +(@PATH,20,-11190.54,-2102.421,31.48894,0,0,0,0,100,0), +(@PATH,21,-11186.95,-2104.562,31.35601,0,0,0,0,100,0), +(@PATH,22,-11187.45,-2112.062,31.35601,0,0,0,0,100,0), +(@PATH,23,-11187.95,-2118.812,27.35601,0,0,0,0,100,0), +(@PATH,24,-11188.24,-2127.056,27.22315,0,0,0,0,100,0), +(@PATH,25,-11182.74,-2128.806,27.22315,0,0,0,0,100,0), +(@PATH,26,-11177.31,-2130.637,27.22308,0,0,0,0,100,0), +(@PATH,27,-11182.81,-2129.887,27.22308,0,0,0,0,100,0), +(@PATH,28,-11192.81,-2128.387,27.22308,0,0,0,0,100,0), +(@PATH,29,-11196.31,-2128.137,27.22308,0,0,0,0,100,0), +(@PATH,30,-11199.81,-2127.637,27.22308,0,0,0,0,100,0), +(@PATH,31,-11202.7,-2127.3,27.22308,0,0,0,0,100,0), +(@PATH,32,-11199.7,-2127.8,27.22308,0,0,0,0,100,0), +(@PATH,33,-11196.2,-2128.55,27.22308,0,0,0,0,100,0), +(@PATH,34,-11193.2,-2129.05,27.22308,0,0,0,0,100,0), +(@PATH,35,-11190.22,-2129.983,27.12041,0,0,0,0,100,0), +(@PATH,36,-11189.72,-2133.233,27.12041,0,0,0,0,100,0), +(@PATH,37,-11189.22,-2138.983,27.12041,0,0,0,0,100,0), +(@PATH,38,-11189.43,-2139.324,27.08572,0,0,0,0,100,0), +(@PATH,39,-11189.18,-2142.074,25.33572,0,0,0,0,100,0), +(@PATH,40,-11189.68,-2146.074,23.08572,0,0,0,0,100,0), +(@PATH,41,-11189.75,-2146.124,23.23304,0,0,0,0,100,0), +(@PATH,42,-11189.19,-2141.758,25.33702,0,0,0,0,100,0), +(@PATH,43,-11189.19,-2139.258,27.08702,0,0,0,0,100,0), +(@PATH,44,-11189.94,-2133.258,27.08702,0,0,0,0,100,0), +(@PATH,45,-11189.87,-2133.07,27.22306,0,0,0,0,100,0), +(@PATH,46,-11190.12,-2129.82,27.22306,0,0,0,0,100,0), +(@PATH,47,-11193.12,-2129.32,27.22306,0,0,0,0,100,0), +(@PATH,48,-11196.37,-2128.57,27.22306,0,0,0,0,100,0), +(@PATH,49,-11199.87,-2127.82,27.22306,0,0,0,0,100,0), +(@PATH,50,-11199.76,-2127.828,27.22308,0,0,0,0,100,0), +(@PATH,51,-11202.76,-2127.328,27.22308,0,0,0,0,100,0), +(@PATH,52,-11199.76,-2127.578,27.22308,0,0,0,0,100,0), +(@PATH,53,-11196.26,-2128.078,27.22308,0,0,0,0,100,0), +(@PATH,54,-11193.01,-2128.578,27.22308,0,0,0,0,100,0), +(@PATH,55,-11182.76,-2129.828,27.22308,0,0,0,0,100,0), +(@PATH,56,-11177.17,-2130.648,27.22308,0,0,0,0,100,0), +(@PATH,57,-11182.67,-2128.648,27.22308,0,0,0,0,100,0), +(@PATH,58,-11188.01,-2126.888,27.35601,0,0,0,0,100,0), +(@PATH,59,-11187.76,-2119.138,27.35601,0,0,0,0,100,0), +(@PATH,60,-11187.26,-2112.388,31.35601,0,0,0,0,100,0), +(@PATH,61,-11186.94,-2104.356,31.48896,0,0,0,0,100,0), +(@PATH,62,-11190.94,-2102.606,31.48896,0,0,0,0,100,0), +(@PATH,63,-11193.94,-2101.106,31.48896,0,0,0,0,100,0), +(@PATH,64,-11193.89,-2100.936,31.48894,0,0,0,0,100,0), +(@PATH,65,-11196.89,-2099.436,31.48894,0,0,0,0,100,0), +(@PATH,66,-11193.89,-2100.186,31.48894,0,0,0,0,100,0), +(@PATH,67,-11190.39,-2100.686,31.48894,0,0,0,0,100,0), +(@PATH,68,-11180.39,-2102.436,31.48894,0,0,0,0,100,0), +(@PATH,69,-11177.14,-2102.936,31.48894,0,0,0,0,100,0), +(@PATH,70,-11177.08,-2102.93,31.48894,0,0,0,0,100,0), +(@PATH,71,-11175.58,-2103.18,31.48894,0,0,0,0,100,0), +(@PATH,72,-11177.08,-2102.68,31.48894,0,0,0,0,100,0), +(@PATH,73,-11180.33,-2101.43,31.48894,0,0,0,0,100,0), +(@PATH,74,-11184.84,-2099.517,31.62214,0,0,0,0,100,0), +(@PATH,75,-11184.59,-2092.017,31.62214,0,0,0,0,100,0), +(@PATH,76,-11184.34,-2085.517,35.62214,0,0,0,0,100,0), +(@PATH,77,-11184.09,-2075.723,35.75491,0,0,0,0,100,0), +(@PATH,78,-11178.09,-2075.473,35.75491,0,0,0,0,100,0), +(@PATH,79,-11174.59,-2075.473,35.75491,0,0,0,0,100,0), +(@PATH,80,-11174.63,-2075.039,35.7549,0,0,0,0,100,0), +(@PATH,81,-11173.13,-2075.039,35.7549,0,0,0,0,100,0), +(@PATH,82,-11174.63,-2074.789,35.7549,0,0,0,0,100,0), +(@PATH,83,-11178.13,-2074.289,35.7549,0,0,0,0,100,0), +(@PATH,84,-11188.13,-2073.039,35.7549,0,0,0,0,100,0), +(@PATH,85,-11191.38,-2072.539,35.7549,0,0,0,0,100,0), +(@PATH,86,-11193.1,-2072.229,35.75517,0,0,0,0,100,0), +(@PATH,87,-11191.35,-2072.229,35.75517,0,0,0,0,100,0), +(@PATH,88,-11187.85,-2072.229,35.75517,0,0,0,0,100,0), +(@PATH,89,-11183.15,-2072.344,35.83151,0,0,0,0,100,0), +(@PATH,90,-11182.65,-2066.344,35.83151,0,0,0,0,100,0), +(@PATH,91,-11182.4,-2064.594,37.33151,0,0,0,0,100,0), +(@PATH,92,-11182.15,-2063.344,38.33151,0,0,0,0,100,0), +(@PATH,93,-11181.9,-2060.594,38.08151,0,0,0,0,100,0), +(@PATH,94,-11181.9,-2059.094,39.58151,0,0,0,0,100,0), +(@PATH,95,-11181.91,-2059.126,39.58166,0,0,0,0,100,0), +(@PATH,96,-11181.91,-2060.376,38.08166,0,0,0,0,100,0), +(@PATH,97,-11182.16,-2062.626,38.08166,0,0,0,0,100,0), +(@PATH,98,-11182.41,-2064.626,37.33166,0,0,0,0,100,0), +(@PATH,99,-11182.41,-2065.876,35.83166,0,0,0,0,100,0), +(@PATH,100,-11181.71,-2057.746,40.65778,0,0,0,0,100,0); + +-- ghost +SET @NPC := 291023; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-10950.97,`position_y`=-1869.587,`position_z`=-17.27495 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,-10950.97,-1869.587,-17.27495,0,0,0,0,100,0), +(@PATH,2,-10954.72,-1869.087,-17.27495,0,0,0,0,100,0), +(@PATH,3,-10960.72,-1870.087,-17.27495,0,0,0,0,100,0), +(@PATH,4,-10966.47,-1870.837,-17.52495,0,0,0,0,100,0), +(@PATH,5,-10972.72,-1871.587,-17.27495,0,0,0,0,100,0), +(@PATH,6,-10976.97,-1872.087,-18.77495,0,0,0,0,100,0), +(@PATH,7,-10981.22,-1872.587,-19.27495,0,0,0,0,100,0), +(@PATH,8,-10984.47,-1873.087,-19.52495,0,0,0,0,100,0), +(@PATH,9,-10984.66,-1873.062,-19.91091,0,0,0,0,100,0), +(@PATH,10,-10985.91,-1873.312,-20.41091,0,0,0,0,100,0), +(@PATH,11,-10993.16,-1873.062,-22.16091,0,0,0,0,100,0), +(@PATH,12,-10997.91,-1873.062,-23.91091,0,0,0,0,100,0), +(@PATH,13,-11000.66,-1873.062,-25.16091,0,0,0,0,100,0), +(@PATH,14,-11003.16,-1872.812,-26.41091,0,0,0,0,100,0), +(@PATH,15,-11007.16,-1872.812,-27.66091,0,0,0,0,100,0), +(@PATH,16,-11007.91,-1872.812,-27.91091,0,0,0,0,100,0), +(@PATH,17,-11016.16,-1872.812,-29.91091,0,0,0,0,100,0), +(@PATH,18,-11023.16,-1872.562,-31.16091,0,0,0,0,100,0), +(@PATH,19,-11024.91,-1872.562,-30.66091,0,0,0,0,100,0), +(@PATH,20,-11026.66,-1872.562,-30.41091,0,0,0,0,100,0), +(@PATH,21,-11032.57,-1872.342,-31.24992,0,0,0,0,100,0), +(@PATH,22,-11032.82,-1875.342,-31.49992,0,0,0,0,100,0), +(@PATH,23,-11033.32,-1880.092,-31.99992,0,0,0,0,100,0), +(@PATH,24,-11033.57,-1882.592,-32.49992,0,0,0,0,100,0), +(@PATH,25,-11034.32,-1890.592,-33.74992,0,0,0,0,100,0), +(@PATH,26,-11035.07,-1899.342,-32.99992,0,0,0,0,100,0), +(@PATH,27,-11035.82,-1907.842,-32.74992,0,0,0,0,100,0), +(@PATH,28,-11035.79,-1908.177,-32.80447,0,0,0,0,100,0), +(@PATH,29,-11035.79,-1909.177,-32.55447,0,0,0,0,100,0), +(@PATH,30,-11035.79,-1910.427,-32.55447,0,0,0,0,100,0), +(@PATH,31,-11035.79,-1920.427,-29.30447,0,0,0,0,100,0), +(@PATH,32,-11035.79,-1922.677,-28.30447,0,0,0,0,100,0), +(@PATH,33,-11036.01,-1922.828,-28.19327,0,0,0,0,100,0), +(@PATH,34,-11036.01,-1920.328,-29.19327,0,0,0,0,100,0), +(@PATH,35,-11036.01,-1910.578,-32.44327,0,0,0,0,100,0), +(@PATH,36,-11035.81,-1910.327,-32.51183,0,0,0,0,100,0), +(@PATH,37,-11035.81,-1908.827,-32.76183,0,0,0,0,100,0), +(@PATH,38,-11035.06,-1899.827,-33.01183,0,0,0,0,100,0), +(@PATH,39,-11034.56,-1890.577,-33.76183,0,0,0,0,100,0), +(@PATH,40,-11034.06,-1883.327,-32.51183,0,0,0,0,100,0), +(@PATH,41,-11033.56,-1879.077,-32.01183,0,0,0,0,100,0), +(@PATH,42,-11033.31,-1875.827,-31.76183,0,0,0,0,100,0), +(@PATH,43,-11033.06,-1873.327,-31.51183,0,0,0,0,100,0), +(@PATH,44,-11033.18,-1875.613,-31.49718,0,0,0,0,100,0), +(@PATH,45,-11032.93,-1873.113,-31.24718,0,0,0,0,100,0), +(@PATH,46,-11032.68,-1872.363,-30.99718,0,0,0,0,100,0), +(@PATH,47,-11026.68,-1872.613,-30.49718,0,0,0,0,100,0), +(@PATH,48,-11024.93,-1872.613,-30.49718,0,0,0,0,100,0), +(@PATH,49,-11023.18,-1872.613,-30.99718,0,0,0,0,100,0), +(@PATH,50,-11016.18,-1872.863,-29.74718,0,0,0,0,100,0), +(@PATH,51,-11008.18,-1873.113,-27.99718,0,0,0,0,100,0), +(@PATH,52,-11007.18,-1873.113,-27.74718,0,0,0,0,100,0), +(@PATH,53,-11003.18,-1873.113,-26.49718,0,0,0,0,100,0), +(@PATH,54,-11000.68,-1873.113,-25.24718,0,0,0,0,100,0), +(@PATH,55,-10997.93,-1873.363,-23.99718,0,0,0,0,100,0), +(@PATH,56,-10993.18,-1873.363,-22.24718,0,0,0,0,100,0), +(@PATH,57,-10985.63,-1873.344,-20.0818,0,0,0,0,100,0), +(@PATH,58,-10984.38,-1873.094,-19.5818,0,0,0,0,100,0), +(@PATH,59,-10981.13,-1872.594,-19.3318,0,0,0,0,100,0), +(@PATH,60,-10976.88,-1872.094,-18.8318,0,0,0,0,100,0), +(@PATH,61,-10973.13,-1871.594,-17.3318,0,0,0,0,100,0), +(@PATH,62,-10966.63,-1870.844,-17.5818,0,0,0,0,100,0), +(@PATH,63,-10960.63,-1870.094,-17.3318,0,0,0,0,100,0), +(@PATH,64,-10954.38,-1869.067,-17.15249,0,0,0,0,100,0), +(@PATH,65,-10951.38,-1869.317,-16.90249,0,0,0,0,100,0), +(@PATH,66,-10939.63,-1870.567,-17.40249,0,0,0,0,100,0), +(@PATH,67,-10927.63,-1871.317,-17.15249,0,0,0,0,100,0), +(@PATH,68,-10919.88,-1872.067,-15.15249,0,0,0,0,100,0), +(@PATH,69,-10918.13,-1872.317,-14.90249,0,0,0,0,100,0), +(@PATH,70,-10913.72,-1872.561,-14.60089,0,0,0,0,100,0), +(@PATH,71,-10917.97,-1872.061,-15.10089,0,0,0,0,100,0), +(@PATH,72,-10919.72,-1871.811,-15.10089,0,0,0,0,100,0), +(@PATH,73,-10927.47,-1870.811,-17.10089,0,0,0,0,100,0), +(@PATH,74,-10939.47,-1869.561,-17.60089,0,0,0,0,100,0); + +-- ghost +SET @NPC := 291025; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-10952.34,`position_y`=-1871.409,`position_z`=-17.32776 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,-10952.34,-1871.409,-17.32776,0,0,0,0,100,0), +(@PATH,2,-10951.59,-1875.159,-17.32776,0,0,0,0,100,0), +(@PATH,3,-10949.34,-1877.409,-17.32776,0,0,0,0,100,0), +(@PATH,4,-10946.09,-1880.909,-17.32776,0,0,0,0,100,0), +(@PATH,5,-10944.09,-1882.909,-17.32776,0,0,0,0,100,0), +(@PATH,6,-10941.84,-1885.409,-17.07776,0,0,0,0,100,0), +(@PATH,7,-10941.58,-1885.253,-17.09584,0,0,0,0,100,0), +(@PATH,8,-10941.33,-1885.503,-17.09584,0,0,0,0,100,0), +(@PATH,9,-10938.33,-1883.503,-17.34584,0,0,0,0,100,0), +(@PATH,10,-10932.9,-1879.858,-17.30407,0,0,0,0,100,0), +(@PATH,11,-10928.65,-1879.108,-17.30407,0,0,0,0,100,0), +(@PATH,12,-10925.15,-1878.358,-16.55407,0,0,0,0,100,0), +(@PATH,13,-10920.51,-1876.974,-15.35462,0,0,0,0,100,0), +(@PATH,14,-10914.01,-1874.974,-14.60462,0,0,0,0,100,0), +(@PATH,15,-10914.14,-1874.731,-14.55564,0,0,0,0,100,0), +(@PATH,16,-10913.39,-1874.481,-14.55564,0,0,0,0,100,0), +(@PATH,17,-10913.64,-1866.981,-14.80564,0,0,0,0,100,0), +(@PATH,18,-10913.64,-1862.731,-14.80564,0,0,0,0,100,0), +(@PATH,19,-10913.71,-1855.503,-15.19139,0,0,0,0,100,0), +(@PATH,20,-10915.46,-1854.253,-15.44139,0,0,0,0,100,0), +(@PATH,21,-10917.71,-1852.503,-15.19139,0,0,0,0,100,0), +(@PATH,22,-10923.12,-1847.401,-14.91119,0,0,0,0,100,0), +(@PATH,23,-10925.62,-1846.651,-14.66119,0,0,0,0,100,0), +(@PATH,24,-10928.37,-1846.151,-14.66119,0,0,0,0,100,0), +(@PATH,25,-10935.12,-1844.151,-15.66119,0,0,0,0,100,0), +(@PATH,26,-10938.37,-1843.151,-16.66119,0,0,0,0,100,0), +(@PATH,27,-10938.48,-1843.145,-16.79991,0,0,0,0,100,0), +(@PATH,28,-10939.48,-1842.895,-17.04991,0,0,0,0,100,0), +(@PATH,29,-10942.48,-1843.395,-17.54991,0,0,0,0,100,0), +(@PATH,30,-10947.48,-1843.895,-17.54991,0,0,0,0,100,0), +(@PATH,31,-10949.23,-1844.145,-17.54991,0,0,0,0,100,0), +(@PATH,32,-10949.46,-1844.125,-17.59497,0,0,0,0,100,0), +(@PATH,33,-10950.21,-1844.125,-17.59497,0,0,0,0,100,0), +(@PATH,34,-10955.46,-1846.375,-17.59497,0,0,0,0,100,0), +(@PATH,35,-10957.21,-1847.125,-17.59497,0,0,0,0,100,0), +(@PATH,36,-10961.03,-1848.799,-17.69845,0,0,0,0,100,0), +(@PATH,37,-10960.53,-1856.049,-17.44845,0,0,0,0,100,0), +(@PATH,38,-10960.46,-1862.326,-17.32179,0,0,0,0,100,0), +(@PATH,39,-10961.46,-1867.076,-17.32179,0,0,0,0,100,0), +(@PATH,40,-10962.95,-1876.35,-17.34244,0,0,0,0,100,0), +(@PATH,41,-10962.2,-1879.6,-17.34244,0,0,0,0,100,0), +(@PATH,42,-10961.2,-1883.1,-17.09244,0,0,0,0,100,0), +(@PATH,43,-10959.95,-1888.6,-17.09244,0,0,0,0,100,0), +(@PATH,44,-10959.7,-1890.6,-17.09244,0,0,0,0,100,0), +(@PATH,45,-10959.2,-1892.1,-17.09244,0,0,0,0,100,0); + +-- ghost +SET @NPC := 290851; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11077.86,`position_y`=-1936.072,`position_z`=-7.469562 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,-11077.86,-1936.072,-7.469562,0,0,0,0,100,0), +(@PATH,2,-11072.86,-1935.322,-6.719562,0,0,0,0,100,0), +(@PATH,3,-11068.36,-1934.822,-6.219562,0,0,0,0,100,0), +(@PATH,4,-11066.61,-1934.572,-5.969562,0,0,0,0,100,0), +(@PATH,5,-11062.61,-1934.072,-5.469562,0,0,0,0,100,0), +(@PATH,6,-11060.61,-1933.572,-5.469562,0,0,0,0,100,0), +(@PATH,7,-11058.36,-1933.322,-4.969562,0,0,0,0,100,0), +(@PATH,8,-11058.01,-1932.907,-5.15441,0,0,0,0,100,0), +(@PATH,9,-11057.51,-1932.907,-5.15441,0,0,0,0,100,0), +(@PATH,10,-11054.51,-1931.657,-5.15441,0,0,0,0,100,0), +(@PATH,11,-11050.76,-1930.157,-4.90441,0,0,0,0,100,0), +(@PATH,12,-11049.51,-1929.407,-4.65441,0,0,0,0,100,0), +(@PATH,13,-11047.01,-1928.657,-4.90441,0,0,0,0,100,0), +(@PATH,14,-11040.01,-1925.657,-4.65441,0,0,0,0,100,0), +(@PATH,15,-11039.77,-1925.44,-4.495247,0,0,0,0,100,0), +(@PATH,16,-11039.02,-1924.94,-4.495247,0,0,0,0,100,0), +(@PATH,17,-11038.77,-1922.94,-4.245247,0,0,0,0,100,0), +(@PATH,18,-11036.52,-1912.19,-3.495247,0,0,0,0,100,0), +(@PATH,19,-11036.42,-1911.888,-3.413323,0,0,0,0,100,0), +(@PATH,20,-11036.17,-1909.888,-3.413323,0,0,0,0,100,0), +(@PATH,21,-11037.92,-1908.138,-3.413323,0,0,0,0,100,0), +(@PATH,22,-11039.17,-1907.138,-3.413323,0,0,0,0,100,0), +(@PATH,23,-11043.67,-1903.138,-3.913323,0,0,0,0,100,0), +(@PATH,24,-11045.67,-1901.138,-3.913323,0,0,0,0,100,0), +(@PATH,25,-11049.67,-1897.388,-3.913323,0,0,0,0,100,0), +(@PATH,26,-11049.86,-1897.173,-3.505289,0,0,0,0,100,0), +(@PATH,27,-11050.36,-1896.673,-3.505289,0,0,0,0,100,0), +(@PATH,28,-11053.86,-1896.923,-3.255289,0,0,0,0,100,0), +(@PATH,29,-11056.11,-1896.923,-3.005289,0,0,0,0,100,0), +(@PATH,30,-11058.86,-1896.923,-2.755289,0,0,0,0,100,0), +(@PATH,31,-11062.61,-1896.923,-2.005289,0,0,0,0,100,0), +(@PATH,32,-11065.11,-1896.923,-2.005289,0,0,0,0,100,0), +(@PATH,33,-11065.33,-1896.748,-1.711246,0,0,0,0,100,0), +(@PATH,34,-11067.08,-1896.748,-1.461246,0,0,0,0,100,0), +(@PATH,35,-11071.58,-1895.248,-0.4612458,0,0,0,0,100,0), +(@PATH,36,-11073.33,-1894.748,-0.2112458,0,0,0,0,100,0), +(@PATH,37,-11076.83,-1893.748,0.2887542,0,0,0,0,100,0), +(@PATH,38,-11078.83,-1893.248,0.2887542,0,0,0,0,100,0), +(@PATH,39,-11083.83,-1891.748,1.788754,0,0,0,0,100,0), +(@PATH,40,-11084.09,-1891.719,1.883329,0,0,0,0,100,0), +(@PATH,41,-11084.34,-1891.469,1.883329,0,0,0,0,100,0), +(@PATH,42,-11088.34,-1892.219,2.633329,0,0,0,0,100,0), +(@PATH,43,-11090.09,-1892.719,2.633329,0,0,0,0,100,0), +(@PATH,44,-11093.34,-1893.219,2.383329,0,0,0,0,100,0), +(@PATH,45,-11098.9,-1894.371,2.000008,0,0,0,0,100,0), +(@PATH,46,-11098.65,-1895.371,2.250008,0,0,0,0,100,0), +(@PATH,47,-11097.15,-1902.621,2.250008,0,0,0,0,100,0), +(@PATH,48,-11097.38,-1902.444,2.317019,0,0,0,0,100,0), +(@PATH,49,-11098.63,-1895.444,2.067019,0,0,0,0,100,0), +(@PATH,50,-11098.49,-1895.124,2.011541,0,0,0,0,100,0), +(@PATH,51,-11098.74,-1894.374,1.761541,0,0,0,0,100,0), +(@PATH,52,-11093.24,-1893.374,2.511541,0,0,0,0,100,0), +(@PATH,53,-11090.24,-1892.624,2.761541,0,0,0,0,100,0), +(@PATH,54,-11088.49,-1892.374,2.761541,0,0,0,0,100,0), +(@PATH,55,-11088.19,-1892.423,2.620745,0,0,0,0,100,0), +(@PATH,56,-11084.19,-1891.673,1.870745,0,0,0,0,100,0), +(@PATH,57,-11078.69,-1893.173,0.3707453,0,0,0,0,100,0), +(@PATH,58,-11076.94,-1893.923,0.3707453,0,0,0,0,100,0), +(@PATH,59,-11073.44,-1894.673,-0.1292547,0,0,0,0,100,0), +(@PATH,60,-11071.44,-1895.423,-0.6292547,0,0,0,0,100,0), +(@PATH,61,-11066.83,-1896.716,-1.619533,0,0,0,0,100,0), +(@PATH,62,-11065.08,-1896.716,-1.869533,0,0,0,0,100,0), +(@PATH,63,-11062.58,-1896.716,-1.869533,0,0,0,0,100,0), +(@PATH,64,-11059.08,-1896.716,-2.619533,0,0,0,0,100,0), +(@PATH,65,-11056.08,-1896.716,-2.869533,0,0,0,0,100,0), +(@PATH,66,-11053.83,-1896.466,-3.369533,0,0,0,0,100,0), +(@PATH,67,-11050.2,-1896.755,-3.681933,0,0,0,0,100,0), +(@PATH,68,-11045.7,-1901.005,-3.931933,0,0,0,0,100,0), +(@PATH,69,-11043.7,-1903.255,-3.931933,0,0,0,0,100,0), +(@PATH,70,-11039.2,-1907.005,-3.431933,0,0,0,0,100,0), +(@PATH,71,-11037.95,-1908.005,-3.431933,0,0,0,0,100,0), +(@PATH,72,-11036.04,-1910.147,-3.436284,0,0,0,0,100,0), +(@PATH,73,-11036.54,-1912.147,-3.436284,0,0,0,0,100,0), +(@PATH,74,-11038.54,-1922.897,-4.186284,0,0,0,0,100,0), +(@PATH,75,-11038.82,-1923.08,-4.309036,0,0,0,0,100,0), +(@PATH,76,-11039.32,-1925.33,-4.559036,0,0,0,0,100,0), +(@PATH,77,-11047.07,-1928.33,-4.809036,0,0,0,0,100,0), +(@PATH,78,-11049.32,-1929.33,-4.809036,0,0,0,0,100,0), +(@PATH,79,-11050.82,-1930.08,-4.809036,0,0,0,0,100,0), +(@PATH,80,-11054.57,-1931.58,-5.059036,0,0,0,0,100,0), +(@PATH,81,-11054.89,-1931.903,-5.314019,0,0,0,0,100,0), +(@PATH,82,-11057.89,-1933.153,-5.064019,0,0,0,0,100,0), +(@PATH,83,-11060.64,-1933.653,-5.314019,0,0,0,0,100,0), +(@PATH,84,-11062.64,-1933.903,-5.564019,0,0,0,0,100,0), +(@PATH,85,-11066.39,-1934.403,-6.064019,0,0,0,0,100,0), +(@PATH,86,-11067.64,-1934.403,-6.064019,0,0,0,0,100,0), +(@PATH,87,-11072.89,-1935.403,-6.814019,0,0,0,0,100,0), +(@PATH,88,-11078.07,-1936.366,-7.724932,0,0,0,0,100,0), +(@PATH,89,-11082.07,-1937.616,-7.474932,0,0,0,0,100,0), +(@PATH,90,-11087.32,-1939.366,-6.474932,0,0,0,0,100,0), +(@PATH,91,-11089.07,-1939.866,-6.474932,0,0,0,0,100,0), +(@PATH,92,-11094.07,-1941.366,-8.724932,0,0,0,0,100,0), +(@PATH,93,-11096.82,-1942.116,-9.474932,0,0,0,0,100,0), +(@PATH,94,-11102.46,-1943.79,-10.66358,0,0,0,0,100,0), +(@PATH,95,-11106.46,-1942.29,-11.41358,0,0,0,0,100,0), +(@PATH,96,-11115.21,-1938.79,-11.91358,0,0,0,0,100,0), +(@PATH,97,-11119.66,-1936.917,-12.55414,0,0,0,0,100,0), +(@PATH,98,-11122.41,-1930.667,-12.55414,0,0,0,0,100,0), +(@PATH,99,-11124.16,-1925.667,-12.55414,0,0,0,0,100,0), +(@PATH,100,-11125.16,-1923.667,-12.30414,0,0,0,0,100,0), +(@PATH,101,-11128.12,-1916.731,-12.99357,0,0,0,0,100,0), +(@PATH,102,-11129.87,-1909.481,-12.99357,0,0,0,0,100,0), +(@PATH,103,-11131.87,-1899.731,-12.74357,0,0,0,0,100,0), +(@PATH,104,-11132.12,-1898.231,-12.49357,0,0,0,0,100,0), +(@PATH,105,-11134.37,-1888.231,-12.49357,0,0,0,0,100,0), +(@PATH,106,-11135.37,-1883.481,-12.99357,0,0,0,0,100,0), +(@PATH,107,-11135.22,-1883.291,-12.57786,0,0,0,0,100,0), +(@PATH,108,-11135.47,-1882.541,-12.82786,0,0,0,0,100,0), +(@PATH,109,-11135.47,-1881.541,-12.82786,0,0,0,0,100,0), +(@PATH,110,-11134.47,-1875.791,-13.07786,0,0,0,0,100,0), +(@PATH,111,-11134.22,-1872.541,-11.32786,0,0,0,0,100,0), +(@PATH,112,-11133.42,-1868.931,-11.7614,0,0,0,0,100,0), +(@PATH,113,-11131.67,-1866.681,-11.7614,0,0,0,0,100,0), +(@PATH,114,-11127.67,-1861.181,-11.5114,0,0,0,0,100,0), +(@PATH,115,-11121.42,-1851.931,-11.5114,0,0,0,0,100,0), +(@PATH,116,-11121.43,-1851.781,-11.59575,0,0,0,0,100,0), +(@PATH,117,-11127.68,-1860.781,-11.34575,0,0,0,0,100,0), +(@PATH,118,-11131.68,-1866.531,-11.84575,0,0,0,0,100,0), +(@PATH,119,-11133.8,-1869.259,-11.97753,0,0,0,0,100,0), +(@PATH,120,-11134.05,-1872.509,-11.22753,0,0,0,0,100,0), +(@PATH,121,-11134.55,-1875.759,-12.97753,0,0,0,0,100,0), +(@PATH,122,-11135.3,-1881.509,-12.97753,0,0,0,0,100,0), +(@PATH,123,-11135.32,-1881.682,-13.25977,0,0,0,0,100,0), +(@PATH,124,-11135.57,-1882.682,-13.00977,0,0,0,0,100,0), +(@PATH,125,-11134.32,-1888.182,-12.50977,0,0,0,0,100,0), +(@PATH,126,-11132.32,-1897.932,-12.50977,0,0,0,0,100,0), +(@PATH,127,-11132.07,-1898.682,-12.75977,0,0,0,0,100,0), +(@PATH,128,-11129.82,-1909.432,-13.25977,0,0,0,0,100,0), +(@PATH,129,-11128.19,-1916.791,-13.02441,0,0,0,0,100,0), +(@PATH,130,-11125.19,-1923.541,-12.27441,0,0,0,0,100,0), +(@PATH,131,-11124.44,-1925.541,-12.52441,0,0,0,0,100,0), +(@PATH,132,-11122.19,-1930.541,-12.77441,0,0,0,0,100,0), +(@PATH,133,-11119.94,-1936.041,-12.52441,0,0,0,0,100,0), +(@PATH,134,-11119.63,-1936.436,-12.25877,0,0,0,0,100,0), +(@PATH,135,-11119.38,-1937.186,-12.25877,0,0,0,0,100,0), +(@PATH,136,-11115.38,-1938.936,-12.00877,0,0,0,0,100,0), +(@PATH,137,-11106.38,-1942.186,-11.50877,0,0,0,0,100,0), +(@PATH,138,-11102.24,-1943.946,-10.21096,0,0,0,0,100,0), +(@PATH,139,-11096.99,-1942.196,-9.460957,0,0,0,0,100,0), +(@PATH,140,-11094.99,-1941.446,-8.960957,0,0,0,0,100,0), +(@PATH,141,-11089.24,-1939.946,-6.460957,0,0,0,0,100,0), +(@PATH,142,-11087.49,-1939.446,-6.710957,0,0,0,0,100,0), +(@PATH,143,-11081.99,-1937.696,-7.460957,0,0,0,0,100,0); + +-- ghost +SET @NPC := 290821; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-11145.94,`position_y`=-1970.426,`position_z`=23.0355 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,-11145.94,-1970.426,23.0355,0,0,0,0,100,0), +(@PATH,2,-11149.69,-1966.426,23.0355,0,0,0,0,100,0), +(@PATH,3,-11151.83,-1964.306,22.86111,0,0,0,0,100,0), +(@PATH,4,-11160.58,-1963.306,22.86111,0,0,0,0,100,0), +(@PATH,5,-11165.34,-1962.648,23.05659,0,0,0,0,100,0), +(@PATH,6,-11172.2,-1972.198,23.04974,0,0,0,0,100,0), +(@PATH,7,-11174.2,-1973.948,23.04974,0,0,0,0,100,0), +(@PATH,8,-11179.7,-1979.448,23.04974,0,0,0,0,100,0), +(@PATH,9,-11183.22,-1983.091,23.00804,0,0,0,0,100,0), +(@PATH,10,-11183.22,-1986.091,23.00804,0,0,0,0,100,0), +(@PATH,11,-11182.97,-1991.591,23.00804,0,0,0,0,100,0), +(@PATH,12,-11182.77,-1995.239,23.02066,0,0,0,0,100,0), +(@PATH,13,-11181.02,-1999.239,23.02066,0,0,0,0,100,0), +(@PATH,14,-11180.98,-1999.119,23.02632,0,0,0,0,100,0), +(@PATH,15,-11182.86,-1994.804,23.03189,0,0,0,0,100,0), +(@PATH,16,-11182.86,-1991.554,22.78189,0,0,0,0,100,0), +(@PATH,17,-11183.11,-1986.054,23.03189,0,0,0,0,100,0), +(@PATH,18,-11183.36,-1982.844,23.04076,0,0,0,0,100,0), +(@PATH,19,-11179.61,-1979.344,23.04076,0,0,0,0,100,0), +(@PATH,20,-11174.11,-1974.094,23.04076,0,0,0,0,100,0), +(@PATH,21,-11173.71,-1973.838,23.04392,0,0,0,0,100,0), +(@PATH,22,-11171.96,-1972.088,23.04392,0,0,0,0,100,0), +(@PATH,23,-11165.11,-1962.681,23.05661,0,0,0,0,100,0), +(@PATH,24,-11160.86,-1963.181,23.05661,0,0,0,0,100,0), +(@PATH,25,-11151.89,-1964.265,22.85381,0,0,0,0,100,0), +(@PATH,26,-11149.89,-1966.515,23.10381,0,0,0,0,100,0), +(@PATH,27,-11145.76,-1970.669,23.04451,0,0,0,0,100,0), +(@PATH,28,-11144.01,-1973.669,23.04451,0,0,0,0,100,0), +(@PATH,29,-11143.26,-1975.169,22.79451,0,0,0,0,100,0), +(@PATH,30,-11139.01,-1983.669,19.04451,0,0,0,0,100,0), +(@PATH,31,-11138.26,-1985.669,18.54451,0,0,0,0,100,0), +(@PATH,32,-11133.51,-1994.419,16.54451,0,0,0,0,100,0), +(@PATH,33,-11132.51,-1996.419,15.79451,0,0,0,0,100,0), +(@PATH,34,-11130.26,-2000.669,15.29451,0,0,0,0,100,0), +(@PATH,35,-11128.37,-2004.379,14.93686,0,0,0,0,100,0), +(@PATH,36,-11118.62,-2006.879,14.18686,0,0,0,0,100,0), +(@PATH,37,-11116.39,-2007.397,13.74907,0,0,0,0,100,0), +(@PATH,38,-11110.39,-2004.397,13.74907,0,0,0,0,100,0), +(@PATH,39,-11103.14,-2000.897,13.24907,0,0,0,0,100,0), +(@PATH,40,-11102.97,-2000.822,12.90639,0,0,0,0,100,0), +(@PATH,41,-11102.47,-2000.322,12.90639,0,0,0,0,100,0), +(@PATH,42,-11102.47,-1998.322,12.90639,0,0,0,0,100,0), +(@PATH,43,-11102.22,-1989.072,11.90639,0,0,0,0,100,0), +(@PATH,44,-11101.98,-1984.905,10.30396,0,0,0,0,100,0), +(@PATH,45,-11101.23,-1981.405,8.803959,0,0,0,0,100,0), +(@PATH,46,-11100.98,-1979.405,8.303959,0,0,0,0,100,0), +(@PATH,47,-11100.1,-1974.993,5.961955,0,0,0,0,100,0), +(@PATH,48,-11099.85,-1969.743,3.711955,0,0,0,0,100,0), +(@PATH,49,-11099.6,-1968.743,3.211955,0,0,0,0,100,0), +(@PATH,50,-11098.85,-1960.743,1.961955,0,0,0,0,100,0), +(@PATH,51,-11098.58,-1960.354,2.006262,0,0,0,0,100,0), +(@PATH,52,-11098.58,-1958.354,1.756262,0,0,0,0,100,0), +(@PATH,53,-11098.08,-1956.354,1.256262,0,0,0,0,100,0), +(@PATH,54,-11098.08,-1955.354,1.256262,0,0,0,0,100,0), +(@PATH,55,-11097.33,-1949.104,3.006262,0,0,0,0,100,0), +(@PATH,56,-11096.6,-1943.717,4.285551,0,0,0,0,100,0), +(@PATH,57,-11096.35,-1940.967,4.785551,0,0,0,0,100,0), +(@PATH,58,-11096.35,-1936.467,5.285551,0,0,0,0,100,0), +(@PATH,59,-11096.16,-1931.123,4.878596,0,0,0,0,100,0), +(@PATH,60,-11097.66,-1928.873,4.628596,0,0,0,0,100,0), +(@PATH,61,-11098.66,-1927.373,4.378596,0,0,0,0,100,0), +(@PATH,62,-11100.16,-1925.123,4.378596,0,0,0,0,100,0), +(@PATH,63,-11100.66,-1923.873,3.878596,0,0,0,0,100,0), +(@PATH,64,-11100.64,-1923.879,4.039156,0,0,0,0,100,0), +(@PATH,65,-11100.14,-1925.129,4.289156,0,0,0,0,100,0), +(@PATH,66,-11098.64,-1927.379,4.289156,0,0,0,0,100,0), +(@PATH,67,-11097.64,-1928.879,4.789156,0,0,0,0,100,0), +(@PATH,68,-11096.31,-1931.252,5.055262,0,0,0,0,100,0), +(@PATH,69,-11096.31,-1936.252,5.305262,0,0,0,0,100,0), +(@PATH,70,-11096.31,-1940.752,4.805262,0,0,0,0,100,0), +(@PATH,71,-11096.6,-1943.875,4.08406,0,0,0,0,100,0), +(@PATH,72,-11097.35,-1948.875,3.08406,0,0,0,0,100,0), +(@PATH,73,-11098.1,-1955.375,1.33406,0,0,0,0,100,0), +(@PATH,74,-11098.22,-1955.567,1.163555,0,0,0,0,100,0), +(@PATH,75,-11098.72,-1958.567,1.663555,0,0,0,0,100,0), +(@PATH,76,-11098.97,-1960.817,1.913555,0,0,0,0,100,0), +(@PATH,77,-11099.47,-1968.567,3.163555,0,0,0,0,100,0), +(@PATH,78,-11099.47,-1969.817,3.413555,0,0,0,0,100,0), +(@PATH,79,-11100.27,-1975.218,6.266759,0,0,0,0,100,0), +(@PATH,80,-11101.02,-1978.968,8.016759,0,0,0,0,100,0), +(@PATH,81,-11101.27,-1980.968,8.766759,0,0,0,0,100,0), +(@PATH,82,-11102.17,-1985.027,10.644,0,0,0,0,100,0), +(@PATH,83,-11102.17,-1988.527,11.644,0,0,0,0,100,0), +(@PATH,84,-11102.17,-1998.527,12.894,0,0,0,0,100,0), +(@PATH,85,-11102.42,-1998.578,12.99935,0,0,0,0,100,0), +(@PATH,86,-11102.42,-2000.578,12.99935,0,0,0,0,100,0), +(@PATH,87,-11110.17,-2004.328,13.74935,0,0,0,0,100,0), +(@PATH,88,-11116.34,-2007.627,13.87936,0,0,0,0,100,0), +(@PATH,89,-11118.59,-2006.877,14.12936,0,0,0,0,100,0), +(@PATH,90,-11128.66,-2004.037,15.17478,0,0,0,0,100,0), +(@PATH,91,-11130.41,-2000.787,15.42478,0,0,0,0,100,0), +(@PATH,92,-11132.66,-1996.287,15.67478,0,0,0,0,100,0), +(@PATH,93,-11133.66,-1994.537,16.42478,0,0,0,0,100,0), +(@PATH,94,-11137.91,-1985.787,18.42478,0,0,0,0,100,0), +(@PATH,95,-11138.41,-1984.537,18.67478,0,0,0,0,100,0), +(@PATH,96,-11143.41,-1975.287,22.67478,0,0,0,0,100,0), +(@PATH,97,-11143.91,-1974.287,22.92478,0,0,0,0,100,0), +(@PATH,98,-11144.17,-1973.957,23.02656,0,0,0,0,100,0), +(@PATH,99,-11145.92,-1970.207,23.02656,0,0,0,0,100,0), +(@PATH,100,-11149.67,-1966.457,23.02656,0,0,0,0,100,0), +(@PATH,101,-11152.03,-1964.363,22.86212,0,0,0,0,100,0), +(@PATH,102,-11160.78,-1963.113,22.86212,0,0,0,0,100,0), +(@PATH,103,-11165.25,-1962.66,23.05611,0,0,0,0,100,0), +(@PATH,104,-11172.41,-1972.385,23.04976,0,0,0,0,100,0), +(@PATH,105,-11174.16,-1973.885,23.04976,0,0,0,0,100,0), +(@PATH,106,-11179.66,-1979.385,23.04976,0,0,0,0,100,0), +(@PATH,107,-11183.17,-1983.037,23.00779,0,0,0,0,100,0), +(@PATH,108,-11183.17,-1986.037,23.00779,0,0,0,0,100,0), +(@PATH,109,-11182.92,-1991.537,23.00779,0,0,0,0,100,0), +(@PATH,110,-11182.77,-1995.188,23.0204,0,0,0,0,100,0), +(@PATH,111,-11181.02,-1999.188,23.0204,0,0,0,0,100,0), +(@PATH,112,-11180.98,-1999.119,23.02632,0,0,0,0,100,0), +(@PATH,113,-11182.87,-1994.794,23.03176,0,0,0,0,100,0), +(@PATH,114,-11182.87,-1991.544,22.78176,0,0,0,0,100,0), +(@PATH,115,-11183.12,-1986.044,23.03176,0,0,0,0,100,0), +(@PATH,116,-11183.36,-1982.805,23.04112,0,0,0,0,100,0), +(@PATH,117,-11179.61,-1979.305,23.04112,0,0,0,0,100,0), +(@PATH,118,-11174.11,-1974.055,23.04112,0,0,0,0,100,0), +(@PATH,119,-11173.94,-1973.821,23.04391,0,0,0,0,100,0), +(@PATH,120,-11171.94,-1972.071,23.04391,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_07_31_06_world.sql b/sql/updates/world/2015_07_31_06_world.sql new file mode 100644 index 00000000000..8a8e54c5abf --- /dev/null +++ b/sql/updates/world/2015_07_31_06_world.sql @@ -0,0 +1,43 @@ +-- Orgrimmar Fixup +-- Og Corrections +DELETE FROM `creature` WHERE `guid` IN (287235,287157,286793,310909,287258,287081,311029); +SET @NPC := 310837; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1599.04,`position_y`=-4372.515,`position_z`=21.2458 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,1599.04,-4372.515,21.2458,0,0,0,0,100,0), +(@PATH,2,1607.54,-4387.015,20.7458,0,0,0,0,100,0), +(@PATH,3,1613.54,-4392.515,20.9958,0,0,0,0,100,0), +(@PATH,4,1621.79,-4392.765,20.7458,0,0,0,0,100,0), +(@PATH,5,1626.83,-4393.27,20.3058,1.466077,5000,0,0,100,0), +(@PATH,6,1631.165,-4393.745,20.9266,0,0,0,0,100,0), +(@PATH,7,1639.415,-4396.245,20.6766,0,0,0,0,100,0), +(@PATH,8,1647.415,-4398.245,20.6766,0,0,0,0,100,0), +(@PATH,9,1655.415,-4398.495,20.9266,0,0,0,0,100,0), +(@PATH,10,1657.415,-4405.245,19.6766,0,0,0,0,100,0), +(@PATH,11,1657.415,-4420.745,18.4266,0,0,0,0,100,0), +(@PATH,12,1665.165,-4426.995,18.4266,0,0,0,0,100,0), +(@PATH,13,1668.915,-4429.745,21.6766,0,0,0,0,100,0), +(@PATH,14,1671.665,-4431.745,21.6766,0,0,0,0,100,0), +(@PATH,15,1672.915,-4436.745,21.6766,0,0,0,0,100,0), +(@PATH,16,1675.415,-4438.495,21.6766,0,0,0,0,100,0), +(@PATH,17,1676.92,-4436.25,21.52993,0,0,0,0,100,0), +(@PATH,18,1677.585,-4438.005,21.60787,0,0,0,0,100,0), +(@PATH,19,1674.085,-4438.005,21.60787,0,0,0,0,100,0), +(@PATH,20,1671.585,-4432.005,21.60787,0,0,0,0,100,0), +(@PATH,21,1669.585,-4429.505,21.60787,0,0,0,0,100,0), +(@PATH,22,1665.585,-4427.255,18.35787,0,0,0,0,100,0), +(@PATH,23,1658.335,-4420.755,18.35787,0,0,0,0,100,0), +(@PATH,24,1641.835,-4411.005,16.35787,0,0,0,0,100,0), +(@PATH,25,1631.335,-4406.755,15.85787,0,0,0,0,100,0), +(@PATH,26,1617.835,-4405.505,15.60787,0,0,0,0,100,0), +(@PATH,27,1610.085,-4409.255,15.35787,0,0,0,0,100,0), +(@PATH,28,1586.335,-4406.005,15.85787,0,0,0,0,100,0), +(@PATH,29,1579.085,-4403.755,15.85787,0,0,0,0,100,0), +(@PATH,30,1577.835,-4400.505,16.10787,0,0,0,0,100,0), +(@PATH,31,1579.335,-4392.005,16.60787,0,0,0,0,100,0), +(@PATH,32,1589.335,-4385.755,18.60787,0,0,0,0,100,0), +(@PATH,33,1594.835,-4382.755,19.85787,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_08_01_00_world.sql b/sql/updates/world/2015_08_01_00_world.sql new file mode 100644 index 00000000000..13eec42bfa4 --- /dev/null +++ b/sql/updates/world/2015_08_01_00_world.sql @@ -0,0 +1,661 @@ +-- DB/Pathing: Moonglade + +UPDATE `creature` SET `spawndist`=2, `MovementType`=1 WHERE `id` IN (22902, 22889); +DELETE FROM `creature` WHERE `id` IN (22916); + +-- Cenarion Dreamwarden SAI +SET @ENTRY := 22835; +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,1000,10000,10000,49,0,0,0,0,0,0,19,22902,10,0,0,0,0,0,"Cenarion Dreamwarden - Out of Combat - Start Attacking"); + +-- Phantasmal Lash SAI +SET @ENTRY := 22902; +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,6,0,50,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Phantasmal Lash - On Just Died - Say Line 0"); + +-- Manifest Nightmare SAI +SET @ENTRY := 22889; +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,6,0,10,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Manifest Nightmare - On Just Died - Say Line 0"); + +DELETE FROM `creature_text` WHERE `entry` IN (22902, 22889); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES +(22902, 0, 0, 'A %s erupts into the waking world from the Emerald Dream!', 16, 0, 100, 0, 0, 0, 20562, 'Phantasmal Lash'), +(22889, 0, 0, 'A %s erupts into the waking world from the Emerald Dream!', 16, 0, 100, 0, 0, 0, 20562, 'Manifest Nightmare'); + +-- guard +SET @NPC := 290173; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7886.687,`position_y`=-2193.967,`position_z`=480.4669 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,7886.687,-2193.967,480.4669,0,0,0,0,100,0), +(@PATH,2,7886.425,-2193.002,480.4669,0,0,0,0,100,0), +(@PATH,3,7882.832,-2189.525,479.6583,0,0,0,0,100,0), +(@PATH,4,7878.52,-2185.354,478.9083,0,0,0,0,100,0), +(@PATH,5,7874.962,-2181.921,478.6583,0,0,0,0,100,0), +(@PATH,6,7874.962,-2181.921,478.6583,0,0,0,0,100,0), +(@PATH,7,7874.862,-2181.689,478.7578,0,0,0,0,100,0), +(@PATH,8,7860.509,-2173.923,479.1278,0,0,0,0,100,0), +(@PATH,9,7854.759,-2172.673,479.3778,0,0,0,0,100,0), +(@PATH,10,7846.699,-2170.613,479.6413,0,0,0,0,100,0), +(@PATH,11,7844.949,-2174.113,478.8913,0,0,0,0,100,0), +(@PATH,12,7843.449,-2176.613,478.3913,0,0,0,0,100,0), +(@PATH,13,7842.449,-2178.113,477.6413,0,0,0,0,100,0), +(@PATH,14,7841.949,-2178.863,477.1413,0,0,0,0,100,0), +(@PATH,15,7840.199,-2181.613,476.3913,0,0,0,0,100,0), +(@PATH,16,7839.699,-2182.363,475.6413,0,0,0,0,100,0), +(@PATH,17,7839.626,-2182.772,475.3931,0,0,0,0,100,0), +(@PATH,18,7839.126,-2183.522,475.1431,0,0,0,0,100,0), +(@PATH,19,7838.126,-2185.272,474.1431,0,0,0,0,100,0), +(@PATH,20,7837.126,-2187.022,472.8931,0,0,0,0,100,0), +(@PATH,21,7836.126,-2188.772,472.1431,0,0,0,0,100,0), +(@PATH,22,7835.376,-2190.272,471.3931,0,0,0,0,100,0), +(@PATH,23,7834.376,-2192.022,470.6431,0,0,0,0,100,0), +(@PATH,24,7833.376,-2193.772,469.6431,0,0,0,0,100,0), +(@PATH,25,7831.47,-2197.564,468.6046,0,0,0,0,100,0), +(@PATH,26,7831.22,-2200.564,467.8546,0,0,0,0,100,0), +(@PATH,27,7830.72,-2205.314,467.6046,0,0,0,0,100,0), +(@PATH,28,7829.791,-2213.28,466.401,0,0,0,0,100,0), +(@PATH,29,7829.645,-2213.177,466.3405,0,0,0,0,100,0), +(@PATH,30,7829.815,-2212.917,466.8587,0,0,0,0,100,0), +(@PATH,31,7830.565,-2206.167,467.3587,0,0,0,0,100,0), +(@PATH,32,7831.065,-2200.167,467.8587,0,0,0,0,100,0), +(@PATH,33,7831.487,-2197.496,468.8765,0,0,0,0,100,0), +(@PATH,34,7833.487,-2193.996,469.6265,0,0,0,0,100,0), +(@PATH,35,7834.237,-2192.246,470.6265,0,0,0,0,100,0), +(@PATH,36,7835.487,-2189.746,471.3765,0,0,0,0,100,0), +(@PATH,37,7836.487,-2187.996,472.6265,0,0,0,0,100,0), +(@PATH,38,7837.487,-2186.246,473.3765,0,0,0,0,100,0), +(@PATH,39,7838.487,-2184.496,474.1265,0,0,0,0,100,0), +(@PATH,40,7837.732,-2186.132,473.5428,0,0,0,0,100,0), +(@PATH,41,7838.732,-2184.382,474.5428,0,0,0,0,100,0), +(@PATH,42,7839.232,-2183.382,475.2928,0,0,0,0,100,0), +(@PATH,43,7840.232,-2181.632,476.2928,0,0,0,0,100,0), +(@PATH,44,7841.232,-2179.882,476.7928,0,0,0,0,100,0), +(@PATH,45,7841.982,-2178.632,477.7928,0,0,0,0,100,0), +(@PATH,46,7842.982,-2176.882,478.2928,0,0,0,0,100,0), +(@PATH,47,7844.482,-2174.132,479.0428,0,0,0,0,100,0), +(@PATH,48,7845.982,-2171.632,479.5428,0,0,0,0,100,0), +(@PATH,49,7829.751,-2212.183,466.3405,0,0,0,0,100,0), +(@PATH,50,7829.645,-2213.177,466.3405,0,0,0,0,100,0), +(@PATH,51,7833.739,-2225.741,466.2716,0,0,0,0,100,0), +(@PATH,52,7833.739,-2225.741,466.2716,0,0,0,0,100,0), +(@PATH,53,7829.645,-2213.177,466.3405,0,0,0,0,100,0), +(@PATH,54,7830.003,-2212.959,466.8639,0,0,0,0,100,0), +(@PATH,55,7830.503,-2206.209,467.3639,0,0,0,0,100,0), +(@PATH,56,7831.003,-2200.209,467.8639,0,0,0,0,100,0), +(@PATH,57,7831.437,-2197.499,468.7505,0,0,0,0,100,0), +(@PATH,58,7833.437,-2193.999,469.7505,0,0,0,0,100,0), +(@PATH,59,7834.437,-2192.249,470.5005,0,0,0,0,100,0), +(@PATH,60,7835.437,-2189.749,471.2505,0,0,0,0,100,0), +(@PATH,61,7836.437,-2187.999,472.5005,0,0,0,0,100,0), +(@PATH,62,7837.437,-2186.249,473.2505,0,0,0,0,100,0), +(@PATH,63,7838.437,-2184.499,474.2505,0,0,0,0,100,0), +(@PATH,64,7846.157,-2171.46,479.5963,0,0,0,0,100,0), +(@PATH,65,7846.668,-2170.601,479.5963,0,0,0,0,100,0), +(@PATH,66,7856.336,-2173.158,478.8808,0,0,0,0,100,0), +(@PATH,67,7860.448,-2174.24,478.6593,0,0,0,0,100,0), +(@PATH,68,7860.448,-2174.24,478.6593,0,0,0,0,100,0), +(@PATH,69,7860.696,-2174.315,478.7132,0,0,0,0,100,0), +(@PATH,70,7875.175,-2181.908,479.0627,0,0,0,0,100,0), +(@PATH,71,7879.925,-2186.658,479.5627,0,0,0,0,100,0), +(@PATH,72,7883.675,-2189.908,480.0627,0,0,0,0,100,0), +(@PATH,73,7883.921,-2190.236,480.0285,0,0,0,0,100,0), +(@PATH,74,7886.671,-2192.986,480.5285,0,0,0,0,100,0), +(@PATH,75,7888.421,-2200.486,479.7785,0,0,0,0,100,0), +(@PATH,76,7889.171,-2203.486,478.7785,0,0,0,0,100,0), +(@PATH,77,7889.671,-2205.236,478.5285,0,0,0,0,100,0), +(@PATH,78,7889.313,-2203.655,478.964,0,0,0,0,100,0), +(@PATH,79,7889.813,-2205.655,478.214,0,0,0,0,100,0), +(@PATH,80,7890.063,-2206.405,477.964,0,0,0,0,100,0), +(@PATH,81,7889.813,-2208.405,476.714,0,0,0,0,100,0), +(@PATH,82,7889.813,-2210.155,475.964,0,0,0,0,100,0), +(@PATH,83,7889.563,-2212.155,475.214,0,0,0,0,100,0), +(@PATH,84,7889.465,-2212.364,474.978,0,0,0,0,100,0), +(@PATH,85,7889.465,-2213.614,474.728,0,0,0,0,100,0), +(@PATH,86,7887.965,-2214.864,473.978,0,0,0,0,100,0), +(@PATH,87,7885.465,-2217.614,472.728,0,0,0,0,100,0), +(@PATH,88,7869.007,-2235.003,468.3603,0,0,0,0,100,0), +(@PATH,89,7868.21,-2235.606,468.3603,0,0,0,0,100,0), +(@PATH,90,7867.226,-2235.43,467.826,0,0,0,0,100,0), +(@PATH,91,7866.241,-2235.252,466.9124,0,0,0,0,100,0), +(@PATH,92,7864.272,-2234.896,465.9124,0,0,0,0,100,0), +(@PATH,93,7862.304,-2234.541,464.9124,0,0,0,0,100,0), +(@PATH,94,7861.259,-2234.349,464.555,0,0,0,0,100,0), +(@PATH,95,7861.259,-2234.349,464.555,0,0,0,0,100,0), +(@PATH,96,7858.259,-2234.203,464.2337,0,0,0,0,100,0), +(@PATH,97,7852.509,-2234.203,464.7337,0,0,0,0,100,0), +(@PATH,98,7849.509,-2234.203,465.2337,0,0,0,0,100,0), +(@PATH,99,7849.509,-2234.203,465.2249,0,0,0,0,100,0), +(@PATH,100,7852.509,-2234.203,464.7249,0,0,0,0,100,0), +(@PATH,101,7858.259,-2234.203,464.2249,0,0,0,0,100,0), +(@PATH,102,7861.451,-2234.442,464.8695,0,0,0,0,100,0), +(@PATH,103,7863.201,-2234.692,465.8695,0,0,0,0,100,0), +(@PATH,104,7865.201,-2234.942,466.6195,0,0,0,0,100,0), +(@PATH,105,7867.201,-2235.192,467.8695,0,0,0,0,100,0), +(@PATH,106,7867.48,-2235.26,468.209,0,0,0,0,100,0), +(@PATH,107,7868.48,-2235.26,468.959,0,0,0,0,100,0), +(@PATH,108,7870.48,-2233.51,469.209,0,0,0,0,100,0), +(@PATH,109,7872.23,-2232.51,470.209,0,0,0,0,100,0), +(@PATH,110,7872.495,-2232.347,470.5463,0,0,0,0,100,0), +(@PATH,111,7874.245,-2231.097,470.7963,0,0,0,0,100,0), +(@PATH,112,7877.245,-2227.347,471.7963,0,0,0,0,100,0); + +-- guard +SET @NPC := 290132; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=7666.931,`position_y`=-2231.387,`position_z`=460.77 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,7666.931,-2231.387,460.77,0,0,0,0,100,0), +(@PATH,2,7666.431,-2231.387,461.02,0,0,0,0,100,0), +(@PATH,3,7659.431,-2229.887,461.27,0,0,0,0,100,0), +(@PATH,4,7654.931,-2229.137,462.02,0,0,0,0,100,0), +(@PATH,5,7648.931,-2227.887,462.52,0,0,0,0,100,0), +(@PATH,6,7648.716,-2227.656,462.5908,0,0,0,0,100,0), +(@PATH,7,7645.966,-2227.156,462.8408,0,0,0,0,100,0), +(@PATH,8,7639.216,-2239.406,462.0908,0,0,0,0,100,0), +(@PATH,9,7635.466,-2246.406,461.3408,0,0,0,0,100,0), +(@PATH,10,7632.216,-2252.156,460.8408,0,0,0,0,100,0), +(@PATH,11,7629.216,-2257.406,460.3408,0,0,0,0,100,0), +(@PATH,12,7624.216,-2266.156,459.8408,0,0,0,0,100,0), +(@PATH,13,7624.026,-2266.391,459.5059,0,0,0,0,100,0), +(@PATH,14,7623.776,-2266.891,459.5059,0,0,0,0,100,0), +(@PATH,15,7621.276,-2271.141,458.7559,0,0,0,0,100,0), +(@PATH,16,7618.026,-2276.391,458.5059,0,0,0,0,100,0), +(@PATH,17,7607.807,-2293.536,458.1718,0,0,0,0,100,0), +(@PATH,18,7603.807,-2300.536,458.6718,0,0,0,0,100,0), +(@PATH,19,7600.057,-2307.536,459.4218,0,0,0,0,100,0), +(@PATH,20,7591.807,-2322.036,458.6718,0,0,0,0,100,0), +(@PATH,21,7589.475,-2326.068,458.4367,0,0,0,0,100,0), +(@PATH,22,7586.975,-2330.318,457.9367,0,0,0,0,100,0), +(@PATH,23,7584.225,-2335.318,457.1867,0,0,0,0,100,0), +(@PATH,24,7581.725,-2339.818,456.9367,0,0,0,0,100,0), +(@PATH,25,7578.802,-2344.862,456.102,0,0,0,0,100,0), +(@PATH,26,7575.802,-2350.112,455.352,0,0,0,0,100,0), +(@PATH,27,7573.302,-2355.112,454.852,0,0,0,0,100,0), +(@PATH,28,7569.802,-2361.362,454.352,0,0,0,0,100,0), +(@PATH,29,7566.768,-2366.568,453.884,0,0,0,0,100,0), +(@PATH,30,7563.018,-2373.568,454.634,0,0,0,0,100,0), +(@PATH,31,7559.768,-2379.568,455.134,0,0,0,0,100,0), +(@PATH,32,7554.578,-2387.011,455.9695,0,0,0,0,100,0), +(@PATH,33,7554.078,-2389.261,455.7195,0,0,0,0,100,0), +(@PATH,34,7553.578,-2390.761,455.7195,0,0,0,0,100,0), +(@PATH,35,7553.078,-2393.261,456.2195,0,0,0,0,100,0), +(@PATH,36,7552.328,-2395.511,457.2195,0,0,0,0,100,0), +(@PATH,37,7551.578,-2398.011,457.9695,0,0,0,0,100,0), +(@PATH,38,7550.828,-2400.511,458.4695,0,0,0,0,100,0), +(@PATH,39,7550.719,-2400.769,458.4414,0,0,0,0,100,0), +(@PATH,40,7550.219,-2401.769,458.1914,0,0,0,0,100,0), +(@PATH,41,7549.969,-2403.269,457.9414,0,0,0,0,100,0), +(@PATH,42,7549.219,-2405.769,456.9414,0,0,0,0,100,0), +(@PATH,43,7548.719,-2408.019,455.9414,0,0,0,0,100,0), +(@PATH,44,7547.719,-2410.519,455.4414,0,0,0,0,100,0), +(@PATH,45,7547.687,-2410.662,455.2982,0,0,0,0,100,0), +(@PATH,46,7546.687,-2413.162,455.2982,0,0,0,0,100,0), +(@PATH,47,7546.437,-2414.662,455.0482,0,0,0,0,100,0), +(@PATH,48,7546.937,-2415.662,455.2982,0,0,0,0,100,0), +(@PATH,49,7546.937,-2416.662,455.2982,0,0,0,0,100,0), +(@PATH,50,7544.437,-2423.912,454.5482,0,0,0,0,100,0), +(@PATH,51,7542.437,-2429.662,454.2982,0,0,0,0,100,0), +(@PATH,52,7541.13,-2433.513,453.6727,0,0,0,0,100,0), +(@PATH,53,7537.63,-2441.513,453.4227,0,0,0,0,100,0), +(@PATH,54,7535.63,-2449.763,453.6727,0,0,0,0,100,0), +(@PATH,55,7533.63,-2450.763,453.6727,0,0,0,0,100,0), +(@PATH,56,7533.13,-2451.263,453.6727,0,0,0,0,100,0), +(@PATH,57,7535.477,-2452.749,453.9063,0,0,0,0,100,0), +(@PATH,58,7534.477,-2454.999,453.9063,0,0,0,0,100,0), +(@PATH,59,7533.727,-2456.499,453.9063,0,0,0,0,100,0), +(@PATH,60,7532.727,-2458.749,454.4063,0,0,0,0,100,0), +(@PATH,61,7531.727,-2460.749,455.4063,0,0,0,0,100,0), +(@PATH,62,7530.727,-2463.249,456.4063,0,0,0,0,100,0), +(@PATH,63,7529.727,-2465.499,456.9063,0,0,0,0,100,0), +(@PATH,64,7529.575,-2465.883,456.9453,0,0,0,0,100,0), +(@PATH,65,7529.075,-2467.133,456.6953,0,0,0,0,100,0), +(@PATH,66,7528.575,-2468.133,456.4453,0,0,0,0,100,0), +(@PATH,67,7527.575,-2470.633,455.6953,0,0,0,0,100,0), +(@PATH,68,7526.825,-2472.883,454.6953,0,0,0,0,100,0), +(@PATH,69,7525.825,-2475.383,454.4453,0,0,0,0,100,0), +(@PATH,70,7524.575,-2477.883,454.4453,0,0,0,0,100,0), +(@PATH,71,7523.075,-2480.883,454.6953,0,0,0,0,100,0), +(@PATH,72,7522.974,-2481.361,454.4237,0,0,0,0,100,0), +(@PATH,73,7522.974,-2482.361,454.4237,0,0,0,0,100,0), +(@PATH,74,7514.474,-2504.361,453.9237,0,0,0,0,100,0), +(@PATH,75,7510.776,-2513.5,453.5167,0,0,0,0,100,0), +(@PATH,76,7501.276,-2537.25,453.0167,0,0,0,0,100,0), +(@PATH,77,7501.088,-2537.504,452.9722,0,0,0,0,100,0), +(@PATH,78,7500.088,-2539.754,452.7222,0,0,0,0,100,0), +(@PATH,79,7490.729,-2565.182,452.2622,0,0,0,0,100,0), +(@PATH,80,7488.229,-2571.682,452.0122,0,0,0,0,100,0), +(@PATH,81,7484.069,-2582.531,452.1641,0,0,0,0,100,0), +(@PATH,82,7482.569,-2596.281,452.6641,0,0,0,0,100,0), +(@PATH,83,7481.319,-2607.031,453.1641,0,0,0,0,100,0), +(@PATH,84,7480.71,-2610.862,453.3443,0,0,0,0,100,0), +(@PATH,85,7480.21,-2615.612,453.8443,0,0,0,0,100,0), +(@PATH,86,7478.408,-2634.553,454.0375,0,0,0,0,100,0), +(@PATH,87,7478.658,-2637.553,454.0375,0,0,0,0,100,0), +(@PATH,88,7478.158,-2639.053,454.0375,0,0,0,0,100,0), +(@PATH,89,7477.658,-2641.553,454.0375,0,0,0,0,100,0), +(@PATH,90,7477.158,-2643.803,454.2875,0,0,0,0,100,0), +(@PATH,91,7476.908,-2646.553,455.2875,0,0,0,0,100,0), +(@PATH,92,7476.408,-2649.053,456.2875,0,0,0,0,100,0), +(@PATH,93,7475.664,-2651.791,456.5955,0,0,0,0,100,0), +(@PATH,94,7475.164,-2654.291,456.0955,0,0,0,0,100,0), +(@PATH,95,7474.914,-2656.791,455.3455,0,0,0,0,100,0), +(@PATH,96,7474.914,-2657.791,454.8455,0,0,0,0,100,0), +(@PATH,97,7474.664,-2659.291,454.3455,0,0,0,0,100,0), +(@PATH,98,7474.414,-2661.791,453.8455,0,0,0,0,100,0), +(@PATH,99,7474.039,-2662.066,453.9105,0,0,0,0,100,0), +(@PATH,100,7473.789,-2663.316,453.9105,0,0,0,0,100,0), +(@PATH,101,7471.539,-2666.066,453.6605,0,0,0,0,100,0), +(@PATH,102,7472.039,-2673.316,453.9105,0,0,0,0,100,0), +(@PATH,103,7472.009,-2678.924,454.6743,0,0,0,0,100,0), +(@PATH,104,7472.009,-2698.674,455.1743,0,0,0,0,100,0), +(@PATH,105,7472.259,-2703.674,455.4243,0,0,0,0,100,0), +(@PATH,106,7472.259,-2706.674,456.1743,0,0,0,0,100,0), +(@PATH,107,7472.259,-2711.674,456.6743,0,0,0,0,100,0), +(@PATH,108,7472.191,-2714.144,457.2033,0,0,0,0,100,0), +(@PATH,109,7471.941,-2718.144,457.9533,0,0,0,0,100,0), +(@PATH,110,7471.691,-2724.144,458.2033,0,0,0,0,100,0), +(@PATH,111,7471.191,-2732.894,458.9533,0,0,0,0,100,0), +(@PATH,112,7470.941,-2739.894,459.4533,0,0,0,0,100,0), +(@PATH,113,7470.039,-2746.796,460.2156,0,0,0,0,100,0), +(@PATH,114,7469.539,-2754.796,460.9656,0,0,0,0,100,0), +(@PATH,115,7469.289,-2761.546,461.2156,0,0,0,0,100,0), +(@PATH,116,7469.039,-2768.546,461.9656,0,0,0,0,100,0), +(@PATH,117,7468.278,-2776.887,462.4707,0,0,0,0,100,0), +(@PATH,118,7468.475,-2801.911,461.8434,0,0,0,0,100,0), +(@PATH,119,7474.535,-2812.57,461.4888,0,0,0,0,100,0), +(@PATH,120,7484.546,-2821.041,461.7,0,0,0,0,100,0), +(@PATH,121,7498.796,-2834.541,461.2,0,0,0,0,100,0), +(@PATH,122,7502.497,-2837.904,460.5203,0,0,0,0,100,0), +(@PATH,123,7509.497,-2842.904,460.0203,0,0,0,0,100,0), +(@PATH,124,7515.44,-2847.233,459.4197,0,0,0,0,100,0), +(@PATH,125,7521.19,-2851.483,458.6697,0,0,0,0,100,0), +(@PATH,126,7527.19,-2855.983,458.4197,0,0,0,0,100,0), +(@PATH,127,7533.446,-2860.969,458.481,0,0,0,0,100,0), +(@PATH,128,7539.696,-2865.469,458.731,0,0,0,0,100,0), +(@PATH,129,7542.946,-2867.719,459.231,0,0,0,0,100,0), +(@PATH,130,7547.598,-2871.029,459.9774,0,0,0,0,100,0), +(@PATH,131,7553.098,-2874.779,460.2274,0,0,0,0,100,0), +(@PATH,132,7558.234,-2878.669,460.963,0,0,0,0,100,0), +(@PATH,133,7564.604,-2887.868,461.2983,0,0,0,0,100,0), +(@PATH,134,7565.604,-2893.618,460.5483,0,0,0,0,100,0), +(@PATH,135,7565.144,-2890.772,460.844,0,0,0,0,100,0), +(@PATH,136,7564.831,-2890.663,460.9495,0,0,0,0,100,0), +(@PATH,137,7564.331,-2887.663,461.1995,0,0,0,0,100,0), +(@PATH,138,7558.101,-2878.363,460.8989,0,0,0,0,100,0), +(@PATH,139,7553.851,-2875.613,460.3989,0,0,0,0,100,0), +(@PATH,140,7548.351,-2871.613,459.8989,0,0,0,0,100,0), +(@PATH,141,7548.214,-2871.431,459.6417,0,0,0,0,100,0), +(@PATH,142,7547.464,-2870.931,459.6417,0,0,0,0,100,0), +(@PATH,143,7542.464,-2867.431,458.8917,0,0,0,0,100,0), +(@PATH,144,7537.964,-2864.181,458.6417,0,0,0,0,100,0), +(@PATH,145,7533.204,-2860.601,458.3417,0,0,0,0,100,0), +(@PATH,146,7521.704,-2851.851,458.5917,0,0,0,0,100,0), +(@PATH,147,7515.516,-2847.157,459.4352,0,0,0,0,100,0), +(@PATH,148,7509.766,-2843.157,459.9352,0,0,0,0,100,0), +(@PATH,149,7502.495,-2837.75,460.8951,0,0,0,0,100,0), +(@PATH,150,7499.495,-2835,461.1451,0,0,0,0,100,0), +(@PATH,151,7493.995,-2830,461.6451,0,0,0,0,100,0), +(@PATH,152,7484.118,-2820.823,461.6872,0,0,0,0,100,0), +(@PATH,153,7474.24,-2812.326,461.5973,0,0,0,0,100,0), +(@PATH,154,7468.275,-2801.779,461.9486,0,0,0,0,100,0), +(@PATH,155,7468.475,-2776.627,462.519,0,0,0,0,100,0), +(@PATH,156,7469.225,-2767.627,461.769,0,0,0,0,100,0), +(@PATH,157,7469.225,-2761.127,461.269,0,0,0,0,100,0), +(@PATH,158,7469.725,-2754.127,460.769,0,0,0,0,100,0), +(@PATH,159,7470.389,-2746.667,459.9233,0,0,0,0,100,0), +(@PATH,160,7470.889,-2739.667,459.4233,0,0,0,0,100,0), +(@PATH,161,7471.139,-2732.667,458.9233,0,0,0,0,100,0), +(@PATH,162,7471.639,-2724.917,458.4233,0,0,0,0,100,0), +(@PATH,163,7471.889,-2718.917,457.9233,0,0,0,0,100,0), +(@PATH,164,7472.199,-2713.974,457.0568,0,0,0,0,100,0), +(@PATH,165,7472.199,-2709.974,456.3068,0,0,0,0,100,0), +(@PATH,166,7472.199,-2704.974,455.8068,0,0,0,0,100,0), +(@PATH,167,7472.199,-2700.974,455.3068,0,0,0,0,100,0), +(@PATH,168,7472.199,-2697.224,454.8068,0,0,0,0,100,0), +(@PATH,169,7472.111,-2678.892,454.3871,0,0,0,0,100,0), +(@PATH,170,7472.611,-2670.142,453.8871,0,0,0,0,100,0), +(@PATH,171,7472.861,-2666.142,453.8871,0,0,0,0,100,0), +(@PATH,172,7472.797,-2665.936,453.9461,0,0,0,0,100,0), +(@PATH,173,7474.047,-2663.436,453.9461,0,0,0,0,100,0), +(@PATH,174,7474.047,-2661.936,453.9461,0,0,0,0,100,0), +(@PATH,175,7474.297,-2659.686,454.4461,0,0,0,0,100,0), +(@PATH,176,7474.797,-2656.936,455.4461,0,0,0,0,100,0), +(@PATH,177,7475.297,-2654.436,456.1961,0,0,0,0,100,0), +(@PATH,178,7475.515,-2654.128,456.0948,0,0,0,0,100,0), +(@PATH,179,7475.765,-2652.128,456.5948,0,0,0,0,100,0), +(@PATH,180,7476.015,-2651.628,456.5948,0,0,0,0,100,0), +(@PATH,181,7476.515,-2649.128,456.0948,0,0,0,0,100,0), +(@PATH,182,7476.765,-2646.378,455.3448,0,0,0,0,100,0), +(@PATH,183,7477.015,-2644.128,454.3448,0,0,0,0,100,0), +(@PATH,184,7477.515,-2641.628,453.8448,0,0,0,0,100,0), +(@PATH,185,7478.015,-2638.878,453.8448,0,0,0,0,100,0), +(@PATH,186,7477.015,-2635.378,453.8448,0,0,0,0,100,0), +(@PATH,187,7478.687,-2634.296,453.7148,0,0,0,0,100,0), +(@PATH,188,7478.937,-2630.296,454.2148,0,0,0,0,100,0), +(@PATH,189,7480.437,-2613.546,453.7148,0,0,0,0,100,0), +(@PATH,190,7480.674,-2613.498,453.6389,0,0,0,0,100,0), +(@PATH,191,7480.924,-2610.498,453.1389,0,0,0,0,100,0), +(@PATH,192,7482.174,-2598.748,452.6389,0,0,0,0,100,0), +(@PATH,193,7483.674,-2585.998,452.3889,0,0,0,0,100,0), +(@PATH,194,7484.224,-2582.21,452.0332,0,0,0,0,100,0), +(@PATH,195,7490.893,-2564.8,452.3813,0,0,0,0,100,0), +(@PATH,196,7493.143,-2559.3,453.1313,0,0,0,0,100,0), +(@PATH,197,7500.287,-2539.573,452.9501,0,0,0,0,100,0), +(@PATH,198,7503.787,-2531.323,453.2001,0,0,0,0,100,0), +(@PATH,199,7510.982,-2513.1,453.7123,0,0,0,0,100,0), +(@PATH,200,7514.982,-2502.85,453.9623,0,0,0,0,100,0), +(@PATH,201,7523.313,-2481.976,454.5753,0,0,0,0,100,0), +(@PATH,202,7524.813,-2479.476,454.5753,0,0,0,0,100,0), +(@PATH,203,7524.813,-2478.976,454.5753,0,0,0,0,100,0), +(@PATH,204,7525.563,-2475.476,454.3253,0,0,0,0,100,0), +(@PATH,205,7526.563,-2473.226,454.8253,0,0,0,0,100,0), +(@PATH,206,7527.563,-2470.726,455.5753,0,0,0,0,100,0), +(@PATH,207,7528.563,-2468.226,456.5753,0,0,0,0,100,0), +(@PATH,208,7528.786,-2467.968,456.5191,0,0,0,0,100,0), +(@PATH,209,7529.286,-2466.968,456.7691,0,0,0,0,100,0), +(@PATH,210,7529.786,-2465.718,456.7691,0,0,0,0,100,0), +(@PATH,211,7530.786,-2463.218,456.2691,0,0,0,0,100,0), +(@PATH,212,7531.786,-2460.968,455.5191,0,0,0,0,100,0), +(@PATH,213,7532.786,-2458.718,454.5191,0,0,0,0,100,0), +(@PATH,214,7533.786,-2456.468,454.0191,0,0,0,0,100,0), +(@PATH,215,7534.286,-2454.968,454.0191,0,0,0,0,100,0), +(@PATH,216,7534.774,-2454.7,453.7324,0,0,0,0,100,0), +(@PATH,217,7535.774,-2452.45,453.7324,0,0,0,0,100,0), +(@PATH,218,7535.774,-2451.95,453.4824,0,0,0,0,100,0), +(@PATH,219,7535.774,-2449.7,453.4824,0,0,0,0,100,0), +(@PATH,220,7537.524,-2441.7,453.4824,0,0,0,0,100,0), +(@PATH,221,7542.129,-2427.779,454.1656,0,0,0,0,100,0), +(@PATH,222,7543.379,-2421.279,454.6656,0,0,0,0,100,0), +(@PATH,223,7545.379,-2413.029,455.1656,0,0,0,0,100,0), +(@PATH,224,7545.616,-2412.784,455.3983,0,0,0,0,100,0), +(@PATH,225,7546.866,-2413.034,455.3983,0,0,0,0,100,0), +(@PATH,226,7547.616,-2410.534,455.3983,0,0,0,0,100,0), +(@PATH,227,7548.366,-2408.284,455.8983,0,0,0,0,100,0), +(@PATH,228,7549.116,-2405.784,456.8983,0,0,0,0,100,0), +(@PATH,229,7549.616,-2404.034,457.6483,0,0,0,0,100,0), +(@PATH,230,7549.8,-2403.598,457.5097,0,0,0,0,100,0), +(@PATH,231,7550.55,-2401.598,458.2597,0,0,0,0,100,0), +(@PATH,232,7550.8,-2400.598,458.2597,0,0,0,0,100,0), +(@PATH,233,7551.8,-2398.098,458.0097,0,0,0,0,100,0), +(@PATH,234,7552.3,-2395.848,457.2597,0,0,0,0,100,0), +(@PATH,235,7553.3,-2393.348,456.2597,0,0,0,0,100,0), +(@PATH,236,7554.05,-2390.848,455.7597,0,0,0,0,100,0), +(@PATH,237,7554.55,-2389.348,455.7597,0,0,0,0,100,0), +(@PATH,238,7553.55,-2385.848,455.7597,0,0,0,0,100,0), +(@PATH,239,7555.577,-2386.792,455.7676,0,0,0,0,100,0), +(@PATH,240,7559.577,-2379.792,455.0176,0,0,0,0,100,0), +(@PATH,241,7562.827,-2373.792,454.5176,0,0,0,0,100,0), +(@PATH,242,7566.832,-2366.696,454.1825,0,0,0,0,100,0), +(@PATH,243,7571.332,-2358.696,454.6825,0,0,0,0,100,0), +(@PATH,244,7574.332,-2352.946,454.9325,0,0,0,0,100,0), +(@PATH,245,7577.332,-2347.696,455.6825,0,0,0,0,100,0), +(@PATH,246,7577.533,-2347.41,455.9196,0,0,0,0,100,0), +(@PATH,247,7579.033,-2344.66,456.4196,0,0,0,0,100,0), +(@PATH,248,7581.533,-2340.41,456.9196,0,0,0,0,100,0), +(@PATH,249,7583.783,-2336.16,457.1696,0,0,0,0,100,0), +(@PATH,250,7586.533,-2330.91,457.9196,0,0,0,0,100,0), +(@PATH,251,7589.033,-2326.66,458.4196,0,0,0,0,100,0), +(@PATH,252,7589.429,-2326.379,458.5603,0,0,0,0,100,0), +(@PATH,253,7589.679,-2325.879,458.5603,0,0,0,0,100,0), +(@PATH,254,7593.179,-2319.629,459.0603,0,0,0,0,100,0), +(@PATH,255,7604.179,-2299.879,458.5603,0,0,0,0,100,0), +(@PATH,256,7608.087,-2293.427,458.2398,0,0,0,0,100,0), +(@PATH,257,7619.587,-2273.927,458.7398,0,0,0,0,100,0), +(@PATH,258,7622.587,-2268.677,459.2398,0,0,0,0,100,0), +(@PATH,259,7622.954,-2268.37,459.5344,0,0,0,0,100,0), +(@PATH,260,7623.954,-2266.62,459.7844,0,0,0,0,100,0), +(@PATH,261,7627.954,-2259.62,460.2844,0,0,0,0,100,0), +(@PATH,262,7631.454,-2253.62,460.7844,0,0,0,0,100,0), +(@PATH,263,7633.954,-2248.62,461.2844,0,0,0,0,100,0), +(@PATH,264,7638.954,-2239.87,462.0344,0,0,0,0,100,0), +(@PATH,265,7640.954,-2236.37,462.5344,0,0,0,0,100,0), +(@PATH,266,7646.286,-2227.265,462.7598,0,0,0,0,100,0), +(@PATH,267,7654.036,-2229.015,462.0098,0,0,0,0,100,0), +(@PATH,268,7658.786,-2230.015,461.5098,0,0,0,0,100,0), +(@PATH,269,7663.786,-2231.015,461.0098,0,0,0,0,100,0), +(@PATH,270,7663.952,-2231.013,460.7935,0,0,0,0,100,0), +(@PATH,271,7666.452,-2231.263,460.7935,0,0,0,0,100,0), +(@PATH,272,7671.452,-2231.263,460.0435,0,0,0,0,100,0), +(@PATH,273,7675.452,-2231.263,459.5435,0,0,0,0,100,0), +(@PATH,274,7681.452,-2231.263,458.7935,0,0,0,0,100,0), +(@PATH,275,7688.202,-2231.263,458.2935,0,0,0,0,100,0), +(@PATH,276,7693.202,-2231.263,457.7935,0,0,0,0,100,0), +(@PATH,277,7697.202,-2231.263,457.0435,0,0,0,0,100,0), +(@PATH,278,7700.202,-2231.513,456.5435,0,0,0,0,100,0), +(@PATH,279,7705.202,-2231.513,455.7935,0,0,0,0,100,0), +(@PATH,280,7709.167,-2231.76,455.5376,0,0,0,0,100,0), +(@PATH,281,7715.167,-2235.26,454.7876,0,0,0,0,100,0), +(@PATH,282,7719.417,-2238.01,454.5376,0,0,0,0,100,0), +(@PATH,283,7735.666,-2247.778,454.4904,0,0,0,0,100,0), +(@PATH,284,7749.666,-2258.278,454.7404,0,0,0,0,100,0), +(@PATH,285,7762.603,-2267.917,455.1772,0,0,0,0,100,0), +(@PATH,286,7784.603,-2286.417,455.6772,0,0,0,0,100,0), +(@PATH,287,7796.764,-2296.63,455.6877,0,0,0,0,100,0), +(@PATH,288,7809.514,-2301.63,456.1877,0,0,0,0,100,0), +(@PATH,289,7816.121,-2304.135,456.267,0,0,0,0,100,0), +(@PATH,290,7817.871,-2298.635,457.017,0,0,0,0,100,0), +(@PATH,291,7819.871,-2294.135,457.517,0,0,0,0,100,0), +(@PATH,292,7821.371,-2290.385,458.017,0,0,0,0,100,0), +(@PATH,293,7821.53,-2290.151,458.3218,0,0,0,0,100,0), +(@PATH,294,7822.28,-2288.651,458.5718,0,0,0,0,100,0), +(@PATH,295,7823.03,-2283.651,459.0718,0,0,0,0,100,0), +(@PATH,296,7823.78,-2278.901,459.5718,0,0,0,0,100,0), +(@PATH,297,7824.78,-2273.151,460.0718,0,0,0,0,100,0), +(@PATH,298,7825.78,-2268.151,460.8218,0,0,0,0,100,0), +(@PATH,299,7825.955,-2267.806,460.9922,0,0,0,0,100,0), +(@PATH,300,7826.205,-2266.306,461.2422,0,0,0,0,100,0), +(@PATH,301,7826.705,-2260.306,461.7422,0,0,0,0,100,0), +(@PATH,302,7827.205,-2255.556,462.2422,0,0,0,0,100,0), +(@PATH,303,7827.705,-2251.806,462.9922,0,0,0,0,100,0), +(@PATH,304,7828.107,-2251.475,463.2105,0,0,0,0,100,0), +(@PATH,305,7828.357,-2248.225,463.7105,0,0,0,0,100,0), +(@PATH,306,7830.357,-2244.725,464.2105,0,0,0,0,100,0), +(@PATH,307,7832.357,-2241.475,464.7105,0,0,0,0,100,0), +(@PATH,308,7833.607,-2238.975,465.2105,0,0,0,0,100,0), +(@PATH,309,7835.357,-2235.475,465.7105,0,0,0,0,100,0), +(@PATH,310,7836.857,-2232.725,466.4605,0,0,0,0,100,0), +(@PATH,311,7836.814,-2232.725,466.3895,0,0,0,0,100,0), +(@PATH,312,7838.064,-2230.725,466.8895,0,0,0,0,100,0), +(@PATH,313,7836.564,-2233.475,466.3895,0,0,0,0,100,0), +(@PATH,314,7835.314,-2235.975,465.6395,0,0,0,0,100,0), +(@PATH,315,7833.314,-2239.475,465.1395,0,0,0,0,100,0), +(@PATH,316,7831.564,-2242.725,464.6395,0,0,0,0,100,0), +(@PATH,317,7829.564,-2246.225,464.1395,0,0,0,0,100,0), +(@PATH,318,7829.428,-2246.442,463.7996,0,0,0,0,100,0), +(@PATH,319,7828.428,-2248.442,463.2996,0,0,0,0,100,0), +(@PATH,320,7827.928,-2252.442,462.7996,0,0,0,0,100,0), +(@PATH,321,7827.678,-2256.192,462.2996,0,0,0,0,100,0), +(@PATH,322,7826.928,-2262.192,461.7996,0,0,0,0,100,0), +(@PATH,323,7826.068,-2266.572,460.9092,0,0,0,0,100,0), +(@PATH,324,7825.318,-2271.322,460.4092,0,0,0,0,100,0), +(@PATH,325,7824.568,-2275.322,459.9092,0,0,0,0,100,0), +(@PATH,326,7823.818,-2280.072,459.4092,0,0,0,0,100,0), +(@PATH,327,7822.818,-2286.072,458.9092,0,0,0,0,100,0), +(@PATH,328,7822.183,-2288.598,458.12,0,0,0,0,100,0), +(@PATH,329,7820.433,-2293.348,457.62,0,0,0,0,100,0), +(@PATH,330,7819.183,-2296.848,457.12,0,0,0,0,100,0), +(@PATH,331,7817.183,-2301.598,456.62,0,0,0,0,100,0), +(@PATH,332,7817.317,-2301.614,456.4015,0,0,0,0,100,0), +(@PATH,333,7816.067,-2304.614,456.4015,0,0,0,0,100,0), +(@PATH,334,7836.646,-2310.264,457.0374,0,0,0,0,100,0), +(@PATH,335,7840.646,-2310.264,457.5374,0,0,0,0,100,0), +(@PATH,336,7843.646,-2310.514,458.2874,0,0,0,0,100,0), +(@PATH,337,7846.646,-2310.514,459.0374,0,0,0,0,100,0), +(@PATH,338,7849.396,-2310.514,459.5374,0,0,0,0,100,0), +(@PATH,339,7852.396,-2310.514,460.0374,0,0,0,0,100,0), +(@PATH,340,7855.396,-2310.764,460.7874,0,0,0,0,100,0), +(@PATH,341,7858.396,-2310.764,461.7874,0,0,0,0,100,0), +(@PATH,342,7862.396,-2310.764,462.5374,0,0,0,0,100,0), +(@PATH,343,7862.631,-2310.83,462.7454,0,0,0,0,100,0), +(@PATH,344,7865.631,-2310.83,463.4954,0,0,0,0,100,0), +(@PATH,345,7868.631,-2310.58,464.2454,0,0,0,0,100,0), +(@PATH,346,7871.631,-2310.33,464.7454,0,0,0,0,100,0), +(@PATH,347,7874.631,-2310.08,465.2454,0,0,0,0,100,0), +(@PATH,348,7877.631,-2309.83,465.7454,0,0,0,0,100,0), +(@PATH,349,7883.381,-2309.83,466.4954,0,0,0,0,100,0), +(@PATH,350,7890.131,-2309.33,467.2454,0,0,0,0,100,0), +(@PATH,351,7897.95,-2308.734,467.6939,0,0,0,0,100,0), +(@PATH,352,7908.95,-2310.234,468.1939,0,0,0,0,100,0), +(@PATH,353,7911.7,-2310.484,468.6939,0,0,0,0,100,0), +(@PATH,354,7914.7,-2310.734,469.4439,0,0,0,0,100,0), +(@PATH,355,7918.7,-2311.234,469.9439,0,0,0,0,100,0), +(@PATH,356,7921.45,-2311.734,470.6939,0,0,0,0,100,0), +(@PATH,357,7924.45,-2312.234,471.4439,0,0,0,0,100,0), +(@PATH,358,7926.245,-2312.542,472.1405,0,0,0,0,100,0), +(@PATH,359,7928.995,-2314.292,472.8905,0,0,0,0,100,0), +(@PATH,360,7930.495,-2315.292,473.6405,0,0,0,0,100,0), +(@PATH,361,7933.245,-2316.792,474.1405,0,0,0,0,100,0), +(@PATH,362,7934.745,-2317.792,474.6405,0,0,0,0,100,0), +(@PATH,363,7937.245,-2319.042,475.3905,0,0,0,0,100,0), +(@PATH,364,7938.995,-2320.042,476.1405,0,0,0,0,100,0), +(@PATH,365,7941.495,-2321.792,476.8905,0,0,0,0,100,0), +(@PATH,366,7943.245,-2322.792,477.6405,0,0,0,0,100,0), +(@PATH,367,7943.478,-2322.9,477.8478,0,0,0,0,100,0), +(@PATH,368,7943.728,-2323.15,478.0978,0,0,0,0,100,0), +(@PATH,369,7944.728,-2326.15,478.5978,0,0,0,0,100,0), +(@PATH,370,7945.478,-2328.9,479.3478,0,0,0,0,100,0), +(@PATH,371,7945.978,-2330.9,479.5978,0,0,0,0,100,0), +(@PATH,372,7946.978,-2333.4,480.5978,0,0,0,0,100,0), +(@PATH,373,7947.728,-2336.4,481.3478,0,0,0,0,100,0), +(@PATH,374,7948.728,-2339.15,482.0978,0,0,0,0,100,0), +(@PATH,375,7949.058,-2339.452,482.262,0,0,0,0,100,0), +(@PATH,376,7949.058,-2339.952,482.512,0,0,0,0,100,0), +(@PATH,377,7949.558,-2341.952,483.262,0,0,0,0,100,0), +(@PATH,378,7950.058,-2344.952,483.762,0,0,0,0,100,0), +(@PATH,379,7951.058,-2348.452,484.512,0,0,0,0,100,0), +(@PATH,380,7951.558,-2350.452,485.262,0,0,0,0,100,0), +(@PATH,381,7951.631,-2350.643,485.4398,0,0,0,0,100,0), +(@PATH,382,7952.131,-2352.143,485.6898,0,0,0,0,100,0), +(@PATH,383,7952.631,-2356.143,486.4398,0,0,0,0,100,0), +(@PATH,384,7953.881,-2364.643,486.9398,0,0,0,0,100,0), +(@PATH,385,7952.418,-2354.854,486.3069,0,0,0,0,100,0), +(@PATH,386,7951.787,-2351.819,485.6035,0,0,0,0,100,0), +(@PATH,387,7951.037,-2348.819,485.1035,0,0,0,0,100,0), +(@PATH,388,7950.537,-2347.319,484.3535,0,0,0,0,100,0), +(@PATH,389,7950.287,-2344.319,483.8535,0,0,0,0,100,0), +(@PATH,390,7949.537,-2341.319,483.1035,0,0,0,0,100,0), +(@PATH,391,7949.103,-2341.198,482.8083,0,0,0,0,100,0), +(@PATH,392,7948.853,-2339.698,482.3083,0,0,0,0,100,0), +(@PATH,393,7948.103,-2336.948,481.5583,0,0,0,0,100,0), +(@PATH,394,7947.353,-2334.948,480.8083,0,0,0,0,100,0), +(@PATH,395,7946.603,-2332.448,480.3083,0,0,0,0,100,0), +(@PATH,396,7945.853,-2329.448,479.5583,0,0,0,0,100,0), +(@PATH,397,7944.853,-2326.698,478.8083,0,0,0,0,100,0), +(@PATH,398,7943.582,-2323.031,477.7329,0,0,0,0,100,0), +(@PATH,399,7941.082,-2321.281,476.7329,0,0,0,0,100,0), +(@PATH,400,7939.332,-2320.281,475.9829,0,0,0,0,100,0), +(@PATH,401,7936.582,-2319.031,475.2329,0,0,0,0,100,0), +(@PATH,402,7935.332,-2318.031,474.9829,0,0,0,0,100,0), +(@PATH,403,7933.582,-2317.031,474.2329,0,0,0,0,100,0), +(@PATH,404,7931.082,-2315.531,473.4829,0,0,0,0,100,0), +(@PATH,405,7929.332,-2314.281,472.9829,0,0,0,0,100,0), +(@PATH,406,7926.582,-2312.781,472.2329,0,0,0,0,100,0), +(@PATH,407,7926.44,-2312.528,472.1071,0,0,0,0,100,0), +(@PATH,408,7926.19,-2312.278,471.8571,0,0,0,0,100,0), +(@PATH,409,7924.19,-2312.028,471.3571,0,0,0,0,100,0), +(@PATH,410,7921.19,-2311.778,470.6071,0,0,0,0,100,0), +(@PATH,411,7918.19,-2311.528,469.8571,0,0,0,0,100,0), +(@PATH,412,7915.19,-2311.028,469.3571,0,0,0,0,100,0), +(@PATH,413,7912.44,-2310.778,468.8571,0,0,0,0,100,0), +(@PATH,414,7909.44,-2310.278,468.1071,0,0,0,0,100,0), +(@PATH,415,7899.69,-2308.778,467.6071,0,0,0,0,100,0), +(@PATH,416,7899.462,-2308.775,467.4598,0,0,0,0,100,0), +(@PATH,417,7897.712,-2308.525,467.4598,0,0,0,0,100,0), +(@PATH,418,7884.712,-2309.525,466.7098,0,0,0,0,100,0), +(@PATH,419,7879.962,-2310.025,466.2098,0,0,0,0,100,0), +(@PATH,420,7876.212,-2310.025,465.4598,0,0,0,0,100,0), +(@PATH,421,7873.212,-2310.275,465.2098,0,0,0,0,100,0), +(@PATH,422,7869.212,-2310.525,464.4598,0,0,0,0,100,0), +(@PATH,423,7866.212,-2310.775,463.7098,0,0,0,0,100,0), +(@PATH,424,7865.994,-2310.752,463.5846,0,0,0,0,100,0), +(@PATH,425,7865.244,-2310.752,463.3346,0,0,0,0,100,0), +(@PATH,426,7862.244,-2310.752,462.5846,0,0,0,0,100,0), +(@PATH,427,7860.244,-2310.752,461.8346,0,0,0,0,100,0), +(@PATH,428,7858.244,-2310.752,461.3346,0,0,0,0,100,0), +(@PATH,429,7854.244,-2310.752,460.5846,0,0,0,0,100,0), +(@PATH,430,7851.494,-2310.752,460.0846,0,0,0,0,100,0), +(@PATH,431,7848.494,-2310.752,459.3346,0,0,0,0,100,0), +(@PATH,432,7845.494,-2310.752,458.5846,0,0,0,0,100,0), +(@PATH,433,7842.494,-2310.752,457.8346,0,0,0,0,100,0), +(@PATH,434,7839.494,-2310.502,457.3346,0,0,0,0,100,0), +(@PATH,435,7839.272,-2310.357,457.0473,0,0,0,0,100,0), +(@PATH,436,7836.272,-2310.357,456.5473,0,0,0,0,100,0), +(@PATH,437,7819.272,-2305.607,456.2973,0,0,0,0,100,0), +(@PATH,438,7819.423,-2305.273,456.2919,0,0,0,0,100,0), +(@PATH,439,7816.173,-2304.273,456.2919,0,0,0,0,100,0), +(@PATH,440,7817.923,-2299.773,457.0419,0,0,0,0,100,0), +(@PATH,441,7820.173,-2294.273,457.5419,0,0,0,0,100,0), +(@PATH,442,7821.673,-2289.773,458.0419,0,0,0,0,100,0), +(@PATH,443,7821.986,-2289.48,458.2357,0,0,0,0,100,0), +(@PATH,444,7822.486,-2288.48,458.4857,0,0,0,0,100,0), +(@PATH,445,7823.236,-2283.48,459.2357,0,0,0,0,100,0), +(@PATH,446,7823.986,-2277.98,459.7357,0,0,0,0,100,0), +(@PATH,447,7825.236,-2271.98,460.2357,0,0,0,0,100,0), +(@PATH,448,7826.296,-2266.173,461.1844,0,0,0,0,100,0), +(@PATH,449,7827.046,-2260.423,461.9344,0,0,0,0,100,0), +(@PATH,450,7827.546,-2255.673,462.1844,0,0,0,0,100,0), +(@PATH,451,7828.046,-2251.673,462.9344,0,0,0,0,100,0), +(@PATH,452,7828.584,-2248.137,463.6262,0,0,0,0,100,0), +(@PATH,453,7830.584,-2244.637,464.3762,0,0,0,0,100,0), +(@PATH,454,7832.334,-2241.137,464.8762,0,0,0,0,100,0), +(@PATH,455,7833.584,-2238.887,465.1262,0,0,0,0,100,0), +(@PATH,456,7835.584,-2235.387,466.1262,0,0,0,0,100,0), +(@PATH,457,7837.584,-2231.887,466.6262,0,0,0,0,100,0), +(@PATH,458,7837.558,-2231.774,466.6378,0,0,0,0,100,0), +(@PATH,459,7838.058,-2230.774,466.8878,0,0,0,0,100,0), +(@PATH,460,7836.558,-2233.274,466.3878,0,0,0,0,100,0), +(@PATH,461,7835.058,-2236.024,465.6378,0,0,0,0,100,0), +(@PATH,462,7833.308,-2239.524,465.1378,0,0,0,0,100,0), +(@PATH,463,7831.558,-2242.774,464.6378,0,0,0,0,100,0), +(@PATH,464,7829.058,-2247.024,463.8878,0,0,0,0,100,0), +(@PATH,465,7828.763,-2247.371,463.5775,0,0,0,0,100,0), +(@PATH,466,7828.013,-2248.621,463.3275,0,0,0,0,100,0), +(@PATH,467,7828.013,-2252.371,462.8275,0,0,0,0,100,0), +(@PATH,468,7827.513,-2256.121,462.3275,0,0,0,0,100,0), +(@PATH,469,7826.763,-2262.121,461.8275,0,0,0,0,100,0), +(@PATH,470,7825.994,-2266.64,460.9827,0,0,0,0,100,0), +(@PATH,471,7825.244,-2271.64,460.4827,0,0,0,0,100,0), +(@PATH,472,7824.494,-2275.39,459.7327,0,0,0,0,100,0), +(@PATH,473,7823.744,-2280.14,459.4827,0,0,0,0,100,0), +(@PATH,474,7822.744,-2286.14,458.7327,0,0,0,0,100,0), +(@PATH,475,7822.106,-2288.818,458.169,0,0,0,0,100,0), +(@PATH,476,7820.106,-2293.318,457.669,0,0,0,0,100,0), +(@PATH,477,7818.856,-2296.818,457.169,0,0,0,0,100,0), +(@PATH,478,7816.356,-2303.318,456.419,0,0,0,0,100,0), +(@PATH,479,7816.164,-2303.477,456.1826,0,0,0,0,100,0), +(@PATH,480,7815.664,-2304.227,456.1826,0,0,0,0,100,0), +(@PATH,481,7803.914,-2299.227,455.9326,0,0,0,0,100,0), +(@PATH,482,7796.378,-2296.327,455.6794,0,0,0,0,100,0), +(@PATH,483,7766.878,-2271.577,455.1794,0,0,0,0,100,0), +(@PATH,484,7762.282,-2267.695,454.9883,0,0,0,0,100,0), +(@PATH,485,7743.282,-2253.695,454.4883,0,0,0,0,100,0), +(@PATH,486,7735.285,-2247.563,454.4963,0,0,0,0,100,0), +(@PATH,487,7715.035,-2235.313,454.9963,0,0,0,0,100,0), +(@PATH,488,7708.877,-2231.692,455.7563,0,0,0,0,100,0), +(@PATH,489,7702.877,-2231.692,456.2563,0,0,0,0,100,0), +(@PATH,490,7698.877,-2231.692,457.0063,0,0,0,0,100,0), +(@PATH,491,7693.877,-2231.692,457.5063,0,0,0,0,100,0), +(@PATH,492,7689.877,-2231.692,458.0063,0,0,0,0,100,0), +(@PATH,493,7684.127,-2231.692,458.5063,0,0,0,0,100,0), +(@PATH,494,7679.127,-2231.692,459.2563,0,0,0,0,100,0), +(@PATH,495,7673.127,-2231.692,459.7563,0,0,0,0,100,0), +(@PATH,496,7667.127,-2231.442,460.5063,0,0,0,0,100,0), +(@PATH,497,7666.88,-2231.385,460.6555,0,0,0,0,100,0), +(@PATH,498,7666.38,-2231.385,460.9055,0,0,0,0,100,0), +(@PATH,499,7659.38,-2229.885,461.4055,0,0,0,0,100,0), +(@PATH,500,7654.88,-2229.135,461.9055,0,0,0,0,100,0), +(@PATH,501,7648.88,-2227.885,462.6555,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_08_01_01_world.sql b/sql/updates/world/2015_08_01_01_world.sql new file mode 100644 index 00000000000..1186fb1ad0c --- /dev/null +++ b/sql/updates/world/2015_08_01_01_world.sql @@ -0,0 +1,47 @@ +DROP TABLE IF EXISTS `creature_template_locale`; +CREATE TABLE IF NOT EXISTS `creature_template_locale` ( + `entry` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0', + `locale` VARCHAR(4) NOT NULL, + `Name` TEXT, + `NameAlt` TEXT, + `Title` TEXT, + `TitleAlt` TEXT, + `VerifiedBuild` SMALLINT(5) DEFAULT '0' +) ENGINE=MYISAM DEFAULT CHARSET=utf8; + +ALTER TABLE `creature_template_locale` + ADD PRIMARY KEY (`entry`,`locale`); + +-- koKR +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "koKR", `name_loc1`, `femaleName_loc1`, `subname_loc1`, `VerifiedBuild` FROM `locales_creature`); + +-- frFR +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "frFR", `name_loc2`, `femaleName_loc2`, `subname_loc2`, `VerifiedBuild` FROM `locales_creature`); + +-- deDE +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "deDE", `name_loc3`, `femaleName_loc3`, `subname_loc3`, `VerifiedBuild` FROM `locales_creature`); + +-- zhCN +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "zhCN", `name_loc4`, `femaleName_loc4`, `subname_loc4`, `VerifiedBuild` FROM `locales_creature`); + +-- zhTW +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "zhTW", `name_loc5`, `femaleName_loc5`, `subname_loc5`, `VerifiedBuild` FROM `locales_creature`); + +-- esES +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "esES", `name_loc6`, `femaleName_loc6`, `subname_loc6`, `VerifiedBuild` FROM `locales_creature`); + +-- esMX +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "esMX", `name_loc7`, `femaleName_loc7`, `subname_loc7`, `VerifiedBuild` FROM `locales_creature`); + +-- ruRU +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `NameAlt`, `Title`, `VerifiedBuild`) + (SELECT `entry`, "ruRU", `name_loc8`, `femaleName_loc8`, `subname_loc8`, `VerifiedBuild` FROM `locales_creature`); + +DROP TABLE IF EXISTS `locales_creature`; diff --git a/sql/updates/world/2015_08_01_02_world.sql b/sql/updates/world/2015_08_01_02_world.sql new file mode 100644 index 00000000000..2b3903990f5 --- /dev/null +++ b/sql/updates/world/2015_08_01_02_world.sql @@ -0,0 +1,78 @@ +-- DB/Quest: Orgrimmar - Blown Away (H) +-- Ballonspawns +SET @OGUID := 44; +DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+25; +INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES +(@OGUID+0, 209058, 1, 1,1503.991, -4375.202, 23.263, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+1, 209058, 1, 1,1528.073, -4441.75, 24.02341, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+2, 209058, 1, 1,1530.462, -4374.63, 18.83806, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+3, 209058, 1, 1,1515.497, -4439.116, 23.48083, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+4, 209058, 1, 1,1590.663, -4366.837, 20.93084, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+5, 209058, 1, 1,1602.719, -4435.96, 13.90795, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+6, 209058, 1, 1,1629.444, -4417.929, 15.5577, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+7, 209058, 1, 1,1539.163, -4334.366, 22.73981, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Strength) +(@OGUID+8, 209058, 1, 1,1726.033, -4441.309, 40.65453, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Strength) +(@OGUID+9, 209058, 1, 1,1726.655, -4498.354, 30.89155, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+10, 209058, 1, 1,1751.536, -4534.128, 30.44205, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+11, 209058, 1, 1,1816.24, -4496.58, 46.47007, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+12, 209058, 1, 1,1872.5, -4464.323, 48.70532, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+13, 209058, 1, 1,1904.172, -4694.141, 36.44628, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Honor) +(@OGUID+14, 209058, 1, 1,1928.13, -4739.939, 36.58462, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Honor) +(@OGUID+15, 209058, 1, 1,2215.036, -4610.439, 85.89728, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: 0) +(@OGUID+16, 209058, 1, 1,1916.698, -4418.78, 46.36224, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+17, 209058, 1, 1,2032.356, -4414.33, 97.91099, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+18, 209058, 1, 1,1910.321, -4378.42, 105.6533, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: The Drag) +(@OGUID+19, 209058, 1, 1,1880.024, -4237.168, 35.96712, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Wisdom) +(@OGUID+20, 209058, 1, 1,1989.224, -4206.981, 36.1769, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Wisdom) +(@OGUID+21, 209058, 1, 1,2027.594, -4203.146, 105.683, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Wisdom) +(@OGUID+22, 209058, 1, 1,1911.71, -4128.022, 109.7363, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Wisdom) +(@OGUID+23, 209058, 1, 1,1552.372, -4206.984, 53.92707, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Valley of Strength) +(@OGUID+24, 209058, 1, 1,1481.854, -4173.207, 52.93541, 0, 0, 0, 0, 1, 120, 255, 1), -- Windswept Balloon (Area: Goblin Slums) +(@OGUID+25, 209058, 1, 1,1770.215, -3952.91, 55.46432, 0, 0, 0, 0, 1, 120, 255, 1); -- Windswept Balloon (Area: Valley of Spirits) + +-- questendscript +UPDATE `creature_template` SET `VehicleId`=1700, `flags_extra`=128 WHERE `entry`=54066; +UPDATE `creature_template` SET `speed_walk`=0.5, `speed_run`=0.5, `InhabitType`=4 WHERE `entry` IN (54066, 54068); + +DELETE FROM `spell_area` WHERE `spell` IN (100616); +INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES +(100616, 5171, 0, 29401, 0, 0, 2, 1, 0, 43); + +-- Jaga SAI +SET @ENTRY := 54004; +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,20,0,100,0,29401,0,0,0,12,54066,3,25000,0,0,0,1,0,0,0,0,0,0,0,"Jaga - On Quest 'Blown Away' Finished - Summon Creature 'Balloon Bunny'"), +(@ENTRY,0,1,2,61,0,100,0,29401,0,0,0,12,54067,3,25000,0,0,0,1,0,0,0,0,0,0,0,"Jaga - On Quest 'Blown Away' Finished - Summon Creature 'Jaga'"), +(@ENTRY,0,2,0,61,0,100,0,29401,0,0,0,12,54068,3,25000,0,0,0,1,0,0,0,0,0,0,0,"Jaga - On Quest 'Blown Away' Finished - Summon Creature 'Balloons'"); + +-- Jaga SAI +SET @ENTRY := 54067; +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,46598,0,0,0,0,0,19,54066,20,0,0,0,0,0,"Jaga - On Just Summoned - Cast 'Ride Vehicle Hardcoded'"), +(@ENTRY,0,1,0,1,0,100,0,1000,1000,5000,5000,1,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"Jaga - Out of Combat - Say Line 0"); + +-- Balloon Bunny SAI +SET @ENTRY := 54066; +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,69,0,0,0,0,0,0,8,0,0,0,1943.51,-4343.42,142.481,5.887,"Balloon Bunny - On Just Summoned - Move To Position"), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Balloon Bunny - On Just Summoned - Set Run Off"); + +-- Balloons SAI +SET @ENTRY := 54068; +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,69,0,0,0,0,0,0,8,0,0,0,1943.51,-4343.42,142.481,5.887,"Balloons - On Just Summoned - Move To Position"), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Balloons - On Just Summoned - Set Run Off"); + +DELETE FROM `creature_text` WHERE `entry`=54067; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(54067, 0, 0, 'This is great!', 12, 0, 100, 0, 0, 0, 52697, 'Jaga'), +(54067, 0, 1, 'Thanks, $p! I''ll tell my pa you helped me see the world!', 12, 0, 100, 0, 0, 0, 52696, 'Jaga'), +(54067, 0, 2, 'Wahoo!', 12, 0, 100, 0, 0, 0, 44157, 'Jaga'); diff --git a/sql/updates/world/2015_08_01_03_world.sql b/sql/updates/world/2015_08_01_03_world.sql new file mode 100644 index 00000000000..f669c20da80 --- /dev/null +++ b/sql/updates/world/2015_08_01_03_world.sql @@ -0,0 +1,797 @@ +-- Orgrimmar - Citywalker +-- Scout Tharr +SET @NPC := 310918; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1857.476,`position_y`=-4524.597,`position_z`=24.46031 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,1857.476,-4524.597,24.46031,0,0,0,0,100,0), +(@PATH,2,1840.592,-4523.064,23.9212,0,0,0,0,100,0), +(@PATH,3,1819.472,-4525.38 ,23.3323,0,0,0,0,100,0), +(@PATH,4,1800.679,-4527.401,23.18298,0,0,0,0,100,0), +(@PATH,5,1784.316,-4529.67 ,23.92638,0,0,0,0,100,0), +(@PATH,6,1774.844,-4528.844,24.65926,0,0,0,0,100,0), +(@PATH,7,1766.559,-4522.962,25.8879,0,0,0,0,100,0), +(@PATH,8,1757.165,-4513.542,27.6843,0,0,0,0,100,0), +(@PATH,9,1752.377,-4509.38 ,28.59556,0,0,0,0,100,0), +(@PATH,10, 1745.965,-4502.885,30.14787,0,0,0,0,100,0), +(@PATH,11, 1738.72 ,-4495.25 ,30.94991,0,0,0,0,100,0), +(@PATH,12, 1735.161,-4491.389,31.50614,0,0,0,0,100,0), +(@PATH,13, 1730.997,-4480.33 ,33.72429,0,0,0,0,100,0), +(@PATH,14, 1733.472,-4471.252,35.52904,0,0,0,0,100,0), +(@PATH,15, 1740.382,-4458.622,37.49617,0,0,0,0,100,0), +(@PATH,16, 1743.344,-4452.616,38.31646,0,0,0,0,100,0), +(@PATH,17, 1743.936,-4450.497,38.58852,0,0,0,0,100,0), +(@PATH,18, 1744.823,-4439.997,38.9188,0,0,0,0,100,0), +(@PATH,19, 1743.425,-4433.813,38.62027,0,0,0,0,100,0), +(@PATH,20, 1740.901,-4423.097,37.26536,0,0,0,0,100,0), +(@PATH,21, 1736.641,-4409.307,36.52676,0,0,0,0,100,0), +(@PATH,22, 1731.429,-4402.613,35.85151,0,0,0,0,100,0), +(@PATH,23, 1722.281,-4396.943,34.4231,0,0,0,0,100,0), +(@PATH,24, 1710.542,-4395.896,33.66426,0,0,0,0,100,0), +(@PATH,25, 1707.012,-4396.13 ,33.71268,0,0,0,0,100,0), +(@PATH,26, 1701.311,-4399.897,33.68725,0,0,0,0,100,0), +(@PATH,27, 1694.892,-4403.713,32.94097,0,0,0,0,100,0), +(@PATH,28, 1691.415,-4406.021,31.48601,0,0,0,0,100,0), +(@PATH,29, 1671.377,-4408.752,22.9376,0,0,0,0,100,0), +(@PATH,30, 1657.533,-4409.346,18.86368,0,0,0,0,100,0), +(@PATH,31, 1639.608,-4409.353,15.92111,0,0,0,0,100,0), +(@PATH,32, 1623.205,-4407.557,15.14675,0,0,0,0,100,0), +(@PATH,33, 1614.795,-4409.288,14.92588,0,0,0,0,100,0), +(@PATH,34, 1611.05 ,-4412.698,14.65444,0,0,0,0,100,0), +(@PATH,35, 1611.766,-4417.38 ,14.34517,0,0,0,0,100,0), +(@PATH,36, 1614.295,-4420.262,15.78801,0,0,0,0,100,0), +(@PATH,37, 1619.399,-4424.729,15.80352,0,0,0,0,100,0), +(@PATH,38, 1628.653,-4433.321,15.837,0,0,0,0,100,0), +(@PATH,39, 1632.316,-4437.168,17.07214,0,0,0,0,100,0), +(@PATH,40, 1635.377,-4438.174,17.06017,0,0,0,0,100,0), +(@PATH,41, 1636.385,-4441.478,17.03001,0,0,0,0,100,0), +(@PATH,42, 1634.156,-4443.488,17.02441,0,0,0,0,100,0), +(@PATH,43, 1631.436,-4443.181,17.05462,0,0,0,0,100,0), +(@PATH,44, 1630.153,-4440.578,17.05966,0,0,0,0,100,0), +(@PATH,45, 1626.29 ,-4435.969,15.83872,0,0,0,0,100,0), +(@PATH,46, 1617.398,-4426.84 ,15.79618,0,0,0,0,100,0), +(@PATH,47, 1612.714,-4421.993,15.78804,0,0,0,0,100,0), +(@PATH,48, 1609.632,-4418.849,14.12764,0,0,0,0,100,0), +(@PATH,49, 1606.655,-4415.936,14.32887,0,0,0,0,100,0), +(@PATH,50, 1593.743,-4409.757,15.06392,0,0,0,0,100,0), +(@PATH,51, 1580.894,-4405.007,15.41783,0,0,0,0,100,0), +(@PATH,52, 1563.236,-4399.918,16.57342,0,0,0,0,100,0), +(@PATH,53, 1560.208,-4400.13 ,16.95678,0,0,0,0,100,0), +(@PATH,54, 1552.974,-4400.55 ,17.70144,0,0,0,0,100,0), +(@PATH,55, 1549.252,-4399.958,18.04327,0,0,0,0,100,0), +(@PATH,56, 1548.354,-4395.847,18.02148,0,0,0,0,100,0), +(@PATH,57, 1548.391,-4389.368,17.72157,0,0,0,0,100,0), +(@PATH,58, 1548.385,-4385.609,17.41556,0,0,0,0,100,0), +(@PATH,59, 1550.661,-4376.764,17.1717,0,0,0,0,100,0), +(@PATH,60, 1547.325,-4372.104,17.47234,0,0,0,0,100,0), +(@PATH,61, 1543.405,-4368.75 ,20.54503,0,0,0,0,100,0), +(@PATH,62, 1537.5,-4365.432,20.54732,0,0,0,0,100,0), +(@PATH,63, 1529.524,-4361.537,20.54881,0,0,0,0,100,0), +(@PATH,64, 1525.516,-4360.457,20.54872,0,0,0,0,100,0), +(@PATH,65, 1524.766,-4357.231,20.54869,0,0,0,0,100,0), +(@PATH,66, 1528.076,-4356.389,20.54872,0,0,0,0,100,0), +(@PATH,67, 1531.135,-4359.738,20.54872,0,0,0,0,100,0), +(@PATH,68, 1538.434,-4363.884,20.54732,0,0,0,0,100,0), +(@PATH,69, 1544.191,-4367.108,20.54503,0,0,0,0,100,0), +(@PATH,70, 1549.49 ,-4368.374,17.47386,0,0,0,0,100,0), +(@PATH,71, 1554.125,-4365.894,17.37737,0,0,0,0,100,0), +(@PATH,72, 1557.387,-4353.96 ,18.87866,0,0,0,0,100,0), +(@PATH,73, 1558.441,-4350.819,19.44413,0,0,0,0,100,0), +(@PATH,74, 1564.569,-4341.884,21.08784,0,0,0,0,100,0), +(@PATH,75, 1569.349,-4337.281,22.06384,0,0,0,0,100,0), +(@PATH,76, 1573.91 ,-4333.139,22.47254,0,0,0,0,100,0), +(@PATH,77, 1583.566,-4324.689,21.63387,0,0,0,0,100,0), +(@PATH,78, 1586.7,-4322.28 ,21.35453,0,0,0,0,100,0), +(@PATH,79, 1598.49 ,-4315.965,20.81011,0,0,0,0,100,0), +(@PATH,80, 1610.891,-4307.08 ,20.61933,0,0,0,0,100,0), +(@PATH,81, 1623.375,-4299.318,20.6249,0,0,0,0,100,0), +(@PATH,82, 1633.269,-4295.702,20.74587,0,0,0,0,100,0), +(@PATH,83, 1639.2,-4294.931,21.20371,0,0,0,0,100,0), +(@PATH,84, 1646.481,-4293.448,21.52332,0,0,0,0,100,0), +(@PATH,85, 1653.726,-4291.16 ,21.81432,0,0,0,0,100,0), +(@PATH,86, 1664.788,-4287.806,23.71877,0,0,0,0,100,0), +(@PATH,87, 1674.259,-4289.168,26.22109,0,0,0,0,100,0), +(@PATH,88, 1686.486,-4296.497,29.72458,0,0,0,0,100,0), +(@PATH,89, 1699.491,-4309.724,31.13845,0,0,0,0,100,0), +(@PATH,90, 1710.104,-4326.774,31.25349,0,0,0,0,100,0), +(@PATH,91, 1717.934,-4348.196,31.35467,0,0,0,0,100,0), +(@PATH,92, 1721.188,-4373.528,31.79612,0,0,0,0,100,0), +(@PATH,93, 1721.951,-4387.353,33.0786,0,0,0,0,100,0), +(@PATH,94, 1725.149,-4404.109,35.62657,0,0,0,0,100,0), +(@PATH,95, 1731.286,-4415.266,36.76316,0,0,0,0,100,0), +(@PATH,96, 1736.806,-4426.389,37.68155,0,0,0,0,100,0), +(@PATH,97, 1738.299,-4434.372,38.60016,0,0,0,0,100,0), +(@PATH,98, 1739.962,-4442.813,39.02178,0,0,0,0,100,0), +(@PATH,99, 1739.134,-4449.616,38.51152,0,0,0,0,100,0), +(@PATH,100,1738.507,-4453.476,38.03446,0,0,0,0,100,0), +(@PATH,101,1732.224,-4464.934,36.62786,0,0,0,0,100,0), +(@PATH,102,1728.073,-4475.481,34.81511,0,0,0,0,100,0), +(@PATH,103,1726.656,-4485.344,32.91909,0,0,0,0,100,0), +(@PATH,104,1731.24 ,-4493.615,31.36142,0,0,0,0,100,0), +(@PATH,105,1733.094,-4497.359,30.94131,0,0,0,0,100,0), +(@PATH,106,1736.75 ,-4501.776,30.51415,0,0,0,0,100,0), +(@PATH,107,1741.771,-4507.556,29.96614,0,0,0,0,100,0), +(@PATH,108,1746.988,-4511.807,29.04781,0,0,0,0,100,0), +(@PATH,109,1750,-4514.974,28.38832,0,0,0,0,100,0), +(@PATH,110,1758.451,-4524.253,26.71889,0,0,0,0,100,0), +(@PATH,111,1771.943,-4532.689,24.57936,0,0,0,0,100,0), +(@PATH,112,1785.955,-4535.215,23.65808,0,0,0,0,100,0), +(@PATH,113,1801.858,-4533.668,23.17142,0,0,0,0,100,0), +(@PATH,114,1813.129,-4531.05,23.28209,0,0,0,0,100,0), +(@PATH,115,1821.865,-4529.29,23.41928,0,0,0,0,100,0), +(@PATH,116,1839.247,-4526.738,23.90526,0,0,0,0,100,0), +(@PATH,117,1856.717,-4525.736,24.53467,0,0,0,0,100,0), +(@PATH,118,1864.118,-4527.702,25.04603,0,0,0,0,100,0), +(@PATH,119,1875.769,-4533.724,26.6445,0,0,0,0,100,0), +(@PATH,120,1894.139,-4545.444,29.86068,0,0,0,0,100,0), +(@PATH,121,1900.252,-4550.453,30.71287,0,0,0,0,100,0), +(@PATH,122,1908.729,-4561.913,35.95214,0,0,0,0,100,0), +(@PATH,123,1914.309,-4570.255,35.95214,0,0,0,0,100,0), +(@PATH,124,1920.349,-4580.038,35.95213,0,0,0,0,100,0), +(@PATH,125,1922.663,-4585.056,35.95214,0,0,0,0,100,0), +(@PATH,126,1919.677,-4589.03,35.95213,0,0,0,0,100,0), +(@PATH,127,1909.646,-4597.412,35.95213,0,0,0,0,100,0), +(@PATH,128,1901.712,-4602.113,35.95213,0,0,0,0,100,0), +(@PATH,129,1895.069,-4608.358,35.95214,0,0,0,0,100,0), +(@PATH,130,1894.49 ,-4614.837,35.95214,0,0,0,0,100,0), +(@PATH,131,1898.512,-4621.516,35.95213,0,0,0,0,100,0), +(@PATH,132,1906.319,-4630.554,35.95213,0,0,0,0,100,0), +(@PATH,133,1910.528,-4636.932,35.95213,0,0,0,0,100,0), +(@PATH,134,1914.139,-4643.268,33.17758,0,0,0,0,100,0), +(@PATH,135,1918.016,-4648.153,33.05596,0,0,0,0,100,0), +(@PATH,136,1922.184,-4662.042,33.47467,0,0,0,0,100,0), +(@PATH,137,1932.441,-4670.149,33.51932,0,0,0,0,100,0), +(@PATH,138,1946.859,-4675.866,33.14027,0,0,0,0,100,0), +(@PATH,139,1957.991,-4680.679,32.60309,0,0,0,0,100,0), +(@PATH,140,1968.285,-4681.474,31.47941,0,0,0,0,100,0), +(@PATH,141,1973.13 ,-4682.884,31.54884,0,0,0,0,100,0), +(@PATH,142,1984.587,-4687.575,32.23098,0,0,0,0,100,0), +(@PATH,143,1995.122,-4692.635,30.23359,0,0,0,0,100,0), +(@PATH,144,1999.701,-4694.813,29.25844,0,0,0,0,100,0), +(@PATH,145,2007.866,-4694.285,28.7994,0,0,0,0,100,0), +(@PATH,146,2013.67 ,-4691.643,28.5597,0,0,0,0,100,0), +(@PATH,147,2021.299,-4687.837,28.31159,0,0,0,0,100,0), +(@PATH,148,2026.002,-4682.76,28.2713,0,0,0,0,100,0), +(@PATH,149,2029.741,-4680.686,28.22364,0,0,0,0,100,0), +(@PATH,150,2034.795,-4678.358,31.2777,0,0,0,0,100,0), +(@PATH,151,2040.592,-4676.603,31.29156,0,0,0,0,100,0), +(@PATH,152,2048.29 ,-4673.783,31.30518,0,0,0,0,100,0), +(@PATH,153,2053.391,-4672.031,31.32994,0,0,0,0,100,0), +(@PATH,154,2057.257,-4670.573,32.60344,0,0,0,0,100,0), +(@PATH,155,2062.597,-4669.184,32.53109,0,0,0,0,100,0), +(@PATH,156,2064.075,-4665.908,32.50212,0,0,0,0,100,0), +(@PATH,157,2061.066,-4664.269,32.53382,0,0,0,0,100,0), +(@PATH,158,2056.771,-4666.635,32.54906,0,0,0,0,100,0), +(@PATH,159,2051.83 ,-4668.897,31.3273,0,0,0,0,100,0), +(@PATH,160,2045.345,-4671.502,31.30392,0,0,0,0,100,0), +(@PATH,161,2039.757,-4673.588,31.29211,0,0,0,0,100,0), +(@PATH,162,2033.734,-4676.09,31.27764,0,0,0,0,100,0), +(@PATH,163,2028.764,-4677.999,28.31315,0,0,0,0,100,0), +(@PATH,164,2026.248,-4679.833,28.33252,0,0,0,0,100,0), +(@PATH,165,2027.443,-4683.031,28.2245,0,0,0,0,100,0), +(@PATH,166,2029.168,-4687.889,28.07238,0,0,0,0,100,0), +(@PATH,167,2035.472,-4691.499,27.98633,0,0,0,0,100,0), +(@PATH,168,2044.766,-4703.858,28.45877,0,0,0,0,100,0), +(@PATH,169,2043.031,-4717.135,28.5596,0,0,0,0,100,0), +(@PATH,170,2035.819,-4723.106,28.1025,0,0,0,0,100,0), +(@PATH,171,2020.563,-4721.066,28.5011,0,0,0,0,100,0), +(@PATH,172,2008.17 ,-4710.944,29.02238,0,0,0,0,100,0), +(@PATH,173,2004.929,-4700.524,28.86436,0,0,0,0,100,0), +(@PATH,174,2000.901,-4691.144,29.23651,0,0,0,0,100,0), +(@PATH,175,1996.873,-4688.96,30.13579,0,0,0,0,100,0), +(@PATH,176,1986.385,-4684.272,32.15846,0,0,0,0,100,0), +(@PATH,177,1974.773,-4679.476,31.50014,0,0,0,0,100,0), +(@PATH,178,1970.823,-4678.908,31.33381,0,0,0,0,100,0), +(@PATH,179,1958.325,-4678.991,32.49842,0,0,0,0,100,0), +(@PATH,180,1940.33 ,-4678.042,33.73795,0,0,0,0,100,0), +(@PATH,181,1923.24 ,-4679.988,34.7288,0,0,0,0,100,0), +(@PATH,182,1911.516,-4681.557,35.27054,0,0,0,0,100,0), +(@PATH,183,1904.62 ,-4682.399,38.49743,0,0,0,0,100,0), +(@PATH,184,1895.797,-4682.194,38.50011,0,0,0,0,100,0), +(@PATH,185,1889.597,-4681.663,38.50116,0,0,0,0,100,0), +(@PATH,186,1882.519,-4679.328,38.50109,0,0,0,0,100,0), +(@PATH,187,1878.819,-4678.582,38.54076,0,0,0,0,100,0), +(@PATH,188,1874.24 ,-4681.835,38.55511,0,0,0,0,100,0), +(@PATH,189,1878.129,-4685.384,38.55682,0,0,0,0,100,0), +(@PATH,190,1883.104,-4684.391,38.50109,0,0,0,0,100,0), +(@PATH,191,1888.868,-4683.721,38.50122,0,0,0,0,100,0), +(@PATH,192,1895.925,-4683.702,38.50008,0,0,0,0,100,0), +(@PATH,193,1904.67 ,-4684.821,38.49743,0,0,0,0,100,0), +(@PATH,194,1911.731,-4685.003,35.43815,0,0,0,0,100,0), +(@PATH,195,1922.726,-4677.465,34.56047,0,0,0,0,100,0), +(@PATH,196,1928.172,-4662.609,33.27732,0,0,0,0,100,0), +(@PATH,197,1921.035,-4645.66,32.95979,0,0,0,0,100,0), +(@PATH,198,1918.663,-4640.087,33.11839,0,0,0,0,100,0), +(@PATH,199,1915.87 ,-4635.682,35.33347,0,0,0,0,100,0), +(@PATH,200,1910.17 ,-4625.91,35.95213,0,0,0,0,100,0), +(@PATH,201,1903.184,-4615.318,35.95213,0,0,0,0,100,0), +(@PATH,202,1901.766,-4610.066,35.95213,0,0,0,0,100,0), +(@PATH,203,1906.019,-4605.202,35.95213,0,0,0,0,100,0), +(@PATH,204,1913.929,-4599.361,35.95213,0,0,0,0,100,0), +(@PATH,205,1922.009,-4594.202,35.95214,0,0,0,0,100,0), +(@PATH,206,1929.059,-4589.5,35.95214,0,0,0,0,100,0), +(@PATH,207,1930.757,-4584.731,35.95214,0,0,0,0,100,0), +(@PATH,208,1927.415,-4578.269,35.95214,0,0,0,0,100,0), +(@PATH,209,1922.363,-4571.768,35.95214,0,0,0,0,100,0), +(@PATH,210,1913.052,-4559.354,35.95214,0,0,0,0,100,0), +(@PATH,211,1903.467,-4546.49,30.56685,0,0,0,0,100,0), +(@PATH,212,1888.257,-4536.766,28.1822,0,0,0,0,100,0), +(@PATH,213,1878.396,-4532.066,26.64436,0,0,0,0,100,0), +(@PATH,214,1857.476,-4524.597,24.46031,0,0,0,0,100,0), +(@PATH,215,1840.592,-4523.064,23.9212,0,0,0,0,100,0), +(@PATH,216,1819.472,-4525.38,23.3323 ,0,0,0,0,100,0); + +DELETE FROM `creature` WHERE `guid`=12; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnmask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(12, 23635, 1, 1, 1698.482, -4311.084, 31.0914, 5.481057, 120, 0, 0); -- Krixx (Area: Valley of Strength) + +-- Krixx +SET @NPC := 12; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1964.881,`position_y`=-4678.697,`position_z`=32.4229 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,1964.881,-4678.697,32.4229,0,0,0,0,100,0), +(@PATH,2,1962.881,-4678.947,32.4229,0,0,0,0,100,0), +(@PATH,3,1957.131,-4678.697,32.9229,0,0,0,0,100,0), +(@PATH,4,1952.534,-4678.281,32.9955,0,0,0,0,100,0), +(@PATH,5,1942.713,-4674.976,33.55363,0,0,0,0,100,0), +(@PATH,6,1933.245,-4667.876,33.56863,0,0,0,0,100,0), +(@PATH,7,1930.377,-4663.23,33.48026,0,0,0,0,100,0), +(@PATH,8,1924.054,-4651.32,33.2051,0,0,0,0,100,0), +(@PATH,9,1917.269,-4640.966,33.58875,0,0,0,0,100,0), +(@PATH,10,1914.519,-4635.466,36.08875,0,0,0,0,100,0), +(@PATH,11,1914.195,-4635.302,36.11539,0,0,0,0,100,0), +(@PATH,12,1913.445,-4633.802,36.11539,0,0,0,0,100,0), +(@PATH,13,1911.945,-4631.302,36.11539,0,0,0,0,100,0), +(@PATH,14,1910.945,-4627.302,36.11539,0,0,0,0,100,0), +(@PATH,15,1909.109,-4626.187,36.20213,0,0,0,0,100,0), +(@PATH,16,1907.359,-4623.187,36.20213,0,0,0,0,100,0), +(@PATH,17,1906.109,-4621.687,36.20213,0,0,0,0,100,0), +(@PATH,18,1904.027,-4618.71,36.20213,0,0,0,0,100,0), +(@PATH,19,1901.106,-4613.37,36.20213,0,0,0,0,100,0), +(@PATH,20,1901.389,-4609.678,36.20213,0,0,0,0,100,0), +(@PATH,21,1902.639,-4608.928,36.20213,0,0,0,0,100,0), +(@PATH,22,1905.407,-4606.152,36.20213,0,0,0,0,100,0), +(@PATH,23,1906.907,-4605.152,36.20213,0,0,0,0,100,0), +(@PATH,24,1912.708,-4601.03,36.20213,0,0,0,0,100,0), +(@PATH,25,1919.1,-4596.64,36.20213,0,0,0,0,100,0), +(@PATH,26,1921.1,-4595.39,36.20213,0,0,0,0,100,0), +(@PATH,27,1924.615,-4592.829,36.20213,0,0,0,0,100,0), +(@PATH,28,1928.293,-4590.05,36.20213,0,0,0,0,100,0), +(@PATH,29,1930.447,-4584.481,36.20214,0,0,0,0,100,0), +(@PATH,30,1929.697,-4581.731,36.20214,0,0,0,0,100,0), +(@PATH,31,1929.717,-4581.447,36.20213,0,0,0,0,100,0), +(@PATH,32,1929.467,-4579.947,36.20213,0,0,0,0,100,0), +(@PATH,33,1925.717,-4574.197,36.20213,0,0,0,0,100,0), +(@PATH,34,1925.257,-4574.018,36.20213,0,0,0,0,100,0), +(@PATH,35,1924.507,-4572.768,36.20213,0,0,0,0,100,0), +(@PATH,36,1923.507,-4571.268,36.20213,0,0,0,0,100,0), +(@PATH,37,1919.507,-4565.518,36.20213,0,0,0,0,100,0), +(@PATH,38,1919.191,-4565.505,36.08034,0,0,0,0,100,0), +(@PATH,39,1918.191,-4564.005,36.08034,0,0,0,0,100,0), +(@PATH,40,1914.441,-4558.755,36.08034,0,0,0,0,100,0), +(@PATH,41,1913.691,-4557.255,36.08034,0,0,0,0,100,0), +(@PATH,42,1912.691,-4556.005,36.08034,0,0,0,0,100,0), +(@PATH,43,1913.281,-4557.13,36.1245,0,0,0,0,100,0), +(@PATH,44,1912.281,-4555.88,36.1245,0,0,0,0,100,0), +(@PATH,45,1912.031,-4555.38,35.8745,0,0,0,0,100,0), +(@PATH,46,1911.031,-4553.88,34.8745,0,0,0,0,100,0), +(@PATH,47,1906.031,-4548.38,31.1245,0,0,0,0,100,0), +(@PATH,48,1906.135,-4546.61,30.84069,0,0,0,0,100,0), +(@PATH,49,1900.885,-4542.36,30.09069,0,0,0,0,100,0), +(@PATH,50,1897.322,-4538.876,29.48084,0,0,0,0,100,0), +(@PATH,51,1895.822,-4535.376,29.23084,0,0,0,0,100,0), +(@PATH,52,1895.611,-4535.142,29.03527,0,0,0,0,100,0), +(@PATH,53,1895.111,-4533.642,28.78527,0,0,0,0,100,0), +(@PATH,54,1895.111,-4529.892,28.28527,0,0,0,0,100,0), +(@PATH,55,1895.058,-4525.546,27.68968,0,0,0,0,100,0), +(@PATH,56,1895.308,-4520.796,26.93968,0,0,0,0,100,0), +(@PATH,57,1895.808,-4514.796,26.43968,0,0,0,0,100,0), +(@PATH,58,1895.563,-4514.56,26.21635,0,0,0,0,100,0), +(@PATH,59,1895.813,-4514.06,26.21635,0,0,0,0,100,0), +(@PATH,60,1895.313,-4510.31,25.71635,0,0,0,0,100,0), +(@PATH,61,1895.282,-4509.911,25.53922,0,0,0,0,100,0), +(@PATH,62,1895.032,-4508.661,25.28922,0,0,0,0,100,0), +(@PATH,63,1893.032,-4504.661,24.78922,0,0,0,0,100,0), +(@PATH,64,1892.741,-4504.216,24.84319,0,0,0,0,100,0), +(@PATH,65,1891.241,-4501.966,24.34319,0,0,0,0,100,0), +(@PATH,66,1886.491,-4498.716,23.84319,0,0,0,0,100,0), +(@PATH,67,1886.266,-4498.848,23.75813,0,0,0,0,100,0), +(@PATH,68,1886.016,-4498.598,23.75813,0,0,0,0,100,0), +(@PATH,69,1879.762,-4498.573,23.42276,0,0,0,0,100,0), +(@PATH,70,1872.817,-4502.096,23.64347,0,0,0,0,100,0), +(@PATH,71,1868.434,-4507.816,23.76871,0,0,0,0,100,0), +(@PATH,72,1862.184,-4512.316,24.01871,0,0,0,0,100,0), +(@PATH,73,1860.029,-4514.02,24.29868,0,0,0,0,100,0), +(@PATH,74,1851.232,-4518.974,24.35468,0,0,0,0,100,0), +(@PATH,75,1843.364,-4522.127,24.1996,0,0,0,0,100,0), +(@PATH,76,1831.845,-4524.402,23.88167,0,0,0,0,100,0), +(@PATH,77,1820.523,-4524.167,23.62483,0,0,0,0,100,0), +(@PATH,78,1814.431,-4524.671,23.48886,0,0,0,0,100,0), +(@PATH,79,1806.622,-4525.272,23.26359,0,0,0,0,100,0), +(@PATH,80,1798.067,-4527.481,23.44888,0,0,0,0,100,0), +(@PATH,81,1788.406,-4529.549,23.97228,0,0,0,0,100,0), +(@PATH,82,1781.656,-4529.549,24.47228,0,0,0,0,100,0), +(@PATH,83,1777.895,-4529.511,24.74477,0,0,0,0,100,0), +(@PATH,84,1771.645,-4527.511,25.24477,0,0,0,0,100,0), +(@PATH,85,1771.345,-4527.22,25.4962,0,0,0,0,100,0), +(@PATH,86,1770.345,-4526.97,25.4962,0,0,0,0,100,0), +(@PATH,87,1767.095,-4523.72,25.9962,0,0,0,0,100,0), +(@PATH,88,1767.04,-4523.362,26.10878,0,0,0,0,100,0), +(@PATH,89,1765.04,-4521.612,26.60878,0,0,0,0,100,0), +(@PATH,90,1761.29,-4517.362,27.10878,0,0,0,0,100,0), +(@PATH,91,1758.932,-4514.547,27.78834,0,0,0,0,100,0), +(@PATH,92,1756.182,-4512.047,28.28834,0,0,0,0,100,0), +(@PATH,93,1753.211,-4509.02,28.99766,0,0,0,0,100,0), +(@PATH,94,1752.961,-4507.77,29.24766,0,0,0,0,100,0), +(@PATH,95,1751.961,-4506.02,29.74766,0,0,0,0,100,0), +(@PATH,96,1745.117,-4501.918,30.61645,0,0,0,0,100,0), +(@PATH,97,1742.367,-4499.168,30.86645,0,0,0,0,100,0), +(@PATH,98,1740.117,-4496.918,30.86645,0,0,0,0,100,0), +(@PATH,99,1738.048,-4494.113,31.54534,0,0,0,0,100,0), +(@PATH,100,1735.298,-4490.363,32.04534,0,0,0,0,100,0), +(@PATH,101,1732.701,-4486.976,32.66746,0,0,0,0,100,0), +(@PATH,102,1732.451,-4484.226,33.16746,0,0,0,0,100,0), +(@PATH,103,1732.344,-4484.042,33.28639,0,0,0,0,100,0), +(@PATH,104,1732.094,-4481.292,33.78639,0,0,0,0,100,0), +(@PATH,105,1732.594,-4478.542,34.28639,0,0,0,0,100,0), +(@PATH,106,1733.137,-4475.572,34.80415,0,0,0,0,100,0), +(@PATH,107,1734.387,-4472.072,35.55415,0,0,0,0,100,0), +(@PATH,108,1734.587,-4471.954,35.69022,0,0,0,0,100,0), +(@PATH,109,1734.587,-4471.454,35.94022,0,0,0,0,100,0), +(@PATH,110,1736.337,-4467.204,36.44022,0,0,0,0,100,0), +(@PATH,111,1737.837,-4463.454,36.94022,0,0,0,0,100,0), +(@PATH,112,1738.184,-4463.281,37.2999,0,0,0,0,100,0), +(@PATH,113,1738.934,-4461.281,37.2999,0,0,0,0,100,0), +(@PATH,114,1740.434,-4456.781,37.7999,0,0,0,0,100,0), +(@PATH,115,1741.286,-4454.399,38.3504,0,0,0,0,100,0), +(@PATH,116,1741.536,-4451.149,38.6004,0,0,0,0,100,0), +(@PATH,117,1742.286,-4448.399,39.1004,0,0,0,0,100,0), +(@PATH,118,1743.286,-4444.649,39.1004,0,0,0,0,100,0), +(@PATH,119,1743.116,-4444.456,39.12485,0,0,0,0,100,0), +(@PATH,120,1743.616,-4443.206,39.12485,0,0,0,0,100,0), +(@PATH,121,1743.366,-4441.456,39.12485,0,0,0,0,100,0), +(@PATH,122,1742.866,-4438.456,39.12485,0,0,0,0,100,0), +(@PATH,123,1742.816,-4437.04,38.90408,0,0,0,0,100,0), +(@PATH,124,1742.816,-4434.29,38.90408,0,0,0,0,100,0), +(@PATH,125,1742.816,-4433.29,38.90408,0,0,0,0,100,0), +(@PATH,126,1742.142,-4430.567,38.42506,0,0,0,0,100,0), +(@PATH,127,1741.642,-4424.817,37.92506,0,0,0,0,100,0), +(@PATH,128,1741.174,-4422.066,37.29305,0,0,0,0,100,0), +(@PATH,129,1737.484,-4413.387,36.89022,0,0,0,0,100,0), +(@PATH,130,1734.677,-4407.427,36.56316,0,0,0,0,100,0), +(@PATH,131,1732.427,-4402.427,36.06316,0,0,0,0,100,0), +(@PATH,132,1730.04,-4398.186,35.61724,0,0,0,0,100,0), +(@PATH,133,1726.54,-4396.686,35.11724,0,0,0,0,100,0), +(@PATH,134,1723.04,-4395.186,34.61724,0,0,0,0,100,0), +(@PATH,135,1720.351,-4394.072,33.96874,0,0,0,0,100,0), +(@PATH,136,1711.003,-4395.004,33.71259,0,0,0,0,100,0), +(@PATH,137,1708.753,-4395.254,33.96259,0,0,0,0,100,0), +(@PATH,138,1706.503,-4397.504,33.96259,0,0,0,0,100,0), +(@PATH,139,1703.503,-4399.254,33.96259,0,0,0,0,100,0), +(@PATH,140,1701.555,-4400.307,33.87404,0,0,0,0,100,0), +(@PATH,141,1699.805,-4400.807,33.87404,0,0,0,0,100,0), +(@PATH,142,1696.055,-4401.807,33.87404,0,0,0,0,100,0), +(@PATH,143,1693.555,-4402.557,32.87404,0,0,0,0,100,0), +(@PATH,144,1691.805,-4402.557,32.62404,0,0,0,0,100,0), +(@PATH,145,1691.555,-4405.307,31.87404,0,0,0,0,100,0), +(@PATH,146,1691.385,-4405.65,31.69841,0,0,0,0,100,0), +(@PATH,147,1691.385,-4405.9,31.69841,0,0,0,0,100,0), +(@PATH,148,1689.385,-4406.15,30.69841,0,0,0,0,100,0), +(@PATH,149,1687.385,-4406.65,29.94841,0,0,0,0,100,0), +(@PATH,150,1684.385,-4407.15,28.94841,0,0,0,0,100,0), +(@PATH,151,1682.885,-4407.4,28.44841,0,0,0,0,100,0), +(@PATH,152,1680.885,-4407.9,27.44841,0,0,0,0,100,0), +(@PATH,153,1678.885,-4408.15,26.44841,0,0,0,0,100,0), +(@PATH,154,1676.842,-4408.802,25.5075,0,0,0,0,100,0), +(@PATH,155,1674.842,-4409.052,24.2575,0,0,0,0,100,0), +(@PATH,156,1672.092,-4409.052,23.7575,0,0,0,0,100,0), +(@PATH,157,1670.092,-4409.302,23.0075,0,0,0,0,100,0), +(@PATH,158,1671.829,-4409.396,23.66201,0,0,0,0,100,0), +(@PATH,159,1669.829,-4409.396,22.66201,0,0,0,0,100,0), +(@PATH,160,1668.829,-4409.646,22.16201,0,0,0,0,100,0), +(@PATH,161,1666.829,-4409.896,21.66201,0,0,0,0,100,0), +(@PATH,162,1664.829,-4409.896,21.16201,0,0,0,0,100,0), +(@PATH,163,1663.079,-4409.896,20.66201,0,0,0,0,100,0), +(@PATH,164,1660.079,-4410.146,19.91201,0,0,0,0,100,0), +(@PATH,165,1658.079,-4410.396,19.16201,0,0,0,0,100,0), +(@PATH,166,1657.863,-4410.317,18.91226,0,0,0,0,100,0), +(@PATH,167,1656.863,-4410.317,18.91226,0,0,0,0,100,0), +(@PATH,168,1653.863,-4410.317,18.16226,0,0,0,0,100,0), +(@PATH,169,1651.113,-4410.317,17.66226,0,0,0,0,100,0), +(@PATH,170,1648.113,-4410.317,17.16226,0,0,0,0,100,0), +(@PATH,171,1644.266,-4409.876,16.39329,0,0,0,0,100,0), +(@PATH,172,1636.516,-4408.876,16.14329,0,0,0,0,100,0), +(@PATH,173,1636.332,-4408.82,15.76025,0,0,0,0,100,0), +(@PATH,174,1633.332,-4408.32,15.76025,0,0,0,0,100,0), +(@PATH,175,1623.375,-4406.539,15.45454,0,0,0,0,100,0), +(@PATH,176,1613.393,-4407.586,15.19764,0,0,0,0,100,0), +(@PATH,177,1607.44,-4410.248,14.96606,0,0,0,0,100,0), +(@PATH,178,1599.793,-4410.04,15.02634,0,0,0,0,100,0), +(@PATH,179,1593.203,-4409.147,15.22893,0,0,0,0,100,0), +(@PATH,180,1585.692,-4406.706,15.68185,0,0,0,0,100,0), +(@PATH,181,1578.811,-4404.091,15.7761,0,0,0,0,100,0), +(@PATH,182,1570.811,-4401.091,16.2761,0,0,0,0,100,0), +(@PATH,183,1570.521,-4400.781,16.22145,0,0,0,0,100,0), +(@PATH,184,1569.771,-4400.781,16.22145,0,0,0,0,100,0), +(@PATH,185,1562.205,-4399.608,16.92992,0,0,0,0,100,0), +(@PATH,186,1558.772,-4399.988,17.16959,0,0,0,0,100,0), +(@PATH,187,1557.772,-4400.238,17.41959,0,0,0,0,100,0), +(@PATH,188,1555.272,-4400.238,17.41959,0,0,0,0,100,0), +(@PATH,189,1555.014,-4400.435,17.67941,0,0,0,0,100,0), +(@PATH,190,1554.014,-4400.435,17.67941,0,0,0,0,100,0), +(@PATH,191,1552.014,-4400.435,18.17941,0,0,0,0,100,0), +(@PATH,192,1551.683,-4400.374,18.13917,0,0,0,0,100,0), +(@PATH,193,1550.183,-4400.124,18.13917,0,0,0,0,100,0), +(@PATH,194,1549.683,-4398.624,18.13917,0,0,0,0,100,0), +(@PATH,195,1549.433,-4397.124,18.38917,0,0,0,0,100,0), +(@PATH,196,1549.528,-4398.457,18.21041,0,0,0,0,100,0), +(@PATH,197,1549.278,-4396.957,18.46041,0,0,0,0,100,0), +(@PATH,198,1549.028,-4395.957,18.21041,0,0,0,0,100,0), +(@PATH,199,1549.028,-4393.957,18.21041,0,0,0,0,100,0), +(@PATH,200,1548.778,-4392.707,17.96041,0,0,0,0,100,0), +(@PATH,201,1548.778,-4389.707,17.96041,0,0,0,0,100,0), +(@PATH,202,1548.778,-4387.957,17.71041,0,0,0,0,100,0), +(@PATH,203,1549.416,-4386.269,17.62222,0,0,0,0,100,0), +(@PATH,204,1551.22,-4379.126,17.51475,0,0,0,0,100,0), +(@PATH,205,1552.976,-4372.14,17.6094,0,0,0,0,100,0), +(@PATH,206,1555.476,-4361.64,17.8594,0,0,0,0,100,0), +(@PATH,207,1556.067,-4359.887,18.39455,0,0,0,0,100,0), +(@PATH,208,1557.567,-4355.137,18.89455,0,0,0,0,100,0), +(@PATH,209,1558.567,-4351.637,19.64455,0,0,0,0,100,0), +(@PATH,210,1560.012,-4347.79,20.32586,0,0,0,0,100,0), +(@PATH,211,1561.512,-4345.54,20.57586,0,0,0,0,100,0), +(@PATH,212,1564.361,-4342.092,21.50415,0,0,0,0,100,0), +(@PATH,213,1565.861,-4341.342,21.50415,0,0,0,0,100,0), +(@PATH,214,1566.111,-4340.092,21.50415,0,0,0,0,100,0), +(@PATH,215,1567.861,-4338.842,22.00415,0,0,0,0,100,0), +(@PATH,216,1570.69,-4336.195,22.69313,0,0,0,0,100,0), +(@PATH,217,1577.429,-4329.881,22.66762,0,0,0,0,100,0), +(@PATH,218,1578.429,-4329.131,22.66762,0,0,0,0,100,0), +(@PATH,219,1580.429,-4327.131,22.41762,0,0,0,0,100,0), +(@PATH,220,1580.826,-4327.01,22.28628,0,0,0,0,100,0), +(@PATH,221,1582.326,-4325.76,22.03628,0,0,0,0,100,0), +(@PATH,222,1582.826,-4325.26,22.03628,0,0,0,0,100,0), +(@PATH,223,1584.826,-4323.51,21.78628,0,0,0,0,100,0), +(@PATH,224,1587.576,-4324.01,21.78628,0,0,0,0,100,0), +(@PATH,225,1589.576,-4320.76,21.53628,0,0,0,0,100,0), +(@PATH,226,1589.809,-4320.677,21.37251,0,0,0,0,100,0), +(@PATH,227,1590.559,-4318.927,21.37251,0,0,0,0,100,0), +(@PATH,228,1598.743,-4314.58,21.10509,0,0,0,0,100,0), +(@PATH,229,1605.567,-4309.972,20.95163,0,0,0,0,100,0), +(@PATH,230,1617.045,-4302.462,20.67193,0,0,0,0,100,0), +(@PATH,231,1635.022,-4296.296,20.96602,0,0,0,0,100,0), +(@PATH,232,1638.022,-4295.296,20.96602,0,0,0,0,100,0), +(@PATH,233,1639.022,-4294.796,21.46602,0,0,0,0,100,0), +(@PATH,234,1638.139,-4295.038,21.39504,0,0,0,0,100,0), +(@PATH,235,1639.139,-4294.538,21.39504,0,0,0,0,100,0), +(@PATH,236,1640.639,-4294.038,21.39504,0,0,0,0,100,0), +(@PATH,237,1642.389,-4297.038,21.39504,0,0,0,0,100,0), +(@PATH,238,1643.889,-4297.038,21.39504,0,0,0,0,100,0), +(@PATH,239,1645.139,-4297.038,21.39504,0,0,0,0,100,0), +(@PATH,240,1645.889,-4297.038,21.39504,0,0,0,0,100,0), +(@PATH,241,1646.139,-4295.788,21.64504,0,0,0,0,100,0), +(@PATH,242,1649.139,-4294.038,21.64504,0,0,0,0,100,0), +(@PATH,243,1654.139,-4287.538,22.14504,0,0,0,0,100,0), +(@PATH,244,1653.656,-4291.379,22.24224,0,0,0,0,100,0), +(@PATH,245,1659.156,-4289.879,22.74224,0,0,0,0,100,0), +(@PATH,246,1663.156,-4288.629,23.49224,0,0,0,0,100,0), +(@PATH,247,1663.247,-4288.725,23.74254,0,0,0,0,100,0), +(@PATH,248,1663.997,-4288.725,23.99254,0,0,0,0,100,0), +(@PATH,249,1666.747,-4288.475,24.49254,0,0,0,0,100,0), +(@PATH,250,1670.747,-4288.225,25.24254,0,0,0,0,100,0), +(@PATH,251,1671.061,-4288.145,25.43567,0,0,0,0,100,0), +(@PATH,252,1671.311,-4288.145,25.68567,0,0,0,0,100,0), +(@PATH,253,1673.061,-4288.645,26.18567,0,0,0,0,100,0), +(@PATH,254,1675.811,-4289.395,26.93567,0,0,0,0,100,0), +(@PATH,255,1676.008,-4289.725,27.15259,0,0,0,0,100,0), +(@PATH,256,1676.508,-4289.975,27.40259,0,0,0,0,100,0), +(@PATH,257,1678.758,-4291.225,27.90259,0,0,0,0,100,0), +(@PATH,258,1680.508,-4292.475,28.40259,0,0,0,0,100,0), +(@PATH,259,1682.351,-4293.842,29.05083,0,0,0,0,100,0), +(@PATH,260,1683.851,-4295.092,29.30083,0,0,0,0,100,0), +(@PATH,261,1685.601,-4297.092,30.05083,0,0,0,0,100,0), +(@PATH,262,1688.323,-4299.949,30.62047,0,0,0,0,100,0), +(@PATH,263,1692.073,-4304.199,31.12047,0,0,0,0,100,0), +(@PATH,264,1694.439,-4306.688,31.3184,0,0,0,0,100,0), +(@PATH,265,1700.075,-4312.436,31.24224,0,0,0,0,100,0), +(@PATH,266,1705.276,-4318.68,31.56056,0,0,0,0,100,0), +(@PATH,267,1708.398,-4325.338,31.55996,0,0,0,0,100,0), +(@PATH,268,1712.058,-4332.546,31.32811,0,0,0,0,100,0), +(@PATH,269,1715.294,-4340.21,31.65345,0,0,0,0,100,0), +(@PATH,270,1717.606,-4348.304,31.72145,0,0,0,0,100,0), +(@PATH,271,1719.129,-4359.431,31.56268,0,0,0,0,100,0), +(@PATH,272,1720.548,-4367.735,31.85757,0,0,0,0,100,0), +(@PATH,273,1720.954,-4377.318,32.63993,0,0,0,0,100,0), +(@PATH,274,1722.204,-4384.068,32.88993,0,0,0,0,100,0), +(@PATH,275,1723.459,-4388.548,33.808,0,0,0,0,100,0), +(@PATH,276,1723.709,-4392.298,34.058,0,0,0,0,100,0), +(@PATH,277,1724.209,-4395.298,34.808,0,0,0,0,100,0), +(@PATH,278,1724.514,-4395.339,34.85464,0,0,0,0,100,0), +(@PATH,279,1724.514,-4396.589,35.10464,0,0,0,0,100,0), +(@PATH,280,1725.514,-4400.589,35.35464,0,0,0,0,100,0), +(@PATH,281,1726.264,-4405.089,36.10464,0,0,0,0,100,0), +(@PATH,282,1727.24,-4408.452,36.50256,0,0,0,0,100,0), +(@PATH,283,1731.861,-4416.741,37.20544,0,0,0,0,100,0), +(@PATH,284,1736.229,-4424.724,37.96039,0,0,0,0,100,0), +(@PATH,285,1737.229,-4430.474,38.46039,0,0,0,0,100,0), +(@PATH,286,1739.869,-4434.952,38.86716,0,0,0,0,100,0), +(@PATH,287,1741.119,-4436.702,38.86716,0,0,0,0,100,0), +(@PATH,288,1741.119,-4438.202,39.11716,0,0,0,0,100,0), +(@PATH,289,1740.869,-4440.202,39.11716,0,0,0,0,100,0), +(@PATH,290,1740.92,-4440.258,39.19736,0,0,0,0,100,0), +(@PATH,291,1740.42,-4442.758,39.19736,0,0,0,0,100,0), +(@PATH,292,1739.42,-4444.508,39.19736,0,0,0,0,100,0), +(@PATH,293,1737.92,-4446.508,39.19736,0,0,0,0,100,0), +(@PATH,294,1738.679,-4450.897,38.59824,0,0,0,0,100,0), +(@PATH,295,1736.679,-4455.147,38.09824,0,0,0,0,100,0), +(@PATH,296,1734.179,-4460.647,37.59824,0,0,0,0,100,0), +(@PATH,297,1733.932,-4460.826,37.47202,0,0,0,0,100,0), +(@PATH,298,1733.682,-4461.576,37.22202,0,0,0,0,100,0), +(@PATH,299,1731.682,-4466.826,36.72202,0,0,0,0,100,0), +(@PATH,300,1731.644,-4467.047,36.46181,0,0,0,0,100,0), +(@PATH,301,1730.394,-4469.797,35.96181,0,0,0,0,100,0), +(@PATH,302,1729.894,-4472.297,35.71181,0,0,0,0,100,0), +(@PATH,303,1728.894,-4475.047,35.21181,0,0,0,0,100,0), +(@PATH,304,1728.704,-4475.292,34.96192,0,0,0,0,100,0), +(@PATH,305,1728.204,-4477.292,34.71192,0,0,0,0,100,0), +(@PATH,306,1727.954,-4480.042,33.96192,0,0,0,0,100,0), +(@PATH,307,1727.954,-4484.042,33.71192,0,0,0,0,100,0), +(@PATH,308,1727.862,-4484.285,33.48721,0,0,0,0,100,0), +(@PATH,309,1727.862,-4485.535,33.23721,0,0,0,0,100,0), +(@PATH,310,1729.612,-4488.535,32.48721,0,0,0,0,100,0), +(@PATH,311,1731.279,-4491.741,31.84697,0,0,0,0,100,0), +(@PATH,312,1733.279,-4493.741,31.59697,0,0,0,0,100,0), +(@PATH,313,1737.029,-4494.991,31.34697,0,0,0,0,100,0), +(@PATH,314,1737.292,-4499.428,30.7501,0,0,0,0,100,0), +(@PATH,315,1739.542,-4501.928,30.7501,0,0,0,0,100,0), +(@PATH,316,1746.431,-4508.56,29.72842,0,0,0,0,100,0), +(@PATH,317,1745.681,-4512.81,29.22842,0,0,0,0,100,0), +(@PATH,318,1747.681,-4513.81,28.97842,0,0,0,0,100,0), +(@PATH,319,1749.931,-4513.31,28.97842,0,0,0,0,100,0), +(@PATH,320,1754.251,-4515.692,28.18597,0,0,0,0,100,0), +(@PATH,321,1757.751,-4519.442,27.43597,0,0,0,0,100,0), +(@PATH,322,1760.751,-4522.692,26.93597,0,0,0,0,100,0), +(@PATH,323,1765.001,-4527.192,26.18597,0,0,0,0,100,0), +(@PATH,324,1765.151,-4527.244,25.79598,0,0,0,0,100,0), +(@PATH,325,1766.401,-4528.494,25.79598,0,0,0,0,100,0), +(@PATH,326,1769.651,-4529.994,25.29598,0,0,0,0,100,0), +(@PATH,327,1774.418,-4532.761,24.86358,0,0,0,0,100,0), +(@PATH,328,1781.168,-4533.261,24.11358,0,0,0,0,100,0), +(@PATH,329,1789.802,-4534.243,23.82493,0,0,0,0,100,0), +(@PATH,330,1804.202,-4532.867,23.28444,0,0,0,0,100,0), +(@PATH,331,1814.375,-4530.061,23.66644,0,0,0,0,100,0), +(@PATH,332,1821.998,-4529.232,23.64589,0,0,0,0,100,0), +(@PATH,333,1831.458,-4528.771,23.9177,0,0,0,0,100,0), +(@PATH,334,1842.816,-4527.73,24.14389,0,0,0,0,100,0), +(@PATH,335,1852.29,-4525.055,24.5415,0,0,0,0,100,0), +(@PATH,336,1862.154,-4525.379,25.11521,0,0,0,0,100,0), +(@PATH,337,1865.904,-4528.379,25.61521,0,0,0,0,100,0), +(@PATH,338,1869.154,-4530.379,26.11521,0,0,0,0,100,0), +(@PATH,339,1869.632,-4530.603,26.49786,0,0,0,0,100,0), +(@PATH,340,1870.882,-4531.353,26.49786,0,0,0,0,100,0), +(@PATH,341,1874.882,-4534.103,26.99786,0,0,0,0,100,0), +(@PATH,342,1878.882,-4536.603,27.49786,0,0,0,0,100,0), +(@PATH,343,1881.382,-4538.353,28.24786,0,0,0,0,100,0), +(@PATH,344,1883.943,-4540.271,28.95193,0,0,0,0,100,0), +(@PATH,345,1887.943,-4543.021,29.45193,0,0,0,0,100,0), +(@PATH,346,1891.943,-4545.521,29.95193,0,0,0,0,100,0), +(@PATH,347,1896.079,-4549.034,30.74678,0,0,0,0,100,0), +(@PATH,348,1897.829,-4550.784,29.49678,0,0,0,0,100,0), +(@PATH,349,1900.829,-4553.784,31.99678,0,0,0,0,100,0), +(@PATH,350,1906.811,-4559.19,35.73128,0,0,0,0,100,0), +(@PATH,351,1908.061,-4560.94,36.23128,0,0,0,0,100,0), +(@PATH,352,1909.061,-4562.19,36.23128,0,0,0,0,100,0), +(@PATH,353,1913.584,-4567.781,36.20213,0,0,0,0,100,0), +(@PATH,354,1916.334,-4572.031,36.20213,0,0,0,0,100,0), +(@PATH,355,1917.334,-4573.531,36.20213,0,0,0,0,100,0), +(@PATH,356,1917.81,-4573.909,36.20213,0,0,0,0,100,0), +(@PATH,357,1919.31,-4576.659,36.20213,0,0,0,0,100,0), +(@PATH,358,1920.06,-4577.659,36.20213,0,0,0,0,100,0), +(@PATH,359,1920.81,-4579.409,36.20213,0,0,0,0,100,0), +(@PATH,360,1920.998,-4579.493,36.20213,0,0,0,0,100,0), +(@PATH,361,1921.498,-4580.993,36.20213,0,0,0,0,100,0), +(@PATH,362,1921.879,-4584.053,36.20213,0,0,0,0,100,0), +(@PATH,363,1920.879,-4585.553,36.20213,0,0,0,0,100,0), +(@PATH,364,1920.693,-4585.952,36.20213,0,0,0,0,100,0), +(@PATH,365,1919.693,-4587.952,36.20213,0,0,0,0,100,0), +(@PATH,366,1917.693,-4589.702,36.20213,0,0,0,0,100,0), +(@PATH,367,1917.587,-4589.965,36.20213,0,0,0,0,100,0), +(@PATH,368,1915.587,-4591.715,36.20213,0,0,0,0,100,0), +(@PATH,369,1906.553,-4597.87,36.20213,0,0,0,0,100,0), +(@PATH,370,1905.303,-4598.62,36.20213,0,0,0,0,100,0), +(@PATH,371,1900.658,-4601.485,36.20213,0,0,0,0,100,0), +(@PATH,372,1896.158,-4604.235,36.20213,0,0,0,0,100,0), +(@PATH,373,1896.021,-4604.686,36.20213,0,0,0,0,100,0), +(@PATH,374,1895.771,-4604.936,36.20213,0,0,0,0,100,0), +(@PATH,375,1893.182,-4609.52,36.20213,0,0,0,0,100,0), +(@PATH,376,1893.432,-4611.02,36.20213,0,0,0,0,100,0), +(@PATH,377,1893.682,-4612.77,36.20213,0,0,0,0,100,0), +(@PATH,378,1893.494,-4613.091,36.20213,0,0,0,0,100,0), +(@PATH,379,1893.744,-4614.591,36.20213,0,0,0,0,100,0), +(@PATH,380,1896.567,-4619.005,36.20213,0,0,0,0,100,0), +(@PATH,381,1897.317,-4620.255,36.20213,0,0,0,0,100,0), +(@PATH,382,1900.567,-4625.005,36.20213,0,0,0,0,100,0), +(@PATH,383,1902.519,-4627.493,36.20213,0,0,0,0,100,0), +(@PATH,384,1905.519,-4632.493,36.20213,0,0,0,0,100,0), +(@PATH,385,1908.131,-4635.932,36.13145,0,0,0,0,100,0), +(@PATH,386,1908.881,-4637.182,36.13145,0,0,0,0,100,0), +(@PATH,387,1909.381,-4638.682,36.13145,0,0,0,0,100,0), +(@PATH,388,1911.881,-4642.932,33.63145,0,0,0,0,100,0), +(@PATH,389,1912.35,-4643.226,33.57571,0,0,0,0,100,0), +(@PATH,390,1912.6,-4644.476,33.57571,0,0,0,0,100,0), +(@PATH,391,1919.549,-4654.491,33.4138,0,0,0,0,100,0), +(@PATH,392,1923.024,-4663.156,33.79867,0,0,0,0,100,0), +(@PATH,393,1926.774,-4671.906,34.29867,0,0,0,0,100,0), +(@PATH,394,1927.149,-4672.328,34.37089,0,0,0,0,100,0), +(@PATH,395,1927.149,-4672.578,34.12089,0,0,0,0,100,0), +(@PATH,396,1934.749,-4678.652,34.39975,0,0,0,0,100,0), +(@PATH,397,1943.482,-4682.113,34.212,0,0,0,0,100,0), +(@PATH,398,1950.232,-4682.113,33.712,0,0,0,0,100,0), +(@PATH,399,1953.579,-4682.219,33.51302,0,0,0,0,100,0), +(@PATH,400,1960.329,-4682.219,32.76302,0,0,0,0,100,0), +(@PATH,401,1962.878,-4682.053,32.38667,0,0,0,0,100,0), +(@PATH,402,1968.628,-4682.053,31.88667,0,0,0,0,100,0), +(@PATH,403,1970.593,-4680.613,31.72761,0,0,0,0,100,0), +(@PATH,404,1975.843,-4683.863,32.22761,0,0,0,0,100,0), +(@PATH,405,1978.798,-4685.635,32.45565,0,0,0,0,100,0), +(@PATH,406,1980.548,-4686.385,32.45565,0,0,0,0,100,0), +(@PATH,407,1984.798,-4687.885,32.45565,0,0,0,0,100,0), +(@PATH,408,1989.298,-4689.885,31.95565,0,0,0,0,100,0), +(@PATH,409,1989.453,-4690.032,31.78951,0,0,0,0,100,0), +(@PATH,410,1991.703,-4690.782,31.53951,0,0,0,0,100,0), +(@PATH,411,1993.703,-4692.032,31.03951,0,0,0,0,100,0), +(@PATH,412,1997.453,-4694.032,30.03951,0,0,0,0,100,0), +(@PATH,413,1997.704,-4694.363,29.74375,0,0,0,0,100,0), +(@PATH,414,1999.454,-4695.363,29.49375,0,0,0,0,100,0), +(@PATH,415,2001.782,-4703.681,29.21248,0,0,0,0,100,0), +(@PATH,416,2007.919,-4715.252,29.30503,0,0,0,0,100,0), +(@PATH,417,2017.172,-4722.942,29.01223,0,0,0,0,100,0), +(@PATH,418,2026.194,-4726.459,28.63305,0,0,0,0,100,0), +(@PATH,419,2033.86,-4725.621,28.25862,0,0,0,0,100,0), +(@PATH,420,2041.185,-4722.769,28.57302,0,0,0,0,100,0), +(@PATH,421,2045.185,-4717.519,29.07302,0,0,0,0,100,0), +(@PATH,422,2046.769,-4715.493,29.16233,0,0,0,0,100,0), +(@PATH,423,2048.498,-4707.274,29.09271,0,0,0,0,100,0), +(@PATH,424,2044.748,-4701.524,28.59271,0,0,0,0,100,0), +(@PATH,425,2040.897,-4695.019,28.43498,0,0,0,0,100,0), +(@PATH,426,2034.749,-4689.012,28.22878,0,0,0,0,100,0), +(@PATH,427,2023.271,-4684.714,28.46996,0,0,0,0,100,0), +(@PATH,428,2012.575,-4686.299,28.78263,0,0,0,0,100,0), +(@PATH,429,2006.521,-4689.116,29.06746,0,0,0,0,100,0), +(@PATH,430,2000.446,-4690.958,29.66251,0,0,0,0,100,0), +(@PATH,431,1995.102,-4688.051,31.00292,0,0,0,0,100,0), +(@PATH,432,1990.852,-4686.051,31.75292,0,0,0,0,100,0), +(@PATH,433,1986.852,-4684.301,32.25291,0,0,0,0,100,0), +(@PATH,434,1982.602,-4682.301,32.50291,0,0,0,0,100,0), +(@PATH,435,1980.797,-4681.444,32.33038,0,0,0,0,100,0), +(@PATH,436,1977.547,-4680.194,32.08038,0,0,0,0,100,0), +(@PATH,437,1971.835,-4678.032,31.89384,0,0,0,0,100,0), +(@PATH,438,1965.085,-4678.782,32.14384,0,0,0,0,100,0); + +-- Scout Manslayer +SET @NPC := 287129; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1678.228,`position_y`=-4415.338,`position_z`=26.16973 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, 1678.228,-4415.338,26.16973,0,0,0,0,100,0), +(@PATH,2, 1679.227,-4415.321,26.16973,0,0,0,0,100,0), +(@PATH,3, 1683.21,-4415.25,27.6116,0,0,0,0,100,0), +(@PATH,4, 1699.08,-4409.38,33.0873,0,0,0,0,100,0), +(@PATH,5, 1710.76,-4401.35,33.7587,0,0,0,0,100,0), +(@PATH,6, 1723.781,-4382.34,32.59227,0,0,0,0,100,0), +(@PATH,7, 1723.34,-4355.403,31.30435,0,0,0,0,100,0), +(@PATH,8, 1717.944,-4334.323,31.30092,0,0,0,0,100,0), +(@PATH,9, 1702.788,-4310.894,31.18861,0,0,0,0,100,0), +(@PATH,10,1688.488,-4289.231,29.35342,0,0,0,0,100,0), +(@PATH,11,1671.615,-4271.965,25.21841,0,0,0,0,100,0), +(@PATH,12,1657.997,-4272.007,28.13483,0,0,0,0,100,0), +(@PATH,13,1645.859,-4273.335,36.16102,0,0,0,0,100,0), +(@PATH,14,1636.41,-4267.26,36.9531,0,0,0,0,100,0), +(@PATH,15,1624.18,-4265.71,41.3908,0,0,0,0,100,0), +(@PATH,16,1612.41,-4267.61,51.018,0,0,0,0,100,0), +(@PATH,17,1607.16,-4263.08,51.0184,0,0,0,0,100,0), +(@PATH,18,1606.8,-4248.75,51.8412,0,0,0,0,100,0), +(@PATH,19,1605.6,-4236.34,52.4781,0,0,0,0,100,0), +(@PATH,20,1590.4,-4212.79,53.6766,0,0,0,0,100,0), +(@PATH,21,1589.22,-4195.6,53.4515,0,0,0,0,100,0), +(@PATH,22,1597.31,-4183.56,52.0457,0,0,0,0,100,0), +(@PATH,23,1614.56,-4160.44,49.4895,0,0,0,0,100,0), +(@PATH,24,1636.83,-4139.81,48.9393,0,0,0,0,100,0), +(@PATH,25,1664.11,-4117.3,48.7244,0,0,0,0,100,0), +(@PATH,26,1683.45,-4102.35,48.4339,0,0,0,0,100,0), +(@PATH,27,1694.2,-4092.56,48.7676,0,0,0,0,100,0), +(@PATH,28,1708.2,-4070.99,48.8289,0,0,0,0,100,0), +(@PATH,29,1724.97,-4057.68,49.6185,0,0,0,0,100,0), +(@PATH,30,1735.47,-4054.09,49.4687,0,0,0,0,100,0), +(@PATH,31,1742.3,-4043.19,50.5125,0,0,0,0,100,0), +(@PATH,32,1741.43,-4022.05,49.7183,0,0,0,0,100,0), +(@PATH,33,1734.53,-3985.99,51.1181,0,0,0,0,100,0), +(@PATH,34,1724.59,-3961.2,51.4033,0,0,0,0,100,0), +(@PATH,35,1717.54,-3947.99,51.3216,0,0,0,0,100,0), +(@PATH,36,1713.22,-3940.92,51.2165,0,0,0,0,100,0), +(@PATH,37,1708.47,-3938.31,51.2141,0,0,0,0,100,0), +(@PATH,38,1707.86,-3943.06,51.218,0,0,0,0,100,0), +(@PATH,39,1712.12,-3951.36,51.3067,0,0,0,0,100,0), +(@PATH,40,1719.71,-3964.46,51.5244,0,0,0,0,100,0), +(@PATH,41,1729.99,-3987.15,51.1004,0,0,0,0,100,0), +(@PATH,42,1737.15,-4030.74,50.7911,0,0,0,0,100,0), +(@PATH,43,1736.69,-4047.37,49.6902,0,0,0,0,100,0), +(@PATH,44,1744.13,-4057.62,49.3346,0,0,0,0,100,0), +(@PATH,45,1754.3,-4068.21,49.9206,0,0,0,0,100,0), +(@PATH,46,1753.76,-4086.26,49.4356,0,0,0,0,100,0), +(@PATH,47,1741.44,-4101.4,50.1241,0,0,0,0,100,0), +(@PATH,48,1732.99,-4107.14,50.531,0,0,0,0,100,0), +(@PATH,49,1730.45,-4116.26,51.0759,0,0,0,0,100,0), +(@PATH,50,1733.51,-4132.49,53.4272,0,0,0,0,100,0), +(@PATH,51,1735.51,-4148.75,56.3038,0,0,0,0,100,0), +(@PATH,52,1736.42,-4164.28,56.5471,0,0,0,0,100,0), +(@PATH,53,1737.58,-4178.82,56.2781,0,0,0,0,100,0), +(@PATH,54,1739.29,-4194.18,53.2247,0,0,0,0,100,0), +(@PATH,55,1735.64,-4204.92,50.5745,0,0,0,0,100,0), +(@PATH,56,1722.69,-4217.38,50.3578,0,0,0,0,100,0), +(@PATH,57,1710.67,-4223.16,51.1552,0,0,0,0,100,0), +(@PATH,58,1697.15,-4228.44,51.842,0,0,0,0,100,0), +(@PATH,59,1683.32,-4233.16,52.1319,0,0,0,0,100,0), +(@PATH,60,1672.75,-4240.43,52.0806,0,0,0,0,100,0), +(@PATH,61,1669.72,-4251,52.1684,0,0,0,0,100,0), +(@PATH,62,1665.97,-4257.57,52.1372,0,0,0,0,100,0), +(@PATH,63,1656.82,-4259.58,46.0516,0,0,0,0,100,0), +(@PATH,64,1648.2,-4261.2,39.6954,0,0,0,0,100,0), +(@PATH,65,1640.68,-4265.98,36.7654,0,0,0,0,100,0), +(@PATH,66,1636.52,-4274.71,36.1751,0,0,0,0,100,0), +(@PATH,67,1628.96,-4277.01,31.7801,0,0,0,0,100,0), +(@PATH,68,1618.23,-4278.86,22.2514,0,0,0,0,100,0), +(@PATH,69,1612.3,-4282.34,20.7869,0,0,0,0,100,0), +(@PATH,70,1609.65,-4289.73,20.5957,0,0,0,0,100,0), +(@PATH,71,1608.41,-4300.77,20.498,0,0,0,0,100,0), +(@PATH,72,1600.58,-4309.52,20.593,0,0,0,0,100,0), +(@PATH,73,1580.28,-4320.26,21.6943,0,0,0,0,100,0), +(@PATH,74,1572.29,-4325.86,22.5018,0,0,0,0,100,0), +(@PATH,75,1563.15,-4335.62,21.9306,0,0,0,0,100,0), +(@PATH,76,1555.27,-4346.72,20.0023,0,0,0,0,100,0), +(@PATH,77,1552.418,-4365.974,17.42403,0,0,0,0,100,0), +(@PATH,78,1549.26,-4368.54,17.4785,0,0,0,0,100,0), +(@PATH,79,1544.488,-4367.033,20.54503,0,0,0,0,100,0), +(@PATH,80,1526.07,-4355.33,20.5487,0,0,0,0,100,0), +(@PATH,81,1521.22,-4350.81,20.4544,0,0,0,0,100,0), +(@PATH,82,1516.93,-4352.85,20.6084,0,0,0,0,100,0), +(@PATH,83,1517.87,-4357.97,20.5938,0,0,0,0,100,0), +(@PATH,84,1523.76,-4358.75,20.5487,0,0,0,0,100,0), +(@PATH,85,1543.63,-4368.62,20.545,0,0,0,0,100,0), +(@PATH,86,1548.01,-4371.01,17.4597,0,0,0,0,100,0), +(@PATH,87,1546.7,-4380.28,17.4226,0,0,0,0,100,0), +(@PATH,88,1542.97,-4390.2,17.8711,0,0,0,0,100,0), +(@PATH,89,1543.14,-4396.58,18.2176,0,0,0,0,100,0), +(@PATH,90,1547.55,-4403.79,18.03,0,0,0,0,100,0), +(@PATH,91,1554.55,-4406.26,17.5097,0,0,0,0,100,0), +(@PATH,92,1561.7,-4405.56,17.0543,0,0,0,0,100,0), +(@PATH,93,1578.42,-4410.53,15.3679,0,0,0,0,100,0), +(@PATH,94,1597.96,-4416.27,14.3918,0,0,0,0,100,0), +(@PATH,95,1609.75,-4419.52,14.0688,0,0,0,0,100,0), +(@PATH,96,1613.31,-4422.98,15.7883,0,0,0,0,100,0), +(@PATH,97,1626.42,-4436.45,15.8909,0,0,0,0,100,0), +(@PATH,98,1629.45,-4441.18,17.0598,0,0,0,0,100,0), +(@PATH,99,1631.74,-4445.64,17.0516,0,0,0,0,100,0), +(@PATH,100,1636.84,-4444.31,17.0308,0,0,0,0,100,0), +(@PATH,101,1638.35,-4439.47,17.0528,0,0,0,0,100,0), +(@PATH,102,1633.06,-4437.32,17.0595,0,0,0,0,100,0), +(@PATH,103,1628.84,-4433.98,15.842,0,0,0,0,100,0), +(@PATH,104,1614.11,-4420.68,15.788,0,0,0,0,100,0), +(@PATH,105,1611.58,-4417.33,14.3438,0,0,0,0,100,0), +(@PATH,106,1614.73,-4412.55,14.7862,0,0,0,0,100,0), +(@PATH,107,1622.46,-4413.26,15.1491,0,0,0,0,100,0), +(@PATH,108,1640.53,-4417.46,16.061,0,0,0,0,100,0), +(@PATH,109,1653.52,-4417.83,17.4949,0,0,0,0,100,0), +(@PATH,110,1667.47,-4415.53,21.1557,0,0,0,0,100,0), +(@PATH,111,1683.21,-4415.25,27.6116,0,0,0,0,100,0), +(@PATH,112,1699.08,-4409.38,33.0873 ,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_08_02_00_world.sql b/sql/updates/world/2015_08_02_00_world.sql new file mode 100644 index 00000000000..93db6950105 --- /dev/null +++ b/sql/updates/world/2015_08_02_00_world.sql @@ -0,0 +1 @@ +UPDATE `creature_addon` SET `auras`=NULL WHERE `auras` = '0'; diff --git a/sql/updates/world/2015_08_08_00_world.sql b/sql/updates/world/2015_08_08_00_world.sql new file mode 100644 index 00000000000..a92011525c2 --- /dev/null +++ b/sql/updates/world/2015_08_08_00_world.sql @@ -0,0 +1,34 @@ +UPDATE `creature_template` SET `npcflag`=`npcflag`|0x0001000000 WHERE `entry`=52809; + +UPDATE `gossip_menu_option` SET `option_id`=3, `npc_option_npcflag`=128 WHERE `menu_id`=12759; + +DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (52809,52812); +INSERT INTO `vehicle_template_accessory` (`entry`, `accessory_entry`, `minion`, `description`, `summontype`, `summontimer`) VALUES +(52809, 52812, 1, 'Toy Cart on Blax Bottlerocket', 5, 0), +(52812, 52810, 1, 'Toy Cart Bunny on Toy Cart', 5, 0); + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (52809,52812); +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(52809, 46598, 0, 0), +(52812, 46598, 0, 0); + +DELETE FROM `npc_vendor` WHERE `entry`=52809; +INSERT INTO `npc_vendor` (`entry`, `item`, `slot`, `maxcount`, `ExtendedCost`, `Type`, `PlayerConditionID`, `IgnoreFiltering`, `VerifiedBuild`) VALUES +(52809, 104323, 1, 0, 0, 1, 0, 0, 20338), +(52809, 104324, 2, 0, 0, 1, 0, 0, 20338), +(52809, 95621, 3, 0, 0, 1, 0, 0, 20338), +(52809, 95481, 4, 0, 0, 1, 0, 0, 20338), +(52809, 95482, 5, 0, 0, 1, 0, 0, 20338), +(52809, 46725, 6, 0, 0, 1, 0, 0, 20338), +(52809, 48601, 7, 0, 0, 1, 0, 0, 20338), +(52809, 54436, 8, 0, 0, 1, 0, 0, 20338), +(52809, 54343, 9, 0, 0, 1, 0, 0, 20338), +(52809, 44481, 10, 0, 0, 1, 0, 0, 20338), +(52809, 34498, 11, 0, 0, 1, 0, 0, 20338), +(52809, 54437, 12, 0, 0, 1, 0, 0, 20338), +(52809, 54438, 13, 0, 0, 1, 0, 0, 20338), +(52809, 44482, 14, 0, 0, 1, 0, 0, 20338), +(52809, 44601, 15, 0, 0, 1, 0, 0, 20338), +(52809, 44599, 16, 0, 0, 1, 0, 0, 20338), +(52809, 45057, 17, 0, 0, 1, 0, 0, 20338), +(52809, 44606, 18, 0, 0, 1, 0, 0, 20338); diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 5a60291ab4c..ec37d8c29e2 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1164,6 +1164,14 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, x, y, z); break; } + case SMART_ACTION_RISE_UP: + { + if (!me) + break; + + me->GetMotionMaster()->MovePoint(SMART_RANDOM_POINT, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + (float)e.action.moveRandom.distance); + break; + } case SMART_ACTION_SET_VISIBILITY: { if (me) @@ -3298,10 +3306,6 @@ void SmartScript::InitTimer(SmartScriptHolder& e) case SMART_EVENT_UPDATE_OOC: RecalcTimer(e, e.event.minMaxRepeat.min, e.event.minMaxRepeat.max); break; - case SMART_EVENT_IC_LOS: - case SMART_EVENT_OOC_LOS: - RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax); - break; case SMART_EVENT_DISTANCE_CREATURE: case SMART_EVENT_DISTANCE_GAMEOBJECT: RecalcTimer(e, e.event.distance.repeat, e.event.distance.repeat); diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index c86255f6d4a..831b231ff5f 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -1235,6 +1235,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e) case SMART_ACTION_ADD_GO_FLAG: case SMART_ACTION_REMOVE_GO_FLAG: case SMART_ACTION_SUMMON_CREATURE_GROUP: + case SMART_ACTION_RISE_UP: break; default: TC_LOG_ERROR("sql.sql", "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry " SI64FMTD " SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id); diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 66829db812f..b33077be9dd 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -540,8 +540,9 @@ enum SMART_ACTION SMART_ACTION_GAME_EVENT_STOP = 111, // GameEventId SMART_ACTION_GAME_EVENT_START = 112, // GameEventId SMART_ACTION_START_CLOSEST_WAYPOINT = 113, // wp1, wp2, wp3, wp4, wp5, wp6, wp7 + SMART_ACTION_RISE_UP = 114, // distance - SMART_ACTION_END = 114 + SMART_ACTION_END = 115 }; struct SmartAction diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp index 82c8ced3801..e31b9739654 100644 --- a/src/server/game/Calendar/CalendarMgr.cpp +++ b/src/server/game/Calendar/CalendarMgr.cpp @@ -22,6 +22,7 @@ #include "GuildMgr.h" #include "ObjectAccessor.h" #include "Opcodes.h" +#include "CalendarPackets.h" CalendarInvite::~CalendarInvite() { @@ -51,30 +52,30 @@ void CalendarMgr::LoadFromDB() _maxEventId = 0; _maxInviteId = 0; - // 0 1 2 3 4 5 6 7 8 - if (QueryResult result = CharacterDatabase.Query("SELECT id, creator, title, description, type, dungeon, eventtime, flags, time2 FROM calendar_events")) + // 0 1 2 3 4 5 6 7 8 + if (QueryResult result = CharacterDatabase.Query("SELECT EventID, Owner, Title, Description, EventType, TextureID, Date, Flags, LockDate FROM calendar_events")) do { Field* fields = result->Fetch(); - uint64 eventId = fields[0].GetUInt64(); - ObjectGuid creatorGUID = ObjectGuid::Create<HighGuid::Player>(fields[1].GetUInt64()); + uint64 eventID = fields[0].GetUInt64(); + ObjectGuid ownerGUID = ObjectGuid::Create<HighGuid::Player>(fields[1].GetUInt64()); std::string title = fields[2].GetString(); std::string description = fields[3].GetString(); CalendarEventType type = CalendarEventType(fields[4].GetUInt8()); - int32 dungeonId = fields[5].GetInt32(); - uint32 eventTime = fields[6].GetUInt32(); + int32 textureID = fields[5].GetInt32(); + uint32 date = fields[6].GetUInt32(); uint32 flags = fields[7].GetUInt32(); - uint32 timezoneTime = fields[8].GetUInt32(); - ObjectGuid::LowType guildId = UI64LIT(0); + uint32 lockDate = fields[8].GetUInt32(); + ObjectGuid::LowType guildID = UI64LIT(0); if (flags & CALENDAR_FLAG_GUILD_EVENT || flags & CALENDAR_FLAG_WITHOUT_INVITES) - guildId = Player::GetGuildIdFromDB(creatorGUID); + guildID = Player::GetGuildIdFromDB(ownerGUID); - CalendarEvent* calendarEvent = new CalendarEvent(eventId, creatorGUID, guildId, type, dungeonId, time_t(eventTime), flags, time_t(timezoneTime), title, description); + CalendarEvent* calendarEvent = new CalendarEvent(eventID, ownerGUID, guildID, type, textureID, time_t(date), flags, title, description, time_t(lockDate)); _events.insert(calendarEvent); - _maxEventId = std::max(_maxEventId, eventId); + _maxEventId = std::max(_maxEventId, eventID); ++count; } @@ -83,8 +84,8 @@ void CalendarMgr::LoadFromDB() TC_LOG_INFO("server.loading", ">> Loaded %u calendar events", count); count = 0; - // 0 1 2 3 4 5 6 7 - if (QueryResult result = CharacterDatabase.Query("SELECT id, event, invitee, sender, status, statustime, rank, text FROM calendar_invites")) + // 0 1 2 3 4 5 6 7 + if (QueryResult result = CharacterDatabase.Query("SELECT InviteID, EventID, Invitee, Sender, Status, ResponseTime, ModerationRank, Note FROM calendar_invites")) do { Field* fields = result->Fetch(); @@ -94,11 +95,11 @@ void CalendarMgr::LoadFromDB() ObjectGuid invitee = ObjectGuid::Create<HighGuid::Player>(fields[2].GetUInt64()); ObjectGuid senderGUID = ObjectGuid::Create<HighGuid::Player>(fields[3].GetUInt64()); CalendarInviteStatus status = CalendarInviteStatus(fields[4].GetUInt8()); - uint32 statusTime = fields[5].GetUInt32(); + uint32 responseTime = fields[5].GetUInt32(); CalendarModerationRank rank = CalendarModerationRank(fields[6].GetUInt8()); - std::string text = fields[7].GetString(); + std::string note = fields[7].GetString(); - CalendarInvite* invite = new CalendarInvite(inviteId, eventId, invitee, senderGUID, time_t(statusTime), status, rank, text); + CalendarInvite* invite = new CalendarInvite(inviteId, eventId, invitee, senderGUID, time_t(responseTime), status, rank, note); _invites[eventId].push_back(invite); _maxInviteId = std::max(_maxInviteId, inviteId); @@ -122,7 +123,7 @@ void CalendarMgr::AddEvent(CalendarEvent* calendarEvent, CalendarSendEventType s { _events.insert(calendarEvent); UpdateEvent(calendarEvent); - SendCalendarEvent(calendarEvent->GetCreatorGUID(), *calendarEvent, sendType); + SendCalendarEvent(calendarEvent->GetOwnerGUID(), *calendarEvent, sendType); } void CalendarMgr::AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite) @@ -133,10 +134,10 @@ void CalendarMgr::AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite void CalendarMgr::AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite, SQLTransaction& trans) { - if (!calendarEvent->IsGuildAnnouncement()) + if (!calendarEvent->IsGuildAnnouncement() && calendarEvent->GetOwnerGUID() != invite->GetInviteeGUID()) SendCalendarEventInvite(*invite); - if (!calendarEvent->IsGuildEvent() || invite->GetInviteeGUID() == calendarEvent->GetCreatorGUID()) + if (!calendarEvent->IsGuildEvent() || invite->GetInviteeGUID() == calendarEvent->GetOwnerGUID()) SendCalendarEventInviteAlert(*calendarEvent, *invite); if (!calendarEvent->IsGuildAnnouncement()) @@ -228,14 +229,14 @@ void CalendarMgr::UpdateEvent(CalendarEvent* calendarEvent) { PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_CALENDAR_EVENT); stmt->setUInt64(0, calendarEvent->GetEventId()); - stmt->setUInt64(1, calendarEvent->GetCreatorGUID().GetCounter()); + stmt->setUInt64(1, calendarEvent->GetOwnerGUID().GetCounter()); stmt->setString(2, calendarEvent->GetTitle()); stmt->setString(3, calendarEvent->GetDescription()); stmt->setUInt8(4, calendarEvent->GetType()); - stmt->setInt32(5, calendarEvent->GetDungeonId()); - stmt->setUInt32(6, uint32(calendarEvent->GetEventTime())); + stmt->setInt32(5, calendarEvent->GetTextureId()); + stmt->setUInt32(6, uint32(calendarEvent->GetDate())); stmt->setUInt32(7, calendarEvent->GetFlags()); - stmt->setUInt32(8, calendarEvent->GetTimeZoneTime()); // correct? + stmt->setUInt32(8, uint32(calendarEvent->GetLockDate())); CharacterDatabase.Execute(stmt); } @@ -253,16 +254,16 @@ void CalendarMgr::UpdateInvite(CalendarInvite* invite, SQLTransaction& trans) stmt->setUInt64(2, invite->GetInviteeGUID().GetCounter()); stmt->setUInt64(3, invite->GetSenderGUID().GetCounter()); stmt->setUInt8(4, invite->GetStatus()); - stmt->setUInt32(5, uint32(invite->GetStatusTime())); + stmt->setUInt32(5, uint32(invite->GetResponseTime())); stmt->setUInt8(6, invite->GetRank()); - stmt->setString(7, invite->GetText()); + stmt->setString(7, invite->GetNote()); CharacterDatabase.ExecuteOrAppend(trans, stmt); } void CalendarMgr::RemoveAllPlayerEventsAndInvites(ObjectGuid guid) { for (CalendarEventStore::const_iterator itr = _events.begin(); itr != _events.end(); ++itr) - if ((*itr)->GetCreatorGUID() == guid) + if ((*itr)->GetOwnerGUID() == guid) RemoveEvent((*itr)->GetEventId(), ObjectGuid::Empty); // don't send mail if removing a character CalendarInviteStore playerInvites = GetPlayerInvites(guid); @@ -273,7 +274,7 @@ void CalendarMgr::RemoveAllPlayerEventsAndInvites(ObjectGuid guid) void CalendarMgr::RemovePlayerGuildEventsAndSignups(ObjectGuid guid, ObjectGuid::LowType guildId) { for (CalendarEventStore::const_iterator itr = _events.begin(); itr != _events.end(); ++itr) - if ((*itr)->GetCreatorGUID() == guid && ((*itr)->IsGuildEvent() || (*itr)->IsGuildAnnouncement())) + if ((*itr)->GetOwnerGUID() == guid && ((*itr)->IsGuildEvent() || (*itr)->IsGuildAnnouncement())) RemoveEvent((*itr)->GetEventId(), guid); CalendarInviteStore playerInvites = GetPlayerInvites(guid); @@ -411,7 +412,7 @@ std::string CalendarEvent::BuildCalendarMailBody() const std::ostringstream strm; // we are supposed to send PackedTime so i used WorldPacket to pack it - data.AppendPackedTime(_eventTime); + data.AppendPackedTime(_date); data >> time; strm << time; return strm.str(); @@ -420,130 +421,123 @@ std::string CalendarEvent::BuildCalendarMailBody() const void CalendarMgr::SendCalendarEventInvite(CalendarInvite const& invite) { CalendarEvent* calendarEvent = GetEvent(invite.GetEventId()); - time_t statusTime = invite.GetStatusTime(); - bool hasStatusTime = statusTime != 946684800; // 01/01/2000 00:00:00 ObjectGuid invitee = invite.GetInviteeGUID(); Player* player = ObjectAccessor::FindConnectedPlayer(invitee); uint8 level = player ? player->getLevel() : Player::GetLevelFromDB(invitee); - WorldPacket data(SMSG_CALENDAR_EVENT_INVITE, 8 + 8 + 8 + 1 + 1 + 1 + (statusTime ? 4 : 0) + 1); - data << invitee; - data << uint64(invite.GetEventId()); - data << uint64(invite.GetInviteId()); - data << uint8(level); - data << uint8(invite.GetStatus()); - data << uint8(hasStatusTime); - if (hasStatusTime) - data.AppendPackedTime(statusTime); - data << uint8(invite.GetSenderGUID() != invite.GetInviteeGUID()); // false only if the invite is sign-up + WorldPackets::Calendar::SCalendarEventInvite packet; + packet.EventID = calendarEvent ? calendarEvent->GetEventId() : 0; + packet.InviteGuid = invitee; + packet.InviteID = calendarEvent ? invite.GetInviteId() : 0; + packet.Level = level; + packet.ResponseTime = invite.GetResponseTime(); + packet.Status = invite.GetStatus(); + packet.Type = calendarEvent ? calendarEvent->IsGuildEvent() : 0; // Correct ? + packet.ClearPending = calendarEvent ? !calendarEvent->IsGuildEvent() : true; // Correct ? if (!calendarEvent) // Pre-invite { if (Player* playerSender = ObjectAccessor::FindConnectedPlayer(invite.GetSenderGUID())) - playerSender->SendDirectMessage(&data); + playerSender->SendDirectMessage(packet.Write()); } else { - if (calendarEvent->GetCreatorGUID() != invite.GetInviteeGUID()) // correct? - SendPacketToAllEventRelatives(data, *calendarEvent); + if (calendarEvent->GetOwnerGUID() != invite.GetInviteeGUID()) // correct? + SendPacketToAllEventRelatives(packet.Write(), *calendarEvent); } } -void CalendarMgr::SendCalendarEventUpdateAlert(CalendarEvent const& calendarEvent, time_t oldEventTime) +void CalendarMgr::SendCalendarEventUpdateAlert(CalendarEvent const& calendarEvent, time_t originalDate) { - WorldPacket data(SMSG_CALENDAR_EVENT_UPDATED_ALERT, 1 + 8 + 4 + 4 + 4 + 1 + 4 + - calendarEvent.GetTitle().size() + calendarEvent.GetDescription().size() + 1 + 4 + 4); - data << uint8(1); // unk - data << uint64(calendarEvent.GetEventId()); - data.AppendPackedTime(oldEventTime); - data << uint32(calendarEvent.GetFlags()); - data.AppendPackedTime(calendarEvent.GetEventTime()); - data << uint8(calendarEvent.GetType()); - data << int32(calendarEvent.GetDungeonId()); - data << calendarEvent.GetTitle(); - data << calendarEvent.GetDescription(); - data << uint8(CALENDAR_REPEAT_NEVER); // repeatable - data << uint32(CALENDAR_MAX_INVITES); - data << uint32(0); // unk + WorldPackets::Calendar::CalendarEventUpdatedAlert packet; + packet.ClearPending = true; // FIXME + packet.Date = calendarEvent.GetDate(); + packet.Description = calendarEvent.GetDescription(); + packet.EventID = calendarEvent.GetEventId(); + packet.EventName = calendarEvent.GetTitle(); + packet.EventType = calendarEvent.GetType(); + packet.Flags = calendarEvent.GetFlags(); + packet.LockDate = calendarEvent.GetLockDate(); // Always 0 ? + packet.OriginalDate = originalDate; + packet.TextureID = calendarEvent.GetTextureId(); - SendPacketToAllEventRelatives(data, calendarEvent); + SendPacketToAllEventRelatives(packet.Write(), calendarEvent); } void CalendarMgr::SendCalendarEventStatus(CalendarEvent const& calendarEvent, CalendarInvite const& invite) { - WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_STATUS, 8 + 8 + 4 + 4 + 1 + 1 + 4); - data << invite.GetInviteeGUID(); - data << uint64(calendarEvent.GetEventId()); - data.AppendPackedTime(calendarEvent.GetEventTime()); - data << uint32(calendarEvent.GetFlags()); - data << uint8(invite.GetStatus()); - data << uint8(invite.GetRank()); - data.AppendPackedTime(invite.GetStatusTime()); + WorldPackets::Calendar::CalendarEventInviteStatus packet; + packet.ClearPending = true; // FIXME + packet.Date = calendarEvent.GetDate(); + packet.EventID = calendarEvent.GetEventId(); + packet.Flags = calendarEvent.GetFlags(); + packet.InviteGuid = invite.GetInviteeGUID(); + packet.ResponseTime = invite.GetResponseTime(); + packet.Status = invite.GetStatus(); - SendPacketToAllEventRelatives(data, calendarEvent); + SendPacketToAllEventRelatives(packet.Write(), calendarEvent); } void CalendarMgr::SendCalendarEventRemovedAlert(CalendarEvent const& calendarEvent) { - WorldPacket data(SMSG_CALENDAR_EVENT_REMOVED_ALERT, 1 + 8 + 1); - data << uint8(1); // FIXME: If true does not SignalEvent(EVENT_CALENDAR_ACTION_PENDING) - data << uint64(calendarEvent.GetEventId()); - data.AppendPackedTime(calendarEvent.GetEventTime()); + WorldPackets::Calendar::CalendarEventRemovedAlert packet; + packet.ClearPending = true; // FIXME + packet.Date = calendarEvent.GetDate(); + packet.EventID = calendarEvent.GetEventId(); - SendPacketToAllEventRelatives(data, calendarEvent); + SendPacketToAllEventRelatives(packet.Write(), calendarEvent); } void CalendarMgr::SendCalendarEventInviteRemove(CalendarEvent const& calendarEvent, CalendarInvite const& invite, uint32 flags) { - WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_REMOVED, 8 + 4 + 4 + 1); - data << invite.GetInviteeGUID(); - data << uint64(invite.GetEventId()); - data << uint32(flags); - data << uint8(1); // FIXME + WorldPackets::Calendar::CalendarEventInviteRemoved packet; + packet.ClearPending = true; // FIXME + packet.EventID = calendarEvent.GetEventId(); + packet.Flags = flags; + packet.InviteGuid = invite.GetInviteeGUID(); - SendPacketToAllEventRelatives(data, calendarEvent); + SendPacketToAllEventRelatives(packet.Write(), calendarEvent); } void CalendarMgr::SendCalendarEventModeratorStatusAlert(CalendarEvent const& calendarEvent, CalendarInvite const& invite) { - WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS, 8 + 8 + 1 + 1); - data << invite.GetInviteeGUID(); - data << uint64(invite.GetEventId()); - data << uint8(invite.GetRank()); - data << uint8(1); // Unk boolean - Display to client? + WorldPackets::Calendar::CalendarEventInviteModeratorStatus packet; + packet.ClearPending = true; // FIXME + packet.EventID = calendarEvent.GetEventId(); + packet.InviteGuid = invite.GetInviteeGUID(); + packet.Status = invite.GetStatus(); - SendPacketToAllEventRelatives(data, calendarEvent); + SendPacketToAllEventRelatives(packet.Write(), calendarEvent); } void CalendarMgr::SendCalendarEventInviteAlert(CalendarEvent const& calendarEvent, CalendarInvite const& invite) { - WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_ALERT); - data << uint64(calendarEvent.GetEventId()); - data << calendarEvent.GetTitle(); - data.AppendPackedTime(calendarEvent.GetEventTime()); - data << uint32(calendarEvent.GetFlags()); - data << uint32(calendarEvent.GetType()); - data << int32(calendarEvent.GetDungeonId()); - data << uint64(invite.GetInviteId()); + WorldPackets::Calendar::CalendarEventInviteAlert packet; + packet.Date = calendarEvent.GetDate(); + packet.EventID = calendarEvent.GetEventId(); + packet.EventName = calendarEvent.GetTitle(); + packet.EventType = calendarEvent.GetType(); + packet.Flags = calendarEvent.GetFlags(); + packet.InviteID = invite.GetInviteId(); + packet.InvitedByGuid = invite.GetSenderGUID(); + packet.ModeratorStatus = invite.GetRank(); + packet.OwnerGuid = calendarEvent.GetOwnerGUID(); + packet.Status = invite.GetStatus(); + packet.TextureID = calendarEvent.GetTextureId(); Guild* guild = sGuildMgr->GetGuildById(calendarEvent.GetGuildId()); - data << (guild ? guild->GetGUID() : ObjectGuid::Empty); - - data << uint8(invite.GetStatus()); - data << uint8(invite.GetRank()); - data << calendarEvent.GetCreatorGUID(); - data << invite.GetSenderGUID(); + packet.EventGuildID = guild ? guild->GetGUID() : ObjectGuid::Empty; if (calendarEvent.IsGuildEvent() || calendarEvent.IsGuildAnnouncement()) { if (guild) - guild->BroadcastPacket(&data); + guild->BroadcastPacket(packet.Write()); } else if (Player* player = ObjectAccessor::FindConnectedPlayer(invite.GetInviteeGUID())) - player->SendDirectMessage(&data); + player->SendDirectMessage(packet.Write()); } void CalendarMgr::SendCalendarEvent(ObjectGuid guid, CalendarEvent const& calendarEvent, CalendarSendEventType sendType) @@ -554,105 +548,99 @@ void CalendarMgr::SendCalendarEvent(ObjectGuid guid, CalendarEvent const& calend CalendarInviteStore const& eventInviteeList = _invites[calendarEvent.GetEventId()]; - WorldPacket data(SMSG_CALENDAR_SEND_EVENT, 60 + eventInviteeList.size() * 32); - data << uint8(sendType); - data << calendarEvent.GetCreatorGUID(); - data << uint64(calendarEvent.GetEventId()); - data << calendarEvent.GetTitle(); - data << calendarEvent.GetDescription(); - data << uint8(calendarEvent.GetType()); - data << uint8(CALENDAR_REPEAT_NEVER); // repeatable - data << uint32(CALENDAR_MAX_INVITES); - data << int32(calendarEvent.GetDungeonId()); - data << uint32(calendarEvent.GetFlags()); - data.AppendPackedTime(calendarEvent.GetEventTime()); - data.AppendPackedTime(calendarEvent.GetTimeZoneTime()); + WorldPackets::Calendar::CalendarSendEvent packet; + packet.Date = calendarEvent.GetDate(); + packet.Description = calendarEvent.GetDescription(); + packet.EventID = calendarEvent.GetEventId(); + packet.EventName = calendarEvent.GetTitle(); + packet.EventType = sendType; + packet.Flags = calendarEvent.GetFlags(); + packet.GetEventType = calendarEvent.GetType(); + packet.LockDate = calendarEvent.GetLockDate(); // Always 0 ? + packet.OwnerGuid = calendarEvent.GetOwnerGUID(); + packet.TextureID = calendarEvent.GetTextureId(); Guild* guild = sGuildMgr->GetGuildById(calendarEvent.GetGuildId()); - data << (guild ? guild->GetGUID() : ObjectGuid::Empty); + packet.EventGuildID = (guild ? guild->GetGUID() : ObjectGuid::Empty); - data << uint32(eventInviteeList.size()); - for (CalendarInviteStore::const_iterator itr = eventInviteeList.begin(); itr != eventInviteeList.end(); ++itr) + for (auto const& calendarInvite : eventInviteeList) { - CalendarInvite const* calendarInvite = (*itr); ObjectGuid inviteeGuid = calendarInvite->GetInviteeGUID(); Player* invitee = ObjectAccessor::FindPlayer(inviteeGuid); uint8 inviteeLevel = invitee ? invitee->getLevel() : Player::GetLevelFromDB(inviteeGuid); ObjectGuid::LowType inviteeGuildId = invitee ? invitee->GetGuildId() : Player::GetGuildIdFromDB(inviteeGuid); - data << inviteeGuid; - data << uint8(inviteeLevel); - data << uint8(calendarInvite->GetStatus()); - data << uint8(calendarInvite->GetRank()); - data << uint8(calendarEvent.IsGuildEvent() && calendarEvent.GetGuildId() == inviteeGuildId); - data << uint64(calendarInvite->GetInviteId()); - data.AppendPackedTime(calendarInvite->GetStatusTime()); - data << calendarInvite->GetText(); + WorldPackets::Calendar::CalendarEventInviteInfo inviteInfo; + inviteInfo.Guid = inviteeGuid; + inviteInfo.Level = inviteeLevel; + inviteInfo.Status = calendarInvite->GetStatus(); + inviteInfo.Moderator = calendarInvite->GetRank(); + inviteInfo.InviteType = calendarEvent.IsGuildEvent() && calendarEvent.GetGuildId() == inviteeGuildId; + inviteInfo.InviteID = calendarInvite->GetInviteId(); + inviteInfo.ResponseTime = calendarInvite->GetResponseTime(); + inviteInfo.Notes = calendarInvite->GetNote(); + + packet.Invites.push_back(inviteInfo); } - player->SendDirectMessage(&data); + player->SendDirectMessage(packet.Write()); } void CalendarMgr::SendCalendarEventInviteRemoveAlert(ObjectGuid guid, CalendarEvent const& calendarEvent, CalendarInviteStatus status) { if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) { - WorldPacket data(SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT, 8 + 4 + 4 + 1); - data << uint64(calendarEvent.GetEventId()); - data.AppendPackedTime(calendarEvent.GetEventTime()); - data << uint32(calendarEvent.GetFlags()); - data << uint8(status); + WorldPackets::Calendar::CalendarEventInviteRemovedAlert packet; + packet.Date = calendarEvent.GetDate(); + packet.EventID = calendarEvent.GetEventId(); + packet.Flags = calendarEvent.GetFlags(); + packet.Status = status; - player->SendDirectMessage(&data); + player->SendDirectMessage(packet.Write()); } } void CalendarMgr::SendCalendarClearPendingAction(ObjectGuid guid) { if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) - { - WorldPacket data(SMSG_CALENDAR_CLEAR_PENDING_ACTION, 0); - player->SendDirectMessage(&data); - } + player->SendDirectMessage(WorldPackets::Calendar::CalendarClearPendingAction().Write()); } void CalendarMgr::SendCalendarCommandResult(ObjectGuid guid, CalendarError err, char const* param /*= NULL*/) { if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) { - WorldPacket data(SMSG_CALENDAR_COMMAND_RESULT, 0); - data << uint32(0); - data << uint8(0); + WorldPackets::Calendar::CalendarCommandResult packet; + packet.Command = 1; // FIXME + packet.Result = err; + switch (err) { case CALENDAR_ERROR_OTHER_INVITES_EXCEEDED: case CALENDAR_ERROR_ALREADY_INVITED_TO_EVENT_S: case CALENDAR_ERROR_IGNORING_YOU_S: - data << param; + packet.Name = param; break; default: - data << uint8(0); break; } - data << uint32(err); - - player->SendDirectMessage(&data); + player->SendDirectMessage(packet.Write()); } } -void CalendarMgr::SendPacketToAllEventRelatives(WorldPacket& packet, CalendarEvent const& calendarEvent) +void CalendarMgr::SendPacketToAllEventRelatives(WorldPacket const* packet, CalendarEvent const& calendarEvent) { // Send packet to all guild members if (calendarEvent.IsGuildEvent() || calendarEvent.IsGuildAnnouncement()) if (Guild* guild = sGuildMgr->GetGuildById(calendarEvent.GetGuildId())) - guild->BroadcastPacket(&packet); + guild->BroadcastPacket(packet); // Send packet to all invitees if event is non-guild, in other case only to non-guild invitees (packet was broadcasted for them) CalendarInviteStore invites = _invites[calendarEvent.GetEventId()]; for (CalendarInviteStore::iterator itr = invites.begin(); itr != invites.end(); ++itr) if (Player* player = ObjectAccessor::FindConnectedPlayer((*itr)->GetInviteeGUID())) if (!calendarEvent.IsGuildEvent() || (calendarEvent.IsGuildEvent() && player->GetGuildId() != calendarEvent.GetGuildId())) - player->SendDirectMessage(&packet); + player->SendDirectMessage(packet); } diff --git a/src/server/game/Calendar/CalendarMgr.h b/src/server/game/Calendar/CalendarMgr.h index 8122f41c0f5..5449c9c739f 100644 --- a/src/server/game/Calendar/CalendarMgr.h +++ b/src/server/game/Calendar/CalendarMgr.h @@ -123,9 +123,10 @@ enum CalendarError CALENDAR_ERROR_NO_MODERATOR = 40 }; -#define CALENDAR_MAX_EVENTS 30 -#define CALENDAR_MAX_GUILD_EVENTS 100 -#define CALENDAR_MAX_INVITES 100 +#define CALENDAR_MAX_EVENTS 30 +#define CALENDAR_MAX_GUILD_EVENTS 100 +#define CALENDAR_MAX_INVITES 100 +#define CALENDAR_DEFAULT_RESPONSE_TIME 946684800 // 01/01/2000 00:00:00 struct CalendarInvite { @@ -136,19 +137,19 @@ struct CalendarInvite _eventId = eventId; _invitee = calendarInvite.GetInviteeGUID(); _senderGUID = calendarInvite.GetSenderGUID(); - _statusTime = calendarInvite.GetStatusTime(); + _responseTime = calendarInvite.GetResponseTime(); _status = calendarInvite.GetStatus(); _rank = calendarInvite.GetRank(); - _text = calendarInvite.GetText(); + _note = calendarInvite.GetNote(); } - CalendarInvite() : _inviteId(1), _eventId(0), _invitee(), _senderGUID(), _statusTime(time(NULL)), - _status(CALENDAR_STATUS_INVITED), _rank(CALENDAR_RANK_PLAYER), _text("") { } + CalendarInvite() : _inviteId(1), _eventId(0), _invitee(), _senderGUID(), _responseTime(0), + _status(CALENDAR_STATUS_INVITED), _rank(CALENDAR_RANK_PLAYER), _note("") { } - CalendarInvite(uint64 inviteId, uint64 eventId, ObjectGuid invitee, ObjectGuid senderGUID, time_t statusTime, - CalendarInviteStatus status, CalendarModerationRank rank, std::string text) : - _inviteId(inviteId), _eventId(eventId), _invitee(invitee), _senderGUID(senderGUID), _statusTime(statusTime), - _status(status), _rank(rank), _text(text) { } + CalendarInvite(uint64 inviteId, uint64 eventId, ObjectGuid invitee, ObjectGuid senderGUID, time_t responseTime, + CalendarInviteStatus status, CalendarModerationRank rank, std::string note) : + _inviteId(inviteId), _eventId(eventId), _invitee(invitee), _senderGUID(senderGUID), _responseTime(responseTime), + _status(status), _rank(rank), _note(note) { } ~CalendarInvite(); @@ -164,11 +165,11 @@ struct CalendarInvite void SetInvitee(ObjectGuid guid) { _invitee = guid; } ObjectGuid GetInviteeGUID() const { return _invitee; } - void SetStatusTime(time_t statusTime) { _statusTime = statusTime; } - time_t GetStatusTime() const { return _statusTime; } + void SetResponseTime(time_t responseTime) { _responseTime = responseTime; } + time_t GetResponseTime() const { return _responseTime; } - void SetText(std::string const& text) { _text = text; } - std::string GetText() const { return _text; } + void SetNote(std::string const& note) { _note = note; } + std::string GetNote() const { return _note; } void SetStatus(CalendarInviteStatus status) { _status = status; } CalendarInviteStatus GetStatus() const { return _status; } @@ -181,10 +182,10 @@ struct CalendarInvite uint64 _eventId; ObjectGuid _invitee; ObjectGuid _senderGUID; - time_t _statusTime; + time_t _responseTime; CalendarInviteStatus _status; CalendarModerationRank _rank; - std::string _text; + std::string _note; }; struct CalendarEvent @@ -193,36 +194,35 @@ struct CalendarEvent CalendarEvent(CalendarEvent const& calendarEvent, uint64 eventId) { _eventId = eventId; - _creatorGUID = calendarEvent.GetCreatorGUID(); - _guildId = calendarEvent.GetGuildId(); - _type = calendarEvent.GetType(); - _dungeonId = calendarEvent.GetDungeonId(); - _eventTime = calendarEvent.GetEventTime(); + _ownerGUID = calendarEvent.GetOwnerGUID(); + _eventGuildId = calendarEvent.GetGuildId(); + _eventType = calendarEvent.GetType(); + _textureId = calendarEvent.GetTextureId(); + _date = calendarEvent.GetDate(); _flags = calendarEvent.GetFlags(); - _timezoneTime = calendarEvent.GetTimeZoneTime(); _title = calendarEvent.GetTitle(); _description = calendarEvent.GetDescription(); + _lockDate = calendarEvent.GetLockDate(); } - CalendarEvent(uint64 eventId, ObjectGuid creatorGUID, ObjectGuid::LowType guildId, CalendarEventType type, int32 dungeonId, - time_t eventTime, uint32 flags, time_t timezoneTime, std::string title, std::string description) : - _eventId(eventId), _creatorGUID(creatorGUID), _guildId(guildId), _type(type), _dungeonId(dungeonId), - _eventTime(eventTime), _flags(flags), _timezoneTime(timezoneTime), _title(title), - _description(description) { } + CalendarEvent(uint64 eventId, ObjectGuid ownerGUID, ObjectGuid::LowType guildId, CalendarEventType type, int32 textureId, + time_t date, uint32 flags, std::string title, std::string description, time_t lockDate) : + _eventId(eventId), _ownerGUID(ownerGUID), _eventGuildId(guildId), _eventType(type), _textureId(textureId), + _date(date), _flags(flags), _title(title), _description(description), _lockDate(lockDate) { } - CalendarEvent() : _eventId(1), _creatorGUID(), _guildId(UI64LIT(0)), _type(CALENDAR_TYPE_OTHER), _dungeonId(-1), _eventTime(0), - _flags(0), _timezoneTime(0), _title(""), _description("") { } + CalendarEvent() : _eventId(1), _ownerGUID(), _eventGuildId(UI64LIT(0)), _eventType(CALENDAR_TYPE_OTHER), _textureId(-1), _date(0), + _flags(0), _title(""), _description(""), _lockDate(0) { } ~CalendarEvent(); void SetEventId(uint64 eventId) { _eventId = eventId; } uint64 GetEventId() const { return _eventId; } - void SetCreatorGUID(ObjectGuid guid) { _creatorGUID = guid; } - ObjectGuid GetCreatorGUID() const { return _creatorGUID; } + void SetOwnerGUID(ObjectGuid guid) { _ownerGUID = guid; } + ObjectGuid GetOwnerGUID() const { return _ownerGUID; } - void SetGuildId(ObjectGuid::LowType guildId) { _guildId = guildId; } - ObjectGuid::LowType GetGuildId() const { return _guildId; } + void SetGuildId(ObjectGuid::LowType guildId) { _eventGuildId = guildId; } + ObjectGuid::LowType GetGuildId() const { return _eventGuildId; } void SetTitle(std::string const& title) { _title = title; } std::string GetTitle() const { return _title; } @@ -230,42 +230,43 @@ struct CalendarEvent void SetDescription(std::string const& description) { _description = description; } std::string GetDescription() const { return _description; } - void SetType(CalendarEventType type) { _type = type; } - CalendarEventType GetType() const { return _type; } + void SetType(CalendarEventType eventType) { _eventType = eventType; } + CalendarEventType GetType() const { return _eventType; } - void SetDungeonId(int32 dungeonId) { _dungeonId = dungeonId; } - int32 GetDungeonId() const { return _dungeonId; } + void SetTextureId(int32 textureId) { _textureId = textureId; } + int32 GetTextureId() const { return _textureId; } - void SetEventTime(time_t eventTime) { _eventTime = eventTime; } - time_t GetEventTime() const { return _eventTime; } + void SetDate(time_t date) { _date = date; } + time_t GetDate() const { return _date; } void SetFlags(uint32 flags) { _flags = flags; } uint32 GetFlags() const { return _flags; } - void SetTimeZoneTime(time_t timezoneTime) { _timezoneTime = timezoneTime; } - time_t GetTimeZoneTime() const { return _timezoneTime; } - bool IsGuildEvent() const { return (_flags & CALENDAR_FLAG_GUILD_EVENT) != 0; } bool IsGuildAnnouncement() const { return (_flags & CALENDAR_FLAG_WITHOUT_INVITES) != 0; } + bool IsLocked() const { return (_flags & CALENDAR_FLAG_INVITES_LOCKED) != 0; } + + void SetLockDate(time_t lockDate) { _lockDate = lockDate; } + time_t GetLockDate() const { return _lockDate; } std::string BuildCalendarMailSubject(ObjectGuid remover) const; std::string BuildCalendarMailBody() const; private: uint64 _eventId; - ObjectGuid _creatorGUID; - ObjectGuid::LowType _guildId; - CalendarEventType _type; - int32 _dungeonId; - time_t _eventTime; + ObjectGuid _ownerGUID; + ObjectGuid::LowType _eventGuildId; + CalendarEventType _eventType; + int32 _textureId; + time_t _date; uint32 _flags; - time_t _timezoneTime; std::string _title; std::string _description; + time_t _lockDate; }; typedef std::vector<CalendarInvite*> CalendarInviteStore; typedef std::set<CalendarEvent*> CalendarEventStore; -typedef std::map<uint64 /* eventId */, CalendarInviteStore > CalendarEventInviteStore; +typedef std::map<uint64 /* eventID */, CalendarInviteStore > CalendarEventInviteStore; class CalendarMgr { @@ -324,14 +325,14 @@ class CalendarMgr void SendCalendarEventInviteAlert(CalendarEvent const& calendarEvent, CalendarInvite const& invite); void SendCalendarEventInviteRemove(CalendarEvent const& calendarEvent, CalendarInvite const& invite, uint32 flags); void SendCalendarEventInviteRemoveAlert(ObjectGuid guid, CalendarEvent const& calendarEvent, CalendarInviteStatus status); - void SendCalendarEventUpdateAlert(CalendarEvent const& calendarEvent, time_t oldEventTime); + void SendCalendarEventUpdateAlert(CalendarEvent const& calendarEvent, time_t originalDate); void SendCalendarEventStatus(CalendarEvent const& calendarEvent, CalendarInvite const& invite); void SendCalendarEventRemovedAlert(CalendarEvent const& calendarEvent); void SendCalendarEventModeratorStatusAlert(CalendarEvent const& calendarEvent, CalendarInvite const& invite); void SendCalendarClearPendingAction(ObjectGuid guid); void SendCalendarCommandResult(ObjectGuid guid, CalendarError err, char const* param = NULL); - void SendPacketToAllEventRelatives(WorldPacket& packet, CalendarEvent const& calendarEvent); + void SendPacketToAllEventRelatives(WorldPacket const* packet, CalendarEvent const& calendarEvent); }; #define sCalendarMgr CalendarMgr::instance() diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 0683725cab8..39c32e602da 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -254,8 +254,9 @@ typedef std::unordered_map<uint16, CreatureBaseStats> CreatureBaseStatsContainer struct CreatureLocale { StringVector Name; - StringVector FemaleName; - StringVector SubName; + StringVector NameAlt; + StringVector Title; + StringVector TitleAlt; }; struct GossipMenuItemsLocale diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 3e89952c2e4..5b6003bf166 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -99,6 +99,7 @@ #include "WorldPacket.h" #include "WorldSession.h" #include "WorldStatePackets.h" +#include "DBCStructure.h" #define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS) @@ -651,7 +652,7 @@ void KillRewarder::Reward() } -Player::Player(WorldSession* session): Unit(true) +Player::Player(WorldSession* session) : Unit(true) { m_speakTime = 0; m_speakCount = 0; @@ -891,6 +892,8 @@ Player::Player(WorldSession* session): Unit(true) for (uint8 i = 0; i < MAX_CUF_PROFILES; ++i) _CUFProfiles[i] = nullptr; + + _advancedCombatLoggingEnabled = false; } Player::~Player() @@ -1305,10 +1308,12 @@ uint32 Player::EnvironmentalDamage(EnviromentalDamage type, uint32 damage) packet.Amount = damage; packet.Absorbed = absorb; packet.Resisted = resist; - SendMessageToSet(packet.Write(), true); uint32 final_damage = DealDamage(this, damage, NULL, SELF_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); + packet.LogData.Initialize(this); + SendCombatLogMessage(&packet); + if (!IsAlive()) { if (type == DAMAGE_FALL) // DealDamage not apply item durability loss at self damage @@ -3657,7 +3662,8 @@ bool Player::AddSpell(uint32 spellId, bool active, bool learning, bool dependent if (!pSkill) continue; - if ((_spell_idx->second->AquireMethod == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN && !HasSkill(pSkill->ID))) + // Runeforging special case + if ((_spell_idx->second->AquireMethod == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN && !HasSkill(pSkill->ID)) || ((pSkill->ID == SKILL_RUNEFORGING_2) && _spell_idx->second->TrivialSkillLineRankHigh == 0)) if (SkillRaceClassInfoEntry const* rcInfo = GetSkillRaceClassInfo(pSkill->ID, getRace(), getClass())) LearnDefaultSkill(rcInfo); } @@ -8844,10 +8850,9 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type) packet.Owner = loot->GetGUID(); packet.LootMethod = _lootMethod; packet.AcquireReason = loot_type; - if (!GetGroup()) + if (GetGroup() && (_lootMethod == GROUP_LOOT || _lootMethod == PERSONAL_LOOT)) /// @TODO: Need more research packet.PersonalLooting = true; - else - packet.PersonalLooting = false; + packet.Acquired = true; // false == No Loot (this too^^) loot->BuildLootResponse(packet, this, permission); SendDirectMessage(packet.Write()); @@ -14959,8 +14964,8 @@ bool Player::SatisfyQuestSkill(Quest const* qInfo, bool msg) const { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestSkill: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required skill value.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestSkill: Sent QUEST_ERR_NONE (questId: %u) because player does not have required skill value.", qInfo->GetQuestId()); } return false; @@ -14975,8 +14980,8 @@ bool Player::SatisfyQuestLevel(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_QUEST_FAILED_LOW_LEVEL); - TC_LOG_DEBUG("misc", "SatisfyQuestLevel: Sent INVALIDREASON_QUEST_FAILED_LOW_LEVEL (questId: %u) because player does not have required (min) level.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_FAILED_LOW_LEVEL); + TC_LOG_DEBUG("misc", "SatisfyQuestLevel: Sent QUEST_ERR_FAILED_LOW_LEVEL (questId: %u) because player does not have required (min) level.", qInfo->GetQuestId()); } return false; } @@ -14984,8 +14989,8 @@ bool Player::SatisfyQuestLevel(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); // There doesn't seem to be a specific response for too high player level - TC_LOG_DEBUG("misc", "SatisfyQuestLevel: Sent INVALIDREASON_QUEST_FAILED_LOW_LEVEL (questId: %u) because player does not have required (max) level.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); // There doesn't seem to be a specific response for too high player level + TC_LOG_DEBUG("misc", "SatisfyQuestLevel: Sent QUEST_ERR_FAILED_LOW_LEVEL (questId: %u) because player does not have required (max) level.", qInfo->GetQuestId()); } return false; } @@ -15045,8 +15050,8 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestPreviousQuest: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required quest (1).", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestPreviousQuest: Sent QUEST_ERR_NONE (questId: %u) because player does not have required quest (1).", qInfo->GetQuestId()); } return false; } @@ -15078,8 +15083,8 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestPreviousQuest: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required quest (2).", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestPreviousQuest: Sent QUEST_ERR_NONE (questId: %u) because player does not have required quest (2).", qInfo->GetQuestId()); } return false; @@ -15094,8 +15099,8 @@ bool Player::SatisfyQuestPreviousQuest(Quest const* qInfo, bool msg) // and negative prev. quests in non-active state if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestPreviousQuest: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required quest (3).", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestPreviousQuest: Sent QUEST_ERR_NONE (questId: %u) because player does not have required quest (3).", qInfo->GetQuestId()); } return false; @@ -15112,8 +15117,8 @@ bool Player::SatisfyQuestClass(Quest const* qInfo, bool msg) const { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestClass: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required class.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestClass: Sent QUEST_ERR_NONE (questId: %u) because player does not have required class.", qInfo->GetQuestId()); } return false; @@ -15131,8 +15136,8 @@ bool Player::SatisfyQuestRace(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_QUEST_FAILED_WRONG_RACE); - TC_LOG_DEBUG("misc", "SatisfyQuestRace: Sent INVALIDREASON_QUEST_FAILED_WRONG_RACE (questId: %u) because player does not have required race.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_FAILED_WRONG_RACE); + TC_LOG_DEBUG("misc", "SatisfyQuestRace: Sent QUEST_ERR_FAILED_WRONG_RACE (questId: %u) because player does not have required race.", qInfo->GetQuestId()); } return false; @@ -15147,8 +15152,8 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestReputation: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required reputation (min).", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestReputation: Sent QUEST_ERR_NONE (questId: %u) because player does not have required reputation (min).", qInfo->GetQuestId()); } return false; } @@ -15158,8 +15163,8 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestReputation: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required reputation (max).", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestReputation: Sent QUEST_ERR_NONE (questId: %u) because player does not have required reputation (max).", qInfo->GetQuestId()); } return false; } @@ -15172,8 +15177,8 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestReputation: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not have required reputation (ReputationObjective2).", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestReputation: Sent QUEST_ERR_NONE (questId: %u) because player does not have required reputation (ReputationObjective2).", qInfo->GetQuestId()); } return false; }**/ @@ -15187,8 +15192,8 @@ bool Player::SatisfyQuestStatus(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_QUEST_ALREADY_ON); - TC_LOG_DEBUG("misc", "SatisfyQuestStatus: Sent INVALIDREASON_QUEST_ALREADY_ON (questId: %u) because player quest status is not NONE.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_ALREADY_ON1); + TC_LOG_DEBUG("misc", "SatisfyQuestStatus: Sent QUEST_ERR_ALREADY_ON1 (questId: %u) because player quest status is not NONE.", qInfo->GetQuestId()); } return false; } @@ -15202,8 +15207,8 @@ bool Player::SatisfyQuestConditions(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestConditions: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player does not meet conditions.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestConditions: Sent QUEST_ERR_NONE (questId: %u) because player does not meet conditions.", qInfo->GetQuestId()); } TC_LOG_DEBUG("condition", "Player::SatisfyQuestConditions: conditions not met for quest %u", qInfo->GetQuestId()); return false; @@ -15217,8 +15222,8 @@ bool Player::SatisfyQuestTimed(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_QUEST_ONLY_ONE_TIMED); - TC_LOG_DEBUG("misc", "SatisfyQuestTimed: Sent INVALIDREASON_QUEST_ONLY_ONE_TIMED (questId: %u) because player is already on a timed quest.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_ONLY_ONE_TIMED); + TC_LOG_DEBUG("misc", "SatisfyQuestTimed: Sent QUEST_ERR_ONLY_ONE_TIMED (questId: %u) because player is already on a timed quest.", qInfo->GetQuestId()); } return false; } @@ -15248,8 +15253,8 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestExclusiveGroup: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player already did daily quests in exclusive group.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestExclusiveGroup: Sent QUEST_ERR_NONE (questId: %u) because player already did daily quests in exclusive group.", qInfo->GetQuestId()); } return false; @@ -15260,8 +15265,8 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestExclusiveGroup: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player already did quest in exclusive group.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestExclusiveGroup: Sent QUEST_ERR_NONE (questId: %u) because player already did quest in exclusive group.", qInfo->GetQuestId()); } return false; } @@ -15280,8 +15285,8 @@ bool Player::SatisfyQuestNextChain(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestNextChain: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player already did or started next quest in chain.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestNextChain: Sent QUEST_ERR_NONE (questId: %u) because player already did or started next quest in chain.", qInfo->GetQuestId()); } return false; } @@ -15307,8 +15312,8 @@ bool Player::SatisfyQuestPrevChain(Quest const* qInfo, bool msg) { if (msg) { - SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); - TC_LOG_DEBUG("misc", "SatisfyQuestNextChain: Sent INVALIDREASON_DONT_HAVE_REQ (questId: %u) because player already did or started next quest in chain.", qInfo->GetQuestId()); + SendCanTakeQuestResponse(QUEST_ERR_NONE); + TC_LOG_DEBUG("misc", "SatisfyQuestNextChain: Sent QUEST_ERR_NONE (questId: %u) because player already did or started next quest in chain.", qInfo->GetQuestId()); } return false; } @@ -16376,35 +16381,36 @@ void Player::SendQuestReward(Quest const* quest, uint32 XP) GetSession()->SendPacket(packet.Write()); } -void Player::SendQuestFailed(uint32 questId, InventoryResult reason) +void Player::SendQuestFailed(uint32 questID, InventoryResult reason) { - if (questId) + if (questID) { - 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); - TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUESTGIVER_QUEST_FAILED"); + WorldPackets::Quest::QuestGiverQuestFailed questGiverQuestFailed; + questGiverQuestFailed.QuestID = questID; + questGiverQuestFailed.Reason = reason; // failed reason (valid reasons: 4, 16, 50, 17, other values show default message) + GetSession()->SendPacket(questGiverQuestFailed.Write()); } } -void Player::SendQuestTimerFailed(uint32 quest_id) +void Player::SendQuestTimerFailed(uint32 questID) { - if (quest_id) + if (questID) { - WorldPacket data(SMSG_QUEST_UPDATE_FAILED_TIMER, 4); - data << uint32(quest_id); - GetSession()->SendPacket(&data); - TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUESTUPDATE_FAILEDTIMER"); + WorldPackets::Quest::QuestUpdateFailedTimer questUpdateFailedTimer; + questUpdateFailedTimer.QuestID = questID; + GetSession()->SendPacket(questUpdateFailedTimer.Write()); } } -void Player::SendCanTakeQuestResponse(QuestFailedReason msg) const +void Player::SendCanTakeQuestResponse(QuestFailedReason reason, bool sendErrorMessage /*= true*/, std::string reasonText /*= ""*/) const { - WorldPacket data(SMSG_QUEST_GIVER_INVALID_QUEST, 4); - data << uint32(msg); - GetSession()->SendPacket(&data); - TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUESTGIVER_QUEST_INVALID"); + WorldPackets::Quest::QuestGiverInvalidQuest questGiverInvalidQuest; + + questGiverInvalidQuest.Reason = reason; + questGiverInvalidQuest.SendErrorMessage = sendErrorMessage; + questGiverInvalidQuest.ReasonText = reasonText; + + GetSession()->SendPacket(questGiverInvalidQuest.Write()); } void Player::SendQuestConfirmAccept(Quest const* quest, Player* receiver) @@ -16426,19 +16432,16 @@ void Player::SendQuestConfirmAccept(Quest const* quest, Player* receiver) packet.QuestTitle = questTitle; receiver->GetSession()->SendPacket(packet.Write()); - - TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUEST_CONFIRM_ACCEPT"); } -void Player::SendPushToPartyResponse(Player* player, uint8 msg) +void Player::SendPushToPartyResponse(Player* player, QuestPushReason reason) { if (player) { - WorldPackets::Quest::QuestPushResult data; + WorldPackets::Quest::QuestPushResultResponse data; data.SenderGUID = player->GetGUID(); - data.Result = msg; // valid values: 0-8 + data.Result = reason; // valid values: 0-13 SendDirectMessage(data.Write()); - TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUEST_PUSH_RESULT"); } } @@ -16673,9 +16676,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) //"resettalents_time, talentTree, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeonDifficulty, " // 40 41 42 43 44 45 //"totalKills, todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, " - // 46 47 48 49 50 51 52 53 54 55 56 57 - //"health, power1, power2, power3, power4, power5, power6, instance_id, speccount, activespec, exploredZones, equipmentCache, " - // 58 59 60 61 62 + // 46 47 48 49 50 51 52 53 54 55 56 57 58 + //"health, power1, power2, power3, power4, power5, power6, instance_id, speccount, activespec, lootSpecId, exploredZones, equipmentCache, " + // 59 60 61 62 63 //"knownTitles, actionBars, grantableLevels, raidDifficulty, legacyRaidDifficulty FROM characters WHERE guid = '%u'", guid); PreparedQueryResult result = holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_FROM); if (!result) @@ -16745,8 +16748,8 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) SetUInt32Value(UNIT_FIELD_LEVEL, fields[6].GetUInt8()); SetUInt32Value(PLAYER_XP, fields[7].GetUInt32()); - _LoadIntoDataField(fields[56].GetCString(), PLAYER_EXPLORED_ZONES_1, PLAYER_EXPLORED_ZONES_SIZE); - _LoadIntoDataField(fields[58].GetCString(), PLAYER__FIELD_KNOWN_TITLES, KNOWN_TITLES_SIZE*2); + _LoadIntoDataField(fields[57].GetCString(), PLAYER_EXPLORED_ZONES_1, PLAYER_EXPLORED_ZONES_SIZE); + _LoadIntoDataField(fields[59].GetCString(), PLAYER__FIELD_KNOWN_TITLES, KNOWN_TITLES_SIZE*2); SetObjectScale(1.0f); SetFloatValue(UNIT_FIELD_HOVERHEIGHT, 1.0f); @@ -16780,7 +16783,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) } // set which actionbars the client has active - DO NOT REMOVE EVER AGAIN (can be changed though, if it does change fieldwise) - SetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES, fields[59].GetUInt8()); + SetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES, fields[60].GetUInt8()); InitDisplayIds(); @@ -16816,8 +16819,8 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) uint32 instanceId = fields[53].GetUInt32(); SetDungeonDifficultyID(CheckLoadedDungeonDifficultyID(Difficulty(fields[39].GetUInt8()))); - SetRaidDifficultyID(CheckLoadedRaidDifficultyID(Difficulty(fields[61].GetUInt8()))); - SetLegacyRaidDifficultyID(CheckLoadedLegacyRaidDifficultyID(Difficulty(fields[62].GetUInt8()))); + SetRaidDifficultyID(CheckLoadedRaidDifficultyID(Difficulty(fields[62].GetUInt8()))); + SetLegacyRaidDifficultyID(CheckLoadedLegacyRaidDifficultyID(Difficulty(fields[63].GetUInt8()))); std::string taxi_nodes = fields[38].GetString(); @@ -17188,8 +17191,15 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) //mails are loaded only when needed ;-) - when player in game click on mailbox. //_LoadMail(); - SetTalentGroupsCount(fields[53].GetUInt8()); - SetActiveTalentGroup(fields[54].GetUInt8()); + SetTalentGroupsCount(fields[54].GetUInt8()); + SetActiveTalentGroup(fields[55].GetUInt8()); + + uint32 lootSpecId = fields[56].GetUInt32(); + if (ChrSpecializationEntry const* chrSpec = sChrSpecializationStore.LookupEntry(lootSpecId)) + { + if (chrSpec->ClassID == getClass()) + SetLootSpecId(lootSpecId); + } // sanity check if (GetTalentGroupsCount() > MAX_TALENT_GROUPS || GetActiveTalentGroup() > MAX_TALENT_GROUP || GetTalentGroupsCount() < MIN_TALENT_GROUPS) @@ -17442,6 +17452,8 @@ bool Player::isAllowedToLoot(const Creature* creature) switch (thisGroup->GetLootMethod()) { + case PERSONAL_LOOT: /// @todo implement personal loot (http://wow.gamepedia.com/Loot#Personal_Loot) + return false; case MASTER_LOOT: case FREE_FOR_ALL: return true; @@ -18569,9 +18581,11 @@ void Player::BindToInstance() WorldPackets::Instance::InstanceSaveCreated data; data.Gm = IsGameMaster(); GetSession()->SendPacket(data.Write()); - BindToInstance(mapSave, true); - - GetSession()->SendCalendarRaidLockout(mapSave, true); + if (!IsGameMaster()) + { + BindToInstance(mapSave, true); + GetSession()->SendCalendarRaidLockout(mapSave, true); + } } void Player::SetPendingBind(uint32 instanceId, uint32 bindTimer) @@ -18930,6 +18944,8 @@ void Player::SaveToDB(bool create /*=false*/) stmt->setUInt8(index++, GetTalentGroupsCount()); stmt->setUInt8(index++, GetActiveTalentGroup()); + stmt->setUInt32(index++, GetLootSpecId()); + ss.str(""); for (uint32 i = 0; i < PLAYER_EXPLORED_ZONES_SIZE; ++i) ss << GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + i) << ' '; @@ -19067,6 +19083,8 @@ void Player::SaveToDB(bool create /*=false*/) stmt->setUInt8(index++, GetTalentGroupsCount()); stmt->setUInt8(index++, GetActiveTalentGroup()); + stmt->setUInt32(index++, GetLootSpecId()); + ss.str(""); for (uint32 i = 0; i < PLAYER_EXPLORED_ZONES_SIZE; ++i) ss << GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + i) << ' '; @@ -20071,7 +20089,7 @@ void Player::SendResetInstanceSuccess(uint32 MapId) GetSession()->SendPacket(data.Write()); } -void Player::SendResetInstanceFailed(uint32 reason, uint32 MapId) +void Player::SendResetInstanceFailed(ResetFailedReason reason, uint32 mapID) { /*reasons for instance reset failure: // 0: There are players inside the instance. @@ -20080,7 +20098,7 @@ void Player::SendResetInstanceFailed(uint32 reason, uint32 MapId) */ WorldPackets::Instance::InstanceResetFailed data; - data.MapID = MapId; + data.MapID = mapID; data.ResetFailedReason = reason; GetSession()->SendPacket(data.Write()); } @@ -21671,14 +21689,9 @@ void Player::UpdateHomebindTime(uint32 time) // GMs never get homebind timer online if (m_InstanceValid || IsGameMaster()) { - if (m_HomebindTimer) // instance valid, but timer not reset - { - // hide reminder - WorldPacket data(SMSG_RAID_GROUP_ONLY, 4+4); - data << uint32(0); - data << uint32(0); - GetSession()->SendPacket(&data); - } + if (m_HomebindTimer) // instance valid, but timer not reset + SendRaidGroupOnlyMessage(RAID_GROUP_ERR_NONE, 0); + // instance is valid, reset homebind timer m_HomebindTimer = 0; } @@ -21697,10 +21710,7 @@ void Player::UpdateHomebindTime(uint32 time) // instance is invalid, start homebind timer m_HomebindTimer = 60000; // send message to player - WorldPacket data(SMSG_RAID_GROUP_ONLY, 4+4); - data << uint32(m_HomebindTimer); - data << uint32(1); - GetSession()->SendPacket(&data); + SendRaidGroupOnlyMessage(RAID_GROUP_ERR_REQUIREMENTS_UNMATCH, m_HomebindTimer); TC_LOG_DEBUG("maps", "PLAYER: Player '%s' (%s) will be teleported to homebind in 60 seconds", GetName().c_str(), GetGUID().ToString().c_str()); } } @@ -22733,6 +22743,7 @@ void Player::ApplyEquipCooldown(Item* pItem) WorldPackets::Item::ItemCooldown data; data.ItemGuid = pItem->GetGUID(); data.SpellID = effectData->SpellID; + data.Cooldown = 30 * IN_MILLISECONDS; // Always 30secs? GetSession()->SendPacket(data.Write()); } } @@ -23621,7 +23632,7 @@ void Player::RemoveItemDependentAurasAndCasts(Item* pItem) InterruptSpell(CurrentSpellTypes(i)); } -uint32 Player::GetResurrectionSpellId() +uint32 Player::GetResurrectionSpellId() const { // search priceless resurrection possibilities uint32 prio = 0; @@ -26747,3 +26758,12 @@ void Player::SendSpellCategoryCooldowns() SendDirectMessage(cooldowns.Write()); } + +void Player::SendRaidGroupOnlyMessage(RaidGroupReason reason, int32 delay) +{ + WorldPackets::Instance::RaidGroupOnly raidGroupOnly; + raidGroupOnly.Delay = delay; + raidGroupOnly.Reason = reason; + + GetSession()->SendPacket(raidGroupOnly.Write()); +} diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 6147090a0ff..4218a058798 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1721,11 +1721,11 @@ class Player : public Unit, public GridObject<Player> void SetQuestObjectiveData(Quest const* quest, int8 storageIndex, int32 data); void SendQuestComplete(Quest const* quest); void SendQuestReward(Quest const* quest, uint32 XP); - void SendQuestFailed(uint32 questId, InventoryResult reason = EQUIP_ERR_OK); - void SendQuestTimerFailed(uint32 questId); - void SendCanTakeQuestResponse(QuestFailedReason msg) const; + void SendQuestFailed(uint32 questID, InventoryResult reason = EQUIP_ERR_OK); + void SendQuestTimerFailed(uint32 questID); + void SendCanTakeQuestResponse(QuestFailedReason reason, bool sendErrorMessage = true, std::string reasonText = "") const; void SendQuestConfirmAccept(Quest const* quest, Player* receiver); - void SendPushToPartyResponse(Player* player, uint8 msg); + void SendPushToPartyResponse(Player* player, QuestPushReason reason); void SendQuestUpdateAddCredit(Quest const* quest, ObjectGuid guid, QuestObjective const& obj, uint16 count); void SendQuestUpdateAddPlayer(Quest const* quest, uint16 newCount, uint32 required); @@ -1894,6 +1894,10 @@ class Player : public Unit, public GridObject<Player> uint32 GetReputation(uint32 factionentry) const; std::string GetGuildName(); + // Loot Spec + void SetLootSpecId(uint32 id) { SetUInt32Value(PLAYER_FIELD_LOOT_SPEC_ID, id); } + uint32 GetLootSpecId() const { return GetUInt32Value(PLAYER_FIELD_LOOT_SPEC_ID); } + // Talents uint32 GetTalentResetCost() const { return _talentMgr->ResetTalentsCost; } void SetTalentResetCost(uint32 cost) { _talentMgr->ResetTalentsCost = cost; } @@ -2047,6 +2051,7 @@ class Player : public Unit, public GridObject<Player> static Difficulty CheckLoadedDungeonDifficultyID(Difficulty difficulty); static Difficulty CheckLoadedRaidDifficultyID(Difficulty difficulty); static Difficulty CheckLoadedLegacyRaidDifficultyID(Difficulty difficulty); + void SendRaidGroupOnlyMessage(RaidGroupReason reason, int32 delay); bool UpdateSkill(uint32 skill_id, uint32 step); bool UpdateSkillPro(uint16 skillId, int32 chance, uint32 step); @@ -2137,7 +2142,7 @@ class Player : public Unit, public GridObject<Player> void SendRaidDifficulty(bool legacy, int32 forcedDifficulty = -1); void ResetInstances(uint8 method, bool isRaid, bool isLegacy); void SendResetInstanceSuccess(uint32 MapId); - void SendResetInstanceFailed(uint32 reason, uint32 MapId); + void SendResetInstanceFailed(ResetFailedReason reason, uint32 mapID); void SendResetFailedNotify(uint32 mapid); virtual bool UpdatePosition(float x, float y, float z, float orientation, bool teleport = false) override; @@ -2153,7 +2158,7 @@ class Player : public Unit, public GridObject<Player> void SpawnCorpseBones(); void CreateCorpse(); void KillPlayer(); - uint32 GetResurrectionSpellId(); + uint32 GetResurrectionSpellId() const; void ResurrectPlayer(float restore_percent, bool applySickness = false); void BuildPlayerRepop(); void RepopAtGraveyard(); @@ -2390,7 +2395,6 @@ class Player : public Unit, public GridObject<Player> void UpdateSpeakTime(); bool CanSpeak() const; - void ChangeSpeakTime(int utime); /*********************************************************/ /*** VARIOUS SYSTEMS ***/ @@ -2572,7 +2576,6 @@ class Player : public Unit, public GridObject<Player> uint32 GetAchievementPoints() const; bool HasAchieved(uint32 achievementId) const; void ResetAchievements(); - void CheckAllAchievementCriteria(); void ResetAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1 = 0, uint64 miscValue2 = 0, bool evenIfCriteriaComplete = false); void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1 = 0, uint64 miscValue2 = 0, uint64 miscValue3 = 0, Unit* unit = NULL); void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost = 0); @@ -2633,6 +2636,9 @@ class Player : public Unit, public GridObject<Player> void DeleteGarrison(); Garrison* GetGarrison() { return _garrison.get(); } + bool IsAdvancedCombatLoggingEnabled() const { return _advancedCombatLoggingEnabled; } + void SetAdvancedCombatLogging(bool enabled) { _advancedCombatLoggingEnabled = enabled; } + protected: // Gamemaster whisper whitelist GuidList WhisperList; @@ -2938,7 +2944,6 @@ class Player : public Unit, public GridObject<Player> MapReference m_mapRef; void UpdateCharmedAI(); - uint32 m_lastFallTime; float m_lastFallZ; @@ -2983,6 +2988,8 @@ class Player : public Unit, public GridObject<Player> uint32 _maxPersonalArenaRate; std::unique_ptr<Garrison> _garrison; + + bool _advancedCombatLoggingEnabled; }; void AddItemsSetItem(Player* player, Item* item); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 9a69f3b35ff..254d01ad308 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -67,6 +67,8 @@ #include "CombatPackets.h" #include "CombatLogPackets.h" #include "VehiclePackets.h" +#include "LootPackets.h" +#include "PartyPackets.h" #include <cmath> @@ -162,6 +164,12 @@ ProcEventInfo::ProcEventInfo(Unit* actor, Unit* actionTarget, Unit* procTarget, _damageInfo(damageInfo), _healInfo(healInfo) { } +SpellNonMeleeDamage::SpellNonMeleeDamage(Unit* _attacker, Unit* _target, uint32 _SpellID, uint32 _schoolMask) + : target(_target), attacker(_attacker), SpellID(_SpellID), damage(0), schoolMask(_schoolMask), + absorb(0), resist(0), periodicLog(false), blocked(0), HitInfo(0), cleanDamage(0), preHitHealth(_target->GetHealth()) +{ +} + SpellInfo const* ProcEventInfo::GetSpellInfo() const { /// WORKAROUND: unfinished new proc system @@ -1073,29 +1081,29 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama damageInfo->damage = damage; } -void Unit::DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss) +uint32 Unit::DealSpellDamage(SpellNonMeleeDamage const* damageInfo, bool durabilityLoss) { - if (damageInfo == 0) - return; + if (!damageInfo) + return 0; Unit* victim = damageInfo->target; if (!victim) - return; + return 0; if (!victim->IsAlive() || victim->HasUnitState(UNIT_STATE_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode())) - return; + return 0; SpellInfo const* spellProto = sSpellMgr->GetSpellInfo(damageInfo->SpellID); - if (spellProto == NULL) + if (!spellProto) { TC_LOG_DEBUG("entities.unit", "Unit::DealSpellDamage has wrong damageInfo->SpellID: %u", damageInfo->SpellID); - return; + return 0; } // Call default DealDamage CleanDamage cleanDamage(damageInfo->cleanDamage, damageInfo->absorb, BASE_ATTACK, MELEE_HIT_NORMAL); - DealDamage(victim, damageInfo->damage, &cleanDamage, SPELL_DIRECT_DAMAGE, SpellSchoolMask(damageInfo->schoolMask), spellProto, durabilityLoss); + return DealDamage(victim, damageInfo->damage, &cleanDamage, SPELL_DIRECT_DAMAGE, SpellSchoolMask(damageInfo->schoolMask), spellProto, durabilityLoss); } /// @todo for melee need create structure as in @@ -1389,7 +1397,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) // ...or immuned if (IsImmunedToDamage(i_spellProto)) { - victim->SendSpellDamageImmune(this, i_spellProto->Id); + victim->SendSpellDamageImmune(this, i_spellProto->Id, false); continue; } @@ -1401,22 +1409,24 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) damage = this->SpellDamageBonusTaken(caster, i_spellProto, damage, SPELL_DIRECT_DAMAGE, (*dmgShieldItr)->GetSpellEffectInfo()); } + uint32 absorb = 0, resist = 0; + victim->CalcAbsorbResist(this, SpellSchoolMask(i_spellProto->SchoolMask), SPELL_DIRECT_DAMAGE, damage, &absorb, &resist, i_spellProto); // No Unit::CalcAbsorbResist here - opcode doesn't send that data - this damage is probably not affected by that victim->DealDamageMods(this, damage, NULL); - /// @todo Move this to a packet handler - WorldPacket data(SMSG_SPELL_DAMAGE_SHIELD, 8 + 8 + 4 + 4 + 4 + 4 + 4); - data << victim->GetGUID(); - data << GetGUID(); - data << uint32(i_spellProto->Id); - data << uint32(damage); // Damage - int32 overkill = int32(damage) - int32(GetHealth()); - data << uint32(overkill > 0 ? overkill : 0); // Overkill - data << uint32(i_spellProto->SchoolMask); - data << uint32(0); // FIX ME: Send resisted damage, both fully resisted and partly resisted - victim->SendMessageToSet(&data, true); + WorldPackets::CombatLog::SpellDamageShield damageShield; + damageShield.Attacker = victim->GetGUID(); + damageShield.Defender = GetGUID(); + damageShield.SpellID = i_spellProto->Id; + damageShield.TotalDamage = damage; + damageShield.OverKill = std::max(int32(damage) - int32(GetHealth()), 0); + damageShield.SchoolMask = i_spellProto->SchoolMask; + damageShield.LogAbsorbed = absorb; victim->DealDamage(this, damage, 0, SPELL_DIRECT_DAMAGE, i_spellProto->GetSchoolMask(), i_spellProto, true); + + damageShield.LogData.Initialize(this); + victim->SendCombatLogMessage(&damageShield); } } } @@ -1773,10 +1783,12 @@ void Unit::CalcAbsorbResist(Unit* victim, SpellSchoolMask schoolMask, DamageEffe uint32 split_absorb = 0; DealDamageMods(caster, splitDamage, &split_absorb); - SendSpellNonMeleeDamageLog(caster, (*itr)->GetSpellInfo()->Id, splitDamage, schoolMask, split_absorb, 0, false, 0, false); - + SpellNonMeleeDamage log(this, caster, (*itr)->GetSpellInfo()->Id, schoolMask); CleanDamage cleanDamage = CleanDamage(splitDamage, 0, BASE_ATTACK, MELEE_HIT_NORMAL); - DealDamage(caster, splitDamage, &cleanDamage, DIRECT_DAMAGE, schoolMask, (*itr)->GetSpellInfo(), false); + log.damage = DealDamage(caster, splitDamage, &cleanDamage, DIRECT_DAMAGE, schoolMask, (*itr)->GetSpellInfo(), false); + log.absorb = split_absorb; + SendSpellNonMeleeDamageLog(&log); + // break 'Fear' and similar auras caster->ProcDamageAndSpellFor(true, this, PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG, PROC_EX_NORMAL_HIT, BASE_ATTACK, (*itr)->GetSpellInfo(), splitDamage); } @@ -4805,36 +4817,25 @@ void Unit::RemoveAllGameObjects() } } -void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage* log) +void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage const* log) { WorldPackets::CombatLog::SpellNonMeleeDamageLog packet; packet.Me = log->target->GetGUID(); packet.CasterGUID = log->attacker->GetGUID(); packet.SpellID = log->SpellID; packet.Damage = log->damage; - int32 overkill = log->damage - log->target->GetHealth(); - packet.Overkill = (overkill > 0 ? overkill : 0); + if (log->damage > log->preHitHealth) + packet.Overkill = log->damage - log->preHitHealth; + else + packet.Overkill = 0; + packet.SchoolMask = log->schoolMask; packet.ShieldBlock = log->blocked; packet.Resisted = log->resist; packet.Absorbed = log->absorb; - packet.Periodic = false; + packet.Periodic = log->periodicLog; packet.Flags = log->HitInfo; - SendMessageToSet(packet.Write(), true); -} - -void Unit::SendSpellNonMeleeDamageLog(Unit* target, uint32 SpellID, uint32 Damage, SpellSchoolMask damageSchoolMask, uint32 AbsorbedDamage, uint32 Resist, bool PhysicalDamage, uint32 Blocked, bool CriticalHit) -{ - SpellNonMeleeDamage log(this, target, SpellID, damageSchoolMask); - log.damage = Damage - AbsorbedDamage - Resist - Blocked; - log.absorb = AbsorbedDamage; - log.resist = Resist; - log.physicalLog = PhysicalDamage; - log.blocked = Blocked; - log.HitInfo = SPELL_HIT_TYPE_UNK1 | SPELL_HIT_TYPE_UNK3 | SPELL_HIT_TYPE_UNK6; - if (CriticalHit) - log.HitInfo |= SPELL_HIT_TYPE_CRIT; - SendSpellNonMeleeDamageLog(&log); + SendCombatLogMessage(&packet); } void Unit::ProcDamageAndSpell(Unit* victim, uint32 procAttacker, uint32 procVictim, uint32 procExtra, uint32 amount, WeaponAttackType attType, SpellInfo const* procSpell, SpellInfo const* procAura) @@ -4855,6 +4856,7 @@ void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* info) data.TargetGUID = GetGUID(); data.CasterGUID = aura->GetCasterGUID(); data.SpellID = aura->GetId(); + data.LogData.Initialize(this); /// @todo: should send more logs in one packet when multistrike WorldPackets::CombatLog::SpellPeriodicAuraLog::SpellLogEffect spellLogEffect; @@ -4870,48 +4872,40 @@ void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* info) data.Effects.push_back(spellLogEffect); - SendMessageToSet(data.Write(), true); + SendCombatLogMessage(&data); } void Unit::SendSpellMiss(Unit* target, uint32 spellID, SpellMissInfo missInfo) { - WorldPacket data(SMSG_SPELL_MISS_LOG, (4+8+1+4+8+1)); - data << uint32(spellID); - data << GetGUID(); - data << uint8(0); // can be 0 or 1 - data << uint32(1); // target count - // for (i = 0; i < target count; ++i) - data << target->GetGUID(); // target GUID - data << uint8(missInfo); - // end loop - SendMessageToSet(&data, true); + WorldPackets::CombatLog::SpellMissLog spellMissLog; + spellMissLog.SpellID = spellID; + spellMissLog.Caster = GetGUID(); + spellMissLog.Entries.emplace_back(target->GetGUID(), missInfo); + SendMessageToSet(spellMissLog.Write(), true); } void Unit::SendSpellDamageResist(Unit* target, uint32 spellId) { - WorldPacket data(SMSG_PROC_RESIST, 8+8+4+1); - data << GetGUID(); - data << target->GetGUID(); - data << uint32(spellId); - data << uint8(0); // bool - log format: 0-default, 1-debug - SendMessageToSet(&data, true); + WorldPackets::CombatLog::ProcResist procResist; + procResist.Caster = GetGUID(); + procResist.SpellID = spellId; + procResist.Target = target->GetGUID(); + SendMessageToSet(procResist.Write(), true); } -void Unit::SendSpellDamageImmune(Unit* target, uint32 spellId) +void Unit::SendSpellDamageImmune(Unit* target, uint32 spellId, bool isPeriodic) { - WorldPacket data(SMSG_SPELL_OR_DAMAGE_IMMUNE, 8+8+4+1); - data << GetGUID(); - data << target->GetGUID(); - data << uint32(spellId); - data << uint8(0); // bool - log format: 0-default, 1-debug - SendMessageToSet(&data, true); + WorldPackets::CombatLog::SpellOrDamageImmune spellOrDamageImmune; + spellOrDamageImmune.CasterGUID = GetGUID(); + spellOrDamageImmune.VictimGUID = target->GetGUID(); + spellOrDamageImmune.SpellID = spellId; + spellOrDamageImmune.IsPeriodic = isPeriodic; + SendMessageToSet(spellOrDamageImmune.Write(), true); } void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo) { - TC_LOG_DEBUG("entities.unit", "WORLD: Sending SMSG_ATTACKERSTATEUPDATE"); - - WorldPackets::Combat::AttackerStateUpdate packet; + WorldPackets::CombatLog::AttackerStateUpdate packet; packet.HitInfo = damageInfo->HitInfo; packet.AttackerGUID = damageInfo->attacker->GetGUID(); packet.VictimGUID = damageInfo->target->GetGUID(); @@ -4919,7 +4913,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo) int32 overkill = damageInfo->damage - damageInfo->target->GetHealth(); packet.OverDamage = (overkill < 0 ? -1 : overkill); - packet.SubDmg = WorldPackets::Combat::SubDamage(); + packet.SubDmg = boost::in_place(); packet.SubDmg->SchoolMask = damageInfo->damageSchoolMask; // School of sub damage packet.SubDmg->FDamage = damageInfo->damage; // sub damage packet.SubDmg->Damage = damageInfo->damage; // Sub Damage @@ -4929,7 +4923,9 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo) packet.VictimState = damageInfo->TargetState; packet.BlockAmount = damageInfo->blocked_amount; - SendMessageToSet(packet.Write(), true); + packet.LogData.Initialize(damageInfo->attacker); + + SendCombatLogMessage(&packet); } void Unit::SendAttackStateUpdate(uint32 HitInfo, Unit* target, uint8 /*SwingType*/, SpellSchoolMask damageSchoolMask, uint32 Damage, uint32 AbsorbDamage, uint32 Resist, VictimState TargetState, uint32 BlockedAmount) @@ -6118,8 +6114,10 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere if (pPet && pPet->GetVictim() && damage && procSpell) { uint32 procDmg = damage / 2; - pPet->SendSpellNonMeleeDamageLog(pPet->GetVictim(), procSpell->Id, procDmg, procSpell->GetSchoolMask(), 0, 0, false, 0, false); - pPet->DealDamage(pPet->GetVictim(), procDmg, NULL, SPELL_DIRECT_DAMAGE, procSpell->GetSchoolMask(), procSpell, true); + + SpellNonMeleeDamage log(pPet, pPet->GetVictim(), procSpell->Id, procSpell->GetSchoolMask()); + log.damage = pPet->DealDamage(pPet->GetVictim(), procDmg, NULL, SPELL_DIRECT_DAMAGE, procSpell->GetSchoolMask(), procSpell, true); + pPet->SendSpellNonMeleeDamageLog(&log); break; } else @@ -8142,7 +8140,9 @@ void Unit::SendHealSpellLog(Unit* victim, uint32 spellID, uint32 health, uint32 if (hasLogData) SpellParsers.ReadSpellCastLogData(packet); */ - SendMessageToSet(spellHealLog.Write(), true); + + spellHealLog.LogData.Initialize(victim); + SendCombatLogMessage(&spellHealLog); } int32 Unit::HealBySpell(Unit* victim, SpellInfo const* spellInfo, uint32 addHealth, bool critical) @@ -8164,18 +8164,18 @@ void Unit::SendEnergizeSpellLog(Unit* victim, uint32 spellId, int32 damage, Powe data.SpellID = spellId; data.Type = powerType; data.Amount = damage; - - SendMessageToSet(data.Write(), true); + data.LogData.Initialize(victim); + SendCombatLogMessage(&data); } void Unit::EnergizeBySpell(Unit* victim, uint32 spellId, int32 damage, Powers powerType) { - SendEnergizeSpellLog(victim, spellId, damage, powerType); - // needs to be called after sending spell log victim->ModifyPower(powerType, damage); SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId); victim->getHostileRefManager().threatAssist(this, float(damage) * 0.5f, spellInfo); + + SendEnergizeSpellLog(victim, spellId, damage, powerType); } uint32 Unit::SpellDamageBonusDone(Unit* victim, SpellInfo const* spellProto, uint32 pdamage, DamageEffectType damagetype, SpellEffectInfo const* effect, uint32 stack) const @@ -13453,9 +13453,9 @@ void Unit::Kill(Unit* victim, bool durabilityLoss) // call kill spell proc event (before real die and combat stop to triggering auras removed at death/combat stop) if (isRewardAllowed && player && player != victim) { - WorldPacket data(SMSG_PARTY_KILL_LOG, (8+8)); // send event PARTY_KILL - data << player->GetGUID(); // player with killing blow - data << victim->GetGUID(); // victim + WorldPackets::Party::PartyKillLog partyKillLog; + partyKillLog.Player = player->GetGUID(); + partyKillLog.Victim = victim->GetGUID(); Player* looter = player; Group* group = player->GetGroup(); @@ -13463,7 +13463,7 @@ void Unit::Kill(Unit* victim, bool durabilityLoss) if (group) { - group->BroadcastPacket(&data, group->GetMemberGroup(player->GetGUID()) != 0); + group->BroadcastPacket(partyKillLog.Write(), group->GetMemberGroup(player->GetGUID()) != 0); if (creature) { @@ -13481,15 +13481,14 @@ void Unit::Kill(Unit* victim, bool durabilityLoss) } else { - player->SendDirectMessage(&data); + player->SendDirectMessage(partyKillLog.Write()); if (creature) { - WorldPacket data2(SMSG_LOOT_LIST, 8 + 1 + 1); - data2 << creature->GetGUID(); - data2 << uint8(0); // unk1 - data2 << uint8(0); // no group looter - player->SendMessageToSet(&data2, true); + WorldPackets::Loot::LootList lootList; + lootList.Owner = creature->GetGUID(); + + player->SendMessageToSet(lootList.Write(), true); } } @@ -15474,7 +15473,6 @@ void Unit::SendThreatListUpdate() { if (!getThreatManager().isThreatListEmpty()) { - TC_LOG_DEBUG("entities.unit", "WORLD: Send SMSG_THREAT_UPDATE Message"); WorldPackets::Combat::ThreatUpdate packet; packet.UnitGUID = GetGUID(); ThreatContainer::StorageType const &tlist = getThreatManager().getThreatList(); @@ -15494,7 +15492,6 @@ void Unit::SendChangeCurrentVictimOpcode(HostileReference* pHostileReference) { if (!getThreatManager().isThreatListEmpty()) { - TC_LOG_DEBUG("entities.unit", "WORLD: Send SMSG_HIGHEST_THREAT_UPDATE Message"); WorldPackets::Combat::HighestThreatUpdate packet; packet.UnitGUID = GetGUID(); packet.HighestThreatGUID = pHostileReference->getUnitGuid(); @@ -15513,7 +15510,6 @@ void Unit::SendChangeCurrentVictimOpcode(HostileReference* pHostileReference) void Unit::SendClearThreatListOpcode() { - TC_LOG_DEBUG("entities.unit", "WORLD: Send SMSG_THREAT_CLEAR Message"); WorldPackets::Combat::ThreatClear packet; packet.UnitGUID = GetGUID(); SendMessageToSet(packet.Write(), false); @@ -15521,7 +15517,6 @@ void Unit::SendClearThreatListOpcode() void Unit::SendRemoveFromThreatListOpcode(HostileReference* pHostileReference) { - TC_LOG_DEBUG("entities.unit", "WORLD: Send SMSG_THREAT_REMOVE Message"); WorldPackets::Combat::ThreatRemove packet; packet.UnitGUID = GetGUID(); packet.AboutGUID = pHostileReference->getUnitGuid(); @@ -15647,9 +15642,9 @@ uint32 Unit::GetRemainingPeriodicAmount(ObjectGuid caster, uint32 spellId, AuraT void Unit::SendClearTarget() { - WorldPacket data(SMSG_BREAK_TARGET, GetPackGUID().size()); - data << GetPackGUID(); - SendMessageToSet(&data, false); + WorldPackets::Combat::BreakTarget breakTarget; + breakTarget.UnitGUID = GetGUID(); + SendMessageToSet(breakTarget.Write(), false); } uint32 Unit::GetResistance(SpellSchoolMask mask) const @@ -16249,9 +16244,9 @@ void Unit::DestroyForPlayer(Player* target) const { if (bg->isArena()) { - WorldPacket data(SMSG_DESTROY_ARENA_UNIT, 18); - data << GetGUID(); - target->GetSession()->SendPacket(&data); + WorldPackets::Battleground::DestroyArenaUnit destroyArenaUnit; + destroyArenaUnit.Guid = GetGUID(); + target->GetSession()->SendPacket(destroyArenaUnit.Write()); } } @@ -16442,3 +16437,105 @@ SpellInfo const* Unit::GetCastSpellInfo(SpellInfo const* spellInfo) const return spellInfo; } + +struct CombatLogSender +{ + WorldObject const* i_source; + WorldPackets::CombatLog::CombatLogServerPacket const* i_message; + float const i_distSq; + CombatLogSender(WorldObject const* src, WorldPackets::CombatLog::CombatLogServerPacket* msg, float dist) + : i_source(src), i_message(msg), i_distSq(dist * dist) + { + msg->Write(); + } + + bool IsInRangeHelper(WorldObject const* object) const; + void Visit(PlayerMapType &m); + void Visit(CreatureMapType &m); + void Visit(DynamicObjectMapType &m); + template<class SKIP> void Visit(GridRefManager<SKIP>&) { } + + void SendPacket(Player* player) + { + if (!player->HaveAtClient(i_source)) + return; + + if (player->IsAdvancedCombatLoggingEnabled()) + player->SendDirectMessage(i_message->GetFullLogPacket()); + else + player->SendDirectMessage(i_message->GetBasicLogPacket()); + } +}; + +bool CombatLogSender::IsInRangeHelper(WorldObject const* object) const +{ + if (!object->IsInPhase(i_source)) + return false; + + return object->GetExactDist2dSq(i_source) <= i_distSq; +} + +void CombatLogSender::Visit(PlayerMapType& m) +{ + for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter) + { + Player* target = iter->GetSource(); + if (!IsInRangeHelper(target)) + continue; + + // Send packet to all who are sharing the player's vision + if (target->HasSharedVision()) + { + SharedVisionList::const_iterator i = target->GetSharedVisionList().begin(); + for (; i != target->GetSharedVisionList().end(); ++i) + if ((*i)->m_seer == target) + SendPacket(*i); + } + + if (target->m_seer == target || target->GetVehicle()) + SendPacket(target); + } +} + +void CombatLogSender::Visit(CreatureMapType& m) +{ + for (CreatureMapType::iterator iter = m.begin(); iter != m.end(); ++iter) + { + Creature* target = iter->GetSource(); + if (!IsInRangeHelper(target)) + continue; + + // Send packet to all who are sharing the creature's vision + if (target->HasSharedVision()) + { + SharedVisionList::const_iterator i = target->GetSharedVisionList().begin(); + for (; i != target->GetSharedVisionList().end(); ++i) + if ((*i)->m_seer == target) + SendPacket(*i); + } + } +} + +void CombatLogSender::Visit(DynamicObjectMapType& m) +{ + for (DynamicObjectMapType::iterator iter = m.begin(); iter != m.end(); ++iter) + { + DynamicObject* target = iter->GetSource(); + if (!IsInRangeHelper(target)) + continue; + + if (Unit* caster = target->GetCaster()) + { + // Send packet back to the caster if the caster has vision of dynamic object + Player* player = caster->ToPlayer(); + if (player && player->m_seer == target) + SendPacket(player); + } + } +} + +void Unit::SendCombatLogMessage(WorldPackets::CombatLog::CombatLogServerPacket* combatLog) const +{ + CombatLogSender notifier(this, combatLog, GetVisibilityRange()); + VisitNearbyWorldObject(GetVisibilityRange(), notifier); +} diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index fe7fd3c306a..af2cad003b9 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -410,6 +410,13 @@ namespace Movement { class MoveSpline; } +namespace WorldPackets +{ + namespace CombatLog + { + class CombatLogServerPacket; + } +} typedef std::list<Unit*> UnitList; typedef std::list<std::pair<Aura*, uint8>> DispelChargesList; @@ -1026,25 +1033,21 @@ struct CalcDamageInfo // Spell damage info structure based on structure sending in SMSG_SPELLNONMELEEDAMAGELOG opcode struct SpellNonMeleeDamage { - SpellNonMeleeDamage(Unit* _attacker, Unit* _target, uint32 _SpellID, uint32 _schoolMask) - : target(_target), attacker(_attacker), SpellID(_SpellID), damage(0), overkill(0), schoolMask(_schoolMask), - absorb(0), resist(0), physicalLog(false), unused(false), blocked(0), HitInfo(0), cleanDamage(0) - { } + SpellNonMeleeDamage(Unit* _attacker, Unit* _target, uint32 _SpellID, uint32 _schoolMask); Unit *target; Unit *attacker; uint32 SpellID; uint32 damage; - uint32 overkill; uint32 schoolMask; uint32 absorb; uint32 resist; - bool physicalLog; - bool unused; + bool periodicLog; uint32 blocked; uint32 HitInfo; // Used for help uint32 cleanDamage; + uint32 preHitHealth; }; struct SpellPeriodicAuraLogInfo @@ -1325,6 +1328,8 @@ class Unit : public WorldObject void CleanupBeforeRemoveFromMap(bool finalCleanup); void CleanupsBeforeDelete(bool finalCleanup = true) override; // used in ~Creature/~Player (or before mass creature delete to remove cross-references to already deleted units) + void SendCombatLogMessage(WorldPackets::CombatLog::CombatLogServerPacket* combatLog) const; + DiminishingLevels GetDiminishing(DiminishingGroup group); void IncrDiminishing(DiminishingGroup group); float ApplyDiminishingToDuration(DiminishingGroup group, int32 &duration, Unit* caster, DiminishingLevels Level, int32 limitduration); @@ -1511,7 +1516,7 @@ class Unit : public WorldObject void HandleProcExtraAttackFor(Unit* victim); void CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 damage, SpellInfo const* spellInfo, WeaponAttackType attackType = BASE_ATTACK, bool crit = false); - void DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss); + uint32 DealSpellDamage(SpellNonMeleeDamage const* damageInfo, bool durabilityLoss); // player or player's pet resilience (-1%) uint32 GetDamageReduction(uint32 damage) const { return GetCombatRatingDamageReduction(CR_RESILIENCE_PLAYER_DAMAGE_TAKEN, 1.0f, 100.0f, damage); } @@ -1620,12 +1625,11 @@ class Unit : public WorldObject void SendAttackStateUpdate(CalcDamageInfo* damageInfo); void SendAttackStateUpdate(uint32 HitInfo, Unit* target, uint8 SwingType, SpellSchoolMask damageSchoolMask, uint32 Damage, uint32 AbsorbDamage, uint32 Resist, VictimState TargetState, uint32 BlockedAmount); - void SendSpellNonMeleeDamageLog(SpellNonMeleeDamage* log); - void SendSpellNonMeleeDamageLog(Unit* target, uint32 SpellID, uint32 Damage, SpellSchoolMask damageSchoolMask, uint32 AbsorbedDamage, uint32 Resist, bool PhysicalDamage, uint32 Blocked, bool CriticalHit = false); + void SendSpellNonMeleeDamageLog(SpellNonMeleeDamage const* log); void SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* pInfo); void SendSpellMiss(Unit* target, uint32 spellID, SpellMissInfo missInfo); void SendSpellDamageResist(Unit* target, uint32 spellId); - void SendSpellDamageImmune(Unit* target, uint32 spellId); + void SendSpellDamageImmune(Unit* target, uint32 spellId, bool isPeriodic); void NearTeleportTo(float x, float y, float z, float orientation, bool casting = false); void SendTeleportPacket(Position& pos); diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 89b874697e5..3f595a2cd69 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -302,17 +302,8 @@ void ObjectMgr::LoadCreatureLocales() _creatureLocaleStore.clear(); // need for reload case - QueryResult result = WorldDatabase.Query("SELECT entry, " - "name_loc1, femaleName_loc1, subname_loc1, " - "name_loc2, femaleName_loc2, subname_loc2, " - "name_loc3, femaleName_loc3, subname_loc3, " - "name_loc4, femaleName_loc4, subname_loc4, " - "name_loc5, femaleName_loc5, subname_loc5, " - "name_loc6, femaleName_loc6, subname_loc6, " - "name_loc7, femaleName_loc7, subname_loc7, " - "name_loc8, femaleName_loc8, subname_loc8 " - "FROM locales_creature"); - + // 0 1 2 3 4 5 + QueryResult result = WorldDatabase.Query("SELECT entry, locale, Name, NameAlt, Title, TitleAlt FROM creature_template_locale"); if (!result) return; @@ -320,17 +311,24 @@ void ObjectMgr::LoadCreatureLocales() { Field* fields = result->Fetch(); - uint32 entry = fields[0].GetUInt32(); + uint32 id = fields[0].GetUInt32(); + std::string localeName = fields[1].GetString(); - CreatureLocale& data = _creatureLocaleStore[entry]; + std::string name = fields[2].GetString(); + std::string nameAlt = fields[3].GetString(); + std::string title = fields[4].GetString(); + std::string titleAlt = fields[5].GetString(); + + CreatureLocale& data = _creatureLocaleStore[id]; + LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; + + AddLocaleString(name, locale, data.Name); + AddLocaleString(nameAlt, locale, data.NameAlt); + AddLocaleString(title, locale, data.Title); + AddLocaleString(titleAlt, locale, data.TitleAlt); - for (uint8 i = OLD_TOTAL_LOCALES - 1; i > 0; --i) - { - LocaleConstant locale = (LocaleConstant) i; - AddLocaleString(fields[1 + 3 * (i - 1)].GetString(), locale, data.Name); - AddLocaleString(fields[1 + 3 * (i - 1) + 1].GetString(), locale, data.FemaleName); - AddLocaleString(fields[1 + 3 * (i - 1) + 2].GetString(), locale, data.SubName); - } } while (result->NextRow()); TC_LOG_INFO("server.loading", ">> Loaded %u creature locale strings in %u ms", uint32(_creatureLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime)); @@ -394,6 +392,8 @@ void ObjectMgr::LoadPointOfInterestLocales() PointOfInterestLocale& data = _pointOfInterestLocaleStore[id]; LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; AddLocaleString(name, locale, data.Name); } while (result->NextRow()); @@ -4467,6 +4467,8 @@ void ObjectMgr::LoadQuestTemplateLocale() QuestTemplateLocale& data = _questTemplateLocaleStore[id]; LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; AddLocaleString(logTitle, locale, data.LogTitle); AddLocaleString(logDescription, locale, data.LogDescription); @@ -4503,6 +4505,8 @@ void ObjectMgr::LoadQuestObjectivesLocale() QuestObjectivesLocale& data = _questObjectivesLocaleStore[id]; LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; AddLocaleString(Description, locale, data.Description); } @@ -5116,6 +5120,8 @@ void ObjectMgr::LoadPageTextLocales() PageTextLocale& data = _pageTextLocaleStore[id]; LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; AddLocaleString(text, locale, data.Text); } while (result->NextRow()); @@ -6403,6 +6409,8 @@ void ObjectMgr::LoadGameObjectLocales() GameObjectLocale& data = _gameObjectLocaleStore[id]; LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; AddLocaleString(name, locale, data.Name); AddLocaleString(castBarCaption, locale, data.CastBarCaption); @@ -7802,7 +7810,7 @@ SkillRangeType GetSkillRangeType(SkillRaceClassInfoEntry const* rcEntry) if (sObjectMgr->GetSkillTier(rcEntry->SkillTierID)) return SKILL_RANGE_RANK; - if (rcEntry->SkillID == SKILL_RUNEFORGING) + if (rcEntry->SkillID == SKILL_RUNEFORGING || rcEntry->SkillID == SKILL_RUNEFORGING_2) return SKILL_RANGE_MONO; switch (skill->CategoryID) diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 2391f152ab3..7689f518b10 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -36,6 +36,7 @@ #include "LFGMgr.h" #include "UpdateFieldFlags.h" #include "PartyPackets.h" +#include "LootPackets.h" Roll::Roll(ObjectGuid _guid, LootItem const& li) : itemGUID(_guid), itemid(li.itemid), itemRandomPropId(li.randomPropertyId), itemRandomSuffix(li.randomSuffix), itemCount(li.count), @@ -930,20 +931,17 @@ void Group::SendLooter(Creature* creature, Player* groupLooter) { ASSERT(creature); - WorldPacket data(SMSG_LOOT_LIST, (8+8)); - data << creature->GetGUID(); + WorldPackets::Loot::LootList lootList; + + lootList.Owner = creature->GetGUID(); if (GetLootMethod() == MASTER_LOOT && creature->loot.hasOverThresholdItem()) - data << GetMasterLooterGuid(); - else - data << uint8(0); + lootList.Master = GetMasterLooterGuid(); if (groupLooter) - data << groupLooter->GetPackGUID(); - else - data << uint8(0); + lootList.RoundRobinWinner = groupLooter->GetGUID(); - BroadcastPacket(&data, false); + BroadcastPacket(lootList.Write(), false); } void Group::GroupLoot(Loot* loot, WorldObject* pLootedObject) @@ -2112,7 +2110,7 @@ void Group::ResetInstances(uint8 method, bool isRaid, bool isLegacy, Player* Sen if (SendMsgTo) { if (!isEmpty) - SendMsgTo->SendResetInstanceFailed(0, instanceSave->GetMapId()); + SendMsgTo->SendResetInstanceFailed(INSTANCE_RESET_FAILED, instanceSave->GetMapId()); else if (sWorld->getBoolConfig(CONFIG_INSTANCES_RESET_ANNOUNCE)) { if (Group* group = SendMsgTo->GetGroup()) diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 97a965da681..e93a1da83b3 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -31,6 +31,7 @@ #include "SocialMgr.h" #include "Opcodes.h" #include "ChatPackets.h" +#include "CalendarPackets.h" #define MAX_GUILD_BANK_TAB_TEXT_LEN 500 #define EMBLEM_PRICE 10 * GOLD @@ -2533,15 +2534,12 @@ void Guild::BroadcastPacketIfTrackingAchievement(WorldPacket const* packet, uint void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 maxLevel, uint32 minRank) { - uint32 count = 0; - - WorldPacket data(SMSG_CALENDAR_EVENT_INITIAL_INVITES); - data << uint32(count); // count placeholder + WorldPackets::Calendar::CalendarEventInitialInvites packet; for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr) { // not sure if needed, maybe client checks it as well - if (count >= CALENDAR_MAX_INVITES) + if (packet.Invites.size() >= CALENDAR_MAX_INVITES) { if (Player* player = session->GetPlayer()) sCalendarMgr->SendCalendarCommandResult(player->GetGUID(), CALENDAR_ERROR_INVITES_EXCEEDED); @@ -2552,16 +2550,10 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max uint32 level = Player::GetLevelFromDB(member->GetGUID()); if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank)) - { - data << member->GetGUID(); - data << uint8(level); - ++count; - } + packet.Invites.emplace_back(member->GetGUID(), level); } - data.put<uint32>(0, count); - - session->SendPacket(&data); + session->SendPacket(packet.Write()); } // Members handling diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp index a6f39fcd09b..e4426094748 100644 --- a/src/server/game/Handlers/CalendarHandler.cpp +++ b/src/server/game/Handlers/CalendarHandler.cpp @@ -19,10 +19,10 @@ /* ----- Opcodes Not Used yet ----- -SMSG_CALENDAR_EVENT_INVITE_NOTES [ packguid(Invitee), uint64(inviteId), string(Text), Boolean(Unk) ] -?CMSG_CALENDAR_EVENT_INVITE_NOTES [ uint32(unk1), uint32(unk2), uint32(unk3), uint32(unk4), uint32(unk5) ] -SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT [ uint64(inviteId), string(Text) ] -SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT [ uint64(eventId), uint32(eventTime), uint32(unkFlag), uint8(deletePending) ] +SMSG_CALENDAR_EVENT_INVITE_NOTES [ ObjectGuid(InviteGuid), bool(ClearPending), std::string(Notes), uint64(EventID) ] +?CMSG_CALENDAR_EVENT_INVITE_NOTES [ ObjectGuid(Guid), uint64(EventID), uint64(InviteID), uint64(ModeratorID), std::string(Notes) ] +SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT [ uint64(EventID), std::string(Notes) ] +SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT [ uint64(EventID), uint32(Date), uint32(Flags), uint8(Status) ] SMSG_CALENDAR_RAID_LOCKOUT_UPDATED SendCalendarRaidLockoutUpdated(InstanceSave const* save) @todo @@ -46,196 +46,119 @@ Copied events should probably have a new owner #include "DatabaseEnv.h" #include "GuildMgr.h" #include "WorldSession.h" +#include "CalendarPackets.h" -void WorldSession::HandleCalendarGetCalendar(WorldPacket& /*recvData*/) +void WorldSession::HandleCalendarGetCalendar(WorldPackets::Calendar::CalendarGetCalendar& /*calendarGetCalendar*/) { ObjectGuid guid = _player->GetGUID(); - TC_LOG_DEBUG("network", "CMSG_CALENDAR_GET [%s]", guid.ToString().c_str()); - time_t currTime = time(NULL); - WorldPacket data(SMSG_CALENDAR_SEND_CALENDAR, 1000); // Average size if no instance + WorldPackets::Calendar::CalendarSendCalendar packet; + packet.ServerNow = currTime; + packet.RaidOrigin = 1135753200; // Constant date, unk (28.12.2005 07:00) + packet.ServerTime = currTime; - CalendarInviteStore invites = sCalendarMgr->GetPlayerInvites(guid); - data << uint32(invites.size()); - for (CalendarInviteStore::const_iterator itr = invites.begin(); itr != invites.end(); ++itr) + CalendarInviteStore playerInvites = sCalendarMgr->GetPlayerInvites(guid); + for (auto const& invite : playerInvites) { - data << uint64((*itr)->GetEventId()); - data << uint64((*itr)->GetInviteId()); - data << uint8((*itr)->GetStatus()); - data << uint8((*itr)->GetRank()); - - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent((*itr)->GetEventId())) - { - data << uint8(calendarEvent->IsGuildEvent()); - data << calendarEvent->GetCreatorGUID(); - } - else - { - data << uint8(0); - data << (*itr)->GetSenderGUID(); - } + WorldPackets::Calendar::CalendarSendCalendarInviteInfo inviteInfo; + inviteInfo.EventID = invite->GetEventId(); + inviteInfo.InviteID = invite->GetInviteId(); + inviteInfo.InviterGuid = invite->GetSenderGUID(); + inviteInfo.Status = invite->GetStatus(); + inviteInfo.Moderator = invite->GetRank(); + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(invite->GetEventId())) + inviteInfo.InviteType = calendarEvent->IsGuildEvent() && calendarEvent->GetGuildId() == _player->GetGuildId(); + + packet.Invites.push_back(inviteInfo); } CalendarEventStore playerEvents = sCalendarMgr->GetPlayerEvents(guid); - data << uint32(playerEvents.size()); - for (CalendarEventStore::const_iterator itr = playerEvents.begin(); itr != playerEvents.end(); ++itr) + for (auto const& event : playerEvents) { - CalendarEvent* calendarEvent = *itr; - - data << uint64(calendarEvent->GetEventId()); - data << calendarEvent->GetTitle(); - data << uint32(calendarEvent->GetType()); - data.AppendPackedTime(calendarEvent->GetEventTime()); - data << uint32(calendarEvent->GetFlags()); - data << int32(calendarEvent->GetDungeonId()); - - Guild* guild = sGuildMgr->GetGuildById(calendarEvent->GetGuildId()); - data << (guild ? guild->GetGUID() : ObjectGuid::Empty); - - data << calendarEvent->GetCreatorGUID(); + WorldPackets::Calendar::CalendarSendCalendarEventInfo eventInfo; + eventInfo.EventID = event->GetEventId(); + eventInfo.Date = event->GetDate(); + Guild* guild = sGuildMgr->GetGuildById(event->GetGuildId()); + eventInfo.EventGuildID = guild ? guild->GetGUID() : ObjectGuid::Empty; + eventInfo.EventName = event->GetTitle(); + eventInfo.EventType = event->GetType(); + eventInfo.Flags = event->GetFlags(); + eventInfo.OwnerGuid = event->GetOwnerGUID(); + eventInfo.TextureID = event->GetTextureId(); + + packet.Events.push_back(eventInfo); } - data << uint32(currTime); // server time - data.AppendPackedTime(currTime); // zone time - - ByteBuffer dataBuffer; - uint32 boundCounter = 0; for (uint8 i = 0; i < MAX_DIFFICULTY; ++i) { Player::BoundInstancesMap boundInstances = _player->GetBoundInstances(Difficulty(i)); - for (Player::BoundInstancesMap::const_iterator itr = boundInstances.begin(); itr != boundInstances.end(); ++itr) + for (auto const& boundInstance : boundInstances) { - if (itr->second.perm) + if (boundInstance.second.perm) { - InstanceSave const* save = itr->second.save; - dataBuffer << uint32(save->GetMapId()); - dataBuffer << uint32(save->GetDifficultyID()); - dataBuffer << uint32(save->GetResetTime() - currTime); - dataBuffer << uint64(save->GetInstanceId()); // instance save id as unique instance copy id - ++boundCounter; + WorldPackets::Calendar::CalendarSendCalendarRaidLockoutInfo lockoutInfo; + + InstanceSave const* save = boundInstance.second.save; + lockoutInfo.MapID = save->GetMapId(); + lockoutInfo.DifficultyID = save->GetDifficultyID(); + lockoutInfo.ExpireTime = save->GetResetTime() - currTime; + lockoutInfo.InstanceID = save->GetInstanceId(); // instance save id as unique instance copy id + + packet.RaidLockouts.push_back(lockoutInfo); } } } - data << uint32(boundCounter); - data.append(dataBuffer); - - data << uint32(1135753200); // Constant date, unk (28.12.2005 07:00) - - // Reuse variables - boundCounter = 0; std::set<uint32> sentMaps; - dataBuffer.clear(); - ResetTimeByMapDifficultyMap const& resets = sInstanceSaveMgr->GetResetTimeMap(); - for (ResetTimeByMapDifficultyMap::const_iterator itr = resets.begin(); itr != resets.end(); ++itr) + for (auto const& reset : resets) { - uint32 mapId = PAIR32_LOPART(itr->first); - if (sentMaps.find(mapId) != sentMaps.end()) + uint32 mapID = PAIR64_LOPART(reset.first); + if (sentMaps.find(mapID) != sentMaps.end()) continue; - MapEntry const* mapEntry = sMapStore.LookupEntry(mapId); + MapEntry const* mapEntry = sMapStore.LookupEntry(mapID); if (!mapEntry || !mapEntry->IsRaid()) continue; - sentMaps.insert(mapId); - - dataBuffer << int32(mapId); - dataBuffer << int32(itr->second - currTime); - dataBuffer << int32(0); // Never seen anything else in sniffs - still unknown - ++boundCounter; - } - - data << uint32(boundCounter); - data.append(dataBuffer); - - /// @todo Fix this, how we do know how many and what holidays to send? - uint32 holidayCount = 0; - data << uint32(holidayCount); - for (uint32 i = 0; i < holidayCount; ++i) - { - HolidaysEntry const* holiday = sHolidaysStore.LookupEntry(666); - - data << uint32(holiday->ID); // m_ID - data << uint32(holiday->Region); // m_region, might be looping - data << uint32(holiday->Looping); // m_looping, might be region - data << uint32(holiday->Priority); // m_priority - data << uint32(holiday->CalendarFilterType); // m_calendarFilterType - - for (uint8 j = 0; j < MAX_HOLIDAY_DATES; ++j) - data << uint32(holiday->Date[j]); // 26 * m_date -- WritePackedTime ? - - for (uint8 j = 0; j < MAX_HOLIDAY_DURATIONS; ++j) - data << uint32(holiday->Duration[j]); // 10 * m_duration + sentMaps.insert(mapID); + WorldPackets::Calendar::CalendarSendCalendarRaidResetInfo resetInfo; + resetInfo.MapID = mapID; + resetInfo.Duration = reset.second - currTime; + resetInfo.Offset = 0; // Never seen anything else in sniffs - still unknown - for (uint8 j = 0; j < MAX_HOLIDAY_FLAGS; ++j) - data << uint32(holiday->CalendarFlags[j]); // 10 * m_calendarFlags - - data << holiday->TextureFilename->Str[sWorld->GetDefaultDbcLocale()]; // m_textureFilename (holiday name) + packet.RaidResets.push_back(resetInfo); } - SendPacket(&data); + SendPacket(packet.Write()); } -void WorldSession::HandleCalendarGetEvent(WorldPacket& recvData) +void WorldSession::HandleCalendarGetEvent(WorldPackets::Calendar::CalendarGetEvent& calendarGetEvent) { - uint64 eventId; - recvData >> eventId; - - TC_LOG_DEBUG("network", "CMSG_CALENDAR_GET_EVENT. Player [%s] Event [" UI64FMTD "]", _player->GetGUID().ToString().c_str(), eventId); - - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarGetEvent.EventID)) sCalendarMgr->SendCalendarEvent(_player->GetGUID(), *calendarEvent, CALENDAR_SENDTYPE_GET); else sCalendarMgr->SendCalendarCommandResult(_player->GetGUID(), CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarGuildFilter(WorldPacket& recvData) +void WorldSession::HandleCalendarGuildFilter(WorldPackets::Calendar::CalendarGuildFilter& calendarGuildFilter) { - TC_LOG_DEBUG("network", "CMSG_CALENDAR_GUILD_FILTER [%s]", _player->GetGUID().ToString().c_str()); - - uint32 minLevel; - uint32 maxLevel; - uint32 minRank; - - recvData >> minLevel >> maxLevel >> minRank; - if (Guild* guild = sGuildMgr->GetGuildById(_player->GetGuildId())) - guild->MassInviteToEvent(this, minLevel, maxLevel, minRank); - - TC_LOG_DEBUG("network", "CMSG_CALENDAR_GUILD_FILTER: Min level [%d], Max level [%d], Min rank [%d]", minLevel, maxLevel, minRank); + guild->MassInviteToEvent(this, calendarGuildFilter.MinLevel, calendarGuildFilter.MaxLevel, calendarGuildFilter.MaxRankOrder); } -void WorldSession::HandleCalendarAddEvent(WorldPacket& recvData) +void WorldSession::HandleCalendarAddEvent(WorldPackets::Calendar::CalendarAddEvent& calendarAddEvent) { ObjectGuid guid = _player->GetGUID(); - std::string title; - std::string description; - uint8 type; - uint8 repeatable; - uint32 maxInvites; - int32 dungeonId; - uint32 eventPackedTime; - uint32 unkPackedTime; - uint32 flags; - - recvData >> title >> description >> type >> repeatable >> maxInvites >> dungeonId; - recvData.ReadPackedTime(eventPackedTime); - recvData.ReadPackedTime(unkPackedTime); - recvData >> flags; - // prevent events in the past // To Do: properly handle timezones and remove the "- time_t(86400L)" hack - if (time_t(eventPackedTime) < (time(NULL) - time_t(86400L))) - { - recvData.rfinish(); + if (calendarAddEvent.EventInfo.Time < (time(NULL) - time_t(86400L))) return; - } - CalendarEvent* calendarEvent = new CalendarEvent(sCalendarMgr->GetFreeEventId(), guid, UI64LIT(0), CalendarEventType(type), dungeonId, - time_t(eventPackedTime), flags, time_t(unkPackedTime), title, description); + CalendarEvent* calendarEvent = new CalendarEvent(sCalendarMgr->GetFreeEventId(), guid, UI64LIT(0), CalendarEventType(calendarAddEvent.EventInfo.EventType), calendarAddEvent.EventInfo.TextureID, + calendarAddEvent.EventInfo.Time, calendarAddEvent.EventInfo.Flags, calendarAddEvent.EventInfo.Title, calendarAddEvent.EventInfo.Description, time_t(0)); if (calendarEvent->IsGuildEvent() || calendarEvent->IsGuildAnnouncement()) if (Player* creator = ObjectAccessor::FindPlayer(guid)) @@ -243,108 +166,52 @@ void WorldSession::HandleCalendarAddEvent(WorldPacket& recvData) if (calendarEvent->IsGuildAnnouncement()) { - // 946684800 is 01/01/2000 00:00:00 - default response time - CalendarInvite invite(0, calendarEvent->GetEventId(), ObjectGuid::Empty, guid, 946684800, CALENDAR_STATUS_NOT_SIGNED_UP, CALENDAR_RANK_PLAYER, ""); + CalendarInvite invite(0, calendarEvent->GetEventId(), ObjectGuid::Empty, guid, CALENDAR_DEFAULT_RESPONSE_TIME, CALENDAR_STATUS_NOT_SIGNED_UP, CALENDAR_RANK_PLAYER, ""); // WARNING: By passing pointer to a local variable, the underlying method(s) must NOT perform any kind // of storage of the pointer as it will lead to memory corruption sCalendarMgr->AddInvite(calendarEvent, &invite); } else { - // client limits the amount of players to be invited to 100 - const uint32 MaxPlayerInvites = 100; - - uint32 inviteCount; - ObjectGuid invitee[MaxPlayerInvites]; - uint8 status[MaxPlayerInvites]; - uint8 rank[MaxPlayerInvites]; - - memset(status, 0, sizeof(status)); - memset(rank, 0, sizeof(rank)); - - try - { - recvData >> inviteCount; - - for (uint32 i = 0; i < inviteCount && i < MaxPlayerInvites; ++i) - { - recvData >> invitee[i]; - recvData >> status[i] >> rank[i]; - } - } - catch (ByteBufferException const&) - { - delete calendarEvent; - calendarEvent = NULL; - throw; - } - SQLTransaction trans; - if (inviteCount > 1) + if (calendarAddEvent.EventInfo.Invites.size() > 1) trans = CharacterDatabase.BeginTransaction(); - for (uint32 i = 0; i < inviteCount && i < MaxPlayerInvites; ++i) + for (uint32 i = 0; i < calendarAddEvent.EventInfo.Invites.size(); ++i) { - // 946684800 is 01/01/2000 00:00:00 - default response time - CalendarInvite* invite = new CalendarInvite(sCalendarMgr->GetFreeInviteId(), calendarEvent->GetEventId(), invitee[i], guid, 946684800, CalendarInviteStatus(status[i]), CalendarModerationRank(rank[i]), ""); + CalendarInvite* invite = new CalendarInvite(sCalendarMgr->GetFreeInviteId(), calendarEvent->GetEventId(), calendarAddEvent.EventInfo.Invites[i].Guid, + guid, CALENDAR_DEFAULT_RESPONSE_TIME, CalendarInviteStatus(calendarAddEvent.EventInfo.Invites[i].Status), + CalendarModerationRank(calendarAddEvent.EventInfo.Invites[i].Moderator), ""); sCalendarMgr->AddInvite(calendarEvent, invite, trans); } - if (inviteCount > 1) + if (calendarAddEvent.EventInfo.Invites.size() > 1) CharacterDatabase.CommitTransaction(trans); } sCalendarMgr->AddEvent(calendarEvent, CALENDAR_SENDTYPE_ADD); } -void WorldSession::HandleCalendarUpdateEvent(WorldPacket& recvData) +void WorldSession::HandleCalendarUpdateEvent(WorldPackets::Calendar::CalendarUpdateEvent& calendarUpdateEvent) { ObjectGuid guid = _player->GetGUID(); - time_t oldEventTime; - - uint64 eventId; - uint64 inviteId; - std::string title; - std::string description; - uint8 type; - uint8 repetitionType; - uint32 maxInvites; - int32 dungeonId; - uint32 eventPackedTime; - uint32 timeZoneTime; - uint32 flags; - - recvData >> eventId >> inviteId >> title >> description >> type >> repetitionType >> maxInvites >> dungeonId; - recvData.ReadPackedTime(eventPackedTime); - recvData.ReadPackedTime(timeZoneTime); - recvData >> flags; + time_t oldEventTime = time_t(0); // prevent events in the past // To Do: properly handle timezones and remove the "- time_t(86400L)" hack - if (time_t(eventPackedTime) < (time(NULL) - time_t(86400L))) - { - recvData.rfinish(); + if (calendarUpdateEvent.EventInfo.Time < (time(NULL) - time_t(86400L))) return; - } - - TC_LOG_DEBUG("network", "CMSG_CALENDAR_UPDATE_EVENT [%s] EventId [" UI64FMTD - "], InviteId [" UI64FMTD "] Title %s, Description %s, type %u " - "Repeatable %u, MaxInvites %u, Dungeon ID %d, Time %u " - "Time2 %u, Flags %u", guid.ToString().c_str(), eventId, inviteId, title.c_str(), - description.c_str(), type, repetitionType, maxInvites, dungeonId, - eventPackedTime, timeZoneTime, flags); - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarUpdateEvent.EventInfo.EventID)) { - oldEventTime = calendarEvent->GetEventTime(); + oldEventTime = calendarEvent->GetDate(); - calendarEvent->SetType(CalendarEventType(type)); - calendarEvent->SetFlags(flags); - calendarEvent->SetEventTime(time_t(eventPackedTime)); - calendarEvent->SetTimeZoneTime(time_t(timeZoneTime)); // Not sure, seems constant from the little sniffs we have - calendarEvent->SetDungeonId(dungeonId); - calendarEvent->SetTitle(title); - calendarEvent->SetDescription(description); + calendarEvent->SetType(CalendarEventType(calendarUpdateEvent.EventInfo.EventType)); + calendarEvent->SetFlags(calendarUpdateEvent.EventInfo.Flags); + calendarEvent->SetDate(calendarUpdateEvent.EventInfo.Time); + calendarEvent->SetTextureId(calendarUpdateEvent.EventInfo.TextureID); + calendarEvent->SetTitle(calendarUpdateEvent.EventInfo.Title); + calendarEvent->SetDescription(calendarUpdateEvent.EventInfo.Description); sCalendarMgr->UpdateEvent(calendarEvent); sCalendarMgr->SendCalendarEventUpdateAlert(*calendarEvent, oldEventTime); @@ -353,44 +220,28 @@ void WorldSession::HandleCalendarUpdateEvent(WorldPacket& recvData) sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarRemoveEvent(WorldPacket& recvData) +void WorldSession::HandleCalendarRemoveEvent(WorldPackets::Calendar::CalendarRemoveEvent& calendarRemoveEvent) { ObjectGuid guid = _player->GetGUID(); - uint64 eventId; - - recvData >> eventId; - recvData.rfinish(); // Skip flags & invite ID, we don't use them - - sCalendarMgr->RemoveEvent(eventId, guid); + sCalendarMgr->RemoveEvent(calendarRemoveEvent.EventID, guid); } -void WorldSession::HandleCalendarCopyEvent(WorldPacket& recvData) +void WorldSession::HandleCalendarCopyEvent(WorldPackets::Calendar::CalendarCopyEvent& calendarCopyEvent) { ObjectGuid guid = _player->GetGUID(); - uint64 eventId; - uint64 inviteId; - uint32 eventTime; - - recvData >> eventId >> inviteId; - recvData.ReadPackedTime(eventTime); - TC_LOG_DEBUG("network", "CMSG_CALENDAR_COPY_EVENT [%s], EventId [" UI64FMTD - "] inviteId [" UI64FMTD "] Time: %u", guid.ToString().c_str(), eventId, inviteId, eventTime); // prevent events in the past // To Do: properly handle timezones and remove the "- time_t(86400L)" hack - if (time_t(eventTime) < (time(NULL) - time_t(86400L))) - { - recvData.rfinish(); + if (calendarCopyEvent.Date < (time(NULL) - time_t(86400L))) return; - } - if (CalendarEvent* oldEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* oldEvent = sCalendarMgr->GetEvent(calendarCopyEvent.EventID)) { CalendarEvent* newEvent = new CalendarEvent(*oldEvent, sCalendarMgr->GetFreeEventId()); - newEvent->SetEventTime(time_t(eventTime)); + newEvent->SetDate(calendarCopyEvent.Date); sCalendarMgr->AddEvent(newEvent, CALENDAR_SENDTYPE_COPY); - CalendarInviteStore invites = sCalendarMgr->GetEventInvites(eventId); + CalendarInviteStore invites = sCalendarMgr->GetEventInvites(calendarCopyEvent.EventID); SQLTransaction trans; if (invites.size() > 1) trans = CharacterDatabase.BeginTransaction(); @@ -400,31 +251,21 @@ void WorldSession::HandleCalendarCopyEvent(WorldPacket& recvData) if (invites.size() > 1) CharacterDatabase.CommitTransaction(trans); - // should we change owner when somebody makes a copy of event owned by another person? + // Should we change owner when somebody makes a copy of event owned by another person? } else sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarEventInvite(WorldPacket& recvData) +void WorldSession::HandleCalendarEventInvite(WorldPackets::Calendar::CalendarEventInvite& calendarEventInvite) { - TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_INVITE"); - ObjectGuid playerGuid = _player->GetGUID(); - uint64 eventId; - uint64 inviteId; - std::string name; - bool isPreInvite; - bool isGuildEvent; - ObjectGuid inviteeGuid; uint32 inviteeTeam = 0; ObjectGuid::LowType inviteeGuildId = UI64LIT(0); - recvData >> eventId >> inviteId >> name >> isPreInvite >> isGuildEvent; - - if (Player* player = ObjectAccessor::FindConnectedPlayerByName(name)) + if (Player* player = ObjectAccessor::FindConnectedPlayerByName(calendarEventInvite.Name)) { // Invitee is online inviteeGuid = player->GetGUID(); @@ -435,7 +276,7 @@ void WorldSession::HandleCalendarEventInvite(WorldPacket& recvData) { // Invitee offline, get data from database PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GUID_RACE_ACC_BY_NAME); - stmt->setString(0, name); + stmt->setString(0, calendarEventInvite.Name); if (PreparedQueryResult result = CharacterDatabase.Query(stmt)) { Field* fields = result->Fetch(); @@ -462,14 +303,14 @@ void WorldSession::HandleCalendarEventInvite(WorldPacket& recvData) Field* fields = result->Fetch(); if (fields[0].GetUInt8() & SOCIAL_FLAG_IGNORED) { - sCalendarMgr->SendCalendarCommandResult(playerGuid, CALENDAR_ERROR_IGNORING_YOU_S, name.c_str()); + sCalendarMgr->SendCalendarCommandResult(playerGuid, CALENDAR_ERROR_IGNORING_YOU_S, calendarEventInvite.Name.c_str()); return; } } - if (!isPreInvite) + if (!calendarEventInvite.Creating) { - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarEventInvite.EventID)) { if (calendarEvent->IsGuildEvent() && calendarEvent->GetGuildId() == inviteeGuildId) { @@ -478,8 +319,7 @@ void WorldSession::HandleCalendarEventInvite(WorldPacket& recvData) return; } - // 946684800 is 01/01/2000 00:00:00 - default response time - CalendarInvite* invite = new CalendarInvite(sCalendarMgr->GetFreeInviteId(), eventId, inviteeGuid, playerGuid, 946684800, CALENDAR_STATUS_INVITED, CALENDAR_RANK_PLAYER, ""); + CalendarInvite* invite = new CalendarInvite(sCalendarMgr->GetFreeInviteId(), calendarEventInvite.EventID, inviteeGuid, playerGuid, CALENDAR_DEFAULT_RESPONSE_TIME, CALENDAR_STATUS_INVITED, CALENDAR_RANK_PLAYER, ""); sCalendarMgr->AddInvite(calendarEvent, invite); } else @@ -487,28 +327,24 @@ void WorldSession::HandleCalendarEventInvite(WorldPacket& recvData) } else { - if (isGuildEvent && inviteeGuildId == _player->GetGuildId()) + if (calendarEventInvite.IsSignUp && inviteeGuildId == _player->GetGuildId()) { sCalendarMgr->SendCalendarCommandResult(playerGuid, CALENDAR_ERROR_NO_GUILD_INVITES); return; } - // 946684800 is 01/01/2000 00:00:00 - default response time - CalendarInvite invite(inviteId, 0, inviteeGuid, playerGuid, 946684800, CALENDAR_STATUS_INVITED, CALENDAR_RANK_PLAYER, ""); + CalendarInvite invite(sCalendarMgr->GetFreeInviteId(), 0L, inviteeGuid, playerGuid, CALENDAR_DEFAULT_RESPONSE_TIME, CALENDAR_STATUS_INVITED, CALENDAR_RANK_PLAYER, ""); sCalendarMgr->SendCalendarEventInvite(invite); } } -void WorldSession::HandleCalendarEventSignup(WorldPacket& recvData) +void WorldSession::HandleCalendarEventSignup(WorldPackets::Calendar::CalendarEventSignUp& calendarEventSignUp) { ObjectGuid guid = _player->GetGUID(); - uint64 eventId; - bool tentative; - recvData >> eventId >> tentative; - TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_SIGNUP [%s] EventId [" UI64FMTD "] Tentative %u", guid.ToString().c_str(), eventId, tentative); + TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_SIGNUP [%s] EventId [" UI64FMTD "] Tentative %u", guid.ToString().c_str(), calendarEventSignUp.EventID, calendarEventSignUp.Tentative); - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarEventSignUp.EventID)) { if (calendarEvent->IsGuildEvent() && calendarEvent->GetGuildId() != _player->GetGuildId()) { @@ -516,8 +352,8 @@ void WorldSession::HandleCalendarEventSignup(WorldPacket& recvData) return; } - CalendarInviteStatus status = tentative ? CALENDAR_STATUS_TENTATIVE : CALENDAR_STATUS_SIGNED_UP; - CalendarInvite* invite = new CalendarInvite(sCalendarMgr->GetFreeInviteId(), eventId, guid, guid, time(NULL), status, CALENDAR_RANK_PLAYER, ""); + CalendarInviteStatus status = calendarEventSignUp.Tentative ? CALENDAR_STATUS_TENTATIVE : CALENDAR_STATUS_SIGNED_UP; + CalendarInvite* invite = new CalendarInvite(sCalendarMgr->GetFreeInviteId(), calendarEventSignUp.EventID, guid, guid, time(NULL), status, CALENDAR_RANK_PLAYER, ""); sCalendarMgr->AddInvite(calendarEvent, invite); sCalendarMgr->SendCalendarClearPendingAction(guid); } @@ -525,31 +361,23 @@ void WorldSession::HandleCalendarEventSignup(WorldPacket& recvData) sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarEventRsvp(WorldPacket& recvData) +void WorldSession::HandleCalendarEventRsvp(WorldPackets::Calendar::CalendarEventRSVP& calendarEventRSVP) { ObjectGuid guid = _player->GetGUID(); - uint64 eventId; - uint64 inviteId; - uint32 status; - recvData >> eventId >> inviteId >> status; - TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_RSVP [%s] EventId [" - UI64FMTD "], InviteId [" UI64FMTD "], status %u", guid.ToString().c_str(), eventId, - inviteId, status); - - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarEventRSVP.EventID)) { - // i think we still should be able to remove self from locked events - if (status != CALENDAR_STATUS_REMOVED && calendarEvent->GetFlags() & CALENDAR_FLAG_INVITES_LOCKED) + // I think we still should be able to remove self from locked events + if (calendarEventRSVP.Status != CALENDAR_STATUS_REMOVED && calendarEvent->IsLocked()) { sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_LOCKED); return; } - if (CalendarInvite* invite = sCalendarMgr->GetInvite(inviteId)) + if (CalendarInvite* invite = sCalendarMgr->GetInvite(calendarEventRSVP.InviteID)) { - invite->SetStatus(CalendarInviteStatus(status)); - invite->SetStatusTime(time(NULL)); + invite->SetStatus(CalendarInviteStatus(calendarEventRSVP.Status)); + invite->SetResponseTime(time(NULL)); sCalendarMgr->UpdateInvite(invite); sCalendarMgr->SendCalendarEventStatus(*calendarEvent, *invite); @@ -562,61 +390,45 @@ void WorldSession::HandleCalendarEventRsvp(WorldPacket& recvData) sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarEventRemoveInvite(WorldPacket& recvData) +void WorldSession::HandleCalendarEventRemoveInvite(WorldPackets::Calendar::CalendarRemoveInvite& calendarRemoveInvite) { ObjectGuid guid = _player->GetGUID(); - ObjectGuid invitee; - uint64 eventId; - uint64 ownerInviteId; // isn't it sender's inviteId? - uint64 inviteId; - - recvData >> invitee; - recvData >> inviteId >> ownerInviteId >> eventId; TC_LOG_DEBUG("network", "CMSG_CALENDAR_REMOVE_INVITE [%s] EventId [" UI64FMTD "], ownerInviteId [" UI64FMTD "], Invitee ([%s] id: [" UI64FMTD "])", - guid.ToString().c_str(), eventId, ownerInviteId, invitee.ToString().c_str(), inviteId); + guid.ToString().c_str(), calendarRemoveInvite.EventID, calendarRemoveInvite.ModeratorID, calendarRemoveInvite.Guid.ToString().c_str(), calendarRemoveInvite.InviteID); - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarRemoveInvite.EventID)) { - if (calendarEvent->GetCreatorGUID() == invitee) + if (calendarEvent->GetOwnerGUID() == calendarRemoveInvite.Guid) { sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_DELETE_CREATOR_FAILED); return; } - sCalendarMgr->RemoveInvite(inviteId, eventId, guid); + sCalendarMgr->RemoveInvite(calendarRemoveInvite.InviteID, calendarRemoveInvite.EventID, guid); } else sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_NO_INVITE); } -void WorldSession::HandleCalendarEventStatus(WorldPacket& recvData) +void WorldSession::HandleCalendarEventStatus(WorldPackets::Calendar::CalendarEventStatus& calendarEventStatus) { ObjectGuid guid = _player->GetGUID(); - ObjectGuid invitee; - uint64 eventId; - uint64 inviteId; - uint64 ownerInviteId; // isn't it sender's inviteId? - uint8 status; - recvData >> invitee; - recvData >> eventId >> inviteId >> ownerInviteId >> status; TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_STATUS [%s] EventId [" UI64FMTD "] ownerInviteId [" UI64FMTD "], Invitee ([%s] id: [" - UI64FMTD "], status %u", guid.ToString().c_str(), eventId, ownerInviteId, invitee.ToString().c_str(), inviteId, status); + UI64FMTD "], status %u", guid.ToString().c_str(), calendarEventStatus.EventID, calendarEventStatus.ModeratorID, calendarEventStatus.Guid.ToString().c_str(), calendarEventStatus.InviteID, calendarEventStatus.Status); - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarEventStatus.EventID)) { - if (CalendarInvite* invite = sCalendarMgr->GetInvite(inviteId)) + if (CalendarInvite* invite = sCalendarMgr->GetInvite(calendarEventStatus.InviteID)) { - invite->SetStatus((CalendarInviteStatus)status); - // not sure if we should set response time when moderator changes invite status - //invite->SetStatusTime(time(NULL)); + invite->SetStatus((CalendarInviteStatus)calendarEventStatus.Status); sCalendarMgr->UpdateInvite(invite); sCalendarMgr->SendCalendarEventStatus(*calendarEvent, *invite); - sCalendarMgr->SendCalendarClearPendingAction(invitee); + sCalendarMgr->SendCalendarClearPendingAction(calendarEventStatus.Guid); } else sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_NO_INVITE); // correct? @@ -625,26 +437,19 @@ void WorldSession::HandleCalendarEventStatus(WorldPacket& recvData) sCalendarMgr->SendCalendarCommandResult(guid, CALENDAR_ERROR_EVENT_INVALID); } -void WorldSession::HandleCalendarEventModeratorStatus(WorldPacket& recvData) +void WorldSession::HandleCalendarEventModeratorStatus(WorldPackets::Calendar::CalendarEventModeratorStatus& calendarEventModeratorStatus) { ObjectGuid guid = _player->GetGUID(); - ObjectGuid invitee; - uint64 eventId; - uint64 inviteId; - uint64 ownerInviteId; // isn't it sender's inviteId? - uint8 rank; - recvData >> invitee; - recvData >> eventId >> inviteId >> ownerInviteId >> rank; - TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_MODERATOR_STATUS [%s] EventId [" - UI64FMTD "] ownerInviteId [" UI64FMTD "], Invitee ([%s] id: [" - UI64FMTD "], rank %u", guid.ToString().c_str(), eventId, ownerInviteId, invitee.ToString().c_str(), inviteId, rank); + TC_LOG_DEBUG("network", "CMSG_CALENDAR_EVENT_MODERATOR_STATUS [%s] EventID [" + UI64FMTD "] ModeratorID [" UI64FMTD "], Invitee ([%s] InviteID: [" + UI64FMTD "], Status %u", guid.ToString().c_str(), calendarEventModeratorStatus.EventID, calendarEventModeratorStatus.ModeratorID, calendarEventModeratorStatus.Guid.ToString().c_str(), calendarEventModeratorStatus.InviteID, calendarEventModeratorStatus.Status); - if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(eventId)) + if (CalendarEvent* calendarEvent = sCalendarMgr->GetEvent(calendarEventModeratorStatus.EventID)) { - if (CalendarInvite* invite = sCalendarMgr->GetInvite(inviteId)) + if (CalendarInvite* invite = sCalendarMgr->GetInvite(calendarEventModeratorStatus.InviteID)) { - invite->SetRank(CalendarModerationRank(rank)); + invite->SetRank(CalendarModerationRank(calendarEventModeratorStatus.Status)); sCalendarMgr->UpdateInvite(invite); sCalendarMgr->SendCalendarEventModeratorStatusAlert(*calendarEvent, *invite); } @@ -669,27 +474,22 @@ void WorldSession::HandleCalendarComplain(WorldPacket& recvData) // what to do with complains? } -void WorldSession::HandleCalendarGetNumPending(WorldPacket& /*recvData*/) +void WorldSession::HandleCalendarGetNumPending(WorldPackets::Calendar::CalendarGetNumPending& /*calendarGetNumPending*/) { ObjectGuid guid = _player->GetGUID(); uint32 pending = sCalendarMgr->GetPlayerNumPending(guid); TC_LOG_DEBUG("network", "CMSG_CALENDAR_GET_NUM_PENDING: [%s] Pending: %u", guid.ToString().c_str(), pending); - WorldPacket data(SMSG_CALENDAR_SEND_NUM_PENDING, 4); - data << uint32(pending); - SendPacket(&data); + SendPacket(WorldPackets::Calendar::CalendarSendNumPending(pending).Write()); } -void WorldSession::HandleSetSavedInstanceExtend(WorldPacket& recvData) +void WorldSession::HandleSetSavedInstanceExtend(WorldPackets::Calendar::SetSavedInstanceExtend& setSavedInstanceExtend) { - uint32 mapId, difficulty; - uint8 toggleExtend; - recvData >> mapId >> difficulty>> toggleExtend; - TC_LOG_DEBUG("network", "CMSG_SET_SAVED_INSTANCE_EXTEND - MapId: %u, Difficulty: %u, ToggleExtend: %s", mapId, difficulty, toggleExtend ? "On" : "Off"); + TC_LOG_DEBUG("network", "CMSG_SET_SAVED_INSTANCE_EXTEND - MapId: %u, Difficulty: %u, ToggleExtend: %s", setSavedInstanceExtend.MapID, setSavedInstanceExtend.DifficultyID, setSavedInstanceExtend.Extend ? "On" : "Off"); /* - InstancePlayerBind* instanceBind = _player->GetBoundInstance(mapId, Difficulty(difficulty)); + InstancePlayerBind* instanceBind = _player->GetBoundInstance(setSavedInstanceExtend.MapID, Difficulty(setSavedInstanceExtend.DifficultyID)); if (!instanceBind || !instanceBind->save) return; @@ -726,16 +526,15 @@ void WorldSession::SendCalendarRaidLockoutUpdated(InstanceSave const* save) return; ObjectGuid guid = _player->GetGUID(); - TC_LOG_DEBUG("network", "SMSG_CALENDAR_RAID_LOCKOUT_UPDATED [%s] Map: %u, Difficulty %u", - guid.ToString().c_str(), save->GetMapId(), save->GetDifficultyID()); + TC_LOG_DEBUG("network", "SMSG_CALENDAR_RAID_LOCKOUT_UPDATED [%s] Map: %u, Difficulty %u", guid.ToString().c_str(), save->GetMapId(), save->GetDifficultyID()); time_t currTime = time(NULL); - WorldPacket data(SMSG_CALENDAR_RAID_LOCKOUT_UPDATED, 4 + 4 + 4 + 4 + 8); - data.AppendPackedTime(currTime); - data << uint32(save->GetMapId()); - data << uint32(save->GetDifficultyID()); - data << uint32(0); // Amount of seconds that has changed to the reset time - data << uint32(save->GetResetTime() - currTime); - SendPacket(&data); + WorldPackets::Calendar::CalendarRaidLockoutUpdated packet; + packet.DifficultyID = save->GetDifficultyID(); + packet.MapID = save->GetMapId(); + packet.NewTimeRemaining = 0; // FIXME + packet.OldTimeRemaining = save->GetResetTime() - currTime; + + SendPacket(packet.Write()); } diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index c3bc704314f..6faeae4004d 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -2355,7 +2355,7 @@ void WorldSession::HandleReorderCharacters(WorldPackets::Character::ReorderChara CharacterDatabase.CommitTransaction(trans); } -void WorldSession::HandleOpeningCinematic(WorldPacket& /*recvData*/) +void WorldSession::HandleOpeningCinematic(WorldPackets::Misc::OpeningCinematic& /*packet*/) { // Only players that has not yet gained any experience can use this if (_player->GetUInt32Value(PLAYER_XP)) diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index 8db7afbfa35..00c684feef4 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -348,7 +348,7 @@ void WorldSession::HandleSetLootMethodOpcode(WorldPackets::Party::SetLootMethod& if (!group->IsLeader(GetPlayer()->GetGUID())) return; - if (packet.LootMethod > NEED_BEFORE_GREED) + if (packet.LootMethod > PERSONAL_LOOT) return; if (packet.LootThreshold < ITEM_QUALITY_UNCOMMON || packet.LootThreshold > ITEM_QUALITY_ARTIFACT) @@ -359,9 +359,9 @@ void WorldSession::HandleSetLootMethodOpcode(WorldPackets::Party::SetLootMethod& /********************/ // everything's fine, do it - group->SetLootMethod((LootMethod)packet.LootMethod); + group->SetLootMethod(static_cast<LootMethod>(packet.LootMethod)); group->SetMasterLooterGuid(packet.LootMasterGUID); - group->SetLootThreshold((ItemQualities)packet.LootThreshold); + group->SetLootThreshold(static_cast<ItemQualities>(packet.LootThreshold)); group->SendUpdate(); } diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index fe6cb4674bc..34649e80e1c 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -482,3 +482,17 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recvData) loot->NotifyItemRemoved(slotid); --loot->unlootedCount; } + +void WorldSession::HandleSetLootSpecialization(WorldPackets::Loot::SetLootSpecialization& packet) +{ + if (packet.SpecID) + { + if (ChrSpecializationEntry const* chrSpec = sChrSpecializationStore.LookupEntry(packet.SpecID)) + { + if (chrSpec->ClassID == GetPlayer()->getClass()) + GetPlayer()->SetLootSpecId(packet.SpecID); + } + } + else + GetPlayer()->SetLootSpecId(packet.SpecID); +} diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 7fd5ad542ff..48ce07f3668 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -46,6 +46,7 @@ #include "MiscPackets.h" #include "AchievementPackets.h" #include "WhoPackets.h" +#include "InstancePackets.h" void WorldSession::HandleRepopRequest(WorldPackets::Misc::RepopRequest& /*packet*/) { @@ -319,21 +320,29 @@ void WorldSession::HandleLogoutCancelOpcode(WorldPackets::Character::LogoutCance TC_LOG_DEBUG("network", "WORLD: Sent SMSG_LOGOUT_CANCEL_ACK Message"); } -void WorldSession::HandleTogglePvP(WorldPacket& recvData) +void WorldSession::HandleTogglePvP(WorldPackets::Misc::TogglePvP& /*packet*/) { - // this opcode can be used in two ways: Either set explicit new status or toggle old status - if (recvData.size() == 1) + bool inPvP = GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP); + + GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP, !inPvP); + GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER, inPvP); + + if (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP)) { - bool newPvPStatus; - recvData >> newPvPStatus; - GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP, newPvPStatus); - GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER, !newPvPStatus); + if (!GetPlayer()->IsPvP() || GetPlayer()->pvpInfo.EndTimer) + GetPlayer()->UpdatePvP(true, true); } else { - GetPlayer()->ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP); - GetPlayer()->ToggleFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER); + if (!GetPlayer()->pvpInfo.IsHostile && GetPlayer()->IsPvP()) + GetPlayer()->pvpInfo.EndTimer = time(nullptr); // start toggle-off } +} + +void WorldSession::HandleSetPvP(WorldPackets::Misc::SetPvP& packet) +{ + GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP, packet.EnablePVP); + GetPlayer()->ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER, !packet.EnablePVP); if (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP)) { @@ -343,11 +352,8 @@ void WorldSession::HandleTogglePvP(WorldPacket& recvData) else { if (!GetPlayer()->pvpInfo.IsHostile && GetPlayer()->IsPvP()) - GetPlayer()->pvpInfo.EndTimer = time(NULL); // start toggle-off + GetPlayer()->pvpInfo.EndTimer = time(nullptr); // start set-off } - - //if (OutdoorPvP* pvp = _player->GetOutdoorPvP()) - // pvp->HandlePlayerActivityChanged(_player); } void WorldSession::HandlePortGraveyard(WorldPackets::Misc::PortGraveyard& /*packet*/) @@ -1110,11 +1116,8 @@ void WorldSession::SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set< SendPacket(phaseShift.Write()); } -void WorldSession::HandleInstanceLockResponse(WorldPacket& recvPacket) +void WorldSession::HandleInstanceLockResponse(WorldPackets::Instance::InstanceLockResponse& packet) { - uint8 accept; - recvPacket >> accept; - if (!_player->HasPendingBind()) { TC_LOG_INFO("network", "InstanceLockResponse: Player %s (%s) tried to bind himself/teleport to graveyard without a pending bind!", @@ -1122,7 +1125,7 @@ void WorldSession::HandleInstanceLockResponse(WorldPacket& recvPacket) return; } - if (accept) + if (packet.AcceptLock) _player->BindToInstance(); else _player->RepopAtGraveyard(); @@ -1227,3 +1230,8 @@ void WorldSession::SendLoadCUFProfiles() loadCUFProfiles.CUFProfiles.push_back(cufProfile); SendPacket(loadCUFProfiles.Write()); } + +void WorldSession::HandleSetAdvancedCombatLogging(WorldPackets::ClientConfig::SetAdvancedCombatLogging& setAdvancedCombatLogging) +{ + _player->SetAdvancedCombatLogging(setAdvancedCombatLogging.Enable); +} diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index c1818638a56..a9ab4ca841d 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -77,35 +77,50 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe WorldPackets::Query::CreatureStats& stats = response.Stats; - stats.Title = creatureInfo->SubName; - stats.CursorName = creatureInfo->IconName; - stats.CreatureType = creatureInfo->type; - stats.CreatureFamily = creatureInfo->family; - stats.Classification = creatureInfo->rank; - stats.HpMulti = creatureInfo->ModHealth; - stats.EnergyMulti = creatureInfo->ModMana; stats.Leader = creatureInfo->RacialLeader; - CreatureQuestItemList const* items = sObjectMgr->GetCreatureQuestItemList(packet.CreatureID); - if (items) - for (uint32 item : *items) - stats.QuestItems.push_back(item); + stats.Name[0] = creatureInfo->Name; + stats.NameAlt[0] = creatureInfo->FemaleName; - stats.CreatureMovementInfoID = creatureInfo->movementId; - stats.RequiredExpansion = creatureInfo->expansionUnknown; stats.Flags[0] = creatureInfo->type_flags; stats.Flags[1] = creatureInfo->type_flags2; + + stats.CreatureType = creatureInfo->type; + stats.CreatureFamily = creatureInfo->family; + stats.Classification = creatureInfo->rank; + for (uint32 i = 0; i < MAX_KILL_CREDIT; ++i) stats.ProxyCreatureID[i] = creatureInfo->KillCredit[i]; + stats.CreatureDisplayID[0] = creatureInfo->Modelid1; stats.CreatureDisplayID[1] = creatureInfo->Modelid2; stats.CreatureDisplayID[2] = creatureInfo->Modelid3; stats.CreatureDisplayID[3] = creatureInfo->Modelid4; - stats.Name[0] = creatureInfo->Name; - stats.NameAlt[0] = creatureInfo->FemaleName; + + stats.HpMulti = creatureInfo->ModHealth; + stats.EnergyMulti = creatureInfo->ModMana; + + stats.CreatureMovementInfoID = creatureInfo->movementId; + stats.RequiredExpansion = creatureInfo->expansionUnknown; + + stats.Title = creatureInfo->SubName; + //stats.TitleAlt = ; + stats.CursorName = creatureInfo->IconName; + + if (CreatureQuestItemList const* items = sObjectMgr->GetCreatureQuestItemList(packet.CreatureID)) + for (uint32 item : *items) + stats.QuestItems.push_back(item); + + LocaleConstant localeConstant = GetSessionDbLocaleIndex(); + if (localeConstant >= LOCALE_enUS) + if (CreatureLocale const* creatureLocale = sObjectMgr->GetCreatureLocale(packet.CreatureID)) + { + ObjectMgr::GetLocaleString(creatureLocale->Name, localeConstant, stats.Name[0]); + ObjectMgr::GetLocaleString(creatureLocale->NameAlt, localeConstant, stats.NameAlt[0]); + ObjectMgr::GetLocaleString(creatureLocale->Title, localeConstant, stats.Title); + ObjectMgr::GetLocaleString(creatureLocale->TitleAlt, localeConstant, stats.TitleAlt); + } } - else - response.Allow = false; SendPacket(response.Write()); } diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index 9665a41034e..76303c063e5 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -149,7 +149,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPackets::Quest::QuestG Player* player = ObjectAccessor::FindPlayer(_player->GetDivider()); if (player) { - player->SendPushToPartyResponse(_player, QUEST_PARTY_MSG_ACCEPT_QUEST); + player->SendPushToPartyResponse(_player, QUEST_PUSH_ACCEPTED); _player->SetDivider(ObjectGuid::Empty); } } @@ -586,35 +586,35 @@ void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket) if (!receiver->SatisfyQuestStatus(quest, false)) { - sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_HAVE_QUEST); + sender->SendPushToPartyResponse(receiver, QUEST_PUSH_ONQUEST); continue; } if (receiver->GetQuestStatus(questId) == QUEST_STATUS_COMPLETE) { - sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_FINISH_QUEST); + sender->SendPushToPartyResponse(receiver, QUEST_PUSH_ALREADY_DONE); continue; } if (!receiver->CanTakeQuest(quest, false)) { - sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_CANT_TAKE_QUEST); + sender->SendPushToPartyResponse(receiver, QUEST_PUSH_INVALID); continue; } if (!receiver->SatisfyQuestLog(false)) { - sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_LOG_FULL); + sender->SendPushToPartyResponse(receiver, QUEST_PUSH_LOG_FULL); continue; } if (!receiver->GetDivider().IsEmpty()) { - sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_BUSY); + sender->SendPushToPartyResponse(receiver, QUEST_PUSH_BUSY); continue; } - sender->SendPushToPartyResponse(receiver, QUEST_PARTY_MSG_SHARING_QUEST); + sender->SendPushToPartyResponse(receiver, QUEST_PUSH_SUCCESS); if (quest->IsAutoAccept() && receiver->CanAddQuest(quest, true) && receiver->CanTakeQuest(quest, true)) receiver->AddQuestAndCheckCompletion(quest, sender); @@ -629,19 +629,13 @@ void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket) } } -void WorldSession::HandleQuestPushResult(WorldPacket& recvPacket) +void WorldSession::HandleQuestPushResult(WorldPackets::Quest::QuestPushResult& packet) { - ObjectGuid guid; - uint32 questId; - uint8 msg; - recvPacket >> guid >> questId >> msg; - - if (!_player->GetDivider().IsEmpty() && _player->GetDivider() == guid) + if (!_player->GetDivider().IsEmpty() && _player->GetDivider() == packet.SenderGUID) { - Player* player = ObjectAccessor::FindPlayer(_player->GetDivider()); - if (player) + if (Player* player = ObjectAccessor::FindPlayer(_player->GetDivider())) { - player->SendPushToPartyResponse(_player, msg); + player->SendPushToPartyResponse(_player, static_cast<QuestPushReason>(packet.Result)); _player->SetDivider(ObjectGuid::Empty); } } diff --git a/src/server/game/Handlers/VoidStorageHandler.cpp b/src/server/game/Handlers/VoidStorageHandler.cpp index 46e2f1270c1..4ad507895a4 100644 --- a/src/server/game/Handlers/VoidStorageHandler.cpp +++ b/src/server/game/Handlers/VoidStorageHandler.cpp @@ -95,18 +95,6 @@ void WorldSession::HandleVoidStorageQuery(WorldPackets::VoidStorage::QueryVoidSt void WorldSession::HandleVoidStorageTransfer(WorldPackets::VoidStorage::VoidStorageTransfer& voidStorageTransfer) { - if (voidStorageTransfer.DepositsCount > VOID_STORAGE_MAX_DEPOSIT) - { - TC_LOG_DEBUG("network", "WORLD: HandleVoidStorageTransfer - Player (%s, name: %s) wants to deposit more than 9 items (%u).", _player->GetGUID().ToString().c_str(), _player->GetName().c_str(), voidStorageTransfer.DepositsCount); - return; - } - - if (voidStorageTransfer.WithdrawalsCount > VOID_STORAGE_MAX_WITHDRAW) - { - TC_LOG_DEBUG("network", "WORLD: HandleVoidStorageTransfer - Player (%s, name: %s) wants to withdraw more than 9 items (%u).", _player->GetGUID().ToString().c_str(), _player->GetName().c_str(), voidStorageTransfer.WithdrawalsCount); - return; - } - Creature* unit = _player->GetNPCIfCanInteractWith(voidStorageTransfer.Npc, UNIT_NPC_FLAG_VAULTKEEPER); if (!unit) { @@ -120,14 +108,14 @@ void WorldSession::HandleVoidStorageTransfer(WorldPackets::VoidStorage::VoidStor return; } - if (voidStorageTransfer.DepositsCount > _player->GetNumOfVoidStorageFreeSlots()) + if (voidStorageTransfer.Deposits.size() > _player->GetNumOfVoidStorageFreeSlots()) { SendVoidStorageTransferResult(VOID_TRANSFER_ERROR_FULL); return; } uint32 freeBagSlots = 0; - if (voidStorageTransfer.WithdrawalsCount) + if (!voidStorageTransfer.Withdrawals.empty()) { // make this a Player function for (uint8 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; i++) @@ -139,13 +127,13 @@ void WorldSession::HandleVoidStorageTransfer(WorldPackets::VoidStorage::VoidStor ++freeBagSlots; } - if (voidStorageTransfer.WithdrawalsCount > freeBagSlots) + if (voidStorageTransfer.Withdrawals.size() > freeBagSlots) { SendVoidStorageTransferResult(VOID_TRANSFER_ERROR_INVENTORY_FULL); return; } - if (!_player->HasEnoughMoney(uint64(voidStorageTransfer.DepositsCount * VOID_STORAGE_STORE_ITEM_COST))) + if (!_player->HasEnoughMoney(uint64(voidStorageTransfer.Deposits.size() * VOID_STORAGE_STORE_ITEM_COST))) { SendVoidStorageTransferResult(VOID_TRANSFER_ERROR_NOT_ENOUGH_MONEY); return; @@ -153,7 +141,7 @@ void WorldSession::HandleVoidStorageTransfer(WorldPackets::VoidStorage::VoidStor std::pair<VoidStorageItem, uint8> depositItems[VOID_STORAGE_MAX_DEPOSIT]; uint8 depositCount = 0; - for (uint32 i = 0; i < voidStorageTransfer.DepositsCount; ++i) + for (uint32 i = 0; i < voidStorageTransfer.Deposits.size(); ++i) { Item* item = _player->GetItemByGuid(voidStorageTransfer.Deposits[i]); if (!item) @@ -181,7 +169,7 @@ void WorldSession::HandleVoidStorageTransfer(WorldPackets::VoidStorage::VoidStor VoidStorageItem withdrawItems[VOID_STORAGE_MAX_WITHDRAW]; uint8 withdrawCount = 0; - for (uint32 i = 0; i < voidStorageTransfer.WithdrawalsCount; ++i) + for (uint32 i = 0; i < voidStorageTransfer.Withdrawals.size(); ++i) { uint8 slot = 0; VoidStorageItem* itemVS = _player->GetVoidStorageItem(voidStorageTransfer.Withdrawals[i].GetCounter(), slot); diff --git a/src/server/game/Loot/LootMgr.h b/src/server/game/Loot/LootMgr.h index 534ed1a173c..0c5bdc496c8 100644 --- a/src/server/game/Loot/LootMgr.h +++ b/src/server/game/Loot/LootMgr.h @@ -68,7 +68,8 @@ enum LootMethod ROUND_ROBIN = 1, MASTER_LOOT = 2, GROUP_LOOT = 3, - NEED_BEFORE_GREED = 4 + NEED_BEFORE_GREED = 4, + PERSONAL_LOOT = 5 }; enum PermissionTypes diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 07c20ac599e..1fdd92de91c 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3224,8 +3224,8 @@ void InstanceMap::PermBindAllPlayers(Player* source) WorldPackets::Instance::InstanceSaveCreated data; data.Gm = player->IsGameMaster(); player->GetSession()->SendPacket(data.Write()); - - player->GetSession()->SendCalendarRaidLockout(save, true); + if (!player->IsGameMaster()) + player->GetSession()->SendCalendarRaidLockout(save, true); } // if the leader is not in the instance the group will not get a perm bind diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp index a708556fe64..5cb3a2c26c5 100644 --- a/src/server/game/Maps/MapManager.cpp +++ b/src/server/game/Maps/MapManager.cpp @@ -155,9 +155,7 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck) if ((!group || !group->isRaidGroup()) && !sWorld->getBoolConfig(CONFIG_INSTANCE_IGNORE_RAID)) { /// @todo this is not a good place to send the message - WorldPacket data(SMSG_RAID_GROUP_ONLY); - data << uint32(0) << uint32(2); - player->GetSession()->SendPacket(&data); + player->SendRaidGroupOnlyMessage(RAID_GROUP_ERR_ONLY, 0); TC_LOG_DEBUG("maps", "MAP: Player '%s' must be in a raid group to enter instance '%s'", player->GetName().c_str(), mapName); return false; } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 7456e55f5f1..d6f1d240a16 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -510,7 +510,7 @@ enum SpellAttr4 SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag SPELL_ATTR4_UNK11 = 0x00000800, // 11 SPELL_ATTR4_UNK12 = 0x00001000, // 12 - SPELL_ATTR4_UNK13 = 0x00002000, // 13 + SPELL_ATTR4_COMBAT_LOG_NO_CASTER = 0x00002000, // 13 No caster object is sent to client combat log SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS = 0x00004000, // 14 doesn't break auras by damage from these spells SPELL_ATTR4_UNK15 = 0x00008000, // 15 SPELL_ATTR4_NOT_USABLE_IN_ARENA_OR_RATED_BG = 0x00010000, // 16 Cannot be used in both Arenas or Rated Battlegrounds @@ -2032,12 +2032,14 @@ enum SpellMissInfo enum SpellHitType { - SPELL_HIT_TYPE_UNK1 = 0x00001, - SPELL_HIT_TYPE_CRIT = 0x00002, - SPELL_HIT_TYPE_UNK3 = 0x00004, - SPELL_HIT_TYPE_UNK4 = 0x00008, - SPELL_HIT_TYPE_UNK5 = 0x00010, // replace caster? - SPELL_HIT_TYPE_UNK6 = 0x00020 + SPELL_HIT_TYPE_CRIT_DEBUG = 0x01, + SPELL_HIT_TYPE_CRIT = 0x02, + SPELL_HIT_TYPE_HIT_DEBUG = 0x04, + SPELL_HIT_TYPE_SPLIT = 0x08, + SPELL_HIT_TYPE_VICTIM_IS_ATTACKER = 0x10, + SPELL_HIT_TYPE_ATTACK_TABLE_DEBUG = 0x20, + SPELL_HIT_TYPE_UNK = 0x40, + SPELL_HIT_TYPE_NO_ATTACKER = 0x80, // does the same as SPELL_ATTR4_COMBAT_LOG_NO_CASTER }; enum SpellDmgClass @@ -4667,32 +4669,32 @@ enum SpellFamilyNames enum TradeStatus { - TRADE_STATUS_STUNNED = 0, - TRADE_STATUS_TARGET_DEAD = 2, - TRADE_STATUS_PLAYER_IGNORED = 3, - TRADE_STATUS_STATE_CHANGED = 4, - TRADE_STATUS_PETITION = 5, - TRADE_STATUS_FAILED = 6, - TRADE_STATUS_NOT_ENOUGH_CURRENCY = 7, - TRADE_STATUS_TARGET_LOGGING_OUT = 8, - TRADE_STATUS_PROPOSED = 9, - TRADE_STATUS_RESTRICTED_ACCOUNT = 10, - TRADE_STATUS_WRONG_REALM = 12, - TRADE_STATUS_ALREADY_TRADING = 14, - TRADE_STATUS_COMPLETE = 15, - TRADE_STATUS_TARGET_STUNNED = 16, - TRADE_STATUS_ACCEPTED = 17, - TRADE_STATUS_NO_TARGET = 18, - TRADE_STATUS_CURRENCY_NOT_TRADABLE = 19, - TRADE_STATUS_WRONG_FACTION = 20, - TRADE_STATUS_NOT_ON_TAPLIST = 21, - TRADE_STATUS_UNACCEPTED = 23, - TRADE_STATUS_LOGGING_OUT = 24, + TRADE_STATUS_DEAD = 0, + TRADE_STATUS_WRONG_FACTION = 1, + TRADE_STATUS_STATE_CHANGED = 2, + TRADE_STATUS_NOT_ENOUGH_CURRENCY = 3, + TRADE_STATUS_CURRENCY_NOT_TRADABLE = 4, + TRADE_STATUS_TOO_FAR_AWAY = 5, + TRADE_STATUS_RESTRICTED_ACCOUNT = 6, + TRADE_STATUS_ACCEPTED = 8, + TRADE_STATUS_TARGET_DEAD = 9, + TRADE_STATUS_INITIATED = 10, + TRADE_STATUS_TARGET_STUNNED = 11, + TRADE_STATUS_LOGGING_OUT = 12, + TRADE_STATUS_UNACCEPTED = 13, + TRADE_STATUS_NOT_ON_TAPLIST = 14, + TRADE_STATUS_COMPLETE = 16, + TRADE_STATUS_PLAYER_IGNORED = 17, + TRADE_STATUS_ALREADY_TRADING = 19, + TRADE_STATUS_TARGET_LOGGING_OUT = 20, + TRADE_STATUS_FAILED = 21, + TRADE_STATUS_PLAYER_BUSY = 22, + TRADE_STATUS_PROPOSED = 23, + TRADE_STATUS_PETITION = 25, TRADE_STATUS_CANCELLED = 26, - TRADE_STATUS_TOO_FAR_AWAY = 27, - TRADE_STATUS_DEAD = 28, - TRADE_STATUS_INITIATED = 29, - TRADE_STATUS_PLAYER_BUSY = 30 + TRADE_STATUS_WRONG_REALM = 28, + TRADE_STATUS_STUNNED = 30, + TRADE_STATUS_NO_TARGET = 31 }; enum XPColorChar @@ -4937,4 +4939,20 @@ enum TokenResult TOKEN_RESULT_ERROR_TRIAL_RESTRICTED = 8 }; +enum RaidGroupReason +{ + RAID_GROUP_ERR_NONE = 0, + RAID_GROUP_ERR_LOWLEVEL = 1, // "You are too low level to enter this instance." + RAID_GROUP_ERR_ONLY = 2, // "You must be in a raid group to enter this instance." + RAID_GROUP_ERR_FULL = 3, // "The instance is full." + RAID_GROUP_ERR_REQUIREMENTS_UNMATCH = 4 // "You do not meet the requirements to enter this instance." +}; + +enum ResetFailedReason +{ + INSTANCE_RESET_FAILED = 0, // "Cannot reset %s. There are players still inside the instance." + INSTANCE_RESET_FAILED_ZONING = 1, // "Cannot reset %s. There are players in your party attempting to zone into an instance." + INSTANCE_RESET_FAILED_OFFLINE = 2 // "Cannot reset %s. There are players offline in your party." +}; + #endif diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index a2a61cc5da0..3e7b895ffdf 100644 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -52,34 +52,38 @@ namespace WorldPackets enum QuestFailedReason { - INVALIDREASON_DONT_HAVE_REQ = 0, - INVALIDREASON_QUEST_FAILED_LOW_LEVEL = 1, // You are not high enough level for that quest. - INVALIDREASON_QUEST_FAILED_WRONG_RACE = 6, // That quest is not available to your race. - INVALIDREASON_QUEST_ALREADY_DONE = 7, // You have completed that quest. - INVALIDREASON_QUEST_ONLY_ONE_TIMED = 12, // You can only be on one timed quest at a time. - INVALIDREASON_QUEST_ALREADY_ON = 13, // You are already on that quest. - INVALIDREASON_QUEST_FAILED_EXPANSION = 16, // This quest requires an expansion enabled account. - INVALIDREASON_QUEST_ALREADY_ON2 = 18, // You are already on that quest. - INVALIDREASON_QUEST_FAILED_MISSING_ITEMS = 21, // You don't have the required items with you. Check storage. - INVALIDREASON_QUEST_FAILED_NOT_ENOUGH_MONEY = 23, // You don't have enough money for that quest. - INVALIDREASON_DAILY_QUESTS_REMAINING = 26, // You have already completed 25 daily quests today. - INVALIDREASON_QUEST_FAILED_CAIS = 27, // You cannot complete quests once you have reached tired time. - INVALIDREASON_DAILY_QUEST_COMPLETED_TODAY = 29 // You have completed that daily quest today. + QUEST_ERR_NONE = 0, + QUEST_ERR_FAILED_LOW_LEVEL = 1, // "You are not high enough level for that quest."" + QUEST_ERR_FAILED_WRONG_RACE = 6, // "That quest is not available to your race." + QUEST_ERR_ALREADY_DONE = 7, // "You have completed that daily quest today." + QUEST_ERR_ONLY_ONE_TIMED = 12, // "You can only be on one timed quest at a time" + QUEST_ERR_ALREADY_ON1 = 13, // "You are already on that quest" + QUEST_ERR_FAILED_EXPANSION = 16, // "This quest requires an expansion enabled account." + QUEST_ERR_ALREADY_ON2 = 18, // "You are already on that quest" + QUEST_ERR_FAILED_MISSING_ITEMS = 21, // "You don't have the required items with you. Check storage." + QUEST_ERR_FAILED_NOT_ENOUGH_MONEY = 23, // "You don't have enough money for that quest" + QUEST_ERR_FAILED_CAIS = 24, // "You cannot complete quests once you have reached tired time" + QUEST_ERR_ALREADY_DONE_DAILY = 26, // "You have completed that daily quest today." + QUEST_ERR_FAILED_SPELL = 28, // "You haven't learned the required spell." + QUEST_ERR_HAS_IN_PROGRESS = 30 // "Progress Bar objective not completed" }; -enum QuestShareMessages +enum QuestPushReason { - QUEST_PARTY_MSG_SHARING_QUEST = 0, - QUEST_PARTY_MSG_CANT_TAKE_QUEST = 1, - QUEST_PARTY_MSG_ACCEPT_QUEST = 2, - QUEST_PARTY_MSG_DECLINE_QUEST = 3, - QUEST_PARTY_MSG_BUSY = 4, - QUEST_PARTY_MSG_LOG_FULL = 5, - QUEST_PARTY_MSG_HAVE_QUEST = 6, - QUEST_PARTY_MSG_FINISH_QUEST = 7, - QUEST_PARTY_MSG_CANT_BE_SHARED_TODAY = 8, - QUEST_PARTY_MSG_SHARING_TIMER_EXPIRED = 9, - QUEST_PARTY_MSG_NOT_IN_PARTY = 10 + QUEST_PUSH_SUCCESS = 0, // "Sharing quest with %s..." + QUEST_PUSH_INVALID = 1, // "%s is not eligible for that quest" + QUEST_PUSH_ACCEPTED = 2, // "%s has accepted your quest" + QUEST_PUSH_DECLINED = 3, // "%s has declined your quest" + QUEST_PUSH_BUSY = 4, // "%s is busy" + QUEST_PUSH_DEAD = 5, // "%s is dead." + QUEST_PUSH_LOG_FULL = 6, // "%s's quest log is full" + QUEST_PUSH_ONQUEST = 7, // "%s is already on that quest" + QUEST_PUSH_ALREADY_DONE = 8, // "%s has completed that quest" + QUEST_PUSH_NOT_DAILY = 9, // "That quest cannot be shared today" + QUEST_PUSH_TIMER_EXPIRED = 10, // "Quest sharing timer has expired" + QUEST_PUSH_NOT_IN_PARTY = 11, // "You are not in a party" + QUEST_PUSH_DIFFERENT_SERVER_DAILY = 12, // "%s is not eligible for that quest today" + QUEST_PUSH_NOT_ALLOWED = 13 // "That quest cannot be shared" }; enum QuestTradeSkill diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp index 142d53c481a..7bd1bbe5d66 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.cpp +++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp @@ -265,3 +265,9 @@ WorldPacket const* WorldPackets::Battleground::BattlegroundPlayerLeft::Write() _worldPacket << Guid; return &_worldPacket; } + +WorldPacket const* WorldPackets::Battleground::DestroyArenaUnit::Write() +{ + _worldPacket << Guid; + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/BattlegroundPackets.h b/src/server/game/Server/Packets/BattlegroundPackets.h index 2b534826436..971bbfd24cb 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.h +++ b/src/server/game/Server/Packets/BattlegroundPackets.h @@ -357,6 +357,16 @@ namespace WorldPackets ObjectGuid Guid; }; + + class DestroyArenaUnit final : public ServerPacket + { + public: + DestroyArenaUnit() : ServerPacket(SMSG_DESTROY_ARENA_UNIT, 16) { } + + WorldPacket const* Write() override; + + ObjectGuid Guid; + }; } } diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp new file mode 100644 index 00000000000..ca80093ba00 --- /dev/null +++ b/src/server/game/Server/Packets/CalendarPackets.cpp @@ -0,0 +1,468 @@ +/* + * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "CalendarPackets.h" +#include "CalendarMgr.h" + +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarEventInfo const& eventInfo) +{ + data << uint64(eventInfo.EventID); + data << uint8(eventInfo.EventType); + data.AppendPackedTime(eventInfo.Date); + data << uint32(eventInfo.Flags); + data << int32(eventInfo.TextureID); + data << eventInfo.EventGuildID; + data << eventInfo.OwnerGuid; + + data.WriteBits(eventInfo.EventName.size(), 8); + data.FlushBits(); + data.WriteString(eventInfo.EventName); + + return data; +} + +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarRaidResetInfo const& resetInfo) +{ + data << int32(resetInfo.MapID); + data << uint32(resetInfo.Duration); + data << int32(resetInfo.Offset); + + return data; +} + +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarRaidLockoutInfo const& lockoutInfo) +{ + data << uint64(lockoutInfo.InstanceID); + data << int32(lockoutInfo.MapID); + data << uint32(lockoutInfo.DifficultyID); + data << uint32(lockoutInfo.ExpireTime); + + return data; +} + +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarInviteInfo const& inviteInfo) +{ + data << uint64(inviteInfo.EventID); + data << uint64(inviteInfo.InviteID); + data << uint8(inviteInfo.Status); + data << uint8(inviteInfo.Moderator); + data << uint8(inviteInfo.InviteType); + data << inviteInfo.InviterGuid; + + return data; +} + +ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarEventInviteInfo const& inviteInfo) +{ + data << inviteInfo.Guid; + data << uint64(inviteInfo.InviteID); + + data << uint8(inviteInfo.Level); + data << uint8(inviteInfo.Status); + data << uint8(inviteInfo.Moderator); + data << uint8(inviteInfo.InviteType); + + data.AppendPackedTime(inviteInfo.ResponseTime); + + data.WriteBits(inviteInfo.Notes.size(), 8); + data.FlushBits(); + data.WriteString(inviteInfo.Notes); + + return data; +} + +void WorldPackets::Calendar::CalendarGetEvent::Read() +{ + _worldPacket >> EventID; +} + +void WorldPackets::Calendar::CalendarGuildFilter::Read() +{ + _worldPacket >> MinLevel; + _worldPacket >> MaxLevel; + _worldPacket >> MaxRankOrder; +} + +ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarAddEventInviteInfo& invite) +{ + buffer >> invite.Guid; + buffer >> invite.Status; + buffer >> invite.Moderator; + return buffer; +} + +ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarAddEventInfo& addEventInfo) +{ + uint8 titleLength = buffer.ReadBits(8); + uint16 descriptionLength = buffer.ReadBits(11); + + buffer >> addEventInfo.EventType; + buffer >> addEventInfo.TextureID; + addEventInfo.Time = buffer.ReadPackedTime(); + buffer >> addEventInfo.Flags; + addEventInfo.Invites.resize(buffer.read<uint32>()); + + addEventInfo.Title = buffer.ReadString(titleLength); + addEventInfo.Description = buffer.ReadString(descriptionLength); + + for (WorldPackets::Calendar::CalendarAddEventInviteInfo& invite : addEventInfo.Invites) + buffer >> invite; + + return buffer; +} + +void WorldPackets::Calendar::CalendarAddEvent::Read() +{ + _worldPacket >> EventInfo; + _worldPacket >> MaxSize; +} + +void WorldPackets::Calendar::CalendarUpdateEvent::Read() +{ + _worldPacket >> EventInfo.EventID; + _worldPacket >> EventInfo.ModeratorID; + _worldPacket >> EventInfo.EventType; + _worldPacket >> EventInfo.TextureID; + EventInfo.Time = _worldPacket.ReadPackedTime(); + _worldPacket >> EventInfo.Flags; + + uint8 titleLen = _worldPacket.ReadBits(8); + uint16 descLen = _worldPacket.ReadBits(11); + + EventInfo.Title = _worldPacket.ReadString(titleLen); + EventInfo.Description = _worldPacket.ReadString(descLen); + _worldPacket >> MaxSize; +} + +void WorldPackets::Calendar::CalendarRemoveEvent::Read() +{ + _worldPacket >> EventID; + _worldPacket >> ModeratorID; + _worldPacket >> Flags; +} + +void WorldPackets::Calendar::CalendarCopyEvent::Read() +{ + _worldPacket >> EventID; + _worldPacket >> ModeratorID; + Date = _worldPacket.ReadPackedTime(); +} + +void WorldPackets::Calendar::CalendarEventRSVP::Read() +{ + _worldPacket >> EventID; + _worldPacket >> InviteID; + _worldPacket >> Status; +} + +void WorldPackets::Calendar::CalendarEventInvite::Read() +{ + _worldPacket >> EventID; + _worldPacket >> ModeratorID; + + uint16 nameLen = _worldPacket.ReadBits(9); + Creating = _worldPacket.ReadBit(); + IsSignUp = _worldPacket.ReadBit(); + + Name = _worldPacket.ReadString(nameLen); +} + +void WorldPackets::Calendar::CalendarEventSignUp::Read() +{ + _worldPacket >> EventID; + Tentative = _worldPacket.ReadBit(); +} + +void WorldPackets::Calendar::CalendarRemoveInvite::Read() +{ + _worldPacket >> Guid; + _worldPacket >> InviteID; + _worldPacket >> ModeratorID; + _worldPacket >> EventID; +} + +void WorldPackets::Calendar::CalendarEventStatus::Read() +{ + _worldPacket >> Guid; + _worldPacket >> EventID; + _worldPacket >> InviteID; + _worldPacket >> ModeratorID; + _worldPacket >> Status; +} + +void WorldPackets::Calendar::SetSavedInstanceExtend::Read() +{ + _worldPacket >> MapID; + _worldPacket >> DifficultyID; + Extend = _worldPacket.ReadBit(); +} + +void WorldPackets::Calendar::CalendarEventModeratorStatus::Read() +{ + _worldPacket >> Guid; + _worldPacket >> EventID; + _worldPacket >> InviteID; + _worldPacket >> ModeratorID; + _worldPacket >> Status; +} + +WorldPacket const* WorldPackets::Calendar::SCalendarEventInvite::Write() +{ + _worldPacket << InviteGuid; + _worldPacket << uint64(EventID); + _worldPacket << uint64(InviteID); + _worldPacket << uint8(Level); + _worldPacket << uint8(Status); + _worldPacket << uint8(Type); + _worldPacket.AppendPackedTime(ResponseTime); + + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarSendCalendar::Write() +{ + _worldPacket << uint32(ServerNow); + _worldPacket.AppendPackedTime(ServerTime); + _worldPacket << uint32(RaidOrigin); + _worldPacket << uint32(Invites.size()); + _worldPacket << uint32(Events.size()); + _worldPacket << uint32(RaidLockouts.size()); + _worldPacket << uint32(RaidResets.size()); + + for (auto const& invite : Invites) + _worldPacket << invite; + + for (auto const& event : Events) + _worldPacket << event; + + for (auto const& lockout : RaidLockouts) + _worldPacket << lockout; + + for (auto const& reset : RaidResets) + _worldPacket << reset; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarSendEvent::Write() +{ + _worldPacket << uint8(EventType); + _worldPacket << OwnerGuid; + _worldPacket << uint64(EventID); + _worldPacket << uint8(GetEventType); + _worldPacket << int32(TextureID); + _worldPacket << uint32(Flags); + _worldPacket.AppendPackedTime(Date); + _worldPacket << uint32(LockDate); + _worldPacket << EventGuildID; + + _worldPacket << uint32(Invites.size()); + for (auto const& invite : Invites) + _worldPacket << invite; + + _worldPacket.WriteBits(EventName.size(), 8); + _worldPacket.WriteBits(Description.size(), 11); + _worldPacket.FlushBits(); + + _worldPacket.WriteString(EventName); + _worldPacket.WriteString(Description); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteAlert::Write() +{ + _worldPacket << uint64(EventID); + _worldPacket.AppendPackedTime(Date); + _worldPacket << uint32(Flags); + _worldPacket << uint8(EventType); + _worldPacket << int32(TextureID); + _worldPacket << EventGuildID; + _worldPacket << uint64(InviteID); + _worldPacket << uint8(Status); + _worldPacket << uint8(ModeratorStatus); + + // Todo: check order + _worldPacket << InvitedByGuid; + _worldPacket << OwnerGuid; + + _worldPacket.WriteBits(EventName.size(), 8); + _worldPacket.FlushBits(); + _worldPacket.WriteString(EventName); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteStatus::Write() +{ + _worldPacket << InviteGuid; + _worldPacket << uint64(EventID); + _worldPacket.AppendPackedTime(Date); + _worldPacket << uint32(Flags); + _worldPacket << uint8(Status); + _worldPacket.AppendPackedTime(ResponseTime); + + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteRemoved::Write() +{ + _worldPacket << InviteGuid; + _worldPacket << uint64(EventID); + _worldPacket << uint32(Flags); + + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteModeratorStatus::Write() +{ + _worldPacket << InviteGuid; + _worldPacket << uint64(EventID); + _worldPacket << uint8(Status); + + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteRemovedAlert::Write() +{ + _worldPacket << uint64(EventID); + _worldPacket.AppendPackedTime(Date); + _worldPacket << uint32(Flags); + _worldPacket << uint8(Status); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventUpdatedAlert::Write() +{ + _worldPacket << uint64(EventID); + + _worldPacket.AppendPackedTime(OriginalDate); + _worldPacket.AppendPackedTime(Date); + _worldPacket << uint32(LockDate); + _worldPacket << uint32(Flags); + _worldPacket << uint32(TextureID); + _worldPacket << uint8(EventType); + + _worldPacket.WriteBits(EventName.size(), 8); + _worldPacket.WriteBits(Description.size(), 11); + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + + _worldPacket.WriteString(EventName); + _worldPacket.WriteString(Description); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventRemovedAlert::Write() +{ + _worldPacket << uint64(EventID); + _worldPacket.AppendPackedTime(Date); + + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarSendNumPending::Write() +{ + _worldPacket << uint32(NumPending); + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarCommandResult::Write() +{ + _worldPacket << uint8(Command); + _worldPacket << uint8(Result); + + _worldPacket.WriteBits(Name.size(), 9); + _worldPacket.FlushBits(); + _worldPacket.WriteString(Name); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutUpdated::Write() +{ + _worldPacket << uint32(ServerTime); + _worldPacket << int32(MapID); + _worldPacket << uint32(DifficultyID); + _worldPacket << int32(NewTimeRemaining); + _worldPacket << int32(OldTimeRemaining); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInitialInvites::Write() +{ + _worldPacket << uint32(Invites.size()); + for (auto const& invite : Invites) + { + _worldPacket << invite.InviteGuid; + _worldPacket << uint8(invite.Level); + } + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteStatusAlert::Write() +{ + _worldPacket << uint64(EventID); + _worldPacket.AppendPackedTime(Date); + _worldPacket << uint32(Flags); + _worldPacket << uint8(Status); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteNotesAlert::Write() +{ + _worldPacket << uint64(EventID); + + _worldPacket.WriteBits(Notes.size(), 8); + _worldPacket.FlushBits(); + _worldPacket.WriteString(Notes); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Calendar::CalendarEventInviteNotes::Write() +{ + _worldPacket << InviteGuid; + _worldPacket << uint64(EventID); + + _worldPacket.WriteBits(Notes.size(), 8); + _worldPacket.WriteBit(ClearPending); + _worldPacket.FlushBits(); + _worldPacket.WriteString(Notes); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h new file mode 100644 index 00000000000..d753113e816 --- /dev/null +++ b/src/server/game/Server/Packets/CalendarPackets.h @@ -0,0 +1,548 @@ +/* + * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef CalendarPackets_h__ +#define CalendarPackets_h__ + +#include "ObjectGuid.h" +#include "Packet.h" +#include "PacketUtilities.h" +#include "CalendarMgr.h" + +namespace WorldPackets +{ + namespace Calendar + { + class CalendarGetCalendar final : public ClientPacket + { + public: + CalendarGetCalendar(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET, std::move(packet)) { } + + void Read() override { } + }; + + class CalendarGetEvent final : public ClientPacket + { + public: + CalendarGetEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_EVENT, std::move(packet)) { } + + void Read() override; + + uint64 EventID = 0; + }; + + class CalendarGuildFilter final : public ClientPacket + { + public: + CalendarGuildFilter(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GUILD_FILTER, std::move(packet)) { } + + void Read() override; + + uint8 MinLevel = 1; + uint8 MaxLevel = 100; + uint8 MaxRankOrder = 0; + }; + + struct CalendarAddEventInviteInfo + { + ObjectGuid Guid; + uint8 Status = 0; + uint8 Moderator = 0; + }; + + struct CalendarAddEventInfo + { + std::string Title; + std::string Description; + uint8 EventType = 0; + int32 TextureID = 0; + time_t Time = time_t(0); + uint32 Flags = 0; + Array<CalendarAddEventInviteInfo, CALENDAR_MAX_INVITES> Invites; + }; + + class CalendarAddEvent final : public ClientPacket + { + public: + CalendarAddEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_ADD_EVENT, std::move(packet)) { } + + void Read() override; + + uint32 MaxSize = 100; + CalendarAddEventInfo EventInfo; + }; + + struct CalendarUpdateEventInfo + { + uint64 EventID = 0; + uint64 ModeratorID = 0; + std::string Title; + std::string Description; + uint8 EventType = 0; + uint32 TextureID = 0; + time_t Time = time_t(0); + uint32 Flags = 0; + }; + + class CalendarUpdateEvent final : public ClientPacket + { + public: + CalendarUpdateEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_UPDATE_EVENT, std::move(packet)) { } + + void Read() override; + + uint32 MaxSize = 0; + CalendarUpdateEventInfo EventInfo; + }; + + class CalendarRemoveEvent final : public ClientPacket + { + public: + CalendarRemoveEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_REMOVE_EVENT, std::move(packet)) { } + + void Read() override; + + uint64 ModeratorID = 0; + uint64 EventID = 0; + uint32 Flags = 0; + }; + + class CalendarCopyEvent final : public ClientPacket + { + public: + CalendarCopyEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COPY_EVENT, std::move(packet)) { } + + void Read() override; + + uint64 ModeratorID = 0; + uint64 EventID = 0; + time_t Date = time_t(0); + }; + + class SCalendarEventInvite final : public ServerPacket + { + public: + SCalendarEventInvite() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE, 43) { } + + WorldPacket const* Write() override; + + uint64 InviteID = 0; + time_t ResponseTime = time_t(0); + uint8 Level = 100; + ObjectGuid InviteGuid; + uint64 EventID = 0; + uint8 Type = 0; + bool ClearPending = false; + uint8 Status = 0; + }; + + struct CalendarSendCalendarInviteInfo + { + uint64 EventID = 0; + uint64 InviteID = 0; + ObjectGuid InviterGuid; + uint8 Status = 0; + uint8 Moderator = 0; + uint8 InviteType = 0; + }; + + struct CalendarSendCalendarRaidLockoutInfo + { + uint64 InstanceID = 0; + int32 MapID = 0; + uint32 DifficultyID = 0; + time_t ExpireTime = time_t(0); + }; + + struct CalendarSendCalendarRaidResetInfo + { + int32 MapID = 0; + uint32 Duration = 0; + int32 Offset = 0; + }; + + struct CalendarSendCalendarEventInfo + { + uint64 EventID = 0; + std::string EventName; + uint8 EventType = 0; + time_t Date = time_t(0); + uint32 Flags = 0; + int32 TextureID = 0; + ObjectGuid EventGuildID; + ObjectGuid OwnerGuid; + }; + + class CalendarSendCalendar final : public ServerPacket + { + public: + CalendarSendCalendar() : ServerPacket(SMSG_CALENDAR_SEND_CALENDAR, 338) { } + + WorldPacket const* Write() override; + + time_t RaidOrigin = time_t(0); + time_t ServerTime = time_t(0); + time_t ServerNow = time_t(0); + std::vector<CalendarSendCalendarInviteInfo> Invites; + std::vector<CalendarSendCalendarRaidLockoutInfo> RaidLockouts; + std::vector<CalendarSendCalendarRaidResetInfo> RaidResets; + std::vector<CalendarSendCalendarEventInfo> Events; + }; + + struct CalendarEventInviteInfo + { + ObjectGuid Guid; + uint64 InviteID = 0; + time_t ResponseTime = time_t(0); + uint8 Level = 1; + uint8 Status = 0; + uint8 Moderator = 0; + uint8 InviteType = 0; + std::string Notes; + }; + + class CalendarSendEvent final : public ServerPacket + { + public: + CalendarSendEvent() : ServerPacket(SMSG_CALENDAR_SEND_EVENT, 93) { } + + WorldPacket const* Write() override; + + ObjectGuid OwnerGuid; + ObjectGuid EventGuildID; + uint64 EventID = 0; + time_t Date = time_t(0); + time_t LockDate = time_t(0); + uint32 Flags = 0; + int32 TextureID = 0; + uint8 GetEventType = 0; + uint8 EventType = 0; + std::string Description; + std::string EventName; + std::vector<CalendarEventInviteInfo> Invites; + }; + + class CalendarEventInviteAlert final : public ServerPacket + { + public: + CalendarEventInviteAlert() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_ALERT, 80) { } + + WorldPacket const* Write() override; + + ObjectGuid OwnerGuid; + ObjectGuid EventGuildID; + ObjectGuid InvitedByGuid; + uint64 InviteID = 0; + uint64 EventID = 0; + uint32 Flags = 0; + time_t Date = time_t(0); + int32 TextureID = 0; + uint8 Status = 0; + uint8 EventType = 0; + uint8 ModeratorStatus = 0; + std::string EventName; + }; + + class CalendarEventInvite final : public ClientPacket + { + public: + CalendarEventInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_INVITE, std::move(packet)) { } + + void Read() override; + + uint64 ModeratorID = 0; + bool IsSignUp = false; + bool Creating = true; + uint64 EventID = 0; + std::string Name; + }; + + class CalendarEventRSVP final : public ClientPacket + { + public: + CalendarEventRSVP(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_RSVP, std::move(packet)) { } + + void Read() override; + + uint64 InviteID = 0; + uint64 EventID = 0; + uint8 Status = 0; + }; + + class CalendarEventInviteStatus final : public ServerPacket + { + public: + CalendarEventInviteStatus() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_STATUS, 41) { } + + WorldPacket const* Write() override; + + uint32 Flags = 0; + uint64 EventID = 0; + uint8 Status = 0; + bool ClearPending = false; + time_t ResponseTime = time_t(0); + time_t Date = time_t(0); + ObjectGuid InviteGuid; + }; + + class CalendarEventInviteRemoved final : public ServerPacket + { + public: + CalendarEventInviteRemoved() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_REMOVED, 29) { } + + WorldPacket const* Write() override; + + ObjectGuid InviteGuid; + uint64 EventID = 0; + uint32 Flags = 0; + bool ClearPending = false; + }; + + class CalendarEventInviteModeratorStatus final : public ServerPacket + { + public: + CalendarEventInviteModeratorStatus() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS, 26) { } + + WorldPacket const* Write() override; + + ObjectGuid InviteGuid; + uint64 EventID = 0; + uint8 Status = 0; + bool ClearPending = false; + }; + + class CalendarEventInviteRemovedAlert final : public ServerPacket + { + public: + CalendarEventInviteRemovedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT, 17) { } + + WorldPacket const* Write() override; + + uint64 EventID = 0; + time_t Date = time_t(0); + uint32 Flags = 0; + uint8 Status = 0; + }; + + class CalendarClearPendingAction final : public ServerPacket + { + public: + CalendarClearPendingAction() : ServerPacket(SMSG_CALENDAR_CLEAR_PENDING_ACTION, 0) { } + + WorldPacket const* Write() override { return &_worldPacket; } + }; + + class CalendarEventUpdatedAlert final : public ServerPacket + { + public: + CalendarEventUpdatedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_UPDATED_ALERT, 32) { } + + WorldPacket const* Write() override; + + uint64 EventID = 0; + time_t Date = time_t(0); + uint32 Flags = 0; + time_t LockDate = time_t(0); + time_t OriginalDate = time_t(0); + int32 TextureID = 0; + uint8 EventType = 0; + bool ClearPending = false; + std::string Description; + std::string EventName; + }; + + class CalendarEventRemovedAlert final : public ServerPacket + { + public: + CalendarEventRemovedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_REMOVED_ALERT, 13) { } + + WorldPacket const* Write() override; + + uint64 EventID = 0; + time_t Date = time_t(0); + bool ClearPending = false; + }; + + class CalendarSendNumPending final : public ServerPacket + { + public: + CalendarSendNumPending() : ServerPacket(SMSG_CALENDAR_SEND_NUM_PENDING, 4) { } + CalendarSendNumPending(uint32 numPending) : ServerPacket(SMSG_CALENDAR_SEND_NUM_PENDING, 4), NumPending(numPending) { } + + WorldPacket const* Write() override; + + uint32 NumPending = 0; + }; + + class CalendarGetNumPending final : public ClientPacket + { + public: + CalendarGetNumPending(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_NUM_PENDING, std::move(packet)) { } + + void Read() override { } + }; + + class CalendarEventSignUp final : public ClientPacket + { + public: + CalendarEventSignUp(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_SIGN_UP, std::move(packet)) { } + + void Read() override; + + bool Tentative = false; + uint64 EventID = 0; + }; + + class CalendarRemoveInvite final : public ClientPacket + { + public: + CalendarRemoveInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_REMOVE_INVITE, std::move(packet)) { } + + void Read() override; + + ObjectGuid Guid; + uint64 EventID = 0; + uint64 ModeratorID = 0; + uint64 InviteID = 0; + }; + + class CalendarEventStatus final : public ClientPacket + { + public: + CalendarEventStatus(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_STATUS, std::move(packet)) { } + + void Read() override; + + ObjectGuid Guid; + uint64 EventID = 0; + uint64 ModeratorID = 0; + uint64 InviteID = 0; + uint8 Status = 0; + }; + + class SetSavedInstanceExtend final : public ClientPacket + { + public: + SetSavedInstanceExtend(WorldPacket&& packet) : ClientPacket(CMSG_SET_SAVED_INSTANCE_EXTEND, std::move(packet)) { } + + void Read() override; + + int32 MapID = 0; + bool Extend = false; + uint32 DifficultyID = 0; + }; + + class CalendarEventModeratorStatus final : public ClientPacket + { + public: + CalendarEventModeratorStatus(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_MODERATOR_STATUS, std::move(packet)) { } + + void Read() override; + + ObjectGuid Guid; + uint64 EventID = 0; + uint64 InviteID = 0; + uint64 ModeratorID = 0; + uint8 Status = 0; + }; + + class CalendarCommandResult final : public ServerPacket + { + public: + CalendarCommandResult() : ServerPacket(SMSG_CALENDAR_COMMAND_RESULT, 3) { } + CalendarCommandResult(uint8 command, uint8 result, std::string const& name) : ServerPacket(SMSG_CALENDAR_COMMAND_RESULT, 3), Command(command), Result(result), Name(name) { } + + WorldPacket const* Write() override; + + uint8 Command = 0; + uint8 Result = 0; + std::string Name; + }; + + class CalendarRaidLockoutUpdated final : public ServerPacket + { + public: + CalendarRaidLockoutUpdated() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_UPDATED, 20) { } + + WorldPacket const* Write() override; + + int32 MapID = 0; + int32 OldTimeRemaining = 0; + time_t ServerTime = 0; + uint32 DifficultyID = 0; + int32 NewTimeRemaining = 0; + }; + + struct CalendarEventInitialInviteInfo + { + CalendarEventInitialInviteInfo(ObjectGuid inviteGuid, uint8 level) : InviteGuid(inviteGuid), Level(level) { } + + ObjectGuid InviteGuid; + uint8 Level = 100; + }; + + class CalendarEventInitialInvites final : public ServerPacket + { + public: + CalendarEventInitialInvites() : ServerPacket(SMSG_CALENDAR_EVENT_INITIAL_INVITES, 17) { } + + WorldPacket const* Write() override; + + std::vector<CalendarEventInitialInviteInfo> Invites; + }; + + class CalendarEventInviteStatusAlert final : public ServerPacket + { + public: + CalendarEventInviteStatusAlert() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT, 5) { } + + WorldPacket const* Write() override; + + uint64 EventID = 0; + uint32 Flags = 0; + time_t Date = time_t(0); + uint8 Status = 0; + }; + + class CalendarEventInviteNotesAlert final : public ServerPacket + { + public: + CalendarEventInviteNotesAlert() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT, 9) { } + CalendarEventInviteNotesAlert(uint64 eventID, std::string const& notes) : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT, 8 + notes.size()), EventID(eventID), Notes(notes) { } + + WorldPacket const* Write() override; + + uint64 EventID = 0; + std::string Notes; + }; + + class CalendarEventInviteNotes final : public ServerPacket + { + public: + CalendarEventInviteNotes() : ServerPacket(SMSG_CALENDAR_EVENT_INVITE_NOTES, 26) { } + + WorldPacket const* Write() override; + + ObjectGuid InviteGuid; + uint64 EventID = 0; + std::string Notes; + bool ClearPending = false; + }; + } +} + +#endif // CalendarPackets_h__ diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 9c6bb07f56e..afeb3e2a6b6 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -316,10 +316,15 @@ WorldPacket const* WorldPackets::Character::GenerateRandomCharacterNameResult::W return &_worldPacket; } +WorldPackets::Character::ReorderCharacters::ReorderCharacters(WorldPacket&& packet) : ClientPacket(CMSG_REORDER_CHARACTERS, std::move(packet)), + Entries(sWorld->getIntConfig(CONFIG_CHARACTERS_PER_REALM)) +{ + +} + void WorldPackets::Character::ReorderCharacters::Read() { - uint32 count = std::min<uint32>(_worldPacket.ReadBits(9), sWorld->getIntConfig(CONFIG_CHARACTERS_PER_REALM)); - Entries.resize(count); + Entries.resize(_worldPacket.ReadBits(9)); for (ReorderInfo& reorderInfo : Entries) { _worldPacket >> reorderInfo.PlayerGUID; diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index 10f1053f8ee..018564350b0 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -20,6 +20,7 @@ #include "Packet.h" #include "Player.h" +#include "PacketUtilities.h" namespace WorldPackets { @@ -351,11 +352,11 @@ namespace WorldPackets uint8 NewPosition = 0; }; - ReorderCharacters(WorldPacket&& packet) : ClientPacket(CMSG_REORDER_CHARACTERS, std::move(packet)) { } + ReorderCharacters(WorldPacket&& packet); void Read() override; - std::list<ReorderInfo> Entries; + Array<ReorderInfo> Entries; }; class UndeleteCharacter final : public ClientPacket diff --git a/src/server/game/Server/Packets/ClientConfigPackets.cpp b/src/server/game/Server/Packets/ClientConfigPackets.cpp index 2ff1bd236f8..74ff955f5d7 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.cpp +++ b/src/server/game/Server/Packets/ClientConfigPackets.cpp @@ -127,3 +127,8 @@ void WorldPackets::ClientConfig::UserClientUpdateAccountData::Read() _worldPacket.read(CompressedData.contents(), compressedSize); } } + +void WorldPackets::ClientConfig::SetAdvancedCombatLogging::Read() +{ + Enable = _worldPacket.ReadBit(); +} diff --git a/src/server/game/Server/Packets/ClientConfigPackets.h b/src/server/game/Server/Packets/ClientConfigPackets.h index a1ed1a355bb..12550a3096b 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.h +++ b/src/server/game/Server/Packets/ClientConfigPackets.h @@ -99,6 +99,16 @@ namespace WorldPackets uint8 DataType = 0; ///< @see enum AccountDataType ByteBuffer CompressedData; }; + + class SetAdvancedCombatLogging final : public ClientPacket + { + public: + SetAdvancedCombatLogging(WorldPacket&& packet) : ClientPacket(CMSG_SET_ADVANCED_COMBAT_LOGGING, std::move(packet)) { } + + void Read() override; + + bool Enable = false; + }; } } diff --git a/src/server/game/Server/Packets/CombatLogPackets.cpp b/src/server/game/Server/Packets/CombatLogPackets.cpp index 295f27375da..1b55bc8e26f 100644 --- a/src/server/game/Server/Packets/CombatLogPackets.cpp +++ b/src/server/game/Server/Packets/CombatLogPackets.cpp @@ -20,167 +20,150 @@ WorldPacket const* WorldPackets::CombatLog::SpellNonMeleeDamageLog::Write() { - _worldPacket << Me; - _worldPacket << CasterGUID; - _worldPacket << SpellID; - _worldPacket << Damage; - _worldPacket << Overkill; - _worldPacket << SchoolMask; - _worldPacket << ShieldBlock; - _worldPacket << Resisted; - _worldPacket << Absorbed; - - _worldPacket.WriteBit(Periodic); - _worldPacket.WriteBits(Flags, 9); - _worldPacket.WriteBit(false); // Debug info - _worldPacket.WriteBit(LogData.is_initialized()); - _worldPacket.FlushBits(); - - if (LogData) - _worldPacket << *LogData; + *this << Me; + *this << CasterGUID; + *this << int32(SpellID); + *this << int32(Damage); + *this << int32(Overkill); + *this << uint8(SchoolMask); + *this << int32(ShieldBlock); + *this << int32(Resisted); + *this << int32(Absorbed); + WriteBit(Periodic); + WriteBits(Flags, 8); + WriteBit(false); // Debug info + WriteLogDataBit(); + FlushBits(); + WriteLogData(); return &_worldPacket; } WorldPacket const* WorldPackets::CombatLog::EnvironmentalDamageLog::Write() { - _worldPacket << Victim; - _worldPacket << Type; - _worldPacket << Amount; - _worldPacket << Resisted; - _worldPacket << Absorbed; - - _worldPacket.WriteBit(LogData.is_initialized()); - _worldPacket.FlushBits(); - - if (LogData) - _worldPacket << *LogData; + *this << Victim; + *this << uint8(Type); + *this << int32(Amount); + *this << int32(Resisted); + *this << int32(Absorbed); + WriteLogDataBit(); + FlushBits(); + WriteLogData(); return &_worldPacket; } WorldPacket const* WorldPackets::CombatLog::SpellExecuteLog::Write() { - _worldPacket << Caster; - _worldPacket << SpellID; - - _worldPacket << uint32(Effects.size()); + *this << Caster; + *this << SpellID; + *this << uint32(Effects.size()); for (SpellLogEffect const& effect : Effects) { - _worldPacket << effect.Effect; + *this << effect.Effect; - _worldPacket << uint32(effect.PowerDrainTargets.size()); - _worldPacket << uint32(effect.ExtraAttacksTargets.size()); - _worldPacket << uint32(effect.DurabilityDamageTargets.size()); - _worldPacket << uint32(effect.GenericVictimTargets.size()); - _worldPacket << uint32(effect.TradeSkillTargets.size()); - _worldPacket << uint32(effect.FeedPetTargets.size()); + *this << uint32(effect.PowerDrainTargets.size()); + *this << uint32(effect.ExtraAttacksTargets.size()); + *this << uint32(effect.DurabilityDamageTargets.size()); + *this << uint32(effect.GenericVictimTargets.size()); + *this << uint32(effect.TradeSkillTargets.size()); + *this << uint32(effect.FeedPetTargets.size()); for (SpellLogEffectPowerDrainParams const& powerDrainTarget : effect.PowerDrainTargets) { - _worldPacket << powerDrainTarget.Victim; - _worldPacket << powerDrainTarget.Points; - _worldPacket << powerDrainTarget.PowerType; - _worldPacket << powerDrainTarget.Amplitude; + *this << powerDrainTarget.Victim; + *this << powerDrainTarget.Points; + *this << powerDrainTarget.PowerType; + *this << powerDrainTarget.Amplitude; } for (SpellLogEffectExtraAttacksParams const& extraAttacksTarget : effect.ExtraAttacksTargets) { - _worldPacket << extraAttacksTarget.Victim; - _worldPacket << extraAttacksTarget.NumAttacks; + *this << extraAttacksTarget.Victim; + *this << extraAttacksTarget.NumAttacks; } for (SpellLogEffectDurabilityDamageParams const& durabilityDamageTarget : effect.DurabilityDamageTargets) { - _worldPacket << durabilityDamageTarget.Victim; - _worldPacket << durabilityDamageTarget.ItemID; - _worldPacket << durabilityDamageTarget.Amount; + *this << durabilityDamageTarget.Victim; + *this << durabilityDamageTarget.ItemID; + *this << durabilityDamageTarget.Amount; } for (SpellLogEffectGenericVictimParams const& genericVictimTarget : effect.GenericVictimTargets) - _worldPacket << genericVictimTarget.Victim; + *this << genericVictimTarget.Victim; for (SpellLogEffectTradeSkillItemParams const& tradeSkillTarget : effect.TradeSkillTargets) - _worldPacket << tradeSkillTarget.ItemID; - + *this << tradeSkillTarget.ItemID; for (SpellLogEffectFeedPetParams const& feedPetTarget : effect.FeedPetTargets) - _worldPacket << feedPetTarget.ItemID; + *this << feedPetTarget.ItemID; } - _worldPacket.WriteBit(LogData.is_initialized()); - _worldPacket.FlushBits(); - - if (LogData) - _worldPacket << *LogData; + WriteLogDataBit(); + FlushBits(); + WriteLogData(); return &_worldPacket; } WorldPacket const* WorldPackets::CombatLog::SpellHealLog::Write() { - _worldPacket << TargetGUID; - _worldPacket << CasterGUID; - - _worldPacket << SpellID; - _worldPacket << Health; - _worldPacket << OverHeal; - _worldPacket << Absorbed; - - _worldPacket.WriteBit(Crit); - _worldPacket.WriteBit(Multistrike); - - _worldPacket.WriteBit(CritRollMade.is_initialized()); - _worldPacket.WriteBit(CritRollNeeded.is_initialized()); - _worldPacket.WriteBit(LogData.is_initialized()); - _worldPacket.FlushBits(); + *this << TargetGUID; + *this << CasterGUID; + *this << int32(SpellID); + *this << int32(Health); + *this << int32(OverHeal); + *this << int32(Absorbed); + WriteBit(Crit); + WriteBit(Multistrike); + WriteBit(CritRollMade.is_initialized()); + WriteBit(CritRollNeeded.is_initialized()); + WriteLogDataBit(); + FlushBits(); if (CritRollMade) - _worldPacket << *CritRollMade; + *this << *CritRollMade; if (CritRollNeeded) - _worldPacket << *CritRollNeeded; + *this << *CritRollNeeded; - if (LogData) - _worldPacket << *LogData; + WriteLogData(); return &_worldPacket; } WorldPacket const* WorldPackets::CombatLog::SpellPeriodicAuraLog::Write() { - _worldPacket << TargetGUID; - _worldPacket << CasterGUID; - _worldPacket << SpellID; - - _worldPacket << uint32(Effects.size()); + *this << TargetGUID; + *this << CasterGUID; + *this << SpellID; + *this << uint32(Effects.size()); for (SpellLogEffect const& effect : Effects) { - _worldPacket << effect.Effect; - _worldPacket << int32(effect.Amount); - _worldPacket << int32(effect.OverHealOrKill); - _worldPacket << int32(effect.SchoolMaskOrPower); - _worldPacket << int32(effect.AbsorbedOrAmplitude); - _worldPacket << int32(effect.Resisted); - - _worldPacket.WriteBit(effect.Crit); - _worldPacket.WriteBit(effect.Multistrike); - - if (_worldPacket.WriteBit(effect.DebugInfo.is_initialized())) + *this << effect.Effect; + *this << int32(effect.Amount); + *this << int32(effect.OverHealOrKill); + *this << int32(effect.SchoolMaskOrPower); + *this << int32(effect.AbsorbedOrAmplitude); + *this << int32(effect.Resisted); + WriteBit(effect.Crit); + WriteBit(effect.Multistrike); + + if (WriteBit(effect.DebugInfo.is_initialized())) { - _worldPacket << float(effect.DebugInfo->CritRollMade); - _worldPacket << float(effect.DebugInfo->CritRollNeeded); + *this << float(effect.DebugInfo->CritRollMade); + *this << float(effect.DebugInfo->CritRollNeeded); } - _worldPacket.FlushBits(); + FlushBits(); } - _worldPacket.WriteBit(LogData.is_initialized()); - _worldPacket.FlushBits(); - if (LogData) - _worldPacket << *LogData; + WriteLogDataBit(); + FlushBits(); + WriteLogData(); return &_worldPacket; } @@ -197,17 +180,16 @@ WorldPacket const* WorldPackets::CombatLog::SpellInterruptLog::Write() WorldPacket const* WorldPackets::CombatLog::SpellEnergizeLog::Write() { - _worldPacket << CasterGUID; - _worldPacket << TargetGUID; + *this << CasterGUID; + *this << TargetGUID; - _worldPacket << int32(SpellID); - _worldPacket << int32(Type); - _worldPacket << int32(Amount); + *this << int32(SpellID); + *this << int32(Type); + *this << int32(Amount); - _worldPacket.WriteBit(LogData.is_initialized()); - _worldPacket.FlushBits(); - if (LogData) - _worldPacket << *LogData; + WriteLogDataBit(); + FlushBits(); + WriteLogData(); return &_worldPacket; } @@ -220,3 +202,135 @@ WorldPacket const* WorldPackets::CombatLog::SpellInstakillLog::Write() return &_worldPacket; } + +ByteBuffer& operator<<(ByteBuffer& buffer, WorldPackets::CombatLog::SpellLogMissDebug const& missDebug) +{ + buffer << float(missDebug.HitRoll); + buffer << float(missDebug.HitRollNeeded); + return buffer; +} + +ByteBuffer& operator<<(ByteBuffer& buffer, WorldPackets::CombatLog::SpellLogMissEntry const& missEntry) +{ + buffer << missEntry.Victim; + buffer << uint8(missEntry.MissReason); + if (buffer.WriteBit(missEntry.Debug.is_initialized())) + buffer << *missEntry.Debug; + + buffer.FlushBits(); + return buffer; +} + +WorldPacket const* WorldPackets::CombatLog::SpellMissLog::Write() +{ + _worldPacket << int32(SpellID); + _worldPacket << Caster; + _worldPacket << uint32(Entries.size()); + for (SpellLogMissEntry const& missEntry : Entries) + _worldPacket << missEntry; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::CombatLog::ProcResist::Write() +{ + _worldPacket << Caster; + _worldPacket << Target; + _worldPacket << int32(SpellID); + _worldPacket.WriteBit(Rolled.is_initialized()); + _worldPacket.WriteBit(Needed.is_initialized()); + _worldPacket.FlushBits(); + + if (Rolled) + _worldPacket << *Rolled; + + if (Needed) + _worldPacket << *Needed; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::CombatLog::SpellOrDamageImmune::Write() +{ + _worldPacket << CasterGUID; + _worldPacket << VictimGUID; + _worldPacket << uint32(SpellID); + _worldPacket.WriteBit(IsPeriodic); + _worldPacket.FlushBits(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::CombatLog::SpellDamageShield::Write() +{ + *this << Attacker; + *this << Defender; + *this << int32(SpellID); + *this << int32(TotalDamage); + *this << int32(OverKill); + *this << int32(SchoolMask); + *this << int32(LogAbsorbed); + WriteLogDataBit(); + FlushBits(); + WriteLogData(); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::CombatLog::AttackerStateUpdate::Write() +{ + ByteBuffer attackRoundInfo; + attackRoundInfo << HitInfo; + attackRoundInfo << AttackerGUID; + attackRoundInfo << VictimGUID; + attackRoundInfo << Damage; + attackRoundInfo << OverDamage; + + if (attackRoundInfo.WriteBit(SubDmg.is_initialized())) + { + attackRoundInfo << SubDmg->SchoolMask; + attackRoundInfo << SubDmg->FDamage; + attackRoundInfo << SubDmg->Damage; + if (HitInfo & (HITINFO_FULL_ABSORB | HITINFO_PARTIAL_ABSORB)) + attackRoundInfo << SubDmg->Absorbed; + if (HitInfo & (HITINFO_FULL_RESIST | HITINFO_PARTIAL_RESIST)) + attackRoundInfo << SubDmg->Resisted; + } + + attackRoundInfo << VictimState; + attackRoundInfo << AttackerState; + attackRoundInfo << MeleeSpellID; + if (HitInfo & HITINFO_BLOCK) + attackRoundInfo << BlockAmount; + + if (HitInfo & HITINFO_RAGE_GAIN) + attackRoundInfo << RageGained; + + if (HitInfo & HITINFO_UNK1) + { + attackRoundInfo << UnkState.State1; + attackRoundInfo << UnkState.State2; + attackRoundInfo << UnkState.State3; + attackRoundInfo << UnkState.State4; + attackRoundInfo << UnkState.State5; + attackRoundInfo << UnkState.State6; + attackRoundInfo << UnkState.State7; + attackRoundInfo << UnkState.State8; + attackRoundInfo << UnkState.State9; + attackRoundInfo << UnkState.State10; + attackRoundInfo << UnkState.State11; + attackRoundInfo << UnkState.State12; + } + if (HitInfo & (HITINFO_BLOCK | HITINFO_UNK12)) + attackRoundInfo << Unk; + + WriteLogDataBit(); + FlushBits(); + WriteLogData(); + + *this << uint32(attackRoundInfo.size()); + _worldPacket.append(attackRoundInfo); + _fullLogPacket.append(attackRoundInfo); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CombatLogPackets.h b/src/server/game/Server/Packets/CombatLogPackets.h index 5566ea62180..408210342e3 100644 --- a/src/server/game/Server/Packets/CombatLogPackets.h +++ b/src/server/game/Server/Packets/CombatLogPackets.h @@ -26,10 +26,59 @@ namespace WorldPackets { namespace CombatLog { - class SpellNonMeleeDamageLog final : public ServerPacket + class CombatLogServerPacket : public ServerPacket { public: - SpellNonMeleeDamageLog() : ServerPacket(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, 60) { } + CombatLogServerPacket(OpcodeServer opcode, size_t initialSize = 200, ConnectionType connection = CONNECTION_TYPE_DEFAULT) + : ServerPacket(opcode, initialSize, connection), _fullLogPacket(opcode, initialSize, connection) { } + + WorldPacket const* GetFullLogPacket() const { return &_fullLogPacket; } + WorldPacket const* GetBasicLogPacket() const { return &_worldPacket; } + + Spells::SpellCastLogData LogData; + + protected: + template<typename T> + void operator<<(T const& val) + { + _worldPacket << val; + _fullLogPacket << val; + } + + void WriteLogDataBit() + { + _worldPacket.WriteBit(false); + _fullLogPacket.WriteBit(true); + } + + void FlushBits() + { + _worldPacket.FlushBits(); + _fullLogPacket.FlushBits(); + } + + bool WriteBit(bool bit) + { + _worldPacket.WriteBit(bit); + _fullLogPacket.WriteBit(bit); + return bit; + } + + void WriteBits(uint32 value, uint32 bitCount) + { + _worldPacket.WriteBits(value, bitCount); + _fullLogPacket.WriteBits(value, bitCount); + } + + ByteBuffer& WriteLogData() { return _fullLogPacket << LogData; } + + WorldPacket _fullLogPacket; + }; + + class SpellNonMeleeDamageLog final : public CombatLogServerPacket + { + public: + SpellNonMeleeDamageLog() : CombatLogServerPacket(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, 60) { } WorldPacket const* Write() override; @@ -41,17 +90,16 @@ namespace WorldPackets bool Periodic = 0.0f; uint8 SchoolMask = 0; ObjectGuid CasterGUID; - Optional<Spells::SpellCastLogData> LogData; int32 Damage = 0; // Optional<SpellNonMeleeDamageLogDebugInfo> Debug Info; int32 Flags = 0; int32 Overkill = 0; }; - class EnvironmentalDamageLog final : public ServerPacket + class EnvironmentalDamageLog final : public CombatLogServerPacket { public: - EnvironmentalDamageLog() : ServerPacket(SMSG_ENVIRONMENTAL_DAMAGE_LOG, 23) { } + EnvironmentalDamageLog() : CombatLogServerPacket(SMSG_ENVIRONMENTAL_DAMAGE_LOG, 23) { } WorldPacket const* Write() override; @@ -60,10 +108,9 @@ namespace WorldPackets int32 Amount = 0; int32 Resisted = 0; int32 Absorbed = 0; - Optional<Spells::SpellCastLogData> LogData; /// @todo: find the correct way where to use it, in sniff always false }; - class SpellExecuteLog final : public ServerPacket + class SpellExecuteLog final : public CombatLogServerPacket { public: struct SpellLogEffect @@ -78,20 +125,19 @@ namespace WorldPackets std::vector<SpellLogEffectFeedPetParams> FeedPetTargets; }; - SpellExecuteLog() : ServerPacket(SMSG_SPELL_EXECUTE_LOG, 16 + 4 + 4 + 1) { } + SpellExecuteLog() : CombatLogServerPacket(SMSG_SPELL_EXECUTE_LOG, 16 + 4 + 4 + 1) { } WorldPacket const* Write() override; ObjectGuid Caster; int32 SpellID = 0; std::vector<SpellLogEffect> Effects; - Optional<Spells::SpellCastLogData> LogData; /// @todo: find the correct way where to use it, in sniff always false }; - class SpellHealLog final : public ServerPacket + class SpellHealLog final : public CombatLogServerPacket { public: - SpellHealLog() : ServerPacket(SMSG_SPELL_HEAL_LOG, 16 + 16 + 4 * 4 + 1) { } + SpellHealLog() : CombatLogServerPacket(SMSG_SPELL_HEAL_LOG, 16 + 16 + 4 * 4 + 1) { } WorldPacket const* Write() override; @@ -105,10 +151,9 @@ namespace WorldPackets bool Multistrike = false; Optional<float> CritRollMade; Optional<float> CritRollNeeded; - Optional<Spells::SpellCastLogData> LogData; /// @todo: find the correct way where to use it, in sniff always false }; - class SpellPeriodicAuraLog final : public ServerPacket + class SpellPeriodicAuraLog final : public CombatLogServerPacket { public: struct PeriodicalAuraLogEffectDebugInfo @@ -130,7 +175,7 @@ namespace WorldPackets Optional<PeriodicalAuraLogEffectDebugInfo> DebugInfo; }; - SpellPeriodicAuraLog() : ServerPacket(SMSG_SPELL_PERIODIC_AURA_LOG, 16 + 16 + 4 + 4 + 1) { } + SpellPeriodicAuraLog() : CombatLogServerPacket(SMSG_SPELL_PERIODIC_AURA_LOG, 16 + 16 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -138,7 +183,6 @@ namespace WorldPackets ObjectGuid CasterGUID; int32 SpellID = 0; std::vector<SpellLogEffect> Effects; - Optional<Spells::SpellCastLogData> LogData; /// @todo: find the correct way where to use it, in sniff always false }; class SpellInterruptLog final : public ServerPacket @@ -154,10 +198,10 @@ namespace WorldPackets int32 SpellID = 0; }; - class SpellEnergizeLog final : public ServerPacket + class SpellEnergizeLog final : public CombatLogServerPacket { public: - SpellEnergizeLog() : ServerPacket(SMSG_SPELL_ENERGIZE_LOG, 16 + 16 + 4 + 4 + 4 + 1) { } + SpellEnergizeLog() : CombatLogServerPacket(SMSG_SPELL_ENERGIZE_LOG, 16 + 16 + 4 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -166,7 +210,6 @@ namespace WorldPackets int32 SpellID = 0; int32 Type = 0; int32 Amount = 0; - Optional<Spells::SpellCastLogData> LogData; /// @todo: find the correct way where to use it, in sniff always false }; class SpellInstakillLog final : public ServerPacket @@ -180,6 +223,123 @@ namespace WorldPackets ObjectGuid Caster; int32 SpellID = 0; }; + + struct SpellLogMissDebug + { + float HitRoll = 0.0f; + float HitRollNeeded = 0.0f; + }; + + struct SpellLogMissEntry + { + SpellLogMissEntry(ObjectGuid const& victim, uint8 missReason) : Victim(victim), MissReason(missReason) { } + + ObjectGuid Victim; + uint8 MissReason = 0; + Optional<SpellLogMissDebug> Debug; + }; + + class SpellMissLog final : public ServerPacket + { + public: + SpellMissLog() : ServerPacket(SMSG_SPELL_MISS_LOG) { } + + WorldPacket const* Write() override; + + int32 SpellID = 0; + ObjectGuid Caster; + std::vector<SpellLogMissEntry> Entries; + }; + + class ProcResist final : public ServerPacket + { + public: + ProcResist() : ServerPacket(SMSG_PROC_RESIST, 16 + 4 + 4 + 4 + 16) { } + + WorldPacket const* Write() override; + + ObjectGuid Caster; + ObjectGuid Target; + int32 SpellID = 0; + Optional<float> Rolled; + Optional<float> Needed; + }; + + class SpellOrDamageImmune final : public ServerPacket + { + public: + SpellOrDamageImmune() : ServerPacket(SMSG_SPELL_OR_DAMAGE_IMMUNE, 16 + 1 + 4 + 16) { } + + WorldPacket const* Write() override; + + ObjectGuid CasterGUID; + ObjectGuid VictimGUID; + uint32 SpellID = 0; + bool IsPeriodic = false; + }; + + class SpellDamageShield final : public CombatLogServerPacket + { + public: + SpellDamageShield() : CombatLogServerPacket(SMSG_SPELL_DAMAGE_SHIELD, 4 + 16 + 4 + 4 + 16 + 4 + 4 + 1) { } + + WorldPacket const* Write() override; + + ObjectGuid Attacker; + ObjectGuid Defender; + int32 SpellID = 0; + int32 TotalDamage = 0; + int32 OverKill = 0; + int32 SchoolMask = 0; + int32 LogAbsorbed = 0; + }; + + struct SubDamage + { + int32 SchoolMask = 0; + float FDamage = 0.0f; // Float damage (Most of the time equals to Damage) + int32 Damage = 0; + int32 Absorbed = 0; + int32 Resisted = 0; + }; + + struct UnkAttackerState + { + int32 State1 = 0; + float State2 = 0.0f; + float State3 = 0.0f; + float State4 = 0.0f; + float State5 = 0.0f; + float State6 = 0.0f; + float State7 = 0.0f; + float State8 = 0.0f; + float State9 = 0.0f; + float State10 = 0.0f; + float State11 = 0.0f; + int32 State12 = 0; + }; + + class AttackerStateUpdate final : public CombatLogServerPacket + { + public: + AttackerStateUpdate() : CombatLogServerPacket(SMSG_ATTACKER_STATE_UPDATE, 70) { } + + WorldPacket const* Write() override; + + uint32 HitInfo = 0; // Flags + ObjectGuid AttackerGUID; + ObjectGuid VictimGUID; + int32 Damage = 0; + int32 OverDamage = -1; // (damage - health) or -1 if unit is still alive + Optional<SubDamage> SubDmg; + uint8 VictimState = 0; + int32 AttackerState = -1; + int32 MeleeSpellID = 0; + int32 BlockAmount = 0; + int32 RageGained = 0; + UnkAttackerState UnkState; + float Unk = 0.0f; + }; } } diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp index d47f2275ee6..0aed54cf3c0 100644 --- a/src/server/game/Server/Packets/CombatPackets.cpp +++ b/src/server/game/Server/Packets/CombatPackets.cpp @@ -94,64 +94,6 @@ WorldPacket const* WorldPackets::Combat::AIReaction::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::AttackerStateUpdate::Write() -{ - if (_worldPacket.WriteBit(LogData.is_initialized())) - _worldPacket << *LogData; - - // Placeholder for size which will be calculated at the end based on packet size - // Client uses this size to copy remaining packet to another CDataStore - _worldPacket << int32(0); - size_t pos = _worldPacket.wpos(); - - _worldPacket << HitInfo; - _worldPacket << AttackerGUID; - _worldPacket << VictimGUID; - _worldPacket << Damage; - _worldPacket << OverDamage; - - if (_worldPacket.WriteBit(SubDmg.is_initialized())) - { - _worldPacket << SubDmg->SchoolMask; - _worldPacket << SubDmg->FDamage; - _worldPacket << SubDmg->Damage; - if (HitInfo & (HITINFO_FULL_ABSORB | HITINFO_PARTIAL_ABSORB)) - _worldPacket << SubDmg->Absorbed; - if (HitInfo & (HITINFO_FULL_RESIST | HITINFO_PARTIAL_RESIST)) - _worldPacket << SubDmg->Resisted; - } - - _worldPacket << VictimState; - _worldPacket << AttackerState; - _worldPacket << MeleeSpellID; - if (HitInfo & HITINFO_BLOCK) - _worldPacket << BlockAmount; - if (HitInfo & HITINFO_RAGE_GAIN) - _worldPacket << RageGained; - if (HitInfo & HITINFO_UNK1) - { - _worldPacket << UnkState.State1; - _worldPacket << UnkState.State2; - _worldPacket << UnkState.State3; - _worldPacket << UnkState.State4; - _worldPacket << UnkState.State5; - _worldPacket << UnkState.State6; - _worldPacket << UnkState.State7; - _worldPacket << UnkState.State8; - _worldPacket << UnkState.State9; - _worldPacket << UnkState.State10; - _worldPacket << UnkState.State11; - _worldPacket << UnkState.State12; - } - if (HitInfo & (HITINFO_BLOCK|HITINFO_UNK12)) - _worldPacket << Unk; - - // Update size placeholder - _worldPacket.put<int32>(pos - sizeof(int32), _worldPacket.wpos() - pos); - - return &_worldPacket; -} - WorldPacket const* WorldPackets::Combat::AttackSwingError::Write() { _worldPacket.WriteBits(Reason, 2); @@ -207,3 +149,10 @@ WorldPacket const* WorldPackets::Combat::PvPCredit::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Combat::BreakTarget::Write() +{ + _worldPacket << UnitGUID; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h index deeb98fe335..b2e4df978c3 100644 --- a/src/server/game/Server/Packets/CombatPackets.h +++ b/src/server/game/Server/Packets/CombatPackets.h @@ -130,54 +130,6 @@ namespace WorldPackets uint32 Reaction = 0; }; - struct SubDamage - { - int32 SchoolMask = 0; - float FDamage = 0.0f; // Float damage (Most of the time equals to Damage) - int32 Damage = 0; - int32 Absorbed = 0; - int32 Resisted = 0; - }; - - struct UnkAttackerState - { - int32 State1 = 0; - float State2 = 0.0f; - float State3 = 0.0f; - float State4 = 0.0f; - float State5 = 0.0f; - float State6 = 0.0f; - float State7 = 0.0f; - float State8 = 0.0f; - float State9 = 0.0f; - float State10 = 0.0f; - float State11 = 0.0f; - int32 State12 = 0; - }; - - class AttackerStateUpdate final : public ServerPacket - { - public: - AttackerStateUpdate() : ServerPacket(SMSG_ATTACKER_STATE_UPDATE, 70) { } - - WorldPacket const* Write() override; - - Optional<Spells::SpellCastLogData> LogData; - uint32 HitInfo = 0; // Flags - ObjectGuid AttackerGUID; - ObjectGuid VictimGUID; - int32 Damage = 0; - int32 OverDamage = -1; // (damage - health) or -1 if unit is still alive - Optional<SubDamage> SubDmg; - uint8 VictimState = 0; - int32 AttackerState = -1; - int32 MeleeSpellID = 0; - int32 BlockAmount = 0; - int32 RageGained = 0; - UnkAttackerState UnkState; - float Unk = 0.0f; - }; - class CancelCombat final : public ServerPacket { public: @@ -258,6 +210,16 @@ namespace WorldPackets int32 Honor = 0; int32 Rank = 0; }; + + class BreakTarget final : public ServerPacket + { + public: + BreakTarget() : ServerPacket(SMSG_BREAK_TARGET, 16) { } + + WorldPacket const* Write() override; + + ObjectGuid UnitGUID; + }; } } diff --git a/src/server/game/Server/Packets/InstancePackets.cpp b/src/server/game/Server/Packets/InstancePackets.cpp index 18533ad9edb..3c0a4ccdb90 100644 --- a/src/server/game/Server/Packets/InstancePackets.cpp +++ b/src/server/game/Server/Packets/InstancePackets.cpp @@ -80,3 +80,16 @@ WorldPacket const* WorldPackets::Instance::InstanceSaveCreated::Write() return &_worldPacket; } + +void WorldPackets::Instance::InstanceLockResponse::Read() +{ + AcceptLock = _worldPacket.ReadBit(); +} + +WorldPacket const* WorldPackets::Instance::RaidGroupOnly::Write() +{ + _worldPacket << Delay; + _worldPacket << Reason; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/InstancePackets.h b/src/server/game/Server/Packets/InstancePackets.h index ebcf8f5f0cf..78539684865 100644 --- a/src/server/game/Server/Packets/InstancePackets.h +++ b/src/server/game/Server/Packets/InstancePackets.h @@ -115,6 +115,27 @@ namespace WorldPackets bool Gm = false; }; + + class InstanceLockResponse final : public ClientPacket + { + public: + InstanceLockResponse(WorldPacket&& packet) : ClientPacket(CMSG_INSTANCE_LOCK_RESPONSE, std::move(packet)) { } + + void Read() override; + + bool AcceptLock = false; + }; + + class RaidGroupOnly final : public ServerPacket + { + public: + RaidGroupOnly() : ServerPacket(SMSG_RAID_GROUP_ONLY, 4 + 4) { } + + WorldPacket const* Write() override; + + int32 Delay = 0; + uint32 Reason = 0; + }; } } diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 6d7fdffc73b..26dda8e646e 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -381,6 +381,7 @@ WorldPacket const* WorldPackets::Item::ItemCooldown::Write() { _worldPacket << ItemGuid; _worldPacket << uint32(SpellID); + _worldPacket << uint32(Cooldown); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index 69a6c5ab997..d179f03b041 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -376,12 +376,13 @@ namespace WorldPackets class ItemCooldown final : public ServerPacket { public: - ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 20) { } + ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 24) { } WorldPacket const* Write() override; ObjectGuid ItemGuid; uint32 SpellID = 0; + uint32 Cooldown = 0; }; class ItemEnchantTimeUpdate final : public ServerPacket diff --git a/src/server/game/Server/Packets/LootPackets.cpp b/src/server/game/Server/Packets/LootPackets.cpp index 029196d22f7..ce0d267778f 100644 --- a/src/server/game/Server/Packets/LootPackets.cpp +++ b/src/server/game/Server/Packets/LootPackets.cpp @@ -56,8 +56,8 @@ WorldPacket const* WorldPackets::Loot::LootResponse::Write() _worldPacket.FlushBits(); } - _worldPacket.WriteBit(PersonalLooting); _worldPacket.WriteBit(Acquired); + _worldPacket.WriteBit(PersonalLooting); _worldPacket.WriteBit(AELooting); _worldPacket.FlushBits(); @@ -121,3 +121,26 @@ WorldPacket const* WorldPackets::Loot::LootReleaseResponse::Write() return &_worldPacket; } + +WorldPacket const* WorldPackets::Loot::LootList::Write() +{ + _worldPacket << Owner; + + _worldPacket.WriteBit(Master.is_initialized()); + _worldPacket.WriteBit(RoundRobinWinner.is_initialized()); + + _worldPacket.FlushBits(); + + if (Master) + _worldPacket << *Master; + + if (RoundRobinWinner) + _worldPacket << *RoundRobinWinner; + + return &_worldPacket; +} + +void WorldPackets::Loot::SetLootSpecialization::Read() +{ + _worldPacket >> SpecID; +} diff --git a/src/server/game/Server/Packets/LootPackets.h b/src/server/game/Server/Packets/LootPackets.h index fd8f545a19f..9bdd8bd3a4f 100644 --- a/src/server/game/Server/Packets/LootPackets.h +++ b/src/server/game/Server/Packets/LootPackets.h @@ -166,6 +166,28 @@ namespace WorldPackets ObjectGuid LootObj; ObjectGuid Owner; }; + + class LootList final : public ServerPacket + { + public: + LootList() : ServerPacket(SMSG_LOOT_LIST, 3 * 16) { } + + WorldPacket const* Write() override; + + ObjectGuid Owner; + Optional<ObjectGuid> Master; + Optional<ObjectGuid> RoundRobinWinner; + }; + + class SetLootSpecialization final : public ClientPacket + { + public: + SetLootSpecialization(WorldPacket&& packet) : ClientPacket(CMSG_SET_LOOT_SPECIALIZATION, std::move(packet)) { } + + void Read() override; + + uint32 SpecID = 0; + }; } } diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 448a1f2b790..7c45810bc13 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -146,7 +146,9 @@ WorldPacket const* WorldPackets::Misc::TutorialFlags::Write() void WorldPackets::Misc::TutorialSetFlag::Read() { Action = _worldPacket.ReadBits(2); - _worldPacket >> TutorialBit; + + if (Action == TUTORIAL_ACTION_UPDATE) + _worldPacket >> TutorialBit; } WorldPacket const* WorldPackets::Misc::WorldServerInfo::Write() @@ -538,3 +540,8 @@ WorldPacket const* WorldPackets::Misc::SetPlayHoverAnim::Write() return &_worldPacket; } + +void WorldPackets::Misc::SetPvP::Read() +{ + EnablePVP = _worldPacket.ReadBit(); +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index caffb0afa11..ea1d32b73cc 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -686,6 +686,32 @@ namespace WorldPackets ObjectGuid UnitGUID; bool PlayHoverAnim = false; }; + + class OpeningCinematic final : public ClientPacket + { + public: + OpeningCinematic(WorldPacket&& packet) : ClientPacket(CMSG_OPENING_CINEMATIC, std::move(packet)) { } + + void Read() override { } + }; + + class TogglePvP final : public ClientPacket + { + public: + TogglePvP(WorldPacket&& packet) : ClientPacket(CMSG_TOGGLE_PVP, std::move(packet)) { } + + void Read() override { } + }; + + class SetPvP final : public ClientPacket + { + public: + SetPvP(WorldPacket&& packet) : ClientPacket(CMSG_SET_PVP, std::move(packet)) { } + + void Read() override; + + bool EnablePVP = false; + }; } } diff --git a/src/server/game/Server/Packets/PacketUtilities.h b/src/server/game/Server/Packets/PacketUtilities.h index f92d949d1be..4837ee9e69c 100644 --- a/src/server/game/Server/Packets/PacketUtilities.h +++ b/src/server/game/Server/Packets/PacketUtilities.h @@ -21,6 +21,7 @@ #include "ByteBuffer.h" #include <G3D/Vector2.h> #include <G3D/Vector3.h> +#include <sstream> inline ByteBuffer& operator<<(ByteBuffer& data, G3D::Vector2 const& v) { @@ -48,6 +49,85 @@ inline ByteBuffer& operator>>(ByteBuffer& data, G3D::Vector3& v) namespace WorldPackets { + class PacketArrayMaxCapacityException : public ByteBufferException + { + public: + PacketArrayMaxCapacityException(std::size_t requestedSize, std::size_t sizeLimit) + { + std::ostringstream builder; + builder << "Attempted to read more array elements from packet " << requestedSize << " than allowed " << sizeLimit; + message().assign(builder.str()); + } + }; + + /** + * Utility class for automated prevention of loop counter spoofing in client packets + */ + template<typename T, std::size_t N = 1000 /*select a sane default limit*/> + class Array + { + typedef std::vector<T> storage_type; + + typedef typename storage_type::value_type value_type; + typedef typename storage_type::size_type size_type; + typedef typename storage_type::reference reference; + typedef typename storage_type::const_reference const_reference; + typedef typename storage_type::iterator iterator; + typedef typename storage_type::const_iterator const_iterator; + + public: + Array() : _limit(N) { } + Array(size_type limit) : _limit(limit) { } + + iterator begin() { return _storage.begin(); } + const_iterator begin() const { return _storage.begin(); } + + iterator end() { return _storage.end(); } + const_iterator end() const { return _storage.end(); } + + size_type size() const { return _storage.size(); } + bool empty() const { return _storage.empty(); } + + reference operator[](size_type i) { return _storage[i]; } + const_reference operator[](size_type i) const { return _storage[i]; } + + void resize(size_type newSize) + { + if (newSize > _limit) + throw PacketArrayMaxCapacityException(newSize, _limit); + + _storage.resize(newSize); + } + + void reserve(size_type newSize) + { + if (newSize > _limit) + throw PacketArrayMaxCapacityException(newSize, _limit); + + _storage.reserve(newSize); + } + + void push_back(value_type const& value) + { + if (_storage.size() >= _limit) + throw PacketArrayMaxCapacityException(_storage.size() + 1, _limit); + + _storage.push_back(value); + } + + void push_back(value_type&& value) + { + if (_storage.size() >= _limit) + throw PacketArrayMaxCapacityException(_storage.size() + 1, _limit); + + _storage.push_back(std::forward<value_type>(value)); + } + + private: + storage_type _storage; + size_type _limit; + }; + template <typename T> class CompactArray { diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp index 1ca4d8095d0..332aa959a1e 100644 --- a/src/server/game/Server/Packets/PartyPackets.cpp +++ b/src/server/game/Server/Packets/PartyPackets.cpp @@ -541,6 +541,14 @@ void WorldPackets::Party::PartyMemberStats::Initialize(Player const* player) } } +WorldPacket const* WorldPackets::Party::PartyKillLog::Write() +{ + _worldPacket << Player; + _worldPacket << Victim; + + return &_worldPacket; +} + ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Party::GroupPhase const& phase) { data << phase.Flags; diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h index 34e8097f985..cb0e4aac440 100644 --- a/src/server/game/Server/Packets/PartyPackets.h +++ b/src/server/game/Server/Packets/PartyPackets.h @@ -594,6 +594,17 @@ namespace WorldPackets std::vector<RaidMarker*> RaidMarkers; }; + + class PartyKillLog final : public ServerPacket + { + public: + PartyKillLog() : ServerPacket(SMSG_PARTY_KILL_LOG, 2 * 16) { } + + WorldPacket const* Write() override; + + ObjectGuid Player; + ObjectGuid Victim; + }; } } diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp index 687ab6402f4..9e5309cdba3 100644 --- a/src/server/game/Server/Packets/QuestPackets.cpp +++ b/src/server/game/Server/Packets/QuestPackets.cpp @@ -276,17 +276,17 @@ WorldPacket const* WorldPackets::Quest::QuestGiverOfferRewardMessage::Write() _worldPacket.WriteBits(QuestTitle.size(), 9); _worldPacket.WriteBits(RewardText.size(), 12); - _worldPacket.WriteBits(PortraitTurnInText.size(), 10); - _worldPacket.WriteBits(PortraitGiverName.size(), 8); _worldPacket.WriteBits(PortraitGiverText.size(), 10); + _worldPacket.WriteBits(PortraitGiverName.size(), 8); + _worldPacket.WriteBits(PortraitTurnInText.size(), 10); _worldPacket.WriteBits(PortraitTurnInName.size(), 8); _worldPacket.FlushBits(); _worldPacket.WriteString(QuestTitle); _worldPacket.WriteString(RewardText); - _worldPacket.WriteString(PortraitTurnInText); - _worldPacket.WriteString(PortraitGiverName); _worldPacket.WriteString(PortraitGiverText); + _worldPacket.WriteString(PortraitGiverName); + _worldPacket.WriteString(PortraitTurnInText); _worldPacket.WriteString(PortraitTurnInName); return &_worldPacket; @@ -359,10 +359,10 @@ WorldPacket const* WorldPackets::Quest::QuestGiverQuestDetails::Write() _worldPacket.WriteBits(QuestTitle.size(), 9); _worldPacket.WriteBits(DescriptionText.size(), 12); _worldPacket.WriteBits(LogDescription.size(), 12); - _worldPacket.WriteBits(PortraitTurnInText.size(), 10); - _worldPacket.WriteBits(PortraitTurnInName.size(), 8); _worldPacket.WriteBits(PortraitGiverText.size(), 10); _worldPacket.WriteBits(PortraitGiverName.size(), 8); + _worldPacket.WriteBits(PortraitTurnInText.size(), 10); + _worldPacket.WriteBits(PortraitTurnInName.size(), 8); _worldPacket.WriteBit(DisplayPopup); _worldPacket.WriteBit(StartCheat); _worldPacket.WriteBit(AutoLaunched); @@ -371,10 +371,10 @@ WorldPacket const* WorldPackets::Quest::QuestGiverQuestDetails::Write() _worldPacket.WriteString(QuestTitle); _worldPacket.WriteString(DescriptionText); _worldPacket.WriteString(LogDescription); - _worldPacket.WriteString(PortraitTurnInText); - _worldPacket.WriteString(PortraitTurnInName); _worldPacket.WriteString(PortraitGiverText); _worldPacket.WriteString(PortraitGiverName); + _worldPacket.WriteString(PortraitTurnInText); + _worldPacket.WriteString(PortraitTurnInName); return &_worldPacket; } @@ -495,10 +495,46 @@ void WorldPackets::Quest::QuestConfirmAccept::Read() _worldPacket >> QuestID; } -WorldPacket const* WorldPackets::Quest::QuestPushResult::Write() +WorldPacket const* WorldPackets::Quest::QuestPushResultResponse::Write() { _worldPacket << SenderGUID; _worldPacket << uint8(Result); return &_worldPacket; } + +void WorldPackets::Quest::QuestPushResult::Read() +{ + _worldPacket >> SenderGUID; + _worldPacket >> QuestID; + _worldPacket >> Result; +} + +WorldPacket const* WorldPackets::Quest::QuestGiverInvalidQuest::Write() +{ + _worldPacket << Reason; + + _worldPacket.WriteBit(SendErrorMessage); + _worldPacket.WriteBits(ReasonText.length(), 9); + + _worldPacket.FlushBits(); + + _worldPacket.WriteString(ReasonText); + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Quest::QuestUpdateFailedTimer::Write() +{ + _worldPacket << QuestID; + + return &_worldPacket; +} + +WorldPacket const* WorldPackets::Quest::QuestGiverQuestFailed::Write() +{ + _worldPacket << QuestID; + _worldPacket << Reason; + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index ef5817fccd8..2e4d2b5d2f4 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -251,11 +251,11 @@ namespace WorldPackets int32 PortraitTurnIn = 0; int32 PortraitGiver = 0; - std::string PortraitGiverText; std::string QuestTitle; - std::string PortraitTurnInText; - std::string PortraitGiverName; std::string RewardText; + std::string PortraitGiverText; + std::string PortraitGiverName; + std::string PortraitTurnInText; std::string PortraitTurnInName; QuestGiverOfferReward QuestData; int32 QuestPackageID = 0; @@ -332,10 +332,10 @@ namespace WorldPackets std::vector<int32> LearnSpells; int32 PortraitTurnIn = 0; int32 PortraitGiver = 0; - std::string PortraitTurnInText; - std::string PortraitTurnInName; std::string PortraitGiverText; std::string PortraitGiverName; + std::string PortraitTurnInText; + std::string PortraitTurnInName; std::string QuestTitle; std::string LogDescription; std::string DescriptionText; @@ -485,10 +485,10 @@ namespace WorldPackets int32 QuestID = 0; }; - class QuestPushResult final : public ServerPacket + class QuestPushResultResponse final : public ServerPacket { public: - QuestPushResult() : ServerPacket(SMSG_QUEST_PUSH_RESULT, 16 + 1) { } + QuestPushResultResponse() : ServerPacket(SMSG_QUEST_PUSH_RESULT, 16 + 1) { } WorldPacket const* Write() override; @@ -503,6 +503,51 @@ namespace WorldPackets WorldPacket const* Write() override { return &_worldPacket; } }; + + class QuestPushResult final : public ClientPacket + { + public: + QuestPushResult(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_PUSH_RESULT, std::move(packet)) { } + + void Read() override; + + ObjectGuid SenderGUID; + uint32 QuestID = 0; + uint8 Result = 0; + }; + + class QuestGiverInvalidQuest final : public ServerPacket + { + public: + QuestGiverInvalidQuest() : ServerPacket(SMSG_QUEST_GIVER_INVALID_QUEST, 6) { } + + WorldPacket const* Write() override; + + uint32 Reason = 0; + bool SendErrorMessage = false; + std::string ReasonText; + }; + + class QuestUpdateFailedTimer final : public ServerPacket + { + public: + QuestUpdateFailedTimer() : ServerPacket(SMSG_QUEST_UPDATE_FAILED_TIMER, 4) { } + + WorldPacket const* Write() override; + + uint32 QuestID = 0; + }; + + class QuestGiverQuestFailed final : public ServerPacket + { + public: + QuestGiverQuestFailed() : ServerPacket(SMSG_QUEST_GIVER_QUEST_FAILED, 8) { } + + WorldPacket const* Write() override; + + uint32 QuestID = 0; + uint32 Reason = 0; + }; } } diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 91821780575..2f7bec3d3ba 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -77,6 +77,14 @@ WorldPacket const* WorldPackets::Spells::SendUnlearnSpells::Write() return &_worldPacket; } +void WorldPackets::Spells::SpellCastLogData::Initialize(Unit const* unit) +{ + Health = unit->GetHealth(); + AttackPower = unit->GetTotalAttackPowerValue(unit->getClass() == CLASS_HUNTER ? RANGED_ATTACK : BASE_ATTACK); + SpellPower = unit->SpellBaseDamageBonusDone(SPELL_SCHOOL_MASK_SPELL); + PowerData.emplace_back(int32(unit->getPowerType()), unit->GetPower(unit->getPowerType())); +} + ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Spells::SpellCastLogData const& spellCastLogData) { data << spellCastLogData.Health; diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index f5df5e32da0..fbd53c0527c 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -135,6 +135,8 @@ namespace WorldPackets struct SpellLogPowerData { + SpellLogPowerData(int32 powerType, int32 amount) : PowerType(powerType), Amount(amount) { } + int32 PowerType = 0; int32 Amount = 0; }; @@ -145,6 +147,8 @@ namespace WorldPackets int32 AttackPower = 0; int32 SpellPower = 0; std::vector<SpellLogPowerData> PowerData; + + void Initialize(Unit const* unit); }; struct AuraDataInfo diff --git a/src/server/game/Server/Packets/VoidStoragePackets.cpp b/src/server/game/Server/Packets/VoidStoragePackets.cpp index a635d57666d..43a1f070d8d 100644 --- a/src/server/game/Server/Packets/VoidStoragePackets.cpp +++ b/src/server/game/Server/Packets/VoidStoragePackets.cpp @@ -65,17 +65,14 @@ WorldPacket const* WorldPackets::VoidStorage::VoidStorageContents::Write() void WorldPackets::VoidStorage::VoidStorageTransfer::Read() { _worldPacket >> Npc; - _worldPacket >> DepositsCount; - _worldPacket >> WithdrawalsCount; + Deposits.resize(_worldPacket.read<uint32>()); + Withdrawals.resize(_worldPacket.read<uint32>()); - if (WithdrawalsCount > VOID_STORAGE_MAX_WITHDRAW || DepositsCount > VOID_STORAGE_MAX_DEPOSIT) - return; + for (ObjectGuid& deposit : Deposits) + _worldPacket >> deposit; - for (uint32 i = 0; i < DepositsCount; ++i) - _worldPacket >> Deposits[i]; - - for (uint32 i = 0; i < WithdrawalsCount; ++i) - _worldPacket >> Withdrawals[i]; + for (ObjectGuid& withdrawal : Withdrawals) + _worldPacket >> withdrawal; } WorldPacket const* WorldPackets::VoidStorage::VoidStorageTransferChanges::Write() diff --git a/src/server/game/Server/Packets/VoidStoragePackets.h b/src/server/game/Server/Packets/VoidStoragePackets.h index 9790b328e72..b84f0cf2678 100644 --- a/src/server/game/Server/Packets/VoidStoragePackets.h +++ b/src/server/game/Server/Packets/VoidStoragePackets.h @@ -90,10 +90,8 @@ namespace WorldPackets void Read() override; - std::array<ObjectGuid, VOID_STORAGE_MAX_WITHDRAW> Withdrawals; - uint32 WithdrawalsCount = 0; - std::array<ObjectGuid, VOID_STORAGE_MAX_DEPOSIT> Deposits; - uint32 DepositsCount = 0; + Array<ObjectGuid, VOID_STORAGE_MAX_WITHDRAW> Withdrawals; + Array<ObjectGuid, VOID_STORAGE_MAX_DEPOSIT> Deposits; ObjectGuid Npc; }; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index fd7b00301b2..22be0707a90 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -23,6 +23,7 @@ #include "Packets/BankPackets.h" #include "Packets/BattlegroundPackets.h" #include "Packets/BlackMarketPackets.h" +#include "Packets/CalendarPackets.h" #include "Packets/ChannelPackets.h" #include "Packets/CharacterPackets.h" #include "Packets/ChatPackets.h" @@ -155,8 +156,8 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(opcode, status, processing, WorldPacket, handler); DEFINE_HANDLER(CMSG_ACCEPT_GUILD_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::AcceptGuildInvite, &WorldSession::HandleGuildAcceptInvite); - DEFINE_HANDLER(CMSG_ACCEPT_LEVEL_GRANT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::RaF::AcceptLevelGrant, &WorldSession::HandleAcceptGrantLevel); - DEFINE_HANDLER(CMSG_ACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::AcceptTrade, &WorldSession::HandleAcceptTradeOpcode); + DEFINE_HANDLER(CMSG_ACCEPT_LEVEL_GRANT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::RaF::AcceptLevelGrant, &WorldSession::HandleAcceptGrantLevel); + DEFINE_HANDLER(CMSG_ACCEPT_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::AcceptTrade, &WorldSession::HandleAcceptTradeOpcode); DEFINE_HANDLER(CMSG_ACCEPT_WARGAME_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode ); DEFINE_HANDLER(CMSG_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -180,19 +181,19 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::AuctionHouse::AuctionSellItem, &WorldSession::HandleAuctionSellItem); DEFINE_HANDLER(CMSG_AUTH_CONTINUED_SESSION, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTH_SESSION, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); - DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoBankItem, &WorldSession::HandleAutoBankItemOpcode); + DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoBankItem, &WorldSession::HandleAutoBankItemOpcode); DEFINE_HANDLER(CMSG_AUTOBANK_REAGENT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoStoreBankItem, &WorldSession::HandleAutoStoreBankItemOpcode); + DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoStoreBankItem, &WorldSession::HandleAutoStoreBankItemOpcode); DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_REAGENT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItem, &WorldSession::HandleAutoEquipItemOpcode); - DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM_SLOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItemSlot, &WorldSession::HandleAutoEquipItemSlotOpcode); - DEFINE_HANDLER(CMSG_AUTO_STORE_BAG_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoStoreBagItem, &WorldSession::HandleAutoStoreBagItemOpcode); + DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItem, &WorldSession::HandleAutoEquipItemOpcode); + DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM_SLOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItemSlot, &WorldSession::HandleAutoEquipItemSlotOpcode); + DEFINE_HANDLER(CMSG_AUTO_STORE_BAG_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoStoreBagItem, &WorldSession::HandleAutoStoreBagItemOpcode); DEFINE_HANDLER(CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBankerActivateOpcode); - DEFINE_HANDLER(CMSG_BATTLEFIELD_LEAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlefieldLeave, &WorldSession::HandleBattlefieldLeaveOpcode); - DEFINE_HANDLER(CMSG_BATTLEFIELD_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlefieldListRequest, &WorldSession::HandleBattlefieldListOpcode); - DEFINE_HANDLER(CMSG_BATTLEFIELD_PORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlefieldPort, &WorldSession::HandleBattleFieldPortOpcode); - DEFINE_HANDLER(CMSG_BATTLEMASTER_HELLO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBattlemasterHelloOpcode); - DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlemasterJoin, &WorldSession::HandleBattlemasterJoinOpcode); + DEFINE_HANDLER(CMSG_BATTLEFIELD_LEAVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlefieldLeave, &WorldSession::HandleBattlefieldLeaveOpcode); + DEFINE_HANDLER(CMSG_BATTLEFIELD_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlefieldListRequest, &WorldSession::HandleBattlefieldListOpcode); + DEFINE_HANDLER(CMSG_BATTLEFIELD_PORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlefieldPort, &WorldSession::HandleBattleFieldPortOpcode); + DEFINE_HANDLER(CMSG_BATTLEMASTER_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBattlemasterHelloOpcode); + DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battleground::BattlemasterJoin, &WorldSession::HandleBattlemasterJoinOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinArena ); DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_SKIRMISH, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLENET_CHALLENGE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -212,17 +213,17 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_BATTLE_PET_SET_FLAGS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLE_PET_SUMMON, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLE_PET_UPDATE_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_BEGIN_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::BeginTrade, &WorldSession::HandleBeginTradeOpcode); + DEFINE_HANDLER(CMSG_BEGIN_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::BeginTrade, &WorldSession::HandleBeginTradeOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_ENTRY_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfEntryInviteResponse ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_EXIT_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfExitRequest); DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfQueueInviteResponse ); DEFINE_HANDLER(CMSG_BF_MGR_QUEUE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode); + DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode); DEFINE_HANDLER(CMSG_BLACK_MARKET_BID_ON_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::BlackMarket::BlackMarketOpen, &WorldSession::HandleBlackMarketOpen); + DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::BlackMarket::BlackMarketOpen, &WorldSession::HandleBlackMarketOpen); DEFINE_HANDLER(CMSG_BLACK_MARKET_REQUEST_ITEMS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_BUG_REPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Ticket::BugReport, &WorldSession::HandleBugReportOpcode); - DEFINE_HANDLER(CMSG_BUSY_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::BusyTrade, &WorldSession::HandleBusyTradeOpcode); + DEFINE_HANDLER(CMSG_BUG_REPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::BugReport, &WorldSession::HandleBugReportOpcode); + DEFINE_HANDLER(CMSG_BUSY_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::BusyTrade, &WorldSession::HandleBusyTradeOpcode); DEFINE_HANDLER(CMSG_BUY_BACK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyBackItem, &WorldSession::HandleBuybackItem); DEFINE_HANDLER(CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::BuyBankSlot, &WorldSession::HandleBuyBankSlotOpcode); DEFINE_HANDLER(CMSG_BUY_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyItem, &WorldSession::HandleBuyItemOpcode); @@ -230,21 +231,21 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_BUY_WOW_TOKEN_CONFIRM, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BUY_WOW_TOKEN_START, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CAGE_BATTLE_PET, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_ADD_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarAddEvent ); + DEFINE_HANDLER(CMSG_CALENDAR_ADD_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarAddEvent, &WorldSession::HandleCalendarAddEvent); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_COMPLAIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarComplain ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_COPY_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarCopyEvent ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventInvite ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_MODERATOR_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventModeratorStatus); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_RSVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventRsvp ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_SIGN_UP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventSignup ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventStatus ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_GET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarGetCalendar ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_GET_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarGetEvent ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_GET_NUM_PENDING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarGetNumPending ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_GUILD_FILTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarGuildFilter ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_REMOVE_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarRemoveEvent ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_REMOVE_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventRemoveInvite ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_UPDATE_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarUpdateEvent ); + DEFINE_HANDLER(CMSG_CALENDAR_COPY_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarCopyEvent, &WorldSession::HandleCalendarCopyEvent); + DEFINE_HANDLER(CMSG_CALENDAR_EVENT_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventInvite, &WorldSession::HandleCalendarEventInvite); + DEFINE_HANDLER(CMSG_CALENDAR_EVENT_MODERATOR_STATUS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventModeratorStatus, &WorldSession::HandleCalendarEventModeratorStatus); + DEFINE_HANDLER(CMSG_CALENDAR_EVENT_RSVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventRSVP, &WorldSession::HandleCalendarEventRsvp); + DEFINE_HANDLER(CMSG_CALENDAR_EVENT_SIGN_UP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventSignUp, &WorldSession::HandleCalendarEventSignup); + DEFINE_HANDLER(CMSG_CALENDAR_EVENT_STATUS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarEventStatus, &WorldSession::HandleCalendarEventStatus); + DEFINE_HANDLER(CMSG_CALENDAR_GET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarGetCalendar, &WorldSession::HandleCalendarGetCalendar); + DEFINE_HANDLER(CMSG_CALENDAR_GET_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarGetEvent, &WorldSession::HandleCalendarGetEvent); + DEFINE_HANDLER(CMSG_CALENDAR_GET_NUM_PENDING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarGetNumPending, &WorldSession::HandleCalendarGetNumPending); + DEFINE_HANDLER(CMSG_CALENDAR_GUILD_FILTER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarGuildFilter, &WorldSession::HandleCalendarGuildFilter); + DEFINE_HANDLER(CMSG_CALENDAR_REMOVE_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarRemoveEvent, &WorldSession::HandleCalendarRemoveEvent); + DEFINE_HANDLER(CMSG_CALENDAR_REMOVE_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarRemoveInvite, &WorldSession::HandleCalendarEventRemoveInvite); + DEFINE_HANDLER(CMSG_CALENDAR_UPDATE_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::CalendarUpdateEvent, &WorldSession::HandleCalendarUpdateEvent); DEFINE_HANDLER(CMSG_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::CancelAura, &WorldSession::HandleCancelAuraOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_AUTO_REPEAT_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAutoRepeatSpellOpcode); DEFINE_HANDLER(CMSG_CANCEL_CAST, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Spells::CancelCast, &WorldSession::HandleCancelCastOpcode); @@ -262,7 +263,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CHANGE_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CHANGE_MONUMENT_APPEARANCE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CHANGE_SUB_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::ChangeSubGroup, &WorldSession::HandleChangeSubGroupOpcode); + DEFINE_HANDLER(CMSG_CHANGE_SUB_GROUP, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::ChangeSubGroup, &WorldSession::HandleChangeSubGroupOpcode); DEFINE_HANDLER(CMSG_CHARACTER_RENAME_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode); DEFINE_HANDLER(CMSG_CHAR_CUSTOMIZE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharCustomize, &WorldSession::HandleCharCustomizeOpcode); DEFINE_HANDLER(CMSG_CHAR_DELETE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharDelete, &WorldSession::HandleCharDeleteOpcode); @@ -318,8 +319,8 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_CHECK_RAF_EMAIL_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CHOICE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLEAR_RAID_MARKER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::ClearRaidMarker, &WorldSession::HandleClearRaidMarker); - DEFINE_HANDLER(CMSG_CLEAR_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::ClearTradeItem, &WorldSession::HandleClearTradeItemOpcode); + DEFINE_HANDLER(CMSG_CLEAR_RAID_MARKER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::ClearRaidMarker, &WorldSession::HandleClearRaidMarker); + DEFINE_HANDLER(CMSG_CLEAR_TRADE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::ClearTradeItem, &WorldSession::HandleClearTradeItemOpcode); DEFINE_HANDLER(CMSG_CLIENT_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard); DEFINE_HANDLER(CMSG_CLOSE_INTERACTION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_COMMENTATOR_ENABLE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -333,7 +334,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_COMPLETE_MOVIE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONFIRM_RESPEC_WIPE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleConfirmRespecWipeOpcode ); DEFINE_HANDLER(CMSG_CONNECT_TO_FAILED, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); - DEFINE_HANDLER(CMSG_CONVERT_RAID, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::ConvertRaid, &WorldSession::HandleConvertRaidOpcode); + DEFINE_HANDLER(CMSG_CONVERT_RAID, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::ConvertRaid, &WorldSession::HandleConvertRaidOpcode); DEFINE_HANDLER(CMSG_CREATE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CreateCharacter, &WorldSession::HandleCharCreateOpcode); DEFINE_HANDLER(CMSG_CREATE_SHIPMENT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Query::DBQueryBulk, &WorldSession::HandleDBQueryBulk); @@ -343,7 +344,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_DEL_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::DelFriend, &WorldSession::HandleDelFriendOpcode); DEFINE_HANDLER(CMSG_DEL_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::DelIgnore, &WorldSession::HandleDelIgnoreOpcode); DEFINE_HANDLER(CMSG_DEPOSIT_REAGENT_BANK, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_DESTROY_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::DestroyItem, &WorldSession::HandleDestroyItemOpcode); + DEFINE_HANDLER(CMSG_DESTROY_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::DestroyItem, &WorldSession::HandleDestroyItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_BOOT_PLAYER_VOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetBootVoteOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_GET_JOIN_STATUS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleDFGetJoinStatus ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_GET_SYSTEM_INFO, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleDFGetSystemInfo ); @@ -359,9 +360,9 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_DISCARDED_TIME_SYNC_ACKS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_DISMISS_CRITTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleDismissCritter ); DEFINE_HANDLER(CMSG_DO_MASTER_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_DO_READY_CHECK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::DoReadyCheck, &WorldSession::HandleDoReadyCheckOpcode); - DEFINE_HANDLER(CMSG_DUEL_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Duel::DuelResponse, &WorldSession::HandleDuelResponseOpcode); - DEFINE_HANDLER(CMSG_EJECT_PASSENGER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Vehicle::EjectPassenger, &WorldSession::HandleEjectPassenger); + DEFINE_HANDLER(CMSG_DO_READY_CHECK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::DoReadyCheck, &WorldSession::HandleDoReadyCheckOpcode); + DEFINE_HANDLER(CMSG_DUEL_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Duel::DuelResponse, &WorldSession::HandleDuelResponseOpcode); + DEFINE_HANDLER(CMSG_EJECT_PASSENGER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Vehicle::EjectPassenger, &WorldSession::HandleEjectPassenger); DEFINE_HANDLER(CMSG_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::EmoteClient, &WorldSession::HandleEmoteOpcode); DEFINE_HANDLER(CMSG_ENABLE_NAGLE, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_ENABLE_TAXI_NODE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes ); @@ -404,7 +405,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_GM_TICKET_GET_CASE_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Ticket::GMTicketGetCaseStatus, &WorldSession::HandleGMTicketGetCaseStatusOpcode); DEFINE_HANDLER(CMSG_GM_TICKET_GET_SYSTEM_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMTicketGetSystemStatus, &WorldSession::HandleGMTicketSystemStatusOpcode); DEFINE_HANDLER(CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::GossipSelectOption, &WorldSession::HandleGossipSelectOptionOpcode); - DEFINE_HANDLER(CMSG_GRANT_LEVEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::RaF::GrantLevel, &WorldSession::HandleGrantLevel); + DEFINE_HANDLER(CMSG_GRANT_LEVEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::RaF::GrantLevel, &WorldSession::HandleGrantLevel); DEFINE_HANDLER(CMSG_GUILD_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GUILD_ADD_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAddRank, &WorldSession::HandleGuildAddRank); DEFINE_HANDLER(CMSG_GUILD_ASSIGN_MEMBER_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAssignMemberRank, &WorldSession::HandleGuildAssignRank); @@ -451,22 +452,22 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_GUILD_UPDATE_INFO_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildUpdateInfoText, &WorldSession::HandleGuildUpdateInfoText); DEFINE_HANDLER(CMSG_GUILD_UPDATE_MOTD_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildUpdateMotdText, &WorldSession::HandleGuildUpdateMotdText); DEFINE_HANDLER(CMSG_HEARTH_AND_RESURRECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Battleground::HearthAndResurrect, &WorldSession::HandleHearthAndResurrect); - DEFINE_HANDLER(CMSG_IGNORE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::IgnoreTrade, &WorldSession::HandleIgnoreTradeOpcode); + DEFINE_HANDLER(CMSG_IGNORE_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::IgnoreTrade, &WorldSession::HandleIgnoreTradeOpcode); DEFINE_HANDLER(CMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_INITIATE_ROLE_POLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::InitiateRolePoll, &WorldSession::HandleInitiateRolePoll); - DEFINE_HANDLER(CMSG_INITIATE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::InitiateTrade, &WorldSession::HandleInitiateTradeOpcode); - DEFINE_HANDLER(CMSG_INSPECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode); - DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP); - DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInstanceLockResponse); + DEFINE_HANDLER(CMSG_INITIATE_ROLE_POLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::InitiateRolePoll, &WorldSession::HandleInitiateRolePoll); + DEFINE_HANDLER(CMSG_INITIATE_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::InitiateTrade, &WorldSession::HandleInitiateTradeOpcode); + DEFINE_HANDLER(CMSG_INSPECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode); + DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP); + DEFINE_HANDLER(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Instance::InstanceLockResponse, &WorldSession::HandleInstanceLockResponse); DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_PURCHASE_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund ); - DEFINE_HANDLER(CMSG_ITEM_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::ItemTextQuery, &WorldSession::HandleItemTextQuery); + DEFINE_HANDLER(CMSG_ITEM_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::ItemTextQuery, &WorldSession::HandleItemTextQuery); DEFINE_HANDLER(CMSG_JOIN_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_JOIN_RATED_BATTLEGROUND, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_KEEP_ALIVE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_KEYBOUND_OVERRIDE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LEARN_PET_SPECIALIZATION_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode); - DEFINE_HANDLER(CMSG_LEAVE_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::LeaveGroup, &WorldSession::HandleLeaveGroupOpcode); + DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode); + DEFINE_HANDLER(CMSG_LEAVE_GROUP, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::LeaveGroup, &WorldSession::HandleLeaveGroupOpcode); DEFINE_HANDLER(CMSG_LEAVE_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LFG_LIST_APPLY_TO_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LFG_LIST_CANCEL_APPLICATION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -494,11 +495,11 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::LogoutRequest, &WorldSession::HandleLogoutRequestOpcode); DEFINE_HANDLER(CMSG_LOG_DISCONNECT, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootItem, &WorldSession::HandleAutostoreLootItemOpcode); - DEFINE_HANDLER(CMSG_LOOT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootMoney, &WorldSession::HandleLootMoneyOpcode); - DEFINE_HANDLER(CMSG_LOOT_RELEASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRelease, &WorldSession::HandleLootReleaseOpcode); - DEFINE_HANDLER(CMSG_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRoll, &WorldSession::HandleLootRoll); - DEFINE_HANDLER(CMSG_LOOT_UNIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode); + DEFINE_HANDLER(CMSG_LOOT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootItem, &WorldSession::HandleAutostoreLootItemOpcode); + DEFINE_HANDLER(CMSG_LOOT_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootMoney, &WorldSession::HandleLootMoneyOpcode); + DEFINE_HANDLER(CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRelease, &WorldSession::HandleLootReleaseOpcode); + DEFINE_HANDLER(CMSG_LOOT_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRoll, &WorldSession::HandleLootRoll); + DEFINE_HANDLER(CMSG_LOOT_UNIT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode); DEFINE_HANDLER(CMSG_LOW_LEVEL_RAID1, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LOW_LEVEL_RAID2, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailCreateTextItem, &WorldSession::HandleMailCreateTextItem); @@ -580,15 +581,15 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_OBJECT_UPDATE_FAILED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ObjectUpdateFailed, &WorldSession::HandleObjectUpdateFailedOpcode); DEFINE_HANDLER(CMSG_OBJECT_UPDATE_RESCUED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::ObjectUpdateRescued, &WorldSession::HandleObjectUpdateRescuedOpcode); DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition); - DEFINE_OPCODE_HANDLER_OLD(CMSG_OPENING_CINEMATIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleOpeningCinematic ); + DEFINE_HANDLER(CMSG_OPENING_CINEMATIC, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::OpeningCinematic, &WorldSession::HandleOpeningCinematic); DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode); DEFINE_HANDLER(CMSG_OPEN_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_OPEN_SHIPMENT_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_OPT_OUT_OF_LOOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::OptOutOfLoot, &WorldSession::HandleOptOutOfLootOpcode); - DEFINE_HANDLER(CMSG_PARTY_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::PartyInviteClient, &WorldSession::HandlePartyInviteOpcode); - DEFINE_HANDLER(CMSG_PARTY_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::PartyInviteResponse, &WorldSession::HandlePartyInviteResponseOpcode); - DEFINE_HANDLER(CMSG_PARTY_UNINVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::PartyUninvite, &WorldSession::HandlePartyUninviteOpcode); + DEFINE_HANDLER(CMSG_OPT_OUT_OF_LOOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::OptOutOfLoot, &WorldSession::HandleOptOutOfLootOpcode); + DEFINE_HANDLER(CMSG_PARTY_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::PartyInviteClient, &WorldSession::HandlePartyInviteOpcode); + DEFINE_HANDLER(CMSG_PARTY_INVITE_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::PartyInviteResponse, &WorldSession::HandlePartyInviteResponseOpcode); + DEFINE_HANDLER(CMSG_PARTY_UNINVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::PartyUninvite, &WorldSession::HandlePartyUninviteOpcode); DEFINE_HANDLER(CMSG_PETITION_BUY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionBuy, &WorldSession::HandlePetitionBuy); DEFINE_HANDLER(CMSG_PETITION_RENAME_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionRenameGuild, &WorldSession::HandlePetitionRenameGuild); DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowList, &WorldSession::HandlePetitionShowList); @@ -635,7 +636,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_QUERY_REALM_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUERY_SCENARIO_POI, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUERY_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryTime, &WorldSession::HandleQueryTimeOpcode); - DEFINE_HANDLER(CMSG_QUERY_VOID_STORAGE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::QueryVoidStorage, &WorldSession::HandleVoidStorageQuery); + DEFINE_HANDLER(CMSG_QUERY_VOID_STORAGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::QueryVoidStorage, &WorldSession::HandleVoidStorageQuery); DEFINE_HANDLER(CMSG_QUEST_CONFIRM_ACCEPT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestConfirmAccept, &WorldSession::HandleQuestConfirmAccept); DEFINE_HANDLER(CMSG_QUEST_GIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverAcceptQuest, &WorldSession::HandleQuestgiverAcceptQuestOpcode); DEFINE_HANDLER(CMSG_QUEST_GIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverChooseReward, &WorldSession::HandleQuestgiverChooseRewardOpcode); @@ -647,11 +648,11 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_QUEST_GIVER_STATUS_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode); DEFINE_HANDLER(CMSG_QUEST_LOG_REMOVE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestLogRemoveQuest, &WorldSession::HandleQuestLogRemoveQuest); DEFINE_HANDLER(CMSG_QUEST_POI_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QuestPOIQuery, &WorldSession::HandleQuestPOIQuery); - DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPushResult ); + DEFINE_HANDLER(CMSG_QUEST_PUSH_RESULT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestPushResult, &WorldSession::HandleQuestPushResult); DEFINE_HANDLER(CMSG_QUEUED_MESSAGES_END, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode); - DEFINE_HANDLER(CMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::ReadyCheckResponseClient, &WorldSession::HandleReadyCheckResponseOpcode); - DEFINE_HANDLER(CMSG_READ_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::ReadItem, &WorldSession::HandleReadItem); + DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode); + DEFINE_HANDLER(CMSG_READY_CHECK_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::ReadyCheckResponseClient, &WorldSession::HandleReadyCheckResponseOpcode); + DEFINE_HANDLER(CMSG_READ_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::ReadItem, &WorldSession::HandleReadItem); DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ReclaimCorpse, &WorldSession::HandleReclaimCorpse); DEFINE_HANDLER(CMSG_RECRUIT_A_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REDEEM_WOW_TOKEN_CONFIRM, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -669,10 +670,10 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_REQUEST_FORCED_REACTIONS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Reputation::RequestForcedReactions, &WorldSession::HandleRequestForcedReactionsOpcode); DEFINE_HANDLER(CMSG_REQUEST_GUILD_PARTY_STATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::RequestGuildPartyState, &WorldSession::HandleGuildRequestPartyState); DEFINE_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Guild::RequestGuildRewardsList, &WorldSession::HandleRequestGuildRewardsList); - DEFINE_HANDLER(CMSG_REQUEST_HONOR_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::RequestHonorStats, &WorldSession::HandleRequestHonorStatsOpcode); + DEFINE_HANDLER(CMSG_REQUEST_HONOR_STATS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::RequestHonorStats, &WorldSession::HandleRequestHonorStatsOpcode); DEFINE_HANDLER(CMSG_REQUEST_LFG_LIST_BLACKLIST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestPartyJoinUpdates, &WorldSession::HandleRequestPartyJoinUpdates); - DEFINE_HANDLER(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestPartyMemberStats, &WorldSession::HandleRequestPartyMemberStatsOpcode); + DEFINE_HANDLER(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestPartyJoinUpdates, &WorldSession::HandleRequestPartyJoinUpdates); + DEFINE_HANDLER(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestPartyMemberStats, &WorldSession::HandleRequestPartyMemberStatsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PET_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPetInfoOpcode ); DEFINE_HANDLER(CMSG_REQUEST_PLAYED_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::RequestPlayedTime, &WorldSession::HandlePlayedTime); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PVP_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestPvpReward ); @@ -710,41 +711,41 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::SetActionButton, &WorldSession::HandleSetActionButtonOpcode); DEFINE_HANDLER(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Movement::SetActiveMover, &WorldSession::HandleSetActiveMoverOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveVoiceChannel ); - DEFINE_HANDLER(CMSG_SET_ADVANCED_COMBAT_LOGGING, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_SET_ADVANCED_COMBAT_LOGGING, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::ClientConfig::SetAdvancedCombatLogging, &WorldSession::HandleSetAdvancedCombatLogging); DEFINE_HANDLER(CMSG_SET_ASSISTANT_LEADER, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::SetAssistantLeader, &WorldSession::HandleSetAssistantLeaderOpcode); DEFINE_HANDLER(CMSG_SET_BACKPACK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_BANK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_BANK_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SET_CONTACT_NOTES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Social::SetContactNotes, &WorldSession::HandleSetContactNotesOpcode); + DEFINE_HANDLER(CMSG_SET_CONTACT_NOTES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::SetContactNotes, &WorldSession::HandleSetContactNotesOpcode); DEFINE_HANDLER(CMSG_SET_CURRENCY_FLAGS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_DIFFICULTY_ID, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_DUNGEON_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetDungeonDifficulty, &WorldSession::HandleSetDungeonDifficultyOpcode); - DEFINE_HANDLER(CMSG_SET_EVERYONE_IS_ASSISTANT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::SetEveryoneIsAssistant, &WorldSession::HandleSetEveryoneIsAssistant); + DEFINE_HANDLER(CMSG_SET_EVERYONE_IS_ASSISTANT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::SetEveryoneIsAssistant, &WorldSession::HandleSetEveryoneIsAssistant); DEFINE_HANDLER(CMSG_SET_FACTION_AT_WAR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetFactionAtWar, &WorldSession::HandleSetFactionAtWar); DEFINE_HANDLER(CMSG_SET_FACTION_INACTIVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetFactionInactive, &WorldSession::HandleSetFactionInactiveOpcode); DEFINE_HANDLER(CMSG_SET_FACTION_NOT_AT_WAR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetFactionNotAtWar, &WorldSession::HandleSetFactionNotAtWar); DEFINE_HANDLER(CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_LFG_BONUS_FACTION_ID, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SET_LOOT_METHOD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::SetLootMethod, &WorldSession::HandleSetLootMethodOpcode); - DEFINE_HANDLER(CMSG_SET_LOOT_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_SET_LOOT_METHOD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::SetLootMethod, &WorldSession::HandleSetLootMethodOpcode); + DEFINE_HANDLER(CMSG_SET_LOOT_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::SetLootSpecialization, &WorldSession::HandleSetLootSpecialization); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PARTY_ASSIGNMENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyAssignmentOpcode ); - DEFINE_HANDLER(CMSG_SET_PARTY_LEADER, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::SetPartyLeader, &WorldSession::HandleSetPartyLeaderOpcode); + DEFINE_HANDLER(CMSG_SET_PARTY_LEADER, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::SetPartyLeader, &WorldSession::HandleSetPartyLeaderOpcode); DEFINE_HANDLER(CMSG_SET_PET_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPlayerDeclinedNames ); DEFINE_HANDLER(CMSG_SET_PREFERRED_CEMETERY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SET_PVP, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_SET_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetPvP, &WorldSession::HandleSetPvP); DEFINE_HANDLER(CMSG_SET_RAID_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetRaidDifficulty, &WorldSession::HandleSetRaidDifficultyOpcode); DEFINE_HANDLER(CMSG_SET_ROLE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::SetRole, &WorldSession::HandleSetRoleOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSavedInstanceExtend ); + DEFINE_HANDLER(CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Calendar::SetSavedInstanceExtend, &WorldSession::HandleSetSavedInstanceExtend); DEFINE_HANDLER(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetSelection, &WorldSession::HandleSetSelectionOpcode); DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode); DEFINE_HANDLER(CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode); + DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTaxiBenchmarkOpcode ); DEFINE_HANDLER(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetTitle, &WorldSession::HandleSetTitleOpcode); - DEFINE_HANDLER(CMSG_SET_TRADE_CURRENCY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::SetTradeCurrency, &WorldSession::HandleSetTradeCurrencyOpcode); - DEFINE_HANDLER(CMSG_SET_TRADE_GOLD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::SetTradeGold, &WorldSession::HandleSetTradeGoldOpcode); - DEFINE_HANDLER(CMSG_SET_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::SetTradeItem, &WorldSession::HandleSetTradeItemOpcode); + DEFINE_HANDLER(CMSG_SET_TRADE_CURRENCY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::SetTradeCurrency, &WorldSession::HandleSetTradeCurrencyOpcode); + DEFINE_HANDLER(CMSG_SET_TRADE_GOLD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::SetTradeGold, &WorldSession::HandleSetTradeGoldOpcode); + DEFINE_HANDLER(CMSG_SET_TRADE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::SetTradeItem, &WorldSession::HandleSetTradeItemOpcode); DEFINE_HANDLER(CMSG_SET_USING_PARTY_GARRISON, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetWatchedFaction, &WorldSession::HandleSetWatchedFactionOpcode); DEFINE_HANDLER(CMSG_SHOWING_CLOAK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingCloak, &WorldSession::HandleShowingCloakOpcode); @@ -758,7 +759,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SORT_REAGENT_BANK_BAGS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SPELL_CLICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::SpellClick, &WorldSession::HandleSpellClick); DEFINE_HANDLER(CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::SpiritHealerActivate, &WorldSession::HandleSpiritHealerActivate); - DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SplitItem, &WorldSession::HandleSplitItemOpcode); + DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SplitItem, &WorldSession::HandleSplitItemOpcode); DEFINE_HANDLER(CMSG_STAND_STATE_CHANGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::StandStateChange, &WorldSession::HandleStandStateChangeOpcode); DEFINE_HANDLER(CMSG_START_SPECTATOR_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_START_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -768,10 +769,10 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitSuggestion, &WorldSession::HandleSupportTicketSubmitSuggestion); DEFINE_HANDLER(CMSG_SUSPEND_COMMS_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SUSPEND_TOKEN_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode); - DEFINE_HANDLER(CMSG_SWAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapItem, &WorldSession::HandleSwapItem); - DEFINE_HANDLER(CMSG_SWAP_SUB_GROUPS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Party::SwapSubGroups, &WorldSession::HandleSwapSubGroupsOpcode); - DEFINE_HANDLER(CMSG_SWAP_VOID_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::SwapVoidItem, &WorldSession::HandleVoidSwapItem); + DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode); + DEFINE_HANDLER(CMSG_SWAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapItem, &WorldSession::HandleSwapItem); + DEFINE_HANDLER(CMSG_SWAP_SUB_GROUPS, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Party::SwapSubGroups, &WorldSession::HandleSwapSubGroupsOpcode); + DEFINE_HANDLER(CMSG_SWAP_VOID_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::SwapVoidItem, &WorldSession::HandleVoidSwapItem); DEFINE_HANDLER(CMSG_TABARD_VENDOR_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTabardVendorActivateOpcode); DEFINE_HANDLER(CMSG_TALK_TO_GOSSIP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleGossipHelloOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXI_NODE_STATUS_QUERY, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiNodeStatusQueryOpcode ); @@ -783,11 +784,11 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_TIME_SYNC_RESPONSE_DROPPED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_TIME_SYNC_RESPONSE_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_TOGGLE_DIFFICULTY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOGGLE_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTogglePvP ); + DEFINE_HANDLER(CMSG_TOGGLE_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::TogglePvP, &WorldSession::HandleTogglePvP); DEFINE_HANDLER(CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Totem::TotemDestroyed, &WorldSession::HandleTotemDestroyed); DEFINE_HANDLER(CMSG_TOY_SET_FAVORITE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_TRAINER_BUY_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::TrainerBuySpell, &WorldSession::HandleTrainerBuySpellOpcode); - DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTrainerListOpcode); + DEFINE_HANDLER(CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::TrainerBuySpell, &WorldSession::HandleTrainerBuySpellOpcode); + DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTrainerListOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_TRANSMOGRIFY_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTransmogrifyItems ); DEFINE_HANDLER(CMSG_TURN_IN_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::TurnInPetition, &WorldSession::HandleTurnInPetition); DEFINE_HANDLER(CMSG_TUTORIAL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::TutorialSetFlag, &WorldSession::HandleTutorialFlag); @@ -796,15 +797,15 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_TWITTER_DISCONNECT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_TWITTER_POST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UI_TIME_REQUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::UITimeRequest, &WorldSession::HandleUITimeRequest); - DEFINE_HANDLER(CMSG_UNACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Trade::UnacceptTrade, &WorldSession::HandleUnacceptTradeOpcode); + DEFINE_HANDLER(CMSG_UNACCEPT_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Trade::UnacceptTrade, &WorldSession::HandleUnacceptTradeOpcode); DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::UndeleteCharacter, &WorldSession::HandleCharUndeleteOpcode); DEFINE_HANDLER(CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::UnlearnSkill, &WorldSession::HandleUnlearnSkillOpcode); DEFINE_HANDLER(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_UNLOCK_VOID_STORAGE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::UnlockVoidStorage, &WorldSession::HandleVoidStorageUnlock); + DEFINE_HANDLER(CMSG_UNLOCK_VOID_STORAGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::UnlockVoidStorage, &WorldSession::HandleVoidStorageUnlock); DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::ClientConfig::UserClientUpdateAccountData, &WorldSession::HandleUpdateAccountData); DEFINE_HANDLER(CMSG_UPDATE_CLIENT_SETTINGS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_MISSILE_TRAJECTORY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateMissileTrajectory ); - DEFINE_HANDLER(CMSG_UPDATE_RAID_TARGET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Party::UpdateRaidTarget, &WorldSession::HandleUpdateRaidTargetOpcode); + DEFINE_HANDLER(CMSG_UPDATE_RAID_TARGET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::UpdateRaidTarget, &WorldSession::HandleUpdateRaidTargetOpcode); DEFINE_HANDLER(CMSG_UPDATE_VAS_PURCHASE_STATES, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Token::UpdateListedAuctionableTokens, &WorldSession::HandleUpdateListedAuctionableTokens); DEFINE_HANDLER(CMSG_UPDATE_WOW_TOKEN_COUNT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); @@ -812,20 +813,20 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_UPGRADE_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_USE_CRITTER_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_USE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::UseEquipmentSet, &WorldSession::HandleUseEquipmentSet); + DEFINE_HANDLER(CMSG_USE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::UseEquipmentSet, &WorldSession::HandleUseEquipmentSet); DEFINE_HANDLER(CMSG_USE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::UseItem, &WorldSession::HandleUseItemOpcode); DEFINE_HANDLER(CMSG_USE_TOY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_VIOLENCE_LEVEL, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Misc::ViolenceLevel, &WorldSession::HandleViolenceLevel); + DEFINE_HANDLER(CMSG_VIOLENCE_LEVEL, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Misc::ViolenceLevel, &WorldSession::HandleViolenceLevel); DEFINE_HANDLER(CMSG_VOICE_ADD_IGNORE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_VOICE_DEL_IGNORE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOICE_SESSION_ENABLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleVoiceSessionEnableOpcode ); - DEFINE_HANDLER(CMSG_VOID_STORAGE_TRANSFER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::VoidStorageTransfer, &WorldSession::HandleVoidStorageTransfer); + DEFINE_HANDLER(CMSG_VOID_STORAGE_TRANSFER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::VoidStorage::VoidStorageTransfer, &WorldSession::HandleVoidStorageTransfer); DEFINE_OPCODE_HANDLER_OLD(CMSG_WARDEN_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWardenDataOpcode ); DEFINE_HANDLER(CMSG_WHO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoRequestPkt, &WorldSession::HandleWhoOpcode); DEFINE_HANDLER(CMSG_WHO_IS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoIsRequest, &WorldSession::HandleWhoIsOpcode); DEFINE_HANDLER(CMSG_WORLD_PORT_RESPONSE, STATUS_TRANSFER, PROCESS_THREADUNSAFE, WorldPackets::Movement::WorldPortResponse, &WorldSession::HandleMoveWorldportAckOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode ); - DEFINE_HANDLER(CMSG_WRAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::WrapItem, &WorldSession::HandleWrapItem); + DEFINE_HANDLER(CMSG_WRAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::WrapItem, &WorldSession::HandleWrapItem); #undef DEFINE_OPCODE_HANDLER_OLD #undef DEFINE_HANDLER @@ -885,19 +886,19 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUTH_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_AVAILABLE_VOICE_CHANNEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BARBER_SHOP_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_PORT_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_ACTIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NONE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_QUEUED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_ACTIVE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NONE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_QUEUED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_INFO_THROTTLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_INIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_JOINED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_LEFT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_POSITIONS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_JOINED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_LEFT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_PLAYER_POSITIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEGROUND_POINTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLENET_CHALLENGE_ABORT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLENET_CHALLENGE_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -934,7 +935,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_QUEUE_STATUS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BF_MGR_STATE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BIND_POINT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_OPEN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -943,30 +944,30 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_WON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BONUS_ROLL_EMPTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BOSS_KILL_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_BREAK_TARGET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_BREAK_TARGET, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BUY_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_BUY_SUCCEEDED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_CLEAR_PENDING_ACTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INITIAL_INVITES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_NOTES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_REMOVED_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_UPDATED_ALERT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_CLEAR_PENDING_ACTION, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_COMMAND_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INITIAL_INVITES, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_ALERT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_NOTES, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_REMOVED_ALERT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_EVENT_UPDATED_ALERT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_RAID_LOCKOUT_ADDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_RAID_LOCKOUT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_RAID_LOCKOUT_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_CALENDAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_NUM_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_CALENDAR, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_EVENT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_NUM_PENDING, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAMERA_SHAKE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_COMBAT, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -974,7 +975,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAN_DUEL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAN_DUEL_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CATEGORY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLEGE_MODE_REWARDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1021,7 +1022,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_SPELL_CHARGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_EVENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_MAP_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1053,11 +1054,11 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DELETE_CHAR, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTROY_ARENA_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTROY_ARENA_UNIT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DIFFERENT_INSTANCE_FROM_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISENCHANT_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISMOUNT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISMOUNT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISMOUNT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISPEL_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISPLAY_GAME_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1067,12 +1068,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISPLAY_TOAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DROP_NEW_CONNECTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_COUNTDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_IN_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_OUT_OF_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_REQUESTED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_WINNER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_COUNTDOWN, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_IN_BOUNDS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_OUT_OF_BOUNDS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_REQUESTED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_WINNER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DURABILITY_DAMAGE_DEATH, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_EMOTE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENABLE_BARBER_SHOP, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1096,10 +1097,10 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCED_DEATH_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_OBJECT_RELINK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_FRIEND_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_FRIEND_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_CUSTOM_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_DESPAWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_DESPAWN, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_RESET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1165,10 +1166,10 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_POI, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_ACTION_THROTTLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DECLINE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DESTROYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_NEW_LEADER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_UNINVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DECLINE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DESTROYED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_NEW_LEADER, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_UNINVITE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_DELETED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_MEMBERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1253,12 +1254,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_IS_QUEST_COMPLETE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_KICK_REASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARN_TALENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1306,12 +1307,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ALL_PASSED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_CONTENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ITEM_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_MONEY_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_MONEY_NOTIFY, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RELEASE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_REMOVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLLS_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLL_WON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1427,12 +1428,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_OPEN_SHIPMENT_NPC_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_OVERRIDE_LIGHT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAGE_TEXT, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_KILL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAUSE_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_COMMAND_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_INVITE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_KILL_LOG, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAUSE_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PENDING_RAID_LOCK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_ALREADY_SIGNED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_RENAME_GUILD_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1491,8 +1492,8 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_POWER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESSURECT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRINT_NOTIFICATION, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROC_RESIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROPOSE_LEVEL_GRANT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROC_RESIST, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROPOSE_LEVEL_GRANT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_LOG_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_OPTIONS_ENABLED, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1513,11 +1514,11 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_COMPLETION_NPC_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_CONFIRM_ACCEPT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_FORCE_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_INVALID_QUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_INVALID_QUEST, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_DETAILS, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_REQUEST_ITEMS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_STATUS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -1530,24 +1531,24 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_PVP_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAF_EMAIL_ENABLED_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_DIFFICULTY_SET, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_GROUP_ONLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_GROUP_ONLY, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_MARKERS_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_MARKERS_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BATTLEFIELD_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_RESULT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_RESULT_OK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_COMPLETED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_STARTED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_RESULT_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_READ_ITEM_RESULT_OK, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REALM_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REALM_SPLIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RECRUIT_A_FRIEND_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_EXPIRED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_FAILURE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_COMPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_SPELL_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_ITEM_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1568,9 +1569,9 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_TOKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESURRECT_REQUEST, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESYNC_RUNES, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_CHANGED_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_CHANGED_INFORM, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_CHOSEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_POLL_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_POLL_INFORM, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RUNE_REGEN_DEBUG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_BOOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1589,8 +1590,8 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_ITEM_PASSIVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_KNOWN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_SINGLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_ALL, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_SINGLE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_CHARGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_HISTORY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_UNLEARN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -1602,7 +1603,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ANIM_TIER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DF_FAST_LAUNCH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DUNGEON_DIFFICULTY, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_AT_WAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1619,12 +1620,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PET_SPECIALIZATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAY_HOVER_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAY_HOVER_ANIM, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PROFICIENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_SPELL_CHARGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TASK_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TIME_ZONE_INFORMATION, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1637,30 +1638,30 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CHANNEL_START, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CHANNEL_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DAMAGE_SHIELD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DELAYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DISPELL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_ENERGIZE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_EXECUTE_LOG, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DAMAGE_SHIELD, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DELAYED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DISPELL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_ENERGIZE_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_EXECUTE_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILURE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_GO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_HEAL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INSTAKILL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INTERRUPT_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MISS_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MULTISTRIKE_EFFECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_HEAL_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INSTAKILL_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INTERRUPT_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MISS_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MULTISTRIKE_EFFECT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_OR_DAMAGE_IMMUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_PERIODIC_AURA_LOG, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_OR_DAMAGE_IMMUNE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_PERIODIC_AURA_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_START, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPIRIT_HEALER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_STAND_STATE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_LOOT_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM); @@ -1685,14 +1686,14 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_LOST, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TOTEM_CREATED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TOTEM_MOVED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_BUY_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_STATUS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_UPDATED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_BUY_FAILED, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_ABORTED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TURN_IN_PETITION_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TUTORIAL_FLAGS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_TWITTER_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1722,11 +1723,11 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_PARENTAL_CONTROLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_SESSION_LEAVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_SESSION_ROSTER_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_ITEM_SWAP_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_CONTENTS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_TRANSFER_CHANGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_TRANSFER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_ITEM_SWAP_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_CONTENTS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_FAILED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_STORAGE_TRANSFER_CHANGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOID_TRANSFER_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WAIT_QUEUE_FINISH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WAIT_QUEUE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARDEN_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index d9bd2d8ecc6..bc5b2ef69b6 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -48,6 +48,7 @@ #include "ClientConfigPackets.h" #include "MiscPackets.h" #include "ChatPackets.h" +#include "PacketUtilities.h" #include <zlib.h> @@ -427,6 +428,11 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater) break; } } + catch (WorldPackets::PacketArrayMaxCapacityException const& pamce) + { + TC_LOG_ERROR("network", "PacketArrayMaxCapacityException: %s while parsing %s from %s.", + pamce.what(), GetOpcodeNameForLogging(static_cast<OpcodeClient>(packet->GetOpcode())).c_str(), GetPlayerInfo().c_str()); + } catch (ByteBufferException const&) { TC_LOG_ERROR("network", "WorldSession::Update ByteBufferException occured while parsing a packet (opcode: %u) from client %s, accountid=%i. Skipped packet.", diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 9c092ec98a1..18f7afab82f 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -122,6 +122,25 @@ namespace WorldPackets class BlackMarketOpen; } + namespace Calendar + { + class CalendarAddEvent; + class CalendarCopyEvent; + class CalendarEventInvite; + class CalendarEventModeratorStatus; + class CalendarEventRSVP; + class CalendarEventSignUp; + class CalendarEventStatus; + class CalendarGetCalendar; + class CalendarGetEvent; + class CalendarGetNumPending; + class CalendarGuildFilter; + class CalendarRemoveEvent; + class CalendarRemoveInvite; + class CalendarUpdateEvent; + class SetSavedInstanceExtend; + } + namespace Character { struct CharacterCreateInfo; @@ -162,6 +181,7 @@ namespace WorldPackets { class RequestAccountData; class UserClientUpdateAccountData; + class SetAdvancedCombatLogging; } namespace Channel @@ -278,6 +298,7 @@ namespace WorldPackets namespace Instance { class InstanceInfo; + class InstanceLockResponse; class ResetInstances; } @@ -307,6 +328,7 @@ namespace WorldPackets class LootRelease; class LootMoney; class LootRoll; + class SetLootSpecialization; } namespace Mail @@ -346,6 +368,9 @@ namespace WorldPackets class FarSight; class LoadCUFProfiles; class SaveCUFProfiles; + class OpeningCinematic; + class TogglePvP; + class SetPvP; } namespace Movement @@ -453,6 +478,7 @@ namespace WorldPackets class QuestGiverQueryQuest; class QuestGiverAcceptQuest; class QuestLogRemoveQuest; + class QuestPushResult; } namespace RaF @@ -599,11 +625,11 @@ enum AccountDataType #define REGISTERED_ADDON_PREFIX_SOFTCAP 64 -enum TutorialAction +enum TutorialAction : uint8 { - TUTORIAL_ACTION_RESET = 0, - TUTORIAL_ACTION_UPDATE = 1, - TUTORIAL_ACTION_CLEAR = 2 + TUTORIAL_ACTION_RESET = 1, + TUTORIAL_ACTION_CLEAR = 2, + TUTORIAL_ACTION_UPDATE = 3 }; /* @@ -972,7 +998,7 @@ class WorldSession void HandleCharRaceOrFactionChangeCallback(PreparedQueryResult result, WorldPackets::Character::CharRaceOrFactionChangeInfo* factionChangeInfo); void HandleRandomizeCharNameOpcode(WorldPackets::Character::GenerateRandomCharacterName& packet); void HandleReorderCharacters(WorldPackets::Character::ReorderCharacters& reorderChars); - void HandleOpeningCinematic(WorldPacket& recvData); + void HandleOpeningCinematic(WorldPackets::Misc::OpeningCinematic& packet); void HandleGetUndeleteCooldownStatus(WorldPackets::Character::GetUndeleteCharacterCooldownStatus& /*getCooldown*/); void HandleUndeleteCooldownStatusCallback(PreparedQueryResult result); void HandleCharUndeleteOpcode(WorldPackets::Character::UndeleteCharacter& undeleteInfo); @@ -1027,6 +1053,8 @@ class WorldSession void HandleLootOpcode(WorldPackets::Loot::LootUnit& packet); void HandleLootReleaseOpcode(WorldPackets::Loot::LootRelease& packet); void HandleLootMasterGiveOpcode(WorldPacket& recvPacket); + void HandleSetLootSpecialization(WorldPackets::Loot::SetLootSpecialization& packet); + void HandleWhoOpcode(WorldPackets::Who::WhoRequestPkt& whoRequest); void HandleLogoutRequestOpcode(WorldPackets::Character::LogoutRequest& logoutRequest); void HandleLogoutCancelOpcode(WorldPackets::Character::LogoutCancel& logoutCancel); @@ -1039,7 +1067,8 @@ class WorldSession void HandleSupportTicketSubmitComplaint(WorldPackets::Ticket::SupportTicketSubmitComplaint& packet); void HandleBugReportOpcode(WorldPackets::Ticket::BugReport& bugReport); - void HandleTogglePvP(WorldPacket& recvPacket); + void HandleTogglePvP(WorldPackets::Misc::TogglePvP& packet); + void HandleSetPvP(WorldPackets::Misc::SetPvP& packet); void HandleSetSelectionOpcode(WorldPackets::Misc::SetSelection& packet); void HandleStandStateChangeOpcode(WorldPackets::Misc::StandStateChange& packet); @@ -1066,6 +1095,7 @@ class WorldSession void HandleUpdateAccountData(WorldPackets::ClientConfig::UserClientUpdateAccountData& packet); void HandleRequestAccountData(WorldPackets::ClientConfig::RequestAccountData& request); + void HandleSetAdvancedCombatLogging(WorldPackets::ClientConfig::SetAdvancedCombatLogging& setAdvancedCombatLogging); void HandleSetActionButtonOpcode(WorldPackets::Spells::SetActionButton& packet); void HandleGameObjectUseOpcode(WorldPackets::GameObject::GameObjUse& packet); @@ -1292,7 +1322,7 @@ class WorldSession void HandleQuestgiverCompleteQuest(WorldPackets::Quest::QuestGiverCompleteQuest& packet); void HandleQuestgiverQuestAutoLaunch(WorldPacket& recvPacket); void HandlePushQuestToParty(WorldPacket& recvPacket); - void HandleQuestPushResult(WorldPacket& recvPacket); + void HandleQuestPushResult(WorldPackets::Quest::QuestPushResult& packet); void HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& chatMessage); void HandleChatMessageWhisperOpcode(WorldPackets::Chat::ChatMessageWhisper& chatMessageWhisper); @@ -1396,7 +1426,7 @@ class WorldSession void HandleTimeSyncResponse(WorldPackets::Misc::TimeSyncResponse& packet); void HandleWhoIsOpcode(WorldPackets::Who::WhoIsRequest& packet); void HandleResetInstancesOpcode(WorldPackets::Instance::ResetInstances& packet); - void HandleInstanceLockResponse(WorldPacket& recvPacket); + void HandleInstanceLockResponse(WorldPackets::Instance::InstanceLockResponse& packet); // Looking for Dungeon/Raid void HandleLfgSetCommentOpcode(WorldPacket& recvData); @@ -1460,25 +1490,25 @@ class WorldSession void HandleAcceptGrantLevel(WorldPackets::RaF::AcceptLevelGrant& acceptLevelGrant); // Calendar - void HandleCalendarGetCalendar(WorldPacket& recvData); - void HandleCalendarGetEvent(WorldPacket& recvData); - void HandleCalendarGuildFilter(WorldPacket& recvData); - void HandleCalendarAddEvent(WorldPacket& recvData); - void HandleCalendarUpdateEvent(WorldPacket& recvData); - void HandleCalendarRemoveEvent(WorldPacket& recvData); - void HandleCalendarCopyEvent(WorldPacket& recvData); - void HandleCalendarEventInvite(WorldPacket& recvData); - void HandleCalendarEventRsvp(WorldPacket& recvData); - void HandleCalendarEventRemoveInvite(WorldPacket& recvData); - void HandleCalendarEventStatus(WorldPacket& recvData); - void HandleCalendarEventModeratorStatus(WorldPacket& recvData); + void HandleCalendarGetCalendar(WorldPackets::Calendar::CalendarGetCalendar& calendarGetCalendar); + void HandleCalendarGetEvent(WorldPackets::Calendar::CalendarGetEvent& calendarGetEvent); + void HandleCalendarGuildFilter(WorldPackets::Calendar::CalendarGuildFilter& calendarGuildFilter); + void HandleCalendarAddEvent(WorldPackets::Calendar::CalendarAddEvent& calendarAddEvent); + void HandleCalendarUpdateEvent(WorldPackets::Calendar::CalendarUpdateEvent& calendarUpdateEvent); + void HandleCalendarRemoveEvent(WorldPackets::Calendar::CalendarRemoveEvent& calendarRemoveEvent); + void HandleCalendarCopyEvent(WorldPackets::Calendar::CalendarCopyEvent& calendarCopyEvent); + void HandleCalendarEventInvite(WorldPackets::Calendar::CalendarEventInvite& calendarEventInvite); + void HandleCalendarEventRsvp(WorldPackets::Calendar::CalendarEventRSVP& calendarEventRSVP); + void HandleCalendarEventRemoveInvite(WorldPackets::Calendar::CalendarRemoveInvite& calendarRemoveInvite); + void HandleCalendarEventStatus(WorldPackets::Calendar::CalendarEventStatus& calendarEventStatus); + void HandleCalendarEventModeratorStatus(WorldPackets::Calendar::CalendarEventModeratorStatus& calendarEventModeratorStatus); void HandleCalendarComplain(WorldPacket& recvData); - void HandleCalendarGetNumPending(WorldPacket& recvData); - void HandleCalendarEventSignup(WorldPacket& recvData); + void HandleCalendarGetNumPending(WorldPackets::Calendar::CalendarGetNumPending& calendarGetNumPending); + void HandleCalendarEventSignup(WorldPackets::Calendar::CalendarEventSignUp& calendarEventSignUp); void SendCalendarRaidLockout(InstanceSave const* save, bool add); void SendCalendarRaidLockoutUpdated(InstanceSave const* save); - void HandleSetSavedInstanceExtend(WorldPacket& recvData); + void HandleSetSavedInstanceExtend(WorldPackets::Calendar::SetSavedInstanceExtend& setSavedInstanceExtend); // Void Storage void HandleVoidStorageUnlock(WorldPackets::VoidStorage::UnlockVoidStorage& unlockVoidStorage); diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 321a7635e4e..6407b29924a 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -206,13 +206,15 @@ void WorldSocket::ReadHandler() } // just received fresh new payload - if (!ReadDataHandler()) + ReadDataHandlerResult result = ReadDataHandler(); + _headerBuffer.Reset(); + if (result != ReadDataHandlerResult::Ok) { - CloseSocket(); + if (result != ReadDataHandlerResult::WaitingForQuery) + CloseSocket(); + return; } - - _headerBuffer.Reset(); } AsyncRead(); @@ -264,7 +266,7 @@ bool WorldSocket::ReadHeaderHandler() return true; } -bool WorldSocket::ReadDataHandler() +WorldSocket::ReadDataHandlerResult WorldSocket::ReadDataHandler() { if (_initialized) { @@ -287,7 +289,7 @@ bool WorldSocket::ReadDataHandler() { case CMSG_PING: LogOpcodeText(opcode, sessionGuard); - return HandlePing(packet); + return HandlePing(packet) ? ReadDataHandlerResult::Ok : ReadDataHandlerResult::Error; case CMSG_AUTH_SESSION: { LogOpcodeText(opcode, sessionGuard); @@ -296,13 +298,13 @@ bool WorldSocket::ReadDataHandler() // 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()); - return false; + return ReadDataHandlerResult::Error; } std::shared_ptr<WorldPackets::Auth::AuthSession> authSession = std::make_shared<WorldPackets::Auth::AuthSession>(std::move(packet)); authSession->Read(); HandleAuthSession(authSession); - break; + return ReadDataHandlerResult::WaitingForQuery; } case CMSG_AUTH_CONTINUED_SESSION: { @@ -312,13 +314,13 @@ bool WorldSocket::ReadDataHandler() // 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()); - return false; + return ReadDataHandlerResult::Error; } std::shared_ptr<WorldPackets::Auth::AuthContinuedSession> authSession = std::make_shared<WorldPackets::Auth::AuthContinuedSession>(std::move(packet)); authSession->Read(); HandleAuthContinuedSession(authSession); - break; + return ReadDataHandlerResult::WaitingForQuery; } case CMSG_KEEP_ALIVE: LogOpcodeText(opcode, sessionGuard); @@ -326,7 +328,7 @@ bool WorldSocket::ReadDataHandler() case CMSG_LOG_DISCONNECT: LogOpcodeText(opcode, sessionGuard); packet.rfinish(); // contains uint32 disconnectReason; - return true; + break; case CMSG_ENABLE_NAGLE: LogOpcodeText(opcode, sessionGuard); SetNoDelay(false); @@ -350,14 +352,14 @@ bool WorldSocket::ReadDataHandler() if (!_worldSession) { TC_LOG_ERROR("network.opcode", "ProcessIncoming: Client not authed opcode = %u", uint32(opcode)); - return false; + return ReadDataHandlerResult::Error; } OpcodeHandler const* handler = opcodeTable[opcode]; if (!handler) { TC_LOG_ERROR("network.opcode", "No defined handler for opcode %s sent by %s", GetOpcodeNameForLogging(static_cast<OpcodeClient>(packet.GetOpcode())).c_str(), _worldSession->GetPlayerInfo().c_str()); - return true; + break; } // Our Idle timer will reset on any non PING opcodes. @@ -374,7 +376,7 @@ bool WorldSocket::ReadDataHandler() { std::string initializer(reinterpret_cast<char const*>(_packetBuffer.GetReadPointer()), std::min(_packetBuffer.GetActiveSize(), ClientConnectionInitialize.length())); if (initializer != ClientConnectionInitialize) - return false; + return ReadDataHandlerResult::Error; _compressionStream = new z_stream(); _compressionStream->zalloc = (alloc_func)NULL; @@ -386,7 +388,7 @@ bool WorldSocket::ReadDataHandler() if (z_res != Z_OK) { TC_LOG_ERROR("network", "Can't initialize packet compression (zlib: deflateInit) Error code: %i (%s)", z_res, zError(z_res)); - return false; + return ReadDataHandlerResult::Error; } _initialized = true; @@ -395,7 +397,7 @@ bool WorldSocket::ReadDataHandler() HandleSendAuthSession(); } - return true; + return ReadDataHandlerResult::Ok; } void WorldSocket::LogOpcodeText(OpcodeClient opcode, std::unique_lock<std::mutex> const& guard) const @@ -765,6 +767,7 @@ void WorldSocket::HandleAuthSessionCallback(std::shared_ptr<WorldPackets::Auth:: _queryCallback = io_service().wrap(std::bind(&WorldSocket::LoadSessionPermissionsCallback, this, std::placeholders::_1)); _queryFuture = _worldSession->LoadPermissionsAsync(); + AsyncRead(); } void WorldSocket::LoadSessionPermissionsCallback(PreparedQueryResult result) @@ -831,6 +834,7 @@ void WorldSocket::HandleAuthContinuedSessionCallback(std::shared_ptr<WorldPacket } sWorld->AddInstanceSocket(shared_from_this(), accountId); + AsyncRead(); } void WorldSocket::HandleConnectToFailed(WorldPackets::Auth::ConnectToFailed& connectToFailed) diff --git a/src/server/game/Server/WorldSocket.h b/src/server/game/Server/WorldSocket.h index 9b51b564c8e..e2ea2f2d273 100644 --- a/src/server/game/Server/WorldSocket.h +++ b/src/server/game/Server/WorldSocket.h @@ -95,7 +95,15 @@ protected: void OnClose() override; void ReadHandler() override; bool ReadHeaderHandler(); - bool ReadDataHandler(); + + enum class ReadDataHandlerResult + { + Ok = 0, + Error = 1, + WaitingForQuery = 2 + }; + + ReadDataHandlerResult ReadDataHandler(); private: void CheckIpCallback(PreparedQueryResult result); diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 473b3a98c56..1550510123e 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -32,6 +32,7 @@ #include "Battleground.h" #include "OutdoorPvPMgr.h" #include "GridNotifiers.h" +#include "GridNotifiersImpl.h" #include "ScriptMgr.h" #include "Vehicle.h" #include "Battlefield.h" @@ -1161,7 +1162,7 @@ bool AuraEffect::IsAffectingSpell(SpellInfo const* spell) const void AuraEffect::SendTickImmune(Unit* target, Unit* caster) const { if (caster) - caster->SendSpellDamageImmune(target, m_spellInfo->Id); + caster->SendSpellDamageImmune(target, m_spellInfo->Id, true); } void AuraEffect::PeriodicTick(AuraApplication * aurApp, Unit* caster) const @@ -6084,11 +6085,10 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const overkill = 0; SpellPeriodicAuraLogInfo pInfo(this, damage, overkill, absorb, resist, 0.0f, crit); - target->SendPeriodicAuraLog(&pInfo); caster->ProcDamageAndSpell(target, procAttacker, procVictim, procEx, damage, BASE_ATTACK, GetSpellInfo()); - caster->DealDamage(target, damage, &cleanDamage, DOT, GetSpellInfo()->GetSchoolMask(), GetSpellInfo(), true); + target->SendPeriodicAuraLog(&pInfo); } bool AuraEffect::IsAreaAuraEffect() const @@ -6171,7 +6171,13 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c TC_LOG_DEBUG("spells.periodic", "PeriodicTick: %s health leech of %s for %u dmg inflicted by %u abs is %u", GetCasterGUID().ToString().c_str(), target->GetGUID().ToString().c_str(), damage, GetId(), absorb); - caster->SendSpellNonMeleeDamageLog(target, GetId(), damage, GetSpellInfo()->GetSchoolMask(), absorb, resist, false, 0, crit); + SpellNonMeleeDamage log(caster, target, GetId(), GetSpellInfo()->GetSchoolMask()); + log.damage = damage - absorb - resist; + log.absorb = absorb; + log.resist = resist; + log.periodicLog = true; + if (crit) + log.HitInfo |= SPELL_HIT_TYPE_CRIT; // Set trigger flag uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; @@ -6193,6 +6199,9 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c int32 gain = caster->HealBySpell(caster, GetSpellInfo(), heal); caster->getHostileRefManager().threatAssist(caster, gain * 0.5f, GetSpellInfo()); } + + log.damage = new_damage; + caster->SendSpellNonMeleeDamageLog(&log); } void AuraEffect::HandlePeriodicHealthFunnelAuraTick(Unit* target, Unit* caster) const @@ -6345,7 +6354,6 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con float gainMultiplier = GetSpellEffectInfo()->CalcValueMultiplier(caster); SpellPeriodicAuraLogInfo pInfo(this, drainedAmount, 0, 0, 0, gainMultiplier, false); - target->SendPeriodicAuraLog(&pInfo); int32 gainAmount = int32(drainedAmount * gainMultiplier); int32 gainedAmount = 0; @@ -6369,6 +6377,8 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con caster->CastCustomSpell(caster, 32554, &feedAmount, NULL, NULL, true, NULL, this); } } + + target->SendPeriodicAuraLog(&pInfo); } void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const @@ -6398,12 +6408,12 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const GetCasterGUID().ToString().c_str(), target->GetGUID().ToString().c_str(), amount, GetId()); SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false); - target->SendPeriodicAuraLog(&pInfo); - int32 gain = target->ModifyPower(powerType, amount); if (caster) target->getHostileRefManager().threatAssist(caster, float(gain) * 0.5f, GetSpellInfo()); + + target->SendPeriodicAuraLog(&pInfo); } void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) const @@ -6430,12 +6440,12 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons int32 amount = std::max(m_amount, 0); SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false); - target->SendPeriodicAuraLog(&pInfo); TC_LOG_DEBUG("spells.periodic", "PeriodicTick: %s energize %s for %u dmg inflicted by %u", GetCasterGUID().ToString().c_str(), target->GetGUID().ToString().c_str(), amount, GetId()); int32 gain = target->ModifyPower(powerType, amount); + target->SendPeriodicAuraLog(&pInfo); if (caster) target->getHostileRefManager().threatAssist(caster, float(gain) * 0.5f, GetSpellInfo()); @@ -6469,8 +6479,6 @@ void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) con caster->DealDamageMods(damageInfo.target, damageInfo.damage, &damageInfo.absorb); - caster->SendSpellNonMeleeDamageLog(&damageInfo); - // Set trigger flag uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC; @@ -6480,7 +6488,8 @@ void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) con caster->ProcDamageAndSpell(damageInfo.target, procAttacker, procVictim, procEx, damageInfo.damage, BASE_ATTACK, spellProto); - caster->DealSpellDamage(&damageInfo, true); + damageInfo.damage = caster->DealSpellDamage(&damageInfo, true); + caster->SendSpellNonMeleeDamageLog(&damageInfo); } void AuraEffect::HandleProcTriggerSpellAuraProc(AuraApplication* aurApp, ProcEventInfo& eventInfo) @@ -6523,9 +6532,9 @@ void AuraEffect::HandleProcTriggerDamageAuraProc(AuraApplication* aurApp, ProcEv damage = triggerTarget->SpellDamageBonusTaken(target, GetSpellInfo(), damage, SPELL_DIRECT_DAMAGE, GetSpellEffectInfo()); target->CalculateSpellDamageTaken(&damageInfo, damage, GetSpellInfo()); target->DealDamageMods(damageInfo.target, damageInfo.damage, &damageInfo.absorb); - target->SendSpellNonMeleeDamageLog(&damageInfo); TC_LOG_DEBUG("spells", "AuraEffect::HandleProcTriggerDamageAuraProc: Triggering %u spell damage from aura %u proc", damage, GetId()); - target->DealSpellDamage(&damageInfo, true); + damageInfo.damage = target->DealSpellDamage(&damageInfo, true); + target->SendSpellNonMeleeDamageLog(&damageInfo); } void AuraEffect::HandleRaidProcFromChargeAuraProc(AuraApplication* aurApp, ProcEventInfo& /*eventInfo*/) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 945580b0ee3..26da12b1840 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2417,9 +2417,6 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target) caster->CalculateSpellDamageTaken(&damageInfo, m_damage, m_spellInfo, m_attackType, target->crit); caster->DealDamageMods(damageInfo.target, damageInfo.damage, &damageInfo.absorb); - // Send log damage message to client - caster->SendSpellNonMeleeDamageLog(&damageInfo); - procEx |= createProcExtendMask(&damageInfo, missInfo); procVictim |= PROC_FLAG_TAKEN_DAMAGE; @@ -2434,7 +2431,10 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target) m_damage = damageInfo.damage; - caster->DealSpellDamage(&damageInfo, true); + damageInfo.damage = caster->DealSpellDamage(&damageInfo, true); + + // Send log damage message to client + caster->SendSpellNonMeleeDamageLog(&damageInfo); } // Passive spell hits/misses or active spells only misses (only triggers) else @@ -4083,7 +4083,7 @@ void Spell::SendSpellExecuteLog() spellExecuteLog.Effects.push_back(spellLogEffect); } - m_caster->SendMessageToSet(spellExecuteLog.Write(), true); + m_caster->SendCombatLogMessage(&spellExecuteLog); } void Spell::ExecuteLogEffectTakeTargetPower(uint8 effIndex, Unit* target, uint32 powerType, uint32 points, float amplitude) diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 23d183330f2..3f96dc551d3 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -391,10 +391,14 @@ void Spell::EffectEnvironmentalDMG(SpellEffIndex /*effIndex*/) uint32 resist = 0; m_caster->CalcAbsorbResist(unitTarget, m_spellInfo->GetSchoolMask(), SPELL_DIRECT_DAMAGE, damage, &absorb, &resist, m_spellInfo); - - m_caster->SendSpellNonMeleeDamageLog(unitTarget, m_spellInfo->Id, damage, m_spellInfo->GetSchoolMask(), absorb, resist, false, 0, false); + SpellNonMeleeDamage log(m_caster, unitTarget, m_spellInfo->Id, m_spellInfo->GetSchoolMask()); + log.damage = damage - absorb - resist; + log.absorb = absorb; + log.resist = resist; if (unitTarget->GetTypeId() == TYPEID_PLAYER) - unitTarget->ToPlayer()->EnvironmentalDamage(DAMAGE_FIRE, damage); + log.damage = unitTarget->ToPlayer()->EnvironmentalDamage(DAMAGE_FIRE, damage); + + m_caster->SendSpellNonMeleeDamageLog(&log); } void Spell::EffectSchoolDMG(SpellEffIndex effIndex) diff --git a/src/server/scripts/Commands/cs_battlenet_account.cpp b/src/server/scripts/Commands/cs_battlenet_account.cpp index 767a75f0b36..9c6098f70d9 100644 --- a/src/server/scripts/Commands/cs_battlenet_account.cpp +++ b/src/server/scripts/Commands/cs_battlenet_account.cpp @@ -70,8 +70,6 @@ public: if (!*args) return false; - std::string email; - ///- %Parse the command line arguments char* accountName = strtok((char*)args, " "); char* password = strtok(NULL, " "); diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index b9a22162e2e..bade0600b9b 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -491,7 +491,7 @@ public: static bool HandleDebugSendQuestPartyMsgCommand(ChatHandler* handler, char const* args) { uint32 msg = atoul(args); - handler->GetSession()->GetPlayer()->SendPushToPartyResponse(handler->GetSession()->GetPlayer(), msg); + handler->GetSession()->GetPlayer()->SendPushToPartyResponse(handler->GetSession()->GetPlayer(), static_cast<QuestPushReason>(msg)); return true; } diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 83c8d55aec3..a16d4324b87 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -2294,7 +2294,7 @@ public: handler->GetSession()->GetPlayer()->DealDamageMods(target, damage, &absorb); handler->GetSession()->GetPlayer()->DealDamage(target, damage, NULL, DIRECT_DAMAGE, schoolmask, NULL, false); - handler->GetSession()->GetPlayer()->SendAttackStateUpdate (HITINFO_AFFECTS_VICTIM, target, 1, schoolmask, damage, absorb, resist, VICTIMSTATE_HIT, 0); + handler->GetSession()->GetPlayer()->SendAttackStateUpdate(HITINFO_AFFECTS_VICTIM, target, 1, schoolmask, damage, absorb, resist, VICTIMSTATE_HIT, 0); return true; } @@ -2306,9 +2306,10 @@ public: return false; SpellNonMeleeDamage damageInfo(handler->GetSession()->GetPlayer(), target, spellid, sSpellMgr->GetSpellInfo(spellid)->SchoolMask); + damageInfo.damage = damage; handler->GetSession()->GetPlayer()->DealDamageMods(damageInfo.target, damageInfo.damage, &damageInfo.absorb); + damageInfo.damage = target->DealSpellDamage(&damageInfo, true); target->SendSpellNonMeleeDamageLog(&damageInfo); - target->DealSpellDamage(&damageInfo, true); return true; } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 6e712a16c97..71232530505 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -149,13 +149,7 @@ enum Actions ACTION_MONITOR_CORPOREALITY = 3, // Orb Carrier - ACTION_SHOOT = 4, - - // Living Inferno - ACTION_SUMMON_LIVING_EMBERS = 5, - - // Meteor Flame - ACTION_SUMMON_FLAME = 6 + ACTION_SHOOT = 4 }; enum Phases @@ -1005,7 +999,7 @@ class npc_meteor_strike_initial : public CreatureScript if (HalionAI* halionAI = CAST_AI(HalionAI, owner->AI())) { Position const* ownerPos = halionAI->GetMeteorStrikePosition(); - float randomAdjustment = frand(0.0f, static_cast<float>(M_PI / 7.0f)); + float randomAdjustment = frand(0.0f, static_cast<float>(M_PI / 5.0f)); float angle[4]; angle[0] = me->GetAngle(ownerPos); angle[1] = angle[0] + randomAdjustment; @@ -1089,7 +1083,7 @@ class npc_meteor_strike : public CreatureScript if (_events.ExecuteEvent() == EVENT_SPAWN_METEOR_FLAME) { - Position pos = me->GetNearPosition(5.0f, frand(0.0f, static_cast<float>(M_PI / 8.0f))); + Position pos = me->GetNearPosition(5.0f, frand(-static_cast<float>(M_PI / 6.0f), static_cast<float>(M_PI / 6.0f))); if (Creature* flame = me->SummonCreature(NPC_METEOR_STRIKE_FLAME, pos, TEMPSUMMON_TIMED_DESPAWN, 25000)) flame->AI()->SetGUID(me->GetGUID()); } @@ -1149,8 +1143,7 @@ class npc_meteor_strike_flame : public CreatureScript if (meteorStrike->AI()->GetData(DATA_SPAWNED_FLAMES) > 5) return; - Position pos = me->GetNearPosition(5.0f, frand(0.0f, static_cast<float>(M_PI / 8.0f))); - + Position pos = me->GetNearPosition(5.0f, frand(-static_cast<float>(M_PI / 6.0f), static_cast<float>(M_PI / 6.0f))); if (Creature* flame = me->SummonCreature(NPC_METEOR_STRIKE_FLAME, pos, TEMPSUMMON_TIMED_DESPAWN, 25000)) flame->AI()->SetGUID(_rootOwnerGuid); } @@ -1357,7 +1350,7 @@ class go_twilight_portal : public GameObjectScript _spellId = gameobject->GetGOInfo()->goober.spell; break; case GO_HALION_PORTAL_1: - case GO_HALION_PORTAL_2: // Not used, not seen in sniffs. Just in case. + case GO_HALION_PORTAL_2: gameobject->SetPhaseMask(0x1, true); /// Because WDB template has non-existent spell ID, not seen in sniffs either, meh _spellId = SPELL_TWILIGHT_REALM; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 423c1049452..c53906b5b38 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1093,8 +1093,8 @@ class spell_sindragosa_s_fury : public SpellScriptLoader SpellNonMeleeDamage damageInfo(GetCaster(), GetHitUnit(), GetSpellInfo()->Id, GetSpellInfo()->SchoolMask); damageInfo.damage = damage; + damageInfo.damage = GetCaster()->DealSpellDamage(&damageInfo, false); GetCaster()->SendSpellNonMeleeDamageLog(&damageInfo); - GetCaster()->DealSpellDamage(&damageInfo, false); } void Register() override diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index a93d23fa233..ce3153f48ab 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -794,9 +794,10 @@ class spell_warl_health_funnel : public SpellScriptLoader modOwner->ApplySpellMod(GetId(), SPELLMOD_COST, damage); SpellNonMeleeDamage damageInfo(caster, caster, GetSpellInfo()->Id, GetSpellInfo()->SchoolMask); + damageInfo.periodicLog = true; damageInfo.damage = damage; + damageInfo.damage = caster->DealSpellDamage(&damageInfo, false); caster->SendSpellNonMeleeDamageLog(&damageInfo); - caster->DealSpellDamage(&damageInfo, false); } void Register() override diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index 233ec96bab8..9fa6e7f29ec 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -79,7 +79,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() "position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, " "resettalents_time, talentTree, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeonDifficulty, " "totalKills, todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, " - "health, power1, power2, power3, power4, power5, power6, instance_id, talentGroupsCount, activeTalentGroup, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels, raidDifficulty, legacyRaidDifficulty " + "health, power1, power2, power3, power4, power5, power6, instance_id, talentGroupsCount, activeTalentGroup, lootSpecId, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels, raidDifficulty, legacyRaidDifficulty " "FROM characters WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_SEL_GROUP_MEMBER, "SELECT guid FROM group_member WHERE memberGuid = ?", CONNECTION_BOTH); @@ -393,13 +393,13 @@ void CharacterDatabaseConnection::DoPrepareStatements() "extra_flags, stable_slots, at_login, zone, " "death_expire_time, taxi_path, totalKills, " "todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, health, power1, power2, power3, " - "power4, power5, power6, latency, talentGroupsCount, activeTalentGroup, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels) VALUES " - "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", CONNECTION_ASYNC); + "power4, power5, power6, latency, talentGroupsCount, activeTalentGroup, lootSpecId, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels) VALUES " + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", CONNECTION_ASYNC); PrepareStatement(CHAR_UPD_CHARACTER, "UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,playerBytes=?,playerBytes2=?,playerFlags=?," "map=?,instance_id=?,dungeonDifficulty=?,raidDifficulty=?,legacyRaidDifficulty=?,position_x=?,position_y=?,position_z=?,orientation=?,trans_x=?,trans_y=?,trans_z=?,trans_o=?,transguid=?,taximask=?,cinematic=?,totaltime=?,leveltime=?,rest_bonus=?," "logout_time=?,is_logout_resting=?,resettalents_cost=?,resettalents_time=?,talentTree=?,extra_flags=?,stable_slots=?,at_login=?,zone=?,death_expire_time=?,taxi_path=?," "totalKills=?,todayKills=?,yesterdayKills=?,chosenTitle=?," - "watchedFaction=?,drunk=?,health=?,power1=?,power2=?,power3=?,power4=?,power5=?,power6=?,latency=?,talentGroupsCount=?,activeTalentGroup=?,exploredZones=?," + "watchedFaction=?,drunk=?,health=?,power1=?,power2=?,power3=?,power4=?,power5=?,power6=?,latency=?,talentGroupsCount=?,activeTalentGroup=?,lootSpecId=?,exploredZones=?," "equipmentCache=?,knownTitles=?,actionBars=?,grantableLevels=?,online=? WHERE guid=?", CONNECTION_ASYNC); PrepareStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG, "UPDATE characters SET at_login = at_login | ? WHERE guid = ?", CONNECTION_ASYNC); @@ -612,10 +612,10 @@ void CharacterDatabaseConnection::DoPrepareStatements() PrepareStatement(CHAR_INS_ITEMCONTAINER_MONEY, "INSERT INTO item_loot_money (container_id, money) VALUES (?, ?)", CONNECTION_ASYNC); // Calendar - PrepareStatement(CHAR_REP_CALENDAR_EVENT, "REPLACE INTO calendar_events (id, creator, title, description, type, dungeon, eventtime, flags, time2) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); - PrepareStatement(CHAR_DEL_CALENDAR_EVENT, "DELETE FROM calendar_events WHERE id = ?", CONNECTION_ASYNC); - PrepareStatement(CHAR_REP_CALENDAR_INVITE, "REPLACE INTO calendar_invites (id, event, invitee, sender, status, statustime, rank, text) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); - PrepareStatement(CHAR_DEL_CALENDAR_INVITE, "DELETE FROM calendar_invites WHERE id = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_REP_CALENDAR_EVENT, "REPLACE INTO calendar_events (EventID, Owner, Title, Description, EventType, TextureID, Date, Flags, LockDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_CALENDAR_EVENT, "DELETE FROM calendar_events WHERE EventID = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_REP_CALENDAR_INVITE, "REPLACE INTO calendar_invites (InviteID, EventID, Invitee, Sender, Status, ResponseTime, ModerationRank, Note) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_CALENDAR_INVITE, "DELETE FROM calendar_invites WHERE InviteID = ?", CONNECTION_ASYNC); // Pet PrepareStatement(CHAR_SEL_PET_SLOTS, "SELECT owner, slot FROM character_pet WHERE owner = ? AND slot >= ? AND slot <= ? ORDER BY slot", CONNECTION_ASYNC); diff --git a/src/server/shared/Networking/MessageBuffer.h b/src/server/shared/Networking/MessageBuffer.h index d0c65f05c3d..95e138655aa 100644 --- a/src/server/shared/Networking/MessageBuffer.h +++ b/src/server/shared/Networking/MessageBuffer.h @@ -84,9 +84,9 @@ public: // Ensures there's "some" free space, make sure to call Normalize() before this void EnsureFreeSpace() { - // Double the size of the buffer if it's already full + // resize buffer if it's already full if (GetRemainingSpace() == 0) - _storage.resize(_storage.size() * 2); + _storage.resize(_storage.size() * 3 / 2); } void Write(void const* data, std::size_t size) |