diff options
276 files changed, 11818 insertions, 2378 deletions
diff --git a/README.md b/README.md index 263339fc9dd..d92b3848c94 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [](https://scan.coverity.com/projects/435) [](https://www.bountysource.com/trackers/1310-trinity-core?utm_source=1310&utm_medium=shield&utm_campaign=TRACKER_BADGE) +[](http://www.issuestats.com/github/TrinityCore/TrinityCore) +[](http://www.issuestats.com/github/TrinityCore/TrinityCore) `6.x`: [](https://travis-ci.org/TrinityCore/TrinityCore) `4.3.4`: [](https://travis-ci.org/TrinityCore/TrinityCore) `3.3.5`: [](https://travis-ci.org/TrinityCore/TrinityCore) diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake index c34e9d75973..1f5f02ceeec 100644 --- a/cmake/genrev.cmake +++ b/cmake/genrev.cmake @@ -12,21 +12,19 @@ # This is done EACH compile so they can be alerted about the consequences. if(NOT BUILDDIR) - # Workaround for funny MSVC behaviour - this segment only run during compile - set(NO_GIT ${WITHOUT_GIT}) - set(GIT_EXEC ${GIT_EXECUTABLE}) + # Workaround for funny MSVC behaviour - this segment is only used when using cmake gui set(BUILDDIR ${CMAKE_BINARY_DIR}) endif() -if(NO_GIT) +if(WITHOUT_GIT) set(rev_date "1970-01-01 00:00:00 +0000") set(rev_hash "unknown") set(rev_branch "Archived") else() - if(GIT_EXEC) + if(GIT_EXECUTABLE) # Create a revision-string that we can use execute_process( - COMMAND "${GIT_EXEC}" describe --match init --dirty=+ --abbrev=12 + COMMAND "${GIT_EXECUTABLE}" describe --match init --dirty=+ --abbrev=12 WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE rev_info OUTPUT_STRIP_TRAILING_WHITESPACE @@ -35,7 +33,7 @@ else() # And grab the commits timestamp execute_process( - COMMAND "${GIT_EXEC}" show -s --format=%ci + COMMAND "${GIT_EXECUTABLE}" show -s --format=%ci WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE rev_date OUTPUT_STRIP_TRAILING_WHITESPACE @@ -44,7 +42,7 @@ else() # Also retrieve branch name execute_process( - COMMAND "${GIT_EXEC}" rev-parse --abbrev-ref HEAD + COMMAND "${GIT_EXECUTABLE}" rev-parse --abbrev-ref HEAD WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE rev_branch OUTPUT_STRIP_TRAILING_WHITESPACE @@ -69,7 +67,7 @@ else() endif() # Create the actual revision.h file from the above params -if(NOT "${rev_hash_cached}" MATCHES "${rev_hash}" OR NOT "${rev_branch_cached}" MATCHES "${rev_branch}") +if(NOT "${rev_hash_cached}" MATCHES "${rev_hash}" OR NOT "${rev_branch_cached}" MATCHES "${rev_branch}" OR NOT EXISTS "${BUILDDIR}/revision.h") configure_file( "${CMAKE_SOURCE_DIR}/revision.h.in.cmake" "${BUILDDIR}/revision.h" diff --git a/cmake/macros/FindMySQL.cmake b/cmake/macros/FindMySQL.cmake index 2c393463c47..990f4918d6a 100644 --- a/cmake/macros/FindMySQL.cmake +++ b/cmake/macros/FindMySQL.cmake @@ -94,6 +94,7 @@ find_path(MYSQL_INCLUDE_DIR "$ENV{ProgramFiles}/MySQL/*/include" "$ENV{SystemDrive}/MySQL/*/include" "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/include" DOC "Specify the directory containing mysql.h." ) @@ -159,6 +160,7 @@ if( WIN32 ) "$ENV{ProgramFiles}/MySQL/*/lib/opt" "$ENV{SystemDrive}/MySQL/*/lib/opt" "c:/msys/local/include" + "$ENV{MYSQL_ROOT}/lib" DOC "Specify the location of the mysql library here." ) endif( WIN32 ) diff --git a/cmake/macros/FindOpenSSL.cmake b/cmake/macros/FindOpenSSL.cmake index 1cc34b36a4c..7baa43274ab 100644 --- a/cmake/macros/FindOpenSSL.cmake +++ b/cmake/macros/FindOpenSSL.cmake @@ -186,7 +186,7 @@ if (OPENSSL_INCLUDE_DIR) set(OPENSSL_VERSION "${_OPENSSL_VERSION}") else (_OPENSSL_VERSION) file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str - REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9][0-9][0-9][0-9].*") + REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9][0-9][0-9][0-9].*") # The version number is encoded as 0xMNNFFPPS: major minor fix patch status # The status gives if this is a developer or prerelease and is ignored here. diff --git a/sql/updates/world/2015_01_30_00_world.sql b/sql/updates/world/2015_01_30_00_world.sql new file mode 100644 index 00000000000..4393b38ddd2 --- /dev/null +++ b/sql/updates/world/2015_01_30_00_world.sql @@ -0,0 +1,32 @@ +DELETE FROM `creature_text` WHERE `entry` IN(37158,37704); +DELETE FROM `creature_text` WHERE `entry`=37225 AND `groupid` > 15; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(37158, 0, 0, '%s prepares to attack!', 41, 0, 100, 0, 0, 0, 'Quel''Delar', 37211), +(37704, 0, 0, 'Quel''Delar leaps to life in the presence of Frostmourne!', 41, 0, 100, 0, 0, 0, 'Frostmourne Altar Bunny (Quel''Delar)', 37645), +-- Uther +(37225, 16, 0, 'Halt! Do not carry that blade any further!', 14, 0, 100, 25, 0, 16675, 'Uther the Lightbringer', 37201), +(37225, 17, 0, 'Do you realize what you''ve done?', 14, 0, 100, 5, 0, 16676, 'Uther the Lightbringer', 37202), +(37225, 18, 0, 'You have forged this blade from saronite, the very blood of an old god. The power of the Lich King calls to this weapon.', 12, 0, 100, 1, 0, 16677, 'Uther the Lightbringer', 37204), +(37225, 19, 0, 'Each moment you tarry here, Quel''Delar drinks in the evil of this place.', 12, 0, 100, 1, 0, 16678, 'Uther the Lightbringer', 38442), +(37225, 20, 0, 'There is only one way to cleanse this sword. Make haste for the Sunwell and immerse the blade in its waters.', 12, 0, 100, 25, 0, 16679, 'Uther the Lightbringer', 37205), +(37225, 21, 0, 'I can resist Frostmourne''s call no more...', 12, 0, 100, 1, 0, 16680, 'Uther the Lightbringer', 37206); + +UPDATE `creature_template` SET `unit_flags`=768, `flags_extra`=0, `ScriptName`='npc_quel_delar_sword', `InhabitType`=7 WHERE `entry`=37158; +UPDATE `creature_template` SET `ScriptName`='npc_uther_quel_delar' WHERE `entry`=37225; + +DELETE FROM `areatrigger_scripts` WHERE `entry`=5660; +INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES +(5660, 'at_hor_uther_quel_delar_start'); + +DELETE FROM `spell_target_position` WHERE `id` IN(70719,70700); +INSERT INTO `spell_target_position` (`id`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES +(70719, 668, 5302, 1989, 708, 0), +(70700, 668, 5298, 1995, 708, 0); + +DELETE FROM `creature_loot_template` WHERE `entry` = 37158 AND `item` = 50254; +INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Chance`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`) VALUES +(37158, 50254, 100, 1, 0, 1, 1); + +DELETE FROM `conditions` WHERE `SourceEntry` = 73035 AND `SourceTypeOrReferenceId` = 13; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `Comment`) VALUES +(13,1,73035,0,0,31,0,3,37704,0,0,0,0,'Essence of the Captured (73035) only hits Frostmourne Altar Bunny (Quel''Delar)'); diff --git a/sql/updates/world/2015_01_31_00_335.sql b/sql/updates/world/2015_01_31_00_335.sql new file mode 100644 index 00000000000..8aaa026154a --- /dev/null +++ b/sql/updates/world/2015_01_31_00_335.sql @@ -0,0 +1,3 @@ +DELETE FROM `gameobject_template` WHERE `entry` = 180856; +INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `data0`, `data1`, `data2`, `data3`, `size`, `VerifiedBuild`) VALUES +(180856, 10, 6522, 'Firework Rocket, Type 1 Purple', 0, 0, 0, 3000, 1, -18019); diff --git a/sql/updates/world/2015_02_02_00_world.sql b/sql/updates/world/2015_02_02_00_world.sql new file mode 100644 index 00000000000..84d31ef7be1 --- /dev/null +++ b/sql/updates/world/2015_02_02_00_world.sql @@ -0,0 +1,16 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN(29491,28994,28721,28725,33027,28727,28715,28714,28726,29523,28989,28997,28723,28718); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 29491, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Karandonna - Only run SAI if invoker is player'), +(22, 1, 28994, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Abra Cadabra - Only run SAI if invoker is player'), +(22, 1, 28721, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Tiffany Cartier - Only run SAI if invoker is player'), +(22, 1, 28725, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Patricia Egan - Only run SAI if invoker is player'), +(22, 1, 33027, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Jessica Sellers - Only run SAI if invoker is player'), +(22, 1, 28727, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Edward Egan - Only run SAI if invoker is player'), +(22, 1, 28714, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Ildine Sorrowspear - Only run SAI if invoker is player'), +(22, 1, 28715, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Endora Moorehead - Only run SAI if invoker is player'), +(22, 1, 28726, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Dominique Stefano - Only run SAI if invoker is player'), +(22, 1, 29523, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Bragund Brightlink - Only run SAI if invoker is player'), +(22, 1, 28997, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Griselda Hunderland - Only run SAI if invoker is player'), +(22, 1, 28989, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Aemara - Only run SAI if invoker is player'), +(22, 1, 28723, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Larana Drome - Only run SAI if invoker is player'), +(22, 1, 28718, 0, 0, 31, 0, 4, 0, 0, 0, 0, 0, '', 'Ranid Glowergold - Only run SAI if invoker is player'); diff --git a/sql/updates/world/2015_02_05_00_world.sql b/sql/updates/world/2015_02_05_00_world.sql new file mode 100644 index 00000000000..77bc4fd8b53 --- /dev/null +++ b/sql/updates/world/2015_02_05_00_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `skill_fishing_base_level` WHERE `entry`=4710; +INSERT INTO `skill_fishing_base_level` (`entry`, `skill`) VALUES +(4710, 480); diff --git a/sql/updates/world/2015_02_06_00_world.sql b/sql/updates/world/2015_02_06_00_world.sql new file mode 100644 index 00000000000..96eb6a65f28 --- /dev/null +++ b/sql/updates/world/2015_02_06_00_world.sql @@ -0,0 +1,27 @@ +-- The Brewmaiden SAI +SET @ENTRY := 36021; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@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,22,0,100,0,101,0,0,0,11,48249,1,0,0,0,0,7,0,0,0,0,0,0,0,'The Brewmaiden - Received Emote 101 - Cast ''Brewfest Brew Toss'''); + +DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY; +INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`auras`) VALUES +(@ENTRY,0x1,'68269'); + + +-- The Brewmaiden SAI +SET @ENTRY := 27166; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,22,0,100,0,101,0,0,0,11,48249,1,0,0,0,0,7,0,0,0,0,0,0,0,'The Brewmaiden - Received Emote 101 - Cast ''Brewfest Brew Toss'''); + +DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY; +INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`auras`) VALUES +(@ENTRY,0x1,'51847'); diff --git a/sql/updates/world/2015_02_06_01_world.sql b/sql/updates/world/2015_02_06_01_world.sql new file mode 100644 index 00000000000..3b16d7a367c --- /dev/null +++ b/sql/updates/world/2015_02_06_01_world.sql @@ -0,0 +1,40 @@ +-- Fel Portal Alarm SAI +SET @ENTRY := 23310; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,46907,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fel Portal Alarm - On Respawn - Cast 'Boss Fel Portal State' (No Repeat)"), +(@ENTRY,0,1,0,38,0,100,0,1,1,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fel Portal Alarm - On Data Set 1 1 - Increment Phase"), +(@ENTRY,0,2,3,1,32,100,0,1000,1000,0,0,12,25003,5,120000,0,0,0,1,0,0,0,0,0,0,0,"Fel Portal Alarm - Out of Combat - Summon Creature 'Emissary of Hate' (Phase 32)"), +(@ENTRY,0,3,0,61,32,100,0,1000,1000,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fel Portal Alarm - Out of Combat - Set Event Phase 0 (Phase 32)"); + +DELETE FROM `creature` WHERE `id`=25003; + +-- Irespeaker SAI +SET @ENTRY := 24999; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,1500,3000,10000,15000,11,35913,0,0,0,0,0,2,0,0,0,0,0,0,0,"Irespeaker - In Combat - Cast 'Fel Fireball'"), +(@ENTRY,0,1,0,0,0,100,0,13000,16000,20000,35000,11,18267,0,0,0,0,0,2,0,0,0,0,0,0,0,"Irespeaker - In Combat - Cast 'Curse of Weakness'"), +(@ENTRY,0,2,0,6,0,100,1,0,0,0,0,33,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Irespeaker - On Just Died - Quest Credit 'Kanrethad's Quest' (No Repeat)"), +(@ENTRY,0,3,0,6,0,100,0,5000,5000,10000,10000,45,1,1,0,0,0,0,10,79450,23310,0,0,0,0,0,"Irespeaker - On Just Died - Set Data 1 1"); + +-- Unleashed Hellion SAI +SET @ENTRY := 25002; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,33,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Unleashed Hellion - On Just Died - Quest Credit 'Kanrethad's Quest' (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,0,4000,5000,18000,35000,11,11876,0,0,0,0,0,2,0,0,0,0,0,0,0,"Unleashed Hellion - In Combat - Cast 'War Stomp'"), +(@ENTRY,0,2,0,0,0,100,0,6000,9000,12600,16000,11,20754,0,0,0,0,0,2,0,0,0,0,0,0,0,"Unleashed Hellion - In Combat - Cast 'Rain of Fire'"), +(@ENTRY,0,3,0,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,79450,23310,0,0,0,0,0,"Unleashed Hellion - On Just Died - Set Data 1 1"); + +-- Emissary of Hate SAI +SET @ENTRY := 25003; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,5000,15000,20000,11,25003,0,0,0,0,0,2,0,0,0,0,0,0,0,"Emissary of Hate - In Combat - Cast 'Mortar'"), +(@ENTRY,0,1,0,0,0,100,0,8000,10000,15000,20000,11,38611,0,0,0,0,0,2,0,0,0,0,0,0,0,"Emissary of Hate - In Combat - Cast 'Flame Wave'"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,89,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Emissary of Hate - On Just Summoned - Start Random Movement"); diff --git a/sql/updates/world/2015_02_06_02_world.sql b/sql/updates/world/2015_02_06_02_world.sql new file mode 100644 index 00000000000..4c514ea95d4 --- /dev/null +++ b/sql/updates/world/2015_02_06_02_world.sql @@ -0,0 +1,33 @@ +-- Master Gadrin SAI +SET @ENTRY := 3188; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,808,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Master Gadrin - On Quest 'Minshina's Skull' Finished - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 318800; +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,2000,2000,0,0,12,3289,5,14000,0,0,0,8,0,0,0,-822.91,-4923.33,19.6365,3.41642,"Master Gadrin - On Script - Summon Creature 'Spirit of Minshina'"), +(@ENTRY,9,1,0,0,0,100,0,2000,2000,0,0,66,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Master Gadrin - On Script - Set Orientation Closest Player"), +(@ENTRY,9,2,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Master Gadrin - On Script - Say Line 0"); + +-- Spirit of Minshina SAI +SET @ENTRY := 3289; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Spirit of Minshina - On Just Summoned - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 328900; +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,2000,2000,0,0,66,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Spirit of Minshina - On Script - Set Orientation Closest Player"), +(@ENTRY,9,1,0,0,0,100,0,2000,2000,0,0,5,2,0,0,0,0,0,1,2000,2000,0,0,0,0,0,"Spirit of Minshina - On Script - Play Emote 2"), +(@ENTRY,9,2,0,0,0,100,0,11000,11000,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Spirit of Minshina - On Script - Despawn Instant"); + +DELETE FROM `creature_text` WHERE `entry`=3188; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(3188, 0, 0, 'I thank you, $n. And my brother thanks you.', 12, 0, 100, 0, 0, 0, 'Master Gadrin', 983); diff --git a/sql/updates/world/2015_02_06_03_world.sql b/sql/updates/world/2015_02_06_03_world.sql new file mode 100644 index 00000000000..83aedd75069 --- /dev/null +++ b/sql/updates/world/2015_02_06_03_world.sql @@ -0,0 +1,62 @@ +-- +DELETE FROM `waypoints` WHERE `entry`=16856; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(16856, 1,-807.327,2739.82,115.447, 'Caretaker Dilandrus'), +(16856, 2,-798.86,2719.21,111.628, 'Caretaker Dilandrus'), +(16856, 3,-785.502,2706.21,107.293, 'Caretaker Dilandrus'), +(16856, 4,-785.546,2702.16,106.208, 'Caretaker Dilandrus'), +(16856, 5,-787.652,2700.58,105.792, 'Caretaker Dilandrus'), +(16856, 6,-791.771,2694.26,104.589, 'Caretaker Dilandrus'), +(16856, 7,-793.482,2693.76,104.592, 'Caretaker Dilandrus'), +(16856, 8,-794.696,2691.44,104.35, 'Caretaker Dilandrus'), +(16856, 9,-797.951,2691.02,104.535, 'Caretaker Dilandrus'), +(16856, 10,-798.984,2693.63,104.891, 'Caretaker Dilandrus'), +(16856, 11,-797.778,2697.53,105.43, 'Caretaker Dilandrus'), +(16856, 12,-792.678,2705.64,106.948, 'Caretaker Dilandrus'), +(16856, 13,-792.409,2708.46,107.754, 'Caretaker Dilandrus'), +(16856, 14,-794.25,2710.38,108.384, 'Caretaker Dilandrus'), +(16856, 15,-799.924,2706.66,107.387, 'Caretaker Dilandrus'), +(16856, 16,-807.92,2692.9,104.856, 'Caretaker Dilandrus'), +(16856, 17,-811.612,2690.9,104.36, 'Caretaker Dilandrus'), +(16856, 18,-814.837,2692.26,104.736, 'Caretaker Dilandrus'), +(16856, 19,-814.33,2696.03,105.773, 'Caretaker Dilandrus'), +(16856, 20,-809.779,2704.45,107.63, 'Caretaker Dilandrus'), +(16856, 21,-801.425,2715.06,109.679, 'Caretaker Dilandrus'), +(16856, 22,-801.359,2718.11,110.676, 'Caretaker Dilandrus'), +(16856, 23,-804.433,2720.69,111.13, 'Caretaker Dilandrus'), +(16856, 24,-810.324,2717.67,110.329, 'Caretaker Dilandrus'), +(16856, 25,-814.433,2712.14,109.487, 'Caretaker Dilandrus'), +(16856, 26,-820.17,2701.35,107.506, 'Caretaker Dilandrus'), +(16856, 27,-823.067,2699.77,107.458, 'Caretaker Dilandrus'), +(16856, 28,-824.921,2701.38,107.939, 'Caretaker Dilandrus'), +(16856, 29,-824.739,2706.05,108.591, 'Caretaker Dilandrus'), +(16856, 30,-820.185,2714.8,110.056, 'Caretaker Dilandrus'), +(16856, 31,-814.476,2725.61,111.567, 'Caretaker Dilandrus'), +(16856, 32,-807.327,2739.82,115.447, 'Caretaker Dilandrus'), +(16856, 33,-807.327,2739.82,115.447, 'Caretaker Dilandrus'); + +UPDATE `creature` SET `position_x`=-807.327, `position_y`=2739.82, `position_z`=115.447, `orientation`=2.611, `MovementType`=2 WHERE `guid`=58021; + +-- Caretaker Dilandrus SAI +SET @ENTRY := 16856; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,16856,1,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Reset - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,5,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 5 Reached - Run Script"), +(@ENTRY,0,2,0,40,0,100,0,7,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 7 Reached - Run Script"), +(@ENTRY,0,3,0,40,0,100,0,11,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 11 Reached - Run Script"), +(@ENTRY,0,4,0,40,0,100,0,15,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 15 Reached - Run Script"), +(@ENTRY,0,5,0,40,0,100,0,20,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 20 Reached - Run Script"), +(@ENTRY,0,6,0,40,0,100,0,24,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 24 Reached - Run Script"), +(@ENTRY,0,7,0,40,0,100,0,30,16856,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 30 Reached - Run Script"), +(@ENTRY,0,8,0,40,0,100,0,33,16856,0,0,54,300000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Waypoint 33 Reached - Pause Waypoint"); + +-- Actionlist SAI +SET @ENTRY := 1685601; +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,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Script - Pause Waypoint"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,1,0,0,0,0,0,0,2.75976,"Caretaker Dilandrus - On Script - Set Orientation Home Position"), +(@ENTRY,9,2,0,0,0,100,0,3000,3000,0,0,5,66,0,0,0,0,0,1,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Script - Play Emote 66"), +(@ENTRY,9,3,0,0,0,100,0,3000,3000,0,0,5,68,0,0,0,0,0,0,0,0,0,0,0,0,0,"Caretaker Dilandrus - On Script - Play Emote 68"); diff --git a/sql/updates/world/2015_02_06_04_world.sql b/sql/updates/world/2015_02_06_04_world.sql new file mode 100644 index 00000000000..1a4484df5a3 --- /dev/null +++ b/sql/updates/world/2015_02_06_04_world.sql @@ -0,0 +1,32 @@ +-- Areatrigger SAI +SET @ENTRY := 1447; +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,0,0,0,0,45,1,1,0,0,0,0,10,81519,8127,0,0,0,0,0,"Areatrigger - On Trigger - Set Data 1 1"); + +-- Antu'sul SAI +SET @ENTRY := 8127; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,0,0,50,2,11600,11600,13300,21700,11,8376,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - In Combat - Cast 'Earthgrab Totem' (Normal Dungeon)"), +(@ENTRY,0,1,0,61,0,50,3,11600,11600,13300,21700,11,11899,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - In Combat - Cast 'Healing Ward' (Normal Dungeon)"), +(@ENTRY,0,2,6,4,0,100,3,0,0,0,0,11,11894,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - On Aggro - Cast 'Antu'sul's Minion' (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,3,0,2,0,100,3,0,20,0,0,11,11895,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - Between 0-20% Health - Cast 'Healing Wave of Antu'sul' (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,4,5,2,0,100,3,0,25,0,0,11,11894,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - Between 0-25% Health - Cast 'Antu'sul's Minion' (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,5,0,61,0,100,3,0,25,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - Between 0-25% Health - Say Line 0 (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,6,0,61,0,100,3,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - On Aggro - Say Line 1 (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,7,8,2,0,100,3,0,75,0,0,11,11894,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - Between 0-75% Health - Cast 'Antu'sul's Minion' (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,8,0,61,0,100,3,0,75,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Antu'sul - Between 0-75% Health - Say Line 2 (No Repeat) (Normal Dungeon)"), +(@ENTRY,0,9,0,0,0,100,2,5000,5000,12000,14000,11,16006,0,0,0,0,0,5,0,0,0,0,0,0,0,"Antu'sul - In Combat - Cast 'Chain Lightning' (Normal Dungeon)"), +(@ENTRY,0,10,0,0,0,100,2,3000,3000,9000,11000,11,15501,0,0,0,0,0,2,0,0,0,0,0,0,0,"Antu'sul - In Combat - Cast 'Earth Shock' (Normal Dungeon)"), +(@ENTRY,0,11,0,38,0,100,0,1,1,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"Antu'sul - On Data Set 1 1 - Start Attacking"); + +SET @ENTRY := 8127; +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(@ENTRY,0,0, 'The children of Sul will protect their master. Rise once more Sul\'lithuz!',14,0,100,0,0,0, 4178, 0, 'Antu\'sul'), +(@ENTRY,1,0, 'Lunch has arrived, my beautiful children. Tear them to pieces!',14,0,100,0,0,0, 4166, 0, 'Antu\'sul'), +(@ENTRY,2,0, 'Rise and defend your master!',14,0,100,0,0,0, 4177, 0, 'Antu\'sul'); diff --git a/sql/updates/world/2015_02_06_05_world.sql b/sql/updates/world/2015_02_06_05_world.sql new file mode 100644 index 00000000000..bd04efd9c66 --- /dev/null +++ b/sql/updates/world/2015_02_06_05_world.sql @@ -0,0 +1,45 @@ +-- Commander Hogarth SAI +SET @ENTRY := 19937; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,33900,0,0,0,0,0,1,0,0,0,0,0,0,0,"Commander Hogarth - On Respawn - Cast 'Shroud of Death' (No Repeat)"), +(@ENTRY,0,1,2,20,0,100,0,10258,0,0,0,12,20117,6,0,0,0,0,8,0,0,0,-1186.95,2608.81,27.702,5.38523,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding Knight'"), +(@ENTRY,0,2,3,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1192.14,2602.7,29.2625,0.0820243,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,3,4,61,0,100,0,10258,0,0,0,12,20117,6,0,0,0,0,8,0,0,0,-1181.95,2611.13,27.3004,4.61566,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding Knight'"), +(@ENTRY,0,4,5,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1183.65,2603.66,29.4927,6.09219,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,5,6,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1184.48,2609.26,27.7192,5.01103,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,6,7,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1175.39,2607.4,28.853,3.63473,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,7,8,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1178.36,2609.96,27.8814,4.12375,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,8,9,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1182.51,2608.35,28.1201,4.67383,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,9,10,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1189.12,2601.88,29.6988,0.242659,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,10,11,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1179.46,2606.03,29.0216,3.81031,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,11,12,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1180.6,2598.15,35.2317,1.94692,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,12,13,61,0,100,0,10258,0,0,0,12,20117,6,0,0,0,0,8,0,0,0,-1190.87,2607.06,27.9991,5.86898,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding Knight'"), +(@ENTRY,0,13,14,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1179.81,2603.43,29.8027,3.12637,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,14,15,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1184.47,2606.9,28.4442,5.18881,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,15,16,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1186.63,2605.58,28.7169,5.79079,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,16,17,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1189.03,2604.6,28.8694,6.10697,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,17,18,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1185.68,2603.39,29.4476,5.18881,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"), +(@ENTRY,0,18,0,61,0,100,0,10258,0,0,0,12,19863,6,0,0,0,0,8,0,0,0,-1181.97,2605.76,28.9476,4.40683,"Commander Hogarth - On Quest 'Honor the Fallen' Finished - Summon Creature 'Vengeful Unyielding'"); + +DELETE FROM `creature_template_addon` WHERE `entry` IN (20117, 19863); +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(20117, 0, 0, 0, 0, 0, '33900'), +(19863, 0, 0, 0, 0, 0, '33900'); + +-- Vengeful Unyielding Knight SAI +SET @ENTRY := 20117; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,41,15000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vengeful Unyielding Knight - On Just Summoned - Despawn In 15000 ms"), +(@ENTRY,0,1,0,54,0,100,0,0,0,0,0,5,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vengeful Unyielding Knight - On Just Summoned - Play Emote 2"); + +-- Vengeful Unyielding SAI +SET @ENTRY := 19863; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,41,15000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vengeful Unyielding - On Just Summoned - Despawn In 15000 ms"), +(@ENTRY,0,1,0,54,0,100,0,0,0,0,0,5,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Vengeful Unyielding - On Just Summoned - Play Emote 2"); diff --git a/sql/updates/world/2015_02_06_06_world.sql b/sql/updates/world/2015_02_06_06_world.sql new file mode 100644 index 00000000000..0d7b75a72cc --- /dev/null +++ b/sql/updates/world/2015_02_06_06_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_questender` SET `id` =38017 WHERE `quest` =24880; diff --git a/sql/updates/world/2015_02_06_07_world.sql b/sql/updates/world/2015_02_06_07_world.sql new file mode 100644 index 00000000000..ab3eb6ae454 --- /dev/null +++ b/sql/updates/world/2015_02_06_07_world.sql @@ -0,0 +1,6 @@ +-- Tiny Snowman SAI +SET @ENTRY := 15710; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,22,0,100,0,34,0,0,0,5,94,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tiny Snowman - Received Emote 34 - Play Emote 94"); diff --git a/sql/updates/world/2015_02_06_08_world.sql b/sql/updates/world/2015_02_06_08_world.sql new file mode 100644 index 00000000000..e05c5e15c8e --- /dev/null +++ b/sql/updates/world/2015_02_06_08_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid`=20206 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(20206, 0, 0, 0, 20, 0, 100, 0, 10919, 0, 0, 0, 53, 0, 20206, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Fei Fei - On Quest \'Fei Fei\'s Treat\' Finished - Start Waypoint (Phase 1) (No Repeat)'); diff --git a/sql/updates/world/2015_02_06_09_world.sql b/sql/updates/world/2015_02_06_09_world.sql new file mode 100644 index 00000000000..94696444dd4 --- /dev/null +++ b/sql/updates/world/2015_02_06_09_world.sql @@ -0,0 +1,11 @@ +-- +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (4131, 4133); +DELETE FROM `smart_scripts` WHERE `entryorguid`=4131 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(4131, 0, 0, 0, 0, 0, 100, 1, 4000, 7000, 22000, 25000, 11, 6016, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Silithid Invader - IC - Cast Pierce Armor'), +(4131, 0, 1, 0, 0, 0, 100, 1, 10000, 16000, 0, 0, 11, 8137, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Silithid Invader - IC - Cast Pierce Armor'), +(4131, 0, 2, 0, 2, 0, 100, 1, 0, 15, 0, 0, 39, 20, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Silithid Invader - on hp below 15 % - call for help'); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=4133 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(4133, 0, 2, 0, 2, 0, 100, 1, 0, 15, 0, 0, 39, 20, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Silithid Hive Drone - on hp below 15 % - call for help'); diff --git a/sql/updates/world/2015_02_06_10_world.sql b/sql/updates/world/2015_02_06_10_world.sql new file mode 100644 index 00000000000..428a0c7e8ca --- /dev/null +++ b/sql/updates/world/2015_02_06_10_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE creature_template SET mechanic_immune_mask = mechanic_immune_mask | 0x20 WHERE entry = 31464; diff --git a/sql/updates/world/2015_02_06_11_world.sql b/sql/updates/world/2015_02_06_11_world.sql new file mode 100644 index 00000000000..5a385218931 --- /dev/null +++ b/sql/updates/world/2015_02_06_11_world.sql @@ -0,0 +1,7 @@ +-- +DELETE FROM `disables` WHERE `entry` IN (649,650) AND `sourceType` = 7; +DELETE FROM `disables` WHERE `entry` = 650 AND `sourceType` = 2; +INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES +(7, 649, 0, '', '', 'Disable mmaps - Trial of the Crusader'), +(7, 650, 0, '', '', 'Disable mmaps - Trial of the Champion'), +(2, 650, 3, '', '', 'Disable Trial of the Champion, broken instance'); diff --git a/sql/updates/world/2015_02_06_12_world.sql b/sql/updates/world/2015_02_06_12_world.sql new file mode 100644 index 00000000000..f6a95a7c010 --- /dev/null +++ b/sql/updates/world/2015_02_06_12_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `gameobject_template` SET `flags`=32 WHERE `entry` IN (175611,175612,175613,175614); diff --git a/sql/updates/world/2015_02_06_13_world_335.sql b/sql/updates/world/2015_02_06_13_world_335.sql new file mode 100644 index 00000000000..8cd8df2147e --- /dev/null +++ b/sql/updates/world/2015_02_06_13_world_335.sql @@ -0,0 +1,372 @@ +UPDATE `locales_item` SET `description_loc6` = '', `description_loc7` = '' WHERE `entry` IN (42469, 42734, 42739, 42740, 42747, 42750, 43357, 43420, 43426, 43429); +UPDATE `locales_item` SET `description_loc7` = `description_loc6` WHERE `entry` IN (40142, 40143, 40144, 40145, 40146, 40147, 40149, 40150, 40152, 40154, 40155, 40156, 40158, 40159, 40160, 40161, 40163); + +CREATE TEMPORARY TABLE `locales_update` ( + `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', + `name_loc6` varchar(100) NOT NULL DEFAULT '', + `name_loc7` varchar(100) NOT NULL DEFAULT '', + `description_loc6` varchar(255) DEFAULT NULL, + `description_loc7` varchar(255) DEFAULT NULL, + PRIMARY KEY (`entry`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +INSERT INTO `locales_update` (`entry`, `name_loc6`, `name_loc7`, `description_loc6`, `description_loc7`) VALUES + (40143, 'Ametrino con grabados', 'Ametrino con grabados', 'Encaja en una ranura de color rojo o amarillo.', 'Encaja en una ranura de color rojo o amarillo.'), + (40148, 'Ametrino destellante', 'Ametrino destellante', 'Encaja en una ranura de color rojo o amarillo.', 'Encaja en una ranura de color rojo o amarillo.'), + (40151, 'Ametrino luminoso', 'Ametrino luminoso', 'Encaja en una ranura de color rojo o amarillo.', 'Encaja en una ranura de color rojo o amarillo.'), + (40153, 'Ametrino velado', 'Ametrino velado', 'Encaja en una ranura de color rojo o amarillo.', 'Encaja en una ranura de color rojo o amarillo.'), + (40157, 'Ametrino prístino', 'Ametrino prístino', 'Encaja en una ranura de color rojo o amarillo.', 'Encaja en una ranura de color rojo o amarillo.'), + (40162, 'Ametrino de precisión', 'Ametrino de precisión', 'Encaja en una ranura de color rojo o amarillo.', 'Encaja en una ranura de color rojo o amarillo.'), + (46947, 'Boceto: ametrino luminoso', 'Boceto: ametrino luminoso', 'Te enseña a tallar un ametrino luminoso.', 'Te enseña a tallar un ametrino luminoso.'), + (46951, 'Boceto: ametrino velado', 'Boceto: ametrino velado', 'Te enseña a tallar un ametrino velado.', 'Te enseña a tallar un ametrino velado.'), + (46953, 'Boceto: ametrino con grabados', 'Boceto: ametrino con grabados', 'Te enseña a tallar un ametrino con grabados.', ' Te enseña a tallar un ametrino con grabados.'), + (46956, 'Boceto: ametrino prístino', 'Boceto: ametrino prístino', 'Te enseña a tallar un ametrino prístino.', ' Te enseña a tallar un ametrino prístino.'), + (47008, 'Boceto: ametrino destellante', 'Boceto: ametrino destellante', 'Te enseña a tallar un ametrino destellante.', ' Te enseña a tallar un ametrino destellante.'), + (47010, 'Boceto: ametrino de precisión', 'Boceto: ametrino de precisión', 'Te enseña a tallar un ametrino de precisión.', ' Te enseña a tallar un ametrino de precisión.'), + (46900, 'Boceto: ojo de Zul deslumbrante', 'Boceto: ojo de Zul deslumbrante', 'Te enseña a tallar un ojo de Zul deslumbrante.', 'Te enseña a tallar un ojo de Zul deslumbrante.'), + (46902, 'Boceto: ojo de Zul intemporal', 'Boceto: ojo de Zul intemporal', 'Te enseña a tallar un ojo de Zul intemporal.', 'Te enseña a tallar un ojo de Zul intemporal.'), + (46903, 'Boceto: ojo de Zul vidente', 'Boceto: ojo de Zul vidente', 'Te enseña a tallar un ojo de Zul vidente.', 'Te enseña a tallar un ojo de Zul vidente.'), + (41101,'Glifo de Escudo de vengador','Glifo de Escudo de vengador','',''), + (41107,'Glifo de Cólera vengativa','Glifo de Cólera vengativa','',''), + (45743,'Glifo de Tormenta divina','Glifo de Tormenta divina','',''), + (41105,'Glifo de Destello de Luz','Glifo de Destello de Luz','',''), + (41106,'Glifo de Luz Sagrada','Glifo de Luz Sagrada','',''), + (41100,'Glifo de Defensa recta','Glifo de Defensa recta','',''), + (41094,'Glifo de Sello de orden','Glifo de Sello de orden','',''), + (41110,'Glifo de Sello de Luz','Glifo de Sello de Luz','',''), + (43868,'Glifo de Sello de rectitud','Glifo de Sello de rectitud','',''), + (43869,'Glifo de Sello de venganza','Glifo de Sello de venganza','',''), + (41109,'Glifo de Sello de sabiduría','Glifo de Sello de sabiduría','',''), + (45744,'Glifo de Escudo de rectitud','Glifo de Escudo de rectitud','',''), + (45760,'Glifo de Supresión de dolor','Glifo de Supresión de dolor','',''), + (42407,'Glifo de sombra','Glifo de sombra','',''), + (42417,'Glifo de Espíritu redentor','Glifo de Espíritu redentor','',''), + (42965,'Glifo de Golpe fantasmal','Glifo de Golpe fantasmal','',''), + (45761,'Glifo de Hambre de sangre','Glifo de Hambre de sangre','',''), + (42971,'Glifo de vigor','Glifo de vigor','',''), + (43380,'Glifo de Esfumarse','Glifo de Esfumarse','',''), + (48720,'Glifo de Zarpa','Glifo de Zarpa','',''), + (40899,'Glifo de Bramido','Glifo de Bramido','',''), + (46372,'Glifo de Instintos de supervivencia','Glifo de Instintos de supervivencia','',''), + (50125,'Glifo de Rejuvenecimiento rápido','Glifo de Rejuvenecimiento rápido','',''), + (40903,'Glifo de Arañazo','Glifo de Arañazo','',''), + (45603,'Glifo de Nutrir','Glifo de Nutrir','',''), + (43335,'Glifo de lo Salvaje','Glifo de lo Salvaje','',''), + (42899,'Glifo de la bestia','Glifo de la bestia','',''), + (42901,'Glifo de Aspecto de la víbora','Glifo de Aspecto de la víbora','',''), + (45733,'Glifo de Trampa explosiva','Glifo de Trampa explosiva','',''), + (42906,'Glifo de Trampa de Escarcha','Glifo de Trampa de Escarcha','',''), + (42907,'Glifo de Marca del cazador','Glifo de Marca del cazador','',''), + (42909,'Glifo de halcón','Glifo de halcón','',''), + (42910,'Glifo de Multidisparo','Glifo de Multidisparo','',''), + (42915,'Glifo de Aura de disparo certero','Glifo de Aura de disparo certero','',''), + (42916,'Glifo de Salva','Glifo de Salva','',''), + (43350,'Glifo de Aliviar mascota','Glifo de Aliviar mascota','',''), + (43354,'Glifo de fuerza poseída','Glifo de fuerza poseída','',''), + (43355,'Glifo de la manada','Glifo de la manada','',''), + (42734,'Glifo de Deflagración Arcana','Glifo de Deflagración Arcana','',''), + (50045,'Glifo de Agua eterna','Glifo de Agua eterna','',''), + (42740,'Glifo de Explosión de Fuego','Glifo de Explosión de Fuego','',''), + (42743,'Glifo de Armadura de hielo','Glifo de Armadura de hielo','',''), + (42747,'Glifo de Agostar','Glifo de Agostar','',''), + (45737,'Glifo de Bomba viva','Glifo de Bomba viva','',''), + (42750,'Glifo de Gema de maná','Glifo de Gema de maná','',''), + (42753,'Glifo de Eliminar maldición','Glifo de Eliminar maldición','',''), + (42754,'Glifo de Elemental de agua','Glifo de Elemental de agua','',''), + (43339,'Glifo de Intelecto Arcano','Glifo de Intelecto Arcano','',''), + (43357,'Glifo de Resguardo contra el Fuego','Glifo de Resguardo contra el Fuego','',''), + (43359,'Glifo de Armadura de Escarcha','Glifo de Armadura de Escarcha','',''), + (43360,'Glifo de Resguardo contra la Escarcha','Glifo de Resguardo contra la Escarcha','',''), + (41096,'Glifo de Protección divina','Glifo de Protección divina','',''), + (43366,'Glifo de Bendición de sabiduría','Glifo de Bendición de sabiduría','',''), + (43368,'Glifo de Captar no-muertos','Glifo de Captar no-muertos','',''), + (43369,'Glifo del Sabio','Glifo del Sabio','',''), + (45758,'Glifo de Himno de esperanza','Glifo de Himno de esperanza','',''), + (42405,'Glifo de Control mental','Glifo de Control mental','',''), + (45757,'Glifo de Abrasamiento mental','Glifo de Abrasamiento mental','',''), + (41541,'Glifo de Maestría en Agua','Glifo de Maestría en Agua','',''), + (45776,'Glifo de Tótem de cólera','Glifo de Tótem de cólera','',''), + (41538,'Glifo de Tótem Marea de maná','Glifo de Tótem Marea de maná','',''), + (41535,'Glifo de Ola de sanación inferior','Glifo de Ola de sanación inferior','',''), + (41524,'Glifo de Lava','Glifo de Lava','',''), + (43386,'Glifo de Escudo de agua','Glifo de Escudo de agua','',''), + (42456,'Glifo de Maldición de agonía','Glifo de Maldición de agonía','',''), + (50077,'Glifo de descomposición presurosa','Glifo de descomposición presurosa','',''), + (42466,'Glifo de Dolor abrasador','Glifo de Dolor abrasador','',''), + (42469,'Glifo de Succionar vida','Glifo de Succionar vida','',''), + (43394,'Glifo de almas','Glifo de almas','',''), + (43391,'Glifo de Kilrogg','Glifo de Kilrogg','',''), + (43420,'Glifo de insultos barbáricos','Glifo de insultos barbáricos','',''), + (43425,'Glifo de Bloqueo','Glifo de Bloqueo','',''), + (43412,'Glifo de Sed de sangre','Glifo de Sed de sangre','',''), + (45794,'Glifo de Regeneración iracunda','Glifo de Regeneración iracunda','',''), + (43416,'Glifo de Ejecutar','Glifo de Ejecutar','',''), + (43417,'Glifo de Seccionar','Glifo de Seccionar','',''), + (43418,'Glifo de Golpe heroico','Glifo de Golpe heroico','',''), + (43426,'Glifo de Última carga','Glifo de Última carga','',''), + (43423,'Glifo de Desgarrar','Glifo de Desgarrar','',''), + (43429,'Glifo de Provocar','Glifo de Provocar','',''), + (45793,'Glifo de Vigilancia','Glifo de Vigilancia','',''), + (43432,'Glifo de Torbellino','Glifo de Torbellino','',''), + (43398,'Glifo de Falsa arremetida','Glifo de Falsa arremetida','',''), + (49084,'Glifo de orden','Glifo de orden','',''), + (43397,'Glifo de Cargar','Glifo de Cargar','',''), + (43396,'Glifo de Ira rabiosa','Glifo de Ira rabiosa','',''), + (40114,'Rubí cárdeno brillante','Rubí cárdeno brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (40117,'Rubí cárdeno fracturado','Rubí cárdeno fracturado','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (40113,'Rubí cárdeno rúnico','Rubí cárdeno rúnico','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (40115,'Rubí cárdeno sutil','Rubí cárdeno sutil','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (32197,'Espinela carmesí brillante','Espinela carmesí brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (32196,'Espinela carmesí rúnica','Espinela carmesí rúnica','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (32198,'Espinela carmesí sutil','Espinela carmesí sutil','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (32195,'Lágrima de espinela carmesí','Lágrima de espinela carmesí','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (39999,'Rubí escarlata brillante','Rubí escarlata brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (40002,'Rubí escarlata fracturado','Rubí escarlata fracturado','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (39998,'Rubí escarlata rúnico','Rubí escarlata rúnico','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (24031,'Rubí vivo brillante','Rubí vivo brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (24030,'Rubí vivo rúnico','Rubí vivo rúnico','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (24032,'Rubí vivo sutil','Rubí vivo sutil','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (24029,'Lágrima de rubí vivo','Lágrima de rubí vivo','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (39907,'Sangrita sutil','Sangrita sutil','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (39906,'Sangrita brillante','Sangrita brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (39909,'Sangrita fracturada','Sangrita fracturada','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (39911,'Sangrita rúnica','Sangrita rúnica','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (23096,'Granate de sangre rúnico','Granate de sangre rúnico','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (28595,'Granate de sangre brillante','Granate de sangre brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (23094,'Lágrima de granate de sangre','Lágrima de granate de sangre','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (40175,'Ojo de Zul deslumbrante','Ojo de Zul deslumbrante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40167,'Ojo de Zul duradero','Ojo de Zul duradero','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40174,'Ojo de Zul intrincado','Ojo de Zul intrincado','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40165,'Ojo de Zul irregular','Ojo de Zul irregular','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40177,'Ojo de Zul luminiscente','Ojo de Zul luminiscente','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40178,'Ojo de Zul opaco','Ojo de Zul opaco','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40170,'Ojo de Zul vidente','Ojo de Zul vidente','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40172,'Ojo de Zul brillante','Ojo de Zul brillante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40176,'Ojo de Zul hendido','Ojo de Zul hendido','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40181,'Ojo de Zul tenso','Ojo de Zul tenso','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40164,'Ojo de Zul intemporal','Ojo de Zul intemporal','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40166,'Ojo de Zul vívido','Ojo de Zul vívido','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (32225,'Esmeralda de espuma marina deslumbrante','Esmeralda de espuma marina deslumbrante.','Encaja en una ranura de color amarillo o azul','Encaja en una ranura de color amarillo o azul.'), + (32223,'Esmeralda de espuma marina duradera','Esmeralda de espuma marina duradera.','Encaja en una ranura de color amarillo o azul','Encaja en una ranura de color amarillo o azul.'), + (32226,'Esmeralda de espuma marina irregular','Esmeralda de espuma marina irregular.','Encaja en una ranura de color amarillo o azul','Encaja en una ranura de color amarillo o azul.'), + (40094,'Esmeralda del bosque deslumbrante','Esmeralda del bosque deslumbrante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40089,'Esmeralda del bosque duradera','Esmeralda del bosque duradera','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40104,'Esmeralda del bosque intrincada','Esmeralda del bosque intrincada','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40100,'Esmeralda del bosque luminiscente','Esmeralda del bosque luminiscente','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40103,'Esmeralda del bosque opaca','Esmeralda del bosque opaca','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40092,'Esmeralda del bosque de vidente','Esmeralda del bosque de vidente','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40099,'Esmeralda del bosque brillante','Esmeralda del bosque brillante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40096,'Esmeralda del bosque hendida','Esmeralda del bosque hendida','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40101,'Esmeralda del bosque tensa','Esmeralda del bosque tensa','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40085,'Esmeralda del bosque intemporal','Esmeralda del bosque intemporal','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40088,'Esmeralda del bosque vívida','Esmeralda del bosque vívida','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (24065,'Talasita deslumbrante','Talasita deslumbrante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (24062,'Talasita duradera','Talasita duradera','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (24067,'Talasita irregular','Talasita irregular','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39984,'Jade oscuro deslumbrante','Jade oscuro deslumbrante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39976,'Jade oscuro duradero','Jade oscuro duradero','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39983,'Jade oscuro intrincado','Jade oscuro intrincado','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39986,'Jade oscuro luminiscente','Jade oscuro luminiscente','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39988,'Jade oscuro opaco','Jade oscuro opaco','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39979,'Jade oscuro vidente','Jade oscuro vidente','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39981,'Jade oscuro brillante','Jade oscuro brillante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39985,'Jade oscuro hendido','Jade oscuro hendido','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39991,'Jade oscuro tenso','Jade oscuro tenso','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39968,'Jade oscuro intemporal','Jade oscuro intemporal','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (39975,'Jade oscuro vívido','Jade oscuro vívido','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (23106,'Peridoto intenso deslumbrante','Peridoto intenso deslumbrante','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (23105,'Peridoto intenso duradero','Peridoto intenso duradero','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (23104,'Peridoto intenso irregular','Peridoto intenso irregular','Encaja en una ranura de color amarillo o azul.','Encaja en una ranura de color amarillo o azul.'), + (40154,'Ametrino durable','Ametrino durable','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40158,'Ametrino potenciado','Ametrino potenciado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40161,'Ametrino de luz trémula','Ametrino de luz trémula','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40149,'Ametrino iluminado','Ametrino iluminado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40145,'Ametrino resplandeciente','Ametrino resplandeciente','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40159,'Ametrino diestro','Ametrino diestro','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40156,'Ametrino maligno','Ametrino maligno','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (32220,'Piropiedra destelleante','Piropiedra destelleante','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (32219,'Piropiedra luminosa','Piropiedra luminosa','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo'), + (32221,'Piropiedra velada','Piropiedra velada','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (32222,'Piropiedra maligna','Piropiedra maligna','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40058,'Topacio monarca de precisión','Topacio monarca de precisión','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40046,'Topacio monarca diestro','Topacio monarca diestro','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40050,'Topacio monarca durable','Topacio monarca durable','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40054,'Topacio monarca potenciado','Topacio monarca potenciado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40038,'Topacio monarca grabado','Topacio monarca grabado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40057,'Topacio monarca de luz trémula','Topacio monarca de luz trémula','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40044,'Topacio monarca destellante','Topacio monarca destellante','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40045,'Topacio monarca iluminado','Topacio monarca iluminado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40047,'Topacio monarca luminoso','Topacio monarca luminoso','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40053,'Topacio monarca prístino','Topacio monarca prístino','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40055,'Topacio monarca completo','Topacio monarca completo','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40049,'Topacio monarca velado','Topacio monarca velado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40052,'Topacio monarca maligno','Topacio monarca maligno','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (24061,'Topacio noble destellante','Topacio noble destellante','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (24060,'Topacio noble temerario','Topacio noble temerario','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (31867,'Topacio noble velado','Topacio noble velado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (31868,'Topacio noble maligno','Topacio noble maligno','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39965,'Citrino enorme de luz trémula','Citrino enorme de luz trémula','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39966,'Citrino enorme de precisión','Citrino enorme de precisión','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39958,'Citrino enorme durable','Citrino enorme durable','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39962,'Citrino enorme potenciado','Citrino enorme potenciado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39948,'Citrino enorme grabado','Citrino enorme grabado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39953,'Citrino enorme destellante','Citrino enorme destellante','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39954,'Citrino enorme iluminado','Citrino enorme iluminado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39946,'Citrino enorme luminoso','Citrino enorme luminoso','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39961,'Citrino enorme prístino','Citrino enorme prístino','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39963,'Citrino enorme completo','Citrino enorme completo','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39957,'Citrino enorme velado','Citrino enorme velado','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (39960,'Citrino enorme maligno','Citrino enorme maligno','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (31866,'Espesartita de llamas velada','Espesartita de llamas velada','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (31869,'Espesartita de llamas maligna','Espesartita de llamas maligna','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (23100,'Espesartita de llamas destellante','Espesartita de llamas destellante','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (23099,'Espesartita de llamas luminosa','Espesartita de llamas luminosa','Encaja en una ranura de color rojo o amarillo.','Encaja en una ranura de color rojo o amarillo.'), + (40136,'Piedra de terror equilibrada','Piedra de terror equilibrada','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40132,'Piedra de terror resplandeciente','Piedra de terror resplandeciente','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40137,'Piedra de terror imbuida','Piedra de terror imbuida','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40138,'Piedra de terror regia','Piedra de terror regia','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40134,'Piedra de terror real','Piedra de terror real','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40131,'Piedra de terror de tenuidad','Piedra de terror de tenuidad','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (32213,'Amatista Cantosombrío equilibrada','Amatista Cantosombrío equilibrada','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (32215,'Amatista Cantosombrío resplandeciente','Amatista Cantosombrío resplandeciente','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (32214,'Amatista Cantosombrío imbuida','Amatista Cantosombrío imbuida','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (32216,'Amatista Cantosombrío real','Amatista Cantosombrío real','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40029,'Ópalo crepuscular equilibrado','Ópalo crepuscular equilibrado','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40025,'Ópalo crepuscular resplandeciente','Ópalo crepuscular resplandeciente','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40030,'Ópalo crepuscular imbuido','Ópalo crepuscular imbuido','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40033,'Ópalo crepuscular enjundioso','Ópalo crepuscular enjundioso','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40031,'Ópalo crepuscular regio','Ópalo crepuscular regio','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40027,'Ópalo crepuscular real','Ópalo crepuscular real','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (40024,'Ópalo crepuscular de tenuidad','Ópalo crepuscular de tenuidad','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (31863,'Ojo de noche equilibrado','Ojo de noche equilibrado','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (24056,'Ojo de noche resplandeciente','Ojo de noche resplandeciente','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (31865,'Ojo de noche imbuido','Ojo de noche imbuido','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (35707,'Ojo de noche regio','Ojo de noche regio','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (24057,'Ojo de noche real','Ojo de noche real','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39938,'Cristal de Sombras regio','Cristal de Sombras regio','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39937,'Cristal de Sombras equilibrado','Cristal de Sombras equilibrado','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39936,'Cristal de Sombras resplandeciente','Cristal de Sombras resplandeciente','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39944,'Cristal de Sombras imbuido','Cristal de Sombras imbuido','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39933,'Cristal de Sombras enjudioso','Cristal de Sombras enjudioso','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39943,'Cristal de Sombras real','Cristal de Sombras real','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (39942,'Cristal de Sombras de tenuidad','Cristal de Sombras de tenuidad','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (31862,'Draenita de Sombras equilibrada','Draenita de Sombras equilibrada','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (31864,'Draenita de Sombras imbuida','Draenita de Sombras imbuida','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (23109,'Draenita de Sombras real','Draenita de Sombras real','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (23108,'Draenita de Sombras resplandeciente','Draenita de Sombras resplandeciente','Encaja en una ranura de color rojo o azul.','Encaja en una ranura de color rojo o azul.'), + (42701,'Perla encantada','Perla encantada','Encaja en una ranura de color rojo, amarillo o azul. Solo puedes encajar una en tu equipo.','Encaja en una ranura de color rojo, amarillo o azul. Solo puedes encajar una en tu equipo.'), + (36766,'Ojo de dragón brillante','Ojo de dragón brillante','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (42153,'Ojo de dragón fracturado','Ojo de dragón fracturado','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (42146,'Ojo de dragón lustroso','Ojo de dragón lustroso','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (42144,'Ojo de dragón rúnico','Ojo de dragón rúnico','Encaja en una ranura de color rojo.','Encaja en una ranura de color rojo.'), + (42157,'Ojo de dragón grueso','Ojo de dragón grueso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (41377,'Diamante de llama celeste refulgente','Diamante de llama celeste refulgente','Solo encaja en una ranura de gema meta.','Solo encaja en una ranura de gema meta.'), + (32202,'Zafiro empíreo luciente','Zafiro empíreo luciente','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (32200,'Zafiro empíreo sólido','Zafiro empíreo sólido','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (40123,'Ámbar del rey luminoso','Ámbar del rey luminoso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (39349,'Vitela de arma','Vitela de arma','Se puede marcar como el objetivo de varios encantamientos de armas para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos sin restricciones de nivel.','Se puede marcar como el objetivo de varios encantamientos de armas para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos sin restricciones de nivel.'), + (39350,'Vitela de arma II','Vitela de arma II','Se puede marcar como el objetivo de varios encantamientos de armas para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 35 o inferior.','Se puede marcar como el objetivo de varios encantamientos de armas para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 35 o inferior.'), + (43146,'Vitela de arma III','Vitela de arma III','Se puede marcar como el objetivo de varios encantamientos de armas para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 60 o inferior.','Se puede marcar como el objetivo de varios encantamientos de armas para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 60 o inferior.'), + (38682,'Vitela de armadura','Vitela de armadura','Se puede marcar como el objetivo de varios encantamientos de armadura para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos sin restricciones de nivel.','Se puede marcar como el objetivo de varios encantamientos de armadura para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos sin restricciones de nivel.'), + (37602,'Vitela de armadura II','Vitela de armadura II','Se puede marcar como el objetivo de varios encantamientos de armadura para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 35 o inferior.','Se puede marcar como el objetivo de varios encantamientos de armadura para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 35 o inferior.'), + (43145,'Vitela de armadura III','Vitela de armadura III','Se puede marcar como el objetivo de varios encantamientos de armadura para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 60 o inferior.','Se puede marcar como el objetivo de varios encantamientos de armadura para almacenar el encantamiento y usarlo más tarde. Solo puede absorber encantamientos con restricciones de nivel 60 o inferior.'), + (40121,'Circón majestuoso luciente','Circón majestuoso luciente','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (40010,'Zafiro celestial luciente','Zafiro celestial luciente','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (24037,'Estrella de Eluna luciente','Estrella de Eluna luciente','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (39927,'Calcedonia lustrosa','Calcedonia lustrosa','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (39920,'Calcedonia brillante','Calcedonia brillante','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (23121,'Piedra lunar azur luciente','Piedra lunar azur luciente','Encaja en una ranura de color azul.','Encaja en una ranura de color azul.'), + (40125,'Ámbar del rey rígido','Ámbar del rey rígido','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (40126,'Ámbar del rey grueso','Ámbar del rey grueso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (32204,'Ojo de león luminoso','Ojo de león luminoso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (32207,'Ojo de león reluciente','Ojo de león reluciente','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (32210,'Gran ojo de león','Gran ojo de león','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (32206,'Ojo de león rígido','Ojo de león rígido','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (32208,'Ojo de león grueso','Ojo de león grueso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (40012,'Brillo de otoño luminoso','Brillo de otoño luminoso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (40014,'Brillo de otoño rígido','Brillo de otoño rígido','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (40015,'Brillo de otoño grueso','Brillo de otoño grueso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (24047,'Piedra del alba luminosa','Piedra del alba luminosa','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (24050,'Piedra del alba reluciente','Piedra del alba reluciente','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (31861,'Gran piedra del alba ','Gran piedra del alba ','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (24051,'Piedra del alba rígida','Piedra del alba rígida','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (24052,'Piedra del alba gruesa','Piedra del alba gruesa','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (39912,'Cristal de sol luminoso','Cristal de sol luminoso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (39915,'Cristal de sol rígido','Cristal de sol rígido','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (39916,'Cristal de sol grueso','Cristal de sol grueso','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (31860,'Gran draenita dorada','Gran draenita dorada','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (23116,'Draenita dorada rígida','Draenita dorada rígida','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (23115,'Draenita dorada gruesa','Draenita dorada gruesa','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (23114,'Draenita dorada reluciente','Draenita dorada reluciente','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'), + (23113,'Draenita dorada luminosa','Draenita dorada luminosa','Encaja en una ranura de color amarillo.','Encaja en una ranura de color amarillo.'); + +INSERT INTO `locales_update` (`entry`, `name_loc6`, `name_loc7`, `description_loc6`) VALUES + (41580,'Boceto: brillo de otoño rígido','Boceto: brillo de otoño rígido','Te enseña a tallar un brillo de otoño rígido.'), + (41581,'Boceto: zafiro celestial luciente','Boceto: zafiro celestial luciente','Te enseña a tallar un zafiro celestial luciente.'), + (41582,'Boceto: topacio monarca destellante','Boceto: topacio monarca destellante','Te enseña a tallar un topacio monarca destellante.'), + (41687,'Boceto: topacio monarca completo','Boceto: topacio monarca completo','Te enseña a tallar un topacio monarca completo.'), + (41688,'Boceto: topacio monarca velado','Boceto: topacio monarca velado','Te enseña a tallar un topacio monarca velado.'), + (41689,'Boceto: topacio monarca luminoso','Boceto: topacio monarca luminoso','Te enseña a tallar un topacio monarca luminoso.'), + (41696,'Boceto: esmeralda del bosque luminiscente','Boceto: esmeralda del bosque luminiscente','Te enseña a tallar una esmeralda del bosque luminiscente.'), + (41694,'Boceto: esmeralda del bosque intrincada','Boceto: esmeralda del bosque intrincada','Te enseña a tallar una esmeralda del bosque intrincada.'), + (40140,'Piedra de terror enjundiosa','Piedra de terror enjundiosa','Encaja en una ranura de color rojo o azul.'), + (41697,'Boceto: esmeralda del bosque duradera','Boceto: esmeralda del bosque duradera','Te enseña a tallar una esmeralda del bosque duradera.'), + (41699,'Boceto: esmeralda del bosque de vidente','Boceto: esmeralda del bosque de vidente','Te enseña a tallar una esmeralda del bosque de vidente.'), + (41701,'Boceto: ópalo crepuscular real','Boceto: ópalo crepuscular real','Te enseña a tallar un ópalo crepuscular real.'), + (41702,'Boceto: ópalo crepuscular enjundioso','Boceto: ópalo crepuscular enjundioso','Te enseña a tallar un ópalo crepuscular enjundioso.'), + (41703,'Boceto: ópalo crepuscular regio','Boceto: ópalo crepuscular regio','Te enseña a tallar un ópalo crepuscular regio.'), + (41705,'Boceto: diamante de llama celeste refulgente','Boceto: diamante de llama celeste refulgente','Te enseña a tallar un diamante de llama celeste refulgente.'), + (42299,'Boceto: ojo de dragón brillante','Boceto: ojo de dragón brillante','Te enseña a tallar un ojo de dragón brillante.'), + (42303,'Boceto: ojo de dragón fracturado','Boceto: ojo de dragón fracturado','Te enseña a tallar un ojo de dragón fracturado.'), + (42304,'Boceto: ojo de dragón lustroso','Boceto: ojo de dragón lustroso','Te enseña a tallar un ojo de dragón lustroso.'), + (42309,'Boceto: ojo de dragón rúnico','Boceto: ojo de dragón rúnico','Te enseña a tallar un ojo de dragón rúnico.'), + (42315,'Boceto: ojo de dragón grueso','Boceto: ojo de dragón grueso','Te enseña a tallar un ojo de dragón grueso.'), + (46934,'Boceto: piedra de terror equilibrada','Boceto: piedra de terror equilibrada','Te enseña a tallar una piedra de terror equilibrada.'), + (46952,'Boceto: ametrino durable','Boceto: ametrino durable','Te enseña a tallar un ametrino durable.'), + (47016,'Boceto: ametrino potenciado','Boceto: ametrino potenciado','Te enseña a tallar un ametrino potenciado.'), + (46921,'Boceto: rubí cárdeno fracturado','Boceto: rubí cárdeno fracturado','Te enseña a tallar un rubí cárdeno fracturado.'), + (47012,'Boceto: ametrino de luz trémula','Boceto: ametrino de luz trémula','Te enseña a tallar un ametrino de luz trémula.'), + (46945,'Boceto: piedra de terror imbuida','Boceto: piedra de terror imbuida','Te enseña a tallar una piedra de terror imbuida.'), + (46901,'Boceto: ojo de Zul irregular','Boceto: ojo de Zul irregular','Te enseña a tallar un ojo de Zul irregular.'), + (46909,'Boceto: ojo de Zul luminiscente','Boceto: ojo de Zul luminiscente','Te enseña a tallar un ojo de Zul luminiscente.'), + (47021,'Boceto: ametrino iluminado','Boceto: ametrino iluminado','Te enseña a tallar un ametrino iluminado.'), + (46927,'Boceto: circón majestuoso luciente','Boceto: circón majestuoso luciente','Te enseña a tallar un circón majestuoso luciente.'), + (49112,'Boceto: Lágrima de pesadilla','Boceto: Lágrima de pesadilla','Te enseña a tallar una Lágrima de pesadilla.'), + (46914,'Boceto: ojo de Zul opaco','Boceto: ojo de Zul opaco','Te enseña a tallar un ojo de Zul opaco.'), + (46944,'Boceto: piedra de terror enjundiosa','Boceto: piedra de terror enjundiosa','Te enseña a tallar una piedra de terror enjundiosa.'), + (46940,'Boceto: piedra de terror regia','Boceto: piedra de terror regia','Te enseña a tallar una piedra de terror regia.'), + (47018,'Boceto: ametrino resplandeciente','Boceto: ametrino resplandeciente','Te enseña a tallar un ametrino resplandeciente.'), + (46928,'Boceto: ámbar del rey rígido','Boceto: ámbar del rey rígido','Te enseña a tallar un ámbar del rey rígido.'), + (46939,'Boceto: piedra de terror real','Boceto: piedra de terror real','Te enseña a tallar una piedra de terror real.'), + (46916,'Boceto: rubí cárdeno rúnico','Boceto: rubí cárdeno rúnico','Te enseña a tallar un rubí cárdeno rúnico.'), + (46907,'Boceto: ojo de Zul brillante','Boceto: ojo de Zul brillante','Te enseña a tallar un ojo de Zul brillante.'), + (46922,'Boceto: rubí cárdeno sutil','Boceto: rubí cárdeno sutil','Te enseña a tallar un rubí cárdeno sutil.'), + (46906,'Boceto: ojo de Zul hendido','Boceto: ojo de Zul hendido','Te enseña a tallar un ojo de Zul hendido.'), + (46908,'Boceto: ojo de Zul tenso','Boceto: ojo de Zul tenso','Te enseña a tallar un ojo de Zul tenso.'), + (46946,'Boceto: piedra de terror de tenuidad','Boceto: piedra de terror de tenuidad','Te enseña a tallar una piedra de terror de tenuidad.'), + (46931,'Boceto: ámbar del rey grueso','Boceto: ámbar del rey grueso','Te enseña a tallar un ámbar del rey grueso.'), + (46899,'Boceto: ojo de Zul vívido','Boceto: ojo de Zul vívido','Te enseña a tallar un ojo de Zul vívido.'), + (47011,'Boceto: ametrino maligno','Boceto: ametrino maligno','Te enseña a tallar un ametrino maligno.'), + (52023,'Diseño: Flecha de hoja de hielo','Diseño: Flecha de hoja de hielo','Te enseña a hacer flechas de hoja de hielo.'), + (52022,'Diseño: Balas destrozadoras','Diseño: Balas destrozadoras','Te enseña a hacer balas destrozadoras.'), + (50166,'Técnica: Glifo de Agua eterna','Técnica: Glifo de Agua eterna','Te enseña a inscribir un Glifo de Agua eterna.'), + (50168,'Técnica: Glifo de descomposición presurosa','Técnica: Glifo de descomposición presurosa','Te enseña a inscribir un Glifo de descomposición presurosa.'), + (50167,'Técnica: Glifo de Rejuvenecimiento rápido','Técnica: Glifo de Rejuvenecimiento rápido','Te enseña a inscribir un Glifo de Rejuvenecimiento rápido.'), + (43826,'Glifo de Golpe sangriento','Glifo de Golpe sangriento',''), + (43538,'Glifo de Orden oscura','Glifo de Orden oscura',''), + (45804,'Glifo de muerte oscura','Glifo de muerte oscura',''), + (45805,'Glifo de enfermedad','Glifo de enfermedad',''), + (43545,'Glifo de Entereza ligada al hielo','Glifo de Entereza ligada al hielo',''), + (43548,'Glifo de Golpe de peste','Glifo de Golpe de peste',''), + (43549,'Glifo del necrófago','Glifo del necrófago',''), + (43553,'Glifo de Armadura inquebrantable','Glifo de Armadura inquebrantable',''), + (45803,'Glifo de Añublo profano','Glifo de Añublo profano',''), + (43671,'Glifo de Deflagración de cadáver','Glifo de Deflagración de cadáver',''), + (43672,'Glifo de Pestilencia','Glifo de Pestilencia',''), + (43673,'Glifo de Levantar a muerto','Glifo de Levantar a muerto',''); + +UPDATE `locales_item`, `locales_update` SET `locales_item`.`name_loc6` = `locales_update`.`name_loc6`, `locales_item`.`name_loc7` = `locales_update`.`name_loc7`, `locales_item`.`description_loc6` = `locales_update`.`description_loc6`, `locales_item`.`description_loc7` = `locales_update`.`description_loc7` + WHERE `locales_item`.`entry` = `locales_update`.`entry`; + +DROP TABLE `locales_update`; +UPDATE `locales_item` SET `description_loc7` = `description_loc6` WHERE `entry` IN (41580,41581,41582,41687,41688,41689,41696,41694,41697,41699,41701,41702,41703,41705,42299,42303,42304,42309,42315,46934,46952,47016,46921,47012,46945,46901,46909,47021,46927,49112,46914,46944,46940,47018,46928,46939,46916,46907,46922,46906,46908,46946,46931,46899,47011,52023,52022,50166,50168,50167,43826,43538,45804,45805,43545,43548,43549,43553,45803,43671,43672,43673); diff --git a/sql/updates/world/2015_02_07_00_world.sql b/sql/updates/world/2015_02_07_00_world.sql new file mode 100644 index 00000000000..c0616f833ea --- /dev/null +++ b/sql/updates/world/2015_02_07_00_world.sql @@ -0,0 +1,14 @@ +-- A Friendly Chat... (24576, 24657) +-- Snivel Rustrocket set gossip flag +UPDATE `creature_template` SET `npcflag` = 1, `AIName`='SmartAI' WHERE `entry` = 37715; + +-- Quest credit SAI +DELETE FROM `smart_scripts` WHERE (`entryorguid`=37715 AND `source_type`=0); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(37715,0,0,0,62,0,100,0,10946,0,0,0,11,70646,2,0,0,0,0,7,0,0,0,0,0,0,0, "Snivel Rustrocket - on gosip 10947 - cast Love - Create Snivel's Ledger"); + +-- Gossip option conditions +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=15 AND `SourceGroup`=10929); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,10929,0,0,9,24576,0,0,0,'','Show gossip only if plaer have A Friendly Chat... Horde quest'), +(15,10929,0,1,9,24657,0,0,0,'','Show gossip only if plaer have A Friendly Chat... Alliance quest'); diff --git a/sql/updates/world/2015_02_07_01_world.sql b/sql/updates/world/2015_02_07_01_world.sql new file mode 100644 index 00000000000..742d833352e --- /dev/null +++ b/sql/updates/world/2015_02_07_01_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `flags_extra`=0 WHERE `entry`=24938; diff --git a/sql/updates/world/2015_02_09_00_world.sql b/sql/updates/world/2015_02_09_00_world.sql new file mode 100644 index 00000000000..dcfd5ddf029 --- /dev/null +++ b/sql/updates/world/2015_02_09_00_world.sql @@ -0,0 +1,10 @@ +-- Irespeaker SAI +SET @ENTRY := 24999; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,1500,3000,10000,15000,11,35913,0,0,0,0,0,2,0,0,0,0,0,0,0,"Irespeaker - In Combat - Cast 'Fel Fireball'"), +(@ENTRY,0,1,0,0,0,100,0,13000,16000,20000,35000,11,18267,0,0,0,0,0,2,0,0,0,0,0,0,0,"Irespeaker - In Combat - Cast 'Curse of Weakness'"), +(@ENTRY,0,2,0,6,0,100,1,0,0,0,0,33,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Irespeaker - On Just Died - Quest Credit 'Kanrethad's Quest' (No Repeat)"), +(@ENTRY,0,3,0,6,0,100,0,5000,5000,10000,10000,45,1,1,0,0,0,0,10,79450,23310,0,0,0,0,0,"Irespeaker - On Just Died - Set Data 1 1"), +(@ENTRY,0,4,0,25,0,100,0,0,0,0,0,11,45023,0,0,0,0,0,19,25953,13,0,0,0,0,0,"Irespeaker - On Reset - Cast 'Fel Consumption'"); diff --git a/sql/updates/world/2015_02_09_01_world.sql b/sql/updates/world/2015_02_09_01_world.sql new file mode 100644 index 00000000000..f844fcce5d0 --- /dev/null +++ b/sql/updates/world/2015_02_09_01_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_text` SET `type`=14 WHERE `entry`=20977; diff --git a/sql/updates/world/2015_02_09_02_world.sql b/sql/updates/world/2015_02_09_02_world.sql new file mode 100644 index 00000000000..46ff767997f --- /dev/null +++ b/sql/updates/world/2015_02_09_02_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `quest_template` SET `PrevQuestId`=3451 WHERE `Id`=3483; diff --git a/sql/updates/world/2015_02_09_03_world.sql b/sql/updates/world/2015_02_09_03_world.sql new file mode 100644 index 00000000000..2bef0c6b1f5 --- /dev/null +++ b/sql/updates/world/2015_02_09_03_world.sql @@ -0,0 +1,204 @@ +-- +UPDATE `creature` SET `position_x`=1772.803833, `position_y`=848.654846, `position_z`=123.192604, `orientation`=1.649258 WHERE `guid`=127067; +UPDATE `creature` SET `position_x`=1772.699585, `position_y`=852.786560, `position_z`=123.192734, `orientation`=4.675874 WHERE `guid`=127068; + +DELETE FROM `creature_addon` WHERE `guid` IN (127051, 127062, 127065, 127059, 127047); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(127051, 0, 0, 0, 1, 4, ''), +(127062, 0, 0, 0, 1, 4, ''), +(127065, 0, 0, 0, 1, 4, ''), +(127059, 0, 0, 0, 1, 4, ''), +(127047, 0, 0, 0, 1, 4, ''); + +DELETE FROM `creature_addon` WHERE `guid` IN (127067, 127068); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(127067, 0, 0, 0, 1, 36, ''), +(127068, 0, 0, 0, 1, 36, ''); + +UPDATE `creature_addon` SET `emote`=20 WHERE `guid`=127043; + +/* emotes for these creatures. http://pokit.org/get/?2ee8b0b514852adc528b2543f704fdcd.jpg*/ + +-- Pathing for Entry: 29830 'TDB FORMAT' +SET @NPC := 127079; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1580.776,`position_y`=726.0986,`position_z`=143.0329 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,1580.776,726.0986,143.0329,0,0,0,0,100,0), +(@PATH,2,1601.526,726.0986,143.0329,0,0,0,0,100,0), +(@PATH,3,1580.776,726.0986,143.0329,0,0,0,0,100,0), +(@PATH,4,1601.526,726.0986,143.0329,0,0,0,0,100,0); +-- 0x1C3AE04B801D2180006CCE0002D7B1EE .go 1580.776 726.0986 143.0329 + +-- Pathing for Entry: 29830 'TDB FORMAT' +SET @NPC := 127077; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1634.252,`position_y`=750.1481,`position_z`=143.0402 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,1634.252,750.1481,143.0402,0,0,0,0,100,0), +(@PATH,2,1645.534,749.2593,143.062,0,0,0,0,100,0), +(@PATH,3,1646.846,740.0786,143.036,0,0,0,0,100,0), +(@PATH,4,1643.028,738.3261,143.0428,0,0,0,0,100,0), +(@PATH,5,1634.346,729.3132,143.0253,0,0,0,0,100,0), +(@PATH,6,1629.24,728.4056,143.036,0,0,0,0,100,0), +(@PATH,7,1625.434,724.1005,143.033,0,0,0,0,100,0), +(@PATH,8,1625.066,724.9523,143.0346,0,0,0,0,100,0), +(@PATH,9,1633.39,728.2556,143.0207,0,0,0,0,100,0), +(@PATH,10,1634.352,731.7579,143.036,0,0,0,0,100,0), +(@PATH,11,1642.503,738.0968,143.036,0,0,0,0,100,0), +(@PATH,12,1646.744,748.6193,143.0608,0,0,0,0,100,0); +-- 0x1C3AE04B801D2180006CCE0003D7B1EE .go 1634.252 750.1481 143.0402 + +-- Pathing for Entry: 29830 'TDB FORMAT' +SET @NPC := 127078; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1624.936,`position_y`=762.2312,`position_z`=143.0362 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,1624.936,762.2312,143.0362,0,0,0,0,100,0), +(@PATH,2,1624.857,762.3463,143.0362,0,0,0,0,100,0), +(@PATH,3,1616.904,760.4952,143.0778,0,0,0,0,100,0), +(@PATH,4,1616.059,757.1263,143.036,0,0,0,0,100,0), +(@PATH,5,1615.883,751.8171,143.036,0,0,0,0,100,0), +(@PATH,6,1612.587,742.8907,143.036,0,0,0,0,100,0), +(@PATH,7,1615.973,735.1326,143.036,0,0,0,0,100,0), +(@PATH,8,1616.567,728.8411,143.0389,0,0,0,0,100,0), +(@PATH,9,1616.565,728.8934,143.0389,0,0,0,0,100,0), +(@PATH,10,1616.015,735.0688,143.036,0,0,0,0,100,0), +(@PATH,11,1612.599,741.9441,143.036,0,0,0,0,100,0), +(@PATH,12,1612.643,745.9359,143.036,0,0,0,0,100,0), +(@PATH,13,1615.984,759.0609,143.0375,0,0,0,0,100,0), +(@PATH,14,1620.861,760.4977,143.036,0,0,0,0,100,0), +(@PATH,15,1624.961,762.2328,143.0362,0,0,0,0,100,0), +(@PATH,16,1624.857,762.3463,143.0362,0,0,0,0,100,0), +(@PATH,17,1616.904,760.5043,143.0776,0,0,0,0,100,0); +-- 0x1C3AE04B801D2180006CCE000357B1EE .go 1624.936 762.2312 143.0362 + +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid` IN (29774, 29820) AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Pathing for Entry: 29774 'TDB FORMAT' +SET @NPC := 127023; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1642.346,`position_y`=653.1481,`position_z`=125.2523 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,1642.346,653.1481,125.2523,0,0,0,0,100,0), +(@PATH,2,1639.856,642.3232,125.6559,0,0,0,0,100,0), +(@PATH,3,1642.258,637.7573,126.032,0,0,0,0,100,0), +(@PATH,4,1647.147,632.4925,126.6323,0,0,0,0,100,0), +(@PATH,5,1657.781,625.1252,128.0753,0,0,0,0,100,0), +(@PATH,6,1664.838,624.4281,127.6226,0,0,0,0,100,0), +(@PATH,7,1669.714,625.9705,127.4224,0,0,0,0,100,0), +(@PATH,8,1674.736,633.4069,127.3273,0,0,0,0,100,0), +(@PATH,9,1673.877,644.5715,126.3829,0,0,0,0,100,0), +(@PATH,10,1668.756,649.8423,126.1618,0,0,0,0,100,0), +(@PATH,11,1662.11,654.2892,125.6076,0,0,0,0,100,0), +(@PATH,12,1655.857,656.4763,125.5904,0,0,0,0,100,0), +(@PATH,13,1645.618,656.3919,125.2844,0,0,0,0,100,0), +(@PATH,14,1642.373,653.2665,125.2903,0,0,0,0,100,0); +-- 0x1C3AE04B801D1380006CCE0000D7B1EE .go 1642.346 653.1481 125.2523 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=127023; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(127023, 127023, 0, 0, 2, 0, 0), +(127023, 127013, 4, 50, 2, 0, 0), +(127023, 127024, 4, 310, 2, 0, 0); + +-- Pathing for Entry: 29829 'TDB FORMAT' +SET @NPC := 127069; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1592.818,`position_y`=817.3067,`position_z`=149.783 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,1592.818,817.3067,149.783,0,0,0,0,100,0), +(@PATH,2,1601.493,805.8055,146.3105,0,0,0,0,100,0), +(@PATH,3,1609.685,802.7231,145.2017,0,0,0,0,100,0), +(@PATH,4,1623.651,794.6301,143.8499,0,0,0,0,100,0), +(@PATH,5,1615.21,801.1007,144.687,0,0,0,0,100,0), +(@PATH,6,1605.104,803.2402,145.5161,0,0,0,0,100,0), +(@PATH,7,1597.137,810.431,147.7381,0,0,0,0,100,0), +(@PATH,8,1591.998,822.5156,150.5477,0,0,0,0,100,0), +(@PATH,9,1586.166,840.6243,153.7294,0,0,0,0,100,0), +(@PATH,10,1584.692,843.8578,154.2673,0,0,0,0,100,0), +(@PATH,11,1584.178,844.4227,154.4869,0,0,0,0,100,0), +(@PATH,12,1590.102,830.2843,152.1621,0,0,0,0,100,0); +-- 0x1C3AE04B801D2140006CCE0000D7B1EE .go 1592.818 817.3067 149.783 + +-- Pathing for Entry: 29829 'TDB FORMAT' +SET @NPC := 127070; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1706.755,`position_y`=857.1785,`position_z`=129.9813 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,1706.755,857.1785,129.9813,0,0,0,0,100,0), +(@PATH,2,1707.281,867.1033,130.2534,0,0,0,0,100,0), +(@PATH,3,1704.177,879.5166,130.7884,0,0,0,0,100,0), +(@PATH,4,1691.342,892.488,132.9258,0,0,0,0,100,0), +(@PATH,5,1679.412,891.944,134.244,0,0,0,0,100,0), +(@PATH,6,1668.286,882.3208,137.746,0,0,0,0,100,0), +(@PATH,7,1673.63,888.4031,136.1639,0,0,0,0,100,0), +(@PATH,8,1687.955,893.6246,133.4256,0,0,0,0,100,0), +(@PATH,9,1701.138,885.8834,131.8191,0,0,0,0,100,0), +(@PATH,10,1706.935,871.8005,130.679,0,0,0,0,100,0); +-- 0x1C3AE04B801D2140006CCE000057B1EE .go 1706.755 857.1785 129.9813 + +-- Pathing for Entry: 29820 'TDB FORMAT' +SET @NPC := 127054; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1627.05,`position_y`=895.2917,`position_z`=145.9627 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,1627.05,895.2917,145.9627,0,0,0,0,100,0), +(@PATH,2,1641.819,895.4995,144.4391,0,0,0,0,100,0), +(@PATH,3,1646.381,886.3206,142.0332,0,0,0,0,100,0), +(@PATH,4,1648.376,877.1378,140.8607,0,0,0,0,100,0), +(@PATH,5,1651.261,870.6509,139.9442,0,0,0,0,100,0), +(@PATH,6,1648.879,874.7926,140.348,0,0,0,0,100,0), +(@PATH,7,1648.431,879.759,140.6906,0,0,0,0,100,0), +(@PATH,8,1643.23,894.2725,143.7524,0,0,0,0,100,0), +(@PATH,9,1633.633,896.613,144.9795,0,0,0,0,100,0), +(@PATH,10,1628.168,895.5144,145.8911,0,0,0,0,100,0), +(@PATH,11,1608.678,886.468,148.1761,0,0,0,0,100,0), +(@PATH,12,1600.244,880.922,149.9891,0,0,0,0,100,0), +(@PATH,13,1583.596,870.7088,152.9289,0,0,0,0,100,0), +(@PATH,14,1593.538,876.7352,151.3219,0,0,0,0,100,0), +(@PATH,15,1606.508,885.0313,148.7535,0,0,0,0,100,0), +(@PATH,16,1616.299,891.1467,147.5494,0,0,0,0,100,0), +(@PATH,17,1627.23,895.3035,145.926,0,0,0,0,100,0), +(@PATH,18,1641.784,895.3555,144.6143,0,0,0,0,100,0); +-- 0x1C3AE04B801D1F00006CCE000257B1EE .go 1627.05 895.2917 145.9627 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=127054; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(127054, 127054, 0, 0, 2, 0, 0), +(127054, 127064, 4, 90, 2, 0, 0); + +DELETE FROM `creature_addon` WHERE `guid` IN (127057, 127053, 127063, 127052, 127060, 127055, 127066, 127048, 127049, 127061, 127056, 127050); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(127057, 0, 0, 0, 1, 1, ''), +(127053, 0, 0, 0, 1, 1, ''), +(127063, 0, 0, 0, 1, 1, ''), +(127052, 0, 0, 0, 1, 1, ''), +(127060, 0, 0, 0, 1, 1, ''), +(127055, 0, 0, 0, 1, 1, ''), +(127066, 0, 0, 0, 1, 1, ''), +(127048, 0, 0, 0, 1, 1, ''), +(127049, 0, 0, 0, 1, 1, ''), +(127061, 0, 0, 0, 1, 1, ''), +(127056, 0, 0, 0, 1, 1, ''), +(127050, 0, 0, 0, 1, 1, ''); diff --git a/sql/updates/world/2015_02_09_04_world.sql b/sql/updates/world/2015_02_09_04_world.sql new file mode 100644 index 00000000000..7ad7c3411af --- /dev/null +++ b/sql/updates/world/2015_02_09_04_world.sql @@ -0,0 +1,85 @@ +-- +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=27963 AND `source_type`=0 AND `id`=0 AND `link`=0; + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126709; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126709, 126709, 0, 0, 2, 0, 0), +(126709, 126692, 4, 50, 2, 0, 0), +(126709, 126693, 4, 310, 2, 0, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126687; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126687, 126687, 0, 0, 2, 0, 0), +(126687, 126705, 3, 50, 2, 0, 0), +(126687, 126700, 3, 310, 2, 0, 0); + +UPDATE `creature_addon` SET `path_id`=0 WHERE `guid` IN (126711, 126701, 126703); +DELETE FROM `creature_formations` WHERE `leaderGUID`=126690; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126690, 126690, 0, 0, 2, 0, 0), +(126690, 126707, 3, 50, 2, 0, 0), +(126690, 126701, 3, 310, 2, 0, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126691; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126691, 126691, 0, 0, 2, 0, 0), +(126691, 126708, 3, 50, 2, 0, 0), +(126691, 126702, 3, 310, 2, 0, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126695; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126695, 126695, 0, 0, 2, 0, 0), +(126695, 126713, 3, 50, 2, 0, 0), +(126695, 126703, 3, 310, 2, 0, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126696; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126696, 126696, 0, 0, 2, 0, 0), +(126696, 126714, 3, 50, 2, 0, 0), +(126696, 126704, 3, 310, 2, 0, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126696; +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 +(1266960, 1, 1180.73, 659.129, 196.233, 0, 0, 0, 0, 100, 3108493), +(1266960, 2, 1181.3, 667.947, 196.233, 0, 0, 0, 0, 100, 3108495), +(1266960, 3, 1180.7, 675.583, 196.235, 0, 0, 0, 0, 100, 3108497), +(1266960, 4, 1177.06, 683.484, 196.235, 0, 0, 0, 0, 100, 3108499), +(1266960, 7, 1180.73, 659.129, 196.233, 0, 0, 0, 0, 100, 3108493), +(1266960, 6, 1181.3, 667.947, 196.233, 0, 0, 0, 0, 100, 3108495), +(1266960, 5, 1180.7, 675.583, 196.235, 0, 0, 0, 0, 100, 3108497), +(1266960, 8, 1177.75, 651.607, 196.235, 0, 0, 0, 0, 100, 3108501); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126715; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126715, 126715, 0, 0, 2, 0, 0), +(126715, 126716, 5, 270, 2, 0, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126694; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126694, 126694, 0, 0, 2, 0, 0), +(126694, 126711, 3, 50, 2, 0, 0), +(126694, 126712, 3, 310, 2, 0, 0); + +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=28055; +-- Dark Rune Shaper SAI +SET @ENTRY := 27965; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=14; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,14,0,1,0,100,0,2000,2000,4000,4000,11,50563,0,0,0,0,0,19,28055,50,0,0,0,0,0,"Dark Rune Shaper - On Reset - Cast 'Carve Stone'"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=50563; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 50563, 0, 0, 31, 0, 3, 28055, 0, 0, 0, 0, '', 'Carve Stone - only targets Dummy'); + +DELETE FROM `disables` WHERE `sourceType`=0 AND `entry`=50563; +INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES +(0, 50563, 64, '', '', 'Ignore LOS for Carve Stone'); + +UPDATE `creature` SET `spawndist`=8, `MovementType`=1 WHERE `guid` IN (126738, 126745, 126739, 126744); diff --git a/sql/updates/world/2015_02_09_05_world.sql b/sql/updates/world/2015_02_09_05_world.sql new file mode 100644 index 00000000000..2486927a2cf --- /dev/null +++ b/sql/updates/world/2015_02_09_05_world.sql @@ -0,0 +1,52 @@ +-- Scourge Reanimator SAI +SET @GUID := -127410; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26626; +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,1,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,127435,26635,0,0,0,0,0,"Scourge Reanimator - On Just Died - Set Data 1 1"), +(@GUID,0,1,0,61,0,100,0,0,0,0,0,45,1,2,0,0,0,0,10,127426,26635,0,0,0,0,0,"Scourge Reanimator - On Just Died - Set Data 1 2"); + + +-- Risen Drakkari Warrior SAI +SET @ENTRY := 26635; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,6,1000,3000,5000,9500,11,36093,0,0,0,0,0,2,0,0,0,0,0,0,0,"Risen Drakkari Warrior - In Combat - Cast 'Ghost Strike' (Dungeon)"), +(@ENTRY,0,1,0,0,0,100,6,1000,3000,7250,10000,11,33661,0,0,0,0,0,2,0,0,0,0,0,0,0,"Risen Drakkari Warrior - In Combat - Cast 'Crush Armor' (Dungeon)"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,89,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Risen Drakkari Warrior - On Just Summoned - Start Random Movement"), +(@ENTRY,0,3,7,38,0,100,0,1,1,0,0,53,1,@ENTRY*100+00,0,0,0,2,1,0,0,0,0,0,0,0,"Risen Drakkari Warrior - On Data Set 1 1 - Start Waypoint"), +(@ENTRY,0,4,8,38,0,100,0,1,2,0,0,53,1,@ENTRY*100+01,0,0,0,2,1,0,0,0,0,0,0,0,"Risen Drakkari Warrior - On Data Set 1 2 - Start Waypoint"), +(@ENTRY,0,5,0,40,0,100,0,9,@ENTRY*100+00,0,0,12,26635,3,600000,0,0,0,8,0,0,0,-358.38,-592.396,4.37907,3.71398,"Risen Drakkari Warrior - On Waypoint 9 Reached - Summon Creature 'Risen Drakkari Warrior'"), +(@ENTRY,0,6,0,40,0,100,0,9,@ENTRY*100+01,0,0,12,26636,3,600000,0,0,0,8,0,0,0,-362.385162,-609.420288,2.467764,2.788083,"Risen Drakkari Warrior - On Waypoint 9 Reached - Summon Creature 'Risen Drakkari Soulmage'"), +(@ENTRY,0,7,0,61,0,100,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Risen Drakkari Warrior - On Data Set 1 1 - Say Line 0"), +(@ENTRY,0,8,0,61,0,100,0,1,2,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Risen Drakkari Warrior - On Data Set 1 2 - Say Line 1"); + +DELETE FROM `waypoints` WHERE `entry`=2663500; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(2663500, 1, -358.149, -591.396, 4.8929, 'Risen Drakkari Warrior'), +(2663500, 2, -355.111, -588.661, 7.43521, 'Risen Drakkari Warrior'), +(2663500, 3, -351.322, -585.026, 10.995, 'Risen Drakkari Warrior'), +(2663500, 4, -345.376, -579.253, 11.012, 'Risen Drakkari Warrior'), +(2663500, 5, -343.792, -579.642, 11.012, 'Risen Drakkari Warrior'), +(2663500, 6, -346.169, -582.965, 11.012, 'Risen Drakkari Warrior'), +(2663500, 7, -350.619, -586.543, 10.6995, 'Risen Drakkari Warrior'), +(2663500, 8, -356.449, -591.583, 5.55874, 'Risen Drakkari Warrior'), +(2663500, 9, -363.399, -595.822, 2.26113, 'Risen Drakkari Warrior'); + +DELETE FROM `waypoints` WHERE `entry`=2663501; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(2663501, 1, -361.498, -611.317, 2.82481, 'Risen Drakkari Warrior'), +(2663501, 2, -358.749, -613.483, 4.91993, 'Risen Drakkari Warrior'), +(2663501, 3, -351.531, -619.59, 11.0096, 'Risen Drakkari Warrior'), +(2663501, 4, -349.112, -623.42, 11.0119, 'Risen Drakkari Warrior'), +(2663501, 5, -347.686, -624.43, 11.0119, 'Risen Drakkari Warrior'), +(2663501, 6, -346.433, -620.963, 11.0119, 'Risen Drakkari Warrior'), +(2663501, 7, -350.655, -617.858, 10.8491, 'Risen Drakkari Warrior'), +(2663501, 8, -356.367, -613.813, 6.09785, 'Risen Drakkari Warrior'), +(2663501, 9, -366.529, -607.86, 2.26056, 'Risen Drakkari Warrior'); + +DELETE FROM `creature_text` WHERE `entry`=26635; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(26635, 0, 0, 'Help mon! There''s too many of dem!', 14, 0, 100, 0, 0, 0, 26538, 0, 'Risen Drakkari Warrior'), +(26635, 1, 0, 'Backup! We need backup!', 14, 0, 100, 0, 0, 0, 26537, 0, 'Risen Drakkari Warrior'); diff --git a/sql/updates/world/2015_02_09_06_world.sql b/sql/updates/world/2015_02_09_06_world.sql new file mode 100644 index 00000000000..f4dd026d790 --- /dev/null +++ b/sql/updates/world/2015_02_09_06_world.sql @@ -0,0 +1,340 @@ +-- +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid` IN (26626, 26637) AND `source_type`=0 AND `id`=0 AND `link`=1; +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (26636 ,26625); +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `guid`=127430; /*31261 */ + +UPDATE `creature_addon` SET `auras`='31261 49852' WHERE `guid` IN (127571, 127569, 127568, 127583, 127567, 127570, 127584); + +DELETE FROM `creature_template_addon` WHERE `entry`=26621; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(26621, 0, 0, 0, 1, 418, ''); + + +-- Pathing for Entry: 26624 'TDB FORMAT' +SET @NPC := 127403; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-321.1793,`position_y`=-660.2445,`position_z`=10.63094 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,-321.1793,-660.2445,10.63094,0,0,0,0,100,0), +(@PATH,2,-314.265,-658.299,10.85989,0,0,0,0,100,0), +(@PATH,3,-308.3121,-663.0262,10.8531,0,0,0,0,100,0), +(@PATH,4,-312.3275,-667.5159,10.43025,0,0,0,0,100,0), +(@PATH,5,-323.8721,-672.2502,11.15234,0,0,0,0,100,0), +(@PATH,6,-325.2265,-672.576,11.07057,0,0,0,0,100,0), +(@PATH,7,-324.1945,-665.3568,10.65234,0,0,0,0,100,0), +(@PATH,8,-321.2054,-660.1317,10.51689,0,0,0,0,100,0), +(@PATH,9,-314.2662,-658.2737,10.85989,0,0,0,0,100,0), +(@PATH,10,-308.2971,-663.0308,10.85604,0,0,0,0,100,0), +(@PATH,11,-312.3167,-667.5278,10.43211,0,0,0,0,100,0), +(@PATH,12,-323.8912,-672.2682,11.15234,0,0,0,0,100,0), +(@PATH,13,-325.2353,-672.5774,11.0714,0,0,0,0,100,0), +(@PATH,14,-324.1946,-665.3556,10.65234,0,0,0,0,100,0), +(@PATH,15,-321.2102,-660.1342,10.51981,0,0,0,0,100,0), +(@PATH,16,-314.2662,-658.2732,10.85989,0,0,0,0,100,0), +(@PATH,17,-308.2755,-663.0374,10.86023,0,0,0,0,100,0), +(@PATH,18,-312.2948,-667.5519,10.43588,0,0,0,0,100,0), +(@PATH,19,-323.9076,-672.2837,11.15234,0,0,0,0,100,0), +(@PATH,20,-325.265,-672.582,11.07419,0,0,0,0,100,0); +-- 0x1C16DC4B001A0000005B0C0000578386 .go -321.1793 -660.2445 10.63094 + +-- Pathing for Entry: 26624 'TDB FORMAT' +SET @NPC := 127404; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-318.1556,`position_y`=-640.515,`position_z`=11.95144 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,-318.1556,-640.515,11.95144,0,0,0,0,100,0), +(@PATH,2,-311.1296,-643.6861,11.3687,0,0,0,0,100,0), +(@PATH,3,-306.9548,-646.1841,10.92374,0,0,0,0,100,0), +(@PATH,4,-300.4054,-650.3721,11.09798,0,0,0,0,100,0), +(@PATH,5,-298.4008,-658.082,10.63272,0,0,0,0,100,0), +(@PATH,6,-298.8151,-659.7013,10.62173,0,0,0,0,100,0), +(@PATH,7,-310.1207,-661.3427,10.63743,0,0,0,0,100,0), +(@PATH,8,-314.2844,-659.1246,10.57358,0,0,0,0,100,0), +(@PATH,9,-316.9409,-657.6439,10.68161,0,0,0,0,100,0), +(@PATH,10,-325.1304,-655.4464,10.74956,0,0,0,0,100,0), +(@PATH,11,-329.8129,-650.3148,12.10803,0,0,0,0,100,0), +(@PATH,12,-329.9256,-647.5079,12.01005,0,0,0,0,100,0), +(@PATH,13,-328.6924,-642.873,12.058,0,0,0,0,100,0); +-- 0x1C16DC4B001A0000005B0C0000D78386 .go -318.1556 -640.515 11.95144 + +-- Pathing for Entry: 26637 'TDB FORMAT' +SET @NPC := 127444; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-466.2595,`position_y`=-652.3038,`position_z`=28.78722 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,6469,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,-466.2595,-652.3038,28.78722,0,0,0,0,100,0), +(@PATH,2,-478.2595,-652.0538,28.78722,0,0,0,0,100,0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=127444; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(127444, 127444, 0, 0, 2, 0, 0), +(127444, 127456, 4, 90, 2, 0, 0), +(127444, 127457, 4, 270, 2, 0, 0); + +-- Pathing for Entry: 26637 'TDB FORMAT' +SET @NPC := 127442; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-499.8308,`position_y`=-705.9434,`position_z`=30.6214 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,6469,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,-499.8308,-705.9434,30.6214,0,0,0,0,100,0), +(@PATH,2,-502.4009,-683.0112,30.58796,0,0,0,0,100,0), +(@PATH,3,-502.3382,-683.26,30.3714,0,0,0,0,100,0), +(@PATH,4,-502.022,-683.1946,30.61549,0,0,0,0,100,0), +(@PATH,5,-499.6927,-706.1716,30.6214,0,0,0,0,100,0), +(@PATH,6,-496.0414,-714.49,30.6214,0,0,0,0,100,0), +(@PATH,7,-496.3022,-714.5132,30.3714,0,0,0,0,100,0), +(@PATH,8,-496.2182,-714.349,30.6214,0,0,0,0,100,0), +(@PATH,9,-499.8963,-705.8741,30.6214,0,0,0,0,100,0); +-- 0x1C16DC4B001A0340005B0C0000578386 .go -499.8308 -705.9434 30.6214 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=127442; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(127442, 127442, 0, 0, 2, 0, 0), +(127442, 127443, 4, 90, 2, 0, 0); + +DELETE FROM `creature_addon` WHERE `guid` IN (127617, 127589, 127438, 127590, 127428, 127427, 127580, 127579, 127432, 127578, 127433); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(127427, 0, 0, 0, 1, 36, ''), +(127428, 0, 0, 0, 1, 36, ''), +(127432, 0, 0, 0, 1, 36, ''), +(127433, 0, 0, 0, 1, 36, ''), +(127578, 0, 0, 0, 1, 36, ''), +(127579, 0, 0, 0, 1, 36, ''), +(127580, 0, 0, 0, 1, 36, ''), +(127589, 0, 0, 0, 1, 36, ''), +(127590, 0, 0, 0, 1, 36, ''), +(127617, 0, 0, 0, 1, 36, ''); + +-- Pathing for Entry: 26637 'TDB FORMAT' +SET @NPC := 127446; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-458.184,`position_y`=-595.712,`position_z`=93.7567 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,26751,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, -431.004, -599.244, 96.6243, 0, 0, 1, 0, 100, 0), +(@PATH, 2, -397.542, -607.933, 89.8221, 0, 0, 1, 0, 100, 0), +(@PATH, 3, -380.795, -608.944, 84.5094, 0, 0, 1, 0, 100, 0), +(@PATH, 4, -366.926, -609.622, 86.2929, 0, 0, 1, 0, 100, 0), +(@PATH, 5, -335.819, -610.248, 92.769, 0, 0, 1, 0, 100, 0), +(@PATH, 6, -324.31, -610.248, 94.3711, 0, 0, 1, 0, 100, 0), +(@PATH, 7, -313.428, -610.467, 95.2595, 0, 0, 1, 0, 100, 0), +(@PATH, 8, -331.964, -610.102, 92.3899, 0, 0, 1, 0, 100, 0), +(@PATH, 9, -343.592, -609.99, 90.6398, 0, 0, 1, 0, 100, 0), +(@PATH, 10, -367.122, -609.527, 87.0978, 0, 0, 1, 0, 100, 0), +(@PATH, 11, -381.21, -609.16, 84.9903, 0, 0, 1, 0, 100, 0), +(@PATH, 12, -399.507, -608.891, 89.1199, 0, 0, 1, 0, 100, 0), +(@PATH, 13, -428.922, -609.198, 91.8185, 0, 0, 1, 0, 100, 0); + +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (26638, 31351); + +-- Pathing for Entry: 29237 'TDB FORMAT' +SET @NPC := 203549; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=6709.566,`position_y`=-4355.494,`position_z`=440.7194 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,6709.566,-4355.494,440.7194,0,0,0,0,100,0), +(@PATH,2,6711.722,-4357.65,440.7194,0,0,0,0,100,0), +(@PATH,3,6713.885,-4359.814,440.7194,0,0,0,0,100,0), +(@PATH,4,6716.069,-4361.999,440.7194,0,0,0,0,100,0), +(@PATH,5,6718.223,-4364.154,440.7194,0,0,0,0,100,0), +(@PATH,6,6720.4,-4366.332,440.7194,0,0,0,0,100,0), +(@PATH,7,6722.556,-4368.488,440.7025,0,0,0,0,100,0), +(@PATH,8,6724.659,-4370.592,440.7025,0,0,0,0,100,0), +(@PATH,9,6726.705,-4372.757,440.7025,0,0,0,0,100,0), +(@PATH,10,6728.782,-4374.959,440.7025,0,0,0,0,100,0), +(@PATH,11,6730.868,-4377.171,440.7025,0,0,0,0,100,0), +(@PATH,12,6732.948,-4379.376,440.7025,0,0,0,0,100,0), +(@PATH,13,6735.021,-4381.573,440.6158,0,0,0,0,100,0), +(@PATH,14,6737.099,-4383.777,440.6158,0,0,0,0,100,0), +(@PATH,15,6738.558,-4385.286,440.6158,0,0,0,0,100,0), +(@PATH,16,6740.794,-4387.498,440.6158,0,0,0,0,100,0), +(@PATH,17,6743.027,-4389.707,440.6158,0,0,0,0,100,0), +(@PATH,18,6745.267,-4391.922,440.6158,0,0,0,0,100,0), +(@PATH,19,6747.505,-4394.136,440.6158,0,0,0,0,100,0), +(@PATH,20,6749.747,-4396.354,440.6158,0,0,0,0,100,0), +(@PATH,21,6752.003,-4398.586,440.6158,0,0,0,0,100,0), +(@PATH,22,6754.265,-4400.824,440.6158,0,0,0,0,100,0), +(@PATH,23,6756.507,-4403.042,440.6158,0,0,0,0,100,0), +(@PATH,24,6758.502,-4405.03,440.6158,0,0,0,0,100,0), +(@PATH,25,6760.651,-4407.223,440.6158,0,0,0,0,100,0), +(@PATH,26,6762.793,-4409.409,440.6158,0,0,0,0,100,0), +(@PATH,27,6764.924,-4411.583,440.6158,0,0,0,0,100,0), +(@PATH,28,6767.083,-4413.788,440.7194,0,0,0,0,100,0), +(@PATH,29,6769.217,-4415.966,440.7194,0,0,0,0,100,0), +(@PATH,30,6771.352,-4418.145,440.7194,0,0,0,0,100,0), +(@PATH,31,6773.472,-4420.309,440.7194,0,0,0,0,100,0), +(@PATH,32,6775.598,-4422.479,440.7194,0,0,0,0,100,0), +(@PATH,33,6776.916,-4423.868,440.7194,0,0,0,0,100,0), +(@PATH,34,6779.079,-4426.187,440.7194,0,0,0,0,100,0), +(@PATH,35,6781.248,-4428.51,440.7194,0,0,0,0,100,0), +(@PATH,36,6783.421,-4430.838,440.7194,0,0,0,0,100,0), +(@PATH,37,6785.586,-4433.158,440.7194,0,0,0,0,100,0), +(@PATH,38,6787.766,-4435.493,440.7009,0,0,0,0,100,0), +(@PATH,39,6789.926,-4437.807,440.7009,0,0,0,0,100,0), +(@PATH,40,6791.934,-4439.958,440.7009,0,0,0,0,100,0), +(@PATH,41,6794.533,-4442.054,440.7009,0,0,0,0,100,0), +(@PATH,42,6796.933,-4443.941,440.7009,0,0,0,0,100,0), +(@PATH,43,6799.326,-4445.824,440.7009,0,0,0,0,100,0), +(@PATH,44,6801.72,-4447.708,440.7194,0,0,0,0,100,0), +(@PATH,45,6804.107,-4449.586,440.7194,0,0,0,0,100,0), +(@PATH,46,6805.872,-4450.974,440.7194,0,0,0,0,100,0), +(@PATH,47,6805.872,-4450.974,440.7194,0,0,0,0,100,0), +(@PATH,48,6802.628,-4448.422,440.7194,0,0,0,0,100,0), +(@PATH,49,6801.03,-4447.165,440.7194,0,0,0,0,100,0), +(@PATH,50,6798.649,-4445.292,440.7009,0,0,0,0,100,0), +(@PATH,51,6796.252,-4443.406,440.7009,0,0,0,0,100,0), +(@PATH,52,6793.855,-4441.521,440.7009,0,0,0,0,100,0), +(@PATH,53,6791.484,-4439.477,440.7009,0,0,0,0,100,0), +(@PATH,54,6789.404,-4437.248,440.7009,0,0,0,0,100,0), +(@PATH,55,6787.313,-4435.008,440.7009,0,0,0,0,100,0), +(@PATH,56,6785.237,-4432.784,440.7194,0,0,0,0,100,0), +(@PATH,57,6783.164,-4430.563,440.7194,0,0,0,0,100,0), +(@PATH,58,6781.085,-4428.335,440.7194,0,0,0,0,100,0), +(@PATH,59,6778.998,-4426.099,440.7194,0,0,0,0,100,0), +(@PATH,60,6776.91,-4423.862,440.7194,0,0,0,0,100,0), +(@PATH,61,6775.327,-4422.202,440.7194,0,0,0,0,100,0), +(@PATH,62,6773.147,-4419.977,440.7194,0,0,0,0,100,0), +(@PATH,63,6770.978,-4417.763,440.7194,0,0,0,0,100,0), +(@PATH,64,6768.798,-4415.538,440.7194,0,0,0,0,100,0), +(@PATH,65,6766.607,-4413.302,440.6158,0,0,0,0,100,0), +(@PATH,66,6764.424,-4411.074,440.6158,0,0,0,0,100,0), +(@PATH,67,6762.253,-4408.858,440.6158,0,0,0,0,100,0), +(@PATH,68,6760.07,-4406.629,440.6158,0,0,0,0,100,0), +(@PATH,69,6757.998,-4404.517,440.6158,0,0,0,0,100,0), +(@PATH,70,6755.836,-4402.378,440.6158,0,0,0,0,100,0), +(@PATH,71,6753.682,-4400.247,440.6158,0,0,0,0,100,0), +(@PATH,72,6751.511,-4398.099,440.6158,0,0,0,0,100,0), +(@PATH,73,6749.368,-4395.979,440.6158,0,0,0,0,100,0), +(@PATH,74,6747.188,-4393.823,440.6158,0,0,0,0,100,0), +(@PATH,75,6745.053,-4391.711,440.6158,0,0,0,0,100,0), +(@PATH,76,6742.909,-4389.59,440.6158,0,0,0,0,100,0), +(@PATH,77,6740.754,-4387.458,440.6158,0,0,0,0,100,0), +(@PATH,78,6738.592,-4385.319,440.6158,0,0,0,0,100,0), +(@PATH,79,6736.751,-4383.408,440.6158,0,0,0,0,100,0), +(@PATH,80,6734.615,-4381.143,440.6158,0,0,0,0,100,0), +(@PATH,81,6732.473,-4378.873,440.7025,0,0,0,0,100,0), +(@PATH,82,6730.346,-4376.617,440.7025,0,0,0,0,100,0), +(@PATH,83,6728.218,-4374.362,440.7025,0,0,0,0,100,0), +(@PATH,84,6729.046,-4370.898,440.9525,0,0,0,0,100,0), +(@PATH,85,6724.064,-4369.998,440.7025,0,0,0,0,100,0), +(@PATH,86,6721.935,-4367.867,440.7025,0,0,0,0,100,0), +(@PATH,87,6719.804,-4365.736,440.7194,0,0,0,0,100,0), +(@PATH,88,6717.628,-4363.559,440.7194,0,0,0,0,100,0), +(@PATH,89,6715.489,-4361.419,440.7194,0,0,0,0,100,0), +(@PATH,90,6713.351,-4359.279,440.7194,0,0,0,0,100,0), +(@PATH,91,6711.217,-4357.145,440.7194,0,0,0,0,100,0), +(@PATH,92,6709.114,-4355.041,440.7194,0,0,0,0,100,0), +(@PATH,93,6706.909,-4353.476,440.7194,0,0,0,0,100,0), +(@PATH,94,6704.445,-4351.718,440.7194,0,0,0,0,100,0), +(@PATH,95,6701.982,-4349.961,440.7194,0,0,0,0,100,0), +(@PATH,96,6699.487,-4348.182,440.7194,0,0,0,0,100,0), +(@PATH,97,6697.032,-4346.43,440.7194,0,0,0,0,100,0), +(@PATH,98,6696.491,-4345.139,440.7194,0,0,0,0,100,0), +(@PATH,99,6693.5,-4346.004,440.7194,0,0,0,0,100,0), +(@PATH,100,6690.534,-4346.862,440.7194,0,0,0,0,100,0), +(@PATH,101,6687.572,-4347.719,440.7582,0,0,0,0,100,0), +(@PATH,102,6684.732,-4348.541,440.7194,0,0,0,0,100,0), +(@PATH,103,6683.093,-4349.978,440.7194,0,0,0,0,100,0), +(@PATH,104,6680.785,-4351.966,440.7194,0,0,0,0,100,0), +(@PATH,105,6678.49,-4353.942,440.7194,0,0,0,0,100,0), +(@PATH,106,6676.195,-4355.919,440.7194,0,0,0,0,100,0), +(@PATH,107,6673.887,-4357.907,440.7194,0,0,0,0,100,0), +(@PATH,108,6672.325,-4359.7,440.7194,0,0,0,0,100,0), +(@PATH,109,6670.341,-4362.154,440.7194,0,0,0,0,100,0), +(@PATH,110,6668.408,-4364.545,440.7194,0,0,0,0,100,0), +(@PATH,111,6666.455,-4366.962,440.8546,0,0,0,0,100,0), +(@PATH,112,6664.507,-4369.371,440.9098,0,0,0,0,100,0), +(@PATH,113,6663.903,-4370.801,441.0089,0,0,0,0,100,0), +(@PATH,114,6663.605,-4373.883,440.7194,0,0,0,0,100,0), +(@PATH,115,6663.312,-4376.927,440.7194,0,0,0,0,100,0), +(@PATH,116,6663.017,-4379.976,440.7194,0,0,0,0,100,0), +(@PATH,117,6663.048,-4380.506,440.7194,0,0,0,0,100,0), +(@PATH,118,6665.024,-4382.971,440.7194,0,0,0,0,100,0), +(@PATH,119,6667.013,-4385.452,440.7194,0,0,0,0,100,0), +(@PATH,120,6669.01,-4387.943,440.7194,0,0,0,0,100,0), +(@PATH,121,6670.983,-4390.403,440.7194,0,0,0,0,100,0), +(@PATH,122,6672.976,-4392.888,440.7194,0,0,0,0,100,0), +(@PATH,123,6674.643,-4394.981,440.7194,0,0,0,0,100,0), +(@PATH,124,6676.801,-4397.127,440.7194,0,0,0,0,100,0), +(@PATH,125,6678.959,-4399.274,440.7194,0,0,0,0,100,0), +(@PATH,126,6681.114,-4401.417,440.7194,0,0,0,0,100,0), +(@PATH,127,6683.27,-4403.563,440.7194,0,0,0,0,100,0), +(@PATH,128,6685.439,-4405.72,440.7194,0,0,0,0,100,0), +(@PATH,129,6687.588,-4407.858,440.7194,0,0,0,0,100,0), +(@PATH,130,6689.752,-4410.01,440.7194,0,0,0,0,100,0), +(@PATH,131,6691.524,-4411.785,440.7194,0,0,0,0,100,0), +(@PATH,132,6693.658,-4414.005,440.7194,0,0,0,0,100,0), +(@PATH,133,6695.81,-4416.244,440.7194,0,0,0,0,100,0), +(@PATH,134,6697.947,-4418.468,440.7194,0,0,0,0,100,0), +(@PATH,135,6700.072,-4420.679,440.6158,0,0,0,0,100,0), +(@PATH,136,6702.215,-4422.909,440.6158,0,0,0,0,100,0), +(@PATH,137,6704.354,-4425.135,440.6158,0,0,0,0,100,0), +(@PATH,138,6706.516,-4427.385,440.6158,0,0,0,0,100,0), +(@PATH,139,6708.664,-4429.62,440.6158,0,0,0,0,100,0), +(@PATH,140,6710.82,-4431.864,440.6158,0,0,0,0,100,0), +(@PATH,141,6713.229,-4433.922,440.7194,0,0,0,0,100,0), +(@PATH,142,6715.676,-4436.133,440.7194,0,0,0,0,100,0), +(@PATH,143,6718.125,-4438.346,440.7194,0,0,0,0,100,0), +(@PATH,144,6720.556,-4440.542,440.7194,0,0,0,0,100,0), +(@PATH,145,6722.997,-4442.747,440.7194,0,0,0,0,100,0), +(@PATH,146,6725.418,-4444.934,440.7194,0,0,0,0,100,0), +(@PATH,147,6727.87,-4447.148,440.7194,0,0,0,0,100,0), +(@PATH,148,6730.146,-4449.292,440.7194,0,0,0,0,100,0), +(@PATH,149,6730.788,-4452.639,440.7194,0,0,0,0,100,0), +(@PATH,150,6731.166,-4454.971,440.7194,0,0,0,0,100,0), +(@PATH,151,6731.166,-4457.63,440.7194,0,0,0,0,100,0), +(@PATH,152,6732.197,-4457.931,440.7194,0,0,0,0,100,0), +(@PATH,153,6734.809,-4459.646,440.7194,0,0,0,0,100,0), +(@PATH,154,6737.403,-4461.349,440.7194,0,0,0,0,100,0), +(@PATH,155,6740.015,-4463.064,440.7194,0,0,0,0,100,0), +(@PATH,156,6742.618,-4464.773,440.7194,0,0,0,0,100,0), +(@PATH,157,6745.232,-4466.489,440.7194,0,0,0,0,100,0), +(@PATH,158,6747.178,-4467.969,440.7194,0,0,0,0,100,0), +(@PATH,159,6749.505,-4470.075,440.7194,0,0,0,0,100,0), +(@PATH,160,6751.848,-4472.194,440.7194,0,0,0,0,100,0), +(@PATH,161,6754.179,-4474.303,440.7194,0,0,0,0,100,0), +(@PATH,162,6756.502,-4476.405,440.7194,0,0,0,0,100,0), +(@PATH,163,6758.849,-4478.528,440.7194,0,0,0,0,100,0), +(@PATH,164,6761.196,-4480.651,440.7194,0,0,0,0,100,0), +(@PATH,165,6763.529,-4482.762,440.7194,0,0,0,0,100,0), +(@PATH,166,6765.672,-4484.701,440.7194,0,0,0,0,100,0), +(@PATH,167,6765.672,-4484.701,440.7194,0,0,0,0,100,0), +(@PATH,168,6762.613,-4481.934,440.7194,0,0,0,0,100,0), +(@PATH,169,6761.11,-4480.573,440.7194,0,0,0,0,100,0), +(@PATH,170,6758.854,-4478.532,440.7194,0,0,0,0,100,0), +(@PATH,171,6756.6,-4476.493,440.7194,0,0,0,0,100,0), +(@PATH,172,6754.358,-4474.465,440.7194,0,0,0,0,100,0), +(@PATH,173,6752.123,-4472.442,440.7194,0,0,0,0,100,0), +(@PATH,174,6749.883,-4470.417,440.7194,0,0,0,0,100,0), +(@PATH,175,6747.618,-4468.367,440.7194,0,0,0,0,100,0), +(@PATH,176,6747.454,-4468.149,440.7194,0,0,0,0,100,0), +(@PATH,177,6745.778,-4463.783,440.7194,0,0,0,0,100,0), +(@PATH,178,6743.626,-4461.631,440.7194,0,0,0,0,100,0), +(@PATH,179,6741.465,-4459.471,440.7194,0,0,0,0,100,0), +(@PATH,180,6739.305,-4457.311,440.7194,0,0,0,0,100,0), +(@PATH,181,6737.125,-4455.129,440.7194,0,0,0,0,100,0), +(@PATH,182,6734.964,-4452.969,440.7194,0,0,0,0,100,0), +(@PATH,183,6731.37,-4451.403,440.7194,0,0,0,0,100,0); +-- 0x1C091047601C8D4000000B0000572225 .go 6709.566 -4355.494 440.7194 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=203549; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(203549, 203549, 0, 0, 2, 0, 0), +(203549, 203562, 3, 270, 2, 0, 0); diff --git a/sql/updates/world/2015_02_09_07_world.sql b/sql/updates/world/2015_02_09_07_world.sql new file mode 100644 index 00000000000..89c125a9c2e --- /dev/null +++ b/sql/updates/world/2015_02_09_07_world.sql @@ -0,0 +1,461 @@ +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126942; +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,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 +(1269420, 1, 1336.35, 97.1842, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 2, 1337.76, 97.2226, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 3, 1339.43, 101.827, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 4, 1337.51, 102.338, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 5, 1337.45, 101.881, 40.1805, 0, 4000, 0, 0, 100, 0), +(1269420, 6, 1327.41, 101.553, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 7, 1327.35, 100.975, 40.1805, 0, 4000, 0, 0, 100, 0), +(1269420, 8, 1325.64, 100.623, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 9, 1325.01, 96.4632, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 10, 1327.11, 96.4808, 40.1805, 0, 0, 0, 0, 100, 0), +(1269420, 11, 1327.07, 96.8291, 40.1805, 0, 4000, 0, 0, 100, 0); + +DELETE FROM `creature_template_addon` WHERE `entry` IN (28582, 30974); +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(28582, 0, 0, 0, 0, 69, ''), +(30974, 0, 0, 0, 0, 69, ''); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126926; +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 +(1269260, 1, 1377.28, 64.533, 48.8931, 0, 0, 0, 0, 100, 0), +(1269260, 2, 1377.69, 64.9436, 48.8931, 0, 6000, 0, 0, 100, 0), +(1269260, 3, 1359.25, 81.9585, 41.0455, 0, 0, 0, 0, 100, 0), +(1269260, 4, 1359.68, 82.5069, 41.0204, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126915; +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,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 +(1269150, 1, 1393.45, 47.8648, 50.0383, 0, 6000, 0, 0, 100, 0), +(1269150, 2, 1401.61, 46.3271, 50.0383, 0, 0, 0, 0, 100, 0), +(1269150, 3, 1401.81, 45.7834, 50.0383, 0, 6000, 0, 0, 100, 0), +(1269150, 4, 1394.37, 48.5111, 50.0383, 0, 0, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126925; +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,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 +(1269250, 1, 1414.64, 32.7402, 50.2271, 0, 0, 0, 0, 100, 0), +(1269250, 2, 1419.4, 32.7552, 53.1143, 0, 0, 0, 0, 100, 0), +(1269250, 3, 1429.45, 32.845, 58.7644, 0, 0, 0, 0, 100, 0), +(1269250, 4, 1433.53, 32.8176, 58.7671, 0, 0, 0, 0, 100, 0), +(1269250, 5, 1434.02, 32.0269, 58.7671, 0, 6000, 0, 0, 100, 0), +(1269250, 6, 1430.18, 32.2594, 58.7671, 0, 0, 0, 0, 100, 0), +(1269250, 7, 1422.24, 32.287, 54.8356, 0, 0, 0, 0, 100, 0), +(1269250, 8, 1414.43, 32.6758, 50.0945, 0, 0, 0, 0, 100, 0), +(1269250, 9, 1407.78, 32.7916, 50.0383, 0, 0, 0, 0, 100, 0), +(1269250, 10, 1406.76, 32.718, 50.0383, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126924; +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,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 +(1269240, 1, 1358.66, -8.12641, 41.1612, 0, 0, 0, 0, 100, 0), +(1269240, 2, 1359.22, -8.72624, 41.1518, 0, 6000, 0, 0, 100, 0), +(1269240, 3, 1376.27, 9.68446, 48.9541, 0, 0, 0, 0, 100, 0), +(1269240, 4, 1376.68, 9.25245, 48.95, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126933; +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,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 +(1269330, 1, 1353.19, 3.42894, 42.4993, 0, 0, 0, 0, 100, 0), +(1269330, 2, 1352.77, 3.83879, 42.4978, 0, 6000, 0, 0, 100, 0), +(1269330, 3, 1368.11, 18.3238, 49.0597, 0, 0, 0, 0, 100, 0), +(1269330, 4, 1367.63, 18.8363, 49.0662, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126939; +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,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 +(1269390, 1, 1324.11, -36.4178, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 2, 1320.59, -33.3142, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 3, 1322.34, -31.4373, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 4, 1323.13, -32.1258, 40.1806, 0, 6000, 0, 0, 100, 0), +(1269390, 5, 1321.68, -35.1774, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 6, 1324.78, -37.6497, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 7, 1340.48, -36.3091, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 8, 1341.82, -34.5498, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 9, 1342.51, -31.7143, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 10, 1343.71, -26.8389, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 11, 1343.06, -26.1627, 40.1806, 0, 6000, 0, 0, 100, 0), +(1269390, 12, 1341.99, -31.7877, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 13, 1341.6, -32.2199, 40.1806, 0, 6000, 0, 0, 100, 0), +(1269390, 14, 1341.2, -36.4011, 40.1806, 0, 0, 0, 0, 100, 0), +(1269390, 15, 1325.72, -38.8983, 40.1806, 0, 0, 0, 0, 100, 0); + + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126941; +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,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 +(1269410, 1, 1267.08, -35.0841, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269410, 2, 1253.98, -31.204, 33.5057, 0, 0, 0, 0, 100, 0), +(1269410, 3, 1252.76, -28.9487, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269410, 4, 1255.2, -33.8478, 33.5057, 0, 0, 0, 0, 100, 0), +(1269410, 5, 1256.82, -34.5311, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269410, 6, 1256.49, -38.1348, 33.5057, 0, 0, 0, 0, 100, 0), +(1269410, 7, 1259.85, -39.4856, 33.5057, 0, 0, 0, 0, 100, 0), +(1269410, 8, 1264.16, -36.9788, 33.5057, 0, 0, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126917; +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 +(1269170, 1, 1268.62, 32.3739, 33.5057, 0, 0, 0, 0, 100, 0), +(1269170, 2, 1270.03, 32.3423, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269170, 3, 1269.46, 0.489199, 33.5057, 0, 0, 0, 0, 100, 0), +(1269170, 4, 1269.81, 0.525176, 33.5057, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126940; +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 +(1269400, 1, 1269.07, 39.2463, 33.5055, 0, 0, 0, 0, 100, 0), +(1269400, 2, 1269.94, 39.279, 33.5055, 0, 6000, 0, 0, 100, 0), +(1269400, 3, 1269, 68.7823, 33.5055, 0, 0, 0, 0, 100, 0), +(1269400, 4, 1269.8, 68.7924, 33.5055, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126919; +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 +(1269190, 1, 1254.43, 38.9632, 33.5056, 0, 0, 0, 0, 100, 0), +(1269190, 2, 1254.33, 32.6571, 35.0186, 0, 0, 0, 0, 100, 0), +(1269190, 3, 1254.73, 9.53858, 33.5056, 0, 0, 0, 0, 100, 0), +(1269190, 4, 1254.26, 9.55597, 33.5056, 0, 6000, 0, 0, 100, 0), +(1269190, 5, 1254.61, 28.5055, 33.8212, 0, 0, 0, 0, 100, 0), +(1269190, 6, 1254.59, 33.0582, 35.0141, 0, 0, 0, 0, 100, 0), +(1269190, 7, 1254.56, 55.7588, 33.5058, 0, 0, 0, 0, 100, 0), +(1269190, 8, 1254.14, 55.7403, 33.5058, 0, 6000, 0, 0, 100, 0); + +-- Pathing for Entry: 28582 'TDB FORMAT' +SET @NPC := 126918; +SET @PATH := 1269180; +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,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 +(1269180, 1, 1252.42, 106.457, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 2, 1249.45, 101.782, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 3, 1250.39, 100.591, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 4, 1251.37, 101.803, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269180, 5, 1250.43, 104.446, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 6, 1259.91, 113.097, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 7, 1265.25, 112.968, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 8, 1273.82, 106.516, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 9, 1274.95, 101.531, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 10, 1272.59, 100.018, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 11, 1272.4, 100.808, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269180, 12, 1275.02, 103.29, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 13, 1273.92, 106.241, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 14, 1267.23, 108.337, 33.5057, 0, 0, 0, 0, 100, 0), +(1269180, 15, 1264.99, 108.96, 33.5057, 0, 6000, 0, 0, 100, 0), +(1269180, 16, 1263.4, 112.342, 33.5057, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `spawndist`=8, `MovementType`=1 WHERE `id`=28585; +UPDATE `creature` SET `spawndist`=5, `MovementType`=1 WHERE `id` IN (28825, 28547, 28584, 28583); + +-- Pathing for Entry: 28583 'TDB FORMAT' +SET @NPC := 126954; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1311.234,`position_y`=-158.9818,`position_z`=52.27496 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,1311.234,-158.9818,52.27496,0,0,0,0,100,0), +(@PATH,2,1312.317,-174.7872,52.27221,0,0,0,0,100,0), +(@PATH,3,1328.705,-186.7419,52.27302,0,0,0,0,100,0), +(@PATH,4,1341.044,-184.8856,52.27322,0,0,0,0,100,0), +(@PATH,5,1354.387,-173.1809,52.27328,0,0,0,0,100,0), +(@PATH,6,1354.742,-169.7169,52.27325,0,0,0,0,100,0), +(@PATH,7,1348.927,-148.5091,52.27411,0,0,0,0,100,0), +(@PATH,8,1335.543,-142.5214,52.27379,0,0,0,0,100,0), +(@PATH,9,1318.144,-146.4185,52.31124,0,0,0,0,100,0), +(@PATH,10,1311.167,-158.8409,52.27437,0,0,0,0,100,0); +-- 0x1C307C4B401BE9C000021700025672BB .go 1311.234 -158.9818 52.27496 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126954; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126954, 126954, 0, 0, 2, 0, 0), +(126954, 126955, 3, 0, 2, 0, 0); + +-- Pathing for Entry: 28583 'TDB FORMAT' +SET @NPC := 76296; +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 +(762960, 1, 1176.14, -298.09, 52.3436, 0, 0, 0, 0, 100, 0), +(762960, 2, 1176.3, -246.576, 52.3528, 0, 0, 0, 0, 100, 0); + +-- Pathing for Entry: 28583 'TDB FORMAT' +SET @NPC := 76297; +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 +(762970, 1, 1180.57, -315.473, 52.3378, 0, 0, 0, 0, 100, 0), +(762970, 2, 1171.95, -315.333, 52.3378, 0, 0, 0, 0, 100, 0), +(762970, 3, 1171.02, -327.394, 52.6927, 0, 0, 0, 0, 100, 0), +(762970, 4, 1183.75, -330.38, 52.3378, 0, 0, 0, 0, 100, 0), +(762970, 5, 1183.62, -317.868, 52.3378, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `spawndist`=8,`MovementType`=1 WHERE `guid`=76298; +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=28547 AND `source_type`=0 AND `id`=0 AND `link`=0; + +-- Pathing for Entry: 28583 'TDB FORMAT' +SET @NPC := 126874; +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 +(1268740, 1, 1118.22, -248.207, 56.8882, 0, 0, 1, 0, 100, 0), +(1268740, 2, 1118.62, -274.988, 56.8831, 0, 0, 1, 0, 100, 0); + +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 `creature_addon` WHERE `guid` IN (126904, 126921, 126903, 126911, 126928, 126929, 126930, 126931, 126912); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(126911, 0, 0, 0, 1, 69, ''), +(126928, 0, 0, 0, 1, 69, ''), +(126929, 0, 0, 0, 1, 69, ''), +(126930, 0, 0, 0, 1, 69, ''), +(126931, 0, 0, 0, 1, 69, ''), +(126912, 0, 0, 0, 1, 69, ''), +(126903, 0, 0, 0, 1, 69, ''), +(126921, 0, 0, 0, 1, 69, ''), +(126904, 0, 0, 0, 1, 69, ''); + + +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=28838 AND `source_type`=0 AND `id`=0 AND `link`=1; +-- Pathing for Entry: 28838 'TDB FORMAT' +SET @NPC := 126938; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1096.845,`position_y`=-166.1139,`position_z`=58.68692 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,1096.845,-166.1139,58.68692,0,0,0,0,100,0), +(@PATH,2,1091.599,-152.8187,61.33255,0,0,0,0,100,0), +(@PATH,3,1076.235,-141.8798,61.18824,0,0,0,0,100,0), +(@PATH,4,1060.763,-145.9723,61.39173,0,0,0,0,100,0), +(@PATH,5,1049.471,-171.0271,58.53773,0,0,0,0,100,0), +(@PATH,6,1055.509,-189.0143,58.94555,0,0,0,0,100,0), +(@PATH,7,1073.278,-198.3343,59.91864,0,0,0,0,100,0), +(@PATH,8,1091.632,-153.0076,61.24912,0,0,0,0,100,0), +(@PATH,9,1076.185,-141.7971,61.18842,0,0,0,0,100,0), +(@PATH,10,1060.682,-145.9083,61.35257,0,0,0,0,100,0), +(@PATH,11,1049.497,-171.1528,58.5324,0,0,0,0,100,0), +(@PATH,12,1055.636,-188.8313,58.83115,0,0,0,0,100,0), +(@PATH,13,1073.335,-198.4241,59.88276,0,0,0,0,100,0), +(@PATH,14,1083.434,-195.9087,59.84556,0,0,0,0,100,0), +(@PATH,15,1095.76,-180.6208,58.73315,0,0,0,0,100,0), +(@PATH,16,1096.683,-166.0892,58.71755,0,0,0,0,100,0), +(@PATH,17,1091.595,-152.9597,61.3679,0,0,0,0,100,0), +(@PATH,18,1076.179,-141.7626,61.18819,0,0,0,0,100,0), +(@PATH,19,1060.637,-145.9161,61.39425,0,0,0,0,100,0), +(@PATH,20,1049.585,-171.0794,58.53699,0,0,0,0,100,0), +(@PATH,21,1055.467,-188.91,58.98404,0,0,0,0,100,0), +(@PATH,22,1073.328,-198.439,59.93514,0,0,0,0,100,0), +(@PATH,23,1083.423,-195.8686,59.93195,0,0,0,0,100,0), +(@PATH,24,1095.775,-180.6299,58.52916,0,0,0,0,100,0), +(@PATH,25,1096.451,-166.0939,58.80622,0,0,0,0,100,0), +(@PATH,26,1091.409,-152.9162,61.46411,0,0,0,0,100,0), +(@PATH,27,1076.1,-141.8916,61.18857,0,0,0,0,100,0), +(@PATH,28,1060.651,-145.9504,61.40473,0,0,0,0,100,0), +(@PATH,29,1049.581,-171.0241,58.53423,0,0,0,0,100,0), +(@PATH,30,1055.498,-188.95,59.02743,0,0,0,0,100,0), +(@PATH,31,1073.29,-198.3899,60.07246,0,0,0,0,100,0), +(@PATH,32,1083.527,-195.7341,59.79642,0,0,0,0,100,0), +(@PATH,33,1095.63,-180.5483,58.69926,0,0,0,0,100,0), +(@PATH,34,1096.488,-165.9498,58.67723,0,0,0,0,100,0), +(@PATH,35,1091.622,-152.8619,61.2616,0,0,0,0,100,0), +(@PATH,36,1076.115,-141.9001,61.18835,0,0,0,0,100,0), +(@PATH,37,1060.789,-145.8449,61.36668,0,0,0,0,100,0), +(@PATH,38,1049.622,-171.201,58.53172,0,0,0,0,100,0), +(@PATH,39,1055.608,-188.9287,58.85689,0,0,0,0,100,0), +(@PATH,40,1073.355,-198.4655,59.88638,0,0,0,0,100,0), +(@PATH,41,1083.45,-195.9156,59.8475,0,0,0,0,100,0), +(@PATH,42,1095.778,-180.6123,58.73478,0,0,0,0,100,0), +(@PATH,43,1096.679,-166.0957,58.71638,0,0,0,0,100,0), +(@PATH,44,1091.597,-152.9846,61.35995,0,0,0,0,100,0), +(@PATH,45,1076.191,-141.7885,61.1882,0,0,0,0,100,0), +(@PATH,46,1060.679,-145.9348,61.39341,0,0,0,0,100,0), +(@PATH,47,1049.618,-171.0668,58.53717,0,0,0,0,100,0), +(@PATH,48,1055.49,-188.8295,58.96278,0,0,0,0,100,0), +(@PATH,49,1073.294,-198.3665,59.92146,0,0,0,0,100,0), +(@PATH,50,1083.419,-195.9023,59.84375,0,0,0,0,100,0), +(@PATH,51,1095.709,-180.6607,58.52328,0,0,0,0,100,0), +(@PATH,52,1096.673,-166.108,58.71417,0,0,0,0,100,0), +(@PATH,53,1091.596,-152.9702,61.36453,0,0,0,0,100,0), +(@PATH,54,1076.134,-141.7107,61.1886,0,0,0,0,100,0), +(@PATH,55,1060.718,-145.7299,61.40303,0,0,0,0,100,0), +(@PATH,56,1049.66,-170.9935,58.53466,0,0,0,0,100,0), +(@PATH,57,1055.598,-189.0659,59.09127,0,0,0,0,100,0), +(@PATH,58,1073.295,-198.3694,59.92171,0,0,0,0,100,0), +(@PATH,59,1083.648,-195.8578,59.9237,0,0,0,0,100,0), +(@PATH,60,1095.808,-180.5819,58.69283,0,0,0,0,100,0), +(@PATH,61,1096.681,-166.0555,58.68321,0,0,0,0,100,0), +(@PATH,62,1091.416,-153.0063,61.45639,0,0,0,0,100,0), +(@PATH,63,1076.171,-141.768,61.18841,0,0,0,0,100,0), +(@PATH,64,1060.65,-145.894,61.35575,0,0,0,0,100,0), +(@PATH,65,1049.462,-171.1664,58.5322,0,0,0,0,100,0), +(@PATH,66,1055.634,-188.8381,58.83295,0,0,0,0,100,0), +(@PATH,67,1073.464,-198.508,59.93453,0,0,0,0,100,0), +(@PATH,68,1083.448,-195.6998,59.78678,0,0,0,0,100,0), +(@PATH,69,1095.786,-180.5919,58.69092,0,0,0,0,100,0), +(@PATH,70,1096.673,-166.0698,58.68402,0,0,0,0,100,0), +(@PATH,71,1091.631,-152.9937,61.25031,0,0,0,0,100,0), +(@PATH,72,1076.178,-141.7825,61.18841,0,0,0,0,100,0), +(@PATH,73,1060.676,-145.9058,61.35313,0,0,0,0,100,0), +(@PATH,74,1049.458,-171.1682,58.53218,0,0,0,0,100,0), +(@PATH,75,1055.627,-188.8615,58.83912,0,0,0,0,100,0), +(@PATH,76,1070.503,-200.296,61.23225,0,0,0,0,100,0); +-- 0x1C16DC4B401C2980000A1E0001563CBC .go 1096.845 -166.1139 58.68692 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126938; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126938, 126938, 0, 0, 2, 0, 0), +(126938, 126937, 5, 90, 2, 0, 0); + +-- Pathing for Entry: 28838 'TDB FORMAT' +SET @NPC := 126935; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1049.899,`position_y`=-99.5955,`position_z`=59.38226 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,1049.899,-99.5955,59.38226,0,0,0,0,100,0), +(@PATH,2,1050.742,-83.34245,58.92643,0,0,0,0,100,0), +(@PATH,3,1055.898,-75.28898,59.04939,0,0,0,0,100,0), +(@PATH,4,1066.186,-64.55377,61.31993,0,0,0,0,100,0), +(@PATH,5,1083.335,-68.16859,59.77402,0,0,0,0,100,0), +(@PATH,6,1095.981,-92.44127,57.85799,0,0,0,0,100,0), +(@PATH,7,1097.756,-106.9242,61.43462,0,0,0,0,100,0), +(@PATH,8,1097.813,-109.0895,61.5177,0,0,0,0,100,0), +(@PATH,9,1073.511,-124.8458,61.22898,0,0,0,0,100,0), +(@PATH,10,1063.165,-119.7333,61.23046,0,0,0,0,100,0), +(@PATH,11,1052.941,-108.3153,61.3854,0,0,0,0,100,0); +-- 0x1C307C4B401C29800002170000D672BB .go 1049.899 -99.5955 59.38226 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126935; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126935, 126935, 0, 0, 2, 0, 0), +(126935, 126936, 5, 270, 2, 0, 0); + +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=29048; +UPDATE `creature` SET `spawndist`=40 WHERE `id`=29048; + +-- Pathing for Entry: 28835 'TDB FORMAT' +SET @NPC := 126892; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1053.155,`position_y`=78.30748,`position_z`=61.44365 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,1053.155,78.30748,61.44365,0,0,0,0,100,0), +(@PATH,2,1050.469,75.66108,61.44365,0,0,0,0,100,0), +(@PATH,3,1034.158,48.75368,59.26595,0,0,0,0,100,0), +(@PATH,4,1033.885,12.18762,61.27556,0,0,0,0,100,0), +(@PATH,5,1041.208,0.1274123,61.39244,0,0,0,0,100,0), +(@PATH,6,1052.702,-9.815857,61.43917,0,0,0,0,100,0), +(@PATH,7,1053.008,-10.01389,61.44186,0,0,0,0,100,0), +(@PATH,8,1041.027,0.347192,61.39876,0,0,0,0,100,0), +(@PATH,9,1032.457,20.25849,58.73366,0,0,0,0,100,0), +(@PATH,10,1050.469,75.66108,61.44365,0,0,0,0,100,0), +(@PATH,11,1034.158,48.75368,59.26595,0,0,0,0,100,0); +-- 0x1C307C4B401C28C000021700015672BB .go 1053.155 78.30748 61.44365 + +-- Pathing for Entry: 28920 'TDB FORMAT' +SET @NPC := 126984; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1098.968,`position_y`=19.55447,`position_z`=53.64101 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,1098.968,19.55447,53.64101,0,0,0,0,100,0), +(@PATH,2,1080.878,7.88341,53.63377,0,0,0,0,100,0), +(@PATH,3,1066.863,12.70812,53.63047,0,0,0,0,100,0), +(@PATH,4,1078.049,8.259874,53.6311,0,0,0,0,100,0), +(@PATH,5,1091.877,12.4073,53.63206,0,0,0,0,100,0); +-- 0x1C307C4B401C3E0000021700005672BB .go 1098.968 19.55447 53.64101 + +-- Pathing for Entry: 28920 'TDB FORMAT' +SET @NPC := 126983; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1098.049,`position_y`=54.05235,`position_z`=53.65234 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,1098.049,54.05235,53.65234,0,0,0,0,100,0), +(@PATH,2,1085.831,60.05393,53.65328,0,0,0,0,100,0), +(@PATH,3,1067.126,53.06633,53.64429,0,0,0,0,100,0), +(@PATH,4,1068.714,55.26102,53.64336,0,0,0,0,100,0), +(@PATH,5,1090.947,60.23857,53.65356,0,0,0,0,100,0), +(@PATH,6,1100.346,51.25973,53.65813,0,0,0,0,100,0); +-- 0x1C307C4B401C3E000002170000D672BB .go 1098.049 54.05235 53.65234 diff --git a/sql/updates/world/2015_02_09_08_world.sql b/sql/updates/world/2015_02_09_08_world.sql new file mode 100644 index 00000000000..4699da2c181 --- /dev/null +++ b/sql/updates/world/2015_02_09_08_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (21440, 21438, 21437, 21436, 21439); diff --git a/sql/updates/world/2015_02_09_09_world.sql b/sql/updates/world/2015_02_09_09_world.sql new file mode 100644 index 00000000000..ef2b8bb9b1d --- /dev/null +++ b/sql/updates/world/2015_02_09_09_world.sql @@ -0,0 +1,2 @@ +-- Update rotation of Ru'zah +UPDATE `creature` SET `orientation`=5.026751 WHERE `guid`=74329; diff --git a/sql/updates/world/2015_02_09_10_world.sql b/sql/updates/world/2015_02_09_10_world.sql new file mode 100644 index 00000000000..67fd1112e47 --- /dev/null +++ b/sql/updates/world/2015_02_09_10_world.sql @@ -0,0 +1,32 @@ +-- +/* SAI for Burning Exile */ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=2760; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2760; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2760, 0, 0, 0, 8, 0, 100, 0, 4130, 0, 0, 0, 41, 500, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Burning Exile - on spellhit - Despawn'); + +/* SAI for Cresting Exile */ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=2761; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2761; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2761, 0, 0, 0, 1, 0, 100, 1, 1000, 1000, 1800000, 1800000, 11, 12544, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cresting Exile - Out Of Combat - Cast Frost Armor'), +(2761, 0, 1, 0, 0, 0, 100, 0, 1400, 7300, 25600, 32300, 11, 865, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Cresting Exile - In Combat - Cast Frost Nova'), +(2761, 0, 2, 0, 8, 0, 100, 0, 4131, 0, 0, 0, 41, 500, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Cresting Exile - on spellhit - Despawn'); + +/* SAI for Thundering Exile */ +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=2762; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2762; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2762, 0, 0, 0, 1, 0, 100, 1, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - Out Of Combat - Allow Combat Movement'), +(2762, 0, 1, 2, 4, 0, 100, 0, 0, 0, 0, 0, 11, 9532, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - On Aggro - Cast Lightning Bolt'), +(2762, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - On Aggro - Increment Phase'), +(2762, 0, 3, 0, 9, 0, 100, 0, 0, 40, 3300, 6600, 11, 9532, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 0 - 40 Range - Cast Lightning Bolt'), +(2762, 0, 4, 5, 3, 0, 100, 0, 0, 15, 0, 0, 21, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 15% Mana - Allow Combat Movement'), +(2762, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 15% Mana - Increment Phase'), +(2762, 0, 6, 0, 9, 0, 100, 1, 35, 80, 0, 0, 21, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 35 - 80 Range - Allow Combat Movement'), +(2762, 0, 7, 0, 9, 0, 100, 1, 0, 5, 0, 0, 21, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 0 - 5 Range - Allow Combat Movement'), +(2762, 0, 8, 0, 9, 0, 100, 0, 5, 15, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 5 - 15 Range - Allow Combat Movement'), +(2762, 0, 9, 10, 3, 0, 100, 0, 30, 100, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 100% Mana - Allow Combat Movement'), +(2762, 0, 10, 0, 61, 0, 100, 0, 0, 0, 0, 0, 23, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - At 100% Mana - Increment Phase'), +(2762, 0, 11, 0, 0, 0, 100, 0, 1600, 15100, 18900, 25400, 11, 11824, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - In Combat - Cast Shock'), +(2762, 0, 12, 0, 8, 0, 100, 0, 4132, 0, 0, 0, 41, 500, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thundering Exile - on spellhit - Despawn'); diff --git a/sql/updates/world/2015_02_09_11_world.sql b/sql/updates/world/2015_02_09_11_world.sql new file mode 100644 index 00000000000..d0838a1b31d --- /dev/null +++ b/sql/updates/world/2015_02_09_11_world.sql @@ -0,0 +1,252 @@ +-- Theradrim Shardling SAI +SET @ENTRY := 11783; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,50,0,0,5,7000,11000,11,13584,0,0,0,0,0,2,0,0,0,0,0,0,0,"Theradrim Shardling - Within 0-5 Range - Cast 'Strike'"), +(@ENTRY,0,1,0,54,0,100,0,0,0,0,0,29,2,90,0,0,0,0,19,11784,10,0,0,0,0,0,"Theradrim Shardling - On Just Summoned - Start Follow Closest Creature 'Theradrim Guardian'"); + +-- Theradrim Guardian SAI +SET @ENTRY := 11784; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,2,0,5,7000,12000,11,16790,0,0,0,0,0,2,0,0,0,0,0,0,0,"Theradrim Guardian - Within 0-5 Range - Cast 'Knockdown' (Normal Dungeon)"), +(@ENTRY,0,1,0,1,0,100,3,1000,1000,0,0,11,21057,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theradrim Guardian - Out of Combat - Cast 'Summon Theradrim Shardling' (No Repeat) (Normal Dungeon)"); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=55465; +DELETE FROM `creature_addon` WHERE `guid`=55465; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(55465, 554650, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=554650; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(554650, 1, 248.538, -93.024, -129.62, 0, 0, 0, 0, 100, 0), +(554650, 2, 219.021, -92.1171, -129.607, 0, 0, 0, 0, 100, 0), +(554650, 3, 258.14, -97.1733, -129.619, 0, 0, 0, 0, 100, 0), +(554650, 4, 246.967, -145.304, -130.844, 0, 0, 0, 0, 100, 0), +(554650, 5, 213.934, -199.873, -131.159, 0, 0, 0, 0, 100, 0), +(554650, 6, 248.627, -140.739, -131.005, 0, 0, 0, 0, 100, 0), +(554650, 7, 259.8, -98.2245, -129.619, 0, 0, 0, 0, 100, 0); + +DELETE FROM `creature` WHERE `guid` IN (55466, 56518, 56516, 56517, 56504, 56502, 56505, 56503, 56488, 56487, 56486, 88993, 88991, 88990, 88992, 56343, 56341, 55472); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=55471; +DELETE FROM `creature_addon` WHERE `guid`=55471; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(55471, 554710, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=554710; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(554710, 1, 200.354, -133.505, -101.058, 0, 0, 0, 0, 100, 0), +(554710, 2, 230.841, -109.688, -88.8687, 0, 0, 0, 0, 100, 0), +(554710, 3, 278.173, -121.002, -83.4807, 0, 0, 0, 0, 100, 0), +(554710, 4, 300.187, -149.075, -69.7502, 0, 0, 0, 0, 100, 0), +(554710, 5, 298.76, -178.312, -59.8991, 0, 0, 0, 0, 100, 0), +(554710, 6, 299.577, -148.794, -69.9433, 0, 0, 0, 0, 100, 0), +(554710, 7, 276.408, -121.048, -83.6496, 0, 0, 0, 0, 100, 0), +(554710, 8, 226.955, -112.811, -89.7437, 0, 0, 0, 0, 100, 0), +(554710, 9, 199.686, -134.684, -101.541, 0, 0, 0, 0, 100, 0), +(554710, 10, 183.329, -185.544, -111.375, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=88989; +DELETE FROM `creature_addon` WHERE `guid`=88989; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(88989, 889890, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=889890; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(889890, 1, 109.037, -268.553, -108.677, 0, 0, 0, 0, 100, 0), +(889890, 2, 151.884, -275.712, -108.677, 0, 0, 0, 0, 100, 0), +(889890, 3, 143.666, -231.173, -108.852, 0, 0, 0, 0, 100, 0), +(889890, 4, 156.17, -275.286, -108.676, 0, 0, 0, 0, 100, 0), +(889890, 5, 138.876, -278.577, -108.676, 0, 0, 0, 0, 100, 0), +(889890, 6, 79.5604, -259.988, -108.678, 0, 0, 0, 0, 100, 0), +(889890, 7, 62.416, -207.188, -109.659, 0, 0, 0, 0, 100, 0), +(889890, 8, 8.187, -127.348, -123.845, 0, 0, 0, 0, 100, 0), +(889890, 9, 28.705, -38.025, -128.761, 0, 0, 0, 0, 100, 0), +(889890, 10, 8.187, -127.348, -123.845, 0, 0, 0, 0, 100, 0), +(889890, 11, 62.416, -207.188, -109.659, 0, 0, 0, 0, 100, 0), +(889890, 12, 79.0383, -255.555, -108.677, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=56485; +DELETE FROM `creature_addon` WHERE `guid`=56485; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(56485, 564850, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=564850; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(564850, 1, 150.49, -193.898, -171.747, 0, 0, 0, 0, 100, 0), +(564850, 2, 152.233, -231.891, -170.382, 0, 0, 0, 0, 100, 0), +(564850, 3, 125.841, -257.66, -168.113, 0, 0, 0, 0, 100, 0), +(564850, 4, 155.987, -284.034, -168.989, 0, 0, 0, 0, 100, 0), +(564850, 5, 148.455, -238.759, -169.543, 0, 0, 0, 0, 100, 0), +(564850, 6, 155.062, -199.53, -171.957, 0, 0, 0, 0, 100, 0), +(564850, 7, 104.937, -185.658, -167.457, 0, 0, 0, 0, 100, 0), +(564850, 8, 100.198, -176.082, -167.457, 0, 0, 0, 0, 100, 0), +(564850, 9, 111.893, -160.596, -167.328, 0, 0, 0, 0, 100, 0), +(564850, 10, 121.304, -176.939, -167.457, 0, 0, 0, 0, 100, 0), +(564850, 11, 128.284, -191.12, -168.26, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=56501; +DELETE FROM `creature_addon` WHERE `guid`=56501; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(56501, 565010, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=565010; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(565010, 1, 177.079, -304.031, -172.328, 0, 0, 0, 0, 100, 0), +(565010, 2, 146.519, -316.403, -174.591, 0, 0, 0, 0, 100, 0), +(565010, 3, 153.733, -376.576, -175.003, 0, 0, 0, 0, 100, 0), +(565010, 4, 211.381, -381.672, -160.691, 0, 0, 0, 0, 100, 0), +(565010, 5, 156.615, -376.11, -175.002, 0, 0, 0, 0, 100, 0), +(565010, 6, 148.461, -317.13, -174.589, 0, 0, 0, 0, 100, 0); + + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=56515; +DELETE FROM `creature_addon` WHERE `guid`=56515; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(56515, 565150, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=565150; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(565150, 1, 312.737, -343.241, -117.348, 0, 0, 0, 0, 100, 0), +(565150, 2, 328.91, -288.013, -118.069, 0, 0, 0, 0, 100, 0), +(565150, 3, 320.637, -268.75, -117.912, 0, 0, 0, 0, 100, 0), +(565150, 4, 337.697, -262.309, -118.049, 0, 0, 0, 0, 100, 0), +(565150, 5, 345.634, -276.933, -117.941, 0, 0, 0, 0, 100, 0), +(565150, 6, 331.665, -290.395, -118.061, 0, 0, 0, 0, 100, 0), +(565150, 7, 317.848, -331.827, -116.777, 0, 0, 0, 0, 100, 0), +(565150, 8, 325.14, -394.223, -124.867, 0, 0, 0, 0, 100, 0), +(565150, 9, 250.345, -396.668, -139.555, 0, 0, 0, 0, 100, 0), +(565150, 10, 256.965, -328.427, -140.451, 0, 0, 0, 0, 100, 0), +(565150, 11, 251.778, -396.72, -139.555, 0, 0, 0, 0, 100, 0), +(565150, 12, 319.125, -403.751, -124.866, 0, 0, 0, 0, 100, 0); + +SET @GUID := 160506; +SET @ENTRY := 1211; +-- Placed NPC 12237 (Meshlok the Harvester) into a pool with its placeholder +DELETE FROM `pool_creature` WHERE `guid` IN (@GUID, @GUID +3, 54652); +INSERT INTO `pool_creature` VALUES +(@GUID, @ENTRY, 30, 'Meshlok the Harvester (Maraudon)'), +(@GUID + 3, @ENTRY, 0, 'Meshlok the Harvester placeholder (Maraudon)'), +(54652, @ENTRY, 0, 'Meshlok the Harvester placeholder (Maraudon)'); + +DELETE FROM `pool_template` WHERE `entry` = @ENTRY; +INSERT INTO `pool_template` VALUES +(@ENTRY, 1, 'Meshlok the Harvester (Maraudon)'); + +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID + 7; +INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `VerifiedBuild`) VALUES +(@GUID, 12237, 349, 0, 0, 1, 1, 0, 1, 632.101, -92.409, -57.4999, 3.49563, 7200, 0, 0, 5757, 0, 0, 0, 0, 0, 0), +(@GUID + 1, 12224, 349, 0, 0, 1, 1, 0, 1, 748.725, -81.8362, -57.4696, 0.620471, 7200, 0, 0, 4434, 2301, 0, 0, 0, 0, 0), +(@GUID + 2, 12224, 349, 0, 0, 1, 1, 0, 1, 632.101, -92.409, -57.4999, 3.49563, 7200, 0, 0, 4434, 2301, 0, 0, 0, 0, 0), +(@GUID + 3, 12224, 349, 0, 0, 1, 1, 0, 1, 818.573, -215.097, -77.1489, 4.14281, 7200, 0, 0, 4434, 2301, 0, 0, 0, 0, 0), +(@GUID + 4, 12224, 349, 0, 0, 1, 1, 0, 1, 813.453, -370.449, -59.2094, 6.02488, 7200, 0, 0, 4434, 2301, 0, 0, 0, 0, 0), +(@GUID + 5, 12224, 349, 0, 0, 1, 1, 0, 1, 719.899, -83.8715, -57.2155, 3.48941, 7200, 0, 0, 4434, 2301, 0, 0, 0, 0, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=@GUID + 1; +DELETE FROM `creature_addon` WHERE `guid`=@GUID + 1; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@GUID+1, (@GUID+1) * 10, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=(@GUID+1) * 10; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +((@GUID+1) * 10, 1, 747.806, -79.9688, -57.4744, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 2, 750.866, -86.8807, -57.4595, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 3, 741.016, -94.8653, -57.4978, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 4, 745.803, -84.0748, -57.4833, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 5, 738.607, -70.5452, -57.4977, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 6, 751.253, -70.6902, -57.3912, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 7, 744.367, -78.7708, -57.4887, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 8, 756.588, -80.4979, -57.3727, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 9, 736.461, -89.3428, -57.4996, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 10, 734.7, -80.3283, -57.4996, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 11, 744.209, -79.5844, -57.4915, 0, 0, 0, 0, 100, 0), +((@GUID+1) * 10, 12, 734.044, -71.701, -57.4977, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=@GUID + 2; +DELETE FROM `creature_addon` WHERE `guid`=@GUID + 2; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@GUID+2, (@GUID+2) * 10, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=(@GUID+2) * 10; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +((@GUID+2) * 10, 1, 632.101, -92.409, -57.4999, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 2, 642.895, -89.225, -57.4999, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 3, 654.193, -88.5337, -57.4999, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 4, 666.728, -91.7718, -57.4999, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 5, 675.549, -93.9197, -57.4999, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 6, 690.764, -89.7546, -57.4999, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 7, 702.83, -84.753, -57.4631, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 8, 715.159, -83.791, -57.1193, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 9, 708.503, -83.9885, -57.2554, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 10, 699.353, -86.647, -57.5, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 11, 681.834, -93.4817, -57.5, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 12, 674.938, -93.0037, -57.5, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 13, 665.508, -90.6338, -57.5, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 14, 652.935, -87.6942, -57.5, 0, 0, 0, 0, 100, 0), +((@GUID+2) * 10, 15, 634.167, -92.0013, -57.5, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=@GUID + 3; +DELETE FROM `creature_addon` WHERE `guid`=@GUID + 3; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@GUID+3, (@GUID+3) * 10, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=(@GUID+3) * 10; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +((@GUID+3) * 10, 1, 818.873, -216.343, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 2, 813.487, -210.328, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 3, 806.875, -204.634, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 4, 804.811, -193.5, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 5, 806.356, -184.124, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 6, 813.319, -173.6, -77.2995, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 7, 808.847, -175.006, -77.3074, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 8, 805.501, -182.277, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 9, 804.538, -193.051, -77.1489, 0, 0, 0, 0, 100, 0), +((@GUID+3) * 10, 10, 807.906, -203.501, -77.1489, 0, 0, 0, 0, 100, 0); + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=203506; +DELETE FROM `creature_addon` WHERE `guid`=203506; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(203506, 203506 * 10, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=203506 * 10; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(203506 * 10, 1, 632.101, -92.409, -57.4999, 0, 0, 0, 0, 100, 0), +(203506 * 10, 2, 642.895, -89.225, -57.4999, 0, 0, 0, 0, 100, 0), +(203506 * 10, 3, 654.193, -88.5337, -57.4999, 0, 0, 0, 0, 100, 0), +(203506 * 10, 4, 666.728, -91.7718, -57.4999, 0, 0, 0, 0, 100, 0), +(203506 * 10, 5, 675.549, -93.9197, -57.4999, 0, 0, 0, 0, 100, 0), +(203506 * 10, 6, 690.764, -89.7546, -57.4999, 0, 0, 0, 0, 100, 0), +(203506 * 10, 7, 702.83, -84.753, -57.4631, 0, 0, 0, 0, 100, 0), +(203506 * 10, 8, 715.159, -83.791, -57.1193, 0, 0, 0, 0, 100, 0), +(203506 * 10, 9, 708.503, -83.9885, -57.2554, 0, 0, 0, 0, 100, 0), +(203506 * 10, 10, 699.353, -86.647, -57.5, 0, 0, 0, 0, 100, 0), +(203506 * 10, 11, 681.834, -93.4817, -57.5, 0, 0, 0, 0, 100, 0), +(203506 * 10, 12, 674.938, -93.0037, -57.5, 0, 0, 0, 0, 100, 0), +(203506 * 10, 13, 665.508, -90.6338, -57.5, 0, 0, 0, 0, 100, 0), +(203506 * 10, 14, 652.935, -87.6942, -57.5, 0, 0, 0, 0, 100, 0), +(203506 * 10, 15, 634.167, -92.0013, -57.5, 0, 0, 0, 0, 100, 0); + +UPDATE `creature_template` SET `speed_walk`=0.3, `speed_run`=0.4 WHERE `entry`=12222; + +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=55118; +DELETE FROM `creature_addon` WHERE `guid`=55118; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(55118, 55118 * 10, 0, 0, 0, 0, ''); +DELETE FROM `waypoint_data` WHERE `id`=55118 * 10; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(55118 * 10, 1, 560.44, 74.1416, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 2, 556.001, 97.5598, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 3, 562.821, 116.938, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 4, 558.737, 80.2023, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 5, 567.894, 47.7771, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 6, 573.623, 24.1758, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 7, 583.107, 6.90322, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 8, 597.509, 5.07898, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 9, 600.013, 21.6183, -96.3128, 0, 0, 0, 0, 100, 0), +(55118 * 10, 10, 575.202, 46.2133, -96.3128, 0, 0, 0, 0, 100, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=55118; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(55118, 55118, 0, 0, 2, 0, 0), +(55118, 55115, 3, 0, 2, 0, 0), +(55118, 55116, 3, 70, 2, 0, 0), +(55118, 55117, 3, 290, 2, 0, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=54579; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(54579, 54579, 0, 0, 2, 0, 0), +(54579, 54675, 16, 270, 2, 0, 0), +(54579, 54676, 16, 90, 2, 0, 0); diff --git a/sql/updates/world/2015_02_09_12_world.sql b/sql/updates/world/2015_02_09_12_world.sql new file mode 100644 index 00000000000..0306b11fa79 --- /dev/null +++ b/sql/updates/world/2015_02_09_12_world.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `creature` WHERE guid=85587 AND `id`=17318; diff --git a/sql/updates/world/2015_02_09_13_world.sql b/sql/updates/world/2015_02_09_13_world.sql new file mode 100644 index 00000000000..96d4237bd0d --- /dev/null +++ b/sql/updates/world/2015_02_09_13_world.sql @@ -0,0 +1,43 @@ +-- +UPDATE `creature_template` SET `unit_flags`=0, `flags_extra`=0, `npcflag`=0 WHERE `entry`=17587; +-- Timberstrider Fledgling SAI +SET @ENTRY := 17372; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,0,0,0,0,45,1,1,0,0,0,0,19,17587,10,0,0,0,0,0,"Timberstrider Fledgling - On Just Died - Set Data 1 1"); + +-- Draenei Youngling SAI +SET @ENTRY := 17587; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,3,1,0,100,0,60000,60000,60000,60000,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - Out of Combat - Set Event Phase 0"), +(@ENTRY,0,1,0,8,0,100,0,28880,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"), +(@ENTRY,0,2,0,38,1,100,0,1,1,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Data Set 1 1 - Set Npc Flag Questgiver (Phase 1)"), +(@ENTRY,0,3,0,61,0,100,0,60000,60000,60000,60000,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - Out of Combat - Set Npc Flag "), +(@ENTRY,0,5,0,8,0,100,0,59547,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"), +(@ENTRY,0,6,0,8,0,100,0,59545,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"), +(@ENTRY,0,7,0,8,0,100,0,59544,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"), +(@ENTRY,0,8,0,8,0,100,0,59542,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"), +(@ENTRY,0,9,0,8,0,100,0,59548,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"), +(@ENTRY,0,10,0,8,0,100,0,59543,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Spellhit 'Gift of the Naaru' - Set Event Phase 1"); + +DELETE FROM `creature_text` WHERE `entry`IN (17587); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES +(17587,0,0, 'Help! I think this creature might be too tough for me to handle alone.',12,35,100,0,0,0, '17587',14167), -- player IC_LOS +(17587,0,1, 'Can anyone hear me? I need help! This creature is going to kill me!',12,35,100,0,0,0, '17587',14168), -- player IC_LOS +(17587,0,2, 'I can''t hold it off any longer! Tell the exarch that I gave it my best.',12,35,100,0,0,0, '17587',14169), -- player IC_LOS +(17587,1,0, 'Thanks again!',12,35,100,0,0,0, '17587',14170), -- heal received +(17587,1,1, 'Thanks for the heal, $n!',12,35,100,0,0,0, '17587',14166), -- heal received +(17587,2,0, 'Another victory for the Draenei!',12,35,100,0,0,0, '17587',14171), -- target dies +(17587,2,1, 'Another infected beast destroyed!',12,35,100,0,0,0, '17587',14172), -- target dies +(17587,2,2, 'Hah! This is easy.',12,35,100,0,0,0, '17587',14174), -- target dies +(17587,2,3, 'How could you think yourself a match for the draenei champion!',12,35,100,0,0,0, '17587',14173), -- target dies +(17587,3,0, 'Kill as many infected nightstalkers as I can find... This should be easy.',12,35,100,0,0,0, '17587',14165), -- random ooc +(17587,3,1, 'I''m supposed to be hunting infected nightstalkers... This should be easy.',12,35,100,0,0,0, '17587',14175), -- random ooc +(17587,3,2, 'Where in the nether are these damnable lashers??',12,35,100,0,0,0, '17587',14176), -- random ooc +(17587,3,3, 'Hrm, azure snapdragons? Where do they come up with these names? Daedal has gone mad!',12,35,100,0,0,0, '17587',14177), -- random ooc +(17587,3,4, 'These stags look nothing like talbuks.',12,35,100,0,0,0, '17587',14178), -- random ooc +(17587,3,5, 'I wonder what that little purple creature at the village is... It''s certainly beautiful.',12,35,100,0,0,0, '17587',14179), -- random ooc +(17587,4,0, 'Time to meet your maker, $n!',12,35,100,0,0,0, '17587',14180); -- on aggro diff --git a/sql/updates/world/2015_02_09_14_world.sql b/sql/updates/world/2015_02_09_14_world.sql new file mode 100644 index 00000000000..4a2d1bba7df --- /dev/null +++ b/sql/updates/world/2015_02_09_14_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `item_template` SET `HolidayId`=423, `ScriptName`='' WHERE `entry`=49867; diff --git a/sql/updates/world/2015_02_09_15_world.sql b/sql/updates/world/2015_02_09_15_world.sql new file mode 100644 index 00000000000..d2495cf0270 --- /dev/null +++ b/sql/updates/world/2015_02_09_15_world.sql @@ -0,0 +1 @@ +DELETE FROM `skill_discovery_template` WHERE `spellId`=54020 AND `reqSpell`=60893; diff --git a/sql/updates/world/2015_02_10_00_world.sql b/sql/updates/world/2015_02_10_00_world.sql new file mode 100644 index 00000000000..bfa25d8982b --- /dev/null +++ b/sql/updates/world/2015_02_10_00_world.sql @@ -0,0 +1,18 @@ +-- Magmoth Shaman SAI +SET @ENTRY := 25428; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,5,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magmoth Shaman - On Aggro - Say Line 0 (No Repeat)"), +(@ENTRY,0,1,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Magmoth Shaman - Between 0-15% Health - Flee For Assist (No Repeat)"), +(@ENTRY,0,2,0,25,0,100,0,0,0,0,0,11,45575,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magmoth Shaman - On Reset - Cast 'Magmoth Fire Totem'"); + +-- Magmoth Fire Totem SAI +SET @ENTRY := 25444; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magmoth Fire Totem - On Just Summoned - Enable Combat Movement"), +(@ENTRY,0,1,0,0,0,100,0,3000,4000,4000,4000,11,45580,0,0,0,0,0,2,0,0,0,0,0,0,0,"Magmoth Fire Totem - In Combat - Cast 'Fireball'"), +(@ENTRY,0,2,0,1,0,100,0,100,100,20000,20000,11,45576,0,0,0,0,0,19,24021,30,0,0,0,0,0,"Magmoth Fire Totem - Out of Combat - Cast 'Cosmetic - New Fire Beam Channel (Mouth)'"), +(@ENTRY,0,3,0,7,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magmoth Fire Totem - On Evade - Despawn Instant"); diff --git a/sql/updates/world/2015_02_10_01_world.sql b/sql/updates/world/2015_02_10_01_world.sql new file mode 100644 index 00000000000..835ac05343b --- /dev/null +++ b/sql/updates/world/2015_02_10_01_world.sql @@ -0,0 +1,12 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=45465; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 45465, 0, 0, 31, 0, 3, 24862, 0, 0, 0, 0, '', 'Mage Hunter Channel - targets Bunny'); + +-- Beryl Treasure Hunter SAI +SET @ENTRY := 25353; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,1000,12500,15500,11,50658,0,0,0,0,0,2,0,0,0,0,0,0,0,"Beryl Treasure Hunter - In Combat - Cast 'Focus Beam'"), +(@ENTRY,0,1,0,1,0,100,0,5000,5000,15000,15000,11,45465,0,0,0,0,0,19,24862,60,0,0,0,0,0,"Beryl Treasure Hunter - Out of Combat - Cast 'Mage Hunter Channel'"); diff --git a/sql/updates/world/2015_02_10_02_world.sql b/sql/updates/world/2015_02_10_02_world.sql new file mode 100644 index 00000000000..62c0f960123 --- /dev/null +++ b/sql/updates/world/2015_02_10_02_world.sql @@ -0,0 +1,41 @@ +-- Kvaldir Mist Lord SAI +SET @GUID := -110298; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=25496; +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,25,0,100,0,0,0,0,0,53,0,2549600,1,0,0,2,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Reset - Start Waypoint"), +(@GUID,0,1,0,40,0,100,0,2,2549600,0,0,80,2549600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Waypoint 2 Reached - Run Script"), +(@GUID,0,2,0,40,0,100,0,4,2549600,0,0,80,2549600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Waypoint 4 Reached - Run Script"), +(@GUID,0,3,0,40,0,100,0,6,2549600,0,0,80,2549600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Waypoint 6 Reached - Run Script"), +(@GUID,0,4,0,40,0,100,0,8,2549600,0,0,80,2549600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Waypoint 8 Reached - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 2549600; +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,54,7000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Script - Pause Waypoint"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,10,110382,25242,0,0,0,0,0,"Kvaldir Mist Lord - On Script - Set Orientation Closest Creature 'Warsong Battleguard'"), +(@ENTRY,9,2,0,0,0,100,0,1000,1000,0,0,5,53,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Script - Play Emote 53"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kvaldir Mist Lord - On Script - Say Line 0"), +(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,11,45667,0,0,0,0,0,19,25244,50,0,0,0,0,0,"Kvaldir Mist Lord - On Script - Cast 'Torch Corpse'"); + +DELETE FROM `waypoints` WHERE `entry`=2549600; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(2549600, 1, 2943.3, 6805.71, 6.86362, 'Kvaldir Mist Lord'), +(2549600, 2, 2946.38, 6808.99, 6.89997, 'Kvaldir Mist Lord'), +(2549600, 3, 2952.22, 6815.03, 5.49191, 'Kvaldir Mist Lord'), +(2549600, 4, 2956.26, 6811.33, 5.7004, 'Kvaldir Mist Lord'), +(2549600, 5, 2959.27, 6809.55, 5.73998, 'Kvaldir Mist Lord'), +(2549600, 6, 2958.56, 6804.6, 6.10027, 'Kvaldir Mist Lord'), +(2549600, 7, 2958.36, 6799.58, 6.55177, 'Kvaldir Mist Lord'), +(2549600, 8, 2953.32, 6798.66, 6.69609, 'Kvaldir Mist Lord'); + +DELETE FROM `creature_text` WHERE `entry`=25496; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(25496, 0, 0, 'You are dismissed, $n.', 12, 0, 100, 113, 0, 0, 1242, 0, 'Marshal McBride'); + +DELETE FROM `creature_text` WHERE `entry`=25496; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(25496, 0, 0, 'Become ashes in the mist!', 12, 0, 50, 53, 0, 0, 24719, 'Kvaldir Mist Lord'), +(25496, 0, 1, 'The subjugation of these people has only just begun... so much time for fun and games.', 12, 0, 50, 53, 0, 0, 24718, 'Kvaldir Mist Lord'), +(25496, 0, 2, 'Burn, land dweller! BURN!', 12, 0, 50, 53, 0, 0, 24717, 'Kvaldir Mist Lord'); diff --git a/sql/updates/world/2015_02_10_03_world.sql b/sql/updates/world/2015_02_10_03_world.sql new file mode 100644 index 00000000000..6b2ed183c1d --- /dev/null +++ b/sql/updates/world/2015_02_10_03_world.sql @@ -0,0 +1,7 @@ +-- Fireguard Destroyer SAI +SET @ENTRY := 8911; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,2,0,30,9000,11000,11,15243,0,0,0,0,0,1,0,0,0,0,0,0,0,"Fireguard Destroyer - Within 0-30 Range - Cast 'Fireball Volley' (Normal Dungeon)"), +(@ENTRY,0,1,0,0,0,100,0,5000,8000,5000,8000,11,16788,64,0,0,0,0,2,0,0,0,0,0,0,0,"Fireguard Destroyer - In Combat - Cast 'Fireball'"); diff --git a/sql/updates/world/2015_02_10_04_world.sql b/sql/updates/world/2015_02_10_04_world.sql new file mode 100644 index 00000000000..27debf9fb46 --- /dev/null +++ b/sql/updates/world/2015_02_10_04_world.sql @@ -0,0 +1,15 @@ +-- +UPDATE `conditions` SET `ConditionValue1`=11332 WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9546 AND `SourceEntry`=1 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=9 AND `ConditionTarget`=0 AND `ConditionValue1`=12298 AND `ConditionValue2`=0 AND `ConditionValue3`=0; +UPDATE `gossip_menu_option` SET `npc_option_npcflag`=8195 WHERE `menu_id`=9546 AND `id`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid`=23859; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23859, 0, 0, 0, 4, 0, 100, 0, 0, 0, 0, 0, 80, 2385900, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Greer Orehammer - On aggro - Run Script'), +(23859, 0, 1, 0, 62, 0, 100, 0, 9546, 1, 0, 0, 56, 33634, 10, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Greer Orehammer - On gossip option select - give player 10 Orehammer\'s Precision Bombs'), +(23859, 0, 2, 0, 62, 0, 100, 0, 9546, 1, 0, 0, 52, 745, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Greer Orehammer - On gossip option select - Plague This Taxi Start'); + +-- New Agamand Plague Tank Bunny SAI +SET @ENTRY := 24290; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,43404,0,0,0,33,24290,0,0,0,0,0,7,0,0,0,0,0,0,0,"New Agamand Plague Tank Bunny - On Spellhit 'Mission: Plague This!: Orehammer's Precision Bombs Dummy' - Quest Credit 'Mission: Plague This!'"); diff --git a/sql/updates/world/2015_02_10_05_world.sql b/sql/updates/world/2015_02_10_05_world.sql new file mode 100644 index 00000000000..20c36c24585 --- /dev/null +++ b/sql/updates/world/2015_02_10_05_world.sql @@ -0,0 +1,911 @@ +-- Pathing for Entry: 25979 'TDB FORMAT' +SET @NPC := 107300; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3289.213,`position_y`=5620.369,`position_z`=51.0953 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,3289.213,5620.369,51.0953,0,0,0,0,100,0), +(@PATH,2,3289.156,5612.807,51.6523,0,0,0,0,100,0), +(@PATH,3,3285.626,5645.205,51.53279,0,0,0,0,100,0), +(@PATH,4,3283.541,5652.846,52.70237,0,0,0,0,100,0), +(@PATH,5,3280.611,5683.929,54.8549,0,0,0,0,100,0), +(@PATH,6,3303.37,5707.606,60.20351,0,0,0,0,100,0), +(@PATH,7,3282.027,5687.42,56.04992,0,0,0,0,100,0), +(@PATH,8,3279.962,5672.618,53.23326,0,0,0,0,100,0), +(@PATH,9,3284.723,5649.133,52.33985,0,0,0,0,100,0); +-- 0x1C09144760195EC000000C0000579A79 .go 3289.213 5620.369 51.0953 +-- Inquisitor Salrand SAI +SET @ENTRY := 25584; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=6; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,6,0,1,0,100,0,5000,5000,10000,10000,11,45777,0,0,0,0,0,10,119586,25594,0,0,0,0,0,"Inquisitor Salrand - Out of Combat - Cast 'Salrand's Beam'"); + +-- Pathing for Entry: 25217 'TDB FORMAT' +SET @NPC := 122872; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4113.013,`position_y`=6276.871,`position_z`=25.68058 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,4113.013,6276.871,25.68058,0,0,0,0,100,0), +(@PATH,2,4090.676,6280.604,27.56935,0,0,0,0,100,0), +(@PATH,3,4074.31,6276.669,26.26191,0,0,0,0,100,0), +(@PATH,4,4063.338,6284.883,23.54415,0,0,0,0,100,0), +(@PATH,5,4060.495,6308.033,24.63371,0,0,0,0,100,0), +(@PATH,6,4064.796,6325.54,25.33357,0,0,0,0,100,0), +(@PATH,7,4062.167,6349.621,24.96839,0,0,0,0,100,0), +(@PATH,8,4055.423,6363.151,27.49203,0,0,0,0,100,0), +(@PATH,9,4061.251,6351.451,25.36894,0,0,0,0,100,0), +(@PATH,10,4064.368,6335.375,25.38478,0,0,0,0,100,0), +(@PATH,11,4061.08,6310.811,24.90634,0,0,0,0,100,0), +(@PATH,12,4059.284,6298.654,24.53846,0,0,0,0,100,0), +(@PATH,13,4069.346,6279.003,24.92667,0,0,0,0,100,0), +(@PATH,14,4084.886,6280.17,27.70065,0,0,0,0,100,0), +(@PATH,15,4107.833,6280.248,25.45559,0,0,0,0,100,0); +-- 0x1C0914476018A04000000C000057EEC0 .go 4113.013 6276.871 25.68058 + +-- Pathing for Entry: 25611 'TDB FORMAT' +SET @NPC := 57031; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2797.154,`position_y`=6620.249,`position_z`=48.24942 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,2797.154,6620.249,48.24942,0,0,0,0,100,0), +(@PATH,2,2807.472,6623.047,46.9419,0,0,0,0,100,0), +(@PATH,3,2822.777,6620.003,48.07745,0,0,0,0,100,0), +(@PATH,4,2828.091,6608.199,49.87174,0,0,0,0,100,0), +(@PATH,5,2829.904,6600.112,50.43536,0,0,0,0,100,0), +(@PATH,6,2825.405,6583.044,51.32146,0,0,0,0,100,0), +(@PATH,7,2812.032,6576.637,50.3959,0,0,0,0,100,0), +(@PATH,8,2808.558,6575.663,49.55042,0,0,0,0,100,0), +(@PATH,9,2791.914,6578.114,49.39709,0,0,0,0,100,0), +(@PATH,10,2790.871,6579.394,49.35609,0,0,0,0,100,0), +(@PATH,11,2793.273,6598.499,49.21821,0,0,0,0,100,0), +(@PATH,12,2797.287,6620.314,48.24408,0,0,0,0,100,0); +-- 0x1C091447601902C000000C0000588B21 .go 2797.154 6620.249 48.24942 + +-- Pathing for Entry: 25611 'TDB FORMAT' +SET @NPC := 97489; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2755.648,`position_y`=6516.167,`position_z`=52.22083 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,2755.648,6516.167,52.22083,0,0,0,0,100,0), +(@PATH,2,2739.121,6534.617,51.25744,0,0,0,0,100,0), +(@PATH,3,2736.37,6540.505,50.52654,0,0,0,0,100,0), +(@PATH,4,2736.999,6568.931,49.45178,0,0,0,0,100,0), +(@PATH,5,2745.165,6582.929,49.87815,0,0,0,0,100,0), +(@PATH,6,2749.685,6588.33,49.43536,0,0,0,0,100,0), +(@PATH,7,2764.539,6590.529,49.07096,0,0,0,0,100,0), +(@PATH,8,2783.451,6578.873,49.38116,0,0,0,0,100,0), +(@PATH,9,2790.408,6542.078,51.47867,0,0,0,0,100,0), +(@PATH,10,2781.756,6526.21,53.26818,0,0,0,0,100,0), +(@PATH,11,2759.35,6514.721,52.89858,0,0,0,0,100,0); +-- 0x1C091447601902C000000C0001588AE6 .go 2755.648 6516.167 52.22083 + +-- Pathing for Entry: 25611 'TDB FORMAT' +SET @NPC := 97486; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2959.18,`position_y`=6518.749,`position_z`=72.95694 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,2959.18,6518.749,72.95694,0,0,0,0,100,0), +(@PATH,2,2943.816,6531.531,70.15851,0,0,0,0,100,0), +(@PATH,3,2922.839,6548.202,66.36589,0,0,0,0,100,0), +(@PATH,4,2905.143,6556.469,64.68446,0,0,0,0,100,0), +(@PATH,5,2886.449,6562.177,61.95524,0,0,0,0,100,0), +(@PATH,6,2870.039,6568.242,58.85592,0,0,0,0,100,0), +(@PATH,7,2849.421,6573.922,54.75926,0,0,0,0,100,0), +(@PATH,8,2864.578,6570.402,57.7508,0,0,0,0,100,0), +(@PATH,9,2880.555,6564.39,60.65393,0,0,0,0,100,0), +(@PATH,10,2900.065,6558.482,64.16826,0,0,0,0,100,0), +(@PATH,11,2916.618,6552.232,65.66638,0,0,0,0,100,0), +(@PATH,12,2939.966,6534.6,69.45979,0,0,0,0,100,0), +(@PATH,13,2950.899,6526.294,71.31409,0,0,0,0,100,0), +(@PATH,14,2978.666,6499.601,75.67303,0,0,0,0,100,0), +(@PATH,15,2959.18,6518.749,72.95694,0,0,0,0,100,0); +-- 0x1C091447601902C000000C00005893B1 .go 2959.18 6518.749 72.95694 + +-- Pathing for Entry: 25611 'TDB FORMAT' +SET @NPC := 97472; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3132.141,`position_y`=6364.85,`position_z`=87.00642 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,3132.141,6364.85,87.00642,0,0,0,0,100,0), +(@PATH,2,3145.254,6377.429,86.04013,0,0,0,0,100,0), +(@PATH,3,3150.995,6384.529,85.66245,0,0,0,0,100,0), +(@PATH,4,3150.954,6413.424,86.59067,0,0,0,0,100,0), +(@PATH,5,3148.383,6418.564,87.16897,0,0,0,0,100,0), +(@PATH,6,3127.888,6445.25,85.42545,0,0,0,0,100,0), +(@PATH,7,3125.299,6448.726,84.63122,0,0,0,0,100,0), +(@PATH,8,3098.482,6453.096,86.2816,0,0,0,0,100,0), +(@PATH,9,3092.813,6430.465,86.18443,0,0,0,0,100,0), +(@PATH,10,3092.439,6429.254,86.16457,0,0,0,0,100,0), +(@PATH,11,3090.803,6416.944,86.47922,0,0,0,0,100,0), +(@PATH,12,3080.703,6420.038,86.92494,0,0,0,0,100,0), +(@PATH,13,3066.926,6403.042,89.00624,0,0,0,0,100,0), +(@PATH,14,3071.34,6388.575,89.95999,0,0,0,0,100,0), +(@PATH,15,3071.793,6387.598,89.86023,0,0,0,0,100,0), +(@PATH,16,3092.656,6366.145,89.73042,0,0,0,0,100,0), +(@PATH,17,3109.781,6356.525,88.38365,0,0,0,0,100,0), +(@PATH,18,3114.204,6357.174,87.74312,0,0,0,0,100,0), +(@PATH,19,3132.181,6364.944,87.00461,0,0,0,0,100,0); +-- 0x1C091447601902C000000A000058AB81 .go 3132.141 6364.85 87.00642 + +-- Pathing for Entry: 25475 'TDB FORMAT' +SET @NPC := 107800; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2814.188,`position_y`=6720.133,`position_z`=9.794792 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,2814.188,6720.133,9.794792,0,0,0,0,100,0), +(@PATH,2,2810.317,6723.547,9.082146,0,0,0,0,100,0); +-- 0x1C0914476018E0C000000C00005660EE .go 2814.188 6720.133 9.794792 + +-- Pathing for Entry: 25496 'TDB FORMAT' +SET @NPC := 110300; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3067.602,`position_y`=6705.609,`position_z`=6.230121 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,3067.602,6705.609,6.230121,0,0,0,0,100,0), +(@PATH,2,3051.766,6718.588,6.615577,0,0,0,0,100,0), +(@PATH,3,3024.569,6720.975,9.706598,0,0,0,0,100,0), +(@PATH,4,3031.904,6726.806,7.207738,0,0,0,0,100,0), +(@PATH,5,3033.154,6727.66,6.58389,0,0,0,0,100,0), +(@PATH,6,3068.976,6704.811,5.953619,0,0,0,0,100,0), +(@PATH,7,3095.539,6680.229,6.846659,0,0,0,0,100,0), +(@PATH,8,3095.83,6662.607,9.923321,0,0,0,0,100,0), +(@PATH,9,3099.785,6674.892,7.75151,0,0,0,0,100,0), +(@PATH,10,3090.089,6685.671,6.213068,0,0,0,0,100,0), +(@PATH,11,3067.523,6705.942,6.221252,0,0,0,0,100,0); +-- 0x1C0914476018E60000000C000058AEB8 .go 3067.602 6705.609 6.230121 + +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `id` IN (25244); +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `guid`=57067; + +-- Pathing for Entry: 25496 'TDB FORMAT' +SET @NPC := 57066; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2431.173,`position_y`=6827.691,`position_z`=4.434509 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,2431.173,6827.691,4.434509,0,0,0,0,100,0), +(@PATH,2,2417.92,6818.268,3.808835,0,0,0,0,100,0), +(@PATH,3,2401.83,6806.687,1.444491,0,0,0,0,100,0), +(@PATH,4,2397.053,6803.022,1.261812,0,0,0,0,100,0), +(@PATH,5,2415.603,6771.807,2.460288,0,0,0,0,100,0), +(@PATH,6,2444.461,6781.449,6.446399,0,0,0,0,100,0), +(@PATH,7,2448.987,6792.239,6.01413,0,0,0,0,100,0), +(@PATH,8,2466.415,6808.424,4.947993,0,0,0,0,100,0), +(@PATH,9,2479.129,6823.808,2.68948,0,0,0,0,100,0), +(@PATH,10,2480.822,6831.567,1.405943,0,0,0,0,100,0), +(@PATH,11,2481.074,6846.526,1.077314,0,0,0,0,100,0), +(@PATH,12,2453.165,6857.935,1.077329,0,0,0,0,100,0), +(@PATH,13,2438.796,6843.509,1.671256,0,0,0,0,100,0); +-- 0x1C0914476018E60000000A0000586C4C .go 2431.173 6827.691 4.434509 + +-- Pathing for Entry: 25496 'TDB FORMAT' +SET @NPC := 57059; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2414.351,`position_y`=6738.811,`position_z`=2.7648 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,2414.351,6738.811,2.7648,0,0,0,0,100,0), +(@PATH,2,2411.604,6704.709,6.068311,0,0,0,0,100,0), +(@PATH,3,2411.347,6702.018,6.760894,0,0,0,0,100,0), +(@PATH,4,2452.357,6721.351,6.010249,0,0,0,0,100,0), +(@PATH,5,2466.691,6738.082,6.927616,0,0,0,0,100,0), +(@PATH,6,2495.109,6765.589,6.517776,0,0,0,0,100,0), +(@PATH,7,2513.06,6790.916,4.482207,0,0,0,0,100,0), +(@PATH,8,2523.949,6806.354,1.703682,0,0,0,0,100,0), +(@PATH,9,2532.222,6817.983,1.145756,0,0,0,0,100,0), +(@PATH,10,2546.355,6838.362,1.049538,0,0,0,0,100,0), +(@PATH,11,2548.539,6846.931,0.8498411,0,0,0,0,100,0), +(@PATH,12,2506.485,6784.912,5.38059,0,0,0,0,100,0), +(@PATH,13,2483.945,6763.865,6.803366,0,0,0,0,100,0), +(@PATH,14,2480.173,6760.685,6.7745,0,0,0,0,100,0), +(@PATH,15,2419.531,6764.058,3.010518,0,0,0,0,100,0), +(@PATH,16,2414.283,6738.649,2.879114,0,0,0,0,100,0); +-- 0x1C0914476018E60000000C0000587988 .go 2414.351 6738.811 2.7648 + +DELETE FROM `creature_addon` WHERE `guid` IN (110289,57070,57063, 57065, 57067,57064,57062,57068,57060,57058,57057, 57056,57061,110291,110301,110290,110285,57072); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(57063, 0, 0, 0, 0, 69, ''), +(57065, 0, 0, 0, 0, 234, ''), +(57067, 0, 0, 0, 0, 234, ''), +(57064, 0, 0, 0, 0, 234, ''), +(57062, 0, 0, 0, 0, 69, ''), +(57068, 0, 0, 0, 0, 234, ''), +(57060, 0, 0, 0, 0, 234, ''), +(57058, 0, 0, 0, 0, 234, ''), +(57057, 0, 0, 0, 0, 234, ''), +(57056, 0, 0, 0, 0, 234, ''), +(57061, 0, 0, 0, 0, 27, ''), +(110291, 0, 0, 0, 0, 27, ''), +(110301, 0, 0, 0, 0, 69, ''), +(110290, 0, 0, 0, 0, 27, ''), +(110285, 0, 0, 0, 0, 27, ''), +(57072, 0, 0, 0, 0, 69, ''), +(110289, 0, 0, 0, 0, 27, ''), +(57070, 0, 0, 0, 0, 27, ''); + +DELETE FROM `creature_addon` WHERE `guid` IN (112665,112663,112662,112660,112659,112666,112679,112673,112678,112671,112667,112672,56752,112741,56327,112661,112658,56325, 112668, 112670, 112669, 56322); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(56325, 0, 0, 0, 0, 4, ''), +(112668, 0, 0, 0, 0, 4, ''), +(112670, 0, 0, 0, 0, 4, ''), +(112669, 0, 0, 0, 0, 4, ''), +(56322, 0, 0, 0, 0, 4, ''), +(112661, 0, 0, 0, 0, 234, ''), +(112658, 0, 0, 0, 0, 234, ''), +(56327, 0, 0, 0, 0, 234, ''), +(112741, 0, 0, 0, 0, 27, ''), +(56752, 0, 0, 0, 0, 27, ''), +(112672, 0, 0, 1, 0, 0, ''), +-- +(112678, 0, 0, 0, 0, 4, ''), +(112671, 0, 0, 0, 0, 4, ''), +(112667, 0, 0, 0, 0, 4, ''), +-- +(112673, 0, 0, 1, 0, 0, ''), +(112679, 0, 0, 1, 0, 0, ''), +(112666, 0, 0, 0, 0, 234, ''), +(112665, 0, 0, 0, 0, 234, ''), +(112659, 0, 0, 0, 0, 234, ''), +(112660, 0, 0, 0, 0, 234, ''), +(112663, 0, 0, 0, 0, 234, ''), +(112662, 0, 0, 0, 0, 234, ''); + +-- Pathing for Entry: 25522 'TDB FORMAT' +SET @NPC := 112755; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1863.071,`position_y`=5721.263,`position_z`=0.5444731 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,1863.071,5721.263,0.5444731,0,0,0,0,100,0), +(@PATH,2,1871.592,5727.264,0.5210824,0,0,0,0,100,0), +(@PATH,3,1865.804,5766.675,0.8066133,0,0,0,0,100,0), +(@PATH,4,1861.19,5769.085,0.636929,0,0,0,0,100,0), +(@PATH,5,1853.291,5777.555,0.8031902,0,0,0,0,100,0), +(@PATH,6,1838.134,5783.222,0.6275423,0,0,0,0,100,0), +(@PATH,7,1838.138,5783.196,0.5076787,0,0,0,0,100,0), +(@PATH,8,1838.279,5783.279,0.609849,0,0,0,0,100,0), +(@PATH,9,1853.601,5777.178,0.8158144,0,0,0,0,100,0), +(@PATH,10,1872.918,5754.421,0.8373558,0,0,0,0,100,0), +(@PATH,11,1873.445,5750.554,0.7919877,0,0,0,0,100,0), +(@PATH,12,1857.673,5717.76,0.05196175,0,0,0,0,100,0), +(@PATH,13,1863.071,5721.263,0.5444731,0,0,0,0,100,0), +(@PATH,14,1871.617,5727.281,0.5215871,0,0,0,0,100,0), +(@PATH,15,1865.804,5766.67,0.806583,0,0,0,0,100,0), +(@PATH,16,1861.121,5769.259,0.6014363,0,0,0,0,100,0), +(@PATH,17,1853.309,5777.537,0.8029698,0,0,0,0,100,0), +(@PATH,18,1838.146,5783.217,0.6276386,0,0,0,0,100,0), +(@PATH,19,1838.138,5783.196,0.5076787,0,0,0,0,100,0), +(@PATH,20,1838.511,5783.279,0.6102685,0,0,0,0,100,0), +(@PATH,21,1853.596,5777.181,0.8157681,0,0,0,0,100,0), +(@PATH,22,1872.897,5754.442,0.837615,0,0,0,0,100,0), +(@PATH,23,1873.44,5750.595,0.7921225,0,0,0,0,100,0), +(@PATH,24,1857.677,5717.557,0.05224757,0,0,0,0,100,0), +(@PATH,25,1863.071,5721.263,0.5444731,0,0,0,0,100,0), +(@PATH,26,1871.631,5727.291,0.5218816,0,0,0,0,100,0), +(@PATH,27,1865.809,5766.73,0.8069472,0,0,0,0,100,0), +(@PATH,28,1861.136,5769.112,0.6354876,0,0,0,0,100,0); +-- 0x1C0914476018EC8000000B0000D90C39 .go 1863.071 5721.263 0.5444731 + +-- Pathing for Entry: 25522 'TDB FORMAT' +SET @NPC := 112671; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1853.63,`position_y`=5846.966,`position_z`=2.740726 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,1853.63,5846.966,2.740726,0,0,0,0,100,0), +(@PATH,2,1874.7,5836.919,4.813838,0,0,0,0,100,0), +(@PATH,3,1876.592,5812.892,4.801723,0,0,0,0,100,0), +(@PATH,4,1872.844,5797.556,3.118221,0,0,0,0,100,0), +(@PATH,5,1875.815,5806.438,3.974422,0,0,0,0,100,0), +(@PATH,6,1876.563,5816.451,5.334268,0,0,0,0,100,0), +(@PATH,7,1877.032,5828.594,4.914,0,0,0,0,100,0), +(@PATH,8,1862.273,5842.986,4.152772,0,0,0,0,100,0), +(@PATH,9,1853.646,5846.958,2.74155,0,0,0,0,100,0), +(@PATH,10,1849.364,5848.809,2.105818,0,0,0,0,100,0); +-- 0x1C0914476018EC8000000B0000D90AF7 .go 1853.63 5846.966 2.740726 + + +-- Pathing for Entry: 25522 'TDB FORMAT' +SET @NPC := 112766; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1821.645,`position_y`=5874.956,`position_z`=2.705887 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.645,5874.956,2.705887,0,0,0,0,100,0), +(@PATH,2,1824.808,5874.413,2.800447,0,0,0,0,100,0), +(@PATH,3,1827.45,5854.379,1.631521,0,0,0,0,100,0), +(@PATH,4,1822.537,5840.488,1.119883,0,0,0,0,100,0), +(@PATH,5,1819.79,5826.655,0.8782115,0,0,0,0,100,0), +(@PATH,6,1816.417,5813.835,0.7204496,0,0,0,0,100,0), +(@PATH,7,1816.219,5813.744,0.5043496,0,0,0,0,100,0), +(@PATH,8,1816.581,5813.962,0.5907121,0,0,0,0,100,0), +(@PATH,9,1820.05,5826.836,0.8006111,0,0,0,0,100,0), +(@PATH,10,1828.175,5856.271,1.831071,0,0,0,0,100,0), +(@PATH,11,1828.932,5859.332,2.491501,0,0,0,0,100,0), +(@PATH,12,1816.584,5895.463,0.9250998,0,0,0,0,100,0), +(@PATH,13,1821.645,5874.956,2.705887,0,0,0,0,100,0); +-- 0x1C0914476018EC8000000B000159120F .go 1821.645 5874.956 2.705887 + +UPDATE `creature` SET `spawndist`=10 WHERE `guid` IN (112682, 112762); + +-- Pathing for Entry: 25522 'TDB FORMAT' +SET @NPC := 112761; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1869.091,`position_y`=5953.953,`position_z`=6.38201 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,1869.091,5953.953,6.38201,0,0,0,0,100,0), +(@PATH,2,1879.48,5943.066,7.114405,0,0,0,0,100,0), +(@PATH,3,1905.42,5926.519,12.31866,0,0,0,0,100,0), +(@PATH,4,1907.966,5924.864,12.90823,0,0,0,0,100,0), +(@PATH,5,1907.694,5924.906,12.73229,0,0,0,0,100,0), +(@PATH,6,1888.924,5936.15,8.416003,0,0,0,0,100,0), +(@PATH,7,1885.86,5938.519,7.107553,0,0,0,0,100,0), +(@PATH,8,1879.301,5943.302,7.06257,0,0,0,0,100,0), +(@PATH,9,1863.642,5963.351,5.116355,0,0,0,0,100,0), +(@PATH,10,1848.166,5986.37,2.711081,0,0,0,0,100,0), +(@PATH,11,1856.702,5973.741,4.321182,0,0,0,0,100,0), +(@PATH,12,1868.008,5955.694,6.300377,0,0,0,0,100,0), +(@PATH,13,1869.092,5953.951,6.382379,0,0,0,0,100,0); +-- 0x1C0914476018EC8000000B00005916B8 .go 1869.091 5953.953 6.38201 + +-- Pathing for Entry: 25522 'TDB FORMAT' +SET @NPC := 112764; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=1949.82,`position_y`=5779.809,`position_z`=10.0687 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,1949.82,5779.809,10.0687,0,0,0,0,100,0), +(@PATH,2,1949.888,5780.269,10.04539,0,0,0,0,100,0), +(@PATH,3,1959.407,5805.928,11.8103,0,0,0,0,100,0), +(@PATH,4,1955.581,5821.07,13.57725,0,0,0,0,100,0), +(@PATH,5,1949.136,5832.18,12.86915,0,0,0,0,100,0), +(@PATH,6,1947.718,5833.966,12.66496,0,0,0,0,100,0), +(@PATH,7,1944.919,5838.312,12.17096,0,0,0,0,100,0), +(@PATH,8,1945.014,5838.031,12.05043,0,0,0,0,100,0), +(@PATH,9,1945.333,5838.103,12.31259,0,0,0,0,100,0), +(@PATH,10,1950.632,5829.593,14.2812,0,0,0,0,100,0), +(@PATH,11,1959.209,5813.076,12.95494,0,0,0,0,100,0), +(@PATH,12,1958.309,5800.833,11.20766,0,0,0,0,100,0), +(@PATH,13,1953.69,5789.138,10.24553,0,0,0,0,100,0), +(@PATH,14,1952.009,5763.52,9.059128,0,0,0,0,100,0), +(@PATH,15,1949.82,5779.809,10.0687,0,0,0,0,100,0); +-- 0x1C0914476018EC8000000B0001D91590 .go 1949.82 5779.809 10.0687 + +-- Pathing for Entry: 25464 'TDB FORMAT' +SET @NPC := 132708; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2822.261,`position_y`=5519.366,`position_z`=53.74162 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,2822.261,5519.366,53.74162,0,0,0,0,100,0), +(@PATH,2,2823.339,5522.105,53.3661,0,0,0,0,100,0), +(@PATH,3,2816.756,5522.176,52.7483,0,0,0,0,100,0), +(@PATH,4,2815.625,5523.958,52.19855,0,0,0,0,100,0), +(@PATH,5,2815.16,5520.309,52.78535,0,0,0,0,100,0), +(@PATH,6,2820.333,5521.584,53.39899,0,0,0,0,100,0), +(@PATH,7,2824.778,5510.136,55.34394,0,0,0,0,100,0), +(@PATH,8,2815.103,5518.417,53.53315,0,0,0,0,100,0), +(@PATH,9,2819.598,5522.154,52.91368,0,0,0,0,100,0), +(@PATH,10,2822.082,5521.53,53.60404,0,0,0,0,100,0), +(@PATH,11,2818.371,5523.108,52.66743,0,0,0,0,100,0), +(@PATH,12,2819.409,5516.978,53.96194,0,0,0,0,100,0), +(@PATH,13,2823.384,5522.104,53.37409,0,0,0,0,100,0), +(@PATH,14,2825.392,5523.739,52.87629,0,0,0,0,100,0), +(@PATH,15,2815.691,5521.912,52.45197,0,0,0,0,100,0), +(@PATH,16,2814.33,5518.599,52.92414,0,0,0,0,100,0), +(@PATH,17,2815.653,5522.167,52.41706,0,0,0,0,100,0), +(@PATH,18,2821.683,5522.525,53.24909,0,0,0,0,100,0), +(@PATH,19,2822.436,5520.497,53.40412,0,0,0,0,100,0), +(@PATH,20,2822.451,5523.602,53.0274,0,0,0,0,100,0), +(@PATH,21,2815.243,5522.016,52.44831,0,0,0,0,100,0), +(@PATH,22,2818.638,5521.292,53.17999,0,0,0,0,100,0), +(@PATH,23,2822.181,5517.789,54.00129,0,0,0,0,100,0), +(@PATH,24,2822.296,5519.241,53.7021,0,0,0,0,100,0), +(@PATH,25,2816.71,5523.35,52.70033,0,0,0,0,100,0), +(@PATH,26,2819.778,5520.425,53.55138,0,0,0,0,100,0), +(@PATH,27,2824.004,5522.665,53.19855,0,0,0,0,100,0), +(@PATH,28,2822.11,5517.678,54.01472,0,0,0,0,100,0), +(@PATH,29,2823.61,5518.823,53.80622,0,0,0,0,100,0), +(@PATH,30,2824.499,5512.02,55.12739,0,0,0,0,100,0), +(@PATH,31,2824.968,5518.775,54.21228,0,0,0,0,100,0), +(@PATH,32,2822.294,5517.814,53.99824,0,0,0,0,100,0), +(@PATH,33,2818.368,5520.58,53.24421,0,0,0,0,100,0), +(@PATH,34,2822.198,5523.147,52.89338,0,0,0,0,100,0), +(@PATH,35,2819.597,5521.721,53.0246,0,0,0,0,100,0), +(@PATH,36,2822.367,5519.021,53.98109,0,0,0,0,100,0), +(@PATH,37,2826.401,5522.089,53.23542,0,0,0,0,100,0), +(@PATH,38,2816.553,5521.619,52.96187,0,0,0,0,100,0), +(@PATH,39,2825.091,5521.14,53.50007,0,0,0,0,100,0), +(@PATH,40,2822.17,5524.09,52.63996,0,0,0,0,100,0), +(@PATH,41,2823.85,5520.973,53.41511,0,0,0,0,100,0), +(@PATH,42,2823.884,5524.132,52.88813,0,0,0,0,100,0), +(@PATH,43,2823.595,5521.119,53.4554,0,0,0,0,100,0), +(@PATH,44,2822.149,5521.591,53.26643,0,0,0,0,100,0), +(@PATH,45,2825.091,5523.302,52.98078,0,0,0,0,100,0); +-- 0x1C0914476018DE0000000B00005919F4 .go 2822.261 5519.366 53.74162 + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122683; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3856.668,`position_y`=6592.438,`position_z`=165.8591 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,3856.668,6592.438,165.8591,0,0,0,0,100,0), +(@PATH,2,3845.146,6580.313,167.2839,0,0,0,0,100,0), +(@PATH,3,3819.979,6552.679,171.2212,0,0,0,0,100,0), +(@PATH,4,3834.785,6568.925,168.5641,0,0,0,0,100,0), +(@PATH,5,3856.229,6592.091,166.1844,0,0,0,0,100,0), +(@PATH,6,3856.884,6592.668,166.1273,0,0,0,0,100,0), +(@PATH,7,3856.668,6592.438,165.8591,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C00005923F6 .go 3856.668 6592.438 165.8591 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122683; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122683, 122683, 0, 0, 2, 0, 0), +(122683, 122668, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122679; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3877.737,`position_y`=6617.055,`position_z`=165.4812 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,3877.737,6617.055,165.4812,0,0,0,0,100,0), +(@PATH,2,3876.591,6615.319,165.2154,0,0,0,0,100,0), +(@PATH,3,3876.513,6615.291,165.0491,0,0,0,0,100,0), +(@PATH,4,3881.765,6622.608,165.9126,0,0,0,0,100,0), +(@PATH,5,3887.004,6630.904,166.6272,0,0,0,0,100,0), +(@PATH,6,3890.648,6642.739,166.3096,0,0,0,0,100,0), +(@PATH,7,3895.043,6655.15,167.9105,0,0,0,0,100,0), +(@PATH,8,3892.582,6650.448,166.6568,0,0,0,0,100,0), +(@PATH,9,3890.725,6641.271,166.7931,0,0,0,0,100,0), +(@PATH,10,3886.259,6630.026,166.4984,0,0,0,0,100,0), +(@PATH,11,3877.767,6616.941,165.558,0,0,0,0,100,0), +(@PATH,12,3876.568,6615.188,165.1826,0,0,0,0,100,0), +(@PATH,13,3876.513,6615.291,165.0491,0,0,0,0,100,0), +(@PATH,14,3881.689,6622.583,165.9073,0,0,0,0,100,0), +(@PATH,15,3886.83,6631.109,166.6665,0,0,0,0,100,0), +(@PATH,16,3890.699,6642.743,166.3585,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C00005923E0 .go 3877.737 6617.055 165.4812 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122679; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122679, 122679, 0, 0, 2, 0, 0), +(122679, 122664, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122682; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3802.633,`position_y`=6610.85,`position_z`=160.9254 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,3802.633,6610.85,160.9254,0,0,0,0,100,0), +(@PATH,2,3814.249,6608.161,162.6728,0,0,0,0,100,0), +(@PATH,3,3817.92,6607.578,162.962,0,0,0,0,100,0), +(@PATH,4,3817.757,6607.444,162.8091,0,0,0,0,100,0), +(@PATH,5,3809.16,6609.176,161.7681,0,0,0,0,100,0), +(@PATH,6,3794.561,6613.893,159.8145,0,0,0,0,100,0), +(@PATH,7,3787.977,6622.479,157.1806,0,0,0,0,100,0), +(@PATH,8,3777.748,6635.708,153.5259,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C000059215B .go 3802.633 6610.85 160.9254 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122682; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122682, 122682, 0, 0, 2, 0, 0), +(122682, 122667, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122671; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3876.684,`position_y`=6542.924,`position_z`=175.354 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,3876.684,6542.924,175.354,0,0,0,0,100,0), +(@PATH,2,3865.112,6532.595,176.6299,0,0,0,0,100,0), +(@PATH,3,3868.344,6534.336,176.2356,0,0,0,0,100,0), +(@PATH,4,3880.712,6554.647,173.5269,0,0,0,0,100,0), +(@PATH,5,3880.566,6581.678,168.6076,0,0,0,0,100,0), +(@PATH,6,3881.85,6561.938,171.8416,0,0,0,0,100,0), +(@PATH,7,3876.725,6542.939,175.2055,0,0,0,0,100,0), +(@PATH,8,3864.951,6532.556,176.746,0,0,0,0,100,0), +(@PATH,9,3868.344,6534.336,176.2356,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C0000592014 .go 3876.684 6542.924 175.354 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122671; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122671, 122671, 0, 0, 2, 0, 0), +(122671, 122660, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122681; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3856.668,`position_y`=6592.438,`position_z`=165.8591 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,3856.668,6592.438,165.8591,0,0,0,0,100,0), +(@PATH,2,3845.146,6580.313,167.2839,0,0,0,0,100,0), +(@PATH,3,3819.979,6552.679,171.2212,0,0,0,0,100,0), +(@PATH,4,3834.785,6568.925,168.5641,0,0,0,0,100,0), +(@PATH,5,3856.229,6592.091,166.1844,0,0,0,0,100,0), +(@PATH,6,3856.884,6592.668,166.1273,0,0,0,0,100,0), +(@PATH,7,3856.668,6592.438,165.8591,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C00005923F6 .go 3856.668 6592.438 165.8591 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122681; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122681, 122681, 0, 0, 2, 0, 0), +(122681, 122666, 4, 0, 2, 0, 0); + +UPDATE `creature` SET `spawndist`=15 WHERE `guid`=122549; +UPDATE `creature` SET `spawndist`=20 WHERE `guid`=122548; + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122675; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3772.382,`position_y`=6700.643,`position_z`=150.745 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,3772.382,6700.643,150.745,0,0,0,0,100,0), +(@PATH,2,3765.955,6706.445,152.0959,0,0,0,0,100,0), +(@PATH,3,3760.302,6711.588,152.1358,0,0,0,0,100,0), +(@PATH,4,3750.747,6726.564,151.7103,0,0,0,0,100,0), +(@PATH,5,3749.879,6729.181,151.658,0,0,0,0,100,0), +(@PATH,6,3750.81,6726.225,151.6613,0,0,0,0,100,0), +(@PATH,7,3771.484,6701.582,151.0565,0,0,0,0,100,0), +(@PATH,8,3772.745,6700.572,150.9297,0,0,0,0,100,0), +(@PATH,9,3772.382,6700.643,150.745,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C0000592493 .go 3772.382 6700.643 150.745 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122675; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122675, 122675, 0, 0, 2, 0, 0), +(122675, 122661, 4, 0, 2, 0, 0); + + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122678; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3765.189,`position_y`=6646.188,`position_z`=152.2007 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,3765.189,6646.188,152.2007,0,0,0,0,100,0), +(@PATH,2,3761.339,6649.458,151.591,0,0,0,0,100,0), +(@PATH,3,3761.412,6649.275,151.5081,0,0,0,0,100,0), +(@PATH,4,3775.332,6638.132,152.7523,0,0,0,0,100,0), +(@PATH,5,3784.681,6626.98,155.8878,0,0,0,0,100,0), +(@PATH,6,3791.935,6616.86,158.9415,0,0,0,0,100,0), +(@PATH,7,3802.772,6610.692,160.7068,0,0,0,0,100,0), +(@PATH,8,3814.205,6608.264,162.5391,0,0,0,0,100,0), +(@PATH,9,3817.96,6607.651,162.9075,0,0,0,0,100,0), +(@PATH,10,3817.757,6607.444,162.8091,0,0,0,0,100,0), +(@PATH,11,3809.104,6609.054,161.8425,0,0,0,0,100,0), +(@PATH,12,3794.503,6613.823,159.8757,0,0,0,0,100,0), +(@PATH,13,3788.144,6622.311,157.2462,0,0,0,0,100,0), +(@PATH,14,3777.916,6635.792,153.5504,0,0,0,0,100,0), +(@PATH,15,3765.363,6646.322,152.2002,0,0,0,0,100,0), +(@PATH,16,3761.535,6649.459,151.5641,0,0,0,0,100,0), +(@PATH,17,3761.412,6649.275,151.5081,0,0,0,0,100,0), +(@PATH,18,3775.165,6638.005,152.7578,0,0,0,0,100,0), +(@PATH,19,3784.59,6626.891,155.6862,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C0000592B08 .go 3765.189 6646.188 152.2007 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122678; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122678, 122678, 0, 0, 2, 0, 0), +(122678, 122663, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122684; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3726.047,`position_y`=6604.721,`position_z`=171.6309 WHERE `guid` IN (@NPC, 122669); +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,3726.047,6604.721,171.6309,0,0,0,0,100,0), +(@PATH,2,3737.404,6582.727,172.9987,0,0,0,0,100,0), +(@PATH,3,3752.602,6559.511,175.07,0,0,0,0,100,0), +(@PATH,4,3757.825,6548.518,176.1503,0,0,0,0,100,0), +(@PATH,5,3741.299,6576.517,173.8608,0,0,0,0,100,0), +(@PATH,6,3731.644,6593.12,172.3642,0,0,0,0,100,0), +(@PATH,7,3725.372,6606.514,171.4347,0,0,0,0,100,0), +(@PATH,8,3726.047,6604.721,171.6309,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C0000592BE0 .go 3726.047 6604.721 171.6309 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122684; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122684, 122684, 0, 0, 2, 0, 0), +(122684, 122669, 4, 0, 2, 0, 0); + +-- Coldarra Spellweaver SAI +SET @ENTRY := 25722; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,600,5300,11,34447,64,0,0,0,0,2,0,0,0,0,0,0,0,"Coldarra Spellweaver - In Combat - Cast 'Arcane Missiles'"), +(@ENTRY,0,1,0,1,0,100,0,100,100,45000,45000,11,39550,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coldarra Spellweaver - Out of Combat - Cast 'Arcane Channeling'"); + +-- Coldarra Spellbinder SAI +SET @ENTRY := 25719; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,3900,5800,11,9672,64,0,0,0,0,2,0,0,0,0,0,0,0,"Coldarra Spellbinder - In Combat - Cast 'Frostbolt'"), +(@ENTRY,0,1,0,0,0,100,0,1700,13500,172100,172100,11,50583,1,0,0,0,0,1,0,0,0,0,0,0,0,"Coldarra Spellbinder - In Combat - Cast 'Summon Frozen Spheres'"), +(@ENTRY,0,2,0,1,0,100,0,100,100,45000,45000,11,39550,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coldarra Spellbinder - Out of Combat - Cast 'Arcane Channeling'"); + +-- Inquisitor Caleras SAI +SET @ENTRY := 25720; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,6200,11,15043,64,0,0,0,0,2,0,0,0,0,0,0,0,"Inquisitor Caleras - In Combat - Cast 'Frostbolt'"), +(@ENTRY,0,1,0,0,0,100,0,9800,21300,18400,18400,11,32192,1,0,0,0,0,1,0,0,0,0,0,0,0,"Inquisitor Caleras - In Combat - Cast 'Frost Nova'"), +(@ENTRY,0,2,0,1,0,100,0,100,100,45000,45000,11,39550,0,0,0,0,0,1,0,0,0,0,0,0,0,"Inquisitor Caleras - Out of Combat - Cast 'Arcane Channeling'"); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122676; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3839.049,`position_y`=6746.131,`position_z`=150.8772 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,3839.049,6746.131,150.8772,0,0,0,0,100,0), +(@PATH,2,3838.777,6746.075,150.6292,0,0,0,0,100,0), +(@PATH,3,3838.793,6746.344,150.9143,0,0,0,0,100,0), +(@PATH,4,3826.649,6753.63,150.9941,0,0,0,0,100,0), +(@PATH,5,3811.169,6750.051,150.4951,0,0,0,0,100,0), +(@PATH,6,3811.172,6750.112,150.299,0,0,0,0,100,0), +(@PATH,7,3811.489,6750.411,150.5408,0,0,0,0,100,0), +(@PATH,8,3826.923,6753.677,150.8951,0,0,0,0,100,0), +(@PATH,9,3839.046,6746.012,150.8834,0,0,0,0,100,0), +(@PATH,10,3838.777,6746.075,150.6292,0,0,0,0,100,0), +(@PATH,11,3838.828,6746.229,150.9149,0,0,0,0,100,0), +(@PATH,12,3826.723,6753.648,150.7468,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C00005924AC .go 3839.049 6746.131 150.8772 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122676; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122676, 122676, 0, 0, 2, 0, 0), +(122676, 122662, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122680; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3863.127,`position_y`=6753.518,`position_z`=150.5189 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,3863.127,6753.518,150.5189,0,0,0,0,100,0), +(@PATH,2,3860.453,6741.29,150.7381,0,0,0,0,100,0), +(@PATH,3,3875.973,6736.009,151.0474,0,0,0,0,100,0), +(@PATH,4,3886.431,6727.403,151.3167,0,0,0,0,100,0), +(@PATH,5,3886.167,6727.198,151.1895,0,0,0,0,100,0), +(@PATH,6,3886.265,6727.485,151.3074,0,0,0,0,100,0), +(@PATH,7,3875.836,6736.28,151.0612,0,0,0,0,100,0), +(@PATH,8,3860.38,6741.66,150.7448,0,0,0,0,100,0), +(@PATH,9,3862.974,6753.514,150.6811,0,0,0,0,100,0), +(@PATH,10,3867.98,6753.716,150.6562,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C00005924B3 .go 3863.127 6753.518 150.5189 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122680; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122680, 122680, 0, 0, 2, 0, 0), +(122680, 122665, 4, 0, 2, 0, 0); + +-- Pathing for Entry: 25719 'TDB FORMAT' +SET @NPC := 122685; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3908.275,`position_y`=6757.146,`position_z`=150.8441 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,3908.275,6757.146,150.8441,0,0,0,0,100,0), +(@PATH,2,3893.045,6770.693,150.8547,0,0,0,0,100,0), +(@PATH,3,3880.528,6782.54,150.7091,0,0,0,0,100,0), +(@PATH,4,3880.478,6782.537,150.6073,0,0,0,0,100,0), +(@PATH,5,3880.76,6782.527,150.8653,0,0,0,0,100,0), +(@PATH,6,3893.34,6770.562,150.8441,0,0,0,0,100,0), +(@PATH,7,3908.603,6756.879,150.896,0,0,0,0,100,0), +(@PATH,8,3925.911,6721.284,153.766,0,0,0,0,100,0), +(@PATH,9,3920.531,6713.925,153.515,0,0,0,0,100,0), +(@PATH,10,3906.757,6706.551,151.9455,0,0,0,0,100,0), +(@PATH,11,3894.688,6701.577,151.5052,0,0,0,0,100,0), +(@PATH,12,3894.756,6701.676,151.4043,0,0,0,0,100,0), +(@PATH,13,3916.371,6709.826,152.6267,0,0,0,0,100,0), +(@PATH,14,3921.297,6714.496,153.5745,0,0,0,0,100,0), +(@PATH,15,3929.399,6745.379,151.6542,0,0,0,0,100,0), +(@PATH,16,3919.581,6752.038,150.9705,0,0,0,0,100,0), +(@PATH,17,3908.269,6757.149,150.8441,0,0,0,0,100,0), +(@PATH,18,3893.047,6770.691,150.8547,0,0,0,0,100,0), +(@PATH,19,3880.51,6782.556,150.7091,0,0,0,0,100,0); +-- 0x1C09144760191DC000000C00005932EB .go 3908.275 6757.146 150.8441 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=122685; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(122685, 122685, 0, 0, 2, 0, 0), +(122685, 122670, 4, 0, 2, 0, 0); + +UPDATE `creature` SET `spawndist`=20 WHERE `guid`=122550; + +UPDATE `creature` SET `spawndist`=15 WHERE `id`=25721; + +-- Pathing for Entry: 25717 'TDB FORMAT' +SET @NPC := 122652; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4071.958,`position_y`=7059.748,`position_z`=166.7365 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,4071.958,7059.748,166.7365,0,0,0,0,100,0), +(@PATH,2,4072.932,7060.661,166.5419,0,0,0,0,100,0), +(@PATH,3,4087.155,7066.582,166.7904,0,0,0,0,100,0), +(@PATH,4,4086.809,7066.466,166.6568,0,0,0,0,100,0), +(@PATH,5,4086.776,7066.416,166.7174,0,0,0,0,100,0), +(@PATH,6,4062.645,7049.889,167.7236,0,0,0,0,100,0), +(@PATH,7,4054.082,7027.509,166.672,0,0,0,0,100,0), +(@PATH,8,4059.144,7041.778,167.9961,0,0,0,0,100,0), +(@PATH,9,4071.981,7059.813,166.7345,0,0,0,0,100,0); +-- 0x1C09144760191D4000000C00005932C9 .go 4071.958 7059.748 166.7365 + +-- General Cerulean SAI +SET @ENTRY := 25716; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,10200,13600,10000,12000,11,15499,0,0,0,0,0,2,0,0,0,0,0,0,0,"General Cerulean - In Combat - Cast 'Frost Shock'"), +(@ENTRY,0,1,0,1,0,100,0,100,100,45000,45000,11,39550,0,0,0,0,0,1,0,0,0,0,0,0,0,"General Cerulean - Out of Combat - Cast 'Arcane Channeling'"); + +UPDATE `creature` SET `spawndist`=20 WHERE `guid` IN (122547, 122551); + +-- Pathing for Entry: 25713 'TDB FORMAT' +SET @NPC := 122611; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3820.672,`position_y`=7153.959,`position_z`=163.4258 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,3820.672,7153.959,163.4258,0,0,0,0,100,0), +(@PATH,2,3816.873,7173.65,161.3409,0,0,0,0,100,0), +(@PATH,3,3819.527,7160.829,162.4046,0,0,0,0,100,0), +(@PATH,4,3821.152,7145.412,164.2622,0,0,0,0,100,0), +(@PATH,5,3820.075,7133.457,165.5549,0,0,0,0,100,0), +(@PATH,6,3819.108,7129.334,166.0357,0,0,0,0,100,0), +(@PATH,7,3819.164,7129.457,165.8505,0,0,0,0,100,0), +(@PATH,8,3820.722,7140.354,165.1108,0,0,0,0,100,0), +(@PATH,9,3820.762,7154.072,163.3669,0,0,0,0,100,0), +(@PATH,10,3816.832,7173.758,161.5131,0,0,0,0,100,0); +-- 0x1C09144760191C4000000C0000590957 .go 3820.672 7153.959 163.4258 + +-- Pathing for Entry: 25713 'TDB FORMAT' +SET @NPC := 122643; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3715.234,`position_y`=7159.224,`position_z`=160.5815 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,3715.234,7159.224,160.5815,0,0,0,0,100,0), +(@PATH,2,3712.465,7168.071,160.3927,0,0,0,0,100,0), +(@PATH,3,3711.697,7180.112,160.1553,0,0,0,0,100,0), +(@PATH,4,3712.53,7195.874,160.5102,0,0,0,0,100,0), +(@PATH,5,3712.202,7195.61,160.2491,0,0,0,0,100,0), +(@PATH,6,3712.354,7195.505,160.5099,0,0,0,0,100,0), +(@PATH,7,3711.637,7179.952,160.1052,0,0,0,0,100,0), +(@PATH,8,3712.478,7167.976,160.2884,0,0,0,0,100,0), +(@PATH,9,3715.501,7158.848,160.5296,0,0,0,0,100,0), +(@PATH,10,3715.303,7158.94,160.4226,0,0,0,0,100,0), +(@PATH,11,3715.255,7159.067,160.5904,0,0,0,0,100,0), +(@PATH,12,3712.359,7168.119,160.3639,0,0,0,0,100,0), +(@PATH,13,3711.62,7180.215,160.1398,0,0,0,0,100,0), +(@PATH,14,3712.332,7195.925,160.5264,0,0,0,0,100,0); +-- 0x1C09144760191C4000000C0000592DB7 .go 3715.234 7159.224 160.5815 + +-- Warbringer Goredrak SAI +SET @ENTRY := 25712; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,200,16900,21200,11,50534,0,0,0,0,0,2,0,0,0,0,0,0,0,"Warbringer Goredrak - In Combat - Cast 'Power Sap'"), +(@ENTRY,0,1,0,0,0,100,0,5900,6700,16800,21200,11,50545,1,0,0,0,0,2,0,0,0,0,0,0,0,"Warbringer Goredrak - In Combat - Cast 'Arcane Blast'"), +(@ENTRY,0,2,0,1,0,100,0,100,100,45000,45000,11,39550,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warbringer Goredrak - Out of Combat - Cast 'Arcane Channeling'"); + +UPDATE `creature` SET `spawndist`=10 WHERE `guid`=122806; +UPDATE `creature` SET `spawndist`=15 WHERE `guid` IN (122824, 122545); +-- Pathing for Entry: 25709 'TDB FORMAT' +SET @NPC := 122562; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3821.72,`position_y`=7226.874,`position_z`=165.7941 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,3821.72,7226.874,165.7941,0,0,0,0,100,0), +(@PATH,2,3840.45,7225.532,167.5351,0,0,0,0,100,0), +(@PATH,3,3854.693,7219.692,168.801,0,0,0,0,100,0), +(@PATH,4,3872.789,7201.074,168.0432,0,0,0,0,100,0), +(@PATH,5,3877.849,7192.911,167.4686,0,0,0,0,100,0), +(@PATH,6,3853.227,7162.686,166.2984,0,0,0,0,100,0), +(@PATH,7,3831.403,7190.82,162.3192,0,0,0,0,100,0), +(@PATH,8,3821.685,7226.815,165.7664,0,0,0,0,100,0); +-- 0x1C09144760191B4000000C00005929B2 .go 3821.72 7226.874 165.7941 + +-- Pathing for Entry: 25717 'TDB FORMAT' +SET @NPC := 122655; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4158.797,`position_y`=7025.598,`position_z`=165.7506 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,4158.797,7025.598,165.7506,0,0,0,0,100,0), +(@PATH,2,4158.771,7025.846,166.0288,0,0,0,0,100,0), +(@PATH,3,4149.362,7040.18,166.0216,0,0,0,0,100,0), +(@PATH,4,4141.375,7046.86,165.9186,0,0,0,0,100,0), +(@PATH,5,4128.7,7050.973,165.6986,0,0,0,0,100,0), +(@PATH,6,4128.795,7050.833,165.5718,0,0,0,0,100,0), +(@PATH,7,4129.043,7050.743,165.6772,0,0,0,0,100,0), +(@PATH,8,4141.438,7046.565,166.0175,0,0,0,0,100,0), +(@PATH,9,4149.486,7040.006,166.0294,0,0,0,0,100,0), +(@PATH,10,4159.022,7025.654,165.9743,0,0,0,0,100,0); +-- 0x1C09144760191D4000000C000059272B .go 4158.797 7025.598 165.7506 diff --git a/sql/updates/world/2015_02_10_06_world.sql b/sql/updates/world/2015_02_10_06_world.sql new file mode 100644 index 00000000000..bcd42994ee2 --- /dev/null +++ b/sql/updates/world/2015_02_10_06_world.sql @@ -0,0 +1,58 @@ +-- +SET @NPC:= 25968; +UPDATE `creature_template` SET `VehicleId`=30 WHERE `entry`=@NPC; +DELETE FROM `vehicle_template_accessory` where `entry` in (@NPC) AND `accessory_entry` IN (25801); +INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`,`summontimer`) VALUES +(@NPC,25801,0,0,'Lunchbox',8,0); +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` = @NPC; +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(@NPC, 46598, 1, 0); + +-- Nedar, Lord of Rhinos SAI +SET @ENTRY := 25801; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,"Nedar, Lord of Rhinos - On Aggro - Set Event Phase 1 (No Repeat)"), +(@ENTRY,0,1,0,4,1,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - On Aggro - Say Line 0 (Phase 1) (No Repeat)"), +(@ENTRY,0,2,0,4,1,100,1,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - On Aggro - Disable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,3,0,4,1,100,1,0,0,0,0,11,41440,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - On Aggro - Cast 'Shoot' (Phase 1) (No Repeat)"), +(@ENTRY,0,4,0,9,1,100,0,5,30,3500,4100,11,41440,0,0,0,0,0,2,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - Within 5-30 Range - Cast 'Shoot' (Phase 1)"), +(@ENTRY,0,5,0,9,1,100,0,30,100,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - Within 30-100 Range - Enable Combat Movement (Phase 1)"), +(@ENTRY,0,6,0,9,1,100,0,9,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - Within 9-15 Range - Disable Combat Movement (Phase 1)"), +(@ENTRY,0,7,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - Within 0-5 Range - Enable Combat Movement (Phase 1)"), +(@ENTRY,0,8,0,9,1,100,0,5,30,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nedar, Lord of Rhinos - Within 5-30 Range - Disable Combat Movement (Phase 1)"); +-- Complete the Broadcast_text +DELETE FROM `creature_text` WHERE `entry` IN (@ENTRY); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(@ENTRY, 0, 0, 'Your impetuousness will be your end!', 12, 0, 100, 0, 0, 0, 'Nedar', 25103), +(@ENTRY, 0, 1, 'You dare challenge Nedar, lord of the tundral!?', 12, 0, 100, 0, 0, 0, 'Nedar', 25102), +(@ENTRY, 0, 2, 'You don''t stand a chance!', 12, 0, 100, 0, 0, 0, 'Nedar', 25104); + +-- Pathing for Entry: 25968 'TDB FORMAT' +SET @NPC := 106302; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3170.232,`position_y`=5968.757,`position_z`=96.36165 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,3170.232,5968.757,96.36165,0,0,0,0,100,0), +(@PATH,2,3159.33,5950.815,95.96857,0,0,0,0,100,0), +(@PATH,3,3162.685,5902.838,96.0918,0,0,0,0,100,0), +(@PATH,4,3169.452,5888.983,97.71611,0,0,0,0,100,0), +(@PATH,5,3204.079,5874.618,97.02065,0,0,0,0,100,0), +(@PATH,6,3238.726,5868.98,94.07452,0,0,0,0,100,0), +(@PATH,7,3266.804,5867.507,86.87187,0,0,0,0,100,0), +(@PATH,8,3300.308,5874.12,83.72194,0,0,0,0,100,0), +(@PATH,9,3328.993,5853.078,78.86817,0,0,0,0,100,0), +(@PATH,10,3344.677,5812.18,67.82541,0,0,0,0,100,0), +(@PATH,11,3341.184,5774.667,61.2993,0,0,0,0,100,0), +(@PATH,12,3357.205,5767.466,65.42284,0,0,0,0,100,0), +(@PATH,13,3357.227,5799.264,67.74834,0,0,0,0,100,0), +(@PATH,14,3359.967,5824.072,71.90356,0,0,0,0,100,0), +(@PATH,15,3354.479,5873.997,76.9686,0,0,0,0,100,0), +(@PATH,16,3341.863,5907.724,79.92758,0,0,0,0,100,0), +(@PATH,17,3316.034,5925.089,85.70946,0,0,0,0,100,0), +(@PATH,18,3293.812,5947.116,82.76896,0,0,0,0,100,0); +-- 0x2009144760195C0000000C000057E949 .go 3170.232 5968.757 96.36165 diff --git a/sql/updates/world/2015_02_10_07_world.sql b/sql/updates/world/2015_02_10_07_world.sql new file mode 100644 index 00000000000..87a59e4440e --- /dev/null +++ b/sql/updates/world/2015_02_10_07_world.sql @@ -0,0 +1,3 @@ +-- +UPDATE `creature` SET `MovementType`=0 WHERE `guid` IN (126701,126703,126711); +UPDATE `creature` SET `equipment_id`=0 WHERE `id` IN (12237, 12224); diff --git a/sql/updates/world/2015_02_10_08_world.sql b/sql/updates/world/2015_02_10_08_world.sql new file mode 100644 index 00000000000..647e89253f5 --- /dev/null +++ b/sql/updates/world/2015_02_10_08_world.sql @@ -0,0 +1,3 @@ +-- +UPDATE `creature` SET `MovementType`=0 WHERE `guid` = 58021; +UPDATE `creature` SET `MovementType`=1 WHERE `guid` IN (122545, 122824); diff --git a/sql/updates/world/2015_02_10_09_world.sql b/sql/updates/world/2015_02_10_09_world.sql new file mode 100644 index 00000000000..9ba05c77e41 --- /dev/null +++ b/sql/updates/world/2015_02_10_09_world.sql @@ -0,0 +1,4 @@ +-- +UPDATE `creature_template` SET `unit_class`=4 WHERE `entry`=32535; +UPDATE `creature_template_addon` SET`auras`="" WHERE`entry` IN (26608, 31306); -- vehicle auras appear only when the npc ride a vehicle or when he's mounted +UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry`=35427; diff --git a/sql/updates/world/2015_02_11_00_world.sql b/sql/updates/world/2015_02_11_00_world.sql new file mode 100644 index 00000000000..271a5b8be94 --- /dev/null +++ b/sql/updates/world/2015_02_11_00_world.sql @@ -0,0 +1,12 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=49947; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 49947, 0, 0, 31, 0, 3, 19871, 0, 0, 0, 0, '', 'Laser - only targets Bunny'); + +-- Scavenge-bot 004-A8 SAI +SET @ENTRY := 25752; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id` >=3; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,3,0,1,0,100,0,5000,5000,15000,20000,11,49947,0,0,0,0,0,19,19871,25,0,0,0,0,0,"Scavenge-bot 004-A8 - Out of Combat - Cast 'Cutting Laser'"), +(@ENTRY,0,4,0,1,0,100,0,20000,25000,35000,40000,5,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scavenge-bot 004-A8 - Out of Combat - Play Emote 35"); diff --git a/sql/updates/world/2015_02_11_01_world.sql b/sql/updates/world/2015_02_11_01_world.sql new file mode 100644 index 00000000000..5932d48ef5e --- /dev/null +++ b/sql/updates/world/2015_02_11_01_world.sql @@ -0,0 +1,100 @@ +-- Pathing for Stonebreaker Grunt Entry: 18973 'TDB FORMAT' +SET @NPC := 68131; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2562.284,`position_y`=4397.473,`position_z`=58.68661 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,-2562.284,4397.473,58.68661,0,0,0,0,100,0), +(@PATH,2,-2551.224,4407.652,53.44283,0,0,0,0,100,0), +(@PATH,3,-2547.335,4405.842,52.35535,0,0,0,0,100,0), +(@PATH,4,-2543.202,4397.742,52.17545,0,0,0,0,100,0), +(@PATH,5,-2547.734,4388.876,52.18408,0,0,0,0,100,0), +(@PATH,6,-2556.611,4386.977,52.1886,0,0,0,0,100,0), +(@PATH,7,-2556.627,4386.753,51.9386,0,0,0,0,100,0), +(@PATH,8,-2556.481,4387.06,52.1886,0,0,0,0,100,0), +(@PATH,9,-2543.486,4397,52.17455,0,0,0,0,100,0), +(@PATH,10,-2547.152,4405.732,52.17457,0,0,0,0,100,0), +(@PATH,11,-2558.628,4405.742,57.89645,0,0,0,0,100,0), +(@PATH,12,-2562.429,4397.533,58.73559,0,0,0,0,100,0), +(@PATH,13,-2562.816,4394.701,58.72124,0,0,0,0,100,0), +(@PATH,14,-2547.645,4388.162,58.39926,0,0,0,0,100,0), +(@PATH,15,-2545.306,4391.472,58.38942,0,0,0,0,100,0), +(@PATH,16,-2543.268,4397.77,58.69866,0,0,0,0,100,0), +(@PATH,17,-2543.174,4397.481,58.44216,0,0,0,0,100,0), +(@PATH,18,-2545.374,4391.247,58.40757,0,0,0,0,100,0), +(@PATH,19,-2554.22,4387.671,58.65759,0,0,0,0,100,0), +(@PATH,20,-2562.223,4394.01,58.45053,0,0,0,0,100,0), +(@PATH,21,-2562.396,4397.497,58.69535,0,0,0,0,100,0), +(@PATH,22,-2551.103,4407.721,53.44612,0,0,0,0,100,0), +(@PATH,23,-2547.447,4405.818,52.24909,0,0,0,0,100,0), +(@PATH,24,-2543.19,4397.657,52.17642,0,0,0,0,100,0), +(@PATH,25,-2547.777,4388.548,52.18584,0,0,0,0,100,0), +(@PATH,26,-2556.725,4387.103,52.1886,0,0,0,0,100,0), +(@PATH,27,-2556.627,4386.753,51.9386,0,0,0,0,100,0), +(@PATH,28,-2556.351,4386.949,52.1886,0,0,0,0,100,0), +(@PATH,29,-2543.485,4397.102,52.17455,0,0,0,0,100,0), +(@PATH,30,-2547.133,4405.784,52.17457,0,0,0,0,100,0), +(@PATH,31,-2558.618,4405.514,57.89614,0,0,0,0,100,0), +(@PATH,32,-2562.308,4397.42,58.72334,0,0,0,0,100,0), +(@PATH,33,-2562.909,4394.518,58.71896,0,0,0,0,100,0), +(@PATH,34,-2547.697,4388.187,58.39987,0,0,0,0,100,0), +(@PATH,35,-2545.525,4391.353,58.41209,0,0,0,0,100,0), +(@PATH,36,-2543.177,4397.777,58.7028,0,0,0,0,100,0), +(@PATH,37,-2543.174,4397.481,58.44216,0,0,0,0,100,0), +(@PATH,38,-2545.295,4391.392,58.40459,0,0,0,0,100,0), +(@PATH,39,-2554.367,4387.682,58.65977,0,0,0,0,100,0), +(@PATH,40,-2562.382,4393.967,58.45837,0,0,0,0,100,0); +-- 0x1C3930424012874000002C0003BF2EBC .go -2562.284 4397.473 58.68661 + +-- Pathing for Stonebreaker Grunt Entry: 18973 'TDB FORMAT' +SET @NPC := 68132; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2582.699,`position_y`=4367.507,`position_z`=27.14433 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,-2582.699,4367.507,27.14433,240000,0,0,0,100,0), +(@PATH,2,-2595.828,4382.915,29.9575,0,0,0,0,100,0), +(@PATH,3,-2613.849,4391.314,33.12907,0,0,0,0,100,0), +(@PATH,4,-2632.729,4386.462,35.28672,0,0,0,0,100,0), +(@PATH,5,-2636.813,4385.448,35.57519,0,0,0,0,100,0), +(@PATH,6,-2667.237,4407.722,35.60794,0,0,0,0,100,0), +(@PATH,7,-2701.92,4386.847,28.3668,0,0,0,0,100,0), +(@PATH,8,-2708.737,4383.311,26.62656,0,0,0,0,100,0), +(@PATH,9,-2671.687,4406.917,35.27893,0,0,0,0,100,0), +(@PATH,10,-2638.984,4412.332,35.20811,0,0,0,0,100,0), +(@PATH,11,-2613.415,4394.945,33.2278,0,0,0,0,100,0), +(@PATH,12,-2591.59,4381.07,29.3395,0,0,0,0,100,0); +-- 0x1C3930424012874000002C00023F2EBA .go -2582.699 4367.507 27.14433 + +-- Pathing for Stonebreaker Peon Entry: 19048 'TDB FORMAT' +SET @NPC := 68353; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2607.763,`position_y`=4381.312,`position_z`=33.58602 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,-2607.763,4381.312,33.58602,0,0,0,0,100,0), +(@PATH,2,-2633.11,4379.769,35.77549,0,0,0,0,100,0), +(@PATH,3,-2634.318,4379.514,35.83887,0,0,0,0,100,0), +(@PATH,4,-2647.237,4382.08,36.08328,0,240000,0,0,100,0), +(@PATH,5,-2642.319,4381.9,35.72264,0,0,0,0,100,0), +(@PATH,6,-2642.08,4381.872,35.9688,0,0,0,0,100,0), +(@PATH,7,-2607.333,4387.602,31.9885,0,0,0,0,100,0), +(@PATH,8,-2603.056,4389.318,31.18134,0,0,0,0,100,0), +(@PATH,9,-2598.985,4391.519,30.64458,0,240000,0,0,100,0), +(@PATH,10,-2592.19,4391.983,30.50177,0,240000,0,0,100,0), +(@PATH,11,-2568.814,4388.118,33.5708,0,0,0,0,100,0), +(@PATH,12,-2567.081,4387.359,34.20564,0,240000,0,0,100,0); +-- 0x1C39304240129A0000002C00023F2EBC .go -2607.763 4381.312 33.58602 + +-- Update Keb'ezil's movement, he should be running around as an imp. +UPDATE `creature` SET `MovementType`=1 WHERE `guid`=66944; +UPDATE `creature` SET `spawndist`=5 WHERE `guid`=66944; + +-- Update coordinates of Ru'zah +UPDATE `creature` SET `position_x`=-2627.9, `position_y`=4486.034, `position_z`=36.21471 WHERE `guid`=74329; diff --git a/sql/updates/world/2015_02_11_02_world.sql b/sql/updates/world/2015_02_11_02_world.sql new file mode 100644 index 00000000000..8db79bc0c8f --- /dev/null +++ b/sql/updates/world/2015_02_11_02_world.sql @@ -0,0 +1,153 @@ +-- Urdak SAI +SET @ENTRY := 18541; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,1,0,100,1,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Out of Combat - Enable Combat Movement (No Repeat)"), +(@ENTRY,0,1,0,0,0,100,1,0,0,0,0,11,32924,1,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - In Combat - Cast 'Power of Kran'aish' (No Repeat)"), +(@ENTRY,0,2,3,4,0,100,1,0,0,0,0,11,38465,0,0,0,0,0,2,0,0,0,0,0,0,0,"Urdak - On Aggro - Cast 'Lightning Bolt' (No Repeat)"), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - On Aggro - Increment Phase By 1 (No Repeat)"), +(@ENTRY,0,4,0,9,1,100,0,0,40,2400,3800,11,38465,0,0,0,0,0,2,0,0,0,0,0,0,0,"Urdak - Within 0-40 Range - Cast 'Lightning Bolt' (No Repeat)"), +(@ENTRY,0,5,6,3,1,100,1,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Mana - Enable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,6,0,61,1,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Mana - Increment Phase By 1 (Phase 1) (No Repeat)"), +(@ENTRY,0,7,0,9,1,100,1,35,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Within 35-80 Range - Enable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,8,0,9,1,100,1,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Within 5-15 Range - Disable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,9,0,9,1,100,1,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Within 0-5 Range - Enable Combat Movement (Phase 1) (No Repeat)"), +(@ENTRY,0,10,0,3,2,100,0,30,100,100,100,23,0,1,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 30-100% Mana - Decrement Phase By 1 (Phase 1) (No Repeat)"), +(@ENTRY,0,11,0,0,0,100,0,6000,10000,12000,16000,11,32907,1,0,0,0,0,2,0,0,0,0,0,0,0,"Urdak - In Combat - Cast 'Arakkoa Blast' (Phase 1) (No Repeat)"), +(@ENTRY,0,12,0,0,0,100,0,10000,14000,18000,25000,11,6728,1,0,0,0,0,6,0,0,0,0,0,0,0,"Urdak - In Combat - Cast 'Enveloping Winds' (Phase 1) (No Repeat)"), +(@ENTRY,0,13,14,2,0,100,1,0,15,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Health - Set Event Phase 3 (No Repeat)"), +(@ENTRY,0,14,15,61,0,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Urdak - Between 0-15% Health - Enable Combat Movement (No Repeat)"), +(@ENTRY,0,15,0,61,0,100,0,0,0,0,0,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Urdak - Between 0-15% Health - Flee For Assist (No Repeat)"); + +-- Pathing for Urdak Entry: 18541 'TDB FORMAT' +SET @NPC := 66701; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2531.757,`position_y`=5367.723,`position_z`=27.48038 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,-2531.757,5367.723,27.48038,0,0,0,0,100,0), +(@PATH,2,-2522.244,5363.866,27.5043,0,0,0,0,100,0), +(@PATH,3,-2511.568,5370.136,27.19551,0,0,0,0,100,0), +(@PATH,4,-2509.842,5376.426,27.17996,0,0,0,0,100,0), +(@PATH,5,-2514.843,5388.665,27.42471,0,0,0,0,100,0), +(@PATH,6,-2525.896,5389.706,27.21724,0,0,0,0,100,0), +(@PATH,7,-2531.956,5386.355,27.44649,0,0,0,0,100,0), +(@PATH,8,-2535.825,5377.078,27.48491,0,0,0,0,100,0); +-- 0x1C39304240121B400000D00000395D5F .go -2531.757 5367.723 27.48038 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=66960; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(66960, 66960, 0, 0, 2), +(66960, 57334, 3, 270, 2); + +-- Pathing for Shadowy Hunter Entry: 18718 'TDB FORMAT' +SET @NPC := 66960; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2399.251,`position_y`=4948.647,`position_z`=33.51818 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,-2399.251,4948.647,33.51818,0,0,0,0,100,0), +(@PATH,2,-2382.013,4957.111,36.26661,0,0,0,0,100,0), +(@PATH,3,-2386.387,4964.082,33.5477,0,0,0,0,100,0), +(@PATH,4,-2396.421,4967.332,32.63216,0,0,0,0,100,0), +(@PATH,5,-2404.207,4968.344,32.13279,0,0,0,0,100,0), +(@PATH,6,-2411.476,4973.782,31.9511,0,0,0,0,100,0), +(@PATH,7,-2419.75,5004.045,29.51139,0,0,0,0,100,0), +(@PATH,8,-2423.043,5009.497,29.88427,0,0,0,0,100,0), +(@PATH,9,-2425.305,5012.542,29.87346,0,0,0,0,100,0), +(@PATH,10,-2452.268,5014.185,28.21556,0,0,0,0,100,0), +(@PATH,11,-2455.99,5026.977,25.38416,0,0,0,0,100,0), +(@PATH,12,-2461.66,5046.541,20.78516,0,0,0,0,100,0), +(@PATH,13,-2468.601,5062.008,17.91999,0,0,0,0,100,0), +(@PATH,14,-2471.484,5074.755,15.08363,0,0,0,0,100,0), +(@PATH,15,-2462.648,5034.314,23.94722,0,0,0,0,100,0), +(@PATH,16,-2458.38,5013.544,27.85468,0,0,0,0,100,0), +(@PATH,17,-2460.833,5004.856,28.65945,0,0,0,0,100,0), +(@PATH,18,-2468.316,4978.999,31.72539,0,0,0,0,100,0), +(@PATH,19,-2469.694,4960.631,33.31852,0,0,0,0,100,0), +(@PATH,20,-2466.243,4944.808,34.89827,0,0,0,0,100,0), +(@PATH,21,-2466.676,4930.218,36.72472,0,0,0,0,100,0), +(@PATH,22,-2473.81,4922.928,38.69386,0,0,0,0,100,0), +(@PATH,23,-2476.339,4921.196,39.03951,0,0,0,0,100,0), +(@PATH,24,-2486.696,4911.087,38.99028,0,0,0,0,100,0), +(@PATH,25,-2488.085,4899.312,39.16518,0,0,0,0,100,0), +(@PATH,26,-2466.59,4887.837,36.24532,0,0,0,0,100,0), +(@PATH,27,-2459.039,4893.131,34.30416,0,0,0,0,100,0), +(@PATH,28,-2456.6,4895.325,33.89172,0,0,0,0,100,0), +(@PATH,29,-2455.763,4912.572,33.6131,0,0,0,0,100,0), +(@PATH,30,-2459.973,4922.549,33.84817,0,0,0,0,100,0), +(@PATH,31,-2454.409,4941.216,34.89568,0,0,0,0,100,0), +(@PATH,32,-2453.032,4942.258,34.88249,0,0,0,0,100,0), +(@PATH,33,-2441.288,4944.204,34.91498,0,0,0,0,100,0), +(@PATH,34,-2424.706,4957.187,34.11639,0,0,0,0,100,0), +(@PATH,35,-2420.334,4960.088,33.7532,0,0,0,0,100,0), +(@PATH,36,-2399.827,4949.04,33.55933,0,0,0,0,100,0); +-- 0x1C393042401247800000D80000395139 .go -2399.251 4948.647 33.51818 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=66959; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(66959, 66959, 0, 0, 2), +(66959, 57324, 3, 270, 2); + +-- Pathing for Shadowy Hunter Entry: 18718 'TDB FORMAT' +SET @NPC := 66959; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2458.59,`position_y`=4883.933,`position_z`=34.63649 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,-2458.59,4883.933,34.63649,0,0,0,0,100,0), +(@PATH,2,-2454.139,4881.942,34.18031,0,0,0,0,100,0), +(@PATH,3,-2441.338,4867.939,34.96668,0,0,0,0,100,0), +(@PATH,4,-2447.259,4881.18,33.54724,0,0,0,0,100,0), +(@PATH,5,-2454.204,4888.805,33.82166,0,0,0,0,100,0), +(@PATH,6,-2455.784,4897.667,33.77719,0,0,0,0,100,0), +(@PATH,7,-2455.145,4910.682,33.57897,0,0,0,0,100,0), +(@PATH,8,-2459.188,4921.684,33.73078,0,0,0,0,100,0), +(@PATH,9,-2455.591,4939.817,34.61909,0,0,0,0,100,0), +(@PATH,10,-2453.116,4941.684,35.0243,0,0,0,0,100,0), +(@PATH,11,-2443.437,4943.616,34.76263,0,0,0,0,100,0), +(@PATH,12,-2431.095,4940.732,36.18304,0,0,0,0,100,0), +(@PATH,13,-2422.104,4931.316,35.36322,0,0,0,0,100,0), +(@PATH,14,-2418.187,4924.916,36.3769,0,0,0,0,100,0), +(@PATH,15,-2425.994,4937.722,36.55001,0,0,0,0,100,0), +(@PATH,16,-2430.061,4945.802,35.26893,0,0,0,0,100,0), +(@PATH,17,-2429.3,4947.917,34.86908,0,0,0,0,100,0), +(@PATH,18,-2424.078,4963.271,33.09982,0,0,0,0,100,0), +(@PATH,19,-2421.393,4974.704,31.43381,0,0,0,0,100,0), +(@PATH,20,-2421.332,4975.644,31.21901,0,0,0,0,100,0), +(@PATH,21,-2418.137,5000.565,30.00104,0,0,0,0,100,0), +(@PATH,22,-2417.527,5002.019,29.37036,0,0,0,0,100,0), +(@PATH,23,-2416.402,5010.205,29.2325,0,0,0,0,100,0), +(@PATH,24,-2417.669,5014.722,28.97691,0,0,0,0,100,0), +(@PATH,25,-2428.226,5012.224,29.9898,0,0,0,0,100,0), +(@PATH,26,-2444.966,5008.044,29.51899,0,0,0,0,100,0), +(@PATH,27,-2453.993,5013.485,28.19345,0,0,0,0,100,0), +(@PATH,28,-2456.664,5023.554,26.07574,0,0,0,0,100,0), +(@PATH,29,-2459.761,5038.568,22.79576,0,0,0,0,100,0), +(@PATH,30,-2465.731,5053.402,19.17121,0,0,0,0,100,0), +(@PATH,31,-2467.348,5032.213,24.09672,0,0,0,0,100,0), +(@PATH,32,-2467.405,5023.126,25.73068,0,0,0,0,100,0), +(@PATH,33,-2467.814,5012.714,28.07976,0,0,0,0,100,0), +(@PATH,34,-2470.525,4997.041,29.28029,0,0,0,0,100,0), +(@PATH,35,-2471.126,4980.461,31.38793,0,0,0,0,100,0), +(@PATH,36,-2477.811,4974.808,32.3695,0,0,0,0,100,0), +(@PATH,37,-2497.777,4966.848,35.28411,0,0,0,0,100,0), +(@PATH,38,-2506.064,4953.317,38.70324,0,0,0,0,100,0), +(@PATH,39,-2510.001,4942.142,39.95487,0,0,0,0,100,0), +(@PATH,40,-2510.834,4938.938,40.30884,0,0,0,0,100,0), +(@PATH,41,-2510.035,4921.547,39.56293,0,0,0,0,100,0), +(@PATH,42,-2510.577,4918.453,39.31087,0,0,0,0,100,0), +(@PATH,43,-2507.691,4905.567,39.31522,0,0,0,0,100,0), +(@PATH,44,-2500.221,4899.546,39.09933,0,0,0,0,100,0), +(@PATH,45,-2490.795,4896.659,39.47167,0,0,0,0,100,0); +-- 0x1C393042401247800000D800003955BB .go -2458.59 4883.933 34.63649 + +-- Remove 1 too many 'Shadowy Executioner' +DELETE FROM `creature` WHERE `guid`=57323; diff --git a/sql/updates/world/2015_02_11_03_world.sql b/sql/updates/world/2015_02_11_03_world.sql new file mode 100644 index 00000000000..d748355d624 --- /dev/null +++ b/sql/updates/world/2015_02_11_03_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `disables` WHERE `sourceType` =0 AND `entry` IN (71599, 71024) AND `flags`=64; +INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES +(0, 71599, 64, '', '', 'Ignore LOS for Cosmetic - Explosion (Chemical Wagon)'), +(0, 71024, 64, '', '', 'Ignore LOS for Throw Bomb'); diff --git a/sql/updates/world/2015_02_11_04_world.sql b/sql/updates/world/2015_02_11_04_world.sql new file mode 100644 index 00000000000..f94edb80882 --- /dev/null +++ b/sql/updates/world/2015_02_11_04_world.sql @@ -0,0 +1,44 @@ +-- +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=26191; +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(26191, 46978, 2, 0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceGroup`=26191 AND `SourceEntry`=46978; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(18, 26191, 46978, 0, 0, 9, 0, 11956, 0, 0, 0, 0, 0, '', 'Required quest ''Finding the Phylactery'' active for spellclick'); + +UPDATE `creature_template` SET `minlevel`=80, `maxlevel`=80, `rank`=3, `speed_walk`=2.5, `speed_run`=2.5 WHERE `entry`=28182; + +-- Dusk SAI +SET @ENTRY := 28182; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,53,1,28182,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,21,28182,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Waypoint 21 Reached - Despawn Instant"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Just Summoned - Set Reactstate Passive"), +(@ENTRY,0,3,0,28,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dusk - On Passenger Removed - Despawn Instant"); + +DELETE FROM `waypoints` WHERE `entry`=28182; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(28182, 1,3137.103,3835.605,23.80482, 'Dusk'), +(28182, 2,3151.105,3841.837,26.15598, 'Dusk'), +(28182, 3,3190.882,3844.668,28.8679, 'Dusk'), +(28182, 4,3232.1,3838.992,27.33721, 'Dusk'), +(28182, 5,3282.762,3832.855,27.20968, 'Dusk'), +(28182, 6,3307.908,3829.667,28.43119, 'Dusk'), +(28182, 7,3340.627,3826.012,25.35527, 'Dusk'), +(28182, 8,3352.079,3823.348,27.22523, 'Dusk'), +(28182, 9,3399.218,3818.613,27.66385, 'Dusk'), +(28182, 10,3439.386,3828.509,27.79152, 'Dusk'), +(28182, 11,3456.517,3835.027,29.58427, 'Dusk'), +(28182, 12,3482.749,3841.445,32.40864, 'Dusk'), +(28182, 13,3531.002,3843.39,33.53048, 'Dusk'), +(28182, 14,3549.508,3830.051,39.22393, 'Dusk'), +(28182, 15,3561.163,3818.268,40.28746, 'Dusk'), +(28182, 16,3573.922,3785.856,36.752, 'Dusk'), +(28182, 17,3574.622,3781.316,36.74898, 'Dusk'), +(28182, 18,3583.712,3758.963,36.55262, 'Dusk'), +(28182, 19,3603.148,3712.664,36.74012, 'Dusk'), +(28182, 20,3605.655,3702.697,36.80239, 'Dusk'), +(28182, 21,3618.601,3670.745,35.97186, 'Dusk'); diff --git a/sql/updates/world/2015_02_11_05_world.sql b/sql/updates/world/2015_02_11_05_world.sql new file mode 100644 index 00000000000..3f0d52d3054 --- /dev/null +++ b/sql/updates/world/2015_02_11_05_world.sql @@ -0,0 +1,4 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=10 AND `SourceGroup`=10016 AND `SourceEntry`=46004; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(10, 10016, 46004, 0, 0, 8, 0, 13845, 0, 0, 1, 0, 0, '', 'Sealed vial of poison only drops if player is not rewarded for quest sealed vial of poison'); +UPDATE `gossip_menu_option` SET `npc_option_npcflag`=1 WHERE `menu_id`=9546 AND `id`=1; diff --git a/sql/updates/world/2015_02_12_00_world.sql b/sql/updates/world/2015_02_12_00_world.sql new file mode 100644 index 00000000000..ee05a6eb020 --- /dev/null +++ b/sql/updates/world/2015_02_12_00_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `target_type`=2 WHERE `entryorguid`=28557 AND `source_type`=0 AND `id`=0; diff --git a/sql/updates/world/2015_02_12_01_world.sql b/sql/updates/world/2015_02_12_01_world.sql new file mode 100644 index 00000000000..8ce5742c7a3 --- /dev/null +++ b/sql/updates/world/2015_02_12_01_world.sql @@ -0,0 +1,4 @@ +-- Fix 'Teleport to Lake Wintergrasp' +DELETE FROM `spell_scripts` WHERE `id`=58622; +INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES +(58622, 0, 1, 6, 571, 0, 0, 5386.05, 2840.97, 418.675, 3.14159); diff --git a/sql/updates/world/2015_02_12_02_world.sql b/sql/updates/world/2015_02_12_02_world.sql new file mode 100644 index 00000000000..8b9ed71efea --- /dev/null +++ b/sql/updates/world/2015_02_12_02_world.sql @@ -0,0 +1,6 @@ +-- Magnataur Huntress SAI +SET @ENTRY := 24469; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=2; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,2,0,8,0,100,0,46012,0,0,0,36,25788,0,0,0,0,0,1,0,0,0,0,0,0,0,"Magnataur Huntress - On Spellhit 'Bloodspore Poison' - Update Template To 'Weakened Magnataur Huntress'"); diff --git a/sql/updates/world/2015_02_12_03_world.sql b/sql/updates/world/2015_02_12_03_world.sql new file mode 100644 index 00000000000..e8759e9037a --- /dev/null +++ b/sql/updates/world/2015_02_12_03_world.sql @@ -0,0 +1,14 @@ +-- Festering Corpse SAI +SET @ENTRY := 31130; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,1,58641,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Festering Corpse - On Spellhit 'Olakin's Torch' - Run Script (No Repeat)"); + +-- Actionlist SAI +SET @ENTRY := 3113000; +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,11,59216,0,0,0,0,0,1,0,0,0,0,0,0,0,"Festering Corpse - On Script - Cast 'Burning Corpse'"), +(@ENTRY,9,1,0,0,0,100,0,1000,1000,0,0,33,31130,0,0,0,0,0,7,0,0,0,0,0,0,0,"Festering Corpse - On Script - Quest Credit 'By Fire Be Purged'"), +(@ENTRY,9,2,0,0,0,100,0,6000,9000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Festering Corpse - On Script - Despawn Instant"); diff --git a/sql/updates/world/2015_02_12_04_world.sql b/sql/updates/world/2015_02_12_04_world.sql new file mode 100644 index 00000000000..d841e98f914 --- /dev/null +++ b/sql/updates/world/2015_02_12_04_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `event_scripts` WHERE `id` = 14394; +INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES +(14394,0,8,22395,0,0,0,0,0,0); diff --git a/sql/updates/world/2015_02_12_05_world.sql b/sql/updates/world/2015_02_12_05_world.sql new file mode 100644 index 00000000000..1d7d3bb3cf7 --- /dev/null +++ b/sql/updates/world/2015_02_12_05_world.sql @@ -0,0 +1,37 @@ +-- +UPDATE `creature_template` SET `npcflag`=16777217, `InhabitType`=4 WHERE `entry`=27923; + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=27923; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(27923,46598,1,1); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9045 AND `SourceEntry`=0 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=8 AND `ConditionTarget`=0 AND `ConditionValue1`=11509 AND `ConditionValue2`=0 AND `ConditionValue3`=0; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9045 AND `SourceEntry`=0 AND `SourceId`=0 AND `ElseGroup`=1 AND `ConditionTypeOrReference`=28 AND `ConditionTarget`=0 AND `ConditionValue1`=11509 AND `ConditionValue2`=0 AND `ConditionValue3`=0; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (15, 9045, 0, 0, 0, 8, 0, 11509, 0, 0, 0, 0, 0, '', 'Lou the Cabin Boy - Show gossip option only if player has taken quest 11509'); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (15, 9045, 0, 0, 1, 28, 0, 11509, 0, 0, 0, 0, 0, '', 'Lou the Cabin Boy - Show gossip option only if player has taken quest 11509'); + +-- Lou the Cabin Boy SAI +SET @ENTRY := 27923; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,53,1,27923,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,0,28,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Passenger Removed - Despawn Instant"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Just Summoned - Set Reactstate Passive"), +(@ENTRY,0,3,0,40,0,100,0,13,27923,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Lou the Cabin Boy - On Waypoint 13 Reached - Despawn Instant"); + +DELETE FROM `waypoints` WHERE `entry`=27923; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(27923, 1, 556.8802, -2811.598, -0.076807, 'Lou'), +(27923, 2, 482.0306, -2834.213, -0.049029, 'Lou'), +(27923, 3, 454.4951, -2891.859, -0.049029, 'Lou'), +(27923, 4, 335.4129, -2946.441, -0.049029, 'Lou'), +(27923, 5, 262.8804, -3016.949, -0.021251, 'Lou'), +(27923, 6, 147.2193, -3176.037, -0.049029, 'Lou'), +(27923, 7, 86.28928, -3239.844, -0.021251, 'Lou'), +(27923, 8, -22.49794, -3241.448, -0.076807, 'Lou'), +(27923, 9, -151.2886, -3296.966, 0.006526, 'Lou'), +(27923, 10, -195.9667, -3366.19, -0.132362, 'Lou'), +(27923, 11, -255.5049, -3519.14, -0.021251, 'Lou'), +(27923, 12, -217.6928, -3555.593, -0.076807, 'Lou'), +(27923, 13, -201.783, -3548.484, -0.021251, 'Lou'); diff --git a/sql/updates/world/2015_02_12_06_world.sql b/sql/updates/world/2015_02_12_06_world.sql new file mode 100644 index 00000000000..d6eaf64d14e --- /dev/null +++ b/sql/updates/world/2015_02_12_06_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `spell1`=52331,`spell2`=52358,`spell3`=53032,`spell4`=52327,`spell5`=52321 WHERE `entry`=28115; diff --git a/sql/updates/world/2015_02_12_07_world.sql b/sql/updates/world/2015_02_12_07_world.sql new file mode 100644 index 00000000000..7fc438ed015 --- /dev/null +++ b/sql/updates/world/2015_02_12_07_world.sql @@ -0,0 +1,53 @@ +-- Dawnblade Marksman SAI +SET @ENTRY := 24979; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,10,0,100,0,0,70,7000,13000,11,45101,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dawnblade Marksman - Within 0-70 Range Out of Combat LoS - Cast 'Flaming Arrow'"), +(@ENTRY,0,1,0,1,0,100,0,3000,3000,5000,5000,11,45101,0,0,0,0,0,19,5202,26,0,0,0,0,0,"Dawnblade Marksman - Out of Combat - Cast 'Flaming Arrow'"); + +-- Pathing for Entry: 25001 'TDB FORMAT' +SET @NPC := 93967; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=12616.02,`position_y`=-6826.477,`position_z`=13.30631 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,12616.02,-6826.477,13.30631,0,0,0,0,100,0), +(@PATH,2,12615.95,-6826.547,13.58466,0,0,0,0,100,0), +(@PATH,3,12607.38,-6830.652,13.76608,0,0,0,0,100,0), +(@PATH,4,12591.51,-6834.896,13.87594,0,0,0,0,100,0), +(@PATH,5,12566.56,-6827.448,16.54662,0,0,0,0,100,0), +(@PATH,6,12579.94,-6832.642,14.98803,0,0,0,0,100,0), +(@PATH,7,12584.21,-6834.116,14.20888,0,0,0,0,100,0), +(@PATH,8,12591.75,-6834.886,13.74139,0,0,0,0,100,0), +(@PATH,9,12607.81,-6830.203,13.69277,0,0,0,0,100,0), +(@PATH,10,12616.39,-6826.547,13.49831,0,0,0,0,100,0), +(@PATH,11,12616.02,-6826.477,13.30631,0,0,0,0,100,0), +(@PATH,12,12615.95,-6826.547,13.5846,0,0,0,0,100,0), +(@PATH,13,12607.6,-6830.664,13.76679,0,0,0,0,100,0), +(@PATH,14,12591.65,-6834.927,13.87652,0,0,0,0,100,0), +(@PATH,15,12566.47,-6827.438,16.55291,0,0,0,0,100,0), +(@PATH,16,12579.94,-6832.642,14.98803,0,0,0,0,100,0), +(@PATH,17,12584.21,-6834.114,14.20937,0,0,0,0,100,0), +(@PATH,18,12591.73,-6834.884,13.74244,0,0,0,0,100,0), +(@PATH,19,12607.78,-6830.21,13.69292,0,0,0,0,100,0), +(@PATH,20,12616.38,-6826.549,13.49841,0,0,0,0,100,0), +(@PATH,21,12616.02,-6826.477,13.30631,0,0,0,0,100,0), +(@PATH,22,12615.95,-6826.547,13.58466,0,0,0,0,100,0), +(@PATH,23,12607.59,-6830.418,13.76704,0,0,0,0,100,0); +-- 0x1C09084240186A4000002E000055E86A .go 12616.02 -6826.477 13.30631 + +-- Pathing for Entry: 25001 'TDB FORMAT' +SET @NPC := 93966; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=12488.71,`position_y`=-6887.34,`position_z`=16.40788 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,12488.71,-6887.34,16.40788,0,0,0,0,100,0), +(@PATH,2,12495.96,-6887.744,16.62086,0,0,0,0,100,0), +(@PATH,3,12491.32,-6874.924,17.07642,0,0,0,0,100,0); +-- 0x1C09084240186A4000002E0000558FDB .go 12488.71 -6887.34 16.40788 diff --git a/sql/updates/world/2015_02_12_08_world.sql b/sql/updates/world/2015_02_12_08_world.sql new file mode 100644 index 00000000000..70c51199c8c --- /dev/null +++ b/sql/updates/world/2015_02_12_08_world.sql @@ -0,0 +1,68 @@ +-- +SET @Ameer :=20482; -- Image of Commander Ameer +SET @SpellSummon:=35679; -- Summons Protectorate. +SET @Protectorate:=20802; -- Protectorate Demolitionist +SET @Cleave :=30619; -- Protectorate Demolitionist's Cleave +SET @Hamstring :=31553; -- Protectorate Demolitionist's Hamstring +SET @Strike :=16856; -- Protectorate Demolitionist's Mortal Striket +SET @Stalker :=20474; -- Ethereum Nexus-Stalker +SET @Sshadowtouched:=36515; -- Ethereum Nexus-Stalker's Shadowtouched +SET @Sshadowsurge:=36517; -- Ethereum Nexus-Stalker's Shadowsurge + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Ameer,@Protectorate,@Stalker); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`= @Ameer AND id IN (5,6); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (@Protectorate,@Stalker); +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN (@Protectorate*100); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Ameer,0,5,0,19,0,100,0,10406,0,0,0,85,@SpellSummon,2,0,0,0,0,7,0,0,0,0,0,0,0,'Image of Commander Ameer - On Quest 10406 accepted - Cast Summon Protectorate Demolitionist'), +(@Ameer,0,6,0,20,0,100,0,10406,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Image of Commander Ameer - On Quest 10406 accepted - Cast Summon Protectorate Demolitionist'), +(@Protectorate,0,0,0,54,0,100,0,0,0,0,0,1,0,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Just Summoned - Say 0'), +(@Protectorate,0,1,0,52,0,100,0,0,@Protectorate,0,0,53,0,@Protectorate,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Text Over - Start Wp'), +(@Protectorate,0,2,3,40,0,100,0,3,@Protectorate,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 3 - Pause Wp'), +(@Protectorate,0,3,0,61,0,100,0,0,0,0,0,1,1,5000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link Event - Say 1'), +(@Protectorate,0,4,5,40,0,100,0,5,@Protectorate,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 5 - Pause Wp'), +(@Protectorate,0,5,0,61,0,100,0,0,0,0,0,1,2,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link Event - Say 2'), +(@Protectorate,0,6,7,40,0,100,0,7,@Protectorate,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 7 - Pause Wp'), +(@Protectorate*100,9,0,0,0,0,100,0,0,0,0,0,1,3,14000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Say 3'), +(@Protectorate*100,9,1,0,0,0,100,0,500,500,0,0,5,28,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Emote Work'), +(@Protectorate*100,9,2,0,0,0,100,0,3500,3500,0,0,12,@Stalker,2,30000,1,0,0,8,0,0,0,3866.837402,2321.753418,113.736206,0.120686,'Protectorate Demolitionist - Script - Summon Nexus-Stalker'), +(@Protectorate*100,9,3,0,0,0,100,0,0,0,0,0,12,@Stalker,2,30000,1,0,0,8,0,0,0,3879.268799,2321.939209,115.065338,3.137270,'Protectorate Demolitionist - Script - Summon Nexus-Stalker'), +(@Protectorate*100,9,4,0,0,0,100,0,6000,6000,0,0,1,4,4000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Say 4'), +(@Protectorate*100,9,5,0,0,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Run'), +(@Protectorate*100,9,6,0,0,0,100,0,0,0,0,0,65,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Resume WP'), +(@Protectorate*100,9,7,0,0,0,100,0,0,0,0,0,5,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Script - Emote Work'), +(@Protectorate,0,7,0,61,0,100,0,0,0,0,0,80,@Protectorate*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link - Start Script'), +(@Protectorate,0,8,9,40,0,100,0,8,@Protectorate,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Reached WP 8 - Pause Wp'), +(@Protectorate,0,9,10,61,0,100,0,0,0,0,0,1,5,6000,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Link - Say 5'), +(@Protectorate,0,10,0,61,0,100,0,0,0,0,0,15,10406,0,0,0,0,0,21,15,0,0,0,0,0,0,'Protectorate Demolitionist - Link - Complete Quest'), +(@Protectorate,0,11,12,52,0,100,0,5,@Protectorate,0,0,11,35517,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Text Over - cast teleportaion visual'), +(@Protectorate,0,12,0,61,0,100,0,0,0,0,0,41,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - Text Over - despawn'), +(@Protectorate,0,13,0,4,0,100,0,0,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Protectorate Demolitionist - On aggro - talk'), +(@Stalker,0,0,0,54,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ethereum Nexus-Stalker - On respawn - Say 0'), +(@Stalker,0,1,0,0,0,100,0,200,200,5000,5000,11,@Sshadowtouched,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ethereum Nexus-Stalker - IC - Cast Shadowtouched'), +(@Stalker,0,2,0,0,0,100,0,500,2000,10000,12000,11,@Sshadowsurge,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ethereum Nexus-Stalker -IC - Cast Shadowsurge'); + +DELETE FROM `creature_text` WHERE `entry` IN (@Protectorate,@Stalker, @Ameer); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextID`) VALUES +(@Protectorate,0,0,'Let''s do this... Just keep me covered and I''ll deliver the package.',12,0,100,0,0,0,'Protectorate Demolitionist - Comienza escort', 18432), +(@Protectorate,1,0,'By the second sun of K''aresh, look at this place! I can only imagine what Salhadaar is planning. Come on, let''s keep going.',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 1', 18433), +(@Protectorate,2,0,'Look there, fleshling! Salhadaar''s conduits! He''s keeping well fed...',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 4', 18435), +(@Protectorate,3,0,'Alright, keep me protected while I plant this disruptor. This shouldn''t take very long..',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 6', 18436), +(@Protectorate,4,0,'Done! Back up! Back up!',12,0,100,0,0,0,'Protectorate Demolitionist - Disruptor', 18437), +(@Protectorate,5,0,'Looks like my work here is done. Report to the holo-image of Ameer over at the transporter.',12,0,100,0,0,0,'Protectorate Demolitionist - Waypoint 7', 18442), +(@Protectorate,6,0,'I''m under attack! I repeat, I am under attack!',12,0,100,0,0,0,'Protectorate Demolitionist - Being attacked', 18439), +(@Protectorate,6,1,'Keep these things off me!',12,0,100,0,0,0,'Protectorate Demolitionist - Being attacked', 18438), +(@Stalker,0,0,'Protect the conduit! Stop the intruders!',12,0,100,0,0,0,'Ethereum Nexus-Stalker - Protect Conduct',18441), +(@Ameer,0,0,'Hostiles detected. Ending transmission.',12,0,100,15,0,0,'Image of Commander Ameer - On aggro', 18190), +(@Ameer,1,0,'Protectorate transmission complete.',12,0,100,0,0,0,'Ameer - Quest rewarded',18191); + +DELETE FROM `waypoints` WHERE `entry`=@Protectorate; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(@Protectorate,1,4006.368652,2323.582520,111.407501,'Protectorate Demolitionist'), +(@Protectorate,2,3946.502441,2329.601074,113.647179,'Protectorate Demolitionist'), +(@Protectorate,3,3934.442383,2333.215088,110.971733,'Protectorate Demolitionist'), +(@Protectorate,4,3912.811035,2339.968018,113.876434,'Protectorate Demolitionist'), +(@Protectorate,5,3887.416748,2408.539063,113.081406,'Protectorate Demolitionist'), +(@Protectorate,6,3863.596191,2348.160645,115.446754,'Protectorate Demolitionist'), +(@Protectorate,7,3872.944580,2321.384766,114.501541,'Protectorate Demolitionist'), +(@Protectorate,8,3859.826416,2360.402588,114.603340,'Protectorate Demolitionist'); diff --git a/sql/updates/world/2015_02_12_09_world.sql b/sql/updates/world/2015_02_12_09_world.sql new file mode 100644 index 00000000000..36c11d35ee8 --- /dev/null +++ b/sql/updates/world/2015_02_12_09_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE creature_template SET npcflag=0 WHERE entry=6776; diff --git a/sql/updates/world/2015_02_12_10_world.sql b/sql/updates/world/2015_02_12_10_world.sql new file mode 100644 index 00000000000..cb8f0e95b39 --- /dev/null +++ b/sql/updates/world/2015_02_12_10_world.sql @@ -0,0 +1,62 @@ +-- +UPDATE `creature_template` SET `ScriptName`='' WHERE `entry`=2983; +-- The Plains Vision SAI +SET @ENTRY := 2983; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,53,1,2983,0,0,0,0,1,0,0,0,0,0,0,0,"The Plains Vision - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,50,2983,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"The Plains Vision - On Waypoint 50 Reached - Despawn In 1000 ms"); + +DELETE FROM `waypoints` WHERE `entry`=@ENTRY; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(@ENTRY, 1, -2226.32, -408.095, -9.36235, 'The Plains Vision'), +(@ENTRY, 2, -2203.04, -437.212, -5.72498, 'The Plains Vision'), +(@ENTRY, 3, -2163.91, -457.851, -7.09049, 'The Plains Vision'), +(@ENTRY, 4, -2123.87, -448.137, -9.29591, 'The Plains Vision'), +(@ENTRY, 5, -2104.66, -427.166, -6.49513, 'The Plains Vision'), +(@ENTRY, 6, -2101.48, -422.826, -5.3567, 'The Plains Vision'), +(@ENTRY, 7, -2097.56, -417.083, -7.16716, 'The Plains Vision'), +(@ENTRY, 8, -2084.87, -398.626, -9.88973, 'The Plains Vision'), +(@ENTRY, 9, -2072.71, -382.324, -10.2488, 'The Plains Vision'), +(@ENTRY, 10, -2054.05, -356.728, -6.22468, 'The Plains Vision'), +(@ENTRY, 11, -2051.8, -353.645, -5.35791, 'The Plains Vision'), +(@ENTRY, 12, -2049.08, -349.912, -6.15723, 'The Plains Vision'), +(@ENTRY, 13, -2030.6, -310.724, -9.59302, 'The Plains Vision'), +(@ENTRY, 14, -2002.15, -249.308, -10.8124, 'The Plains Vision'), +(@ENTRY, 15, -1972.85, -195.811, -10.6316, 'The Plains Vision'), +(@ENTRY, 16, -1940.93, -147.652, -11.7055, 'The Plains Vision'), +(@ENTRY, 17, -1888.06, -81.943, -11.4404, 'The Plains Vision'), +(@ENTRY, 18, -1837.05, -34.0109, -12.258, 'The Plains Vision'), +(@ENTRY, 19, -1796.12, -14.6462, -10.3581, 'The Plains Vision'), +(@ENTRY, 20, -1732.61, -4.27746, -10.0213, 'The Plains Vision'), +(@ENTRY, 21, -1688.94, -0.829945, -11.7103, 'The Plains Vision'), +(@ENTRY, 22, -1681.32, 13.0313, -9.48056, 'The Plains Vision'), +(@ENTRY, 23, -1677.04, 36.8349, -7.10318, 'The Plains Vision'), +(@ENTRY, 24, -1675.2, 68.559, -8.95384, 'The Plains Vision'), +(@ENTRY, 25, -1676.57, 89.023, -9.65104, 'The Plains Vision'), +(@ENTRY, 26, -1678.16, 110.939, -10.1782, 'The Plains Vision'), +(@ENTRY, 27, -1677.86, 128.681, -5.73869, 'The Plains Vision'), +(@ENTRY, 28, -1675.27, 144.324, -3.47916, 'The Plains Vision'), +(@ENTRY, 29, -1671.7, 163.169, -1.23098, 'The Plains Vision'), +(@ENTRY, 30, -1666.61, 181.584, 5.26145, 'The Plains Vision'), +(@ENTRY, 31, -1661.51, 196.154, 8.95252, 'The Plains Vision'), +(@ENTRY, 32, -1655.47, 210.811, 8.38727, 'The Plains Vision'), +(@ENTRY, 33, -1647.07, 226.947, 5.27755, 'The Plains Vision'), +(@ENTRY, 34, -1621.65, 232.91, 2.69579, 'The Plains Vision'), +(@ENTRY, 35, -1600.23, 237.641, 2.98539, 'The Plains Vision'), +(@ENTRY, 36, -1576.07, 242.546, 4.66541, 'The Plains Vision'), +(@ENTRY, 37, -1554.57, 248.494, 6.60377, 'The Plains Vision'), +(@ENTRY, 38, -1547.53, 259.302, 10.6741, 'The Plains Vision'), +(@ENTRY, 39, -1541.7, 269.847, 16.4418, 'The Plains Vision'), +(@ENTRY, 40, -1539.83, 278.989, 21.0597, 'The Plains Vision'), +(@ENTRY, 41, -1540.16, 290.219, 27.8247, 'The Plains Vision'), +(@ENTRY, 42, -1538.99, 298.983, 34.0032, 'The Plains Vision'), +(@ENTRY, 43, -1540.38, 307.337, 41.3557, 'The Plains Vision'), +(@ENTRY, 44, -1536.61, 314.884, 48.0179, 'The Plains Vision'), +(@ENTRY, 45, -1532.42, 323.277, 55.6667, 'The Plains Vision'), +(@ENTRY, 46, -1528.77, 329.774, 61.1525, 'The Plains Vision'), +(@ENTRY, 47, -1525.65, 333.18, 63.2161, 'The Plains Vision'), +(@ENTRY, 48, -1517.01, 350.713, 62.4286, 'The Plains Vision'), +(@ENTRY, 49, -1511.39, 362.537, 62.4539, 'The Plains Vision'), +(@ENTRY, 50, -1508.68, 366.822, 62.733, 'The Plains Vision'); diff --git a/sql/updates/world/2015_02_13_00_world.sql b/sql/updates/world/2015_02_13_00_world.sql new file mode 100644 index 00000000000..c36958c180d --- /dev/null +++ b/sql/updates/world/2015_02_13_00_world.sql @@ -0,0 +1,58 @@ +SET @NPC_BLACK_KNIGHT := 33785; +SET @NPC_CAVIN := 33522; +SET @SPELL_CHARGE := 63003; +SET @SPELL_SHIELD_BREAKER := 65147; +SET @SPELL_DARK_SHIELD := 64505; +SET @SPELL_BLACK_NIGHT_TRANSFORM := 64490; -- Apply Aura: Change Model (34104) +SET @SPELL_BLACK_NIGHT_TRANSFORM_2 := 64498; -- Apply Aura: Increase Max Health +SET @SPELL_FULL_HEAL := 25840; +SET @GOSSIP := 10383; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_BLACK_KNIGHT, @NPC_CAVIN); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@NPC_BLACK_KNIGHT; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@NPC_BLACK_KNIGHT*100; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@NPC_BLACK_KNIGHT*100+1; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@NPC_CAVIN; +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid`=@NPC_CAVIN*100; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@NPC_CAVIN,0,0,1,62,0,100,0,@GOSSIP,0,0,0,80,@NPC_CAVIN*100,0,2,0,0,0,1,0,0,0,0,0,0,0,'Cavin - On gossip option select - Run script'), +(@NPC_CAVIN,0,1,2,61,0,100,0,0,0,0,0,12,@NPC_BLACK_KNIGHT,1,120000,0,0,0,8,0,0,0,8482.370117, 964.506653, 547.292908, 3.253865,'Cavin - On gossip option select - Summon the Black Knight'), +(@NPC_CAVIN,0,2,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Cavin - On gossip option select - Close gossip'), +(@NPC_CAVIN*100,9,0,0,0,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Cavin - On Script - Turn off Gossip & Gossip flags'), +(@NPC_CAVIN*100,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Cavin - On Script - Say text 0'), +(@NPC_CAVIN*100,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,7,0,0,0,0,0,0,0,'Cavin - On Script - Say text 1'), +(@NPC_BLACK_KNIGHT,0,0,0,54,0,100,1,0,0,0,0,80,@NPC_BLACK_KNIGHT*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - Just Summoned - Mount to entry'), +(@NPC_BLACK_KNIGHT*100+1,9,0,0,0,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,8426.153320, 962.307861, 544.675293, 6.273711,'Blackknight - On Script - MOVE TO POS'), +(@NPC_BLACK_KNIGHT*100+1,9,1,0,0,0,100,0,10000,10000,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - REMOVE IMMUNE TO PC'), +(@NPC_BLACK_KNIGHT*100+1,9,2,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - REMOVE IMMUNE TO PC'), +(@NPC_BLACK_KNIGHT*100+1,9,3,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,19,33782,25,0,0,0,0,0,'Blackknight - On Script - attack'), +(@NPC_BLACK_KNIGHT,0,1,0,4,0,100,0,0,0,0,0,11,@SPELL_CHARGE,0,0,0,0,0,2,0,0,0,0,0,0,0,'Blackknight - On Aggro - Cast Charge'), +(@NPC_BLACK_KNIGHT,0,2,0,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Aggro - Set Phase 1'), +(@NPC_BLACK_KNIGHT,0,3,0,0,1,100,0,10000,10000,15000,15000,25,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - In Phase 1 - Flee for assist'), +(@NPC_BLACK_KNIGHT,0,4,0,9,1,100,0,5,30,1000,1000,11,@SPELL_CHARGE,0,0,0,0,0,2,0,0,0,0,0,0,0,'Blackknight - In Phase 1& On Range - Cast Charge'), +(@NPC_BLACK_KNIGHT,0,5,0,9,1,100,0,3,30,1500,2000,11,@SPELL_SHIELD_BREAKER,0,0,0,0,0,2,0,0,0,0,0,0,0,'Blackknight - In Phase 1 & On Range - Cast Shield Breaker'), +(@NPC_BLACK_KNIGHT,0,6,0,6,0,100,0,0,0,0,0,81,1,0,0,0,0,0,10,85140,@NPC_CAVIN,0,0,0,0,0,'Blackknight - On Death - Turn on Gossip & Gossip flags on Cavin'), +(@NPC_BLACK_KNIGHT,0,7,8,1,0,100,0,20000,20000,20000,20000,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - Out Of Combat after 20s - Despawn'), +(@NPC_BLACK_KNIGHT,0,8,0,61,0,100,0,0,0,0,0,81,1,0,0,0,0,0,10,85140,@NPC_CAVIN,0,0,0,0,0,'Blackknight - Out Of Combat after 20s - Turn on Gossip & Gossip flags on Cavin'), +(@NPC_BLACK_KNIGHT,0,9,0,2,1,100,1,0,25,0,0,80,@NPC_BLACK_KNIGHT*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On 25% health - Run script'), +(@NPC_BLACK_KNIGHT*100,9,0,0,0,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - State passive'), +(@NPC_BLACK_KNIGHT*100,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Say text 0'), +(@NPC_BLACK_KNIGHT*100,9,2,0,0,0,100,0,0,0,0,0,43,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Unmount'), +(@NPC_BLACK_KNIGHT*100,9,3,0,0,0,100,0,0,0,0,0,51,0,0,0,0,0,0,19,33782,30,0,0,0,0,0,'Blackknight - On Script - Unmount player'), +(@NPC_BLACK_KNIGHT*100,9,4,0,0,0,100,0,0,0,0,0,11,@SPELL_DARK_SHIELD,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Cast Dark Shield'), +(@NPC_BLACK_KNIGHT*100,9,5,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Aggro - Set Phase 0'), +(@NPC_BLACK_KNIGHT*100,9,6,0,0,0,100,0,6000,6000,0,0,11,@SPELL_BLACK_NIGHT_TRANSFORM,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Apply Aura'), +(@NPC_BLACK_KNIGHT*100,9,7,0,0,0,100,0,0,0,0,0,11,@SPELL_FULL_HEAL,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Full hp'), +(@NPC_BLACK_KNIGHT*100,9,8,0,0,0,100,0,1000,1000,0,0,11,@SPELL_BLACK_NIGHT_TRANSFORM_2,2,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Increase Max Health'), +(@NPC_BLACK_KNIGHT*100,9,9,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - State Aggresive'), +(@NPC_BLACK_KNIGHT*100,9,10,0,0,0,100,0,1000,1000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blackknight - On Script - Say text 1'), +(@NPC_BLACK_KNIGHT*100,9,11,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,15,0,0,0,0,0,0,'Blackknight - On Script - Start Attack'); + +DELETE FROM `creature_text` WHERE `entry`IN (@NPC_BLACK_KNIGHT, @NPC_CAVIN); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`,`BroadcastTextID`) VALUES +(@NPC_BLACK_KNIGHT,0,0,'Get off that horse and fight me man-to-man!',14,0,100,0,0,0,'yell',34169), +(@NPC_BLACK_KNIGHT,1,0,'I will not fail you, master!',14,0,100,0,0,0,'yell',34185), +(@NPC_CAVIN,0,0,'$N challenges the Black Knight to trial by combat!',14,0,100,0,0,0,'yell',33803), +(@NPC_CAVIN,1,0,'Good luck, $N.',12,0,100,0,0,0,'say',33804); + +UPDATE `conditions` SET `ConditionValue2`=1 WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=10383 AND `SourceEntry`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=1 AND `ConditionValue1`=63663; diff --git a/sql/updates/world/2015_02_13_01_world.sql b/sql/updates/world/2015_02_13_01_world.sql new file mode 100644 index 00000000000..03b117efc12 --- /dev/null +++ b/sql/updates/world/2015_02_13_01_world.sql @@ -0,0 +1,66 @@ +-- +SET @KC_FIRST_PROPHECY := 22798; +SET @KC_SECOND_PROPHECY := 22799; +SET @KC_THIRD_PROPHECY := 22800; +SET @KC_FOURTH_PROPHECY := 22801; +SET @QUEST_WHISPERS_RAVEN_GOD := 10607; +SET @NPC_VISION_RAVEN_GOD := 21861; +SET @SPELL_UNDERSTANDING_RAVENSPEECH := 37466; +SET @AURA_UNDERSTANDING_RAVENSPEECH := 37642; +SET @Falconwing := 19988; +SET @Harbinger := 19989; +SET @Scorncrow := 19990; + +UPDATE `creature_template` SET `exp`='1', `minlevel`='67', `maxlevel`='67', `unit_flags`='768', `type`='7' WHERE `entry`=@NPC_VISION_RAVEN_GOD; + +DELETE FROM `creature_text` WHERE `entry`=@NPC_VISION_RAVEN_GOD; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@NPC_VISION_RAVEN_GOD,0,0,'From the darkest night shall rise again the raven, shall take flight in the shadows, shall reveal the nature of its kind. Prepare yourself for its coming, for the faithful shall be elevated to take flight with the raven, the rest be forgotten to walk upon the ground, clipped wings and shame.',15,0,100,0,0,0,'The Voice of the Raven God - The First Prophecy', 19475), +(@NPC_VISION_RAVEN_GOD,1,0,'Steel your minds and guard your thoughts. The dark wings will cloud and consume the minds of the weak, a flock of thralls whose feet may never leave the ground.', 15,0,100,0,0,0,'The Voice of the Raven God - The Second Prophecy', 19476), +(@NPC_VISION_RAVEN_GOD,2,0,'The Old blood will flow once again with the coming of the raven, the return of the darkness in the skies. Scarlet night, and the rise of the old.', 15,0,100,0,0,0,'The Voice of the Raven God - The Third Prophecy', 19477), +(@NPC_VISION_RAVEN_GOD,3,0,'The raven was struck down once for flying too high, unready. The eons have prepared the Dark Watcher for its ascent, to draw the dark cloak across the horizon.', 15,0,100,0,0,0,'The Voice of the Raven God - The Fourth Prophecy', 19478); + +UPDATE creature_template SET AIName="SmartAI" WHERE entry IN (@Falconwing, @Harbinger, @Scorncrow,@NPC_VISION_RAVEN_GOD); +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (184950,184967,184968,184969); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Falconwing, @Harbinger, @Scorncrow,@NPC_VISION_RAVEN_GOD) AND `source_type`=0; -- Npcs +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (184950,184967,184968,184969) AND `source_type`=1; -- Gameobjects (totems) +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +-- Npcs a matar para que te den el buff +(@Falconwing,0,0,0,0,0,100,0,2500,5500,10000,11000,11,37587,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Falconwing - In Combat - Cast Bestial Wrath"), +(@Falconwing,0,1,0,6,0,35,0,0,0,0,0,85,@SPELL_UNDERSTANDING_RAVENSPEECH,2,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Grishna Falconwing - On Death - Cast Understanding Ravenspeech"), +(@Harbinger,0,0,0,0,0,100,0,2500,5500,20000,21000,11,37589,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Harbinger - In Combat - Cast Shriveling Gaze"), +(@Harbinger,0,1,0,0,0,100,0,1000,6000,10000,15000,11,9532,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Harbinger - In Combat - Cast Lightning Bolt"), +(@Harbinger,0,2,0,6,0,35,0,0,0,0,0,85,@SPELL_UNDERSTANDING_RAVENSPEECH,2,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Grishna Harbringer - On Death - Cast Understanding Ravenspeech"), +(@Scorncrow,0,0,0,0,0,100,0,2500,5500,10000,11000,11,35321,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Grishna Scorncrow - In Combat - Cast Gushing Wound"), +(@Scorncrow,0,1,0,6,0,35,0,0,0,0,0,85,@SPELL_UNDERSTANDING_RAVENSPEECH,2,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,"Grishna Scorncrow - On Death - Cast Understanding Ravenspeech"), +-- Vision Of Raven God +(@NPC_VISION_RAVEN_GOD,0,0,1,38,0,100,0,1,1,0,0,33,@KC_FIRST_PROPHECY,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,1,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 0"), +(@NPC_VISION_RAVEN_GOD,0,2,3,38,0,100,0,1,2,0,0,33,@KC_SECOND_PROPHECY,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,3,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 1"), +(@NPC_VISION_RAVEN_GOD,0,4,5,38,0,100,0,1,3,0,0,33,@KC_THIRD_PROPHECY ,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,5,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 2"), +(@NPC_VISION_RAVEN_GOD,0,6,7,38,0,100,0,1,4,0,0,33,@KC_FOURTH_PROPHECY,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Call Killedmonster"), +(@NPC_VISION_RAVEN_GOD,0,7,0,61,0,100,0,0,0,0,0,1,3,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 3"), +-- GOB Totems +(184950,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3779.987061,6729.603027,180.498413,5.71490,"First Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184950,1,1,0,61,0,100,0,0,0,0,0,45,1,1,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"First Prophecy - Link - Set Data 1 to Raven God"), +(184967,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3629.285889,6542.140137,155.004669,2.56267,"Second Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184967,1,1,0,61,0,100,0,0,0,0,0,45,1,2,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"Second Prophecy - Link - Set Data 2 to Raven God"), +(184968,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3736.950439,6640.749023,133.674530,3.33629,"Third Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184968,1,1,0,61,0,100,0,0,0,0,0,45,1,3,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"Third Prophecy - Link - Set Data 3 to Raven God"), +(184969,1,0,1,64,0,100,0,0,0,0,0,12,@NPC_VISION_RAVEN_GOD,3,6000,0,0,0,8,0,0,0,3572.574219,6669.196289,128.455444,5.62290,"Four Prophecy - On Gossip Hello - Summon Whisper Raven God"), +(184969,1,1,0,61,0,100,0,0,0,0,0,45,1,4,0,0,0,0,11,@NPC_VISION_RAVEN_GOD,20,0,0,0,0,0,"Fourth Prophecy - Link - Set Data 4 to Raven God"); + +DELETE FROM `conditions` WHERE `ConditionValue1`=@AURA_UNDERSTANDING_RAVENSPEECH AND `sourcetypeorreferenceid`=22; +DELETE FROM `conditions` WHERE `ConditionValue1`=@NPC_VISION_RAVEN_GOD AND `sourcetypeorreferenceid`=22; +DELETE FROM `conditions` WHERE `SourceEntry`=@NPC_VISION_RAVEN_GOD AND `sourcetypeorreferenceid`=22; +INSERT INTO `conditions` (SourceTypeOrReferenceId,SourceGroup,SourceEntry,SourceId,ElseGroup,ConditionTypeOrReference,ConditionTarget,ConditionValue1,ConditionValue2,ConditionValue3,NegativeCondition,ErrorType,ErrorTextId,ScriptName,`Comment`) VALUES +(22,1,184950,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb First Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184950,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb First Prophecy - SAI 1, only if Raven God is not near'), +(22,1,184967,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb Second Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184967,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb Second Prophecy - SAI 1, only if Raven God is not near'), +(22,1,184968,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb Third Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184968,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb Third Prophecy - SAI 1, only if Raven God is not near'), +(22,1,184969,1,0,1 ,0,@AURA_UNDERSTANDING_RAVENSPEECH,0,0,0,0,0,'','GOb Fourth Prophecy - SAI 1, only if player has aura Understanding Ravenspeech'), +(22,1,184969,1,0,29,0,@NPC_VISION_RAVEN_GOD,20,0,1,0,0,'','GOb Fourth Prophecy - SAI 1, only if Raven God is not near'); diff --git a/sql/updates/world/2015_02_13_02_world.sql b/sql/updates/world/2015_02_13_02_world.sql new file mode 100644 index 00000000000..1780a238dca --- /dev/null +++ b/sql/updates/world/2015_02_13_02_world.sql @@ -0,0 +1,144 @@ +-- +DELETE FROM `areatrigger_scripts` WHERE `ScriptName` IN ('at_twiggy_flathead','at_madrigosa','at_eye_of_eternity_improvised_floor'); + +UPDATE `gameobject_template` SET `ScriptName`='' WHERE `ScriptName` IN ('go_defias_cannon','go_door_lever_dm','go_kael_orb','go_movie_orb'); + +UPDATE `item_template` SET `ScriptName`='' WHERE `ScriptName`='internalitemhandler'; + +UPDATE `creature_template` SET `ScriptName`='' WHERE `ScriptName` IN ('do_nothing','npc_aran_blizzard','npc_bladespire_ogre','npc_blaze','npc_crystalline_tangler','npc_demon_fire','npc_flame_crash','npc_generic_harpoon_cannon','npc_homunculus','npc_invis_legion_teleporter','npc_magnetic_core','npc_mindless_skeleton','npc_nether_vapor','npc_novos_minion','npc_sliver','npc_thuzadin_acolyte','npc_tracy_proudwell','npc_vereth_the_cunning','npc_void_zone','npc_yauj_brood'); + +DELETE FROM `spell_script_names` WHERE `scriptname` IN ('spell_ex_463', 'spell_ex_5581', 'spell_ex_66244', 'spell_ex_absorb_aura', 'spell_mimiron_flame_suppressant'); + +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=37120 AND `source_type`=0 AND `id`=3 AND `link`=7; + +-- Grand Necrolord Antiok SAI +SET @ENTRY := 28006; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,7000,18000,18000,11,32863,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - In Combat - Cast 'Seed of Corruption'"), +(@ENTRY,0,1,0,0,0,100,0,1100,1100,20000,20000,11,50455,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - In Combat - Cast 'Shadow Bolt'"), +(@ENTRY,0,2,0,1,0,100,0,10000,10000,40000,40000,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - Out of Combat - Say Line 1"), +(@ENTRY,0,3,0,2,0,100,1,0,25,0,0,11,50497,1,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - Between 0-25% Health - Cast 'Scream of Chaos' (No Repeat)"), +(@ENTRY,0,4,0,6,0,100,0,0,0,0,0,11,50472,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Just Died - Cast 'Drop Scythe of Antiok'"), +(@ENTRY,0,5,6,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Say Line 0"), +(@ENTRY,0,6,0,61,0,100,0,0,0,0,0,11,55984,1,0,0,0,0,2,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Cast 'Shadow Bolt'"), +(@ENTRY,0,7,8,4,0,100,0,0,0,0,0,51,0,0,0,0,0,0,19,27996,20,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Kill Target"), +(@ENTRY,0,8,0,61,0,100,0,0,0,0,0,28,50494,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grand Necrolord Antiok - On Aggro - Remove Aura 'Shroud of Lightning'"); + +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=27987 AND `source_type`=0 AND `id`=0 AND `link`=1; +UPDATE `smart_scripts` SET `link`=11 WHERE `entryorguid`=27788 AND `source_type`=0 AND `id`=2 AND `link`=12; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=26701 AND `source_type`=0 AND `id`=0 AND `link`=1; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=24035 AND `source_type`=0 AND `id`=0 AND `link`=1; + +-- Ara Technician SAI +SET @ENTRY := 20438; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,38,0,100,0,4,4,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Data Set 4 4 - Set Reactstate Defensive"), +(@ENTRY,0,1,0,61,0,100,0,4,4,0,0,87,2043900,2043901,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Data Set 4 4 - Run Random Script"), +(@ENTRY,0,2,0,1,1,100,1,12000,12000,0,0,45,1,1,0,0,0,0,20,184312,0,0,0,0,0,0,"Ara Technician - Out of Combat - Set Data 1 1 (Phase 1) (No Repeat)"), +(@ENTRY,0,3,4,40,0,100,0,1,0,0,0,11,35176,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Waypoint 1 Reached - Cast 'Interrupt Shutdown'"), +(@ENTRY,0,4,0,61,0,100,0,1,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Waypoint 1 Reached - Set Event Phase 1"), +(@ENTRY,0,5,6,4,0,100,0,1,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Set Event Phase 0"), +(@ENTRY,0,6,7,61,0,100,0,1,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Set Reactstate Aggressive"), +(@ENTRY,0,7,8,61,0,100,0,1,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Start Attacking"), +(@ENTRY,0,8,0,61,0,100,0,1,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ara Technician - On Aggro - Enable Combat Movement"), +(@ENTRY,0,9,0,7,0,100,0,0,0,0,0,45,1,1,0,0,0,0,20,184312,0,0,0,0,0,0,"Ara Technician - On Evade - Set Data 1 1"); + +-- Audrid SAI +SET @ENTRY := 18903; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,0,0,0,0,53,0,18903,1,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Respawn - Start Waypoint"), +(@ENTRY,0,1,11,40,0,100,0,4,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 4 Reached - Pause Waypoint"), +(@ENTRY,0,2,12,40,0,100,0,9,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 9 Reached - Pause Waypoint"), +(@ENTRY,0,3,13,40,0,100,0,11,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 11 Reached - Pause Waypoint"), +(@ENTRY,0,4,14,40,0,100,0,12,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 12 Reached - Pause Waypoint"), +(@ENTRY,0,5,15,40,0,100,0,13,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 13 Reached - Pause Waypoint"), +(@ENTRY,0,6,16,40,0,100,0,14,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 14 Reached - Pause Waypoint"), +(@ENTRY,0,7,17,40,0,100,0,17,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 17 Reached - Pause Waypoint"), +(@ENTRY,0,8,18,40,0,100,0,22,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 22 Reached - Pause Waypoint"), +(@ENTRY,0,9,19,40,0,100,0,25,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 25 Reached - Pause Waypoint"), +(@ENTRY,0,10,20,40,0,100,0,28,18903,0,0,54,60000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 28 Reached - Pause Waypoint"), +(@ENTRY,0,11,21,61,0,100,0,4,18903,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 4 Reached - Run Script"), +(@ENTRY,0,12,22,61,0,100,0,9,18903,0,0,80,@ENTRY*100+01,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 9 Reached - Run Script"), +(@ENTRY,0,13,22,61,0,100,0,11,18903,0,0,80,@ENTRY*100+02,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 11 Reached - Run Script"), +(@ENTRY,0,14,23,61,0,100,0,12,18903,0,0,80,@ENTRY*100+03,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 12 Reached - Run Script"), +(@ENTRY,0,15,21,61,0,100,0,13,18903,0,0,80,@ENTRY*100+04,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 13 Reached - Run Script"), +(@ENTRY,0,16,24,61,0,100,0,14,18903,0,0,80,@ENTRY*100+05,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 14 Reached - Run Script"), +(@ENTRY,0,17,22,61,0,100,0,17,18903,0,0,80,@ENTRY*100+06,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 17 Reached - Run Script"), +(@ENTRY,0,18,21,61,0,100,0,22,18903,0,0,80,@ENTRY*100+07,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 22 Reached - Run Script"), +(@ENTRY,0,19,21,61,0,100,0,25,18903,0,0,80,@ENTRY*100+08,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 25 Reached - Run Script"), +(@ENTRY,0,20,21,61,0,100,0,28,18903,0,0,80,@ENTRY*100+09,2,0,0,0,0,1,0,0,0,0,0,0,0,"Audrid - On Waypoint 28 Reached - Run Script"), +(@ENTRY,0,21,0,61,0,100,0,4,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.5,"Audrid - On Waypoint 4 Reached - Set Orientation 1,5"), +(@ENTRY,0,22,0,61,0,100,0,9,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,3,"Audrid - On Waypoint 9 Reached - Set Orientation 3"), +(@ENTRY,0,23,0,61,0,100,0,12,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.5,"Audrid - On Waypoint 12 Reached - Set Orientation 4,5"), +(@ENTRY,0,24,0,61,0,100,0,14,18903,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,6,"Audrid - On Waypoint 14 Reached - Set Orientation 6"); + +UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=26670 AND `source_type`=0 AND `id`=19 AND `link`=20; +UPDATE `smart_scripts` SET `link`=20 WHERE `entryorguid`=17892 AND `source_type`=0 AND `id`=19 AND `link`=0; +UPDATE `smart_scripts` SET `link`=7 WHERE `entryorguid`=17892 AND `source_type`=0 AND `id`=6 AND `link`=0; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=37952 AND `source_type`=0 AND `id`=1 AND `link`=2; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=26787 AND `source_type`=0 AND `id`=0 AND `link`=1; + +-- Mad Voidwalker SAI +SET @ENTRY := 15146; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,0,0,0,0,89,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mad Voidwalker - On Respawn - Start Random Movement"), +(@ENTRY,0,1,0,0,0,100,2,7000,9000,11000,13000,11,24614,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mad Voidwalker - In Combat - Cast 'Consuming Shadows' (Normal Dungeon)"), +(@ENTRY,0,2,0,0,0,100,2,3000,4000,8000,8000,11,24616,0,0,0,0,0,2,0,0,0,0,0,0,0,"Mad Voidwalker - In Combat - Cast 'Shadow Shock' (Normal Dungeon)"), +(@ENTRY,0,3,0,1,0,100,0,0,0,0,0,41,180000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mad Voidwalker - Out of Combat - Despawn In 180000 ms"); + +UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=12236 AND `source_type`=0 AND `id`=8 AND `link`=0; +UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=13196 AND `source_type`=0 AND `id`=8 AND `link`=0; + +-- Scarlet Curate SAI +SET @ENTRY := 9450; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,40,3400,4800,11,25054,64,0,0,0,0,2,0,0,0,0,0,0,0,"Scarlet Curate - Within 0-40 Range - Cast 'Holy Smite'"), +(@ENTRY,0,1,0,15,0,100,1,0,0,30,0,11,17201,1,0,0,0,0,7,0,0,0,0,0,0,0,"Scarlet Curate - On Friendly Crowd Controlled - Cast 'Dispel Magic' (No Repeat)"), +(@ENTRY,0,2,0,74,0,100,0,0,40,25000,35000,11,17201,1,0,0,0,0,9,0,0,0,0,0,0,0,"Scarlet Curate - On Friendly Between 0-40% Health - Cast 'Dispel Magic'"), +(@ENTRY,0,3,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scarlet Curate - Between 0-15% Health - Flee For Assist (No Repeat)"); + +UPDATE `smart_scripts` SET `link`=25 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=24 AND `link`=26; +UPDATE `smart_scripts` SET `link`=22, `event_type`=61 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=21 AND `link`=0; +UPDATE `smart_scripts` SET `link`=16 WHERE `entryorguid`=31279 AND `source_type`=0 AND `id`=15 AND `link`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=1535 AND `source_type`=0 AND `id`=0 AND `link`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2719 AND `source_type`=0 AND `id`=0 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=4484 AND `source_type`=0 AND `id`=24 AND `link`=25; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=13601 AND `source_type`=0 AND `id`=2 AND `link`=0; + +-- Short John Mithril SAI +SET @ENTRY := 14508; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,68,0,100,0,16,0,0,0,53,0,14508,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Game Event 16 Started - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,1,14508,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Waypoint 1 Reached - Say Line 0"), +(@ENTRY,0,2,3,40,0,100,0,16,14508,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Waypoint 16 Reached - Say Line 1"), +(@ENTRY,0,3,0,61,0,100,0,16,14508,0,0,11,23176,0,0,0,0,0,1,0,0,0,0,0,0,0,"Short John Mithril - On Waypoint 16 Reached - Cast 'Summon Pirate Booty (DND)'"), +(@ENTRY,0,4,0,40,0,100,0,33,14508,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.41568,"Short John Mithril - On Waypoint 33 Reached - Set Orientation 4,41568"); + +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=15324 AND `source_type`=0 AND `id`=3 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=15526 AND `source_type`=0 AND `id`=2 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=17397 AND `source_type`=0 AND `id`=0 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18554 AND `source_type`=0 AND `id`=9 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18554 AND `source_type`=0 AND `id`=13 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18554 AND `source_type`=0 AND `id`=14 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=18938 AND `source_type`=0 AND `id`=2 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5 WHERE `entryorguid`=19354 AND `source_type`=0 AND `id`=4 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=23669 AND `source_type`=0 AND `id`=3 AND `link`=0; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=24198 AND `source_type`=0 AND `id`=3 AND `link`=4; +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=55036 WHERE `entryorguid`=29903 AND `source_type`=0 AND `id`=6 AND `link`=7; +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=58190 WHERE `entryorguid`=30894 AND `source_type`=0 AND `id`=2 AND `link`=3; +UPDATE `smart_scripts` SET `action_type`=5, `action_param1`=1 WHERE `entryorguid`=30945 AND `source_type`=0 AND `id`=9 AND `link`=0; + +UPDATE `creature_template_addon` SET`auras`="" WHERE`entry` IN (26608, 31306); -- vehicle auras appear only when the npc ride a vehicle or when he's mounted +UPDATE `creature_template` SET `npcflag`=16777216 WHERE `entry`=35427; diff --git a/sql/updates/world/2015_02_13_03_world.sql b/sql/updates/world/2015_02_13_03_world.sql new file mode 100644 index 00000000000..0b0548c3f78 --- /dev/null +++ b/sql/updates/world/2015_02_13_03_world.sql @@ -0,0 +1,12 @@ +DELETE FROM `gameobject_loot_template` WHERE `entry`IN (1414,1415,1417,1418,1419,1420,1421,1733,1734,2513) AND `item`=5056; +INSERT INTO `gameobject_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES +(1414, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1415, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1417, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1418, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1419, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1420, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1421, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1733, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(1734, 5056, 0, 100, 1, 1, 0, 1, 1, NULL), +(2513, 5056, 0, 100, 1, 1, 0, 1, 1, NULL); diff --git a/sql/updates/world/2015_02_13_04_world.sql b/sql/updates/world/2015_02_13_04_world.sql new file mode 100644 index 00000000000..96db7cbf845 --- /dev/null +++ b/sql/updates/world/2015_02_13_04_world.sql @@ -0,0 +1,4 @@ +-- +UPDATE `smart_scripts` SET `target_o`=0 WHERE `entryorguid`=177490 AND `source_type`=1 AND `id`=0; +UPDATE `smart_scripts` SET `target_o`=0 WHERE `entryorguid`=177490 AND `source_type`=1 AND `id`=2; +UPDATE `smart_scripts` SET `target_o`=0 WHERE `entryorguid`=2749200 AND `source_type`=9 AND `id`=5; diff --git a/sql/updates/world/2015_02_13_05_world.sql b/sql/updates/world/2015_02_13_05_world.sql new file mode 100644 index 00000000000..ca9b648d5eb --- /dev/null +++ b/sql/updates/world/2015_02_13_05_world.sql @@ -0,0 +1,74 @@ +-- +UPDATE `creature_template` SET `ScriptName`='' WHERE `entry`=23616; +UPDATE `creature` SET `MovementType`=0 WHERE `guid`=24762; +DELETE FROM `creature_addon` WHERE `guid`=24762; +DELETE FROM `waypoint_data` WHERE `id`=247620; +DELETE FROM `waypoints` WHERE `entry`=23616; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(23616, 1, -2454.94, -482.136, -8.97948, 'Kyle'), +(23616, 2, -2445.34, -476.395, -8.92086, 'Kyle'), +(23616, 3, -2433.79, -468.785, -9.20522, 'Kyle'), +(23616, 4, -2422.01, -460.858, -9.1759, 'Kyle'), +(23616, 5, -2407.47, -451.07, -8.70993, 'Kyle'), +(23616, 6, -2395.98, -443.42, -8.42222, 'Kyle'), +(23616, 7, -2383.8, -436.212, -8.78844, 'Kyle'), +(23616, 8, -2367.83, -425.967, -9.38671, 'Kyle'), +(23616, 9, -2355.15, -413.835, -9.75652, 'Kyle'), +(23616, 10, -2345.39, -403.032, -8.87064, 'Kyle'), +(23616, 11, -2338.73, -387.213, -7.97681, 'Kyle'), +(23616, 12, -2330.27, -374.08, -8.37519, 'Kyle'), +(23616, 13, -2314.64, -365.663, -9.41672, 'Kyle'), +(23616, 14, -2295.45, -360.874, -9.42468, 'Kyle'), +(23616, 15, -2279.85, -357.148, -9.42468, 'Kyle'), +(23616, 16, -2263.83, -363.376, -9.42468, 'Kyle'), +(23616, 17, -2248.52, -370.238, -9.42468, 'Kyle'), +(23616, 18, -2226.43, -386.156, -9.42468, 'Kyle'), +(23616, 19, -2232.14, -416.578, -9.42205, 'Kyle'), +(23616, 20, -2247.29, -439.615, -9.42475, 'Kyle'), +(23616, 21, -2252.91, -448.416, -9.09973, 'Kyle'), +(23616, 22, -2257.71, -455.921, -8.15442, 'Kyle'), +(23616, 23, -2271.66, -475.713, -7.80418, 'Kyle'), +(23616, 24, -2293.85, -483.264, -7.86093, 'Kyle'), +(23616, 25, -2302.71, -490.694, -7.92982, 'Kyle'), +(23616, 26, -2306.74, -494.585, -8.44247, 'Kyle'), +(23616, 27, -2324.17, -516.494, -9.32393, 'Kyle'), +(23616, 28, -2340.11, -535.209, -9.2326, 'Kyle'), +(23616, 29, -2357.69, -538.25, -9.158, 'Kyle'), +(23616, 30, -2372.68, -528.41, -9.15687, 'Kyle'), +(23616, 31, -2391.28, -518.477, -8.4459, 'Kyle'), +(23616, 32, -2404.81, -514.866, -7.4283, 'Kyle'), +(23616, 33, -2418.06, -510.431, -6.09458, 'Kyle'), +(23616, 34, -2431.22, -505.672, -6.06301, 'Kyle'), +(23616, 35, -2443.9, -499.738, -7.60161, 'Kyle'), +(23616, 36, -2462.4, -488.247, -9.27003, 'Kyle'); + +SET @ENTRY := 23616; +SET @Friendly:= 23622; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`IN (@ENTRY, @Friendly); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Friendly AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Friendly*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,25,0,100,0,0,0,0,0,53,1,23616,1,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Reset - Start Waypoint"), +(@ENTRY,0,1,2,8,0,100,0,42222,0,55000,55000,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kyle the Frenzied - On Spellhit 'Lunch for Kyle' - Store Targetlist"), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Spellhit 'Lunch for Kyle' - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 2361600; +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,54,55000,0,0,0,0,0,1,186265,50,0,0,0,0,0,"Kyle the Frenzied - On Script - Pause Waypoint"), +(@ENTRY,9,1,0,0,0,100,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Say Line 0 (No Repeat)"), +(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,17,393,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Set Emote State 393"), +(@ENTRY,9,3,0,0,0,100,0,5000,5000,0,0,69,0,0,0,0,0,0,20,186265,50,0,0,0,0,0,"Kyle the Frenzied - On Script - Move To Closest Gameobject 'Kyle's Lunch'"), +(@ENTRY,9,4,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Say Line 1"), +(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Frenzied - On Script - Set Emote State 69"), +(@ENTRY,9,6,0,0,0,100,0,4000,4000,0,0,12,@Friendly,8,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Summon Kyle the Friendly"), +(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Despawn"), + +(@Friendly,0,0,0,25,0,100,0,0,0,0,0,80,@Friendly*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly - On Reset - Run Script"), +(@Friendly*100,9,0,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly - On Script - Say Line 2"), +(@Friendly*100,9,1,0,0,0,100,0,0,0,0,0,17,400,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly - On Script - Set Emote State 400"), +(@Friendly*100,9,2,0,0,0,100,0,0,0,0,0,33,23616,0,0,0,0,0,21,10,0,0,0,0,0,0,"Kyle the Friendly - On Script - Quest Credit 'Kyle's Gone Missing!'"), +(@Friendly*100,9,3,0,0,0,100,0,30000,30000,0,0,70,0,0,0,0,0,0,10,24762,23616,0,0,0,0,0,"Kyle the Friendly - On Script - respawn Kyle the Frenzied"), +(@Friendly*100,9,4,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kyle the Friendly -On Script - Despawn"); diff --git a/sql/updates/world/2015_02_13_06_world.sql b/sql/updates/world/2015_02_13_06_world.sql new file mode 100644 index 00000000000..8cc87843ad1 --- /dev/null +++ b/sql/updates/world/2015_02_13_06_world.sql @@ -0,0 +1,24 @@ +-- +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=34935; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(34935,43671,1,0); -- Horde Gunship Cannon - Ride Vehicle + +SET @NPC_VISION_RAVEN_GOD := 21861; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_VISION_RAVEN_GOD) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC_VISION_RAVEN_GOD,0,0,1,38,0,100,0,1,1,0,0,11,39426,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,1,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 0"), +(@NPC_VISION_RAVEN_GOD,0,2,3,38,0,100,0,1,2,0,0,11,39428,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,3,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 1"), +(@NPC_VISION_RAVEN_GOD,0,4,5,38,0,100,0,1,3,0,0,11,39430,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,5,0,61,0,100,0,0,0,0,0,1,2,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 2"), +(@NPC_VISION_RAVEN_GOD,0,6,7,38,0,100,0,1,4,0,0,11,39431,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - On Data Set 4 - Cast credit"), +(@NPC_VISION_RAVEN_GOD,0,7,0,61,0,100,0,0,0,0,0,1,3,0,0,0,0,0,21,20,0,0,0.0,0.0,0.0,0.0,"Vision of Raven God - Link - Say 3"); + +SET @ENTRY := 24290; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,43404,0,0,0,11,43419,0,0,0,0,0,7,0,0,0,0,0,0,0,"New Agamand Plague Tank Bunny - On Spellhit 'Mission: Plague This!: Orehammer's Precision Bombs Dummy' - Quest Credit 'Mission: Plague This!'"); + +UPDATE `smart_scripts` SET `action_param1`=25068 WHERE `entryorguid`=24999 AND `source_type`=0 AND `id`=2 AND `link`=0; diff --git a/sql/updates/world/2015_02_13_07_world.sql b/sql/updates/world/2015_02_13_07_world.sql new file mode 100644 index 00000000000..a46884162f4 --- /dev/null +++ b/sql/updates/world/2015_02_13_07_world.sql @@ -0,0 +1,34 @@ +-- +SET @Zuluhed := 11980; +SET @Portal := 22336; +SET @Arcubus := 22338; +SET @Infusion := 38853; +SET @SummonPortal := 38876; +SET @Rain := 19717; +SET @SummonArcubus := 38877; + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@Zuluhed, @Portal, @Arcubus); + +DELETE FROM `creature_text` WHERE `entry`=@Zuluhed; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@Zuluhed,0,0,'Indeed, the time has come to end this charade.',14,0,100,0,0,0,'Zuluhed the Whacked', 20128), +(@Zuluhed,1,0,'Destroy them! Destroy them all!', 14,0,100,0,0,0,'Zuluhed the Whacked', 20129), +(@Zuluhed,2,0,'Foolish mortals. Did you think that I would not strike you down for your transgressions?', 14,0,100,0,0,0,'Zuluhed the Whacked', 20127), +(@Zuluhed,3,0,'Lord Illidan, bless me with the power of the flight!', 14,0,100,0,0,0,'Zuluhed the Whacked', 20126); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Zuluhed, @Portal, @Arcubus) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@Zuluhed*100, @Zuluhed*100+1, @Portal*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 +(@Zuluhed,0,0,0,54,0,100,0,0,0,0,0,80,@Zuluhed*100,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - Just Summoned - action list"), +(@Zuluhed*100,9,0,0,0,0,100,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - action list - text"), +(@Zuluhed*100,9,1,0,0,0,100,0,5000,5000,0,0,1,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - action list - text"), +(@Zuluhed*100,9,2,0,0,0,100,0,4000,4000,0,0,1,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - action list - text"), +(@Zuluhed,0,1,0,0,0,100,0,12000,12000,12000,12000,11,@Rain,0,0,0,0,0,5,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - IC - Cast rain"), +(@Zuluhed,0,2,0,0,0,100,0,30000,30000,60000,60000,11,@SummonPortal,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - IC - Summon portal"), +(@Zuluhed,0,3,0,2,0,100,1,0,25,0,0,80,@Zuluhed*100+1,2,0,0,0,0,1,0,0,0,0,0,0,0,'Zuluhed the Whacked - On 25% health - ActionList'), +(@Zuluhed*100+1,9,0,0,0,0,100,0,0,0,0,0,11,@Infusion,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zuluhed the Whacked - ActionList - Cast Infusion'), +(@Zuluhed*100+1,9,1,0,0,0,100,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Zuluhed the Whacked - ActionList - Text'), +(@Arcubus,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,10,0,0,0.0,0.0,0.0,0.0,"Zuluhed the Whacked - Just Summoned - Attack player on 10 yards"), +(@Portal,0,0,0,54,0,100,1,0,0,0,0,80,@Portal*100,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,"Portal - Just Summoned - action list"), +(@Portal*100,9,0,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Portal - ActionList - SET_ROOT'), +(@Portal*100,9,1,0,0,0,100,0,15000,15000,0,0,11,@SummonArcubus,0,0,0,0,0,1,0,0,0,0,0,0,0,'Portal - ActionList - Cast SummonArcubus'); diff --git a/sql/updates/world/2015_02_13_08_world.sql b/sql/updates/world/2015_02_13_08_world.sql new file mode 100644 index 00000000000..7043a9cdff8 --- /dev/null +++ b/sql/updates/world/2015_02_13_08_world.sql @@ -0,0 +1,15 @@ +-- +UPDATE `smart_scripts` SET `action_param1`=25068 WHERE `entryorguid`=25002 AND `source_type`=0 AND `id`=0 AND `link`=0; + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=35427; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`cast_flags`,`user_type`) VALUES +(35427,43671,1,0); + +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=38162 WHERE `entryorguid`=19937 AND `source_type`=0 AND `id` IN (1, 3, 12); +UPDATE `smart_scripts` SET `action_type`=11, `action_param1`=70606 WHERE `entryorguid`=37826 AND `source_type`=0 AND `id` = 0; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=25359 AND `source_type`=0 AND `id`=1; +UPDATE `smart_scripts` SET `link`=6 WHERE `entryorguid`=25335 AND `source_type`=0 AND `id`=5; +UPDATE `smart_scripts` SET `link`=10 WHERE `entryorguid`=25335 AND `source_type`=0 AND `id`=9; +UPDATE `smart_scripts` SET `event_type`=61, `link`=0 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=21; +UPDATE `smart_scripts` SET `event_param1`=0 WHERE `entryorguid`=4880 AND `source_type`=0 AND `id`=23; +UPDATE `smart_scripts` SET `link`=16 WHERE `entryorguid`=28122 AND `source_type`=0 AND `id`=15; diff --git a/sql/updates/world/2015_02_13_09_world.sql b/sql/updates/world/2015_02_13_09_world.sql new file mode 100644 index 00000000000..7ed85568830 --- /dev/null +++ b/sql/updates/world/2015_02_13_09_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` = 12752 AND `type` = 11; +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +(12752, 11, 0, 0, 'achievement_bronjahm_soul_power'); diff --git a/sql/updates/world/2015_02_14_00_world.sql b/sql/updates/world/2015_02_14_00_world.sql new file mode 100644 index 00000000000..727aaf91e6f --- /dev/null +++ b/sql/updates/world/2015_02_14_00_world.sql @@ -0,0 +1,8 @@ +-- +UPDATE `conditions` SET `ConditionValue3`=0 WHERE `SourceTypeOrReferenceId`=17 AND `SourceGroup`=0 AND `SourceEntry`=48363 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=29 AND `ConditionTarget`=0 AND `ConditionValue1`=27315 AND `ConditionValue2`=5 AND `ConditionValue3`=1; +UPDATE `conditions` SET `ConditionValue3`=0 WHERE `SourceTypeOrReferenceId`=17 AND `SourceGroup`=0 AND `SourceEntry`=48363 AND `SourceId`=0 AND `ElseGroup`=1 AND `ConditionTypeOrReference`=29 AND `ConditionTarget`=0 AND `ConditionValue1`=27336 AND `ConditionValue2`=5 AND `ConditionValue3`=1; +UPDATE `conditions` SET `ConditionValue3`=0 WHERE `SourceTypeOrReferenceId`=17 AND `SourceGroup`=0 AND `SourceEntry`=48397 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=29 AND `ConditionTarget`=0 AND `ConditionValue1`=27315 AND `ConditionValue2`=5 AND `ConditionValue3`=1; +UPDATE `conditions` SET `ConditionValue3`=0 WHERE `SourceTypeOrReferenceId`=17 AND `SourceGroup`=0 AND `SourceEntry`=48397 AND `SourceId`=0 AND `ElseGroup`=1 AND `ConditionTypeOrReference`=29 AND `ConditionTarget`=0 AND `ConditionValue1`=27336 AND `ConditionValue2`=5 AND `ConditionValue3`=1; +UPDATE `conditions` SET `ConditionTypeOrReference`=29, `ConditionValue1`=37852, `ConditionValue2`=10 WHERE `SourceTypeOrReferenceId`=17 AND `SourceGroup`=0 AND `SourceEntry`=70586 AND `SourceId`=0 AND `ElseGroup`=0 AND `ConditionTypeOrReference`=18 AND `ConditionTarget`=0 AND `ConditionValue1`=1 AND `ConditionValue2`=37852 AND `ConditionValue3`=0; +UPDATE `conditions` SET `ConditionValue2`=0 WHERE `SourceTypeOrReferenceId`=1 AND `SourceGroup`=23286 AND `SourceEntry`=32726 AND `SourceId`=0 AND `ElseGroup`=2 AND `ConditionTypeOrReference`=9 AND `ConditionTarget`=0 AND `ConditionValue1`=11081 AND `ConditionValue2`=1 AND `ConditionValue3`=0; +UPDATE `conditions` SET `ConditionValue2`=0 WHERE `SourceTypeOrReferenceId`=1 AND `SourceGroup`=23324 AND `SourceEntry`=32726 AND `SourceId`=0 AND `ElseGroup`=2 AND `ConditionTypeOrReference`=9 AND `ConditionTarget`=0 AND `ConditionValue1`=11081 AND `ConditionValue2`=1 AND `ConditionValue3`=0; diff --git a/sql/updates/world/2015_02_14_01_world.sql b/sql/updates/world/2015_02_14_01_world.sql new file mode 100644 index 00000000000..460f6b1a76f --- /dev/null +++ b/sql/updates/world/2015_02_14_01_world.sql @@ -0,0 +1,163 @@ +-- +DELETE FROM `creature_formations` WHERE `leaderGUID`=57528; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(57528, 57528, 0, 0, 2), +(57528, 57527, 3, 90, 2); + +-- Pathing for Thrallmar Grunt Entry: 16580 'TDB FORMAT' +SET @NPC := 57528; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=132.3433,`position_y`=2762.987,`position_z`=102.3826 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,132.3433,2762.987,102.3826,0,0,0,0,100,0), +(@PATH,2,121.0521,2749.356,98.25848,0,0,0,0,100,0), +(@PATH,3,109.0274,2741.556,94.49025,0,0,0,0,100,0), +(@PATH,4,95.7988,2726.423,89.95798,0,0,0,0,100,0), +(@PATH,5,83.33932,2712.466,86.36182,0,0,0,0,100,0), +(@PATH,6,75.62203,2702.179,84.19798,0,0,0,0,100,0), +(@PATH,7,68.19456,2688.539,81.85039,0,0,0,0,100,0), +(@PATH,8,66.99038,2685.902,81.33047,0,0,0,0,100,0), +(@PATH,9,82.17162,2678.548,81.62874,0,0,0,0,100,0), +(@PATH,10,96.37463,2678.292,82.75209,0,0,0,0,100,0), +(@PATH,11,112.1558,2676.275,83.38298,0,0,0,0,100,0), +(@PATH,12,119.6769,2675.056,83.7209,0,0,0,0,100,0), +(@PATH,13,111.278,2648.706,80.93124,0,0,0,0,100,0), +(@PATH,14,109.0044,2646.347,80.20769,0,0,0,0,100,0), +(@PATH,15,116.2792,2653.762,81.89182,0,0,0,0,100,0), +(@PATH,16,122.4159,2660.933,84.18261,0,0,0,0,100,0), +(@PATH,17,123.3134,2662.276,84.17096,0,0,0,0,100,0), +(@PATH,18,103.6847,2670.964,83.00417,0,0,0,0,100,0), +(@PATH,19,80.54628,2673.75,81.59075,0,0,0,0,100,0), +(@PATH,20,73.74189,2676.277,80.69298,0,0,0,0,100,0), +(@PATH,21,69.13676,2697.863,83.02922,0,0,0,0,100,0), +(@PATH,22,75.02055,2712.901,85.39117,0,0,0,0,100,0), +(@PATH,23,87.82365,2724.378,88.41669,0,0,0,0,100,0), +(@PATH,24,104.5768,2742.848,93.40324,0,0,0,0,100,0), +(@PATH,25,117.3608,2752.192,97.77188,0,0,0,0,100,0), +(@PATH,26,129.486,2763.919,102.3025,0,0,0,0,100,0); +-- 0x1C09E4424010310000002C00015AED53 .go 132.3433 2762.987 102.3826 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=57506; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(57506, 57506, 0, 0, 2), +(57506, 57507, 3, 90, 2); + +-- Pathing for Thrallmar Grunt Entry: 16580 'TDB FORMAT' +SET @NPC := 57506; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=160.0679,`position_y`=2783.137,`position_z`=111.3373 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,160.0679,2783.137,111.3373,0,0,0,0,100,0), +(@PATH,2,162.4358,2778.617,110.5461,0,0,0,0,100,0), +(@PATH,3,172.7094,2774.508,110.6423,0,0,0,0,100,0), +(@PATH,4,186.6513,2777.03,113.5835,0,0,0,0,100,0), +(@PATH,5,200.0523,2782.693,116.7996,0,0,0,0,100,0), +(@PATH,6,209.4241,2784.837,118.5891,0,0,0,0,100,0), +(@PATH,7,222.8512,2785.429,121.0061,0,0,0,0,100,0), +(@PATH,8,233.1155,2787.613,123.6816,0,0,0,0,100,0), +(@PATH,9,237.861,2791.877,125.6136,0,0,0,0,100,0), +(@PATH,10,239.1323,2799.748,127.3235,0,0,0,0,100,0), +(@PATH,11,239.1207,2795.199,126.621,0,0,0,0,100,0), +(@PATH,12,235.6156,2789.706,124.6459,0,0,0,0,100,0), +(@PATH,13,227.0757,2786.192,122.1876,0,0,0,0,100,0), +(@PATH,14,212.622,2785.389,119.2345,0,0,0,0,100,0), +(@PATH,15,205.132,2784.269,117.806,0,0,0,0,100,0), +(@PATH,16,188.0606,2777.626,114.1675,0,0,0,0,100,0), +(@PATH,17,175.7908,2774.627,111.4541,0,0,0,0,100,0), +(@PATH,18,168.39,2775.401,110.4383,0,0,0,0,100,0), +(@PATH,19,160.1083,2782.976,111.366,0,0,0,0,100,0); +-- 0x1C09E4424010310000002C00015AED54 .go 160.0679 2783.137 111.3373 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=57965; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(57594, 57594, 0, 0, 2), +(57594, 57595, 5, 0, 2), +(57594, 57596, 10, 0, 2), +(57594, 57597, 15, 0, 2); + +-- Pathing for Thrallmar Wolf Rider Entry: 16599 'TDB FORMAT' +SET @NPC := 57594; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=196.28,`position_y`=2781.241,`position_z`=115.9637 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,14334,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,196.28,2781.241,115.9637,0,0,1,0,100,0), +(@PATH,2,173.7009,2773.865,111.0617,0,0,1,0,100,0), +(@PATH,3,144.2007,2764.989,105.126,0,0,1,0,100,0), +(@PATH,4,113.7401,2748.569,96.21298,0,0,1,0,100,0), +(@PATH,5,94.41273,2728.12,89.81252,0,0,1,0,100,0), +(@PATH,6,65.77112,2693.39,82.38187,0,0,1,0,100,0), +(@PATH,7,36.76459,2661.932,76.78915,0,0,1,0,100,0), +(@PATH,8,17.91903,2638.404,72.61198,0,0,1,0,100,0), +(@PATH,9,5.355525,2605.847,68.47747,0,0,1,0,100,0), +(@PATH,10,8.97837,2575.031,65.2146,0,0,1,0,100,0), +(@PATH,11,18.05011,2542.307,61.65181,0,0,1,0,100,0), +(@PATH,12,20.63871,2501.002,57.12801,0,0,1,0,100,0), +(@PATH,13,14.14331,2460.918,53.1017,0,0,1,0,100,0), +(@PATH,14,7.45386,2419.164,52.73537,0,0,1,0,100,0), +(@PATH,15,-14.25867,2395.82,52.69493,0,0,1,0,100,0), +(@PATH,16,-31.19849,2384.302,53.77038,0,0,1,0,100,0), +(@PATH,17,0.05626106,2409.986,52.19868,0,0,1,0,100,0), +(@PATH,18,13.30882,2456.084,52.34318,0,0,1,0,100,0), +(@PATH,19,20.00414,2492.995,56.18382,0,0,1,0,100,0), +(@PATH,20,19.18841,2536.792,60.81985,0,0,1,0,100,0), +(@PATH,21,11.05238,2567.616,64.15677,0,0,1,0,100,0), +(@PATH,22,4.750309,2601.44,67.78731,0,0,1,0,100,0), +(@PATH,23,13.32799,2630.8,71.16357,0,0,1,0,100,0), +(@PATH,24,32.40791,2656.75,75.65665,0,0,1,0,100,0), +(@PATH,25,62.52131,2689.98,81.53972,0,0,1,0,100,0), +(@PATH,26,92.98247,2726.685,89.31989,0,0,1,0,100,0), +(@PATH,27,109.4178,2744.999,94.76643,0,0,1,0,100,0), +(@PATH,28,142.0419,2764.24,104.1994,0,0,1,0,100,0), +(@PATH,29,171.1686,2772.708,110.2985,0,0,1,0,100,0); +-- 0x1C09E442401035C000002C00005AED54 .go 196.28 2781.241 115.9637 + +-- Pathing for Thrallmar Peon Entry: 16591 'TDB FORMAT' +SET @NPC := 57575; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=55.27306,`position_y`=2654.043,`position_z`=78.42071 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,55.27306,2654.043,78.42071,0,0,0,0,100,0), +(@PATH,2,60.95808,2657.462,79.7836,0,0,0,0,100,0), +(@PATH,3,64.60378,2660.895,80.497,0,0,0,0,100,0), +(@PATH,4,66.75615,2663.12,80.74207,0,0,0,0,100,0), +(@PATH,5,65.12799,2682.579,80.74263,0,0,0,0,100,0), +(@PATH,6,65.82681,2693.285,82.36795,0,0,0,0,100,0), +(@PATH,7,75.21483,2707.858,84.6664,0,0,0,0,100,0), +(@PATH,8,84.96182,2718.535,87.05235,0,0,0,0,100,0), +(@PATH,9,95.03929,2728.742,90.13913,0,0,0,0,100,0), +(@PATH,10,106.4619,2744.316,94.00992,0,0,0,0,100,0), +(@PATH,11,123.8118,2755.292,99.37874,0,0,0,0,100,0), +(@PATH,12,135.8948,2760.833,102.7533,0,0,0,0,100,0), +(@PATH,13,155.0525,2769.579,107.7352,0,0,0,0,100,0), +(@PATH,14,158.3794,2773.243,108.8904,0,0,0,0,100,0), +(@PATH,15,159.9402,2783.268,111.4848,0,0,0,0,100,0), +(@PATH,16,161.3573,2786.643,112.5604,0,0,0,0,100,0), +(@PATH,17,165.1619,2790.098,113.5347,0,120000,0,0,100,0), +(@PATH,18,165.2408,2775.052,109.6661,3,0,0,0,100,0), +(@PATH,19,161.6743,2781.431,111.1523,0,0,0,0,100,0), +(@PATH,20,161.0955,2772.586,109.2963,0,0,0,0,100,0), +(@PATH,21,143.7382,2764.468,104.6033,0,0,0,0,100,0), +(@PATH,22,122.8,2754.483,99.03847,0,0,0,0,100,0), +(@PATH,23,109.0177,2745.05,94.75985,0,0,0,0,100,0), +(@PATH,24,96.74924,2729.785,90.4996,0,0,0,0,100,0), +(@PATH,25,83.87657,2715.537,86.72665,0,0,0,0,100,0), +(@PATH,26,75.78943,2705.43,84.61099,0,0,0,0,100,0), +(@PATH,27,64.73528,2690.525,81.81812,0,0,0,0,100,0), +(@PATH,28,62.68444,2679.1,80.26672,0,0,0,0,100,0), +(@PATH,29,62.20171,2674.227,80.11406,0,0,0,0,100,0), +(@PATH,30,62.53893,2659.067,79.85791,0,0,0,0,100,0), +(@PATH,31,53.87121,2650.147,77.64667,0,0,0,0,100,0), +(@PATH,32,52.78874,2648.066,76.98107,0,120000,0,0,100,0); +-- 0x1C09E442401033C000002C00005AED55 .go 55.27306 2654.043 78.42071 diff --git a/sql/updates/world/2015_02_14_02_world.sql b/sql/updates/world/2015_02_14_02_world.sql new file mode 100644 index 00000000000..1978c7ff184 --- /dev/null +++ b/sql/updates/world/2015_02_14_02_world.sql @@ -0,0 +1,51 @@ +-- Shakes O'Breen SAI +SET @ENTRY := 2610; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI', ScriptName='' WHERE `entry`=113531; +DELETE FROM `smart_scripts` WHERE `entryorguid` = 113531 AND `source_type` = 1; + +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,3,19,0,100,0,667,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Quest 'Death From Below' Taken - Run Script"), +(@ENTRY,0,1,0,6,0,100,0,0,0,0,0,6,667,0,0,0,0,0,18,30,0,0,0,0,0,0,"Shakes O'Breen - On Just Died - Fail Quest 'Death From Below'"), +(@ENTRY,0,2,0,11,0,100,0,0,0,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Respawn - Add Npc Flag Questgiver"), +(@ENTRY,0,3,4,61,0,100,0,667,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Quest 'Death From Below' Taken - Remove Npc Flag Questgiver"), +(@ENTRY,0,4,0,61,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Just Created - react agressive"), +(113531,1,0,0,64,0,100,0,0,0,0,0,51,0,0,0,0,0,0,11,2775,50,0,0,0,0,0,"Shakes O'Breen - On gossip hello - kill"); + +-- Actionlist SAI +SET @ENTRY := 261000; +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,1000,1000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Script - Say Line 0"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,106,4,0,0,0,0,0,14,210721,113531,0,0,0,0,0,"Shakes O'Breen - On Script - remove flag from gob "), +(@ENTRY,9,2,0,0,0,100,0,9000,9000,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2158.637939, -1967.593628, 15.347894, 5.525547,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2161.894531, -1968.629517, 15.641345, 5.462712,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2158.246582, -1965.681763, 15.063377, 5.600158,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2158.358643, -1971.417480, 15.596241, 4.967206,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,6,0,0,0,100,0,20000,20000,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2158.637939, -1967.593628, 15.347894, 5.525547,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2161.894531, -1968.629517, 15.641345, 5.462712,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,8,0,0,0,100,0,0,0,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2158.246582, -1965.681763, 15.063377, 5.600158,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,9,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Script - Say Line 1"), +(@ENTRY,9,10,0,0,0,100,0,15000,15000,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2158.637939, -1967.593628, 15.347894, 5.525547,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,11,0,0,0,100,0,0,0,0,0,12,2775,1,60000,0,0,0,8,0,0,0,-2161.894531, -1968.629517, 15.641345, 5.462712,"Shakes O'Breen - On Script - Summon Creature 'Daggerspine Marauder'"), +(@ENTRY,9,12,0,0,0,100,0,0,0,0,0,105,4,0,0,0,0,0,14,210721,113531,0,0,0,0,0,"Shakes O'Breen - On Script - Add Flag to gob "), +(@ENTRY,9,13,0,0,0,100,0,30000,30000,0,0,15,667,0,0,0,0,0,17,0,100,0,0,0,0,0,"Shakes O'Breen - On Script - Quest Credit 'Death From Below'"), +(@ENTRY,9,14,0,0,0,100,0,30000,30000,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Shakes O'Breen - On Script - Add Npc Flag "); + +-- Daggerspine Marauder SAI +SET @ENTRY := 2775; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,63,0,30,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Daggerspine Marauder - On Just Created - Say Line 0"), +(@ENTRY,0,1,0,63,0,100,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,-2086.070068, -2028.859985, 3.220880, 2.670350,"Daggerspine Marauder - On Just Created - go to pos"), +(@ENTRY,0,2,0,63,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Daggerspine Marauder - On Just Created - react agressive"), +(@ENTRY,0,3,0,10,0,100,0,0,30,3000,3000,49,0,0,0,0,0,0,19,2610,30,0,0,0,0,0,"Daggerspine Marauder - OOCLOS - Attack start"); + +DELETE FROM `creature_text` WHERE `entry` IN (2775, 2610); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(2775, 0, 0, 'Nothing will stop us! You will die!', 14, 0, 100, 0, 0, 0, 855, 0, 'Daggerspine Marauder'), +(2775, 0, 1, 'You''ve plundered our treasures too long. Prepare to meet your watery grave!', 14, 0, 100, 0, 0, 0, 854, 0, 'Daggerspine Marauder'), +(2610, 0, 0, 'All hands to battle stations! Naga incoming!', 14, 0, 100, 0, 0, 0, 6372, 0, 'Shakes Breen'), +(2610, 1, 0, 'If we can just hold them now, I am sure we will be in the clear.', 12, 0, 100, 0, 0, 0, 863, 0, 'Shakes Breen'); diff --git a/sql/updates/world/2015_02_14_03_world.sql b/sql/updates/world/2015_02_14_03_world.sql new file mode 100644 index 00000000000..e4add1c22bf --- /dev/null +++ b/sql/updates/world/2015_02_14_03_world.sql @@ -0,0 +1 @@ +UPDATE `item_template` SET `BuyCount`=5 WHERE `entry`IN(22218,49856,49857,49858,49859,49860,49861,22200,50163); diff --git a/sql/updates/world/2015_02_14_04_world.sql b/sql/updates/world/2015_02_14_04_world.sql new file mode 100644 index 00000000000..be552ca6125 --- /dev/null +++ b/sql/updates/world/2015_02_14_04_world.sql @@ -0,0 +1,111 @@ +-- +UPDATE `creature_template` SET `vehicleId`=196 WHERE `entry`=30108; +DELETE FROM `vehicle_template_accessory` WHERE `entry`=30108 AND `accessory_entry` IN (30401); +INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`,`summontimer`)VALUES +(30108,30401,1,1,'Stormcrest Eagle',8,0); + +UPDATE `creature_template` SET `ScriptName` = 'npc_stormcrest_eagle' WHERE `entry` = 30108; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=9891 AND `id`=0; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES +(9891, 0, 0, 'King Stormheart sent me to be tested as a frostborn would. I am ready for my test, Fjorlin', 32929, 1, 1, 0, 0, 0, 0, '',0); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceID`=15 AND `SourceEntry`=0 AND `SourceGroup`=9891; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ConditionTypeOrReference`,`elseGroup`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`Comment`) VALUES +(15,9891,0,9,0,12874,0,0,0,'show gossip on quest 12874 taken'); + +-- Fjorlin Frostbrow SAI +SET @ENTRY := 29732; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,9891,1,0,0,11,56411,0,0,0,0,0,7,0,0,0,0,0,0,0,"Fjorlin Frostbrow - On Gossip Option 1 Selected - Cast 'Forcecast Summon Scripted Eagle'"), +(@ENTRY,0,1,0,61,0,100,0,9891,1,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Fjorlin Frostbrow - On Gossip Option 1 Selected - Close Gossip"), +(@ENTRY,0,2,3,62,0,100,0,9891,0,0,0,85,55942,2,0,0,0,0,7,0,0,0,0,0,0,0,"Fjorlin Frostbrow - On Gossip Option 0 Selected - Invoker Cast 'Summon Battle Eagle'"), +(@ENTRY,0,3,0,61,0,100,0,9891,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Fjorlin Frostbrow - On Gossip Option 0 Selected - Close Gossip"); + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=30108; +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(30108,46598,1,0); + +UPDATE `creature_template` SET `ScriptName`='', `InhabitType`=4 WHERE `entry`=30108; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=30108; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 30108, 0, 0, 9, 0, 12874, 0, 0, 0, 0, 0, '', 'SAI triggers only if player on quest 12874'); + +DELETE FROM `creature_text` WHERE `entry`=30401; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`,`BroadcastTextId`) VALUES +(30401, 0, 0, 'King Stormheart is putting you to the test, eh? He must see something in you to begin with or I doubt he''d put you through such a sacred ritual.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30942), +(30401, 1, 0, 'I know you''re new to our kind, so I''ll catch you up a bit while we''re on our way over.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30943), +(30401, 2, 0, 'Years back, my father and several other frostborn were returning from a trek across Dragonblight. There was a heavy blizzard... far worse than we''ve ever seen since.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30944), +(30401, 3, 0, 'They crossed a trail of blood-soaked snow and followed it to find a dwarf wandering and speaking in a dialect they couldn''t make out... and not a dwarf of our kind mind you, but a mountain dwarf - something our kind had never seen before.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30945), +(30401, 4, 0, 'The dwarf seemed lost, having no memory of where he came from, or even of his own name. Not being the kind to leave a dwarven cousin to die in the snow, my father''s party took him in and continued back towards Frosthold.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30946), +(30401, 5, 0, 'Not long later, out of nowhere, the snow burst before them and a jormungar the size of Veranus herself came down upon their party... one of them was swallowed whole before they even had time to react.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30947), +(30401, 6, 0, 'My father thought they were all doomed... but behind him, a furious roar rumbled across the snow, and he turned to see the mountain dwarf growing in size, his skin taking on a stone-like texture, and his hands sizzling with lightning.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30948), +(30401, 7, 0, 'The dwarf barreled forward with a sound like rolling thunder and hurled a shining metal hammer, lightning coursing over its surface, directly into the jormungar''s throat.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30949), +(30401, 8, 0, 'The jormungar collapsed instantly, its head barely still attached to its convulsing body. My father turned to the dwarf in awe and raised a fist in praise...', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30950), +(30401, 9, 0, 'The stranger having no name of his own, my father deemed \"Yorg,\" a name reserved for champions of legend. Years later, he now stands before us as Yorg Stormheart, King of the Frostborn.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30952), +(30401, 10, 0, 'King Stormheart has trained us well... turned us into even more fearsome warriors than we could have boasted during the time of our war with the Frost Giants.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30953), +(30401, 11, 0, 'And as one of the fiercest tests put upon a warrior of the frostborn, we are made to face a creature far larger than ourselves--giants, dragons, jormungar--as a testament to the fact that size will never be our weakness.', 12, 0, 100, 0, 0, 0, 'Velog Icebellow',30955), +(30401, 12, 0, 'This is the test put before you this day. Return to us only once The Iron Watcher is dead, and be revered as a warrior of the frostborn.', 14, 0, 100, 0, 0, 0, 'Velog Icebellow',30956), +(30401, 13, 0, 'He is slow from the rust of the ages... be quick on your feet and he will not best you. You have King Stormheart''s favor - do not disappoint.', 14, 0, 100, 0, 0, 0, 'Velog Icebellow',31343); + +DELETE FROM `creature_template_addon` WHERE `entry`=30108; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(30108,0,0,0,1,0,'52211'); -- Flight Aura + +DELETE FROM `spell_target_position` WHERE id=55942; +INSERT INTO `spell_target_position` (`id`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES +(55942, 571, 6610.838379, -280.558685, 984.428772, 3.598404); + +-- Stormcrest Eagle SAI +SET @ENTRY := 30108; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,27,0,100,0,0,0,0,0,53,1,30108,0,0,0,0,1,0,0,0,0,0,0,0,"Stormcrest Eagle - On Passenger Boarded - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,1,30108,0,0,1,0,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 1 Reached - Say Line 0"), +(@ENTRY,0,2,0,40,0,100,0,2,30108,0,0,1,1,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 2 Reached - Say Line 1"), +(@ENTRY,0,3,0,40,0,100,0,4,30108,0,0,1,2,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 4 Reached - Say Line 2"), +(@ENTRY,0,4,0,40,0,100,0,6,30108,0,0,1,3,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 6 Reached - Say Line 3"), +(@ENTRY,0,5,0,40,0,100,0,8,30108,0,0,1,4,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 8 Reached - Say Line 4"), +(@ENTRY,0,6,0,40,0,100,0,10,30108,0,0,1,5,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 10 Reached - Say Line 5"), +(@ENTRY,0,7,0,40,0,100,0,12,30108,0,0,1,6,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 12 Reached - Say Line 6"), +(@ENTRY,0,8,0,40,0,100,0,14,30108,0,0,1,7,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 14 Reached - Say Line 7"), +(@ENTRY,0,9,0,40,0,100,0,16,30108,0,0,1,8,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 16 Reached - Say Line 8"), +(@ENTRY,0,10,0,40,0,100,0,18,30108,0,0,1,9,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 18 Reached - Say Line 9"), +(@ENTRY,0,12,0,40,0,100,0,22,30108,0,0,1,10,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 22 Reached - Say Line 10"), +(@ENTRY,0,13,0,40,0,100,0,24,30108,0,0,1,11,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 24 Reached - Say Line 11"), +(@ENTRY,0,14,0,40,0,100,0,25,30108,0,0,1,12,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 25 Reached - Say Line 12"), +(@ENTRY,0,15,0,40,0,100,0,26,30108,0,0,1,13,0,0,0,0,0,19,30401,10,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 26 Reached - Say Line 13"), +(@ENTRY,0,16,0,40,0,100,0,28,30108,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormcrest Eagle - On Waypoint 28 Reached - Despawn Instant"); + +DELETE FROM `waypoints` WHERE `entry`=30108; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(30108, 1, 6586.2, -294.997, 989.82, 'Eagle'), +(30108, 2, 6519.83, -384.722, 994.117, 'Eagle'), +(30108, 3, 6519.97, -524.613, 986.315, 'Eagle'), +(30108, 4, 6582.99, -676.868, 973.055, 'Eagle'), +(30108, 5, 6687.48, -733.39, 964.698, 'Eagle'), +(30108, 6, 6855.16, -744.853, 961.192, 'Eagle'), +(30108, 7, 6994.31, -760.115, 959.543, 'Eagle'), +(30108, 8, 7119.54, -785.058, 970.552, 'Eagle'), +(30108, 9, 7245.46, -832.456, 982.112, 'Eagle'), +(30108, 10, 7372.43, -884.75, 992.92, 'Eagle'), +(30108, 11, 7451.38, -912.608, 999.791, 'Eagle'), +(30108, 12, 7550.54, -946.482, 1008.39, 'Eagle'), +(30108, 13, 7627.06, -969.296, 1025.31, 'Eagle'), +(30108, 14, 7701.49, -991.429, 1041.78, 'Eagle'), +(30108, 15, 7767.2, -1011.33, 1056.82, 'Eagle'), +(30108, 16, 7837.09, -1032.49, 1072.82, 'Eagle'), +(30108, 17, 7898.99, -1053.29, 1090.37, 'Eagle'), +(30108, 18, 7944.64, -1070.18, 1112.88, 'Eagle'), +(30108, 19, 7995.38, -1111.07, 1138.38, 'Eagle'), +(30108, 20, 8075.38, -1184.51, 1180.87, 'Eagle'), +(30108, 21, 8133, -1259.6, 1214.29, 'Eagle'), +(30108, 22, 8221.79, -1381.51, 1271, 'Eagle'), +(30108, 23, 8300.22, -1485.87, 1321.57, 'Eagle'), +(30108, 24, 8367.07, -1592.58, 1382.36, 'Eagle'), +(30108, 25, 8414.48, -1701.68, 1449.03, 'Eagle'), +(30108, 26, 8456.78, -1783.6, 1462.78, 'Eagle'), +(30108, 27, 8482.2, -1838.47, 1470, 'Eagle'), +(30108, 28, 8526.7, -1956.21, 1473.59, 'Eagle'); diff --git a/sql/updates/world/2015_02_14_05_world.sql b/sql/updates/world/2015_02_14_05_world.sql new file mode 100644 index 00000000000..bb81873bf4b --- /dev/null +++ b/sql/updates/world/2015_02_14_05_world.sql @@ -0,0 +1,51 @@ +SET @Guid := 29727; + +UPDATE `creature_template` SET `ainame`='SmartAI', `scriptname`='' WHERE `entry`=4781; +UPDATE `gameobject_template` SET `AIName`= 'SmartGameObjectAI' WHERE`entry` =20920; +DELETE FROM `smart_scripts` WHERE `entryorguid` =20920 AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid`=4781 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=478100 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 +(4781,0,0,1,54,0,100,0,0,0,0,0,1,0,0,0,0,0,0,23,0,0,0,0,0,0,0,'Snufflenose Gopher - On Just Summoned - Say Line 0'), +(4781,0,1,0,61,0,100,0,0,0,0,0,29,1,0,0,0,0,0,23,0,0,0,0,0,0,0,'Snufflenose Gopher - On Just Summoned - Follow Summoner'), +(4781,0,2,3,38,0,100,0,1,1,10000,10000,29,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Snufflenose Gopher - On Data Set - Stop Following Invoker'), +(4781,0,3,4,61,0,100,0,0,0,0,0,69,0,0,0,0,0,0,20,20920,0,0,0,0,0,0,'Snufflenose Gopher - On Data Set - Move to Blueleaf Tuber'), +(4781,0,4,5,61,0,100,0,0,0,0,0,80,478100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Snufflenose Gopher - On Data Set - Run Script'), +(4781,0,5,6,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,23,0,0,0,0,0,0,0,'Snufflenose Gopher - On Data Set - Say Line 1'), +(4781,0,6,0,61,0,100,0,0,0,0,0,8,0,0,0,0,0,0,23,0,0,0,0,0,0,0,'Snufflenose Gopher - On Data Set - Set Passive'), +(4781,0,7,0,8,0,100,0,8283,0,10000,10000,45,1,1,0,0,0,0,20,20920,40,0,0,0,0,0,'Snufflenose Gopher - On Spellhit (Snufflenose Command) - Set Data Blueleaf Tuber'), +(478100,9,0,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,23,0,0,0,0,0,0,0,'Snufflenose Gopher - Script - Say Line 2'), +(478100,9,1,0,0,0,100,0,0,0,0,0,104,0,0,0,0,0,0,20,20920,10,0,0,0,0,0,'Snufflenose Gopher - Script - Set Flags on Blueleaf Tuber'), +(478100,9,2,0,0,0,100,0,0,0,0,0,70,300,0,0,0,0,0,20,20920,10,0,0,0,0,0,'Snufflenose Gopher - Script - Respawn Blueleaf Tuber'), +(478100,9,3,0,0,0,100,0,5000,5000,0,0,29,1,0,0,0,0,0,23,0,0,0,0,0,0,0,'Snufflenose Gopher - Script - Follow Summoner'), +(478100,9,4,0,0,0,100,0,0,0,0,0,8,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Snufflenose Gopher - Script - Set Hostile'), + +(20920,1,0,0,11,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blueleaf Tuber - On Spawn - Set Phase 1'), +(20920,1,1,2,38,1,100,0,1,1,0,0,45,1,1,0,0,0,0,19,4781,0,0,0,0,0,0,'Blueleaf Tuber - On Data Set (Phase 1) - Set Data Snufflenose Gopher'), +(20920,1,2,0,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blueleaf Tuber - On Data Set (Phase 1) - Set Phase 2'), +(20920,1,3,0,1,0,100,0,300000,300000,300000,300000,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blueleaf Tuber - OOC (Phase 2) - Set Phase 1'); + +DELETE FROM `creature_text` WHERE `entry`=4781; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(4781, 0, 0, '%s nervously crawls from the crate.', 16, 0, 100, 0, 0, 0, 1638, 0, 'Snufflenose Gopher'), +(4781, 1, 0, '%s wiggles his whiskers at $n.', 16, 0, 100, 0, 0, 0, 1591, 0, 'Snufflenose Gopher'), +(4781, 2, 0, '%s sniffs at the ground...', 16, 0, 100, 0, 0, 0, 1592, 0, 'Snufflenose Gopher'); + +DELETE FROM `gameobject` WHERE `id`=20919; +INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `VerifiedBuild`) VALUES +(@Guid+0, 20919, 47, 0, 0, 1, 1, 2082.74, 1671.82, 61.2396, 3.66079, 0, 0, 0.966493, -0.256693, -43200, 100, 1, 0), +(@Guid+1, 20919, 47, 0, 0, 1, 1, 2159.43, 1687.49, 57.5433, 3.66079, 0, 0, 0.966493, -0.256693, -43200, 100, 1, 0), +(@Guid+2, 20919, 47, 0, 0, 1, 1, 2080.89, 1703.36, 56.6447, 0.553757, 0, 0, 0.273354, 0.961913, -43200, 100, 1, 0), +(@Guid+3, 20919, 47, 0, 0, 1, 1, 2055.28, 1767.7, 58.4559, 2.98378, 0, 0, 0.996889, 0.0788245, -43200, 100, 1, 0), +(@Guid+4, 20919, 47, 0, 0, 1, 1, 2196.64, 1827.96, 61.4706, 2.11277, 0, 0, 0.870583, 0.492022, -43200, 100, 1, 0), +(@Guid+5, 20919, 47, 0, 0, 1, 1, 2030.32, 1867.61, 56.2866, 5.6777, 0, 0, 0.298139, -0.954522, -43200, 100, 1, 0), +(@Guid+6, 20919, 47, 0, 0, 1, 1, 2091.33, 1861.73, 51.0341, 1.25355, 0, 0, 0.586536, 0.809923, -43200, 100, 1, 0), +(@Guid+7, 20919, 47, 0, 0, 1, 1, 2200.15, 1897.64, 71.3191, 2.6492, 0, 0, 0.969846, 0.243717, -43200, 100, 1, 0), +(@Guid+8, 20919, 47, 0, 0, 1, 1, 2075.75, 1742.04, 76.7184, 1.33994, 0, 0, 0.620962, 0.78384, -43200, 100, 1, 0), +(@Guid+9, 20919, 47, 0, 0, 1, 1, 2126, 1661.15, 82.4824, 0.0220437, 0, 0, 0.0110216, 0.999939, -43200, 100, 1, 0), +(@Guid+10, 20919, 47, 0, 0, 1, 1, 2207.92, 1596.91, 80.7375, 3.60582, 0, 0, 0.973182, -0.230035, -43200, 100, 1, 0), +(@Guid+11, 20919, 47, 0, 0, 1, 1, 2156.98, 1542.26, 72.849, 2.43086, 0, 0, 0.937519, 0.347934, -43200, 100, 1, 0), +(@Guid+12, 20919, 47, 0, 0, 1, 1, 2179.95, 1514.06, 69.0709, 0.778385, 0, 0, 0.379441, 0.925216, -43200, 100, 1, 0), +(@Guid+13, 20919, 47, 0, 0, 1, 1, 2000.85, 1533.93, 80.3971, 4.919, 0, 0, 0.630419, -0.776255, -43200, 100, 1, 0), +(@Guid+14, 20919, 47, 0, 0, 1, 1, 1991.49, 1608.53, 81.1601, 1.1004, 0, 0, 0.522858, 0.85242, -43200, 100, 1, 0); diff --git a/sql/updates/world/2015_02_15_00_world.sql b/sql/updates/world/2015_02_15_00_world.sql new file mode 100644 index 00000000000..ba302a01484 --- /dev/null +++ b/sql/updates/world/2015_02_15_00_world.sql @@ -0,0 +1,456 @@ +-- Fix up formation from last commit +-- https://github.com/TrinityCore/TrinityCore/commit/bbcf8f58e69d361c3df1c37fa79d1efa3e52bc54 +DELETE FROM `creature_formations` WHERE `leaderGUID`=57594; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(57594, 57594, 0, 0, 2), +(57594, 57595, 5, 0, 2), +(57594, 57596, 10, 0, 2), +(57594, 57597, 15, 0, 2); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=57965; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES +(57965, 57965, 0, 0, 2), +(57965, 57966, 5, 0, 2), +(57965, 57967, 10, 0, 2), +(57965, 57968, 15, 0, 2); + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58706; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-372.7111,`position_y`=2839.348,`position_z`=3.085857 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,17408,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,-372.7111,2839.348,3.085857,0,0,0,0,100,0), +(@PATH,2,-369.1973,2833.291,3.833567,0,0,0,0,100,0), +(@PATH,3,-366.1855,2828.1,4.404455,0,0,0,0,100,0), +(@PATH,4,-364.1777,2824.639,5.029455,0,0,0,0,100,0), +(@PATH,5,-363.1738,2822.908,5.654455,0,0,0,0,100,0), +(@PATH,6,-361.668,2820.313,6.279455,0,0,0,0,100,0), +(@PATH,7,-360.6641,2818.582,7.029455,0,0,0,0,100,0), +(@PATH,8,-357.6523,2813.391,7.904455,0,0,0,0,100,0), +(@PATH,9,-354.6406,2808.199,8.654455,0,0,0,0,100,0), +(@PATH,10,-352.1309,2803.873,9.279455,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C0000212A8F .go -372.7111 2839.348 3.085857 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58710; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-173.5004,`position_y`=2340.303,`position_z`=60.07005 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,17408,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.5004,2340.303,60.07005,0,0,0,0,100,0), +(@PATH,2,-167.5776,2345.781,59.66853,0,0,0,0,100,0), +(@PATH,3,-168.3658,2358.138,57.73066,0,0,0,0,100,0), +(@PATH,4,-170.6648,2371.729,55.37167,0,0,0,0,100,0), +(@PATH,5,-176.5131,2386.787,51.77451,0,0,0,0,100,0), +(@PATH,6,-179.7427,2391.649,50.90343,0,0,0,0,100,0), +(@PATH,7,-179.451,2411.232,48.48401,0,0,0,0,100,0), +(@PATH,8,-181.9889,2397.549,50.08649,0,0,0,0,100,0), +(@PATH,9,-179.687,2391.666,50.90021,0,0,0,0,100,0), +(@PATH,10,-172.3989,2376.937,54.03761,0,0,0,0,100,0), +(@PATH,11,-168.9601,2362.579,56.66465,0,0,0,0,100,0), +(@PATH,12,-167.4705,2349.302,59.07915,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C000021381E .go -173.5004 2340.303 60.07005 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58709; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-280.5386,`position_y`=2385.487,`position_z`=49.5167 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,17408,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,-280.5386,2385.487,49.5167,0,0,0,0,100,0), +(@PATH,2,-274.4911,2399.897,49.77866,0,0,0,0,100,0), +(@PATH,3,-282.391,2415.943,47.12805,0,0,0,0,100,0), +(@PATH,4,-292.0588,2418.96,45.69984,0,0,0,0,100,0), +(@PATH,5,-296.9233,2425.813,44.45638,0,0,0,0,100,0), +(@PATH,6,-288.1144,2443.262,43.60903,0,0,0,0,100,0), +(@PATH,7,-293.5082,2451.608,42.39658,0,0,0,0,100,0), +(@PATH,8,-297.1542,2466.072,41.27671,0,0,0,0,100,0), +(@PATH,9,-296.9443,2470.941,40.92609,0,0,0,0,100,0), +(@PATH,10,-284.6176,2477.495,40.50471,0,0,0,0,100,0), +(@PATH,11,-290.6595,2483.031,40.95429,0,0,0,0,100,0), +(@PATH,12,-284.6285,2477.351,40.70044,0,0,0,0,100,0), +(@PATH,13,-297.5089,2457.768,41.62237,0,0,0,0,100,0), +(@PATH,14,-289.9194,2446.963,43.04158,0,0,0,0,100,0), +(@PATH,15,-287.7819,2443.668,43.38817,0,0,0,0,100,0), +(@PATH,16,-296.9543,2424.329,44.54842,0,0,0,0,100,0), +(@PATH,17,-284.9567,2418.073,46.32718,0,0,0,0,100,0), +(@PATH,18,-276.5181,2404.314,49.4864,0,0,0,0,100,0), +(@PATH,19,-280.4977,2385.4,49.48282,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C0000213910 .go -280.5386 2385.487 49.5167 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58708; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-314.1599,`position_y`=2611.343,`position_z`=41.12054 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,17408,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,-314.1599,2611.343,41.12054,0,0,0,0,100,0), +(@PATH,2,-302.6028,2572.273,41.00031,0,0,0,0,100,0), +(@PATH,3,-297.84,2550.173,41.36596,0,0,0,0,100,0), +(@PATH,4,-303.8246,2525.236,42.58739,0,0,0,0,100,0), +(@PATH,5,-297.9362,2545.895,41.70477,0,0,0,0,100,0), +(@PATH,6,-300.882,2566.604,41.32217,0,0,0,0,100,0), +(@PATH,7,-306.6208,2578.347,41.52526,0,0,0,0,100,0), +(@PATH,8,-312.7142,2588.381,41.36144,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C00002139B5 .go -314.1599 2611.343 41.12054 + +-- Add missing Bonechewer Raider +DELETE FROM `creature` WHERE `guid`=29980; +INSERT INTO `creature` (`guid`, `id`, `map`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `curhealth`, `MovementType`) VALUES +(29980, 16925, 530, 1, -354.3998, 2663.006, 41.72623, 0, 300, 3989, 2); + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 29980; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-354.3998,`position_y`=2663.006,`position_z`=41.72623 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,17408,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,-354.3998,2663.006,41.72623,0,0,0,0,100,0), +(@PATH,2,-346.7007,2672.114,38.15508,0,0,0,0,100,0), +(@PATH,3,-332.8381,2681.229,34.02082,0,0,0,0,100,0), +(@PATH,4,-319.6889,2687.015,31.10067,0,0,0,0,100,0), +(@PATH,5,-318.0042,2694.25,29.72155,0,0,0,0,100,0), +(@PATH,6,-324.0378,2716.413,25.33266,0,0,0,0,100,0), +(@PATH,7,-319.7849,2729.284,23.22117,0,0,0,0,100,0), +(@PATH,8,-322.0183,2746.254,18.96142,0,0,0,0,100,0), +(@PATH,9,-322.4724,2747.062,18.86184,0,0,0,0,100,0), +(@PATH,10,-322.3822,2746.857,18.3417,0,0,0,0,100,0), +(@PATH,11,-319.7568,2733.282,22.47406,0,0,0,0,100,0), +(@PATH,12,-323.8112,2718.555,24.77036,0,0,0,0,100,0), +(@PATH,13,-317.9898,2696.302,28.92368,0,0,0,0,100,0), +(@PATH,14,-318.5087,2690.603,30.36932,0,0,0,0,100,0), +(@PATH,15,-329.6577,2682.807,32.7053,0,0,0,0,100,0), +(@PATH,16,-344.2849,2674.339,36.96185,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C0000213896 .go -354.3998 2663.006 41.72623 + +-- Only one Tagar Spinebreaker should be spawned +DELETE FROM `creature` WHERE `guid`=85990; + +-- Pathing for Tagar Spinebreaker Entry: 19443 'TDB FORMAT' +SET @NPC := 85987; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-179.7917,`position_y`=2839.993,`position_z`=23.64687 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,-179.7917,2839.993,23.64687,0,0,0,0,100,0), +(@PATH,2,-168.0662,2837.727,26.36559,0,0,0,0,100,0), +(@PATH,3,-149.3422,2826.91,33.67762,0,0,0,0,100,0), +(@PATH,4,-149.3403,2813.561,35.25396,0,0,0,0,100,0), +(@PATH,5,-160.4427,2807.621,32.6923,0,0,0,0,100,0), +(@PATH,6,-172.6706,2803.528,29.62396,0,0,0,0,100,0), +(@PATH,7,-185.5681,2808.792,25.53679,0,0,0,0,100,0), +(@PATH,8,-186.3388,2797.655,26.33011,0,0,0,0,100,0), +(@PATH,9,-153.882,2788.701,36.85746,0,0,0,0,100,0), +(@PATH,10,-134.5498,2778.104,41.05849,0,0,0,0,100,0), +(@PATH,11,-120.4556,2753.937,49.37396,0,0,0,0,100,0), +(@PATH,12,-110.122,2737.952,52.16914,0,0,0,0,100,0), +(@PATH,13,-108.798,2709.016,51.00445,0,0,0,0,100,0), +(@PATH,14,-125.7525,2695.987,46.92542,0,0,0,0,100,0), +(@PATH,15,-165.7749,2686.863,43.39313,0,0,0,0,100,0), +(@PATH,16,-166.924,2686.502,43.27299,0,0,0,0,100,0), +(@PATH,17,-170.6192,2661.56,42.24799,0,0,0,0,100,0), +(@PATH,18,-166.9141,2633.801,41.55241,0,0,0,0,100,0), +(@PATH,19,-165.2749,2618.521,40.12231,0,0,0,0,100,0), +(@PATH,20,-164.5241,2612.235,40.08208,0,0,0,0,100,0), +(@PATH,21,-162.7764,2603.097,40.06981,0,0,0,0,100,0), +(@PATH,22,-165.0483,2590.722,39.90811,0,0,0,0,100,0), +(@PATH,23,-144.7979,2569.513,41.10892,0,0,0,0,100,0), +(@PATH,24,-146.1405,2544.73,40.98074,0,0,0,0,100,0), +(@PATH,25,-156.8518,2539.49,42.95174,0,0,0,0,100,0), +(@PATH,26,-170.4912,2527.817,41.62189,0,0,0,0,100,0), +(@PATH,27,-177.3363,2516.895,41.11181,0,0,0,0,100,0), +(@PATH,28,-176.3846,2510.593,41.94983,0,0,0,0,100,0), +(@PATH,29,-168.8438,2501.025,43.79488,0,0,0,0,100,0), +(@PATH,30,-145.8467,2499.76,45.61186,0,0,0,0,100,0), +(@PATH,31,-131.4405,2495.996,46.55548,0,0,0,0,100,0), +(@PATH,32,-124.8685,2492.812,46.93701,0,0,0,0,100,0), +(@PATH,33,-118.3926,2470.393,46.95731,0,0,0,0,100,0), +(@PATH,34,-134.5914,2450.625,46.18983,0,0,0,0,100,0), +(@PATH,35,-139.636,2439.596,48.65514,0,0,0,0,100,0), +(@PATH,36,-153.0726,2420.765,44.33873,0,0,0,0,100,0), +(@PATH,37,-164.3153,2415.917,48.36614,0,0,0,0,100,0), +(@PATH,38,-176.0278,2408.138,48.95763,0,0,0,0,100,0), +(@PATH,39,-181.3092,2397.231,50.16575,0,0,0,0,100,0), +(@PATH,40,-174.2651,2386.537,51.88837,0,0,0,0,100,0), +(@PATH,41,-171.3092,2382.064,53.20797,0,0,0,0,100,0), +(@PATH,42,-168.7256,2366.751,56.15277,0,0,0,0,100,0), +(@PATH,43,-168.0793,2352.929,58.49963,0,0,0,0,100,0), +(@PATH,44,-168.3409,2341.554,60.14597,0,0,0,0,100,0), +(@PATH,45,-175.721,2327.79,62.15151,0,0,0,0,100,0), +(@PATH,46,-193.0925,2317.189,56.10988,0,0,0,0,100,0), +(@PATH,47,-211.1901,2312.889,49.67965,0,0,0,0,100,0), +(@PATH,48,-243.0014,2311.802,51.36759,0,0,0,0,100,0), +(@PATH,49,-257.705,2324.297,56.98617,0,0,0,0,100,0), +(@PATH,50,-267.8463,2334.503,54.92202,0,0,0,0,100,0), +(@PATH,51,-284.0244,2347.267,51.85397,0,0,0,0,100,0), +(@PATH,52,-285.5917,2348.854,51.30281,0,0,0,0,100,0), +(@PATH,53,-277.6388,2384.371,49.04704,0,0,0,0,100,0), +(@PATH,54,-277.4207,2389,49.55646,0,0,0,0,100,0), +(@PATH,55,-282.4726,2415.647,47.11025,0,0,0,0,100,0), +(@PATH,56,-290.6383,2417.861,45.76169,0,0,0,0,100,0), +(@PATH,57,-296.9912,2425.083,44.68782,0,0,0,0,100,0), +(@PATH,58,-297.4091,2429.13,44.28957,0,0,0,0,100,0), +(@PATH,59,-292.8183,2446.393,42.99865,0,0,0,0,100,0), +(@PATH,60,-297.4739,2458.016,41.8229,0,0,0,0,100,0), +(@PATH,61,-299.0847,2461.294,41.30234,0,0,0,0,100,0), +(@PATH,62,-291.5309,2472.148,40.82636,0,0,0,0,100,0), +(@PATH,63,-315.7325,2479.059,38.88892,0,0,0,0,100,0), +(@PATH,64,-333.1553,2479.061,30.43475,0,0,0,0,100,0), +(@PATH,65,-362.027,2481.302,26.76814,0,0,0,0,100,0), +(@PATH,66,-381.832,2489.02,35.44767,0,0,0,0,100,0), +(@PATH,67,-383.683,2499.09,43.07095,0,0,0,0,100,0), +(@PATH,68,-373.0249,2518.307,44.52934,0,0,0,0,100,0), +(@PATH,69,-356.4537,2524.72,43.92796,0,0,0,0,100,0), +(@PATH,70,-341.8646,2517.716,42.69872,0,0,0,0,100,0), +(@PATH,71,-325.4874,2514.352,39.74596,0,0,0,0,100,0), +(@PATH,72,-317.6911,2517.743,42.27646,0,0,0,0,100,0), +(@PATH,73,-307.9288,2522.574,42.47154,0,0,0,0,100,0), +(@PATH,74,-303.3547,2545.351,42.88755,0,0,0,0,100,0), +(@PATH,75,-313.6268,2562.334,44.01721,0,0,0,0,100,0), +(@PATH,76,-319.8146,2564.861,44.6563,0,0,0,0,100,0), +(@PATH,77,-315.3898,2592.442,41.60535,0,0,0,0,100,0), +(@PATH,78,-315.032,2593.062,41.37146,0,0,0,0,100,0), +(@PATH,79,-333.1518,2616.684,42.40425,0,0,0,0,100,0), +(@PATH,80,-352.777,2633.742,40.45049,0,0,0,0,100,0), +(@PATH,81,-360.1994,2656.165,43.72129,0,0,0,0,100,0), +(@PATH,82,-344.7037,2680.905,36.1579,0,0,0,0,100,0), +(@PATH,83,-334.6349,2700.036,30.34241,0,0,0,0,100,0), +(@PATH,84,-324.9058,2712.125,26.43651,0,0,0,0,100,0), +(@PATH,85,-322.9779,2724.364,23.96236,0,0,0,0,100,0), +(@PATH,86,-326.3518,2734.545,22.44383,0,0,0,0,100,0), +(@PATH,87,-342.5912,2742.288,22.4451,0,0,0,0,100,0), +(@PATH,88,-368.7488,2739.919,27.63747,0,0,0,0,100,0), +(@PATH,89,-392.2097,2734.005,34.55191,0,0,0,0,100,0), +(@PATH,90,-414.4307,2741.14,39.55831,0,0,0,0,100,0), +(@PATH,91,-436.1942,2742.233,45.3562,0,0,0,0,100,0), +(@PATH,92,-462.9823,2756.808,49.85812,0,0,0,0,100,0), +(@PATH,93,-480.5942,2778.588,50.47923,0,0,0,0,100,0), +(@PATH,94,-476.0007,2799.573,45.95654,0,0,0,0,100,0), +(@PATH,95,-458.507,2835.351,35.33127,0,0,0,0,100,0), +(@PATH,96,-431.757,2863.309,23.74757,0,0,0,0,100,0), +(@PATH,97,-413.4223,2892.728,17.20714,0,0,0,0,100,0), +(@PATH,98,-419.2291,2905.467,19.51181,0,0,0,0,100,0), +(@PATH,99,-443.1462,2933.887,17.85199,0,0,0,0,100,0), +(@PATH,100,-438.8401,2966.167,8.723536,0,0,0,0,100,0), +(@PATH,101,-444.0433,2936.331,17.40722,0,0,0,0,100,0), +(@PATH,102,-432.5814,2918.56,19.31524,0,0,0,0,100,0), +(@PATH,103,-411.3571,2898.61,17.23361,0,0,0,0,100,0), +(@PATH,104,-429.0982,2867.209,22.665,0,0,0,0,100,0), +(@PATH,105,-457.4272,2836.473,34.75057,0,0,0,0,100,0), +(@PATH,106,-474.1913,2804.114,44.81591,0,0,0,0,100,0), +(@PATH,107,-481.0764,2783.36,50.09081,0,0,0,0,100,0), +(@PATH,108,-465.5521,2759.48,50.03743,0,0,0,0,100,0), +(@PATH,109,-440.5409,2744.546,46.12499,0,0,0,0,100,0), +(@PATH,110,-420.0836,2742.421,41.1034,0,0,0,0,100,0), +(@PATH,111,-397.9436,2734.918,35.90202,0,0,0,0,100,0), +(@PATH,112,-372.9858,2738.609,28.64789,0,0,0,0,100,0), +(@PATH,113,-348.4457,2742.212,23.42384,0,0,0,0,100,0), +(@PATH,114,-333.7679,2740.035,21.81408,0,0,0,0,100,0), +(@PATH,115,-324.9037,2731.125,22.83686,0,0,0,0,100,0), +(@PATH,116,-323.9969,2714.816,25.20854,0,0,0,0,100,0), +(@PATH,117,-332.7059,2702.867,29.4334,0,0,0,0,100,0), +(@PATH,118,-343.4227,2683.021,35.1899,0,0,0,0,100,0), +(@PATH,119,-359.6221,2658.229,43.55175,0,0,0,0,100,0), +(@PATH,120,-353.887,2635.825,39.48611,0,0,0,0,100,0), +(@PATH,121,-344.0572,2624.184,43.10011,0,0,0,0,100,0), +(@PATH,122,-325.4768,2613.256,41.99747,0,0,0,0,100,0), +(@PATH,123,-315.0096,2608.486,41.19632,0,0,0,0,100,0), +(@PATH,124,-325.0719,2578.15,44.60706,0,0,0,0,100,0), +(@PATH,125,-325.6835,2576.813,44.85286,0,0,0,0,100,0), +(@PATH,126,-313.8424,2562.751,43.86629,0,0,0,0,100,0), +(@PATH,127,-306.6296,2559.59,43.31482,0,0,0,0,100,0), +(@PATH,128,-303.079,2544.062,42.30245,0,0,0,0,100,0), +(@PATH,129,-324.1274,2514.437,40.29177,0,0,0,0,100,0), +(@PATH,130,-333.2019,2515.876,41.902,0,0,0,0,100,0), +(@PATH,131,-354.4488,2524.19,43.33042,0,0,0,0,100,0), +(@PATH,132,-359.7796,2523.489,44.53107,0,0,0,0,100,0), +(@PATH,133,-378.1317,2510.007,43.7447,0,0,0,0,100,0), +(@PATH,134,-382.583,2491,37.3352,0,0,0,0,100,0), +(@PATH,135,-368.7838,2483.057,28.09278,0,0,0,0,100,0), +(@PATH,136,-337.7688,2479.346,28.95182,0,0,0,0,100,0), +(@PATH,137,-318.8761,2478.915,37.70119,0,0,0,0,100,0), +(@PATH,138,-301.9458,2480.981,40.5145,0,0,0,0,100,0), +(@PATH,139,-300.0336,2481.129,40.53691,0,0,0,0,100,0), +(@PATH,140,-291.6542,2471.877,40.91128,0,0,0,0,100,0), +(@PATH,141,-295.2729,2454.313,42.07068,0,0,0,0,100,0), +(@PATH,142,-291.9165,2442.606,43.58534,0,0,0,0,100,0), +(@PATH,143,-290.83,2436.461,44.0534,0,0,0,0,100,0), +(@PATH,144,-296.628,2422.13,44.75555,0,0,0,0,100,0), +(@PATH,145,-284.9365,2416.829,46.52535,0,0,0,0,100,0), +(@PATH,146,-277.901,2404.396,49.46965,0,0,0,0,100,0), +(@PATH,147,-276.7875,2401.742,49.57491,0,0,0,0,100,0), +(@PATH,148,-275.867,2368.15,50.02176,0,0,0,0,100,0), +(@PATH,149,-280.12,2358.433,51.42045,0,0,0,0,100,0), +(@PATH,150,-271.6628,2337.664,53.90419,0,0,0,0,100,0), +(@PATH,151,-260.8519,2327.604,56.16253,0,0,0,0,100,0), +(@PATH,152,-246.7255,2313.879,53.0292,0,0,0,0,100,0), +(@PATH,153,-233.4331,2311.107,50.28912,0,0,0,0,100,0), +(@PATH,154,-194.8462,2316.223,54.13938,0,0,0,0,100,0), +(@PATH,155,-184.3219,2321.592,61.90179,0,0,0,0,100,0), +(@PATH,156,-169.6792,2336.901,61.27917,0,0,0,0,100,0), +(@PATH,157,-167.8382,2348.53,59.15134,0,0,0,0,100,0), +(@PATH,158,-168.2972,2362.321,57.01959,0,0,0,0,100,0), +(@PATH,159,-169.3826,2376.633,54.4596,0,0,0,0,100,0), +(@PATH,160,-171.8145,2382.753,52.97548,0,0,0,0,100,0), +(@PATH,161,-180.183,2392.34,51.01487,0,0,0,0,100,0), +(@PATH,162,-181.2741,2398.439,49.99238,0,0,0,0,100,0), +(@PATH,163,-175.461,2408.534,48.88574,0,0,0,0,100,0), +(@PATH,164,-157.5141,2417.718,45.03862,0,0,0,0,100,0), +(@PATH,165,-146.3332,2426.921,48.30313,0,0,0,0,100,0), +(@PATH,166,-137.9598,2445.376,46.12595,0,0,0,0,100,0), +(@PATH,167,-118.3926,2470.393,46.95731,0,0,0,0,100,0), +(@PATH,168,-124.8685,2492.812,46.93701,0,0,0,0,100,0), +(@PATH,169,-131.4405,2495.996,46.55548,0,0,0,0,100,0), +(@PATH,170,-145.8467,2499.76,45.61186,0,0,0,0,100,0), +(@PATH,171,-168.8438,2501.025,43.79488,0,0,0,0,100,0), +(@PATH,172,-176.3846,2510.593,41.94983,0,0,0,0,100,0), +(@PATH,173,-177.3363,2516.895,41.11181,0,0,0,0,100,0), +(@PATH,174,-170.4912,2527.817,41.62189,0,0,0,0,100,0), +(@PATH,175,-156.8518,2539.49,42.95174,0,0,0,0,100,0), +(@PATH,176,-146.1405,2544.73,40.98074,0,0,0,0,100,0), +(@PATH,177,-144.7979,2569.513,41.10892,0,0,0,0,100,0), +(@PATH,178,-165.0483,2590.722,39.90811,0,0,0,0,100,0), +(@PATH,179,-162.7764,2603.097,40.06981,0,0,0,0,100,0), +(@PATH,180,-164.5241,2612.235,40.08208,0,0,0,0,100,0), +(@PATH,181,-165.2749,2618.521,40.12231,0,0,0,0,100,0), +(@PATH,182,-166.9141,2633.801,41.55241,0,0,0,0,100,0), +(@PATH,183,-170.6192,2661.56,42.24799,0,0,0,0,100,0), +(@PATH,184,-166.924,2686.502,43.27299,0,0,0,0,100,0), +(@PATH,185,-165.7749,2686.863,43.39313,0,0,0,0,100,0), +(@PATH,186,-125.7525,2695.987,46.92542,0,0,0,0,100,0), +(@PATH,187,-108.798,2709.016,51.00445,0,0,0,0,100,0), +(@PATH,188,-110.122,2737.952,52.16914,0,0,0,0,100,0), +(@PATH,189,-120.4556,2753.937,49.37396,0,0,0,0,100,0), +(@PATH,190,-134.5498,2778.104,41.05849,0,0,0,0,100,0), +(@PATH,191,-153.882,2788.701,36.85746,0,0,0,0,100,0), +(@PATH,192,-186.3388,2797.655,26.33011,0,0,0,0,100,0), +(@PATH,193,-185.5681,2808.792,25.53679,0,0,0,0,100,0), +(@PATH,194,-172.6706,2803.528,29.62396,0,0,0,0,100,0), +(@PATH,195,-160.4427,2807.621,32.6923,0,0,0,0,100,0), +(@PATH,196,-149.3403,2813.561,35.25396,0,0,0,0,100,0), +(@PATH,197,-149.3422,2826.91,33.67762,0,0,0,0,100,0), +(@PATH,198,-168.0662,2837.727,26.36559,0,0,0,0,100,0), +(@PATH,199,-179.7917,2839.993,23.64687,0,0,0,0,100,0); +-- 0x1C09E4424012FCC000002C00005FBF34 .go -179.7917 2839.993 23.64687 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58704; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-404.7873,`position_y`=2895.921,`position_z`=13.85265 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,17408,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,-404.7873,2895.921,13.85265,0,0,0,0,100,0), +(@PATH,2,-404.2322,2900.299,14.15039,0,0,0,0,100,0), +(@PATH,3,-428.3772,2914.106,19.38362,0,0,0,0,100,0), +(@PATH,4,-439.7838,2928.416,18.55647,0,0,0,0,100,0), +(@PATH,5,-445.6255,2946.441,15.33809,0,0,0,0,100,0), +(@PATH,6,-439.2244,2964.096,9.26938,0,0,0,0,100,0), +(@PATH,7,-454.467,2971.035,9.009753,0,0,0,0,100,0), +(@PATH,8,-467.3622,2966.943,12.50773,0,0,0,0,100,0), +(@PATH,9,-482.1766,2976.099,11.32469,0,0,0,0,100,0), +(@PATH,10,-471.1085,2966.682,13.06236,0,0,0,0,100,0), +(@PATH,11,-456.4288,2970.18,9.417983,0,0,0,0,100,0), +(@PATH,12,-450.4304,2969.706,9.393501,0,0,0,0,100,0), +(@PATH,13,-446.038,2951.119,14.24401,0,0,0,0,100,0), +(@PATH,14,-442.8287,2934.824,17.44841,0,0,0,0,100,0), +(@PATH,15,-435.4904,2921.99,19.82334,0,0,0,0,100,0), +(@PATH,16,-404.6763,2913.004,15.59055,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C00005FACA1 .go -404.7873 2895.921 13.85265 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58705; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-394.2339,`position_y`=2891.354,`position_z`=8.341909 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,17408,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,-394.2339,2891.354,8.341909,0,0,0,0,100,0), +(@PATH,2,-404.354,2907.934,14.82262,0,0,0,0,100,0), +(@PATH,3,-420.1548,2911.418,19.02849,0,0,0,0,100,0), +(@PATH,4,-434.6948,2920.658,19.59609,0,0,0,0,100,0), +(@PATH,5,-443.507,2937.645,16.52073,0,0,0,0,100,0), +(@PATH,6,-438.1014,2952.321,11.34356,0,0,0,0,100,0), +(@PATH,7,-445.5783,2967.97,9.331216,0,0,0,0,100,0), +(@PATH,8,-438.8247,2958.072,10.36737,0,0,0,0,100,0), +(@PATH,9,-442.9203,2943.862,15.03016,0,0,0,0,100,0), +(@PATH,10,-440.1529,2925.814,19.82526,0,0,0,0,100,0), +(@PATH,11,-430.9389,2917.94,18.84661,0,0,0,0,100,0), +(@PATH,12,-407.8214,2910.193,16.49719,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C00005FACD2 .go -394.2339 2891.354 8.341909 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58703; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-173.0258,`position_y`=2784.179,`position_z`=31.73058 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,17408,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,-184.2477,2841.474,22.17058,0,0,0,0,100,0), +(@PATH,2,-186.5912,2837.849,21.70995,0,0,0,0,100,0), +(@PATH,3,-186.0354,2821.816,23.10514,0,0,0,0,100,0), +(@PATH,4,-190.4859,2804.101,24.46144,0,0,0,0,100,0), +(@PATH,5,-190.1222,2800.265,25.05125,0,0,0,0,100,0), +(@PATH,6,-185.8087,2784.323,28.49104,0,0,0,0,100,0), +(@PATH,7,-173.0258,2784.179,31.73058,0,0,0,0,100,0), +(@PATH,8,-153.8195,2788.142,37.07464,0,0,0,0,100,0), +(@PATH,9,-146.762,2781.243,39.44977,0,0,0,0,100,0), +(@PATH,10,-150.9473,2773.002,39.19555,0,0,0,0,100,0), +(@PATH,11,-165.231,2763.583,36.20363,0,0,0,0,100,0), +(@PATH,12,-181.1507,2755.388,30.1041,0,0,0,0,100,0), +(@PATH,13,-168.6309,2761.67,34.94637,0,0,0,0,100,0), +(@PATH,14,-157.0087,2768.504,38.33034,0,0,0,0,100,0), +(@PATH,15,-147.9143,2776.101,39.64468,0,0,0,0,100,0), +(@PATH,16,-148.772,2785.843,38.60817,0,0,0,0,100,0), +(@PATH,17,-167.8991,2784.874,33.46256,0,0,0,0,100,0), +(@PATH,18,-185.8087,2784.323,28.49104,0,0,0,0,100,0), +(@PATH,19,-190.1222,2800.265,25.05125,0,0,0,0,100,0), +(@PATH,20,-190.4859,2804.101,24.46144,0,0,0,0,100,0), +(@PATH,21,-186.0354,2821.816,23.10514,0,0,0,0,100,0), +(@PATH,22,-186.5912,2837.849,21.70995,0,0,0,0,100,0), +(@PATH,23,-184.2477,2841.474,22.17058,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C00005FBE47 .go -173.0258 2784.179 31.73058 + +-- Pathing for Bonechewer Raider Entry: 16925 'TDB FORMAT' +SET @NPC := 58707; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-180.3116,`position_y`=2686.223,`position_z`=40.81258 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,17408,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,-180.3116,2686.223,40.81258,0,0,0,0,100,0), +(@PATH,2,-175.7397,2679.259,42.18403,0,0,0,0,100,0), +(@PATH,3,-171.9714,2660.608,42.08878,0,0,0,0,100,0), +(@PATH,4,-170.7084,2658.794,42.01125,0,0,0,0,100,0), +(@PATH,5,-171.3484,2640.479,41.27383,0,0,0,0,100,0), +(@PATH,6,-171.948,2638.051,41.02221,0,0,0,0,100,0), +(@PATH,7,-165.7785,2619.644,40.29411,0,0,0,0,100,0), +(@PATH,8,-166.9228,2612.098,39.69428,0,0,0,0,100,0), +(@PATH,9,-169.5662,2594.979,39.33304,0,0,0,0,100,0), +(@PATH,10,-170.6965,2594.06,39.20753,0,0,0,0,100,0), +(@PATH,11,-170.8916,2594.003,38.98936,0,0,0,0,100,0), +(@PATH,12,-166.2133,2597.965,39.64554,0,0,0,0,100,0), +(@PATH,13,-163.8443,2600.274,39.8479,0,0,0,0,100,0), +(@PATH,14,-165.4025,2621.016,40.56765,0,0,0,0,100,0), +(@PATH,15,-164.8262,2624.799,41.17817,0,0,0,0,100,0), +(@PATH,16,-170.1738,2643.713,41.53741,0,0,0,0,100,0), +(@PATH,17,-169.1673,2647.221,41.99223,0,0,0,0,100,0), +(@PATH,18,-171.7151,2670.958,42.49662,0,0,0,0,100,0); +-- 0x1C09E4424010874000002C00005FBFA9 .go -180.3116 2686.223 40.81258 diff --git a/sql/updates/world/2015_02_15_01_world.sql b/sql/updates/world/2015_02_15_01_world.sql new file mode 100644 index 00000000000..63deab73f54 --- /dev/null +++ b/sql/updates/world/2015_02_15_01_world.sql @@ -0,0 +1,7 @@ +-- Darnassian Scout SAI +SET @ENTRY := 15968; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,75,30831,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darnassian Scout - On Reset - Cast 'Stealth'"), +(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,28,30831,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darnassian Scout - On Aggro - Remove Aura 'Stealth'"); diff --git a/sql/updates/world/2015_02_15_02_world.sql b/sql/updates/world/2015_02_15_02_world.sql new file mode 100644 index 00000000000..34a27d468b7 --- /dev/null +++ b/sql/updates/world/2015_02_15_02_world.sql @@ -0,0 +1,56 @@ +-- Nexus-King Salhadaar SAI +SET @ENTRY := 20454; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,3,100,1,1000,1000,1000,1000,19,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - Out of Combat - Remove Flag Not Selectable (Phase 4) (No Repeat)"), +(@ENTRY,0,1,2,61,0,100,1,1000,1000,1000,1000,2,1796,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - Out of Combat - Set Faction 1796 (Phase 4) (No Repeat)"), +(@ENTRY,0,2,0,61,0,100,1,1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - Out of Combat - Say Line 0 (Phase 4)"), +(@ENTRY,0,3,0,0,0,100,0,5000,10000,15000,25000,11,36533,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - In Combat - Cast 'Gravity Flux'"), +(@ENTRY,0,4,5,2,0,100,1,5,25,0,0,11,36848,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - Between 5-25% Health - Cast 'Mirror Image' (No Repeat)"), +(@ENTRY,0,5,0,61,0,100,0,5,25,0,0,11,36847,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - Between 5-25% Health - Cast 'Mirror Image' (No Repeat)"), +(@ENTRY,0,6,0,0,0,100,0,15000,25000,10000,30000,11,36527,0,0,0,0,0,5,0,0,0,0,0,0,0,"Nexus-King Salhadaar - In Combat - Cast 'Stasis'"), +(@ENTRY,0,7,8,7,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - On Evade - Set Faction 35"), +(@ENTRY,0,8,10,61,0,100,0,0,0,0,0,45,1,1,0,0,0,0,11,21425,20,0,0,0,0,0,"Nexus-King Salhadaar - On Evade - Set Data 1 1"), +(@ENTRY,0,9,0,38,0,100,0,1,1,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - On Data Set 1 1 - Increment Phase"), +(@ENTRY,0,10,0,61,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - On Evade - Set Event Phase 0"); + +-- Nexus-King Salhadaar SAI +SET @ENTRY := 21425; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,49,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Nexus-King Salhadaar - On Just Summoned - Start Attacking"), +(@ENTRY,0,1,0,38,0,100,0,1,1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Nexus-King Salhadaar - On Data Set 1 1 - Despawn Instant"); + +-- remove randmmovement +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `guid` IN (73277, 73278, 73279); + +-- Salaadin's Energy Ball SAI +SET @ENTRY := 20769; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,32566,0,0,0,0,0,1,0,0,0,0,0,0,0,"Salaadin's Energy Ball - On Respawn - Cast 'Purple Banish State' (No Repeat)"), +(@ENTRY,0,1,0,1,0,100,0,5000,5000,0,0,11,35515,0,0,0,0,0,9,20454,0,200,0,0,0,0,"Salaadin's Energy Ball - Out of Combat - Cast 'Salaadin's Tesla'"), +(@ENTRY,0,2,0,38,0,100,0,1,1,0,0,41,100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Salaadin's Energy Ball - On Data Set 1 1 - Despawn In 100 ms"); + +-- Protectorate Disruptor SAI +SET @ENTRY := 184561; +UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=1; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,1,0,0,1,0,100,1,0,0,0,0,45,1,1,0,0,0,0,19,20769,10,0,0,0,0,0,"Protectorate Disruptor - Out of Combat - Set Data 1 1 (No Repeat)"), +(@ENTRY,1,1,0,1,0,100,1,1000,1000,0,0,45,1,1,0,0,0,0,10,72462,20454,0,0,0,0,0,"Protectorate Disruptor - Out of Combat - Set Data 1 1 (No Repeat)"); + +DELETE FROM `creature_text` WHERE `entry` = 20454 AND `groupid` = 0; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`comment`, `BroadcastTextId`) VALUES +(20454, 0, 0, "Prepare to enter oblivion, meddlers. You have unleashed a god!", 14, 0, 100, "Nexus-King Salhadaar", 18443); + +DELETE FROM `creature_text` WHERE `entry` = 20454 AND `groupid` = 0; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`comment`, `BroadcastTextID`) VALUES +(20454, 0, 0, "Prepare to enter oblivion, meddlers. You have unleashed a god!", 14, 0, 100, "Nexus-King Salhadaar", 18443); + +DELETE FROM `disables` WHERE `sourceType`=0 AND `entry`=35515; +INSERT INTO `disables`(`sourceType`,`entry`,`flags`,`comment`) VALUES +(0,35515,64,'Ignore LOS on Salaadin\'s Tesla'); diff --git a/sql/updates/world/2015_02_15_03_world.sql b/sql/updates/world/2015_02_15_03_world.sql new file mode 100644 index 00000000000..64e7fe6c50a --- /dev/null +++ b/sql/updates/world/2015_02_15_03_world.sql @@ -0,0 +1,53 @@ +-- Plagueborn Horror SAI +SET @ENTRY := 36879; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,2,5000,5000,10000,10000,11,69581,0,0,0,0,0,5,0,0,0,0,0,0,0,"Plagueborn Horror - In Combat - Cast 'Pustulant Flesh' (Normal Dungeon)"), +(@ENTRY,0,1,0,0,0,100,4,5000,5000,10000,10000,11,70273,0,0,0,0,0,5,0,0,0,0,0,0,0,"Plagueborn Horror - In Combat - Cast 'Pustulant Flesh' (Heroic Dungeon)"), +(@ENTRY,0,2,0,0,0,100,6,8000,8000,8000,8000,11,70274,0,0,0,0,0,5,0,0,0,0,0,0,0,"Plagueborn Horror - In Combat - Cast 'Toxic Waste' (Dungeon)"), +(@ENTRY,0,3,0,2,0,100,6,15,15,0,0,11,69582,0,0,0,0,0,1,0,0,0,0,0,0,0,"Plagueborn Horror - Between 15-15% Health - Cast 'Blight Bomb' (Dungeon)"), +(@ENTRY,0,4,5,1,0,100,0,0,0,120000,120000,11,58051,2,0,0,0,0,1,0,0,0,0,0,0,0,"Plagueborn Horror - Out of Combat - Cast 'Summon Scourge Package'"), +(@ENTRY,0,5,0,61,0,100,0,0,0,120000,120000,11,69702,2,0,0,0,0,9,30887,0,4,0,0,0,0,"Plagueborn Horror - Out of Combat - Cast 'Rope'"), +(@ENTRY,0,6,0,4,0,100,0,0,0,0,0,45,1,1,0,0,0,0,9,30887,0,10,0,0,0,0,"Plagueborn Horror - On Aggro - Set Data 1 1"), +(@ENTRY,0,7,8,25,0,100,0,0,0,0,0,11,58051,2,0,0,0,0,1,0,0,0,0,0,0,0,"Plagueborn Horror - On Reset - Cast 'Summon Scourge Package'"), +(@ENTRY,0,8,0,61,0,100,0,0,0,0,0,11,63413,2,0,0,0,0,9,30887,0,5,0,0,0,0,"Plagueborn Horror - On Reset - Cast 'Rope Beam'"); + +UPDATE `creature` SET `spawndist`=15, `MovementType`=1 WHERE `guid` IN (201981, 201833, 202236, 201903); + +-- Scourge Package SAI +SET @ENTRY := 30887; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,29,3,40,0,0,0,0,7,0,0,0,0,0,0,0,"Scourge Package - On Just Summoned - Start Follow Invoker"), +(@ENTRY,0,1,0,54,0,100,0,0,0,0,0,87,@ENTRY*100+00,@ENTRY*100+01,@ENTRY*100+02,@ENTRY*100+03,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Just Summoned - Run Random Script"), +(@ENTRY,0,2,0,38,0,100,0,1,1,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Data Set 1 1 - Despawn In 1000 ms"); + +-- Actionlist SAI +SET @ENTRY := 3088700; +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,11,58016,2,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Script - Cast 'Scourge Package Visual'"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Script - Set Faction 35"); + +-- Actionlist SAI +SET @ENTRY := 3088701; +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,11,58022,2,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Cast 'Scourge Package Visual'"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Script - Set Faction 35"); + +-- Actionlist SAI +SET @ENTRY := 3088702; +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,11,58020,2,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Cast 'Scourge Package Visual'"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Script - Set Faction 35"); + +-- Actionlist SAI +SET @ENTRY := 3088703; +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,11,58023,2,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Cast 'Scourge Package Visual'"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,2,35,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Package - On Script - Set Faction 35"); diff --git a/sql/updates/world/2015_02_15_04_world.sql b/sql/updates/world/2015_02_15_04_world.sql new file mode 100644 index 00000000000..56212e2873c --- /dev/null +++ b/sql/updates/world/2015_02_15_04_world.sql @@ -0,0 +1,11 @@ +-- +DELETE FROM `areatrigger_scripts` WHERE `entry`=3587; +INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES +(3587, 'at_ancient_leaf'); +DELETE FROM `creature` WHERE `id` IN (14524, 14525, 14526); + +DELETE FROM `creature_summon_groups` WHERE `summonerId`=1; +INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES +(1, 2, 1, 14524, 6204.051758, -1172.575684, 370.079224, 0.86052, 3, 100000), +(1, 2, 1, 14525, 6246.953613, -1155.985718, 366.182953, 2.90269, 3, 100000), +(1, 2, 1, 14526, 6193.449219, -1137.834106, 366.260529, 5.77332, 3, 100000); diff --git a/sql/updates/world/2015_02_15_05_world.sql b/sql/updates/world/2015_02_15_05_world.sql new file mode 100644 index 00000000000..033d6f1d4b6 --- /dev/null +++ b/sql/updates/world/2015_02_15_05_world.sql @@ -0,0 +1,27 @@ +-- Volcor SAI +SET @ENTRY := 3692; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,994,0,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Quest 'Escape Through Force' Taken - Run Script"), +(@ENTRY,0,1,0,19,0,100,0,995,0,0,0,80,@ENTRY*100+01,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Quest 'Escape Through Stealth' Taken - Run Script"), +(@ENTRY,0,2,0,40,0,100,0,15,3692,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Waypoint 15 Reached - Despawn Instant"), +(@ENTRY,0,3,0,4,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Aggro - Say Line 1"); + +-- Actionlist SAI +SET @ENTRY := 369200; +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,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Volcor - On Script - Say Line 0"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,53,0,3692,0,0,0,2,1,0,0,0,0,0,0,0,"Volcor - On Script - Start Waypoint"), +(@ENTRY,9,2,0,0,0,100,0,110000,110000,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Volcor - On Script - Say Line 2"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,15,994,0,0,0,0,0,7,0,0,0,0,0,0,0,"Volcor - On Script - Quest Credit 'Escape Through Force'"); + +-- Actionlist SAI +SET @ENTRY := 369201; +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,1,0,0,0,0,0,0,1,3,0,0,0,0,0,0,"Volcor - On Script - Say Line 0"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,53,0,3692,0,0,0,2,1,0,0,0,0,0,0,0,"Volcor - On Script - Start Waypoint"), +(@ENTRY,9,2,0,0,0,100,0,110000,110000,0,0,1,3,0,0,0,0,0,7,0,0,0,0,0,0,0,"Volcor - On Script - Say Line 3"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,15,995,0,0,0,0,0,7,0,0,0,0,0,0,0,"Volcor - On Script - Quest Credit 'Escape Through Stealth'"); diff --git a/sql/updates/world/2015_02_15_06_world.sql b/sql/updates/world/2015_02_15_06_world.sql new file mode 100644 index 00000000000..84d6730666f --- /dev/null +++ b/sql/updates/world/2015_02_15_06_world.sql @@ -0,0 +1,10 @@ +-- +DELETE FROM `areatrigger_scripts` WHERE `entry` = 4479; +INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES +(4479, 'SmartTrigger'); +DELETE FROM `smart_scripts` WHERE `entryorguid` = 4479 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 +(4479, 2, 0, 0, 46, 0, 100, 0, 4479, 0, 0, 0, 85, 33728, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Areatrigger - On Trigger - Cast Teleport Shattrath'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 22 AND `SourceEntry` = 4479 AND `SourceId` = 2; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 4479, 2, 0, 28, 0, 10280, 0, 0, 0, 0, '', 'Teleport only on Quest "Special Delivery to Shattrath City"'); diff --git a/sql/updates/world/2015_02_15_07_world.sql b/sql/updates/world/2015_02_15_07_world.sql new file mode 100644 index 00000000000..afbbc3817ef --- /dev/null +++ b/sql/updates/world/2015_02_15_07_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=24 AND `SourceEntry`=522; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `Comment`) VALUES +(14, 24, 522, 0, 0, 8, 0, 770, 0, 0, 1, 0, 0, 'Show gossip text if player do not has quest 770 completed'); diff --git a/sql/updates/world/2015_02_15_08_world.sql b/sql/updates/world/2015_02_15_08_world.sql new file mode 100644 index 00000000000..db2f5e1b59a --- /dev/null +++ b/sql/updates/world/2015_02_15_08_world.sql @@ -0,0 +1,27 @@ +-- Infiltrator Marksen SAI +SET @ENTRY := 5416; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,1391,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Quest 'Nothing But The Truth' Finished - Run Script"), +(@ENTRY,0,1,0,6,0,100,0,0,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Just Died - Say Line 4"); + +-- Actionlist SAI +SET @ENTRY := 541600; +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,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Say Line 0"), +(@ENTRY,9,1,0,0,0,100,0,2000,2000,0,0,1,1,4000,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Say Line 1"), +(@ENTRY,9,2,0,0,0,100,0,4000,4000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Say Line 2"), +(@ENTRY,9,3,0,0,0,100,0,3000,3000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Say Line 3"), +(@ENTRY,9,4,0,0,0,100,0,1000,1000,0,0,3,0,10973,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Morph To Model 10973"), +(@ENTRY,9,5,0,0,0,100,0,100,100,0,0,89,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Start Random Movement"), +(@ENTRY,9,6,0,0,0,100,0,5000,5000,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Infiltrator Marksen - On Script - Kill Self"); + +DELETE FROM `creature_text` WHERE `entry`=5416; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(5416, 0, 0, '%s takes a big swig of ale.', 16, 0, 100, 0, 0, 0, 'Infiltrator Marksen',18019), +(5416, 1, 0, 'That was refreshing. Now there\'s information that needs to be told...', 12, 0, 100, 1, 0, 0, 'Infiltrator Marksen',18019), +(5416, 2, 0, 'I believe the Forsaken are misleading the allies of the Horde.... wait... I feel so... dizzy...', 12, 0, 100, 1, 0, 0, 'Infiltrator Marksen',18019), +(5416, 3, 0, '%s writhes in pain.', 16, 0, 100, 0, 0, 0, 'Infiltrator Marksen',18019), +(5416, 4, 0, 'AAAAAAAAAAAAAAAAARGH!', 12, 0, 100, 0, 0, 0, 'Infiltrator Marksen',18019); diff --git a/sql/updates/world/2015_02_15_09_world.sql b/sql/updates/world/2015_02_15_09_world.sql new file mode 100644 index 00000000000..1e2ca3b9f1c --- /dev/null +++ b/sql/updates/world/2015_02_15_09_world.sql @@ -0,0 +1,10 @@ +-- +DELETE FROM `gossip_menu` WHERE `entry`=40060; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(40060, 2494), +(40060, 2493); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=40060 AND `SourceEntry` IN (2494, 2493); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `Comment`) VALUES +(14, 40060, 2494, 0, 0, 8, 0, 4023, 0, 0, 1, 0, 0, 'Show gossip text if player do not has quest 4023 completed'), +(14, 40060, 2493, 0, 1, 8, 0, 4022, 0, 0, 1, 0, 0, 'Show gossip text if player do not has quest 4022 completed'); diff --git a/sql/updates/world/2015_02_15_10_world.sql b/sql/updates/world/2015_02_15_10_world.sql new file mode 100644 index 00000000000..d9506211550 --- /dev/null +++ b/sql/updates/world/2015_02_15_10_world.sql @@ -0,0 +1,5 @@ +-- +SET @newestguid := 45208; +DELETE FROM `creature` WHERE `guid`=@newestguid AND `id`=25654; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES +(@newestguid, 25654, 571, 1, 1, 0, 0, 4207.15, 4057.02, 91.6273, 1.38362, 300, 0, 0, 42, 0, 0, 0, 0, 0); diff --git a/sql/updates/world/2015_02_15_11_world.sql b/sql/updates/world/2015_02_15_11_world.sql new file mode 100644 index 00000000000..458a23a77cf --- /dev/null +++ b/sql/updates/world/2015_02_15_11_world.sql @@ -0,0 +1,9 @@ +-- +SET @CGUID := 45212; +DELETE FROM `creature` WHERE `guid` IN (@CGUID); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID, 30082, 571, 1, 4, 7271.656, -878.8148, 926.0092, 5.532694, 600, 0, 0); + +DELETE FROM `spell_area` WHERE `spell`=55783 AND `area`=4432; +INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES +(55783, 4432, 12879, 12973, 0, 0, 2, 1, 66, 1); diff --git a/sql/updates/world/2015_02_15_12_world.sql b/sql/updates/world/2015_02_15_12_world.sql new file mode 100644 index 00000000000..cb4c2b9150c --- /dev/null +++ b/sql/updates/world/2015_02_15_12_world.sql @@ -0,0 +1,61 @@ +-- +SET @CGUID := 45761; + +DELETE FROM `creature` WHERE `id`=26265; +INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `VerifiedBuild`) VALUES +(@CGUID, 26265, 571, 0, 0, 1, 1, 0, 0, 4031.15, 7326.39, 635.972, 4.26247, 300, 0, 0, 1, 0, 0, 0, 0, 0,0); + +UPDATE `creature_template` SET `ScriptName`='', `npcflag`=`npcflag`|1 WHERE `entry`=26206; +-- Keristrasza SAI +SET @ENTRY := 26206; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,9262,0,0,0,11,46772,0,0,0,0,0,7,0,0,0,0,0,0,0,"Keristrasza - On Gossip Option 0 Selected - Cast 'Teleport'"), +(@ENTRY,0,1,0,61,0,100,0,9262,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Keristrasza - On Gossip Option 0 Selected - Close Gossip"), +(@ENTRY,0,2,3,62,0,100,0,9262,1,0,0,11,46824,0,0,0,0,0,7,0,0,0,0,0,0,0,"Keristrasza - On Gossip Option 1 Selected - Cast 'Teleport'"), +(@ENTRY,0,3,0,61,0,100,0,9262,1,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Keristrasza - On Gossip Option 1 Selected - Close Gossip"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9262 AND `SourceEntry` IN (0, 1); +INSERT INTO `conditions` VALUES +(15, 9262, 0, 0, 0, 9, 0, 11957, 0, 0, 0, 0, 0, '', 'Only show gossip if player has quest 11957'), +(15, 9262, 1, 0, 0, 2, 0, 35709, 1, 0, 0, 0, 0, '', 'Only show gossip if player has item 35709'); + +-- Saragosa's End Invisman SAI +SET @ENTRY := 26265; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,46793,0,0,0,12,26231,5,0,0,0,0,8,0,0,0,4050.19,7329.25,635.97,3.34,"Saragosa's End Invisman - On Spellhit 'Activate Power Focus' - Summon Creature 'Saragosa'"), +(@ENTRY,0,1,0,61,0,100,0,46793,0,0,0,11,46789,0,0,0,0,0,1,0,0,0,0,0,0,0,"Saragosa's End Invisman - On Spellhit 'Activate Power Focus' - Cast 'Blue Power Focus'"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=26265; +INSERT INTO `conditions` VALUES +(22, 1, 26265, 0, 0, 29, 0, 26231, 40, 0, 1, 0, 0, '', 'Only summon Saragosa if there is not already one in range'), +(22, 1, 26265, 0, 0, 29, 0, 26232, 40, 0, 1, 0, 0, '', 'Only summon Saragosa if there is not already one in range'); + +-- Activate Power Focus (46793) +DELETE FROM `event_scripts` WHERE `id`=17452; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=46793; +INSERT INTO `conditions` VALUES +(13, 1, 46793, 0, 0, 31, 0, 3, 26265, 0, 0, 0, 0, '', 'Target needs to be Saragosa''s End Invisman'); + +UPDATE `creature_template` SET `ScriptName`='', `unit_flags`=`unit_flags`|768, `flags_extra`=`flags_extra`|2 WHERE `entry`=26231; +-- Saragosa SAI +SET @ENTRY := 26231; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,6000,6000,0,0,28,46789,0,0,0,0,0,19,26265,40,0,0,0,0,0,"Saragosa - Out of Combat - Remove Aura 'Blue Power Focus' (No Repeat)"), +(@ENTRY,0,1,2,1,0,100,1,12000,12000,0,0,12,26232,1,120000,0,0,0,1,0,0,0,0,0,0,0,"Saragosa - Out of Combat - Summon Creature 'Saragosa' (No Repeat)"), +(@ENTRY,0,2,0,61,0,100,0,12000,12000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Saragosa - Out of Combat - Despawn Instant (No Repeat)"); + +UPDATE `creature_template` SET `ScriptName`='', `flags_extra`=`flags_extra`|2 WHERE `entry`=26232; +-- Saragosa SAI +SET @ENTRY := 26232; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,40,3400,6200,11,51779,0,0,0,0,0,2,0,0,0,0,0,0,0,"Saragosa - In Combat - Cast 'Frostfire Bolt'"), +(@ENTRY,0,1,0,0,0,100,0,8500,17500,20100,40100,11,15063,0,0,0,0,0,2,0,0,0,0,0,0,0,"Saragosa - In Combat - Cast 'Frost Nova'"); diff --git a/sql/updates/world/2015_02_15_13_world.sql b/sql/updates/world/2015_02_15_13_world.sql new file mode 100644 index 00000000000..8e1b4629085 --- /dev/null +++ b/sql/updates/world/2015_02_15_13_world.sql @@ -0,0 +1,84 @@ +-- +SET @CGUID := 56502; -- needs 3 +DELETE FROM `creature` WHERE `guid` IN (@CGUID+0, @CGUID+1, @CGUID+2); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 26620, 600, 3, 1, -522.7039, -605.9083, 1.299988, 2.6529, 7200, 0, 0), -- 26620 (Area: 4196) (Auras: 47503 - 47503) +(@CGUID+1, 26620, 600, 3, 1, -518.0062, -599.1102, 1.10835, 3.054326, 7200, 0, 0), -- 26620 (Area: 4196) (Auras: 47503 - 47503) +(@CGUID+2, 26626, 600, 3, 1, -511.0887, -602.5585, 2.56744, 3.193953, 7200, 0, 0); -- 26626 (Area: 4196) + +DELETE FROM `creature_addon` WHERE `guid` IN (@CGUID+0, @CGUID+1); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@CGUID+0, 0, 0, 0, 0, 0, '47503'), +(@CGUID+1, 0, 0, 0, 0, 0, '47503'); + +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=26626 AND `source_type`=0 AND `id`=0 AND `link`=1; + +-- Scourge Reanimator SAI +SET @GUID := -@CGUID+2; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26626; +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,2,25,0,100,1,0,0,0,0,80,2662600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Reset - Run Script (No Repeat)"), +(@GUID,0,1,0,40,0,100,0,1,2662600,0,0,80,2662601,2,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Waypoint 1 Reached - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 2662600; +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,2000,2000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Script - Say Line 0"), +(@ENTRY,9,1,0,0,0,100,0,3000,3000,0,0,53,1,2662600,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Script - Start Waypoint"); + +-- Actionlist SAI +SET @ENTRY := 2662601; +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,45,1,1,0,0,0,0,10,@CGUID,26620,0,0,0,0,0,"Scourge Reanimator - On Script - Set Data 1 1"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,@CGUID+1,26620,0,0,0,0,0,"Scourge Reanimator - On Script - Set Data 1 1"), +(@ENTRY,9,2,0,0,0,100,0,2000,2000,0,0,11,48597,0,0,0,0,0,10,@CGUID+1,26620,0,0,0,0,0,"Scourge Reanimator - On Script - Cast 'Raise Dead'"), +(@ENTRY,9,3,0,0,0,100,0,2000,2000,0,0,12,26635,3,600000,0,0,0,8,0,0,0,-536.830505,-578.793091,1.91333,1.774444,"Scourge Reanimator - On Script - Summon Creature 'Risen Drakkari Warrior'"), +(@ENTRY,9,4,0,0,0,100,0,3000,3000,0,0,11,48597,0,0,0,0,0,10,@CGUID,26620,0,0,0,0,0,"Scourge Reanimator - On Script - Cast 'Raise Dead'"), +(@ENTRY,9,5,0,0,0,100,0,2000,2000,0,0,12,26635,3,600000,0,0,0,8,0,0,0,-543.121582,-582.083313,1.025425,2.120673,"Scourge Reanimator - On Script - Summon Creature 'Risen Drakkari Warrior'"), +(@ENTRY,9,6,0,0,0,100,0,4000,4000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Script - Say Line 2"), +(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,11,47506,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Script - Cast 'Teleport'"), +(@ENTRY,9,8,0,0,0,100,0,1500,1500,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Script - Despawn Instant"); + +DELETE FROM `waypoints` WHERE `entry`=2662600; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(2662600, 1, -533.262695, -591.052856, 2.484161, 'Scourge Reanimator'); + +-- Drakkari Guardian SAI +SET @GUID := -@CGUID; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26620; +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,1,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-543.121582,-582.083313,1.025425,2.120673,"Drakkari Guardian - Out of Combat - Move To Position (No Repeat)"), +(@GUID,0,1,0,38,0,100,0,1,1,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Drakkari Guardian - On Data Set 1 1 - Kill Self"); + +-- Drakkari Guardian SAI +SET @GUID := -@CGUID+1; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26620; +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,1,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-536.830505,-578.793091,1.913330,1.774444,"Drakkari Guardian - Out of Combat - Move To Position (No Repeat)"), +(@GUID,0,1,0,38,0,100,0,1,1,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Drakkari Guardian - On Data Set 1 1 - Kill Self"); + +-- Risen Drakkari Warrior SAI +SET @ENTRY := 26635; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,6,1000,3000,5000,9500,11,36093,0,0,0,0,0,2,0,0,0,0,0,0,0,"Risen Drakkari Warrior - In Combat - Cast 'Ghost Strike' (Dungeon)"), +(@ENTRY,0,1,0,0,0,100,6,1000,3000,7250,10000,11,33661,0,0,0,0,0,2,0,0,0,0,0,0,0,"Risen Drakkari Warrior - In Combat - Cast 'Crush Armor' (Dungeon)"), +(@ENTRY,0,2,0,54,0,100,0,0,0,0,0,89,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Risen Drakkari Warrior - On Just Summoned - Start Random Movement"); + +DELETE FROM `creature_text` WHERE `entry`=26626; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(26626, 0, 0, 'Don''t be so quick to escape! I have a parting gift....', 14, 0, 100, 0, 0, 0, 26474, 0, 'Scourge Reanimator'), +(26626, 1, 0, 'Rise my warriors and fight for your new liege!', 14, 0, 100, 0, 0, 0, 26464, 0, 'Scourge Reanimator'), +(26626, 2, 0, 'Please enjoy their company, the Lich King sends his regards!', 14, 0, 100, 0, 0, 0, 26473, 0, 'Scourge Reanimator'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=48597; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 48597, 0, 0, 31, 0, 3, 26620, 0, 0, 0, 0, '', 'Raise Dead - only targets Drakkari Guardian'); + +DELETE FROM `creature` WHERE `guid` IN (127436, 127437); diff --git a/sql/updates/world/2015_02_15_14_world.sql b/sql/updates/world/2015_02_15_14_world.sql new file mode 100644 index 00000000000..7e387b9df5a --- /dev/null +++ b/sql/updates/world/2015_02_15_14_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `creature_addon` WHERE `guid` IN (127436, 127437); +DELETE FROM `linked_respawn` WHERE `guid` IN (127436, 127437); +DELETE FROM `spell_script_names` WHERE `spell_id`=8283 AND `ScriptName`='spell_snufflenose_command'; +UPDATE `creature_template` SET `ScriptName`='' WHERE `entry`=26206; diff --git a/sql/updates/world/2015_02_16_00_world.sql b/sql/updates/world/2015_02_16_00_world.sql new file mode 100644 index 00000000000..f6ea0ed5a0e --- /dev/null +++ b/sql/updates/world/2015_02_16_00_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=83600 AND `source_type`=9 AND `id`=2 AND `link`=0; diff --git a/sql/updates/world/2015_02_16_01_world.sql b/sql/updates/world/2015_02_16_01_world.sql new file mode 100644 index 00000000000..0d130f32f7b --- /dev/null +++ b/sql/updates/world/2015_02_16_01_world.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `spell_target_position` WHERE `id` in (50859); diff --git a/sql/updates/world/2015_02_16_02_world.sql b/sql/updates/world/2015_02_16_02_world.sql new file mode 100644 index 00000000000..3f67ae7ac1b --- /dev/null +++ b/sql/updates/world/2015_02_16_02_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `gameobject_template` WHERE `entry` IN (193977,193978); +INSERT INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `castBarCaption`, `unk1`, `faction`, `flags`, `size`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `data0`, `data1`, `data2`, `data3`, `data4`, `data5`, `data6`, `data7`, `data8`, `data9`, `data10`, `data11`, `data12`, `data13`, `data14`, `data15`, `data16`, `data17`, `data18`, `data19`, `data20`, `data21`, `data22`, `data23`, `AIName`, `ScriptName`, `VerifiedBuild`) VALUES +(193977, 22, 8532, 'Bottle of Peaked Dalaran Red', '', '', '', 0, 0, 1, 0, 0, 0, 0, 0, 0, 61064, 5, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', -18019), +(193978, 22, 8531, 'Cask of Peaked Dalaran Red', '', '', '', 0, 0, 0.8, 0, 0, 0, 0, 0, 0, 61064, 25, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', -18019); diff --git a/sql/updates/world/2015_02_16_03_world.sql b/sql/updates/world/2015_02_16_03_world.sql new file mode 100644 index 00000000000..35f17a761cd --- /dev/null +++ b/sql/updates/world/2015_02_16_03_world.sql @@ -0,0 +1,29 @@ +-- +SET @CGUID := 56502; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=11789; +UPDATE `smart_scripts` SET `link`=0 WHERE `entryorguid`=-56500 AND `source_type`=0 AND `id`=0 AND `link`=2; + +-- Scourge Reanimator SAI +SET @GUID := -(@CGUID+2); +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26626; +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,25,0,100,1,0,0,0,0,80,2662600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Reset - Run Script (No Repeat)"), +(@GUID,0,1,0,40,0,100,0,1,2662600,0,0,80,2662601,2,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Reanimator - On Waypoint 1 Reached - Run Script"); + +-- Drakkari Guardian SAI +SET @GUID := -(@CGUID); +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26620; +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,1,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-543.121582,-582.083313,1.025425,2.120673,"Drakkari Guardian - Out of Combat - Move To Position (No Repeat)"), +(@GUID,0,1,0,38,0,100,0,1,1,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Drakkari Guardian - On Data Set 1 1 - Kill Self"); + +-- Drakkari Guardian SAI +SET @GUID := -(@CGUID+1); +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26620; +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,1,2000,2000,0,0,69,0,0,0,0,0,0,8,0,0,0,-536.830505,-578.793091,1.913330,1.774444,"Drakkari Guardian - Out of Combat - Move To Position (No Repeat)"), +(@GUID,0,1,0,38,0,100,0,1,1,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Drakkari Guardian - On Data Set 1 1 - Kill Self"); diff --git a/sql/updates/world/2015_02_16_04_world.sql b/sql/updates/world/2015_02_16_04_world.sql new file mode 100644 index 00000000000..b358aad4eb2 --- /dev/null +++ b/sql/updates/world/2015_02_16_04_world.sql @@ -0,0 +1,10 @@ +-- +-- Tome of Mel'Thandris SAI +SET @ENTRY := 19027; +UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=1; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,1,0,0,70,0,100,0,2,0,0,0,12,3946,2,40000,0,0,0,8,0,0,0,3169.15,-1211.71,216.95,4.59,"Tome of Mel'Thandris - On Gameobject State Changed - Summon Creature 'Velinde Starsong'"); + +UPDATE `creature_template` SET `AIName`='' WHERE `entry`=11789; +DELETE FROM `smart_scripts` WHERE `entryorguid`=-56500; diff --git a/sql/updates/world/2015_02_16_05_world.sql b/sql/updates/world/2015_02_16_05_world.sql new file mode 100644 index 00000000000..beb4e14f3af --- /dev/null +++ b/sql/updates/world/2015_02_16_05_world.sql @@ -0,0 +1,7 @@ +-- +-- King Mrgl-Mrgl SAI +SET @ENTRY := 25197; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=1; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,1,0,19,0,100,0,11571,0,0,0,11,45328,0,0,0,0,0,7,0,0,0,0,0,0,0,"King Mrgl-Mrgl - On Quest 'Learning to Communicate' Taken - Cast 'Water Breathing'"); diff --git a/sql/updates/world/2015_02_16_06_world.sql b/sql/updates/world/2015_02_16_06_world.sql new file mode 100644 index 00000000000..b8f7294216d --- /dev/null +++ b/sql/updates/world/2015_02_16_06_world.sql @@ -0,0 +1,405 @@ +-- +DELETE FROM `creature_addon` WHERE `guid` IN (126051,125886,126038,125888,125891,125887,125967,125956,125971,125962,125960,125965,24084,125964,125963,125973,125968,125961,125954,125972,125957,125955,125970,125969,125966,125958,125897, 125902, 125900, 125899, 125894, 125895, 125898); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +-- +(126038, 0, 0, 0, 1, 133, NULL), +(125888, 0, 0, 0, 1, 133, NULL), +(125891, 0, 0, 0, 1, 133, NULL), +(125887, 0, 0, 0, 1, 133, NULL), +(125886, 0, 0, 0, 1, 133, NULL), +(126051, 0, 0, 0, 1, 133, NULL), +-- +(24084, 0, 0, 0, 1, 7, NULL), +(125964, 0, 0, 0, 1, 7, NULL), +(125963, 0, 0, 0, 1, 7, NULL), +(125973, 0, 0, 0, 1, 7, NULL), +(125968, 0, 0, 0, 1, 7, NULL), +(125961, 0, 0, 0, 1, 7, NULL), +(125954, 0, 0, 0, 1, 7, NULL), +(125972, 0, 0, 0, 1, 7, NULL), +(125957, 0, 0, 0, 1, 7, NULL), +(125955, 0, 0, 0, 1, 7, NULL), +(125970, 0, 0, 0, 1, 7, NULL), +(125969, 0, 0, 0, 1, 7, NULL), +(125966, 0, 0, 0, 1, 7, NULL), +(125958, 0, 0, 0, 1, 7, NULL), +(125965, 0, 0, 0, 1, 7, NULL), +(125960, 0, 0, 0, 1, 7, NULL), +(125962, 0, 0, 0, 1, 7, NULL), +(125971, 0, 0, 0, 1, 7, NULL), +(125956, 0, 0, 0, 1, 7, NULL), +(125967, 0, 0, 0, 1, 7, NULL), +-- +(125897, 0, 0, 0, 1, 234, NULL), +(125902, 0, 0, 0, 1, 234, NULL), +(125898, 0, 0, 0, 1, 234, NULL), +(125900, 0, 0, 0, 1, 234, NULL), +(125899, 0, 0, 0, 1, 234, NULL), +(125894, 0, 0, 0, 1, 234, NULL), +(125895, 0, 0, 0, 1, 234, NULL); + +-- update some addons +UPDATE `creature_addon` SET `emote`=7 WHERE `guid` IN (126027, 126043, 126034); +UPDATE `creature_addon` SET `emote`=1 WHERE `guid` IN (125889, 125892); + +-- remove unneeded double spawned NPCs +DELETE FROM `creature` WHERE `guid` IN (125930,125917,125932,125921,125920,125918,125915,125927,125931,125914,125922,125913); +DELETE FROM `creature_addon` WHERE `guid` IN (125913,125922,125917,125918,125921,125920,125927,125930,125931,125932,125915,125914); +DELETE FROM `linked_respawn` WHERE `guid`=125913; + +-- Pathing for Entry: 24080 'TDB FORMAT' +SET @NPC := 125909; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=344.5201,`position_y`=-55.29842,`position_z`=23.00489 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,344.5201,-55.29842,23.00489,0,0,0,0,100,0), +(@PATH,2,344.8939,-55.7041,23.00489,0,0,0,0,100,0), +(@PATH,3,320.806,-36.86301,23.00489,0,0,0,0,100,0), +(@PATH,4,302.7466,-35.83545,24.96675,0,0,0,0,100,0), +(@PATH,5,299.0615,-36.53833,24.92923,0,0,0,0,100,0), +(@PATH,6,301.0684,-37.2436,24.67861,0,0,0,0,100,0), +(@PATH,7,314.7549,-36.4743,23.21675,0,0,0,0,100,0), +(@PATH,8,337.0555,-52.25382,23.00652,0,0,0,0,100,0); +-- 0x1C16DC47C0178400002225000161EB2E .go 344.5201 -55.29842 23.00489 + +-- Pathing for Entry: 24080 'TDB FORMAT' +SET @NPC := 125906; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=257.9562,`position_y`=-66.89291,`position_z`=24.67863 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,133, ''); +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,257.9562,-66.89291,24.67863,0,0,0,0,100,0), +(@PATH,2,250.1216,-42.76279,24.92863,0,0,0,0,100,0), +(@PATH,3,249.5976,-35.35291,24.92862,0,15000,0,0,100,0), +(@PATH,4,249.2954,-37.17996,24.92863,0,0,0,0,100,0), +(@PATH,5,257.3498,-63.88337,24.92863,0,0,0,0,100,0), +(@PATH,6,258.2347,-66.07593,24.92863,0,15000,0,0,100,0); +-- 0x1C16DC47C0178400002225000061EB2E .go 257.9562 -66.89291 24.67863 + +-- Pathing for Entry: 24080 'TDB FORMAT' +SET @NPC := 125908; +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,133, ''); +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.921, -35.9238, 24.6786, 0, 15000, 0, 0, 100, 0), +(@PATH, 2, 260.677, -43.4207, 24.6786, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 278.781, -38.9278, 24.6786, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 278.542, -38.2699, 24.6786, 0, 15000, 0, 0, 100, 0), +(@PATH, 5, 264.293, -43.8186, 24.6786, 0, 0, 0, 0, 100, 0); + +-- Pathing for Entry: 24080 'TDB FORMAT' +SET @NPC := 125907; +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,133, ''); +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, 267.265, -61.16, 24.6786, 0, 15000, 0, 0, 100, 0), +(@PATH, 2, 265.899, -54.8942, 24.6786, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 280.857, -49.5784, 24.6786, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 281.25, -50.5522, 24.6786, 0, 15000, 0, 0, 100, 0), +(@PATH, 5, 266.912, -55.2328, 24.6786, 0, 0, 0, 0, 100, 0); + +-- Dragonflayer Weaponsmith SAI +SET @ENTRY := 24080; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=3; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,3,0,4,0,50,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dragonflayer Weaponsmith - On Aggro - Say Line 1"); + +DELETE FROM `creature_text` WHERE `entry`=24080; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(24080, 0, 0, 'I spit on you!', 12, 0, 100, 0, 0, 0, 30503, 0, 'Dragonflayer Weaponsmith'); + +-- remove dublicated mounts +UPDATE `creature_template_addon` SET `mount`=0 WHERE `entry`=24849; + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126042; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126042, 126042, 0, 0, 2, 0, 0), +(126042, 126046, 0, 0, 2, 0, 0), +(126042, 126032, 0, 0, 2, 0, 0), +(126042, 126041, 0, 0, 2, 0, 0); + +-- Pathing for Entry: 23953 'TDB FORMAT' +SET @NPC :=126025; +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,5, ''); +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, 188.578, 217.181, 40.8161, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 189.28, 217.307, 40.8161, 0, 5000, 0, 0, 100, 0), +(@PATH, 3, 189.676, 207.039, 40.8161, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 196.131, 196.306, 40.8161, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 196.648, 196.778, 40.8161, 0, 5000, 0, 0, 100, 0); + +-- Pathing for Entry: 24085 'TDB FORMAT' +SET @NPC := 125976; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=91.42882,`position_y`=136.3092,`position_z`=65.76968 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,91.42882,136.3092,65.76968,0,0,0,0,100,0), +(@PATH,2,103.4925,101.8953,65.53214,0,0,0,0,100,0), +(@PATH,3,134.187,65.97398,65.85297,0,0,0,0,100,0); +-- 0x1C16DC47C0178540002225000061EB2F .go 91.42882 136.3092 65.76968 + +-- Pathing for Entry: 28419 'TDB FORMAT' +SET @NPC := 125874; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=121.963,`position_y`=76.88269,`position_z`=109.2261 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,121.963,76.88269,109.2261,0,0,1,0,100,0), +(@PATH,2,120.63,69.04591,109.1783,0,0,1,0,100,0), +(@PATH,3,104.7298,55.60048,109.2639,0,0,1,0,100,0), +(@PATH,4,97.1344,52.90959,109.2572,0,0,1,0,100,0), +(@PATH,5,111.4303,57.28569,109.2564,0,0,1,0,100,0), +(@PATH,6,122.7686,70.0456,109.2553,0,0,1,0,100,0), +(@PATH,7,119.7332,84.98322,104.3059,0,0,1,0,100,0), +(@PATH,8,115.1914,99.77232,93.62556,0,0,1,0,100,0), +(@PATH,9,112.8705,109.7669,87.9285,0,0,1,0,100,0), +(@PATH,10,102.7546,111.7725,87.55014,0,0,1,0,100,0), +(@PATH,11,91.52882,102.3952,87.59012,0,0,1,0,100,0), +(@PATH,12,96.81816,85.65864,78.54314,0,0,1,0,100,0), +(@PATH,13,98.63879,73.78115,70.11957,0,0,1,0,100,0), +(@PATH,14,104.1278,66.31367,66.21651,0,0,1,0,100,0), +(@PATH,15,116.6431,60.78297,65.94734,0,0,1,0,100,0), +(@PATH,16,122.0239,71.59913,65.95915,0,0,1,0,100,0), +(@PATH,17,110.5408,86.22773,65.63712,0,0,1,0,100,0), +(@PATH,18,101.1147,100.7187,65.54391,0,0,1,0,100,0), +(@PATH,19,94.89072,118.4349,65.71883,0,0,1,0,100,0), +(@PATH,20,89.14192,135.3132,65.73074,0,0,1,0,100,0), +(@PATH,21,84.60493,149.5575,59.07762,0,0,1,0,100,0), +(@PATH,22,79.19835,165.6029,51.65039,0,0,1,0,100,0), +(@PATH,23,78.87008,184.8075,49.66129,0,0,1,0,100,0), +(@PATH,24,81.16812,201.4986,49.43202,0,0,1,0,100,0), +(@PATH,25,82.937,212.6811,49.61001,0,0,1,0,100,0), +(@PATH,26,87.64849,237.4446,45.35562,0,0,1,0,100,0), +(@PATH,27,98.99787,249.9266,43.19844,0,0,1,0,100,0), +(@PATH,28,117.071,260.0121,43.11768,0,0,1,0,100,0), +(@PATH,29,117.3428,259.8461,43.11845,0,0,1,0,100,0), +(@PATH,30,98.82381,251.8302,43.11781,0,0,1,0,100,0), +(@PATH,31,97.55148,251.2241,43.11774,0,0,1,0,100,0), +(@PATH,32,112.3071,256.5493,43.11781,0,0,1,0,100,0), +-- +(@PATH,63,120.63,69.04591,109.1783,0,0,1,0,100,0), +(@PATH,62,104.7298,55.60048,109.2639,0,0,1,0,100,0), +(@PATH,61,97.1344,52.90959,109.2572,0,0,1,0,100,0), +(@PATH,60,111.4303,57.28569,109.2564,0,0,1,0,100,0), +(@PATH,59,122.7686,70.0456,109.2553,0,0,1,0,100,0), +(@PATH,58,119.7332,84.98322,104.3059,0,0,1,0,100,0), +(@PATH,57,115.1914,99.77232,93.62556,0,0,1,0,100,0), +(@PATH,56,112.8705,109.7669,87.9285,0,0,1,0,100,0), +(@PATH,55,102.7546,111.7725,87.55014,0,0,1,0,100,0), +(@PATH,54,91.52882,102.3952,87.59012,0,0,1,0,100,0), +(@PATH,53,96.81816,85.65864,78.54314,0,0,1,0,100,0), +(@PATH,52,98.63879,73.78115,70.11957,0,0,1,0,100,0), +(@PATH,51,104.1278,66.31367,66.21651,0,0,1,0,100,0), +(@PATH,50,116.6431,60.78297,65.94734,0,0,1,0,100,0), +(@PATH,49,122.0239,71.59913,65.95915,0,0,1,0,100,0), +(@PATH,48,110.5408,86.22773,65.63712,0,0,1,0,100,0), +(@PATH,47,101.1147,100.7187,65.54391,0,0,1,0,100,0), +(@PATH,46,94.89072,118.4349,65.71883,0,0,1,0,100,0), +(@PATH,45,89.14192,135.3132,65.73074,0,0,1,0,100,0), +(@PATH,44,84.60493,149.5575,59.07762,0,0,1,0,100,0), +(@PATH,43,79.19835,165.6029,51.65039,0,0,1,0,100,0), +(@PATH,42,78.87008,184.8075,49.66129,0,0,1,0,100,0), +(@PATH,41,81.16812,201.4986,49.43202,0,0,1,0,100,0), +(@PATH,40,82.937,212.6811,49.61001,0,0,1,0,100,0), +(@PATH,39,87.64849,237.4446,45.35562,0,0,1,0,100,0), +(@PATH,38,98.99787,249.9266,43.19844,0,0,1,0,100,0), +(@PATH,37,117.071,260.0121,43.11768,0,0,1,0,100,0), +(@PATH,36,117.3428,259.8461,43.11845,0,0,1,0,100,0), +(@PATH,35,98.82381,251.8302,43.11781,0,0,1,0,100,0), +(@PATH,34,97.55148,251.2241,43.11774,0,0,1,0,100,0), +(@PATH,33,112.3071,256.5493,43.11781,0,0,1,0,100,0); +-- 0x1C16DC47C01BC0C00022250002E1EB2E .go 121.963 76.88269 109.2261 + +DELETE FROM `creature_formations` WHERE `leaderGUID`=125874; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(125874, 125874, 0, 0, 2, 0, 0), +(125874, 125876, 3, 90, 2, 0, 0), +(125874, 125875, 3, 270, 2, 0, 0); + +-- Pathing for Entry: 24085 'TDB FORMAT' +SET @NPC := 125974; +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, 139.312, 280.748, 42.8666, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 150.295, 273.444, 42.8666, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 138.731, 281.758, 42.8666, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 129.301, 272.882, 42.8666, 0, 0, 0, 0, 100, 0); + +-- Pathing for Entry: 24085 'TDB FORMAT' +SET @NPC := 125977; +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, 75.2556, 249.779, 42.8657, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 83.8848, 256.364, 42.866, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 99.3102, 261.128, 42.8661, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 84.1909, 256.288, 42.8661, 0, 0, 0, 0, 100, 0); + +SET @NPC := 125883; +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, 77.3519, 205.89, 49.34, 0, 0, 1, 0, 100, 0), +(@PATH, 2, 86.5749, 199.366, 49.3541, 0, 0, 1, 0, 100, 0), +(@PATH, 3, 92.7536, 202.35, 49.3631, 0, 0, 1, 0, 100, 0), +(@PATH, 4, 94.5927, 208.849, 49.37, 0, 0, 1, 0, 100, 0), +(@PATH, 5, 86.0534, 216.692, 49.3855, 0, 0, 1, 0, 100, 0), +(@PATH, 6, 75.9458, 214.115, 49.361, 0, 0, 1, 0, 100, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=125883; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(125883, 125883, 0, 0, 2, 0, 0), +(125883, 125885, 5, 90, 2, 0, 0), +(125883, 125884, 5, 270, 2, 0, 0); + +SET @NPC := 125975; +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, 97.1818, 193.375, 49.3721, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 97.6578, 205.356, 49.375, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 96.4575, 193.39, 49.372, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 96.9237, 185.571, 49.3659, 0, 0, 0, 0, 100, 0); + +-- Pathing for Entry: 24085 'TDB FORMAT' +SET @NPC := 125976; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=108.85,`position_y`=88.22916,`position_z`=65.88628 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, 104.324, 101.477, 65.4325, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 99.6436, 114.531, 65.4742, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 93.3592, 132.058, 65.5217, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 91.2544, 138.023, 65.5074, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 89.0365, 144.514, 61.6515, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 83.6051, 160.412, 54.041, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 80.7065, 169.333, 49.6367, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 78.4122, 180.724, 49.3771, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 80.8062, 169.721, 49.4824, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 84.2462, 158.583, 54.9073, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 89.1532, 144.915, 61.4908, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 91.498, 137.939, 65.5082, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 96.5665, 122.362, 65.495, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 101.592, 106.919, 65.4531, 0, 0, 0, 0, 100, 0), +(@PATH, 15, 108.985, 87.2638, 65.5996, 0, 0, 0, 0, 100, 0), +(@PATH, 16, 119.016, 74.4927, 65.7037, 0, 0, 0, 0, 100, 0), +(@PATH, 17, 129.481, 61.1712, 65.6985, 0, 0, 0, 0, 100, 0), +(@PATH, 18, 136.363, 63.0702, 65.6985, 0, 0, 0, 0, 100, 0), +(@PATH, 19, 145.165, 65.8833, 65.6865, 0, 0, 0, 0, 100, 0), +(@PATH, 20, 154.484, 68.9137, 65.6788, 0, 0, 0, 0, 100, 0), +(@PATH, 21, 134.651, 62.0119, 65.6977, 0, 0, 0, 0, 100, 0), +(@PATH, 22, 121.026, 71.1032, 65.7021, 0, 0, 0, 0, 100, 0), +(@PATH, 23, 115.277, 81.3625, 65.7034, 0, 0, 0, 0, 100, 0); + +UPDATE `smart_scripts` SET `action_param1`=1 WHERE `entryorguid`=23956 AND `source_type`=0 AND `id`=0 AND `link`=1; +SET @NPC := 126033; +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, 92.0074, 91.8776, 83.1133, 0, 0, 0, 0, 100, 0), +(@PATH, 2, 94.4268, 84.0678, 77.4261, 0, 0, 0, 0, 100, 0), +(@PATH, 3, 97.4964, 75.2498, 71.1212, 0, 0, 0, 0, 100, 0), +(@PATH, 4, 100.256, 67.5835, 65.7404, 0, 0, 0, 0, 100, 0), +(@PATH, 5, 104.253, 56.1223, 65.7013, 0, 0, 0, 0, 100, 0), +(@PATH, 6, 99.9233, 68.46, 66.1115, 0, 0, 0, 0, 100, 0), +(@PATH, 7, 96.7413, 77.7433, 72.8654, 0, 0, 0, 0, 100, 0), +(@PATH, 8, 93.4206, 87.9519, 80.2184, 0, 0, 0, 0, 100, 0), +(@PATH, 9, 89.9479, 97.6074, 87.0594, 0, 0, 0, 0, 100, 0), +(@PATH, 10, 85.3204, 111.309, 87.294, 0, 0, 0, 0, 100, 0), +(@PATH, 11, 109.086, 121.066, 87.308, 0, 0, 0, 0, 100, 0), +(@PATH, 12, 114.25, 108.563, 87.465, 0, 0, 0, 0, 100, 0), +(@PATH, 13, 117.378, 100.272, 93.3328, 0, 0, 0, 0, 100, 0), +(@PATH, 14, 119.976, 92.7572, 98.707, 0, 0, 0, 0, 100, 0), +(@PATH, 15, 122.256, 85.8878, 103.744, 0, 0, 0, 0, 100, 0), +(@PATH, 16, 124.757, 78.354, 108.636, 0, 0, 0, 0, 100, 0), +(@PATH, 17, 129.66, 64.2292, 109.023, 0, 0, 0, 0, 100, 0), +(@PATH, 18, 131.063, 60.2705, 109.027, 0, 0, 0, 0, 100, 0), +(@PATH, 19, 108.086, 53.1456, 108.988, 0, 0, 0, 0, 100, 0), +(@PATH, 20, 131.63, 61.4828, 109.027, 0, 0, 0, 0, 100, 0), +(@PATH, 21, 125.35, 78.8325, 108.65, 0, 0, 0, 0, 100, 0), +(@PATH, 22, 121.873, 88.5025, 101.93, 0, 0, 0, 0, 100, 0), +(@PATH, 23, 117.766, 99.9247, 93.6416, 0, 0, 0, 0, 100, 0), +(@PATH, 24, 114.768, 108.264, 87.5181, 0, 0, 0, 0, 100, 0), +(@PATH, 25, 110.429, 120.332, 87.3079, 0, 0, 0, 0, 100, 0), +(@PATH, 26, 85.4045, 112.781, 87.2894, 0, 0, 0, 0, 100, 0), +(@PATH, 27, 88.3241, 102.455, 87.3183, 0, 0, 0, 0, 100, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=126033; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(126033, 126033, 0, 0, 2, 0, 0), +(126033, 125998, 2, 270, 2, 0, 0); + +SET @NPC := 125879; +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, 53.1848, 39.7439, 115.029, 0, 0, 1, 0, 100, 0), +(@PATH, 2, 43.585, 41.2652, 115.029, 0, 0, 1, 0, 100, 0), +(@PATH, 3, 45.878, 32.8663, 115.029, 0, 0, 1, 0, 100, 0), +(@PATH, 4, 54.3001, 30.387, 115.029, 0, 0, 1, 0, 100, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=125879; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(125879, 125879, 0, 0, 2, 0, 0), +(125879, 125878, 3, 90, 2, 0, 0), +(125879, 125877, 2, 270, 2, 0, 0); + +SET @NPC := 125882; +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, 40.6954, -7.59713, 118.542, 0, 0, 1, 0, 100, 0), +(@PATH, 2, 41.5325, -16.0661, 118.775, 0, 0, 1, 0, 100, 0), +(@PATH, 3, 47.1018, -17.7693, 118.775, 0, 0, 1, 0, 100, 0), +(@PATH, 4, 46.6655, -3.88553, 118.775, 0, 0, 1, 0, 100, 0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=125882; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(125882, 125882, 0, 0, 2, 0, 0), +(125882, 125880, 3, 90, 2, 0, 0), +(125882, 125881, 2, 270, 2, 0, 0); diff --git a/sql/updates/world/2015_02_17_00_world.sql b/sql/updates/world/2015_02_17_00_world.sql new file mode 100644 index 00000000000..11f5eca484e --- /dev/null +++ b/sql/updates/world/2015_02_17_00_world.sql @@ -0,0 +1,136 @@ + +DELETE FROM `creature_text` WHERE `entry` IN(18927,19171,19175,19177,19173,19172,19176,19148,19178,19169,20102) AND `groupid`=0; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `comment`) VALUES +(19178, 0, 0, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 1, 100, 0, 0, 0, 24334, 'Forsaken Commoner to Forsaken Commoner'), +(19178, 0, 1, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 1, 100, 0, 0, 0, 24333, 'Forsaken Commoner to Forsaken Commoner'), +(19178, 0, 2, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 1, 100, 0, 0, 0, 24335, 'Forsaken Commoner to Forsaken Commoner'), +(19178, 0, 3, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 1, 100, 396, 0, 0, 24333, 'Forsaken Commoner to Forsaken Commoner'), +(19178, 0, 4, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 1, 100, 0, 0, 0, 24332, 'Forsaken Commoner to Forsaken Commoner'), +(19178, 0, 5, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 1, 100, 6, 0, 0, 24332, 'Forsaken Commoner to Forsaken Commoner'), +(19169, 0, 0, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 1, 100, 0, 0, 0, 24332, 'Blood Elf Commoner to Blood Elf Commoner'), +(19169, 0, 1, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 1, 100, 0, 0, 0, 24334, 'Blood Elf Commoner to Blood Elf Commoner'), +(19169, 0, 2, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 1, 100, 0, 0, 0, 24333, 'Blood Elf Commoner to Blood Elf Commoner'), +(19169, 0, 3, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 1, 100, 0, 0, 0, 24335, 'Blood Elf Commoner to Blood Elf Commoner'), +(19169, 0, 4, 'The festival of the moon was ever more important to the kaldorei. The great festival of the druids is surely in full swing.', 12, 1, 100, 0, 0, 0, 16171, 'Blood Elf Commoner to Blood Elf Commoner'), +(19176, 0, 0, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 1, 100, 0, 0, 0, 24333, 'Tauren Commoner to Tauren Commoner'), +(19176, 0, 1, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 1, 100, 0, 0, 0, 24332, 'Tauren Commoner to Tauren Commoner'), +(19176, 0, 2, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 1, 100, 0, 0, 0, 24335, 'Tauren Commoner to Tauren Commoner'), +(19176, 0, 3, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 1, 100, 0, 0, 0, 24334, 'Tauren Commoner to Tauren Commoner'), +(19175, 0, 0, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 1, 100, 0, 0, 0, 24332, 'Orc Commoner to Orc Commoner'), +(19175, 0, 1, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 1, 100, 0, 0, 0, 24335, 'Orc Commoner to Orc Commoner'), +(19175, 0, 2, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 1, 100, 0, 0, 0, 24333, 'Orc Commoner to Orc Commoner'), +(19175, 0, 3, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 1, 100, 274, 0, 0, 24334, 'Orc Commoner to Orc Commoner'), +(19175, 0, 4, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 1, 100, 274, 0, 0, 24335, 'Orc Commoner to Orc Commoner'), +(19177, 0, 0, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 1, 100, 0, 0, 0, 24333, 'Troll Commoner to Troll Commoner'), +(19177, 0, 1, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 1, 100, 0, 0, 0, 24334, 'Troll Commoner to Troll Commoner'), +(19177, 0, 2, 'We should go to Moonglade to see the druids'' great festival of the moon.', 12, 1, 100, 0, 0, 0, 0, 'Troll Commoner to Troll Commoner'), +(19177, 0, 3, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 1, 100, 0, 0, 0, 24335, 'Troll Commoner to Troll Commoner'), +(19172, 0, 0, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 0, 0, 0, 24351, 'Gnome Commoner to Gnome Commoner'), +(19172, 0, 1, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 7, 100, 0, 0, 0, 24350, 'Gnome Commoner to Gnome Commoner'), +(19172, 0, 2, 'Lunar Festival is the best time of year for fireworks!', 12, 7, 100, 0, 0, 0, 0, 'Gnome Commoner to Gnome Commoner'), +(19172, 0, 3, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 7, 100, 0, 0, 0, 24352, 'Gnome Commoner to Gnome Commoner'), +(19171, 0, 0, 'It is no surprise that the people of this land hold a great festival of the moon. I should very much like to go to Moonglade to attend it.', 12, 7, 100, 6, 0, 0, 17428, 'Draenei Commoner to Draenei Commoner'), +(19171, 0, 1, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 274, 0, 0, 24351, 'Draenei Commoner to Draenei Commoner'), +(19171, 0, 2, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 0, 0, 0, 24351, 'Draenei Commoner to Draenei Commoner'), +(19171, 0, 3, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 7, 100, 0, 0, 0, 24352, 'Draenei Commoner to Draenei Commoner'), +(19171, 0, 4, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 273, 0, 0, 24351, 'Draenei Commoner to Draenei Commoner'), +(19171, 0, 5, 'It is no surprise that the people of this land hold a great festival of the moon. I should very much like to go to Moonglade to attend it.', 12, 7, 100, 273, 0, 0, 17428, 'Draenei Commoner to Draenei Commoner'), +(19171, 0, 6, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 7, 100, 0, 0, 0, 24350, 'Draenei Commoner to Draenei Commoner'), +(19173, 0, 0, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 7, 100, 0, 0, 0, 24350, 'Night Elf Commoner to Night Elf Commoner'), +(19173, 0, 1, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 0, 0, 0, 24351, 'Night Elf Commoner to Night Elf Commoner'), +(19173, 0, 2, 'The Lunar Festival holds special meaning for the night elves. We seek out the wisdom of our elders across the world.', 12, 7, 100, 396, 0, 0, 16156, 'Night Elf Commoner to Night Elf Commoner'), +(19173, 0, 3, 'The Lunar Festival holds special meaning for the night elves. We seek out the wisdom of our elders across the world.', 12, 7, 100, 0, 0, 0, 16156, 'Night Elf Commoner to Night Elf Commoner'), +(19173, 0, 4, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 7, 100, 0, 0, 0, 24349, 'Night Elf Commoner to Night Elf Commoner'), +(18927, 0, 0, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 7, 100, 0, 0, 0, 24349, 'Human Commoner to Human Commoner'), +(18927, 0, 1, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 0, 0, 0, 24351, 'Human Commoner to Human Commoner'), +(18927, 0, 2, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 7, 100, 0, 0, 0, 24352, 'Human Commoner to Human Commoner'), +(18927, 0, 3, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 7, 100, 274, 0, 0, 24349, 'Human Commoner to Human Commoner'), +(18927, 0, 4, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 7, 100, 274, 0, 0, 24352, 'Human Commoner to Human Commoner'), +(18927, 0, 5, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 7, 100, 0, 0, 0, 24350, 'Human Commoner to Human Commoner'), +(19148, 0, 0, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 7, 100, 396, 0, 0, 24352, 'Dwarf Commoner to Dwarf Commoner'), +(19148, 0, 1, 'The Lunar Festival is a special time for us. We seek out our ancient elders, the Earthen, and pay homage to them.', 12, 7, 100, 396, 0, 0, 16153, 'Dwarf Commoner to Dwarf Commoner'), +(19148, 0, 2, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 7, 100, 0, 0, 0, 0, 'Dwarf Commoner to Dwarf Commoner'), +(19148, 0, 3, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 7, 100, 0, 0, 0, 24349, 'Dwarf Commoner to Dwarf Commoner'), +(19148, 0, 4, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 7, 100, 0, 0, 0, 24352, 'Dwarf Commoner to Dwarf Commoner'), +(19148, 0, 5, 'The Lunar Festival is a special time for us. We seek out our ancient elders, the Earthen, and pay homage to them.', 12, 7, 100, 0, 0, 0, 16153, 'Dwarf Commoner to Dwarf Commoner'), +(19148, 0, 6, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 7, 100, 0, 0, 0, 24350, 'Dwarf Commoner to Dwarf Commoner'), +(20102, 0, 0, 'During the Lunar Festival, we should take time to seek out our elders and consider their wisdom.', 12, 0, 100, 0, 0, 0, 16466, 'Goblin Commoner to Goblin Commoner'), +(20102, 0, 1, 'Legend says that the great beast Omen sleeps in the waters of Lake Elune''ara in Moonglade, only to appear once a year. But that''s just a legend.', 12, 0, 100, 0, 0, 0, 16465, 'Goblin Commoner to Goblin Commoner'), +(20102, 0, 2, 'Have you seen the fireworks? This is the best time of year to buy them.', 12, 0, 100, 0, 0, 0, 16467, 'Goblin Commoner to Goblin Commoner'), +(20102, 0, 3, 'The druids of Nighthaven are holding a great celebration in Moonglade for the Lunar Festival.', 12, 0, 100, 0, 0, 0, 16468, 'Goblin Commoner to Goblin Commoner'); + + +DELETE FROM `smart_scripts` WHERE `entryorguid`IN(18927,19171,19175,19177,19173,19172,19176,19148,19169,19178,20102) AND `source_type`=0 AND `id`IN(0,10); + +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(18927,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Human Commoner - OOC - Say'), +(19171,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dreani Commoner - OOC - Say'), +(19175,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Orc Commoner - OOC - Say'), +(19177,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Troll Commoner - OOC - Say'), +(19173,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Night Elf Commoner - OOC - Say'), +(19172,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Gnome Commoner - OOC - Say'), +(19176,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tauren Commoner - OOC - Say'), +(19148,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Dwarf Commoner - OOC - Say'), +(20102,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Goblin Commoner - OOC - Say'), +(19178,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Forsaken Commoner - OOC - Say'), +(19169,0,0,0,1,0,100,0,3000,15000,45000,90000,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blood Elf Commoner - OOC - Say'), + +(18927,0,10,0,64,0,100,0,0,0,0,0,98,7898, 9662,0,0,0,0,7,0,0,0,0,0,0,0,'Human Commoner - On Gossip Hello - Send Gossip Menu'), +(19148,0,10,0,64,0,100,0,0,0,0,0,98,7923, 9688,0,0,0,0,7,0,0,0,0,0,0,0,'Dwarf Commoner - On Gossip Hello - Send Gossip Menu'), +(19169,0,10,0,64,0,100,0,0,0,0,0,98,7921, 9700,0,0,0,0,7,0,0,0,0,0,0,0,'Blood Elf Commoner - On Gossip Hello - Send Gossip Menu'), +(19171,0,10,0,64,0,100,0,0,0,0,0,98,7922, 9696,0,0,0,0,7,0,0,0,0,0,0,0,'Draeni Commoner - On Gossip Hello - Send Gossip Menu'), +(19172,0,10,0,64,0,100,0,0,0,0,0,98,7931, 1915,0,0,0,0,7,0,0,0,0,0,0,0,'Gnome Commoner - On Gossip Hello - Send Gossip Menu'), +(19173,0,10,0,64,0,100,0,0,0,0,0,98,7924, 9692,0,0,0,0,7,0,0,0,0,0,0,0,'Night Elf Commoner - On Gossip Hello - Send Gossip Menu'), +(19175,0,10,0,64,0,100,0,0,0,0,0,98,7925, 9704,0,0,0,0,7,0,0,0,0,0,0,0,'Orc Commoner - On Gossip Hello - Send Gossip Menu'), +(19176,0,10,0,64,0,100,0,0,0,0,0,98,7926, 9708,0,0,0,0,7,0,0,0,0,0,0,0,'Tauren Commoner - On Gossip Hello - Send Gossip Menu'), +(19177,0,10,0,64,0,100,0,0,0,0,0,98,7935, 9716,0,0,0,0,7,0,0,0,0,0,0,0,'Troll Commoner - On Gossip Hello - Send Gossip Menu'), +(19178,0,10,0,64,0,100,0,0,0,0,0,98,7927, 9712,0,0,0,0,7,0,0,0,0,0,0,0,'Forsaken Commoner - On Gossip Hello - Send Gossip Menu'), +(20102,0,10,0,64,0,100,0,0,0,0,0,98,8064, 9964,0,0,0,0,7,0,0,0,0,0,0,0,'Goblin Commoner - On Gossip Hello - Send Gossip Menu'); + + + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` in(18927,19171,19175,19177,19173,19172,19176,19148,19169,19178,20102) AND `SourceGroup` IN(1,11); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 18927, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19148, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19169, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19171, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19172, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19173, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19175, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19176, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19177, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 19178, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 1, 20102, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), + +(22, 11, 18927, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19148, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19169, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19171, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19172, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19173, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19175, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19176, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19177, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 19178, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'), +(22, 11, 20102, 0, 0, 12, 1, 7, 0, 0, 0, 0, 0, '', 'Commoner - Luna Festival must be active'); + +DELETE FROM `gossip_menu` WHERE `entry` IN(7931,7926,7925,7924,7898,7923,7921,7927,7935,7922,8064); +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(7931, 1915), -- 19172 +(7926, 9708), -- 19176 +(7925, 9704), -- 19175* +(7924, 9692), -- 19173* +(7898, 9662), -- 18927* +(7923, 9688), -- 19148* +(7921, 9700), -- 19169* +(7927, 9712), -- 19178* +(7935, 9716), -- 19177* +(7922, 9696), -- 19171* +(8064, 9964); -- 20102* + +DELETE FROM `npc_text` WHERE `ID` IN(9715,9708); +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `prob0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `prob1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `prob2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `prob3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `prob4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `prob5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `prob6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `prob7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(9715, 'Go to Ironforge''s Mystic Ward and speak with the night elf druids there. They can transport you to Moonglade to join in the Lunar Festival celebration.', 'Go to Ironforge''s Mystic Ward and speak with the night elf druids there. They can transport you to Moonglade to join in the Lunar Festival celebration.', 16214, 0, 1, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +(9708, 'The largest celebration of the Lunar Festival takes place in Moonglade. Druids will transport you there from the Elder Rise of Thunder Bluff.', 'The largest celebration of the Lunar Festival takes place in Moonglade. Druids will transport you there from the Elder Rise of Thunder Bluff.', 16201, 0, 1, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + diff --git a/sql/updates/world/2015_02_17_01_world.sql b/sql/updates/world/2015_02_17_01_world.sql new file mode 100644 index 00000000000..bcd15597b70 --- /dev/null +++ b/sql/updates/world/2015_02_17_01_world.sql @@ -0,0 +1,35 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2248200,2203800) AND `source_type`=9 AND `id` IN (2, 3, 4); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2248200, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Mature Bone Sifter - Script - Set Agressive'), +(2248200, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Mature Bone Sifter - Script - Remove UnitFlag'), +(2248200, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Mature Bone Sifter - Script - Root'), +(2203800, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hai shulud <The Bone Emperor> - Script - Set Agressive'), +(2203800, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hai shulud <The Bone Emperor> - Script - Remove UnitFlag'), +(2203800, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Hai shulud <The Bone Emperor> - Script - Root'); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=16968 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(16968,0,0,1,4,0,100,0,0,0,0,0,19,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - On Aggro - Remove UNIT_FLAG_NOT_SELECTABLE'), +(16968,0,1,2,61,0,100,0,0,0,0,0,28,29147,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - Link With Previous - Remove Tunnel Bore Passive'), +(16968,0,2,3,61,0,100,0,0,0,0,0,11,37752,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - Link With Previous - Cast Stand'), +(16968,0,3,0,61,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - Link With Previous - Root'), +(16968,0,4,5,25,0,100,0,0,0,0,0,11,29147,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - Spawn/Respawn/OOC - Cast Tunnel Bore Passive'), +(16968,0,5,6,61,0,100,0,0,0,0,0,18,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - Link With Previous Set UNIT_FLAG_NOT_SELECTABLE'), +(16968,0,6,0,61,0,100,0,0,0,0,0,11,37751,0,0,0,0,0,1,0,0,0,0,0,0,0,'Tunneler - Link With Previous - Cast Submerge'), +(16968,0,7,0,0,0,100,0,1000,1000,2100,4500,11,31747,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tunneler - In Combat - Cast Poison'), +(16968,0,8,0,0,0,100,0,10400,10400,45000,50000,11,32738,0,0,0,0,0,2,0,0,0,0,0,0,0,'Tunneler - In Combat - Cast Bore'), +(16968,0,9,0,2,0,100,0,0,30,8000,8000,11,32714,1,0,0,0,0,1,0,0,0,0,0,0,0,"Tunneler - Between 0-30% Health - Cast 8599"); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=21849; +DELETE FROM `smart_scripts` WHERE `entryorguid`=21849 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(21849,0,0,1,4,0,100,0,0,0,0,0,19,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - On Aggro - Remove UNIT_FLAG_NOT_SELECTABLE'), +(21849,0,1,2,61,0,100,0,0,0,0,0,28,38885,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - Link With Previous - Remove Tunnel Bore Passive'), +(21849,0,2,3,61,0,100,0,0,0,0,0,11,37752,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - Link With Previous - Cast Stand'), +(21849,0,3,0,61,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - Link With Previous - Root'), +(21849,0,4,5,25,0,100,0,0,0,0,0,11,38885,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - Spawn/Respawn/OOC - Cast Tunnel Bore Passive'), +(21849,0,5,6,61,0,100,0,0,0,0,0,18,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - Link With Previous Set UNIT_FLAG_NOT_SELECTABLE'), +(21849,0,6,0,61,0,100,0,0,0,0,0,11,37751,0,0,0,0,0,1,0,0,0,0,0,0,0,'Bone Crawler - Link With Previous - Cast Submerge'), +(21849,0,7,0,0,0,100,0,1000,1000,2100,4500,11,31747,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bone Crawler - In Combat - Cast Poison'), +(21849,0,8,0,0,0,100,0,10400,10400,45000,50000,11,32738,0,0,0,0,0,2,0,0,0,0,0,0,0,'Bone Crawler - In Combat - Cast Bore'); diff --git a/sql/updates/world/2015_02_17_02_world.sql b/sql/updates/world/2015_02_17_02_world.sql new file mode 100644 index 00000000000..4bbcde642e7 --- /dev/null +++ b/sql/updates/world/2015_02_17_02_world.sql @@ -0,0 +1,2 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid`=-56501; diff --git a/sql/updates/world/2015_02_17_03_world.sql b/sql/updates/world/2015_02_17_03_world.sql new file mode 100644 index 00000000000..5ef13948b75 --- /dev/null +++ b/sql/updates/world/2015_02_17_03_world.sql @@ -0,0 +1,12 @@ +-- +SET @CGUID := 49137; +DELETE FROM `creature` WHERE `guid` IN (@CGUID); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID, 30142, 571, 1, 1, 8392.7, -1970.14, 1461.84, 0.0948219, 600, 0, 0); + +SET @OGUID := 5501; +DELETE FROM `gameobject` WHERE `guid`= @OGUID; +INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `rotation2`, `rotation3`, `animprogress`, `state`) VALUES +(@OGUID, 192243, 571, 1, 1, 8531.9, -1971.44, 1467.57, -0.837757, 300, -0.406736, 0.913546, 100, 1); + +UPDATE `creature_template` SET `unit_flags`=32832 WHERE `entry`=29730; diff --git a/sql/updates/world/2015_02_17_04_world.sql b/sql/updates/world/2015_02_17_04_world.sql new file mode 100644 index 00000000000..68c1268eec2 --- /dev/null +++ b/sql/updates/world/2015_02_17_04_world.sql @@ -0,0 +1,142 @@ +-- +SET @CGUID := 49141; + +SET @Loken := 30396; +SET @Thorim := 30399; +SET @Veranus:= 30420; +SET @Servant:= 30429; + +UPDATE `creature_template` SET `gossip_menu_id`=9928, `minlevel`=82, `maxlevel`=82, `npcflag`=1, `speed_walk`=4.8, `speed_run`=3.142857, `rank`=3, `unit_flags`=320, `unit_flags2`=2099200, `AIName`='SmartAI', `type_flags`=0 WHERE `entry`=@Thorim; -- thorim +UPDATE `creature_template` SET `faction`=14, `speed_walk`=1.6, `speed_run`=1.857143, `unit_flags`=320, `unit_flags2`=2099200, `AIName`='SmartAI' WHERE `entry`=@Loken; -- loken +UPDATE `creature_template` SET `speed_walk`=3.2, `speed_run`=1.428571, `unit_flags`=33088, `unit_flags2`=2099200, `AIName`='SmartAI', `HoverHeight`=2.1, `InhabitType`=4 WHERE `entry`=@Veranus; +UPDATE `creature_template` SET `faction`=2102, `unit_flags`=320,`AIName`='SmartAI' WHERE `entry`=@Servant; + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(@Thorim*100,@Loken*100) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`IN(@Thorim,@Loken,@Veranus,@Servant) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Loken,0,0,1,38,0,100,0,1,1,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - On Data Set 1 1 - Set Bytes 1"), +(@Loken,0,1,0,61,0,100,0,0,0,0,0,80,@Loken*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - On Data Set 1 1 - Run Script"), +(@Veranus,0,0,0,38,0,100,0,1,1,0,0,69,0,0,0,0,0,0,8,0,0,0,8609.171875, -636.665955, 967.317383, 2.124008,"Veranus - On Data Set 1 1 - move to pos"), +(@Veranus,0,1,2,38,0,100,0,2,2,0,0,11,34427,0,0,0,0,0,1,0,0,0,0,0,0,0,"Veranus - On Data Set 2 2 - Cast Ethereal Teleport"), +(@Veranus,0,2,0,61,0,100,0,0,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Veranus - On Data Set 2 2 - Despawn After 1 Seconds"), +(@Veranus,0,3,0,1,0,100,0,160000,160000,160000,160000,70,0,0,0,0,0,0,10,@CGUID,@Thorim,0,0,0,0,0,"Veranus - Ooc - respawn target"), +(@Servant,0,0,1,38,0,100,0,2,2,0,0,11,34427,0,0,0,0,0,1,0,0,0,0,0,0,0,"Runeforged Servant <Servant of Loken> - On Data Set 2 2 - Cast Ethereal Teleport"), +(@Servant,0,1,2,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,10,@CGUID,@Thorim,0,0,0,0,0,"Runeforged Servant <Servant of Loken> - On Data Set 2 2 - Despawn After 1 Seconds"), +(@Servant,0,2,3,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Runeforged Servant <Servant of Loken> - On Data Set 2 2 - Despawn After 1 Seconds"), +(@Servant,0,3,0,61,0,100,0,0,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Runeforged Servant <Servant of Loken> - On Data Set 2 2 - Despawn After 1 Seconds"), +(@Thorim,0,0,1,62,0,100,0,9928,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Thorim - On Gossip Option select - Store Targetlist"), +(@Thorim,0,1,2,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Thorim - On Gossip Option select - Close Gossip"), +(@Thorim,0,2,3,61,0,100,0,0,0,0,0,28,54503,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - On Gossip Option select - remove aura"), +(@Thorim,0,3,0,61,0,100,0,0,0,0,0,80,@Thorim*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - On Gossip Option select - Run Script"), +(@Thorim,0,4,0,40,0,100,0,2,@Thorim,0,0,1,1,0,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Thorim - On Reached WP2 - Say Line 2"), +(@Thorim,0,5,0,40,0,100,0,3,@Thorim,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - On Reached WP3 - Set Home Position"), +(@Thorim,0,6,0,8,0,100,0,56696,0,0,0,100,1,0,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Thorim - On Spellhit (Loken - Defeat Thorim) - Send Target List to Loken"), +(@Thorim,0,7,0,9,0,100,0,0,0,0,0,42,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - On Spawn - Set Invincibility hp"), +(@Thorim,0,8,0,25,0,100,0,1,1,0,0,75,54503,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - On Reset - Add aura"), +(@Loken*100,9,0,0,0,0,100,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Set Run On"), +(@Loken*100,9,1,0,0,0,100,0,0,0,0,0,17,30,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - set stand none"), +(@Loken*100,9,2,0,0,0,100,0,2000,2000,0,0,11,56677,0,0,0,0,0,19,@Thorim,30,0,0,0,0,0,"Loken - Script - Cast Loken's Knockback"), +(@Loken*100,9,3,0,0,0,100,0,3000,3000,0,0,69,0,0,0,0,0,0,8,0,0,0,8591.518555, -610.456604, 925.558228, 5.241327,"Loken - Script - Say Line 1"), +(@Loken*100,9,5,0,0,0,100,0,5000,5000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Say Line 1"), +(@Loken*100,9,6,0,0,0,100,0,1000,1000,0,0,5,25,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Play emote 25"), +(@Loken*100,9,7,0,0,0,100,0,5000,5000,0,0,69,0,0,0,0,0,0,8,0,0,0,8577.214844, -596.050659, 925.558289, 5.372476,"Loken - Script - Say Line 1"), +(@Loken*100,9,8,0,0,0,100,0,7000,7000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Say Line 2"), +(@Loken*100,9,9,0,0,0,100,0,7000,7000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Say Line 3"), +(@Loken*100,9,10,0,0,0,100,0,6000,6000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Say Line 4"), +(@Loken*100,9,11,0,0,0,100,0,1000,1000,0,0,75,56696,0,0,0,0,0,10,@CGUID,@Thorim,0,0,0,0,0,"Loken - Script - Cast Loken - Defeat Thorim"), +(@Loken*100,9,12,0,0,0,100,0,0,0,0,0,11,46846,0,0,0,0,0,10,@CGUID,@Thorim,0,0,0,0,0,"Loken - Script - Cast Loken - Defeat Thorim"), +(@Loken*100,9,13,0,0,0,100,0,1000,1000,0,0,45,1,1,0,0,0,0,10,@CGUID+1,@Veranus,0,0,0,0,0,"Loken - Script - Set Data 1 1 to Veranus"), +(@Loken*100,9,14,0,0,0,100,0,5000,5000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Say Line 5"), +(@Loken*100,9,15,0,0,0,100,0,7000,7000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Say Line 6"), +(@Loken*100,9,16,0,0,0,100,0,0,0,0,0,12,@Servant,1,60000,0,0,0,8,0,0,0,8622.837,-605.7887,926.2864,4.433136,"Loken - Script - Spawn Runeforged Servant <Servant of Loken>"), +(@Loken*100,9,17,0,0,0,100,0,0,0,0,0,12,@Servant,1,60000,0,0,0,8,0,0,0,8586.867,-564.764,925.6412,5.166174,"Loken - Script - Spawn Runeforged Servant <Servant of Loken>"), +(@Loken*100,9,18,0,0,0,100,0,7000,7000,0,0,1,6,0,0,0,0,0,21,50,0,0,0,0,0,0,"Loken - Script - Say Line 7"), +(@Loken*100,9,19,0,0,0,100,0,7000,7000,0,0,1,7,0,0,0,0,0,21,50,0,0,0,0,0,0,"Loken - Script - Say Line 8"), +(@Loken*100,9,20,0,0,0,100,0,0,0,0,0,28,46846,0,0,0,0,0,10,@CGUID,@Thorim,0,0,0,0,0,"Loken - Script - Say Line 1"), +(@Loken*100,9,21,0,0,0,100,0,5000,5000,0,0,11,56941,0,0,0,0,0,1,0,0,0,0,0,0,0,"Loken - Script - Cast Witness the Reckoning"), +(@Loken*100,9,22,0,0,0,100,0,0,0,0,0,45,2,2,0,0,0,0,10,@CGUID+1,@Veranus,0,0,0,0,0,"Loken - Script - Set Data 2 2 to Veranus"), +(@Loken*100,9,23,0,0,0,100,0,0,0,0,0,45,2,2,0,0,0,0,9,30429,0,200,0,0,0,0,"Loken - Script - Set Data 2 2 to Runeforged Servant <Servant of Loken>"), +(@Thorim*100,9,0,0,0,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Set NPC Flags"), +(@Thorim*100,9,1,0,0,0,100,0,0,0,0,0,12,@Loken,1,180000,0,0,0,8,0,0,0,8564.411,-580.366,925.6412,5.5676,"Thorim - Script - Spawn Loken"), +(@Thorim*100,9,2,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Thorim - Script - Say Line 1"), +(@Thorim*100,9,3,0,0,0,100,0,3000,3000,0,0,53,0,@Thorim,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Start WP"), +(@Thorim*100,9,4,0,0,0,100,0,15000,15000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Say Line 3"), +(@Thorim*100,9,5,0,0,0,100,0,2000,2000,0,0,5,333,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Play Emote 333"), +(@Thorim*100,9,6,0,0,0,100,0,4000,4000,0,0,45,1,1,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Thorim - Script - Set Data 1 1 to Loken"), +(@Thorim*100,9,7,0,0,0,100,0,6000,6000,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Set Run On"), +(@Thorim*100,9,8,0,0,0,100,0,0,0,0,0,46,20,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Cast Move to Loken"), +(@Thorim*100,9,9,0,0,0,100,0,6000,6000,0,0,11,56688,0,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Thorim - Script - Cast Thorim's Knockback"), +(@Thorim*100,9,10,0,0,0,100,0,2000,2000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Say Line 4"), +(@Thorim*100,9,11,0,0,0,100,0,2000,2000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Say Line 5"), +(@Thorim*100,9,12,0,0,0,100,0,2000,2000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thorim - Script - Say Line 6"), +(@Thorim*100,9,13,0,0,0,100,0,1000,1000,0,0,11,56694,0,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Thorim - Script - Cast Lightning Fury"), +(@Thorim*100,9,14,0,0,0,100,0,3000,3000,0,0,11,56695,0,0,0,0,0,19,@Loken,30,0,0,0,0,0,"Thorim - Script - Cast Thorim's Hammer"); + +DELETE FROM `spell_area` WHERE `spell`=54504 AND `area` IN(4543,4445); +INSERT INTO `spell_area` (`spell`, `area`, `quest_start`, `quest_end`, `aura_spell`, `racemask`, `gender`, `autocast`, `quest_start_status`, `quest_end_status`) VALUES +(54504, 4543, 13047, 13047, 0, 0, 2, 1, 8, 11), +(54504, 4445, 13047, 13047, 0, 0, 2, 1, 8, 11); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9928; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15, 9928, 0, 0, 0, 9, 0, 13047, 0, 0, 0, 0, 0, '', 'Gossip option requires the reckoning taken'); + +DELETE from `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=56677; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 56677, 0, 31, 3, @Thorim, 0, 0, '', 'Loken''s Knockback'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=56688; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 56688, 0, 31, 3, @Loken, 0, 0, '', 'Thorim''s Knockback'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=56694; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 3, 56694, 0, 31, 3, @Loken, 0, 0, '', 'Thorim''s Knockback'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=56695; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 56695, 0, 31, 3, @Loken, 0, 0, '', 'Thorim''s hammer'); + +DELETE FROM `creature_text` WHERE `entry` IN(@Thorim,@Loken); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@Thorim, 0, 0, 'It is time I put an end to my brother''s madness.', 12, 0, 100, 0, 0, 0, 'Thorim', 31078), +(@Thorim, 1, 0, 'Loken!!', 14, 0, 100, 15, 0, 0, 'Thorim', 31079), +(@Thorim, 2, 0, 'Stand up and fight me, you worthless traitor! ', 14, 0, 100, 53, 0, 0, 'Thorim', 31080), +(@Thorim, 3, 0, 'Do not dare...', 12, 0, 100, 0, 0, 0, 'Thorim', 31083), +(@Thorim, 4, 0, 'Speak...', 12, 0, 100, 0, 0, 0, 'Thorim', 31116), +(@Thorim, 5, 0, 'Her name!!', 12, 0, 100, 0, 0, 0, 'Thorim', 31117), +(@Loken, 0, 0, 'You seem eager to join your beloved Sif, brother.', 12, 0, 100, 0, 0, 0, 'Loken', 31082), +(@Loken, 1, 0, 'ENOUGH!', 14, 0, 100, 15, 0, 0, 'Loken', 31126), +(@Loken, 2, 0, 'Looks like you can still best me in a fair fight, little brother.', 12, 0, 100, 1, 0, 0, 'Loken', 31110), +(@Loken, 3, 0, 'Unfortunately for you.... this fight is anything but fair!', 12, 0, 100, 1, 0, 0, 'Loken', 31111), +(@Loken, 4, 0, 'Thanks to your little friend, you''ve left the Temple of Storms, where you were at your strongest. Instead we fight closer to my master''s power.', 12, 0, 100, 0, 0, 0, 'Loken', 31112), +(@Loken, 5, 0, 'Minions! Take my brother and his drake to their new dwellings. Make sure the beast makes it alive. I have special plans for the broodmother.', 12, 0, 100, 0, 0, 0, 'Loken', 31128), +(@Loken, 6, 0, 'As for your life, mortal. I will be generous. After all... why would I destroy my most useful servant? I waited for you for weeks inside that Hyldnir mine.', 12, 0, 100, 0, 0, 0, 'Loken', 31127), +(@Loken, 7, 0, 'The shape wasn''t mine, of course. And had you not been so reckless, you would''ve seen past my illusion. But you came through for me, and for that... I must thank you!', 12, 0, 100, 0, 0, 0, 'Loken', 31133); + +DELETE FROM `creature_template_addon` WHERE `entry` IN(@Thorim,@Loken,@Veranus); +INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES +(@Thorim, 0, 0x10000, 0x1, '54503'), -- 30399 - 54503 +(@Loken, 0, 0x1, 0x1, ''), -- 30396 +(@Veranus, 0, 0x3010000, 0x1, '54503'); -- 30420 - 54503 + +DELETE FROM `creature` WHERE `id` IN(@Thorim,@Veranus); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, @Thorim, 571, 1, 1, 8703.806, -714.0443, 934.9764, 2.321288, 120, 0, 0), -- 30399 (Area: 67) +(@CGUID+1, @Veranus, 571, 1, 1, 8711.395, -754.7941, 955.1224, 2.338741, 120, 0, 0); -- 30420 (Area: 67) + +DELETE FROM `gossip_menu` WHERE `entry`=9928; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(9928, 13800); -- 30399 + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=9928; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES +(9928, 0, 0, 'I''m with you, Thorim.', 0, 1, 1, 0, 0, 0, 0, '', 31225); + +DELETE FROM `waypoints` WHERE `entry` IN(@Thorim); +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(@Thorim, 1,8695.301, -703.0229, 933.7817, 'Thorim'), +(@Thorim, 2,8665.801, -675.7729, 927.5317, 'Thorim'), +(@Thorim, 3,8573.930664, -591.286133, 925.558167 , 'Thorim'); + +UPDATE creature_template SET InhabitType=4 WHERE entry IN (29747, 29790); diff --git a/sql/updates/world/2015_02_17_05_world.sql b/sql/updates/world/2015_02_17_05_world.sql new file mode 100644 index 00000000000..807f4f81a5d --- /dev/null +++ b/sql/updates/world/2015_02_17_05_world.sql @@ -0,0 +1 @@ +UPDATE `gossip_menu` SET `text_id`=9715 WHERE `entry`=7931 AND `text_id`=1915; diff --git a/sql/updates/world/2015_02_18_00_world.sql b/sql/updates/world/2015_02_18_00_world.sql new file mode 100644 index 00000000000..edf6aae06f0 --- /dev/null +++ b/sql/updates/world/2015_02_18_00_world.sql @@ -0,0 +1,54 @@ +-- Mug'gok SAI +SET @ENTRY := 18475; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY*100+00 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,25,0,100,0,0,0,0,0,53,0,18475,1,0,0,2,1,0,0,0,0,0,0,0,"Mug'gok - On Reset - Start Waypoint"), +(@ENTRY,0,1,0,40,0,100,0,1,18475,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Mug'gok - On Waypoint 1 Reached - Run Script"), +(@ENTRY,0,2,0,40,0,100,0,1,18475,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Mug'gok - On Waypoint 1 Reached - Pause Waypoint"), +(@ENTRY*100+00,9,0,0,0,0,100,0,2000,2000,0,0,1,0,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Mug'gok - On Script - Say Line 0"), +(@ENTRY*100+00,9,1,0,0,0,100,0,2000,2000,0,0,1,1,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Mug'gok - On Script - Say Line 1"), +(@ENTRY*100+00,9,3,0,0,0,100,0,2000,2000,0,0,1,2,3000,0,0,0,0,1,0,0,0,0,0,0,0,"Mug'gok - On Script - Say Line 2"); + +-- Add text +DELETE FROM `creature_text` WHERE `entry`=18475; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(18475, 0, 0, 'Come out, little birdies! Mug''gok want to play!', 14, 0, 100, 0, 0, 0, 'Muggok', 15463), +(18475, 1, 0, 'No hurt Mug''gok''s feelings, bird-men!', 14, 0, 100, 0, 0, 0, 'Muggok', 15464), +(18475, 2, 0, 'Fine! Birdies be dat way! Mug''gok find new friends!', 14, 0, 100, 14, 0, 0, 'Muggok', 15465); + +-- Add waypoints +DELETE FROM `waypoints` WHERE `entry`=18475; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(18475, 1, -3586.119,5789.734,-4.249763, 'Muggok'), +(18475, 2, -3607.362,5802.457,-4.015522, 'Muggok'), +(18475, 3, -3611.601,5813.162,-4.286913, 'Muggok'), +(18475, 4, -3620.696,5832.479,0.1701524, 'Muggok'), +(18475, 5, -3632.274,5845.131,-0.2069848, 'Muggok'), +(18475, 6, -3644.935,5868.452,-4.990351, 'Muggok'), +(18475, 7, -3637.306,5910.221,-21.84441, 'Muggok'), +(18475, 8, -3641.046,5941.752,-30.85709, 'Muggok'), +(18475, 9, -3638.008,5970.188,-22.30242, 'Muggok'), +(18475, 10, -3625.294,5984.689,-19.98056, 'Muggok'), +(18475, 11, -3593.81,5984.915,-30.74051, 'Muggok'), +(18475, 12, -3560.429,5994.253,-34.44781, 'Muggok'), +(18475, 13, -3533.398,6024.583,-24.52451, 'Muggok'), +(18475, 14, -3525.008,6048.768,-20.22229, 'Muggok'), +(18475, 15, -3509.135,6060.514,-15.46761, 'Muggok'), +(18475, 16, -3465.905,6061.523,-15.65, 'Muggok'), +(18475, 17, -3455.743,6054.097,-12.08964, 'Muggok'), +(18475, 18, -3452,6032.292,-14.2308, 'Muggok'), +(18475, 19, -3449.686,6012.386,-17.47238, 'Muggok'), +(18475, 20, -3443.185,5993.315,-23.15056, 'Muggok'), +(18475, 21, -3440.388,5986.851,-24.24662, 'Muggok'), +(18475, 22, -3435.465,5956.201,-24.91395, 'Muggok'), +(18475, 23, -3446.49,5924.918,-33.08622, 'Muggok'), +(18475, 24, -3466.203,5894.721,-28.9427, 'Muggok'), +(18475, 25, -3483.424,5870.367,-23.49757, 'Muggok'), +(18475, 26, -3495.208,5849.559,-15.93699, 'Muggok'), +(18475, 27, -3507.46,5820.458,-12.90878, 'Muggok'), +(18475, 28, -3519.906,5799.604,-7.427849, 'Muggok'), +(18475, 29, -3532.312,5789.58,-6.70218, 'Muggok'), +(18475, 30, -3553.792,5784.59,-4.330991, 'Muggok'), +(18475, 31, -3562.554,5785.313,-1.650567, 'Muggok'); diff --git a/sql/updates/world/2015_02_18_01_world.sql b/sql/updates/world/2015_02_18_01_world.sql new file mode 100644 index 00000000000..5c6c879a83a --- /dev/null +++ b/sql/updates/world/2015_02_18_01_world.sql @@ -0,0 +1,11 @@ +-- +SET @ENTRY := 178905; +SET @Scion:= 13696; +UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=@ENTRY; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (@Scion); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Scion AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,1,0,0,64,0,100,0,0,0,0,0,12,13696,2,60000,0,0,0,1,0,0,0,0,0,0,0,"Vylestem Vine - On Gossip Hello - Summon Creature 'Noxxious Scion'"), +(@Scion,0,0,0,4,0,100,1,0,0,0,0,11,21883,0,0,0,0,0,1,0,0,0,0,0,0,0,"Noxxious Scion - On Aggro -Cast 21883"), +(@Scion,0,1,0,63,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,20,0,0,0,0,0,0,"Noxxious Scion - On Just created - Attack"); diff --git a/sql/updates/world/2015_02_18_02_world.sql b/sql/updates/world/2015_02_18_02_world.sql new file mode 100644 index 00000000000..66d7951d719 --- /dev/null +++ b/sql/updates/world/2015_02_18_02_world.sql @@ -0,0 +1,7 @@ +-- +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (31198, 31150); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (31198, 31150) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(31150,0,0,0,0,0,100,0,2000,8000,12000,15000,11,60678,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Plagued Fiend - IC - Plague Bite"), +(31198,0,0,0,0,0,100,0,2000,2000,15000,20000,11,38971,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Coprous the Defiled - IC - Cast Acid Geyser"), +(31198,0,1,0,0,0,100,0,5000,5000,10000,10000,11,5164,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0,"Coprous the Defiled - IC - Cast Knockdown"); diff --git a/sql/updates/world/2015_02_18_03_world.sql b/sql/updates/world/2015_02_18_03_world.sql new file mode 100644 index 00000000000..6a4c12347a3 --- /dev/null +++ b/sql/updates/world/2015_02_18_03_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=52654; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 52654, 0, 0, 31, 0, 3, 28823, 0, 0, 0, 0, '', 'Temper only target Volkhan\'s Anvil'); diff --git a/sql/updates/world/2015_02_19_00_world.sql b/sql/updates/world/2015_02_19_00_world.sql new file mode 100644 index 00000000000..d0411d68c66 --- /dev/null +++ b/sql/updates/world/2015_02_19_00_world.sql @@ -0,0 +1,427 @@ +-- +DELETE FROM `creature_template_addon` WHERE `entry` IN (25760, 25622, 25615); +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(25760, 0, 0, 0, 0, 45, NULL), +(25622, 0, 0, 0, 0, 173, NULL), +(25615, 0, 0, 0, 0, 0, '45797'); + +UPDATE `creature_addon` SET `emote`=36 WHERE `guid`=102838; + +UPDATE `creature` SET `spawndist`=9, `MovementType`=1 WHERE `id` IN (26202, 25715, 25668, 25791, 25792); + +UPDATE `creature` SET `spawndist`=9, `MovementType`=1 WHERE `id` IN (26126); + +UPDATE `creature` SET `spawndist`=13, `MovementType`=1 WHERE `id` IN (25452, 25615); + +UPDATE `creature` SET `MovementType`=0 WHERE `guid`=122669; + +DELETE FROM `creature_formations` WHERE `leaderGUID`=111466; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(111466, 111466, 0, 0, 0, 0, 0), +(111466, 111467, 5, 10, 0, 0, 0); + +-- Pathing for Entry: 26790 'TDB FORMAT' +SET @NPC := 111466; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3269.226,`position_y`=4429.583,`position_z`=25.58942 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,3269.226,4429.583,25.58942,0,0,0,0,100,0), +(@PATH,2,3267.759,4388,25.7008,0,0,0,0,100,0), +(@PATH,3,3267.792,4381.39,25.73712,0,0,0,0,100,0), +(@PATH,4,3278.066,4307.007,24.88556,0,0,0,0,100,0), +(@PATH,5,3279.909,4296.206,24.66411,0,0,0,0,100,0), +(@PATH,6,3295.526,4235.11,26.38262,0,0,0,0,100,0), +(@PATH,7,3300.244,4216.931,27.75196,0,0,0,0,100,0), +(@PATH,8,3318.573,4152.362,27.67955,0,0,0,0,100,0), +(@PATH,9,3325.382,4131.279,26.32579,0,0,0,0,100,0), +(@PATH,10,3332.996,4089.244,27.17685,0,0,0,0,100,0), +(@PATH,11,3343.786,4049.672,25.98749,0,0,0,0,100,0), +(@PATH,12,3363.78,4008.359,26.03116,0,0,0,0,100,0), +(@PATH,13,3366.464,4003.271,25.94505,0,0,0,0,100,0), +(@PATH,14,3425.143,4003.964,27.52853,0,0,0,0,100,0), +(@PATH,15,3476.093,4013.513,26.82531,0,0,0,0,100,0), +(@PATH,16,3515.465,4026.42,22.9796,0,0,0,0,100,0), +(@PATH,17,3530.343,4051.534,21.97854,0,0,0,0,100,0), +(@PATH,18,3552.293,4122.889,21.95212,0,0,0,0,100,0), +(@PATH,19,3590.191,4148.155,21.84193,0,0,0,0,100,0), +(@PATH,20,3620.669,4159.591,25.41138,0,0,0,0,100,0), +(@PATH,21,3659.4,4169.95,25.3229,0,0,0,0,100,0), +(@PATH,22,3700.533,4186.467,24.96351,0,0,0,0,100,0), +(@PATH,23,3743.046,4216.556,24.08723,0,0,0,0,100,0), +(@PATH,24,3771.806,4239.74,25.29598,0,0,0,0,100,0), +(@PATH,25,3820.626,4241.001,27.25442,0,0,0,0,100,0), +(@PATH,26,3848.42,4209.31,28.84864,0,0,0,0,100,0), +(@PATH,27,3840.634,4170.563,28.2758,0,0,0,0,100,0), +(@PATH,28,3804.119,4155.879,27.68908,0,0,0,0,100,0), +(@PATH,29,3767.293,4171.405,26.47837,0,0,0,0,100,0), +(@PATH,30,3739.984,4183.705,24.70092,0,0,0,0,100,0), +(@PATH,31,3695.544,4177.419,25.40162,0,0,0,0,100,0), +(@PATH,32,3690.549,4175.297,25.46773,0,0,0,0,100,0), +(@PATH,33,3664.658,4165.97,25.39618,0,0,0,0,100,0), +(@PATH,34,3608.881,4156.498,24.01619,0,0,0,0,100,0), +(@PATH,35,3562.48,4159.697,23.3773,0,0,0,0,100,0), +(@PATH,36,3545.413,4159.953,22.43779,0,0,0,0,100,0), +(@PATH,37,3526.568,4167.223,15.17734,0,0,0,0,100,0), +(@PATH,38,3522.761,4171.347,12.94395,0,0,0,0,100,0), +(@PATH,39,3513.761,4183.413,12.85036,0,0,0,0,100,0), +(@PATH,40,3521.258,4190.762,12.85036,0,0,0,0,100,0), +(@PATH,41,3529.055,4194.656,12.85036,0,0,0,0,100,0), +(@PATH,42,3537.065,4186.435,12.85036,0,0,0,0,100,0), +(@PATH,43,3549.637,4182.573,12.84298,0,0,0,0,100,0), +(@PATH,44,3560.2,4184.638,12.84456,0,0,0,0,100,0), +(@PATH,45,3551.881,4191.742,12.85036,0,0,0,0,100,0), +(@PATH,46,3552.376,4284.875,12.60797,0,0,0,0,100,0), +(@PATH,47,3537.689,4185.746,12.85036,0,0,0,0,100,0), +(@PATH,48,3535.854,4184.324,12.85036,0,0,0,0,100,0), +(@PATH,49,3526.616,4197.904,12.85036,0,0,0,0,100,0), +(@PATH,50,3514.75,4185.95,12.85036,0,0,0,0,100,0), +(@PATH,51,3487.793,4170.192,17.39668,0,0,0,0,100,0), +(@PATH,52,3474.217,4172.794,17.44868,0,0,0,0,100,0), +(@PATH,53,3466.45,4161.327,17.44301,0,0,0,0,100,0), +(@PATH,54,3463.186,4144.002,17.44657,0,0,0,0,100,0), +(@PATH,55,3461.733,4133.489,15.50942,0,0,0,0,100,0), +(@PATH,56,3461.425,4131.252,15.57042,0,0,0,0,100,0), +(@PATH,57,3440.413,4107.955,16.253,0,0,0,0,100,0), +(@PATH,58,3439.38,4106.382,16.33916,0,0,0,0,100,0), +(@PATH,59,3384.195,4062.901,19.78522,0,0,0,0,100,0), +(@PATH,60,3350.907,4085.523,26.59955,0,0,0,0,100,0), +(@PATH,61,3336.268,4101.299,25.10432,0,0,0,0,100,0), +(@PATH,62,3313.968,4123.463,25.70841,0,0,0,0,100,0), +(@PATH,63,3298.833,4136.27,25.76038,0,0,0,0,100,0), +(@PATH,64,3284.301,4171.881,25.73615,0,0,0,0,100,0), +(@PATH,65,3260.152,4249.911,26.19264,0,0,0,0,100,0), +(@PATH,66,3265.231,4272.233,25.12194,0,0,0,0,100,0), +(@PATH,67,3267.608,4324.161,25.83903,0,0,0,0,100,0), +(@PATH,68,3266.102,4333.994,26.12407,0,0,0,0,100,0), +(@PATH,69,3269.841,4402.301,25.18758,0,0,0,0,100,0), +(@PATH,70,3287.93,4442.964,24.90842,0,0,0,0,100,0), +(@PATH,71,3330.486,4488.953,25.63785,0,0,0,0,100,0), +(@PATH,72,3346.958,4513.736,25.21837,0,0,0,0,100,0), +(@PATH,73,3370.701,4574.729,28.1356,0,0,0,0,100,0), +(@PATH,74,3329.835,4909.289,31.98566,0,0,0,0,100,0), +(@PATH,75,3260.729,4889.575,31.59256,0,0,0,0,100,0), +(@PATH,76,3254.577,4883.116,30.8572,0,0,0,0,100,0), +(@PATH,77,3244.599,4836.884,30.49381,0,0,0,0,100,0), +(@PATH,78,3274.862,4794.816,31.06407,0,0,0,0,100,0), +(@PATH,79,3312.659,4774.863,32.49248,0,0,0,0,100,0), +(@PATH,80,3349.351,4758.671,31.47926,0,0,0,0,100,0), +(@PATH,81,3287.93,4442.964,24.90842,0,0,0,0,100,0), +(@PATH,82,3330.486,4488.953,25.63785,0,0,0,0,100,0), +(@PATH,83,3346.958,4513.736,25.21837,0,0,0,0,100,0), +(@PATH,84,3370.701,4574.729,28.1356,0,0,0,0,100,0); +-- 0x1C39AC47601A298000000B00005AED7E .go 3269.226 4429.583 25.58942 + +-- Pathing for Entry: 25793 'TDB FORMAT' +SET @NPC := 57171; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3561.628,`position_y`=5005.68,`position_z`=-1.416187 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,3561.628,5005.68,-1.416187,0,0,0,0,100,0), +(@PATH,2,3561.647,5005.603,-1.154766,0,0,0,0,100,0), +(@PATH,3,3548.455,4987.43,-1.165261,0,0,0,0,100,0), +(@PATH,4,3548.445,4987.507,-1.393345,0,0,0,0,100,0), +(@PATH,5,3548.703,4987.758,-1.156939,0,0,0,0,100,0), +(@PATH,6,3561.752,5006.026,-1.164443,0,0,0,0,100,0), +(@PATH,7,3561.628,5005.68,-1.416187,0,0,0,0,100,0); +-- 0x1C39AC47601930400000A3000065B380 .go 3561.628 5005.68 -1.416187 + +-- Pathing for Entry: 25619 'TDB FORMAT' +SET @NPC := 57156; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3653.617,`position_y`=4706.431,`position_z`=-12.93513 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,3653.617,4706.431,-12.93513,0,0,0,0,100,0), +(@PATH,2,3644.772,4705.505,-13.09717,0,0,0,0,100,0), +(@PATH,3,3650.718,4705.053,-12.68797,0,0,0,0,100,0), +(@PATH,4,3657.83,4709.773,-12.6719,0,0,0,0,100,0), +(@PATH,5,3662.773,4713.923,-12.66263,0,0,0,0,100,0), +(@PATH,6,3683.912,4744.512,-13.18753,0,0,0,0,100,0), +(@PATH,7,3684.609,4746.4,-13.26137,0,0,0,0,100,0), +(@PATH,8,3681.26,4750.936,-12.83029,0,0,0,0,100,0), +(@PATH,9,3677.817,4771.657,-12.96236,0,0,0,0,100,0), +(@PATH,10,3677.802,4771.346,-13.06311,0,0,0,0,100,0), +(@PATH,11,3678.06,4771.458,-12.99139,0,0,0,0,100,0), +(@PATH,12,3683.749,4747.838,-13.2233,0,0,0,0,100,0), +(@PATH,13,3683.588,4743.549,-12.92916,0,0,0,0,100,0), +(@PATH,14,3676.425,4727.065,-12.68113,0,0,0,0,100,0), +(@PATH,15,3653.484,4706.284,-12.93378,0,0,0,0,100,0), +(@PATH,16,3644.924,4705.583,-13.21565,0,0,0,0,100,0); +-- 0x1C39AC47601904C000000C00006399A7 .go 3653.617 4706.431 -12.93513 + +-- Pathing for Entry: 25619 'TDB FORMAT' +SET @NPC := 57154; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3668.695,`position_y`=4852.459,`position_z`=-12.74998 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,3668.695,4852.459,-12.74998,0,0,0,0,100,0), +(@PATH,2,3664.671,4872.002,-12.99413,0,0,0,0,100,0), +(@PATH,3,3664.699,4871.859,-13.07822,0,0,0,0,100,0), +(@PATH,4,3665.02,4871.801,-13.02737,0,0,0,0,100,0), +(@PATH,5,3675.036,4847.65,-13.24574,0,0,0,0,100,0), +(@PATH,6,3689.288,4839.663,-12.73423,0,0,0,0,100,0), +(@PATH,7,3700.295,4827.3,-13.29157,0,0,0,0,100,0), +(@PATH,8,3702.61,4824.848,-13.29076,0,0,0,0,100,0), +(@PATH,9,3702.303,4824.782,-13.54672,0,0,0,0,100,0), +(@PATH,10,3696.016,4832.376,-12.71317,0,0,0,0,100,0), +(@PATH,11,3684.51,4841.927,-13.23423,0,0,0,0,100,0), +(@PATH,12,3671.438,4849.996,-12.73423,0,0,0,0,100,0), +(@PATH,13,3668.495,4852.239,-12.74998,0,0,0,0,100,0); +-- 0x1C39AC47601904C000000C00006398F7 .go 3668.695 4852.459 -12.74998 + +-- Pathing for Entry: 25619 'TDB FORMAT' +SET @NPC := 97940; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3580.309,`position_y`=4549.389,`position_z`=-11.17193 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,3580.309,4549.389,-11.17193,0,0,0,0,100,0), +(@PATH,2,3578.376,4553.744,-12.42194,0,0,0,0,100,0), +(@PATH,3,3568.719,4586.03,-13.21303,0,0,0,0,100,0), +(@PATH,4,3580.922,4608.78,-13.29673,0,0,0,0,100,0), +(@PATH,5,3569.915,4581.717,-12.73434,0,0,0,0,100,0), +(@PATH,6,3580.182,4549.349,-11.17194,0,0,0,0,100,0); +-- 0x1C39AC47601904C000000C0000635FEA .go 3580.309 4549.389 -11.17193 + +-- Pathing for Entry: 25619 'TDB FORMAT' +SET @NPC := 97945; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3638.907,`position_y`=4590.849,`position_z`=-12.90129 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,3638.907,4590.849,-12.90129,0,0,0,0,100,0), +(@PATH,2,3639.077,4591.158,-12.65275,0,0,0,0,100,0), +(@PATH,3,3657.039,4597.404,-12.65622,0,0,0,0,100,0), +(@PATH,4,3674.552,4584.037,-12.69051,0,0,0,0,100,0), +(@PATH,5,3691.104,4575.537,-12.92792,0,0,0,0,100,0), +(@PATH,6,3700.628,4561.468,-12.65065,0,0,0,0,100,0), +(@PATH,7,3700.406,4561.409,-12.89539,0,0,0,0,100,0), +(@PATH,8,3700.436,4561.741,-12.6833,0,0,0,0,100,0), +(@PATH,9,3690.878,4575.947,-12.68227,0,0,0,0,100,0), +(@PATH,10,3674.272,4584.251,-12.66346,0,0,0,0,100,0), +(@PATH,11,3656.891,4597.556,-12.65173,0,0,0,0,100,0), +(@PATH,12,3638.816,4591.054,-12.67964,0,0,0,0,100,0), +(@PATH,13,3638.907,4590.849,-12.90129,0,0,0,0,100,0); +-- 0x1C39AC47601904C000000C000063960F .go 3638.907 4590.849 -12.90129 + +-- Pathing for Entry: 25619 'TDB FORMAT' +SET @NPC := 57150; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3540.325,`position_y`=4553.921,`position_z`=-11.9877 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,3540.325,4553.921,-11.9877,0,0,0,0,100,0), +(@PATH,2,3551.097,4546.824,-12.09515,0,0,0,0,100,0), +(@PATH,3,3556.957,4542.564,-12.71872,0,0,0,0,100,0), +(@PATH,4,3572.592,4519.032,-12.57456,0,0,0,0,100,0), +(@PATH,5,3611.974,4514.621,-11.45239,0,0,0,0,100,0), +(@PATH,6,3596.514,4512.68,-11.4117,0,0,0,0,100,0), +(@PATH,7,3591.572,4513.184,-12.59506,0,0,0,0,100,0), +(@PATH,8,3572.187,4519.236,-12.62936,0,0,0,0,100,0), +(@PATH,9,3542.318,4553.094,-11.18209,0,0,0,0,100,0), +(@PATH,10,3538.412,4553.636,-12.23789,0,0,0,0,100,0), +(@PATH,11,3540.325,4553.921,-11.9877,0,0,0,0,100,0), +(@PATH,12,3551.078,4546.787,-12.28936,0,0,0,0,100,0); +-- 0x1C39AC47601904C00000A30000661A2D .go 3540.325 4553.921 -11.9877 + + +-- Pathing for Entry: 25619 'TDB FORMAT' +SET @NPC := 57149; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3440.258,`position_y`=4514.217,`position_z`=-12.88582 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,3440.258,4514.217,-12.88582,2,0,0,0,100,0), +(@PATH,2,3440.258,4514.217,-12.88582,2,0,0,0,100,0), +(@PATH,3,3440.896,4516.193,-12.89167,3,0,0,0,100,0), +(@PATH,4,3442.607,4496.93,-12.91095,0,0,0,0,100,0), +(@PATH,5,3447.15,4488.138,-12.65823,0,0,0,0,100,0), +(@PATH,6,3452.752,4476.723,-12.68911,0,0,0,0,100,0), +(@PATH,7,3476.311,4474.729,-12.71476,0,0,0,0,100,0), +(@PATH,8,3494.302,4476.382,-12.71264,0,0,0,0,100,0), +(@PATH,9,3494.728,4476.228,-12.96695,3,0,0,0,100,0), +(@PATH,10,3511.506,4473.141,-12.958,0,0,0,0,100,0), +(@PATH,11,3494.125,4476.339,-12.96727,0,0,0,0,100,0), +(@PATH,12,3494.088,4476.244,-12.71688,0,0,0,0,100,0), +(@PATH,13,3476.16,4474.544,-12.68911,0,0,0,0,100,0), +(@PATH,14,3444.08,4494.611,-12.66572,0,0,0,0,100,0), +(@PATH,15,3442.532,4497.133,-12.64838,0,0,0,0,100,0), +(@PATH,16,3440.716,4522.266,-12.63575,0,0,0,0,100,0), +(@PATH,17,3440.376,4522.044,-12.88582,0,0,0,0,100,0), +(@PATH,18,3440.543,4522.067,-12.6481,0,0,0,0,100,0), +(@PATH,19,3447.229,4487.997,-12.65975,0,0,0,0,100,0), +(@PATH,20,3452.721,4477.046,-12.68911,0,0,0,0,100,0); +-- 0x1C39AC47601904C000000A000063A957 .go 3440.258 4514.217 -12.88582 + +-- Pathing for Entry: 25700 'TDB FORMAT' +SET @NPC := 104890; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3649.046,`position_y`=3947.566,`position_z`=25.10987 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,3649.046,3947.566,25.10987,0,0,0,0,100,0), +(@PATH,2,3670.215,3953.261,27.32766,0,0,0,0,100,0), +(@PATH,3,3661.302,3951.949,25.85034,0,0,0,0,100,0), +(@PATH,4,3647.474,3946.993,24.98032,0,0,0,0,100,0), +(@PATH,5,3631.758,3945.262,25.08576,0,0,0,0,100,0), +(@PATH,6,3635.313,3944.982,24.81682,0,0,0,0,100,0), +(@PATH,7,3649.313,3947.802,25.10083,0,0,0,0,100,0), +(@PATH,8,3670.304,3953.393,27.30864,0,0,0,0,100,0); +-- 0x1C39AC47601919000000A3000065CBC5 .go 3649.046 3947.566 25.10987 + +-- Pathing for Entry: 25700 'TDB FORMAT' +SET @NPC := 104873; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3612.053,`position_y`=3969.457,`position_z`=25.79908 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,3612.053,3969.457,25.79908,0,0,0,0,100,0), +(@PATH,2,3612.913,3949.386,26.9285,0,0,0,0,100,0), +(@PATH,3,3606.506,3943.484,27.81473,0,0,0,0,100,0), +(@PATH,4,3599.383,3941.598,27.42816,0,0,0,0,100,0), +(@PATH,5,3613.519,3957.487,25.68642,0,0,0,0,100,0), +(@PATH,6,3610.85,3975.829,26.71345,0,0,0,0,100,0), +(@PATH,7,3610.689,3977.498,26.90823,0,0,0,0,100,0); +-- 0x1C39AC47601919000000A3000065CBB6 .go 3612.053 3969.457 25.79908 + +-- Pathing for Entry: 25700 'TDB FORMAT' +SET @NPC := 104885; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3547.306,`position_y`=3938.455,`position_z`=28.18571 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,3547.306,3938.455,28.18571,0,0,0,0,100,0), +(@PATH,2,3547.207,3940.361,28.20439,0,0,0,0,100,0), +(@PATH,3,3549.885,3950.133,28.27749,0,0,0,0,100,0), +(@PATH,4,3547.638,3926.375,28.40306,0,0,0,0,100,0), +(@PATH,5,3546.562,3908.686,26.7371,0,0,0,0,100,0); +-- 0x1C39AC47601919000000990000649C8A .go 3547.306 3938.455 28.18571 + +-- Pathing for Entry: 25700 'TDB FORMAT' +SET @NPC := 104894; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3778.342,`position_y`=3912.803,`position_z`=29.24027 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,3778.342,3912.803,29.24027,0,0,0,0,100,0), +(@PATH,2,3759.181,3931.342,27.90885,0,0,0,0,100,0), +(@PATH,3,3753.393,3933.303,27.37968,0,0,0,0,100,0), +(@PATH,4,3753.327,3933.25,27.1396,0,0,0,0,100,0), +(@PATH,5,3770.313,3927.754,29.42538,0,0,0,0,100,0), +(@PATH,6,3771.412,3927.011,29.40953,0,0,0,0,100,0), +(@PATH,7,3778.897,3901.917,30.91071,0,0,0,0,100,0); +-- 0x1C39AC476019190000000A00005F9DDF .go 3778.342 3912.803 29.24027 + + +-- Pathing for Entry: 25615 'TDB FORMAT' +SET @NPC := 97719; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3952.9,`position_y`=3970.767,`position_z`=60.06356 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, '45797'); +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,3952.9,3970.767,60.06356,0,0,0,0,100,0), +(@PATH,2,3978.35,3999.136,62.92397,0,0,0,0,100,0), +(@PATH,3,4018.881,4028.354,68.87595,0,0,0,0,100,0), +(@PATH,4,4054.792,4041.589,78.42586,0,0,0,0,100,0), +(@PATH,5,4079.642,4057.923,86.41113,0,0,0,0,100,0), +(@PATH,6,4109.986,4083.86,91.92527,0,0,0,0,100,0), +(@PATH,7,4146.447,4095.262,94.97155,0,0,0,0,100,0), +(@PATH,8,4116.737,4088.786,92.95302,0,0,0,0,100,0), +(@PATH,9,4085.337,4060.936,87.70323,0,0,0,0,100,0), +(@PATH,10,4058.099,4043.569,79.66705,0,0,0,0,100,0), +(@PATH,11,4020.782,4029.594,69.42237,0,0,0,0,100,0), +(@PATH,12,3994.482,4012.06,64.00913,0,0,0,0,100,0), +(@PATH,13,3968.87,3988.12,59.70909,0,0,0,0,100,0), +(@PATH,14,3929.95,3947.708,63.23425,0,0,0,0,100,0), +(@PATH,15,3911.141,3924.254,62.15401,0,0,0,0,100,0), +(@PATH,16,3873.239,3894.211,53.25244,0,0,0,0,100,0), +(@PATH,17,3906.264,3919.628,61.43396,0,0,0,0,100,0), +(@PATH,18,3928.859,3946.259,63.19824,0,0,0,0,100,0), +(@PATH,19,3952.789,3970.748,60.02489,0,0,0,0,100,0); +-- 0x1C39AC47601903C00000FB00006640F7 .go 3952.9 3970.767 60.06356 + +-- Pathing for Entry: 25684 'TDB FORMAT' +SET @NPC := 103453; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4426.675,`position_y`=4548.689,`position_z`=105.0451 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,4426.675,4548.689,105.0451,0,0,0,0,100,0), +(@PATH,2,4426.097,4567.237,105.0696,0,0,0,0,100,0), +(@PATH,3,4427.304,4550.866,105.1948,0,0,0,0,100,0), +(@PATH,4,4424.215,4542.484,104.0657,0,0,0,0,100,0), +(@PATH,5,4408.765,4527.845,109.2442,0,0,0,0,100,0), +(@PATH,6,4417.008,4531.223,106.1703,0,0,0,0,100,0), +(@PATH,7,4426.797,4548.548,105.0981,0,0,0,0,100,0), +(@PATH,8,4426.019,4567.411,105.0588,0,0,0,0,100,0); +-- 0x1C39AC47601915000000F80000663747 .go 4426.675 4548.689 105.0451 + +-- Cult Plaguebringer SAI +SET @ENTRY := 24957; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,900000,500000,700000,11,45850,2,0,0,0,0,1,0,0,0,0,0,0,0,"Cult Plaguebringer - Out of Combat - Cast 'Ghoul Summons'"), +(@ENTRY,0,1,0,11,0,100,0,0,0,0,0,11,45820,0,0,0,0,0,9,24021,0,30,0,0,0,0,"Cult Plaguebringer - On Respawn - Cast 'Plague Cauldron Beam'"), +(@ENTRY,0,2,0,0,0,30,0,1100,6300,8800,13800,11,50356,0,0,0,0,0,2,0,0,0,0,0,0,0,"Cult Plaguebringer - In Combat - Cast 'Inject Plague'"), +(@ENTRY,0,3,0,21,0,100,0,0,0,0,0,11,45820,0,0,0,0,0,9,24021,0,30,0,0,0,0,"Cult Plaguebringer - On Reached Home - Cast 'Plague Cauldron Beam'"), +(@ENTRY,0,4,0,1,0,100,0,5000,10000,10000,15000,11,45864,0,0,0,0,0,19,23837,20,0,0,0,0,0,"Cult Plaguebringer - Out of Combat - Cast 'Soul Missile'"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=1 AND `SourceEntry`=45864; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 45864, 0, 0, 31, 0, 3, 23837, 0, 0, 0, 0, '', 'Visual - ony targets Dummy'); + +DELETE FROM `waypoints` WHERE `entry`=965560; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(965560, 1,3882.081,3605.613,47.20867, 'Darkfallen Bloodbearer'), +(965560, 2,3880.675,3604.947,46.98143, 'Darkfallen Bloodbearer'), +(965560, 3,3873.556,3605.217,47.1648, 'Darkfallen Bloodbearer'), +(965560, 4,3864.232,3594.599,46.89387, 'Darkfallen Bloodbearer'), +(965560, 5,3863.215,3593.009,46.80249, 'Darkfallen Bloodbearer'), +(965560, 6,3857.541,3589.546,46.89201, 'Darkfallen Bloodbearer'), +(965560, 7,3849.738,3589.315,47.19809, 'Darkfallen Bloodbearer'), +(965560, 8,3841.684,3593.68,47.05273, 'Darkfallen Bloodbearer'), +(965560, 9,3835.923,3599.622,47.26691, 'Darkfallen Bloodbearer'), +(965560, 10,3828.859,3599.792,47.14082, 'Darkfallen Bloodbearer'), +(965560, 11,3821.26,3598.35,46.8344, 'Darkfallen Bloodbearer'), +(965560, 12,3806.117,3590.271,48.67004, 'Darkfallen Bloodbearer'), +(965560, 13,3801.333,3586.158,49.71964, 'Darkfallen Bloodbearer'); + +-- Darkfallen Bloodbearer SAI +SET @GUID := -96556; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=26115; +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,25,0,100,0,0,0,0,0,53,0,965560,0,0,0,0,1,0,0,0,0,0,0,0,"Darkfallen Bloodbearer - On Reset - Start Waypoint"), +(@GUID,0,1,0,40,0,100,0,13,965560,0,0,41,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Darkfallen Bloodbearer - On Waypoint 13 Reached - Despawn In 2000 ms"); diff --git a/sql/updates/world/2015_02_20_00_world.sql b/sql/updates/world/2015_02_20_00_world.sql new file mode 100644 index 00000000000..918ed39cba1 --- /dev/null +++ b/sql/updates/world/2015_02_20_00_world.sql @@ -0,0 +1,10 @@ +-- +DELETE FROM `conditions` WHERE `SourceEntry`=56727; +DELETE FROM `conditions` WHERE `SourceEntry`=36546 AND `SourceGroup`=1; +DELETE FROM `conditions` WHERE `SourceEntry`=58118; +DELETE FROM `conditions` WHERE `SourceEntry`=48397 AND `SourceTypeOrReferenceId`=13; +DELETE FROM `conditions` WHERE `SourceEntry`= 44997 AND `SourceTypeOrReferenceId`=13; +DELETE FROM `conditions` WHERE `SourceEntry`= 70529; +UPDATE `conditions` SET `SourceGroup`=1 WHERE `SourceEntry`=70471; +UPDATE `conditions` SET `SourceGroup`=1 WHERE `SourceEntry`=71310; +UPDATE `smart_scripts` SET `action_param2`=9715 WHERE `entryorguid`=19172 AND `source_type`=0 AND `id`=10 AND `link`=0; diff --git a/sql/updates/world/2015_02_20_01_world.sql b/sql/updates/world/2015_02_20_01_world.sql new file mode 100644 index 00000000000..b4702d55177 --- /dev/null +++ b/sql/updates/world/2015_02_20_01_world.sql @@ -0,0 +1,14 @@ +-- +UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=17587; +SET @ENTRY := 17587; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id` IN (11, 12, 13, 14, 15, 16); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@ENTRY, 0, 11, 0, 26, 0, 100, 0, 1, 15, 60000, 60000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Draenei Youngling - IC_LOS - TALK'), +(@ENTRY, 0, 12, 0, 53, 0, 100, 0, 1, 200000, 20000, 20000, 1, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Draenei Youngling - RECEIVE_HEAL - TALK'), +(@ENTRY, 0, 13, 0, 5, 0, 100, 0, 30000, 30000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Draenei Youngling - KILL - TALK'), +(@ENTRY, 0, 14, 0, 1, 0, 100, 0, 60000, 60000, 60000, 60000, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Draenei Youngling - OOC - TALK'), +(@ENTRY, 0, 15, 0, 4, 0, 100, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 25, 15, 0, 0, 0, 0, 0, 0, 'Draenei Youngling - AGGRO - TALK'), +(@ENTRY,0,16,0,11,0,100,0,0,0,0,0,81,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Draenei Youngling - On Respawn ' Remove npcflag"); +DELETE FROM smart_scripts WHERE `entryorguid`=24178 AND `id`=3; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(24178,0,3,0,8,0,0,0,43209,0,0,0,19,256,0,0,0,0,0,1,0,0,0,0,0,0,0,'Shatterhorn - On Place Meat spellhit remove unit flags'); diff --git a/sql/updates/world/2015_02_20_02_world.sql b/sql/updates/world/2015_02_20_02_world.sql new file mode 100644 index 00000000000..2fc118ac1f3 --- /dev/null +++ b/sql/updates/world/2015_02_20_02_world.sql @@ -0,0 +1,80 @@ +-- +-- Keritose Bloodblade SAI +SET @ENTRY := 30946; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,62,0,100,0,10110,0,0,0,85,58698,0,0,0,0,0,7,0,0,0,0,0,0,0,"Keritose Bloodblade - On Gossip Option 0 Selected - Invoker Cast 'Possessed Skeletal Assault Gryphon'"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceID`=15 AND `SourceEntry`=0 AND `SourceGroup`=10110; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ConditionTypeOrReference`,`elseGroup`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`Comment`) VALUES +(15,10110,0,9,0,13172,0,0,0,'show gossip on quest 13172 taken'); + +-- Restless Lookout SAI +SET @ENTRY := 30951; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,45254,0,0,0,33,30951,0,0,0,0,0,21,50,0,0,0,0,0,0,"Restless Lookout - On Spellhit 'Suicide' - Quest Credit 'Honor is for the Weak'"), +(@ENTRY,0,2,0,8,0,100,0,59234,0,0,0,33,31555,0,0,0,0,0,7,0,0,0,0,0,0,0,"Restless Lookout - On Spellhit 'Firebomb' - Quest Credit 'Seeds of Chaos'"); + +-- Risen Laborer SAI +SET @ENTRY := 30949; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,59234,0,0,0,33,31555,0,0,0,0,0,7,0,0,0,0,0,0,0,"Risen Laborer - On Spellhit 'Firebomb' - Quest Credit 'Seeds of Chaos'"); + +/* gryphon */ +DELETE FROM `creature_template_addon` WHERE `entry`=31157; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(31157, 0, 0, 33554432, 0, 0, '55971'); +UPDATE `creature_template` SET `InhabitType`=4, `spell1`= 59234 WHERE `entry`=31157; + +-- Skeletal Assault Gryphon SAI +SET @ENTRY := 31157; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,53,1,31157,0,0,0,0,1,0,0,0,0,0,0,0,"Skeletal Assault Gryphon - On Just Summoned - Start Waypoint"), +(@ENTRY,0,1,2,40,0,100,0,35,31157,0,0,11,50630,2,0,0,0,0,1,0,0,0,0,0,0,0,"Skeletal Assault Gryphon - On Waypoint 35 Reached - Cast 'Eject All Passengers'"), +(@ENTRY,0,2,0,61,0,100,0,36,31157,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Skeletal Assault Gryphon - On Waypoint 36 Reached - Despawn In 1000 ms"); + +DELETE FROM `waypoints` WHERE `entry`=31157; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(31157, 1, 8397.621, 2683.953, 657.3679, 'Skeletal Assault Gryphon'), +(31157, 2, 8370.314, 2727.218, 664.7281, 'Skeletal Assault Gryphon'), +(31157, 3, 8335.474, 2760.751, 670.5891, 'Skeletal Assault Gryphon'), +(31157, 4, 8289.219, 2785.704, 674.7277, 'Skeletal Assault Gryphon'), +(31157, 5, 8212.881, 2826.851, 661.2293, 'Skeletal Assault Gryphon'), +(31157, 6, 8070.518, 2879.992, 614.7838, 'Skeletal Assault Gryphon'), +(31157, 7, 7950.946, 2893.043, 570.5617, 'Skeletal Assault Gryphon'), +(31157, 8, 7859.049, 2925.734, 547.0621, 'Skeletal Assault Gryphon'), +(31157, 9, 7804.694, 2973.792, 558.8955, 'Skeletal Assault Gryphon'), +(31157, 10, 7725.221, 3051.099, 570.2289, 'Skeletal Assault Gryphon'), +(31157, 11, 7658.346, 3084.103, 576.8101, 'Skeletal Assault Gryphon'), +(31157, 12, 7591.941, 3146.263, 587.5597, 'Skeletal Assault Gryphon'), +(31157, 13, 7576.145, 3203.526, 598.5592, 'Skeletal Assault Gryphon'), +(31157, 14, 7622.536, 3240.809, 611.8931, 'Skeletal Assault Gryphon'), +(31157, 15, 7703.133, 3210.107, 613.2822, 'Skeletal Assault Gryphon'), +(31157, 16, 7796.588, 3149.966, 615.9203, 'Skeletal Assault Gryphon'), +(31157, 17, 7889.656, 3088.229, 614.7259, 'Skeletal Assault Gryphon'), +(31157, 18, 7983.687, 3018.498, 597.3369, 'Skeletal Assault Gryphon'), +(31157, 19, 8053.703, 2943.441, 588.1163, 'Skeletal Assault Gryphon'), +(31157, 20, 8076.742, 2864.08, 582.1427, 'Skeletal Assault Gryphon'), +(31157, 21, 8005.022, 2790.798, 556.4193, 'Skeletal Assault Gryphon'), +(31157, 22, 7897.278, 2831.605, 550.6705, 'Skeletal Assault Gryphon'), +(31157, 23, 7847.702, 2963.348, 561.8926, 'Skeletal Assault Gryphon'), +(31157, 24, 7792.906, 3089.349, 590.8646, 'Skeletal Assault Gryphon'), +(31157, 25, 7735.124, 3173.07, 604.7814, 'Skeletal Assault Gryphon'), +(31157, 26, 7620.355, 3179.519, 599.2814, 'Skeletal Assault Gryphon'), +(31157, 27, 7590.6, 3106.805, 591.0317, 'Skeletal Assault Gryphon'), +(31157, 28, 7650.019, 3055.191, 581.8378, 'Skeletal Assault Gryphon'), +(31157, 29, 7734.892, 3021.323, 573.1149, 'Skeletal Assault Gryphon'), +(31157, 30, 7862.496, 2979.27, 572.5039, 'Skeletal Assault Gryphon'), +(31157, 31, 7956.528, 2972.131, 575.9482, 'Skeletal Assault Gryphon'), +(31157, 32, 8039.022, 2947.35, 576.0869, 'Skeletal Assault Gryphon'), +(31157, 33, 8155.893, 2883.776, 606.1532, 'Skeletal Assault Gryphon'), +(31157, 34, 8239.198, 2805.797, 654.0699, 'Skeletal Assault Gryphon'), +(31157, 35, 8290.536, 2766.505, 682.2192, 'Skeletal Assault Gryphon'), +(31157, 36, 8353.981, 2708.914, 714.5253, 'Skeletal Assault Gryphon'); diff --git a/sql/updates/world/2015_02_20_03_world.sql b/sql/updates/world/2015_02_20_03_world.sql new file mode 100644 index 00000000000..225719a435d --- /dev/null +++ b/sql/updates/world/2015_02_20_03_world.sql @@ -0,0 +1,26 @@ +-- +UPDATE `creature_template` SET `ainame`='SmartAI' WHERE entry IN (29364,29365); +UPDATE `creature_template` SET `unit_flags`=`unit_flags`|33554560 WHERE `entry`=29365; +UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2 WHERE `entry`=29364; + +-- Void Sentry SAI +SET @ENTRY := 29365; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,2,25,0,100,2,0,0,0,0,11,54342,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Reset - Cast 'Zuramat Add 2' (Normal Dungeon)"), +(@ENTRY,0,1,2,25,0,100,4,0,0,0,0,11,59747,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Reset - Cast 'Zuramat Add 2' (Heroic Dungeon)"), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,11,54351,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Reset - Cast 'Zuramat Add' (Normal Dungeon)"), +(@ENTRY,0,3,0,0,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - In Combat - Disable Combat Movement"), +(@ENTRY,0,4,0,38,0,100,0,1,1,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Data Set 1 1 - Despawn Instant"); + +-- Void Sentry SAI +SET @ENTRY := 29364; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - In Combat - Disable Combat Movement"), +(@ENTRY,0,1,2,25,0,100,0,0,0,0,0,11,54341,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Reset - Cast 'Zuramat Add'"), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,11,54351,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Reset - Cast 'Zuramat Add'"), +(@ENTRY,0,3,0,11,0,100,0,0,0,0,0,11,58650,0,0,0,0,0,1,0,0,0,0,0,0,0,"Void Sentry - On Respawn - Cast 'Summon Void Sentry Ball'"), +(@ENTRY,0,4,0,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,29365,10,0,0,0,0,0,"Void Sentry - On Just Died - Set Data 1 1"); diff --git a/sql/updates/world/2015_02_20_04_world.sql b/sql/updates/world/2015_02_20_04_world.sql new file mode 100644 index 00000000000..1560b983859 --- /dev/null +++ b/sql/updates/world/2015_02_20_04_world.sql @@ -0,0 +1,10 @@ +-- +DELETE FROM `creature` WHERE `id` = 29498; +DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (29500) AND `accessory_entry` IN (29498); +INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`,`summontimer`)VALUES +(29500,29498,0,1,'Brunnhildar Warbear',8,0); + +DELETE FROM `creature` WHERE `id` = 30175; +DELETE FROM `vehicle_template_accessory` WHERE `entry` IN (30174) AND `accessory_entry` IN (30175); +INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`,`summontimer`)VALUES +(30174,30175,0,1,'Hyldsmeet Warbear',8,0); diff --git a/sql/updates/world/2015_02_21_00_world.sql b/sql/updates/world/2015_02_21_00_world.sql new file mode 100644 index 00000000000..7e71235703c --- /dev/null +++ b/sql/updates/world/2015_02_21_00_world.sql @@ -0,0 +1,9 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` in(6626,6627,6628,6629,6630); + +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +(6626, 20, 30, 0, ''), -- Alterac Valley +(6627, 20, 529, 0, ''), -- Arathi Basin +(6628, 20, 489, 0, ''), -- Warsong Glutch +(6629, 20, 607, 0, ''), -- Strand of the Ancients +(6630, 20, 566, 0, ''); -- Eye of the Storm + diff --git a/sql/updates/world/2015_02_22_00_world.sql b/sql/updates/world/2015_02_22_00_world.sql new file mode 100644 index 00000000000..fef42379e0b --- /dev/null +++ b/sql/updates/world/2015_02_22_00_world.sql @@ -0,0 +1,809 @@ +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132553; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3852.509,`position_y`=3183.065,`position_z`=439.9884 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,-3852.509,3183.065,439.9884,0,0,0,0,100,0), +(@PATH,2,-3819.889,3184.794,439.9884,0,0,0,0,100,0), +(@PATH,3,-3782.827,3181.228,439.9884,0,0,0,0,100,0), +(@PATH,4,-3750.342,3182.072,439.9884,0,0,0,0,100,0), +(@PATH,5,-3722.763,3185.583,439.9884,0,0,0,0,100,0), +(@PATH,6,-3686.632,3214.135,439.9884,0,0,0,0,100,0), +(@PATH,7,-3656.386,3240.646,439.9884,0,0,0,0,100,0), +(@PATH,8,-3626.851,3272.052,439.9884,0,0,0,0,100,0), +(@PATH,9,-3614.448,3315.655,439.9884,0,0,0,0,100,0), +(@PATH,10,-3607.889,3352.559,439.9884,0,0,0,0,100,0), +(@PATH,11,-3585.032,3376.603,439.9884,0,0,0,0,100,0), +(@PATH,12,-3587.389,3402.663,439.9884,0,0,0,0,100,0), +(@PATH,13,-3579.043,3438.117,439.9884,0,0,0,0,100,0), +(@PATH,14,-3548.228,3462.314,439.9884,0,0,0,0,100,0), +(@PATH,15,-3537.522,3491.375,439.9884,0,0,0,0,100,0), +(@PATH,16,-3536.816,3529.879,439.9884,0,0,0,0,100,0), +(@PATH,17,-3531.781,3565.558,439.9884,0,0,0,0,100,0), +(@PATH,18,-3534.733,3584.761,439.9884,0,0,0,0,100,0), +(@PATH,19,-3540.309,3619.033,439.9884,0,0,0,0,100,0), +(@PATH,20,-3548.71,3648.066,439.9884,0,0,0,0,100,0), +(@PATH,21,-3565.15,3673.789,439.9884,0,0,0,0,100,0), +(@PATH,22,-3593.257,3700.032,439.9884,0,0,0,0,100,0), +(@PATH,23,-3629.609,3714.834,439.9884,0,0,0,0,100,0), +(@PATH,24,-3663.73,3728.198,439.9884,0,0,0,0,100,0), +(@PATH,25,-3699.584,3743.161,439.9884,0,0,0,0,100,0), +(@PATH,26,-3730.971,3758.693,439.9884,0,0,0,0,100,0), +(@PATH,27,-3763.805,3764.051,439.9884,0,0,0,0,100,0), +(@PATH,28,-3796.277,3791.6,439.9884,0,0,0,0,100,0), +(@PATH,29,-3829.475,3825.91,439.9884,0,0,0,0,100,0), +(@PATH,30,-3866.195,3833.057,439.9884,0,0,0,0,100,0), +(@PATH,31,-3901.688,3854.476,439.9884,0,0,0,0,100,0), +(@PATH,32,-3932.767,3851.711,439.9884,0,0,0,0,100,0), +(@PATH,33,-3965.585,3849.424,439.9884,0,0,0,0,100,0), +(@PATH,34,-3999.315,3846.842,439.9884,0,0,0,0,100,0), +(@PATH,35,-4034.047,3812.782,439.9884,0,0,0,0,100,0), +(@PATH,36,-4053.754,3766.908,439.9884,0,0,0,0,100,0), +(@PATH,37,-4065.977,3737.402,439.9884,0,0,0,0,100,0), +(@PATH,38,-4097.885,3717.781,439.9884,0,0,0,0,100,0), +(@PATH,39,-4102.042,3680.511,439.9884,0,0,0,0,100,0), +(@PATH,40,-4104.036,3655.926,439.9884,0,0,0,0,100,0), +(@PATH,41,-4101.168,3611.585,439.9884,0,0,0,0,100,0), +(@PATH,42,-4102.894,3574.591,439.9884,0,0,0,0,100,0), +(@PATH,43,-4103.932,3544.913,439.9884,0,0,0,0,100,0), +(@PATH,44,-4104.642,3508.564,439.9884,0,0,0,0,100,0), +(@PATH,45,-4106.799,3476.665,439.9884,0,0,0,0,100,0), +(@PATH,46,-4107.433,3449.932,439.9884,0,0,0,0,100,0), +(@PATH,47,-4104.114,3418.243,439.9884,0,0,0,0,100,0), +(@PATH,48,-4089.375,3376.191,439.9884,0,0,0,0,100,0), +(@PATH,49,-4055.623,3343.717,446.405,0,0,0,0,100,0), +(@PATH,50,-4011.469,3341.788,448.6551,0,0,0,0,100,0), +(@PATH,51,-3975.74,3311.974,446.6827,0,0,0,0,100,0), +(@PATH,52,-3947.277,3278.158,445.544,0,0,0,0,100,0), +(@PATH,53,-3922.814,3246.151,445.7939,0,0,0,0,100,0), +(@PATH,54,-3886.357,3212.919,439.9884,0,0,0,0,100,0); +-- 0x1C393042401682C000002B0003B619B4 .go -3852.509 3183.065 439.9884 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 86115; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3844.01,`position_y`=3755.452,`position_z`=357.5598 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,-3844.01,3755.452,357.5598,0,0,0,0,100,0), +(@PATH,2,-3852.51,3791.215,357.0599,0,0,0,0,100,0), +(@PATH,3,-3890.182,3810.264,355.8931,0,0,0,0,100,0), +(@PATH,4,-3916.092,3784.685,356.5043,0,0,0,0,100,0), +(@PATH,5,-3923.033,3754.531,361.0602,0,0,0,0,100,0), +(@PATH,6,-3922.995,3732.825,381.1874,0,0,0,0,100,0), +(@PATH,7,-3926.192,3702.992,389.9645,0,0,0,0,100,0), +(@PATH,8,-3920.217,3670.407,389.9645,0,0,0,0,100,0), +(@PATH,9,-3902.139,3652.927,389.9645,0,0,0,0,100,0), +(@PATH,10,-3881.576,3654.323,389.9645,0,0,0,0,100,0), +(@PATH,11,-3865.405,3672.89,381.4647,0,0,0,0,100,0), +(@PATH,12,-3862.587,3682.567,374.4212,0,0,0,0,100,0), +(@PATH,13,-3856.335,3709.221,366.0322,0,0,0,0,100,0); +-- 0x1C393042401682C000002C00003804ED .go -3844.01 3755.452 357.5598 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 79017; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3712.47,`position_y`=3449.822,`position_z`=329.5283 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,-3712.47,3449.822,329.5283,0,0,0,0,100,0), +(@PATH,2,-3692.213,3483.701,323.2226,0,0,0,0,100,0), +(@PATH,3,-3682.306,3518.447,319.0838,0,0,0,0,100,0), +(@PATH,4,-3686.292,3551.121,328.0282,0,0,0,0,100,0), +(@PATH,5,-3704.019,3589.462,327.0838,0,0,0,0,100,0), +(@PATH,6,-3720.923,3618.094,323.1671,0,0,0,0,100,0), +(@PATH,7,-3746.331,3629.958,322.9449,0,0,0,0,100,0), +(@PATH,8,-3788.036,3651.199,328.056,0,0,0,0,100,0), +(@PATH,9,-3829.155,3656.951,343.6671,0,0,0,0,100,0), +(@PATH,10,-3864.913,3641.72,343.6671,0,0,0,0,100,0), +(@PATH,11,-3899.767,3634.007,334.5004,0,0,0,0,100,0), +(@PATH,12,-3932.793,3625.805,327.7227,0,0,0,0,100,0), +(@PATH,13,-3965.984,3604.831,323.5561,0,0,0,0,100,0), +(@PATH,14,-3994.316,3568.82,324.0004,0,0,0,0,100,0), +(@PATH,15,-4020.807,3533.474,321.6671,0,0,0,0,100,0), +(@PATH,16,-4017.46,3505.427,320.4171,0,0,0,0,100,0), +(@PATH,17,-4012.915,3469.437,318.2504,0,0,0,0,100,0), +(@PATH,18,-4008.829,3443.473,322.9727,0,0,0,0,100,0), +(@PATH,19,-3987.128,3409.836,320.0283,0,0,0,0,100,0), +(@PATH,20,-3956.549,3381.68,323.2782,0,0,0,0,100,0), +(@PATH,21,-3917.093,3373.904,324.1949,0,0,0,0,100,0), +(@PATH,22,-3879.394,3373.863,331.1393,0,0,0,0,100,0), +(@PATH,23,-3846.889,3379.781,335.556,0,0,0,0,100,0), +(@PATH,24,-3815.72,3383.242,336.0282,0,0,0,0,100,0), +(@PATH,25,-3785.73,3387.147,333.7504,0,0,0,0,100,0), +(@PATH,26,-3745.971,3412.045,331.7226,0,0,0,0,100,0); +-- 0x1C393042401682C00000D80000384658 .go -3712.47 3449.822 329.5283 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132567; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3800.044,`position_y`=3329.872,`position_z`=342.0992 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,-3800.044,3329.872,342.0992,0,0,0,0,100,0), +(@PATH,2,-3820.034,3366.339,344.5435,0,0,0,0,100,0), +(@PATH,3,-3848.72,3382.158,349.6544,0,0,0,0,100,0), +(@PATH,4,-3866.445,3399.19,356.9323,0,0,0,0,100,0), +(@PATH,5,-3892.608,3428.64,364.4878,0,0,0,0,100,0), +(@PATH,6,-3875.494,3457.741,364.4878,0,0,0,0,100,0), +(@PATH,7,-3846.305,3462.793,364.4878,0,0,0,0,100,0), +(@PATH,8,-3835.524,3455.278,363.4879,0,0,0,0,100,0), +(@PATH,9,-3826.342,3432.901,363.4879,0,0,0,0,100,0), +(@PATH,10,-3833.529,3403.362,349.9602,0,0,0,0,100,0), +(@PATH,11,-3849.905,3384.756,348.2379,0,0,0,0,100,0), +(@PATH,12,-3869.018,3342.68,345.9046,0,0,0,0,100,0), +(@PATH,13,-3866.873,3308.942,344.5435,0,0,0,0,100,0), +(@PATH,14,-3833.351,3299.779,344.5435,0,0,0,0,100,0); +-- 0x1C393042401682C00000D80000389A53 .go -3800.044 3329.872 342.0992 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132557; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4027.127,`position_y`=3236.136,`position_z`=342.3879 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,-4027.127,3236.136,342.3879,0,0,0,0,100,0), +(@PATH,2,-4050.725,3247.826,342.3879,0,0,0,0,100,0), +(@PATH,3,-4074.902,3254.402,339.4433,0,0,0,0,100,0), +(@PATH,4,-4099.817,3279.177,340.388,0,0,0,0,100,0), +(@PATH,5,-4090.614,3300.566,342.3879,0,0,0,0,100,0), +(@PATH,6,-4066.256,3322.034,342.3879,0,0,0,0,100,0), +(@PATH,7,-4034.025,3315.976,340.4436,0,0,0,0,100,0), +(@PATH,8,-4000.627,3300.234,340.7216,0,0,0,0,100,0), +(@PATH,9,-3962.779,3269.458,342.3879,0,0,0,0,100,0), +(@PATH,10,-3932.333,3241.691,350.61,0,0,0,0,100,0), +(@PATH,11,-3924.384,3214.195,353.11,0,0,0,0,100,0), +(@PATH,12,-3948.188,3192.575,352.915,0,0,0,0,100,0), +(@PATH,13,-3975.502,3190.098,351.4991,0,0,0,0,100,0), +(@PATH,14,-4002.08,3217.684,348.0821,0,0,0,0,100,0); +-- 0x1C393042401682C00000D800003947B4 .go -4027.127 3236.136 342.3879 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 86099; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3617.656,`position_y`=3768.498,`position_z`=321.4414 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,-3617.656,3768.498,321.4414,0,0,0,0,100,0), +(@PATH,2,-3621.72,3753.039,319.025,0,0,0,0,100,0), +(@PATH,3,-3619.644,3727.897,309.8305,0,0,0,0,100,0), +(@PATH,4,-3627.178,3681.108,308.5527,0,0,0,0,100,0), +(@PATH,5,-3656.429,3650.599,304.2195,0,0,0,0,100,0), +(@PATH,6,-3696.808,3638.603,303.0528,0,0,0,0,100,0), +(@PATH,7,-3734.566,3654.597,302.6361,0,0,0,0,100,0), +(@PATH,8,-3766.324,3670.245,301.1362,0,0,0,0,100,0), +(@PATH,9,-3799.271,3684.971,303.1361,0,0,0,0,100,0), +(@PATH,10,-3832.15,3705.031,308.4691,0,0,0,0,100,0), +(@PATH,11,-3868.131,3721.502,318.4415,0,0,0,0,100,0), +(@PATH,12,-3909.399,3735.214,328.5527,0,0,0,0,100,0), +(@PATH,13,-3931.017,3766.784,334.3581,0,0,0,0,100,0), +(@PATH,14,-3917.445,3807.967,334.4695,0,0,0,0,100,0), +(@PATH,15,-3890.349,3823.759,327.1638,0,0,0,0,100,0), +(@PATH,16,-3849.03,3819.391,319.025,0,0,0,0,100,0), +(@PATH,17,-3822.998,3781.306,314.3583,0,0,0,0,100,0), +(@PATH,18,-3792.191,3762.3,302.9972,0,0,0,0,100,0), +(@PATH,19,-3753.88,3777.921,300.1917,0,0,0,0,100,0), +(@PATH,20,-3738.559,3813.297,304.1084,0,0,0,0,100,0), +(@PATH,21,-3707.912,3826.754,304.9972,0,0,0,0,100,0), +(@PATH,22,-3666.76,3801.158,304.9972,0,0,0,0,100,0), +(@PATH,23,-3632.452,3787.691,313.8025,0,0,0,0,100,0); +-- 0x1C393042401682C00000D800003950AB .go -3617.656 3768.498 321.4414 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132562; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3740.354,`position_y`=3781.2,`position_z`=318.1236 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,-3740.354,3781.2,318.1236,0,0,0,0,100,0), +(@PATH,2,-3733.342,3800.063,318.5958,0,0,0,0,100,0), +(@PATH,3,-3700.761,3815.838,314.9293,0,0,0,0,100,0), +(@PATH,4,-3684.377,3790.57,311.3183,0,0,0,0,100,0), +(@PATH,5,-3673.302,3755.679,311.3183,0,0,0,0,100,0), +(@PATH,6,-3654.191,3733.858,317.7345,0,0,0,0,100,0), +(@PATH,7,-3627.812,3735.349,321.0125,0,0,0,0,100,0), +(@PATH,8,-3620.85,3745.508,318.7352,0,0,0,0,100,0), +(@PATH,9,-3616.733,3766.586,318.0404,0,0,0,0,100,0), +(@PATH,10,-3633.59,3782.3,318.1792,0,0,0,0,100,0), +(@PATH,11,-3666.707,3773.215,316.2348,0,0,0,0,100,0), +(@PATH,12,-3699.968,3755.006,317.2626,0,0,0,0,100,0), +(@PATH,13,-3728.831,3766.574,318.1514,0,0,0,0,100,0); +-- 0x1C393042401682C00000D800003955EA .go -3740.354 3781.2 318.1236 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132558; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3889.631,`position_y`=3647.446,`position_z`=379.841 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,-3889.631,3647.446,379.841,0,0,0,0,100,0), +(@PATH,2,-3867.698,3661.597,374.2303,0,0,0,0,100,0), +(@PATH,3,-3829.105,3657.187,352.5638,0,0,0,0,100,0), +(@PATH,4,-3781.735,3660.671,339.2026,0,0,0,0,100,0), +(@PATH,5,-3733.907,3659.38,326.0082,0,0,0,0,100,0), +(@PATH,6,-3700.169,3654.304,306.0638,0,0,0,0,100,0), +(@PATH,7,-3666.533,3646.272,305.6747,0,0,0,0,100,0), +(@PATH,8,-3633.503,3666.819,305.6747,0,0,0,0,100,0), +(@PATH,9,-3615.833,3700.001,308.675,0,0,0,0,100,0), +(@PATH,10,-3612.93,3733.396,310.8136,0,0,0,0,100,0), +(@PATH,11,-3620.4,3766.181,312.2859,0,0,0,0,100,0), +(@PATH,12,-3633.891,3791.979,308.6469,0,0,0,0,100,0), +(@PATH,13,-3672.738,3787.063,303.5358,0,0,0,0,100,0), +(@PATH,14,-3699.661,3766.161,308.3416,0,0,0,0,100,0), +(@PATH,15,-3722.004,3734.262,307.3692,0,0,0,0,100,0), +(@PATH,16,-3758.981,3700.716,303.9804,0,0,0,0,100,0), +(@PATH,17,-3780.951,3669.244,307.3969,0,0,0,0,100,0), +(@PATH,18,-3823.718,3662.368,306.5638,0,0,0,0,100,0), +(@PATH,19,-3855.767,3696.363,309.2023,0,0,0,0,100,0), +(@PATH,20,-3888.813,3716.222,313.5079,0,0,0,0,100,0), +(@PATH,21,-3922.735,3736.949,316.8968,0,0,0,0,100,0), +(@PATH,22,-3932.095,3764.875,321.5081,0,0,0,0,100,0), +(@PATH,23,-3910.485,3799.088,334.758,0,0,0,0,100,0), +(@PATH,24,-3868.099,3812.761,342.1745,0,0,0,0,100,0), +(@PATH,25,-3842.411,3793.997,354.0078,0,0,0,0,100,0), +(@PATH,26,-3820.221,3754.304,346.8967,0,0,0,0,100,0), +(@PATH,27,-3833.732,3709.265,337.0357,0,0,0,0,100,0), +(@PATH,28,-3851.1,3670.116,337.0357,0,0,0,0,100,0), +(@PATH,29,-3880.107,3634.346,337.0357,0,0,0,0,100,0), +(@PATH,30,-3922.091,3616.533,325.3135,0,0,0,0,100,0), +(@PATH,31,-3965.485,3605.971,311.0912,0,0,0,0,100,0), +(@PATH,32,-3990.204,3580.163,305.9802,0,0,0,0,100,0), +(@PATH,33,-4011.796,3540.719,305.9802,0,0,0,0,100,0), +(@PATH,34,-4011.68,3508.126,305.9802,0,0,0,0,100,0), +(@PATH,35,-3987.115,3486.282,305.9802,0,0,0,0,100,0), +(@PATH,36,-3945.38,3469.3,318.369,0,0,0,0,100,0), +(@PATH,37,-3915.382,3492.937,334.7857,0,0,0,0,100,0), +(@PATH,38,-3903.774,3531.629,345.4246,0,0,0,0,100,0), +(@PATH,39,-3920.156,3565.949,365.369,0,0,0,0,100,0), +(@PATH,40,-3933.356,3594.115,376.4244,0,0,0,0,100,0), +(@PATH,41,-3912.393,3631.522,376.4244,0,0,0,0,100,0); +-- 0x1C393042401682C00000D8000039560D .go -3889.631 3647.446 379.841 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 86116; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3876.833,`position_y`=3314.512,`position_z`=379.5609 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,-3876.833,3314.512,379.5609,0,0,0,0,100,0), +(@PATH,2,-3886.097,3325.345,379.5609,0,0,0,0,100,0), +(@PATH,3,-3911.672,3347.092,379.5609,0,0,0,0,100,0), +(@PATH,4,-3945.02,3355.806,379.5609,0,0,0,0,100,0), +(@PATH,5,-3972.972,3374.654,379.5609,0,0,0,0,100,0), +(@PATH,6,-4009.497,3393.97,379.5609,0,0,0,0,100,0), +(@PATH,7,-4038.995,3394.833,379.5609,0,0,0,0,100,0), +(@PATH,8,-4084.306,3383.78,379.5609,0,0,0,0,100,0), +(@PATH,9,-4114.101,3348.398,379.5609,0,0,0,0,100,0), +(@PATH,10,-4121.285,3315.157,359.6998,0,0,0,0,100,0), +(@PATH,11,-4133.357,3269.041,344.6721,0,0,0,0,100,0), +(@PATH,12,-4127.872,3224.243,336.2553,0,0,0,0,100,0), +(@PATH,13,-4088.58,3195.296,338.8943,0,0,0,0,100,0), +(@PATH,14,-4068.468,3153.282,341.0054,0,0,0,0,100,0), +(@PATH,15,-4070.876,3123.454,342.6997,0,0,0,0,100,0), +(@PATH,16,-4097.591,3094.782,347.3387,0,0,0,0,100,0), +(@PATH,17,-4122.666,3063.981,348.1721,0,0,0,0,100,0), +(@PATH,18,-4162.276,3056.197,349.6165,0,0,0,0,100,0), +(@PATH,19,-4202.113,3083.117,358.5054,0,0,0,0,100,0), +(@PATH,20,-4214.216,3116.871,357.2553,0,0,0,0,100,0), +(@PATH,21,-4193.599,3157.323,355.2832,0,0,0,0,100,0), +(@PATH,22,-4155.592,3185.045,347.0332,0,0,0,0,100,0), +(@PATH,23,-4111.882,3181.491,345.0887,0,0,0,0,100,0), +(@PATH,24,-4062.104,3179.68,348.9498,0,0,0,0,100,0), +(@PATH,25,-4020.427,3179.234,361.4219,0,0,0,0,100,0), +(@PATH,26,-3982.672,3180.415,363.0051,0,0,0,0,100,0), +(@PATH,27,-3951.448,3159.866,363.561,0,0,0,0,100,0), +(@PATH,28,-3937.524,3133.349,370.6444,0,0,0,0,100,0), +(@PATH,29,-3931.404,3105.327,376.0884,0,0,0,0,100,0), +(@PATH,30,-3933.873,3066.744,379.5609,0,0,0,0,100,0), +(@PATH,31,-3940.64,3017.597,385.5607,0,0,0,0,100,0), +(@PATH,32,-3962.612,2986.642,387.3109,0,0,0,0,100,0), +(@PATH,33,-3987.704,2976.624,388.1721,0,0,0,0,100,0), +(@PATH,34,-4028.228,2974.074,379.5609,0,0,0,0,100,0), +(@PATH,35,-4068.643,2997.102,369.2554,0,0,0,0,100,0), +(@PATH,36,-4093.04,3026.769,367.2279,0,0,0,0,100,0), +(@PATH,37,-4081.151,3058.765,357.4498,0,0,0,0,100,0), +(@PATH,38,-4050.25,3086.566,362.8388,0,0,0,0,100,0), +(@PATH,39,-4009.628,3109.691,361.9498,0,0,0,0,100,0), +(@PATH,40,-3962.259,3115.2,365.2273,0,0,0,0,100,0), +(@PATH,41,-3931.493,3131.271,371.1159,0,0,0,0,100,0), +(@PATH,42,-3901.853,3157.168,376.1166,0,0,0,0,100,0), +(@PATH,43,-3882.195,3190.008,374.5609,0,0,0,0,100,0), +(@PATH,44,-3907.507,3233.704,369.0056,0,0,0,0,100,0), +(@PATH,45,-3930.386,3264.117,346.8111,0,0,0,0,100,0), +(@PATH,46,-3952.398,3305.412,329.4775,0,0,0,0,100,0), +(@PATH,47,-3949.958,3344.656,317.033,0,0,0,0,100,0), +(@PATH,48,-3933.078,3390.3,316.2833,0,0,0,0,100,0), +(@PATH,49,-3924.384,3438.506,320.0887,0,0,0,0,100,0), +(@PATH,50,-3908.001,3480.083,321.7832,0,0,0,0,100,0), +(@PATH,51,-3881.964,3513.231,323.2551,0,0,0,0,100,0), +(@PATH,52,-3844.591,3536.472,335.8942,0,0,0,0,100,0), +(@PATH,53,-3822.905,3535.266,339.8388,0,0,0,0,100,0), +(@PATH,54,-3792.544,3507.122,337.1997,0,0,0,0,100,0), +(@PATH,55,-3760.572,3487.132,351.5052,0,0,0,0,100,0), +(@PATH,56,-3744.966,3453.418,364.5887,0,0,0,0,100,0), +(@PATH,57,-3744.307,3416.908,367.4221,0,0,0,0,100,0), +(@PATH,58,-3740.536,3368.536,367.0887,0,0,0,0,100,0), +(@PATH,59,-3734.622,3321.623,379.5609,0,0,0,0,100,0), +(@PATH,60,-3731.181,3282.171,379.5609,0,0,0,0,100,0), +(@PATH,61,-3694.877,3249.842,379.5609,0,0,0,0,100,0), +(@PATH,62,-3655.565,3261.063,379.5609,0,0,0,0,100,0), +(@PATH,63,-3641.669,3284.071,367.7832,0,0,0,0,100,0), +(@PATH,64,-3641.303,3315.587,364.9221,0,0,0,0,100,0), +(@PATH,65,-3654.031,3343.666,369.4221,0,0,0,0,100,0), +(@PATH,66,-3680.551,3352.762,367.6165,0,0,0,0,100,0), +(@PATH,67,-3714.793,3358.927,363.9776,0,0,0,0,100,0), +(@PATH,68,-3753.792,3357.834,379.5609,0,0,0,0,100,0), +(@PATH,69,-3787.513,3323.292,384.7554,0,0,0,0,100,0), +(@PATH,70,-3817.402,3284.448,390.9497,0,0,0,0,100,0), +(@PATH,71,-3855.805,3289.496,379.5609,0,0,0,0,100,0); +-- 0x1C393042401682C00000D80000395FE7 .go -3876.833 3314.512 379.5609 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132564; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3811.575,`position_y`=3318.012,`position_z`=350.0489 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,-3811.575,3318.012,350.0489,0,0,0,0,100,0), +(@PATH,2,-3839.544,3360.737,346.5213,0,0,0,0,100,0), +(@PATH,3,-3844.532,3382.859,327.4657,0,0,0,0,100,0), +(@PATH,4,-3824.744,3421.51,330.4099,0,0,0,0,100,0), +(@PATH,5,-3815.863,3458.307,331.2989,0,0,0,0,100,0), +(@PATH,6,-3810.683,3497.717,331.2989,0,0,0,0,100,0), +(@PATH,7,-3813.658,3530.778,320.3824,0,0,0,0,100,0), +(@PATH,8,-3816.187,3562.303,309.2156,0,0,0,0,100,0), +(@PATH,9,-3807.29,3592.113,304.2435,0,0,0,0,100,0), +(@PATH,10,-3785.319,3618.569,304.2435,0,0,0,0,100,0), +(@PATH,11,-3745.147,3632.447,304.2435,0,0,0,0,100,0), +(@PATH,12,-3709.023,3627.542,304.2435,0,0,0,0,100,0), +(@PATH,13,-3675.768,3604.466,304.2435,0,0,0,0,100,0), +(@PATH,14,-3671.146,3576.667,304.2435,0,0,0,0,100,0), +(@PATH,15,-3681.459,3543.929,304.2435,0,0,0,0,100,0), +(@PATH,16,-3683.946,3516.303,304.2435,0,0,0,0,100,0), +(@PATH,17,-3690.97,3482.81,304.2435,0,0,0,0,100,0), +(@PATH,18,-3718.609,3446.152,304.2435,0,0,0,0,100,0), +(@PATH,19,-3752.872,3415.494,304.2435,0,0,0,0,100,0), +(@PATH,20,-3787.441,3393.248,306.6046,0,0,0,0,100,0), +(@PATH,21,-3819.708,3391.489,304.2435,0,0,0,0,100,0), +(@PATH,22,-3843.183,3389.003,306.9379,0,0,0,0,100,0), +(@PATH,23,-3878.647,3381.219,308.4658,0,0,0,0,100,0), +(@PATH,24,-3917.604,3385.046,313.9101,0,0,0,0,100,0), +(@PATH,25,-3948.888,3388.875,314.6601,0,0,0,0,100,0), +(@PATH,26,-3981.859,3411.407,311.4101,0,0,0,0,100,0), +(@PATH,27,-4006.548,3451.265,312.8823,0,0,0,0,100,0), +(@PATH,28,-4013.026,3483.869,313.6044,0,0,0,0,100,0), +(@PATH,29,-4007.704,3522.086,312.9934,0,0,0,0,100,0), +(@PATH,30,-3979.958,3551.535,309.1602,0,0,0,0,100,0), +(@PATH,31,-3949.836,3557.036,311.2711,0,0,0,0,100,0), +(@PATH,32,-3916.583,3556.782,310.1602,0,0,0,0,100,0), +(@PATH,33,-3878.491,3547.684,308.91,0,0,0,0,100,0), +(@PATH,34,-3848.358,3529.306,308.3823,0,0,0,0,100,0), +(@PATH,35,-3810.661,3519.969,310.9657,0,0,0,0,100,0), +(@PATH,36,-3788.128,3509.623,314.0764,0,0,0,0,100,0), +(@PATH,37,-3746.377,3484.105,314.4373,0,0,0,0,100,0), +(@PATH,38,-3720.415,3453.266,311.1879,0,0,0,0,100,0), +(@PATH,39,-3711.39,3414.835,316.1873,0,0,0,0,100,0), +(@PATH,40,-3695.241,3382.754,310.2711,0,0,0,0,100,0), +(@PATH,41,-3690.628,3349.262,309.5486,0,0,0,0,100,0), +(@PATH,42,-3707.501,3320.029,317.0488,0,0,0,0,100,0), +(@PATH,43,-3743.783,3305.247,330.9655,0,0,0,0,100,0), +(@PATH,44,-3787.108,3314.23,339.9933,0,0,0,0,100,0); +-- 0x1C393042401682C00000D80000397863 .go -3811.575 3318.012 350.0489 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132554; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4096.788,`position_y`=3033.959,`position_z`=360.6063 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,-4096.788,3033.959,360.6063,0,0,0,0,100,0), +(@PATH,2,-4104.214,3041.3,359.5785,0,0,0,0,100,0), +(@PATH,3,-4125.444,3052.258,358.9676,0,0,0,0,100,0), +(@PATH,4,-4159.867,3033.596,358.9952,0,0,0,0,100,0), +(@PATH,5,-4186.089,3020.478,361.662,0,0,0,0,100,0), +(@PATH,6,-4216.206,3023.308,363.8009,0,0,0,0,100,0), +(@PATH,7,-4219.776,3049.481,362.9398,0,0,0,0,100,0), +(@PATH,8,-4205.974,3076.206,360.8285,0,0,0,0,100,0), +(@PATH,9,-4175.602,3071.705,356.4121,0,0,0,0,100,0), +(@PATH,10,-4149.558,3039.067,356.4121,0,0,0,0,100,0), +(@PATH,11,-4139.287,3016.167,361.1343,0,0,0,0,100,0), +(@PATH,12,-4115.834,2995.427,363.3842,0,0,0,0,100,0), +(@PATH,13,-4089.456,3009.014,362.3842,0,0,0,0,100,0); +-- 0x1C393042401682C00000D80000397B33 .go -4096.788 3033.959 360.6063 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 83238; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3740.354,`position_y`=3781.2,`position_z`=318.1236 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,-3740.354,3781.2,318.1236,0,0,0,0,100,0), +(@PATH,2,-3733.342,3800.063,318.5958,0,0,0,0,100,0), +(@PATH,3,-3700.761,3815.838,314.9293,0,0,0,0,100,0), +(@PATH,4,-3684.377,3790.57,311.3183,0,0,0,0,100,0), +(@PATH,5,-3673.302,3755.679,311.3183,0,0,0,0,100,0), +(@PATH,6,-3654.191,3733.858,317.7345,0,0,0,0,100,0), +(@PATH,7,-3627.812,3735.349,321.0125,0,0,0,0,100,0), +(@PATH,8,-3620.85,3745.508,318.7352,0,0,0,0,100,0), +(@PATH,9,-3616.733,3766.586,318.0404,0,0,0,0,100,0), +(@PATH,10,-3633.59,3782.3,318.1792,0,0,0,0,100,0), +(@PATH,11,-3666.707,3773.215,316.2348,0,0,0,0,100,0), +(@PATH,12,-3699.968,3755.006,317.2626,0,0,0,0,100,0), +(@PATH,13,-3728.831,3766.574,318.1514,0,0,0,0,100,0); +-- 0x1C393042401682C00000D800003989DF .go -3740.354 3781.2 318.1236 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132566; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3671.494,`position_y`=3402.642,`position_z`=324.4617 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,-3671.494,3402.642,324.4617,0,0,0,0,100,0), +(@PATH,2,-3675.101,3400.796,324.5731,0,0,0,0,100,0), +(@PATH,3,-3695.996,3378.851,323.7954,0,0,0,0,100,0), +(@PATH,4,-3677.757,3333.374,329.4622,0,0,0,0,100,0), +(@PATH,5,-3671.793,3306.185,341.9066,0,0,0,0,100,0), +(@PATH,6,-3691.331,3277.393,341.9066,0,0,0,0,100,0), +(@PATH,7,-3714.71,3287.554,341.9066,0,0,0,0,100,0), +(@PATH,8,-3715.633,3314.267,336.4897,0,0,0,0,100,0), +(@PATH,9,-3681.489,3340.859,327.934,0,0,0,0,100,0), +(@PATH,10,-3648.484,3360.056,326.1562,0,0,0,0,100,0), +(@PATH,11,-3641.23,3384.09,325.4897,0,0,0,0,100,0), +(@PATH,12,-3655.433,3406.725,325.0451,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE000039182E .go -3671.494 3402.642 324.4617 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132556; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4209.313,`position_y`=3165.873,`position_z`=345.6776 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,-4209.313,3165.873,345.6776,0,0,0,0,100,0), +(@PATH,2,-4209.917,3166.669,345.6776,0,0,0,0,100,0), +(@PATH,3,-4214.472,3180.67,347.2502,0,0,0,0,100,0), +(@PATH,4,-4216.52,3213.613,345.6775,0,0,0,0,100,0), +(@PATH,5,-4208.682,3255.884,339.0109,0,0,0,0,100,0), +(@PATH,6,-4189.062,3300.134,333.0109,0,0,0,0,100,0), +(@PATH,7,-4149.259,3324.875,328.7887,0,0,0,0,100,0), +(@PATH,8,-4108.452,3350.17,317.011,0,0,0,0,100,0), +(@PATH,9,-4062.702,3352.578,312.0665,0,0,0,0,100,0), +(@PATH,10,-4014.43,3348.026,315.1498,0,0,0,0,100,0), +(@PATH,11,-3986.476,3375.022,322.1496,0,0,0,0,100,0), +(@PATH,12,-3981.146,3423.131,315.4276,0,0,0,0,100,0), +(@PATH,13,-3984.354,3463.035,318.9552,0,0,0,0,100,0), +(@PATH,14,-3983.076,3512.558,312.2053,0,0,0,0,100,0), +(@PATH,15,-3966.213,3540.754,323.3442,0,0,0,0,100,0), +(@PATH,16,-3949.22,3584.559,328.372,0,0,0,0,100,0), +(@PATH,17,-3913.326,3616.715,336.8163,0,0,0,0,100,0), +(@PATH,18,-3871.808,3634.682,342.0666,0,0,0,0,100,0), +(@PATH,19,-3845.71,3666.634,355.0107,0,0,0,0,100,0), +(@PATH,20,-3851.377,3715.548,351.7607,0,0,0,0,100,0), +(@PATH,21,-3821.307,3750.763,351.2052,0,0,0,0,100,0), +(@PATH,22,-3795.161,3777.228,334.7328,0,0,0,0,100,0), +(@PATH,23,-3763.429,3800.694,324.3996,0,0,0,0,100,0), +(@PATH,24,-3732.729,3778.102,316.9553,0,0,0,0,100,0), +(@PATH,25,-3699.662,3753.815,315.6498,0,0,0,0,100,0), +(@PATH,26,-3666.87,3741.209,315.7607,0,0,0,0,100,0), +(@PATH,27,-3634.06,3717.237,319.2329,0,0,0,0,100,0), +(@PATH,28,-3613.867,3678.084,317.8165,0,0,0,0,100,0), +(@PATH,29,-3622.779,3632.821,322.9277,0,0,0,0,100,0), +(@PATH,30,-3620.368,3590.816,320.0942,0,0,0,0,100,0), +(@PATH,31,-3625.737,3551.353,323.3442,0,0,0,0,100,0), +(@PATH,32,-3626.56,3508.485,328.3718,0,0,0,0,100,0), +(@PATH,33,-3652.823,3477.152,326.2332,0,0,0,0,100,0), +(@PATH,34,-3666.577,3433.208,328.844,0,0,0,0,100,0), +(@PATH,35,-3689.016,3394.729,323.7608,0,0,0,0,100,0), +(@PATH,36,-3716.738,3363.748,323.2885,0,0,0,0,100,0), +(@PATH,37,-3754.879,3351.833,332.8161,0,0,0,0,100,0), +(@PATH,38,-3795.422,3366.06,336.0938,0,0,0,0,100,0), +(@PATH,39,-3839.274,3378.524,336.0663,0,0,0,0,100,0), +(@PATH,40,-3884.272,3383.12,331.8162,0,0,0,0,100,0), +(@PATH,41,-3923.974,3361.845,329.0664,0,0,0,0,100,0), +(@PATH,42,-3938.367,3317.121,327.0108,0,0,0,0,100,0), +(@PATH,43,-3970.304,3289.182,332.4276,0,0,0,0,100,0), +(@PATH,44,-4001.49,3256,340.0942,0,0,0,0,100,0), +(@PATH,45,-4017.281,3211.053,337.8997,0,0,0,0,100,0), +(@PATH,46,-4034.001,3168.051,336.3162,0,0,0,0,100,0), +(@PATH,47,-4060.109,3128.304,345.6775,0,0,0,0,100,0), +(@PATH,48,-4089.788,3088.067,342.4553,0,0,0,0,100,0), +(@PATH,49,-4130.021,3082.164,339.8998,0,0,0,0,100,0), +(@PATH,50,-4161.369,3103.56,345.6775,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE0000391BB1 .go -4209.313 3165.873 345.6776 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132565; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3700.187,`position_y`=3268.531,`position_z`=332.5694 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,-3700.187,3268.531,332.5694,0,0,0,0,100,0), +(@PATH,2,-3712.445,3309.058,332.5694,0,0,0,0,100,0), +(@PATH,3,-3731.05,3347.229,317.6805,0,0,0,0,100,0), +(@PATH,4,-3716.804,3386.164,312.5971,0,0,0,0,100,0), +(@PATH,5,-3714.796,3416.085,310.3194,0,0,0,0,100,0), +(@PATH,6,-3726.431,3460.464,311.0414,0,0,0,0,100,0), +(@PATH,7,-3753.865,3482.538,314.9584,0,0,0,0,100,0), +(@PATH,8,-3788.998,3508.942,314.9305,0,0,0,0,100,0), +(@PATH,9,-3824.704,3524.107,309.9028,0,0,0,0,100,0), +(@PATH,10,-3848.736,3512.536,316.0972,0,0,0,0,100,0), +(@PATH,11,-3888.76,3485.173,326.2916,0,0,0,0,100,0), +(@PATH,12,-3912.334,3450.138,334.236,0,0,0,0,100,0), +(@PATH,13,-3915.319,3410.722,336.7916,0,0,0,0,100,0), +(@PATH,14,-3881.387,3385.134,337.5138,0,0,0,0,100,0), +(@PATH,15,-3847.486,3374.93,332.5694,0,0,0,0,100,0), +(@PATH,16,-3805.386,3361.039,326.6804,0,0,0,0,100,0), +(@PATH,17,-3773.776,3364.174,321.6806,0,0,0,0,100,0), +(@PATH,18,-3746.576,3378.93,320.8195,0,0,0,0,100,0), +(@PATH,19,-3711.678,3399.851,324.7638,0,0,0,0,100,0), +(@PATH,20,-3677.318,3417.94,324.6248,0,0,0,0,100,0), +(@PATH,21,-3633.113,3400.247,323.4301,0,0,0,0,100,0), +(@PATH,22,-3626.553,3376.975,323.0689,0,0,0,0,100,0), +(@PATH,23,-3616.881,3334.872,332.5694,0,0,0,0,100,0), +(@PATH,24,-3627.39,3296.557,332.5694,0,0,0,0,100,0), +(@PATH,25,-3664.143,3265.263,332.5694,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE0000391D86 .go -3700.187 3268.531 332.5694 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132555; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3910.414,`position_y`=2965.875,`position_z`=390.4576 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,-3910.414,2965.875,390.4576,0,0,0,0,100,0), +(@PATH,2,-3933.329,2966.657,390.4576,0,0,0,0,100,0), +(@PATH,3,-3954.885,2975.502,382.291,0,0,0,0,100,0), +(@PATH,4,-3963.788,3013.65,381.3741,0,0,0,0,100,0), +(@PATH,5,-3969.197,3050.419,375.9853,0,0,0,0,100,0), +(@PATH,6,-3984.531,3090.169,372.0131,0,0,0,0,100,0), +(@PATH,7,-3972.277,3135.571,367.5407,0,0,0,0,100,0), +(@PATH,8,-3947.474,3178.757,362.0132,0,0,0,0,100,0), +(@PATH,9,-3930.654,3222.331,346.0132,0,0,0,0,100,0), +(@PATH,10,-3944.785,3269.054,337.6526,0,0,0,0,100,0), +(@PATH,11,-3988.984,3283.474,328.0133,0,0,0,0,100,0), +(@PATH,12,-4020.175,3305.831,332.7634,0,0,0,0,100,0), +(@PATH,13,-4043.304,3338.783,339.9855,0,0,0,0,100,0), +(@PATH,14,-4076.572,3375.872,343.2631,0,0,0,0,100,0), +(@PATH,15,-4067.485,3424.765,347.1243,0,0,0,0,100,0), +(@PATH,16,-4037.804,3458.173,351.3187,0,0,0,0,100,0), +(@PATH,17,-4007.092,3452.119,341.2909,0,0,0,0,100,0), +(@PATH,18,-3969.205,3437.343,334.1797,0,0,0,0,100,0), +(@PATH,19,-3932.203,3431.731,332.2077,0,0,0,0,100,0), +(@PATH,20,-3896.705,3421.381,327.7629,0,0,0,0,100,0), +(@PATH,21,-3871.978,3389.38,331.041,0,0,0,0,100,0), +(@PATH,22,-3827.513,3390.714,332.2075,0,0,0,0,100,0), +(@PATH,23,-3802.128,3368.306,336.7633,0,0,0,0,100,0), +(@PATH,24,-3790.874,3332.89,343.6242,0,0,0,0,100,0), +(@PATH,25,-3808.656,3291.044,352.0409,0,0,0,0,100,0), +(@PATH,26,-3817.205,3243.875,361.9853,0,0,0,0,100,0), +(@PATH,27,-3841.924,3206.913,365.2077,0,0,0,0,100,0), +(@PATH,28,-3882.906,3183.564,363.3185,0,0,0,0,100,0), +(@PATH,29,-3903.045,3142.097,372.3742,0,0,0,0,100,0), +(@PATH,30,-3883.694,3111.339,382.5131,0,0,0,0,100,0), +(@PATH,31,-3856.857,3076.734,390.4576,0,0,0,0,100,0), +(@PATH,32,-3843.808,3035.878,390.4576,0,0,0,0,100,0), +(@PATH,33,-3833.452,2993.256,390.4576,0,0,0,0,100,0), +(@PATH,34,-3866.545,2965.673,390.4576,0,0,0,0,100,0), +(@PATH,35,-3910.414,2965.875,390.4576,0,0,0,0,100,0), +(@PATH,36,-3933.329,2966.657,390.4576,0,0,0,0,100,0), +(@PATH,37,-3954.885,2975.502,382.291,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE0000393AF6 .go -3910.414 2965.875 390.4576 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 132560; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4210.051,`position_y`=3036.035,`position_z`=359.2715 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,-4210.051,3036.035,359.2715,0,0,0,0,100,0), +(@PATH,2,-4197.814,3024.344,366.188,0,0,0,0,100,0), +(@PATH,3,-4166.595,3015.782,353.327,0,0,0,0,100,0), +(@PATH,4,-4119.361,3000.518,350.3828,0,0,0,0,100,0), +(@PATH,5,-4078.058,3004.437,346.7713,0,0,0,0,100,0), +(@PATH,6,-4047.495,3033.212,346.8269,0,0,0,0,100,0), +(@PATH,7,-4037.817,3075.937,350.9382,0,0,0,0,100,0), +(@PATH,8,-4037.221,3122.487,345.1326,0,0,0,0,100,0), +(@PATH,9,-4020.077,3150.257,329.8825,0,0,0,0,100,0), +(@PATH,10,-3983.114,3172.777,330.1326,0,0,0,0,100,0), +(@PATH,11,-3945.796,3163.176,338.4935,0,0,0,0,100,0), +(@PATH,12,-3906.744,3138.077,347.0493,0,0,0,0,100,0), +(@PATH,13,-3872.958,3116.541,357.4377,0,0,0,0,100,0), +(@PATH,14,-3857.695,3086.127,367.6046,0,0,0,0,100,0), +(@PATH,15,-3866.051,3043.046,372.1045,0,0,0,0,100,0), +(@PATH,16,-3902.363,3025,374.7159,0,0,0,0,100,0), +(@PATH,17,-3939.945,3047.438,368.138,0,0,0,0,100,0), +(@PATH,18,-3976.81,3075.321,357.9659,0,0,0,0,100,0), +(@PATH,19,-4015.781,3101.057,352.3272,0,0,0,0,100,0), +(@PATH,20,-4057.297,3120.64,344.0215,0,0,0,0,100,0), +(@PATH,21,-4093.992,3151.9,340.0216,0,0,0,0,100,0), +(@PATH,22,-4133.575,3148.626,338.077,0,0,0,0,100,0), +(@PATH,23,-4161.596,3113.013,348.6326,0,0,0,0,100,0), +(@PATH,24,-4193.336,3081.118,359.2715,0,0,0,0,100,0), +(@PATH,25,-4214.105,3060.078,359.2715,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE0000393F44 .go -4210.051 3036.035 359.2715 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 86117; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3894.564,`position_y`=3430.655,`position_z`=372.4708 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,-3894.564,3430.655,372.4708,0,0,0,0,100,0), +(@PATH,2,-3857.21,3447.031,372.4708,0,0,0,0,100,0), +(@PATH,3,-3823.56,3471.693,372.4708,0,0,0,0,100,0), +(@PATH,4,-3784.599,3479.697,372.4708,0,0,0,0,100,0), +(@PATH,5,-3742.468,3490.947,353.0265,0,0,0,0,100,0), +(@PATH,6,-3709.652,3520.501,345.0263,0,0,0,0,100,0), +(@PATH,7,-3664.314,3533.171,334.0263,0,0,0,0,100,0), +(@PATH,8,-3616.403,3539.115,323.9706,0,0,0,0,100,0), +(@PATH,9,-3582.801,3553.028,325.193,0,0,0,0,100,0), +(@PATH,10,-3589.008,3587.388,329.9429,0,0,0,0,100,0), +(@PATH,11,-3636.932,3603.025,325.1376,0,0,0,0,100,0), +(@PATH,12,-3663.247,3624.526,321.2208,0,0,0,0,100,0), +(@PATH,13,-3704.071,3625.825,318.6652,0,0,0,0,100,0), +(@PATH,14,-3750.566,3629.281,322.7488,0,0,0,0,100,0), +(@PATH,15,-3785.251,3646.629,322.5265,0,0,0,0,100,0), +(@PATH,16,-3821.648,3660.992,332.4431,0,0,0,0,100,0), +(@PATH,17,-3844.523,3693.082,347.1931,0,0,0,0,100,0), +(@PATH,18,-3873.079,3712.225,349.1932,0,0,0,0,100,0), +(@PATH,19,-3903.724,3693.448,347.4153,0,0,0,0,100,0), +(@PATH,20,-3935.185,3680.15,346.9429,0,0,0,0,100,0), +(@PATH,21,-3961.531,3655.501,345.2486,0,0,0,0,100,0), +(@PATH,22,-3966.79,3606.822,348.2763,0,0,0,0,100,0), +(@PATH,23,-3973.929,3571.161,341.0261,0,0,0,0,100,0), +(@PATH,24,-3980.9,3522.605,335.8875,0,0,0,0,100,0), +(@PATH,25,-4004.451,3487.919,317.9431,0,0,0,0,100,0), +(@PATH,26,-4001.448,3441.261,334.3042,0,0,0,0,100,0), +(@PATH,27,-3966.929,3406.75,330.5819,0,0,0,0,100,0), +(@PATH,28,-3922.993,3396.193,351.9707,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE00003946C7 .go -3894.564 3430.655 372.4708 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 86131; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3884.442,`position_y`=3113.831,`position_z`=389.185 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,-3884.442,3113.831,389.185,0,0,0,0,100,0), +(@PATH,2,-3869.677,3093.181,392.3522,0,0,0,0,100,0), +(@PATH,3,-3876.115,3078.8,392.3522,0,0,0,0,100,0), +(@PATH,4,-3900.006,3066.922,392.3522,0,0,0,0,100,0), +(@PATH,5,-3934.172,3083.277,392.3522,0,0,0,0,100,0), +(@PATH,6,-3942.406,3108.275,392.3522,0,0,0,0,100,0), +(@PATH,7,-3955.406,3132.591,392.3522,0,0,0,0,100,0), +(@PATH,8,-3983.802,3151.235,400.1577,0,0,0,0,100,0), +(@PATH,9,-4018.729,3167.318,408.8244,0,0,0,0,100,0), +(@PATH,10,-4048.56,3146.723,397.5466,0,0,0,0,100,0), +(@PATH,11,-4034.677,3106.917,375.3246,0,0,0,0,100,0), +(@PATH,12,-3999.241,3105.82,364.3524,0,0,0,0,100,0), +(@PATH,13,-3976.743,3112.321,363.4634,0,0,0,0,100,0), +(@PATH,14,-3934.065,3120.998,373.4079,0,0,0,0,100,0), +(@PATH,15,-3904.763,3124.439,386.7683,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE0000394785 .go -3884.442 3113.831 389.185 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 83237; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3620.779,`position_y`=3761.98,`position_z`=319.1757 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,-3620.779,3761.98,319.1757,0,0,0,0,100,0), +(@PATH,2,-3621.137,3762.914,319.1757,0,0,0,0,100,0), +(@PATH,3,-3621.72,3753.039,319.025,0,0,0,0,100,0), +(@PATH,4,-3619.644,3727.897,309.8305,0,0,0,0,100,0), +(@PATH,5,-3627.178,3681.108,308.5527,0,0,0,0,100,0), +(@PATH,6,-3656.429,3650.599,304.2195,0,0,0,0,100,0), +(@PATH,7,-3696.808,3638.603,303.0528,0,0,0,0,100,0), +(@PATH,8,-3734.566,3654.597,302.6361,0,0,0,0,100,0), +(@PATH,9,-3766.324,3670.245,301.1362,0,0,0,0,100,0), +(@PATH,10,-3799.271,3684.971,303.1361,0,0,0,0,100,0), +(@PATH,11,-3832.15,3705.031,308.4691,0,0,0,0,100,0), +(@PATH,12,-3868.131,3721.502,318.4415,0,0,0,0,100,0), +(@PATH,13,-3909.399,3735.214,328.5527,0,0,0,0,100,0), +(@PATH,14,-3931.017,3766.784,334.3581,0,0,0,0,100,0), +(@PATH,15,-3917.445,3807.967,334.4695,0,0,0,0,100,0), +(@PATH,16,-3890.349,3823.759,327.1638,0,0,0,0,100,0), +(@PATH,17,-3849.03,3819.391,319.025,0,0,0,0,100,0), +(@PATH,18,-3822.998,3781.306,314.3583,0,0,0,0,100,0), +(@PATH,19,-3792.191,3762.3,302.9972,0,0,0,0,100,0), +(@PATH,20,-3753.88,3777.921,300.1917,0,0,0,0,100,0), +(@PATH,21,-3738.559,3813.297,304.1084,0,0,0,0,100,0), +(@PATH,22,-3707.912,3826.754,304.9972,0,0,0,0,100,0), +(@PATH,23,-3666.76,3801.158,304.9972,0,0,0,0,100,0), +(@PATH,24,-3632.452,3787.691,313.8025,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE00003981C1 .go -3620.779 3761.98 319.1757 + +-- Pathing for Monstrous Kaliri Entry: 23051 'TDB FORMAT' +SET @NPC := 86133; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-4210.051,`position_y`=3036.035,`position_z`=359.2715 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,-4210.051,3036.035,359.2715,0,0,0,0,100,0), +(@PATH,2,-4197.814,3024.344,366.188,0,0,0,0,100,0), +(@PATH,3,-4166.595,3015.782,353.327,0,0,0,0,100,0), +(@PATH,4,-4119.361,3000.518,350.3828,0,0,0,0,100,0), +(@PATH,5,-4078.058,3004.437,346.7713,0,0,0,0,100,0), +(@PATH,6,-4047.495,3033.212,346.8269,0,0,0,0,100,0), +(@PATH,7,-4037.817,3075.937,350.9382,0,0,0,0,100,0), +(@PATH,8,-4037.221,3122.487,345.1326,0,0,0,0,100,0), +(@PATH,9,-4020.077,3150.257,329.8825,0,0,0,0,100,0), +(@PATH,10,-3983.114,3172.777,330.1326,0,0,0,0,100,0), +(@PATH,11,-3945.796,3163.176,338.4935,0,0,0,0,100,0), +(@PATH,12,-3906.744,3138.077,347.0493,0,0,0,0,100,0), +(@PATH,13,-3872.958,3116.541,357.4377,0,0,0,0,100,0), +(@PATH,14,-3857.695,3086.127,367.6046,0,0,0,0,100,0), +(@PATH,15,-3866.051,3043.046,372.1045,0,0,0,0,100,0), +(@PATH,16,-3902.363,3025,374.7159,0,0,0,0,100,0), +(@PATH,17,-3939.945,3047.438,368.138,0,0,0,0,100,0), +(@PATH,18,-3976.81,3075.321,357.9659,0,0,0,0,100,0), +(@PATH,19,-4015.781,3101.057,352.3272,0,0,0,0,100,0), +(@PATH,20,-4057.297,3120.64,344.0215,0,0,0,0,100,0), +(@PATH,21,-4093.992,3151.9,340.0216,0,0,0,0,100,0), +(@PATH,22,-4133.575,3148.626,338.077,0,0,0,0,100,0), +(@PATH,23,-4161.596,3113.013,348.6326,0,0,0,0,100,0), +(@PATH,24,-4193.336,3081.118,359.2715,0,0,0,0,100,0), +(@PATH,25,-4214.105,3060.078,359.2715,0,0,0,0,100,0); +-- 0x1C393042401682C00000DE00003985F0 .go -4210.051 3036.035 359.2715 + +UPDATE `waypoint_data` SET `move_type`=1 WHERE `id` IN (132553 * 10, 86115 * 10, 79017 * 10, 132567 * 10, 132557 * 10, 86099 * 10, 132562 * 10, 132558 * 10, 86116 * 10, 132564 * 10, 132554 * 10, 83238 * 10, 132566 * 10, 132556 * 10, 132565 * 10, 132555 * 10, 132560 * 10, 86117 * 10, 86131 * 10, 83237 * 10, 86133 * 10); + +-- Pathing for Bonechewer Devastator Entry: 16772 'TDB FORMAT' +SET @NPC := 57784; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2979.448,`position_y`=3526.724,`position_z`=-5.101617 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,-2979.448,3526.724,-5.101617,0,0,0,0,100,0), +(@PATH,2,-2986.465,3536.819,-4.151853,0,0,0,0,100,0), +(@PATH,3,-2999.478,3533.506,-2.088938,0,0,0,0,100,0), +(@PATH,4,-3001.169,3532.58,-1.651159,0,0,0,0,100,0), +(@PATH,5,-3001.333,3532.634,-1.814128,0,0,0,0,100,0), +(@PATH,6,-2988.259,3537.786,-3.722197,0,0,0,0,100,0), +(@PATH,7,-2983.174,3532.755,-5.044437,0,0,0,0,100,0), +(@PATH,8,-2984.85,3516.351,-3.515834,0,0,0,0,100,0); +-- 0x1C393042401061000000DE0000397551 .go -2979.448 3526.724 -5.101617 diff --git a/sql/updates/world/2015_02_23_00_world.sql b/sql/updates/world/2015_02_23_00_world.sql new file mode 100644 index 00000000000..c84da7b2c84 --- /dev/null +++ b/sql/updates/world/2015_02_23_00_world.sql @@ -0,0 +1,4 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (6847, 7849); +INSERT INTO `achievement_criteria_data` (`criteria_id`, `type`, `value1`, `value2`, `ScriptName`) VALUES +(6847, 12, 0, 0, ''), +(7849, 12, 1, 0, ''); diff --git a/sql/updates/world/2015_02_23_01_world.sql b/sql/updates/world/2015_02_23_01_world.sql new file mode 100644 index 00000000000..e475f2f2f6b --- /dev/null +++ b/sql/updates/world/2015_02_23_01_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_proc_event` WHERE `entry` IN (33953); +INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`procFlags`,`procEx`,`ppmRate`,`CustomChance`,`Cooldown`) VALUES +(33953, 0x00, 0x00, 0x00000000, 0x00000000, 0x00000000, 0x00004400, 0x00000000, 0, 0, 45); diff --git a/sql/updates/world/2015_02_23_02_world.sql b/sql/updates/world/2015_02_23_02_world.sql new file mode 100644 index 00000000000..51d998b98b4 --- /dev/null +++ b/sql/updates/world/2015_02_23_02_world.sql @@ -0,0 +1,25 @@ +-- Actionlist SAI +SET @ENTRY := 6192700; +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,1,0,0,0,100,0,60000,60000,0,0,12,2202,3,120000,0,0,0,8,0,0,0,4988.25,568.897,3.15542,5,"Bonfire - On Script - Summon Creature 'Greymist Coastrunner'"), +(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,12,2202,3,120000,0,0,0,8,0,0,0,4998.76,568.891,3.21375,5,"Bonfire - On Script - Summon Creature 'Greymist Coastrunner'"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,12,2202,3,120000,0,0,0,8,0,0,0,4994.69,573.448,2.4842,5,"Bonfire - On Script - Summon Creature 'Greymist Coastrunner'"), +(@ENTRY,9,4,0,0,0,100,0,60000,60000,0,0,12,2205,3,120000,0,0,0,8,0,0,0,4988.25,568.897,3.15542,5,"Bonfire - On Script - Summon Creature 'Greymist Warrior'"), +(@ENTRY,9,5,0,0,0,100,0,0,0,0,0,12,2205,3,120000,0,0,0,8,0,0,0,4998.76,568.891,3.21375,5,"Bonfire - On Script - Summon Creature 'Greymist Warrior'"), +(@ENTRY,9,6,0,0,0,100,0,60000,60000,0,0,12,2206,3,120000,0,0,0,8,0,0,0,4998.76,568.891,3.21375,5,"Bonfire - On Script - Summon Creature 'Greymist Hunter'"), +(@ENTRY,9,7,0,0,0,100,0,0,0,0,0,12,10323,3,120000,0,0,0,8,0,0,0,4994.69,573.448,2.4842,5,"Bonfire - On Script - Summon Creature 'Murkdeep'"); + +-- Bonfire SAI +SET @ENTRY := 61927; +UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=1; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,1,0,0,38,0,100,0,0,1,0,0,80,6192700,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bonfire - On Data Set 0 1 - Run Script"); + +-- Greymist Hunter SAI +SET @GUID := -37989; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=2206; +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,6,0,100,0,0,1,0,0,45,0,1,0,0,0,0,14,48515,61927,0,0,0,0,0,"Greymist Hunter - On Just Died -Set Data 0 1"); diff --git a/sql/updates/world/2015_02_23_03_world.sql b/sql/updates/world/2015_02_23_03_world.sql new file mode 100644 index 00000000000..468af7088b4 --- /dev/null +++ b/sql/updates/world/2015_02_23_03_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_group` WHERE `id`=1 AND `spell_id`=63729; +INSERT INTO `spell_group` (`id`, `spell_id`) VALUES +(1, 63729); diff --git a/sql/updates/world/2015_02_23_04_world.sql b/sql/updates/world/2015_02_23_04_world.sql new file mode 100644 index 00000000000..b4e68f47825 --- /dev/null +++ b/sql/updates/world/2015_02_23_04_world.sql @@ -0,0 +1,2 @@ +-- Delete wrong data for achiev Flirt With Disaster +DELETE FROM `player_factionchange_achievement` WHERE `alliance_id`=1280 AND `horde_id`=1279; diff --git a/sql/updates/world/2015_02_23_05_world.sql b/sql/updates/world/2015_02_23_05_world.sql new file mode 100644 index 00000000000..41b0a9f120d --- /dev/null +++ b/sql/updates/world/2015_02_23_05_world.sql @@ -0,0 +1,109 @@ +SET @gob:=192492; +SET @spell:=56649; +SET @Veranus:=30393; +SET @Thorim:= 30390; +SET @Jokkum:=30331; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Veranus, @Thorim, @Jokkum); +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Veranus, @Thorim, @Jokkum); +UPDATE `creature_template` SET `ScriptName`="", `MovementType`=2 WHERE `entry`=@Jokkum; + +DELETE FROM `creature_template_addon` WHERE `entry`=@Veranus; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(@Veranus, 0, 0, 33554432, 0, 0, '55971'); + +DELETE FROM `vehicle_template_accessory` where `entry` IN (@Veranus) AND `accessory_entry` in (@Thorim); +INSERT INTO `vehicle_template_accessory` (`entry`,`accessory_entry`,`seat_id`,`minion`,`description`,`summontype`,`summontimer`)VALUES +(@Veranus,@Thorim,0,0,'Veranus',8,0); + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (@Veranus); +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(@Veranus, 46598, 1, 0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9900; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15,9900,0,0,0,9,0,13010,0,0,0,0,'','Show gossip if player has quest completed'), +(15,9900,0,0,0,5,0,1119,704,0,0,0,'','Show gossip if player is at least friendly'); + +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Jokkum AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Thorim AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Veranus AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Jokkum*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Thorim*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Thorim*100+1 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Thorim*100+2 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 +(@Jokkum, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 53, 1, @Jokkum*100, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - JustSummoned - Start WP'), +(@Jokkum, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - JustSummoned - Talk1'), +(@Jokkum, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - JustSummoned - Add unit flag'), +(@Jokkum, 0, 3, 0, 40, 0, 100, 0, 22, @Jokkum*100, 0, 0, 80, @Jokkum*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - On way pont 22 - Actionlist'), +(@Jokkum*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, @spell, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Cast spell to summon'), +(@Jokkum*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Root'), +(@Jokkum*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Talk2'), +(@Jokkum*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 5, 53, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Emote'), +(@Jokkum*100, 9, 4, 0, 0, 0, 100, 0, 24000, 24000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Thorim, 30, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 5, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 6, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Thorim, 30, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 7, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @Thorim, 30, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 8, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 28, 68442, 0, 0, 0, 0, 0, 19, @Thorim, 30, 0, 0, 0, 0, 0, 'Jokkum - ActionList - remove kneel'), +(@Jokkum*100, 9, 10, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 11, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 12, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 80, @Thorim*100+1, 0, 0, 0, 0, 0, 19, @Thorim, 30, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Actionlist'), +(@Jokkum*100, 9, 13, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 14, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Thorim, 30, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 15, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 16, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - talk'), +(@Jokkum*100, 9, 17, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 56545, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Cast credit'), +(@Jokkum*100, 9, 18, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Cast eject passenger'), +(@Jokkum*100, 9, 19, 0, 0, 0, 100, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - remove root'), +(@Jokkum*100, 9, 20, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 53, 1, @Jokkum*100+1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jokkum - ActionList - Start WP2'), +(@Thorim*100+1, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 50, @gob, 400000, 0, 0, 0, 0, 8, 0, 0, 0, 7867.189453, -3255.752930, 853.379700, 2.321934, 'Thorim - ActionList - Spawn gob'), +(@Thorim*100+1, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 50, 188142, 400000, 0, 0, 0, 0, 8, 0, 0, 0, 7867.189453, -3255.752930, 850.467590, 2.321934, 'Thorim - ActionList - Spawn gob'), +(@Thorim, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 80, @Thorim*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thorim - Just created - actionlist'), +(@Thorim*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thorim - ActionList - set run ON'), +(@Thorim*100, 9, 1, 0, 0, 0, 100, 0, 18000, 18000, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 7886.027344, -3239.358887, 849.435791, 3.769581, 'Thorim - ActionList - go to pos'), +(@Thorim*100, 9, 2, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 75, 68442, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thorim - ActionList - Aura state kneel'), +(@Thorim*100, 9, 3, 0, 0, 0, 100, 0, 460000, 460000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thorim - ActionList - Aura state kneel'), +(@Thorim, 0, 1, 0, 19, 0, 100, 0, 13057, 0, 0, 0, 80, @Thorim*100+2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thorim - Just created - actionlist'), +(@Thorim*100+2, 9, 0, 0, 0, 0, 100, 0, 30000, 30000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Thorim - ActionList - Aura state kneel'), +(@Veranus, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 53, 1, @Veranus*100, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Veranus - JustSummoned - Start WP'), +(@Veranus, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33554432, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Veranus - JustSummoned - Set unit_flag not selectable'), +(@Veranus, 0, 2, 0, 40, 0, 100, 0, 2, 0, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Veranus - On waypoint 2 - Eject passenger'); + +DELETE FROM `waypoint_data` WHERE `id` IN (2072200, 2072201); + +DELETE FROM `waypoints` WHERE `entry`IN (@Jokkum*100+1, @Jokkum*100, @Veranus*100); +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@Jokkum*100+1,1,7837.09, -3235.54, 853.878, '@Jokkum'), +(@Jokkum*100+1,2,7828.62, -3230.38, 855.915, '@Jokkum'), +(@Jokkum*100+1,3,7793.78, -3219.74, 861.146, '@Jokkum'), +(@Jokkum*100+1,4,7765.22, -3225.37, 864.083, '@Jokkum'), +(@Jokkum*100+1,5,7736.73, -3226.5, 861.458, '@Jokkum'), +(@Jokkum*100,1,7357.09,-2865.4,803.501, '@Jokkum'), +(@Jokkum*100,2,7355.18,-2904.32,821.008, '@Jokkum'), +(@Jokkum*100,3,7355.47,-2946.65,833.092, '@Jokkum'), +(@Jokkum*100,4,7358.79,-2974.21,845.018, '@Jokkum'), +(@Jokkum*100,5,7360.87,-2994.78,845.989, '@Jokkum'), +(@Jokkum*100,6,7378.76,-3035.89,840.6, '@Jokkum'), +(@Jokkum*100,7,7411.66,-3072.21,837.577, '@Jokkum'), +(@Jokkum*100,8,7454,-3088.7,837.577, '@Jokkum'), +(@Jokkum*100,9,7496.08,-3113.92,837.583, '@Jokkum'), +(@Jokkum*100,10,7536.84,-3136.49,837.581, '@Jokkum'), +(@Jokkum*100,11,7564.74,-3145.14,844.831, '@Jokkum'), +(@Jokkum*100,12,7604.36,-3171.26,850.887, '@Jokkum'), +(@Jokkum*100,13,7635.47,-3207.21,857.19, '@Jokkum'), +(@Jokkum*100,14,7657.86,-3219.26,863.19, '@Jokkum'), +(@Jokkum*100,15,7685.42,-3218.98,867.141, '@Jokkum'), +(@Jokkum*100,16,7706.54,-3219.74,864.333, '@Jokkum'), +(@Jokkum*100,17,7747.33,-3226.99,862.458, '@Jokkum'), +(@Jokkum*100,18,7796.66,-3221.78,860.646, '@Jokkum'), +(@Jokkum*100,19,7827.6, -3229.27,856.415, '@Jokkum'), +(@Jokkum*100,20,7846.17,-3253.24,852.128, '@Jokkum'), +(@Jokkum*100,21,7849.41,-3270.86,854.538, '@Jokkum'), +(@Jokkum*100,22,7853.12,-3268.03,853.50, '@Jokkum'), +(@Veranus*100,1, 7915.017578, -3202.903076, 899.580872, '@Veranus'), +(@Veranus*100,2, 7889.363770, -3236.394043, 899.580872, '@Veranus'), +(@Veranus*100,3, 7865.838867, -3266.453369, 899.580872, '@Veranus'), +(@Veranus*100,4, 7929.517578, -3369.971191, 899.580872, '@Veranus'); diff --git a/sql/updates/world/2015_02_23_06_world.sql b/sql/updates/world/2015_02_23_06_world.sql new file mode 100644 index 00000000000..7bb0e20cc14 --- /dev/null +++ b/sql/updates/world/2015_02_23_06_world.sql @@ -0,0 +1 @@ +UPDATE `spell_area` SET `quest_end`='13157', `quest_end_status`='1' WHERE `spell`='57674' and`area`='4504' and`quest_start`='13086' and`aura_spell`='0' and`racemask`='0' and`gender`='2'; diff --git a/sql/updates/world/2015_02_23_07_world.sql b/sql/updates/world/2015_02_23_07_world.sql new file mode 100644 index 00000000000..01ab70e6981 --- /dev/null +++ b/sql/updates/world/2015_02_23_07_world.sql @@ -0,0 +1,18 @@ +-- North Sea Kraken SAI +SET @ENTRY := 34925; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@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,0,0,100,0,6000,9000,7000,9000,11,66514,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - IC - Cast Frost Breath'), +(@ENTRY,0, 1,0,8,0,25,0,66588,0,0,0,80,@ENTRY*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - On Spell hit Flaming Sphere - actionList'), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,11,66717,0,0,0,0,0,7,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Cast 66717'), +(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,11,50142,2,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Cast 50142'), +(@ENTRY*100,9,2,0,0,0,100,0,3000,3000,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Turn Invisible'), +(@ENTRY*100,9,3,0,0,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Evade'), +(@ENTRY, 0, 2, 0, 1, 0, 100, 0, 30000, 30000, 30000, 30000, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - OOC - Make Visible'), +(@ENTRY, 0, 3, 4, 2, 0, 100, 1, 1, 6, 0, 0, 11, 66994, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - On Between 1 and 6% HP - Cast Kraken Tooth Explosion'), +(@ENTRY, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 11, 66717, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - Linked with previous event - Give quest credit'), +(@ENTRY, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - Linked With Previous Event die'), +(@ENTRY, 0, 6, 0, 1, 0, 100, 0, 30000, 30000, 30000, 30000, 11, 68909, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - OOC - Cast Submerge '), +(@ENTRY, 0, 7, 0, 0, 0, 100, 0, 15000, 20000, 15000, 20000, 11, 66511, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - IC - Whirl'); diff --git a/sql/updates/world/2015_02_23_08_world.sql b/sql/updates/world/2015_02_23_08_world.sql new file mode 100644 index 00000000000..28f50fde9dd --- /dev/null +++ b/sql/updates/world/2015_02_23_08_world.sql @@ -0,0 +1,281 @@ +SET @Defender := 10948; -- Darrowshire Defender +SET @Skeleton := 10952; -- Maraudin Skeleton +SET @Corpse := 10951; -- Marauding Corpse +SET @Silver := 10949; -- Silver hand disciple +SET @Sevant := 10953; -- Sevant of Horgus +SET @Lightfire := 10944; -- Davil Lightfire +SET @Horgus := 10946; -- Horgus the Ravager +SET @Betrayer := 10947; -- Darrowshire Betrayer +SET @Redpath := 10937; -- Captain Redpath +SET @Bloodletter := 10954; -- Bloodletter +SET @Marduk := 10939; -- Marduk the Black +SET @CorruptedRed := 10938; -- Redpath the Corrupted +SET @Joseph := 10936; -- Joseph Redpath +SET @Davil := 10945; -- Davil Crokford +SET @Pamela := 10926; -- Pamela Redpath +SET @Relic := 177526; -- Relic Bundle, spell:=18987 + +DELETE FROM `creature_template_addon` WHERE `entry` IN(@Silver ,@Lightfire, @Defender, @Joseph, @Davil, @Pamela, @Horgus); +INSERT INTO `creature_template_addon` (`entry`, `mount`, `bytes1`, `bytes2`, `auras`) VALUES +(@Silver, 0, 0, 0, '17327'), +(@Lightfire, 0, 0, 0, '17327'), +(@Defender, 0, 0, 0, '17327'), +(@Joseph, 0, 0, 0, '17327'), +(@Davil, 0, 0, 0, '17327'), +(@Pamela, 0, 0, 0, '17327'), +(@Horgus, 0, 0, 0, '17467'); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Defender, @Skeleton, @Corpse, @Sevant, @Lightfire, @Horgus, @Betrayer, @Redpath, @Bloodletter, @Marduk, @CorruptedRed, @Joseph, @Pamela, @Davil, @CorruptedRed); +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=@Relic; +UPDATE `gameobject` SET `position_x`=1439.81, `position_y`=-3702.22, `position_z`=77.12 WHERE `guid`=99891; +UPDATE `creature` SET `Orientation`=2.276223 WHERE `id`=@Pamela; + +DELETE FROM `creature_summon_groups` WHERE `summonerid`=@Redpath; +INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES +(@Redpath,0,0,@Defender,1484.442993, -3676.545410, 79.871506, 0.169049,8,0), +(@Redpath,0,0,@Defender,1497.560669, -3637.805176, 85.364410, 3.957781,8,0), +(@Redpath,0,0,@Defender,1509.516357, -3640.667969, 88.113441, 4.707833,8,0), +(@Redpath,0,0,@Defender,1511.495483, -3650.671631, 88.055191, 1.052592,8,0), +(@Redpath,0,0,@Defender,1503.856812, -3664.068359, 83.389610, 1.052592,8,0), +(@Redpath,0,0,@Defender,1494.220215, -3656.542725, 83.329399, 0.954417,8,0), +(@Redpath,0,0,@Defender,1495.856445, -3684.522461, 80.549515, 0.002224,8,0), +(@Redpath,0,0,@Defender,1494.905640, -3678.563477, 80.728012, 6.140110,8,0), +(@Redpath,0,0,@Defender,1494.013916, -3671.843262, 81.187721, 0.139665,8,0), +(@Redpath,0,0,@Defender,1493.794922, -3665.639893, 81.787727, 5.719919,8,0), +(@Redpath,0,0,@Defender,1513.222290, -3693.317627, 84.312233, 2.388256,8,0), +(@Redpath,0,0,@Defender,1508.203369, -3701.367188, 81.152023, 1.888743,8,0), +(@Redpath,0,0,@Defender,1516.244263, -3706.704346, 82.785568, 5.756826,8,0), +(@Redpath,0,0,@Defender,1511.111084, -3709.822998, 82.240448, 2.073311,8,0), +(@Redpath,0,0,@Defender,1504.386353, -3709.648193, 81.169960, 0.557490,8,0), +(@Redpath,0,1,@Skeleton, 1497.560669, -3637.805176, 85.364410, 3.957781,8,0), -- phase 1 +(@Redpath,0,1,@Corpse, 1509.516357, -3640.667969, 88.113441, 4.707833,8,0), +(@Redpath,0,1,@Skeleton ,1511.495483, -3650.671631, 88.055191, 1.052592,8,0), +(@Redpath,0,1,@Corpse, 1503.856812, -3664.068359, 83.389610, 1.052592,8,0), +(@Redpath,0,1,@Skeleton ,1494.220215, -3656.542725, 83.329399, 0.954417,8,0), +(@Redpath,0,1,@Skeleton, 1495.856445, -3684.522461, 80.549515, 0.002224,8,0), +(@Redpath,0,1,@Corpse, 1494.905640, -3678.563477, 80.728012, 6.140110,8,0), +(@Redpath,0,1,@Skeleton, 1494.013916, -3671.843262, 81.187721, 0.139665,8,0), +(@Redpath,0,1,@Corpse, 1493.794922, -3665.639893, 81.787727, 5.719919,8,0), +(@Redpath,0,1,@Skeleton, 1513.222290, -3693.317627, 84.312233, 2.388256,8,0), +(@Redpath,0,1,@Corpse, 1508.203369, -3701.367188, 81.152023, 1.888743,8,0), +(@Redpath,0,1,@Skeleton, 1516.244263, -3706.704346, 82.785568, 5.756826,8,0), +(@Redpath,0,1,@Corpse, 1511.111084, -3709.822998, 82.240448, 2.073311,8,0), +(@Redpath,0,1,@Skeleton, 1504.386353, -3709.648193, 81.169960, 0.557490,8,0), +(@Redpath,0,2,@Sevant, 1497.560669, -3637.805176, 85.364410, 3.957781,8,0), -- phase 2 +(@Redpath,0,2,@Sevant, 1509.516357, -3640.667969, 88.113441, 4.707833,8,0), +(@Redpath,0,2,@Sevant, 1511.495483, -3650.671631, 88.055191, 1.052592,8,0), +(@Redpath,0,2,@Sevant, 1503.856812, -3664.068359, 83.389610, 1.052592,8,0), +(@Redpath,0,2,@Sevant, 1494.220215, -3656.542725, 83.329399, 0.954417,8,0), +(@Redpath,0,2,@Sevant, 1495.856445, -3684.522461, 80.549515, 0.002224,8,0), +(@Redpath,0,2,@Sevant, 1494.905640, -3678.563477, 80.728012, 6.140110,8,0), +(@Redpath,0,2,@Sevant, 1494.013916, -3671.843262, 81.187721, 0.139665,8,0), +(@Redpath,0,2,@Sevant, 1493.794922, -3665.639893, 81.787727, 5.719919,8,0), +(@Redpath,0,2,@Sevant, 1513.222290, -3693.317627, 84.312233, 2.388256,8,0), +(@Redpath,0,2,@Sevant, 1508.203369, -3701.367188, 81.152023, 1.888743,8,0), +(@Redpath,0,2,@Sevant, 1516.244263, -3706.704346, 82.785568, 5.756826,8,0), +(@Redpath,0,2,@Sevant, 1511.111084, -3709.822998, 82.240448, 2.073311,8,0), +(@Redpath,0,2,@Sevant, 1504.386353, -3709.648193, 81.169960, 0.557490,8,0), +(@Redpath,0,3,@Silver,1495.857910, -3682.440674,80.630501, 0.022911,8,0), +(@Redpath,0,3,@Silver,1490.361938, -3684.647705, 80.350754, 0.285233,8,0), +(@Redpath,0,3,@Silver,1495.075928, -3670.077148, 81.964828, 0.846651,8,0), +(@Redpath,0,3,@Silver,1489.382568, -3666.546875, 81.307182, 0.058259,8,0), +(@Redpath,0,4,@Betrayer, 1497.560669, -3637.805176, 85.364410, 3.957781,8,0), -- phase3 +(@Redpath,0,4,@Betrayer, 1509.516357, -3640.667969, 88.113441, 4.707833,8,0), +(@Redpath,0,4,@Betrayer, 1511.495483, -3650.671631, 88.055191, 1.052592,8,0), +(@Redpath,0,4,@Betrayer, 1503.856812, -3664.068359, 83.389610, 1.052592,8,0), +(@Redpath,0,4,@Betrayer, 1494.220215, -3656.542725, 83.329399, 0.954417,8,0), +(@Redpath,0,4,@Bloodletter, 1495.856445, -3684.522461, 80.549515, 0.002224,8,0), +(@Redpath,0,4,@Bloodletter, 1494.905640, -3678.563477, 80.728012, 6.140110,8,0), +(@Redpath,0,4,@Bloodletter, 1494.013916, -3671.843262, 81.187721, 0.139665,8,0), +(@Redpath,0,4,@Bloodletter, 1493.794922, -3665.639893, 81.787727, 5.719919,8,0), +(@Redpath,0,4,@Betrayer, 1513.222290, -3693.317627, 84.312233, 2.388256,8,0), +(@Redpath,0,4,@Betrayer, 1508.203369, -3701.367188, 81.152023, 1.888743,8,0), +(@Redpath,0,4,@Betrayer, 1516.244263, -3706.704346, 82.785568, 5.756826,8,0), +(@Redpath,0,4,@Betrayer, 1511.111084, -3709.822998, 82.240448, 2.073311,8,0), +(@Redpath,0,4,@Betrayer, 1504.386353, -3709.648193, 81.169960, 0.557490,8,0); + +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Relic AND `source_type` = 1; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Relic*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Lightfire AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Lightfire *100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Defender AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Defender *100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Marduk AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Marduk*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Horgus AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Horgus*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Redpath AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Redpath*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Redpath*100+1 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @CorruptedRed AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @CorruptedRed*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Davil AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Joseph AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Joseph*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Joseph*100+1 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 +(@Relic, 1, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 80, @Relic*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Relic - On spawn - action list'), +(@Relic*100, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 12, @Redpath, 6, 6000, 0, 0, 0, 8, 0, 0, 0, 1453.091431, -3693.156494, 76.784241, 0.486776, 'Relic - action list - spawn Redpath'), +(@Redpath, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 80, @Redpath*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - On spawn - action list'), +(@Redpath*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Set invisible - action list'), +(@Redpath*100, 9, 1, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 107, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn groupe 1 - action list'), +(@Redpath*100, 9, 2, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Defender, 40, 0, 0, 0, 0, 0, 'Defender - talk1 - action list'), +(@Redpath*100, 9, 3, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 107, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g2 wave1- action list'), +(@Redpath*100, 9, 4, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 107, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g2 wave2 - action list'), +(@Redpath*100, 9, 5, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 12, @Lightfire, 6, 6000, 0, 0, 0, 8, 0, 0, 0, 1453.091431, -3693.156494, 76.784241, 0.486776, 'Redpath - spawn Lightfire - action list'), +(@Redpath*100, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, @Davil, 8, 600000, 0, 0, 0, 8, 0, 0, 0, 1464.515991, -3678.878418, 78.043877, 0.577881, 'Redpath - Spawn Davil - action list'), +(@Redpath*100, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 107, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g3 wave1 - action list'), +(@Redpath*100, 9, 8, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 107, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g4 wave1 - action list'), +(@Redpath*100, 9, 9, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 107, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g4 wave2 - action list'), +(@Redpath*100, 9, 10, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, @Horgus, 6, 6000, 0, 0, 0, 8, 0, 0, 0, 1501.275024, -3675.826172, 81.447624, 3.300069, 'Redpath - Spawn Horgus - action list'), +(@Redpath*100, 9, 11, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Horgus, 100, 0, 0, 0, 0, 0, 'Horgus - talk1 - action list'), +(@Horgus, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 11, 29060, 1, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Horgus - On spawn - cast spell 29060'), +(@Lightfire, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 53, 1,@Lightfire, 0, 0, 9000000, 2, 1, 0, 0, 0, 0, 0, 0, 0, 'Lightfire - On spawn - waypoint1'), +(@Lightfire, 0, 1, 0, 63, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lightfire - On spawn - texte1'), +(@Davil, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - On spawn - action list'), +(@Davil, 0, 1, 0, 63, 0, 100, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lightfire - On spawn - texte2'), +(@Joseph, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 80, @Joseph*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Joseph - On spawn - action list'), +(@Joseph*100, 9, 0, 0, 0, 0, 100, 0, 30000, 30000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Davil - despawn - action list'), +(@Joseph*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 53, 0, @Joseph, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Joseph - Start Script - waypoint '), +(@Joseph*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Joseph - Start Script - remove npcflag'), +(@Joseph, 0, 1, 0, 40, 0, 100, 0, 4, 0, 0, 0, 80, @Joseph*100+1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Joseph - On waypoint4 - Start Script'), +(@Joseph*100+1, 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, 'Joseph - On Script - Talk1'), +(@Joseph*100+1, 9, 1, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Pamela, 10, 0, 0, 0, 0, 0, 'Pamela - On Script - Talk1'), +(@Joseph*100+1, 9, 2, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Pamela, 10, 0, 0, 0, 0, 0, 'Pamela - On Script - Talk2'), +(@Joseph*100+1, 9, 3, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @Pamela, 10, 0, 0, 0, 0, 0, 'Pamela - On Script - Talk3'), +(@Joseph*100+1, 9, 4, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Pamela, 10, 0, 0, 0, 0, 0, 'Pamela - On Script - Talk4'), +(@Joseph*100+1, 9, 5, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Joseph - On Script - Talk2'), +(@Joseph*100+1, 9, 6, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Joseph - despawn - action list'), +(@Joseph, 0, 2, 0, 64, 0, 100, 0, 0, 0, 0, 0, 33, @Joseph, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Joseph - On waypoint4 - Start Script'), +(@Horgus, 0, 1, 0, 6, 0, 100, 0, 0, 0, 0, 0, 80, @Horgus*100, 2, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Horgus - On death - action list'), +(@Horgus*100, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - talk 2 - action list'), +(@Horgus*100, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - talk 2 - action list'), +(@Horgus*100, 9, 2, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - talk 3 - action list'), +(@Horgus*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - talk 3 - action list'), +(@Horgus*100, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - On Script - Set React Passive'), +(@Horgus*100, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0,19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - On Script - Set Immune To NPC'), +(@Horgus*100, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - On Script - evade'), +(@Horgus*100, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 5, 65, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - play emote - action list'), +(@Horgus*100, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, @Lightfire, 100, 0, 0, 0, 0, 0, 'Lightfire - despawn - action list'), +(@Horgus*100, 9, 9, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 47, 1, 0, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - Visible On - action list'), +(@Horgus*100, 9, 10, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 53, 1, @Redpath, 0, 0, 0, 2, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - waypoint 1 - action list'), +(@Horgus*100, 9, 11, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - talk 1 - action list'), +(@Horgus*100, 9, 12, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Redpath - talk 2 - action list'), +(@Horgus*100, 9, 13, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 107, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g1 wave3 - action list'), +(@Horgus*100, 9, 14, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 107, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g4 wave1 - action list'), +(@Horgus*100, 9, 15, 0, 0, 0, 100, 0, 25000, 25000, 0, 0, 107, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - Spawn g4 wave2 - action list'), +(@Horgus*100, 9, 16, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 86, 18650, 2, 19, @Redpath, 50, 0, 19, @Redpath, 50, 0, 0, 0, 0, 0, 'Redpath - Spawn Marduk - action list'), +(@Horgus*100, 9, 17, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Marduk, 100, 0, 0, 0, 0, 0, 'Marduk - talk 1 - action list'), +(@Horgus*100, 9, 18, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - On Script - Set React Passive'), +(@Horgus*100, 9, 19, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0,19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - On Script - Set Immune To NPC'), +(@Horgus*100, 9, 20, 0, 0, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - On Script - evade'), +(@Horgus*100, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - set visible off - action list'), +(@Horgus*100, 9, 22, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 12, @CorruptedRed, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 1494.081055, -3676.041748,80.846764, 6.269975, 'Redpath - Spawn CorruptedRed - action list'), +(@Horgus*100, 9, 23, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @CorruptedRed, 40, 0, 0, 0, 0, 0, 'CorruptedRed - talk 1 - action list'), +(@Horgus*100, 9, 24, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @CorruptedRed, 40, 0, 0, 0, 0, 0, 'CorruptedRed - On talk 2 - action list'), +(@Horgus*100, 9, 25, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 41, 2, 0, 0, 0, 0, 0, 19, @Marduk, 40, 0, 0, 0, 0, 0, 'Marduk - Despawn - action list'), +(@Marduk, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 80, @Marduk*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Horgus - On spawn - ActionList'), +(@Marduk*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Marduk - On Script - Root'), +(@Marduk*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Marduk - On Script - Set React Passive'), +(@Marduk*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Marduk - On Script - Unit flag non attackable'), +(@Marduk*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - On Script - Set Immune To NPC'), +(@Marduk*100, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 131072, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Redpath - On Script - Set PACIFIED'), +(@CorruptedRed, 0, 0, 0, 6, 0, 100, 0, 0, 0, 0, 0, 80, @CorruptedRed*100, 2, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'CorruptedRed - On death - action list'), +(@CorruptedRed*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, @Joseph, 8, 60000, 0, 0, 0, 8, 0, 0, 0, 1444.337891, -3702.661133, 77.368271, 0.860624, 'Joseph - Spawn - action list'), +(@CorruptedRed*100, 9, 1, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 19, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - talk3 - action list'), +(@CorruptedRed*100, 9, 2, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - talk4 - action list'), +(@CorruptedRed*100, 9, 3, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 1, 4, 0, 0, 0, 0, 0, 19, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - talk5 - action list'), +(@CorruptedRed*100, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Davil - Set visible - action list'), +(@CorruptedRed*100, 9, 5, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - despawn - action list'), +(@CorruptedRed*100, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Silver, 100, 0, 0, 0, 0, 0, 'Silver - despawn - action list'), +(@CorruptedRed*100, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - despawn - action list'), +(@CorruptedRed*100, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Betrayer, 100, 0, 0, 0, 0, 0, 'Silver - despawn - action list'), +(@Lightfire, 0, 3, 0, 6, 0, 100, 0, 0, 0, 0, 0, 80, @Lightfire*100, 2, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Lightfire - On death - action list'), +(@Lightfire*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Davil - talk4 - action list'), +(@Lightfire*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 6, 5721, 0, 0, 0, 0, 0, 18, 100, 0, 0, 0, 0, 0, 0, 'Player - Quest failed - action list'), +(@Lightfire*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - despawn - action list'), +(@Lightfire*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Silver, 100, 0, 0, 0, 0, 0, 'Silver - despawn - action list'), +(@Lightfire*100, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @CorruptedRed, 100, 0, 0, 0, 0, 0, 'CorruptedRed - despawn - action list'), +(@Lightfire*100, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Betrayer, 100, 0, 0, 0, 0, 0, 'Betrayer - despawn - action list'), +(@Lightfire*100, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Bloodletter, 100, 0, 0, 0, 0, 0, 'Bloodletter - despawn - action list'), +(@Lightfire*100, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Sevant, 100, 0, 0, 0, 0, 0, 'Sevant - despawn - action list'), +(@Lightfire*100, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Horgus, 100, 0, 0, 0, 0, 0, 'Horgus - despawn - action list'), +(@Lightfire*100, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Skeleton, 100, 0, 0, 0, 0, 0, 'Skeleton - despawn - action list'), +(@Lightfire*100, 9, 10, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Corpse, 100, 0, 0, 0, 0, 0, 'Corpse - despawn - action list'), +(@Lightfire*100, 9, 11, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, @Redpath, 100, 0, 0, 0, 0, 0, 'Redpath - despawn - action list'), +(@Lightfire*100, 9, 12, 0, 0, 0, 100, 0, 1000, 4000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Davil - despawn - action list'), +(@Redpath, 0, 1, 0, 6, 0, 100, 0, 0, 0, 0, 0, 80, @Redpath*100+1, 2, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Redpath - On death - action list'), +(@Redpath*100+1, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Davil - talk1 - action list'), +(@Redpath*100+1, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 6, 5721, 0, 0, 0, 0, 0, 18, 100, 0, 0, 0, 0, 0, 0, 'Player - quest failed - action list'), +(@Redpath*100+1, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Defender, 100, 0, 0, 0, 0, 0, 'Defender - despawn - action list'), +(@Redpath*100+1, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Silver, 100, 0, 0, 0, 0, 0, 'Silver - despawn - action list'), +(@Redpath*100+1, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @CorruptedRed, 100, 0, 0, 0, 0, 0, 'CorruptedRed - despawn - action list'), +(@Redpath*100+1, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Betrayer, 100, 0, 0, 0, 0, 0, 'Betrayer - despawn - action list'), +(@Redpath*100+1, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Bloodletter, 100, 0, 0, 0, 0, 0, 'Bloodletter - despawn - action list'), +(@Redpath*100+1, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Sevant, 100, 0, 0, 0, 0, 0, 'Sevant - despawn - action list'), +(@Redpath*100+1, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Horgus, 100, 0, 0, 0, 0, 0, 'Horgus - despawn - action list'), +(@Redpath*100+1, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Skeleton, 100, 0, 0, 0, 0, 0, 'Skeleton - despawn - action list'), +(@Redpath*100+1, 9, 10, 0, 0, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, @Corpse, 100, 0, 0, 0, 0, 0, 'Corpse - despawn - action list'), +(@Redpath*100+1, 9, 11, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, @Davil, 100, 0, 0, 0, 0, 0, 'Davil - despawn - action list'), +(@Defender,0,0,0,0,0,100,0,3000,5000,5000,8000,11,11976,0,0,0,0,0,2,0,0,0,0,0,0,0,'Darrowshire Defender - In Combat - Cast Strike'), +(@Defender,0,1,0,0,0,100,0,5000,7000,7000,10000,11,12169,1,0,0,0,0,1,0,0,0,0,0,0,0,'Darrowshire Defender - In Combat - Cast Shield Block'), +(@Lightfire,0,4,0,4,0,100,1,0,0,0,0,11,17232,0,0,0,0,0,1,0,0,0,0,0,0,0,'Davil Lightfire - On Aggro - Cast Devotion Aura'), +(@Lightfire,0,5,0,0,0,100,0,5000,7000,8000,10000,11,17284,0,0,0,0,0,2,0,0,0,0,0,0,0,'Davil Lightfire - In Combat - Cast Holy Strike'), +(@Lightfire,0,6,0,0,0,100,0,8000,11000,15000,20000,11,13005,0,0,0,0,0,5,0,0,0,0,0,0,0,'Davil Lightfire - In Combat - Cast Hammer of Justice'), +(@Redpath,0,2,0,0,0,100,0,5000,7000,8000,10000,11,15284,0,0,0,0,0,2,0,0,0,0,0,0,0,'Captain Redpath - In Combat - Cast Cleave'), +(@Redpath,0,3,0,0,0,100,0,8000,10000,14000,18000,11,6253,0,0,0,0,0,2,0,0,0,0,0,0,0,'Captain Redpath - In Combat - Cast Backhand'), +(@Redpath,0,4,0,0,0,100,0,3000,5000,15000,20000,11,9128,0,0,0,0,0,1,0,0,0,0,0,0,0,'Captain Redpath - In Combat - Cast Battle Shout'), +(@Horgus,0,2,0,0,0,100,0,3000,5000,6000,8000,11,3391,0,0,0,0,0,1,0,0,0,0,0,0,0,'Horgus the Ravager - In Combat - Cast Thrash'), +(@Horgus,0,3,0,0,0,100,0,8000,11000,9000,12000,11,15608,1,0,0,0,0,2,0,0,0,0,0,0,0,'Horgus the Ravager - In Combat - Cast Ravenous Claw'), +(@CorruptedRed,0,1,0,0,0,100,0,3000,5000,5000,7000,11,15580,0,0,0,0,0,2,0,0,0,0,0,0,0,'Redpath the Corrupted - In Combat - Cast Strike'), +(@CorruptedRed,0,2,0,0,0,100,0,8000,10000,14000,18000,11,6253,0,0,0,0,0,2,0,0,0,0,0,0,0,'Redpath the Corrupted - In Combat - Cast Backhand'), +(@CorruptedRed,0,3,0,0,0,100,0,3000,5000,15000,20000,11,16244,0,0,0,0,0,1,0,0,0,0,0,0,0,'Redpath the Corrupted - In Combat - Cast Demoralizing Shout'), +(@CorruptedRed,0,4,0,0,0,100,0,5000,7000,9000,14000,11,12542,1,0,0,0,0,6,0,0,0,0,0,0,0,'Redpath the Corrupted - In Combat - Cast Fear'); + +DELETE FROM `waypoints` WHERE `entry` IN (@Lightfire, @Redpath, @Joseph); +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@Lightfire,1, 1501.275024, -3675.826172, 81.447624,'Lightfire'), +(@joseph,1, 1433.060059, -3682.163086, 76.364197 , 'Joseph'), +(@joseph,2, 1433.873169, -3640.699707, 78.194763, 'Joseph'), +(@joseph,3, 1454.325439, -3595.439941, 86.951950, 'Joseph'), +(@joseph,4, 1455.368286, -3596.347900, 86.950905, 'Joseph'), +(@Redpath,1, 1501.275024, -3675.826172, 81.447624,'Redpath'); + +UPDATE `npc_text` SET `BroadcastTextID0`=7454 WHERE `ID`=4777; +DELETE FROM `gossip_menu` WHERE `entry`=3922 AND `text_id`=4777; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (3922,4777); +UPDATE `creature_template` SET `gossip_menu_id`=3922 WHERE `entry`=10945; +UPDATE `creature_template` SET `npcflag`=1 WHERE `entry`=10945; +UPDATE `npc_text` SET `BroadcastTextID0`=7455 WHERE `ID`=4778; +DELETE FROM `gossip_menu` WHERE `entry`=3861 AND `text_id`=4778; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (3861,4778); +UPDATE `creature_template` SET `gossip_menu_id`=3861 WHERE `entry`=10936; +UPDATE `creature_template` SET `npcflag`=1 WHERE `entry`=10936; + +DELETE FROM `creature_text` WHERE `entry` IN (@Defender, @Lightfire, @Horgus, @Redpath, @Marduk, @CorruptedRed, @Joseph, @Pamela, @Davil) ; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(@Defender, 0, 0, 'Darrowshire, to arms! The Scourge approach!', 14, 0, 100, 0, 0, 0, 'Defender1', 7358), +(@Lightfire, 0, 0, 'Do not lose hope, Darrowshire! We will not fall!', 14, 0, 100, 0, 0, 0, 'Lightfire1', 7343), +(@Horgus, 0, 0, 'The light burns bright in you, Davil, I will enjoy snuffing it out.', 14, 0, 100, 0, 0, 0, 'Horgus', 7344), +(@Lightfire, 1, 0, 'Horgus, your nightmare ends! Now!', 14, 0, 100, 0, 0, 0, 'Lightfire2', 7346), +(@Defender, 1, 0, 'Horgus is slain! Take heat, defenders of Darrowshire.', 14, 0, 100, 0, 0, 0, 'Defender2', 7368), +(@Lightfire, 2, 0, 'Ah! My wounds are too severe. Defenders, fight on without me!', 12, 0, 100, 0, 0, 0, 'Lightfire2', 7227), +(@Lightfire, 3, 0, 'Davil Lightfire has succumbed to his wounds!', 16, 0, 100, 0, 0, 0, 'Lightfire2', 7367), +(@Redpath, 0, 0, 'Defenders of Darrowshire! Rally! we must prevail!', 14, 0, 100, 0, 0, 0, 'Redpath1', 7355), +(@Davil, 1, 0, 'Captain Redpath has appeared on the battlefield! Protect him!', 41, 0, 100, 0, 0, 0, 'Redpath2', 45683), +(@Davil, 0, 0, 'Captain Redpath! How could you forsake us!', 41, 0, 100, 0, 0, 0, 'Redpath3', 7212), +(@Davil, 2, 0, 'Protect Davil Lightfire!', 41, 0, 100, 0, 0, 0, 'Lightfire1', 45681), +(@Davil, 3, 0, 'Davil Lightfire is defeated! Darrowshire is lost!', 41, 0, 100, 0, 0, 0, 'Redpath4', 7366), +(@Marduk, 0, 0, 'Redpath! Your life ends, here and now!', 12, 0, 100, 0, 0, 0, 'Marduk1', 7471), +(@CorruptedRed, 0, 0, 'Darrowshire! Your are doomed!', 14, 0, 100, 0, 0, 0, 'CorruptedRed1', 7356), +(@CorruptedRed, 1, 0, 'Captain Joseph Redpath has been corrupted! Kill him quickly!', 41, 0, 100, 0, 0, 0, 'CorruptedRed2', 45684), +(@Defender, 2, 0, 'Captain Redpath is slain!', 14, 0, 100, 0, 0, 0, 'Defender3', 7369), +(@Defender, 3, 0, 'The Scourge are defeated! Darrowshire is saved!', 14, 0, 100, 0, 0, 0, 'Defender4', 7407), +(@Defender, 4, 0, 'Speak with Joseph Redpath in the center of Darrowshire.', 41, 0, 100, 0, 0, 0, 'Defender5', 45685), +(@Joseph, 0, 0, 'Pamela? Are you there, honey?', 12, 0, 100, 0, 0, 0, 'Joseph1', 7397), +(@Pamela, 0, 0, 'Daddy!', 12, 0, 100, 0, 0, 0, 'Pamela1', 7399), +(@Pamela, 1, 0, 'Daddy! You''re back!', 12, 0, 100, 0, 0, 0, 'Pamela2', 7400), +(@Pamela, 2, 0, 'Let''s go play! No, tell me a story, Daddy! No... let''s go pick flowers! And play tea time! I found my dollie, did I tell you?', 12, 0, 100, 0, 0, 0, 'Pamela3', 7401), +(@Pamela, 3, 0, 'I missed you so much, Daddy!', 12, 0, 100, 0, 0, 0, 'Pamela4', 7402), +(@Joseph, 1, 0, 'I missed you too, honey. And I''m finally home...', 12, 0, 100, 0, 0, 0, 'Joseph2', 7403); diff --git a/sql/updates/world/2015_02_23_09_world.sql b/sql/updates/world/2015_02_23_09_world.sql new file mode 100644 index 00000000000..f96d3d42a1b --- /dev/null +++ b/sql/updates/world/2015_02_23_09_world.sql @@ -0,0 +1,5 @@ +DELETE FROM `spell_scripts` WHERE `id`= 66477; +INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES +(66477, 0, 0, 15, 66622, 2, 1, 0, 0, 0, 0), +(66477, 0, 0, 15, 66478, 2, 1, 0, 0, 0, 0), +(66477, 0, 0, 15, 66041, 2, 1, 0, 0, 0, 0); diff --git a/sql/updates/world/2015_02_23_10_world.sql b/sql/updates/world/2015_02_23_10_world.sql new file mode 100644 index 00000000000..e5b7bf5242d --- /dev/null +++ b/sql/updates/world/2015_02_23_10_world.sql @@ -0,0 +1,177 @@ +-- A Distraction For Akama +SET @Maiev := 22989; -- Maev +SET @Akama := 22990; -- Akama +SET @Vagath := 23152; -- Vagath +SET @IllidariShadow := 22988; -- IllidariShadow +SET @Ashtongue := 21701; -- Ashtongue +SET @FanOfBlades := 39954; -- Maev spell +SET @Stealth := 34189; -- Maev spell +SET @ChainLightning := 39945; -- Akama spell +SET @Xiri := 18528; -- XI'RI +SET @IllidariRavag := 22857; -- Illidari Ravager +SET @LightOfTheNaa1 := 39829; -- XI'RI spell +SET @LightOfTheNaa2 := 39831; -- XI'RI spell +SET @FyraDawnstar := 22864; -- FyraDawnstar +SET @Caalen := 22862; -- Anachorete Caalen +SET @Lightsworn := 22861; -- Lightsworn Vindicator +SET @Magister := 22863; -- Seasoned Magister +SET @ID := 8650; -- Gossip Menu + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (22989, 22990, 23152, 22988, 21701, 18528, 22857, 22864, 22863, 22862, 22861); +UPDATE `creature_template` SET `npcflag`=0 where `entry`=22990; +DELETE FROM creature_summon_groups WHERE summonerid=@Xiri; +INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES +(@Xiri,0,0,@Akama,-3557.775635,624.185852,6.244853,4.687259,3,300000), +(@Xiri,0,0,@Maiev,-3563.998047,623.326050,6.134195,4.687259,3,300000), +(@Xiri,0,0,@Ashtongue,-3568.963867,627.467407,5.477327,4.742220,3,300000), +(@Xiri,0,0,@Ashtongue,-3565.453125,627.804199,5.458982,4.801125,3,300000), +(@Xiri,0,0,@Ashtongue,-3561.734375,628.002930,5.536494,4.76578,3,300000), +(@Xiri,0,0,@Ashtongue,-3557.638428,628.221863,5.681130,4.76578,3,300000), +(@Xiri,0,0,@Ashtongue,-3554.038574,628.414246,5.853768,4.76578,3,300000), +(@Xiri,0,0,@Ashtongue,-3557.367188,632.975952,5.016828,4.830713,3,300000), +(@Xiri,0,0,@Ashtongue,-3561.433350,632.492554,4.889128,4.830713,3,300000), +(@Xiri,0,0,@Ashtongue,-3565.568848,632.000916,4.862391,4.830713,3,300000), +(@Xiri,0,0,@Vagath,-3564.023438,406.373199,29.640791,1.577282,3,300000), +(@Xiri,0,0,@IllidariRavag,-3570.985840,408.893219,29.715797,1.529191,3,300000), +(@Xiri,0,0,@IllidariRavag,-3556.721924,409.166534,29.495508,1.599877,3,300000), +(@Xiri,0,0,@IllidariShadow,-3571.129395,418.261780,28.846333,1.556680,3,300000), +(@Xiri,0,0,@IllidariShadow,-3581.750977,417.807861,30.357321,1.560607,3,300000), +(@Xiri,0,0,@IllidariShadow,-3576.343506,424.403748,28.781679,1.482065,3,300000), +(@Xiri,0,0,@IllidariShadow,-3568.493652,427.238312,28.031080,1.609870,3,300000), +(@Xiri,0,0,@IllidariShadow,-3559.938232,428.418793,27.697611,1.641286,3,300000), +(@Xiri,0,0,@IllidariShadow,-3564.919678,432.020447,27.485765,1.633432,3,300000); + +DELETE FROM `creature_text` WHERE `entry` IN (@Akama, @FyraDawnstar, @Caalen, @Vagath, @Maiev, @Xiri) ; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES +(@FyraDawnstar, 0, 0, 'Onward, Scryers! Show Illidan''s lackeys the temper of our steel!', 14, 0, 100, 0, 0, 0, 'Fyra Downstar', 20696), +(@Caalen, 0, 0, 'Come closer, demon! Death awaits!', 12, 0, 100, 0, 0, 0, 'Caalen', 20670), +(@Caalen, 0, 1, 'Illidan''s lapdogs! Destroy them all!', 12, 0, 100, 0, 0, 0, 'Caalen', 20669), +(@Caalen, 0, 2, 'I''ve a message for your master, scum!', 12, 0, 100, 0, 0, 0, 'Caalen', 20672), +(@Caalen, 0, 3, 'Pathetic worm... your master''s days are over!', 12, 0, 100, 0, 0, 0, 'Caalen', 20671), +(@Caalen, 0, 4, 'For Xi''ri! For the Sha''tar!', 12, 0, 100, 0, 0, 0, 'Caalen', 20667), +(@Caalen, 0, 5, 'Your end is at hand, Illidari!', 12, 0, 100, 0, 0, 0, 'Caalen', 20668), +(@Vagath, 0, 0, 'Pitiful wretches. You dared invade Illidan''s temple? Very well, I shall make it your death bed!', 14, 0, 100, 0, 0, 0, 'Vagath', 20719), +(@Akama, 0, 0, 'Now is the time, Maiev! Unleash your wrath!', 14, 0, 100, 0, 0, 0, 'Akama', 20742), +(@Maiev, 0, 0, 'I''ve waited for this moment for years. Illidan and his lapdogs will be destroyed!', 14, 0, 100, 0, 0, 0, 'Maiev', 20743), +(@Akama, 1, 0, 'Slay all who see us! Word must not get back to Illidan.', 14, 0, 100, 0, 0, 0, 'Akama', 20744), +(@Maiev, 1, 0, 'Meet your end, demon!', 12, 0, 100, 0, 0, 0, 'Maiev', 0), +(@Vagath, 1, 0, 'You''ve sealed you fate, Akama. The Master will learn from your betrayal!', 14, 0, 100, 0, 0, 0, 'Vagath', 20745), +(@Akama, 2, 0, 'Akama has no master, not anymore.', 12, 0, 100, 0, 0, 0, 'Akama', 20746), +(@Akama, 3, 0, 'Our plans are in danger already. It appears Maiev''s decided to do things her own way.', 12, 0, 100, 0, 0, 0, 'Akama', 20748), +(@Akama, 4, 0, '%s''s attention shifts to a crack along the temple''s southern wall.', 16, 0, 100, 0, 0, 0, 'Akama', 20749), +(@Akama, 5, 0, 'We must carry on with or without Maiev. Inside! Quickly!', 12, 0, 100, 0, 0, 0, 'Akama', 20750), +(@Xiri, 0, 0, '%s falls silent and a quiet tension falls over nearby Sha''tar forces as Xi''ri makes his decision.', 16, 0, 100, 0, 0, 0, 'Xiri', 20737), +(@Xiri, 1, 0, '%s begins channeling the powers of the light.', 16, 0, 100, 0, 0, 0, 'Xiri', 20693); + +DELETE FROM `gossip_menu_option` WHERE `menu_id` = 8650 AND `id` = 0; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `OptionBroadcastTextID`) VALUES +(8650,0,0, 'I am ready to join you for the battle, Xi''ri.',1,1,0,0,0,0, '', 21003); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@ID; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@ID,0,0,9,10985,0,0,0,'','Show gossip menu if player accept the quest A distraction for Akama'); + +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Akama AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Akama*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Maiev AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Maiev*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Xiri AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Xiri*100 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Xiri*100+1 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Xiri*100+2 AND `source_type` = 9; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Ashtongue AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Vagath AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Lightsworn AND `source_type` = 0; +DELETE FROM `smart_scripts` WHERE `entryorguid` = @Magister AND `source_type` = 0; + +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@Xiri, 0, 0, 0, 62, 0, 100, 0, 8650, 0, 0, 0, 80, @Xiri*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - On Gossip use - ActionList'), +(@Xiri*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, 'Xiri - ActionList - Close gossip'), +(@Xiri*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 83, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - ActionList - Remove npcflag'), +(@Xiri*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - ActionList - Talk'), +(@Xiri*100, 9, 3, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - ActionList - Talk'), +(@Xiri*100, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 39828, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - ActionList - Cast'), +(@Xiri*100, 9, 5, 0, 0, 0, 100, 0, 12000, 12000, 0, 0, 107, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - ActionList - Summon Group'), +(@Xiri*100, 9, 6, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Caalen, 60, 0, 0, 0, 0, 0, 'Caalen - On Gossip use - Talk'), +(@Xiri*100, 9, 7, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @FyraDawnstar, 60, 0, 0, 0, 0, 0, 'Caalen - On Gossip use - Talk'), +(@Xiri*100, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 39831, 0, 0, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 'Xiri - ActionList - Cast'), +(@Xiri*100, 9, 9, 0, 0, 0, 100, 0, 40000, 40000, 0, 0, 82, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - ActionList - Add npcflag'), +(@Akama, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 53, 1, @Akama, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Gossip use - Start Waypoint'), +(@Ashtongue, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 53, 1, @Ashtongue, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 'Ashtongue - On Gossip use - Start Waypoint'), +(@Maiev, 0, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 53, 1, @Maiev, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 'Ashtongue - On Gossip use - Start Waypoint'), +(@Xiri, 0, 1, 0, 62, 0, 100, 0, 8650, 0, 0, 0, 80, @Xiri*100+1, 2, 0, 0, 0, 0, 11, @Lightsworn, 80, 0, 0, 0, 0, 0, 'Xiri - On Gossip use - Start waypoint'), +(@Xiri*100+1, 9, 0, 0, 0, 0, 100, 0, 27000, 27000, 0, 0, 53, 1, @Lightsworn, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - On Gossip use - Start waypoint'), +(@Xiri, 0, 2, 0, 62, 0, 100, 0, 8650, 0, 0, 0, 80, @Xiri*100+2, 2, 0, 0, 0, 0, 11, @Magister, 80, 0, 0, 0, 0, 0, 'Xiri - On Gossip use - Start waypoint'), +(@Xiri*100+2, 9, 0, 0, 0, 0, 100, 0, 27000, 27000, 0, 0, 53, 1, @Magister, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 'Xiri - On Gossip use - Start waypoint'), +(@Maiev, 0, 1, 0, 40, 0, 100, 0, 1, 0, 0, 0, 80, @Maiev*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Vagath - On waypoint1 - Start Script'), +(@Maiev*100, 9, 0, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Vagath, 80, 0, 0, 0, 0, 0, 'Vagath - On Script - Talk1'), +(@Maiev*100, 9, 1, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, @Akama, 20, 0, 0, 0, 0, 0, 'Akama - On Script - Talk1'), +(@Maiev*100, 9, 2, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev - On Script - Talk1'), +(@Maiev*100, 9, 3, 0, 0, 0, 100, 0, 2500, 2500, 0, 0, 1, 1, 0, 0, 0, 0, 0, 19, @Akama, 20, 0, 0, 0, 0, 0, 'Akama - On Script - Talk2'), +(@Maiev*100, 9, 4, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev - On Script - Talk2'), +(@Maiev*100, 9, 5, 0, 0, 0, 100, 0, 15000, 15000, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev - On Script - Set React Passive'), +(@Maiev*100, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 18, 512, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev - On Script - Set Immune To NPC'), +(@Maiev*100, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev - On Script - evade'), +(@Maiev*100, 9, 8, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 11, 34189, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Maiev - On Script - Stealth'), +(@Vagath, 0, 0, 0, 4, 0, 100, 0, 0, 0, 0, 0, 1, 1, 14000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Vagath - On aggro - Talk2'), +(@Vagath, 0, 1, 0, 6, 0, 100, 0, 0, 0, 0, 0, 1, 2, 14000, 0, 0, 0, 0, 19, @Akama, 20, 0, 0, 0, 0, 0, 'Akama - On Vagath death - Talk3'), +(@Akama, 0, 1, 0, 40, 0, 100, 0, 2, 0, 0, 0, 80, @Akama*100, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On waypoint2 - Start Script'), +(@Akama*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 54, 12000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Script - pause Waypoint'), +(@Akama*100, 9, 2, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 3, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Script - Talk4'), +(@Akama*100, 9, 3, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 1, 4, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Script - Talk5'), +(@Akama*100, 9, 4, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 1, 5, 5000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On Script - Talk6'), +(@Ashtongue, 0, 1, 0, 40, 0, 100, 0, 2, 0, 0, 0, 54, 23000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On waypoint2 - event'), +(@Akama, 0, 2, 0, 40, 0, 100, 0, 6, 0, 0, 0, 11, 39932, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Akama - On waypoint3 - Cast Spell'), +(@Akama, 0, 3, 0, 0, 0, 100, 0, 1000, 1000, 4000, 4000, 11, @ChainLightning, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Akama - IC - Cast Spell'), +(@Maiev, 0, 2, 0, 0, 0, 100, 0, 1000, 1000, 3000, 3000, 11, @FanOfBlades, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Maiev - IC - Cast Spell'), +(@Magister, 0, 0, 0, 75, 0, 100, 0, 0, @IllidariRavag, 10, 5000, 49, 0, 0, 0, 0, 0, 0, 19, @IllidariRavag, 10, 0, 0, 0, 0, 0, 'Magister - On los ooc - Attack'), +(@Lightsworn, 0, 0, 0, 75, 0, 100, 0, 0, @IllidariRavag, 10, 5000, 49, 0, 0, 0, 0, 0, 0, 19, @IllidariRavag, 10, 0, 0, 0, 0, 0, 'Lightsworn - On los ooc - Attacka'), +(@Magister, 0, 1, 0, 75, 0, 100, 0, 0, @IllidariShadow, 10, 5000, 49, 0, 0, 0, 0, 0, 0, 19, @IllidariShadow, 10, 0, 0, 0, 0, 0, 'Magister - On los ooc - Attack'), +(@Lightsworn, 0, 1, 0, 75, 0, 100, 0, 0, @IllidariShadow, 10, 5000, 49, 0, 0, 0, 0, 0, 0, 19, @IllidariShadow, 10, 0, 0, 0, 0, 0, 'Lightsworn - On los ooc - Attacka'), +(@Magister, 0, 2, 0, 0, 0, 100, 0, 1000, 1000, 4000, 4000, 11, 9053, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Akama - IC - Cast Spell'), +(@Lightsworn, 0, 2, 0, 0, 0, 100, 0, 1000, 1000, 4000, 4000, 11, 33632, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Akama - IC - Cast Spell'), +(@Lightsworn, 0, 3, 0, 0, 0, 100, 0, 5000, 5000, 10000, 10000, 11, 13005, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Akama - IC - Cast Spell'), +(@Lightsworn, 0, 4, 0, 0, 0, 100, 0, 3000, 8000, 5000, 8000, 11, 13952, 0, 0, 0, 0, 0, 26, 10, 0, 0, 0, 0, 0, 0, 'Akama - IC - Cast Spell'); + +DELETE FROM `waypoints` WHERE entry in (@Akama, @Maiev, @Ashtongue, @Lightsworn, @Magister); +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@Akama,1,-3562.123291, 486.208344, 22.091547,'Akama1'), +(@Akama,2,-3569.400879, 408.074738, 29.698217,'Akama2'), +(@Akama,3,-3578.632568, 353.128601, 35.888973,'Ashtongue3'), +(@Akama,4,-3600.931885, 322.053955, 39.085770,'Ashtongue3'), +(@Akama,5,-3617.203125, 320.658691, 39.697262,'Ashtongue3'), +(@Akama,6,-3651.692627, 317.280975, 35.914421,'Akama3'), +(@Maiev,1,-3567.418457, 485.073334, 22.376778,'Maiev1'), +(@Maiev,2,-3567.913086, 400.602386, 30.253670,'Maiev2'), +(@Maiev,3,-3567.458740, 371.282898, 32.955494,'Maiev3'), +(@Maiev,4,-3651.692627, 317.280975, 35.914421,'Maiev4'), +(@Lightsworn,1,-3562.123291, 486.208344, 22.091547,'Lightsworn1'), +(@Lightsworn,2,-3569.400879, 408.074738, 29.698217,'Lightsworn2'), +(@Magister,1,-3562.123291, 486.208344, 22.091547,'Magister1'), +(@Magister,2,-3569.400879, 408.074738, 29.698217,'Magister2'), +(@Ashtongue,1,-3562.123291, 486.208344, 22.091547,'Ashtongue1'), +(@Ashtongue,2,-3569.400879, 408.074738, 29.698217,'Ashtongue2'), +(@Ashtongue,3,-3578.632568, 353.128601, 35.888973,'Ashtongue3'), +(@Ashtongue,4,-3600.931885, 322.053955, 39.085770,'Ashtongue3'), +(@Ashtongue,5,-3617.203125, 320.658691, 39.697262,'Ashtongue3'), +(@Ashtongue,6,-3651.692627, 317.280975, 35.914421,'Ashtongue3'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` = 39831; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 3, 39831, 0, 31, 3, @Ashtongue, 0, 0, '', NULL), +(13, 3, 39831, 1, 31, 3, @Akama, 0, 0, '', NULL), +(13, 3, 39831, 2, 31, 3, @Maiev, 0, 0, '', NULL), +(13, 3, 39831, 3, 31, 3, @Lightsworn, 0, 0, '', NULL), +(13, 3, 39831, 4, 31, 3, @Magister, 0, 0, '', NULL); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` = 39832; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 3, 39832, 0, 31, 3, @Ashtongue, 0, 0, '', NULL), +(13, 3, 39832, 1, 31, 3, @Akama, 0, 0, '', NULL), +(13, 3, 39832, 2, 31, 3, @Maiev, 0, 0, '', NULL), +(13, 3, 39832, 3, 31, 3, @Lightsworn, 0, 0, '', NULL), +(13, 3, 39832, 4, 31, 3, @Magister, 0, 0, '', NULL); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` = 39932; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 2, 39932, 0, 8, 13429 , 0, 0, 0, '', 'Eye of the Witness Distraction for Akama'); diff --git a/sql/updates/world/2015_02_24_00_world.sql b/sql/updates/world/2015_02_24_00_world.sql new file mode 100644 index 00000000000..e0b1a44286e --- /dev/null +++ b/sql/updates/world/2015_02_24_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` =17 AND `SourceEntry`=56448; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(17, 0, 56448, 0, 0, 31, 1, 3, 30142, 0, 0, 0, 0, '', 'Storm Hammer only targets only The Iron Watcher'); diff --git a/sql/updates/world/2015_02_24_01_world.sql b/sql/updates/world/2015_02_24_01_world.sql new file mode 100644 index 00000000000..3db370ac965 --- /dev/null +++ b/sql/updates/world/2015_02_24_01_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `disables` WHERE `sourceType`=0 AND `entry`=35113; +INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES +(0, 35113, 64, '', '', 'Ignore LOS on Warp Measurement'); diff --git a/sql/updates/world/2015_02_25_00_world.sql b/sql/updates/world/2015_02_25_00_world.sql new file mode 100644 index 00000000000..0d72b108502 --- /dev/null +++ b/sql/updates/world/2015_02_25_00_world.sql @@ -0,0 +1,25 @@ +-- +DELETE FROM `gossip_menu` WHERE `entry`=9821 AND `text_id`=13557; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9821,13557); +UPDATE `creature_template` SET `gossip_menu_id`=9821 WHERE `entry`=9977; + +DELETE FROM `gossip_menu` WHERE `entry`=4841 AND `text_id`=5894; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4841,5894); +UPDATE `creature_template` SET `gossip_menu_id`=4841 WHERE `entry`=12997; + +DELETE FROM `gossip_menu` WHERE `entry`=4845 AND `text_id`=5920; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4845,5920); +UPDATE `creature_template` SET `gossip_menu_id`=4845 WHERE `entry`=13018; + +DELETE FROM `gossip_menu` WHERE `entry`=10631 AND `text_id`=14724; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10631,14724); +UPDATE `creature_template` SET `gossip_menu_id`=10631 WHERE `entry`=35073; + +DELETE FROM `gossip_menu` WHERE `entry`=3501 AND `text_id`=4253; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (3501,4253); +UPDATE `creature_template` SET `gossip_menu_id`=3501 WHERE `entry`=1694; + +UPDATE `creature_template` SET `npcflag`=0 WHERE `entry`=13076; + +DELETE FROM `gossip_menu` WHERE `entry`=9027 AND `text_id` IN (12198); +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9027,12198); diff --git a/sql/updates/world/2015_02_27_00_world.sql b/sql/updates/world/2015_02_27_00_world.sql new file mode 100644 index 00000000000..92d1bd55c8a --- /dev/null +++ b/sql/updates/world/2015_02_27_00_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9900; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15,9900,0,0,0,9,0,13010,0,0,0,0,'','Show gossip if player has quest completed'), +(15,9900,0,0,0,5,0,1119,240,0,0,0,'','Show gossip if player is at least friendly'); diff --git a/sql/updates/world/2015_02_27_01_world.sql b/sql/updates/world/2015_02_27_01_world.sql new file mode 100644 index 00000000000..30f02d9900e --- /dev/null +++ b/sql/updates/world/2015_02_27_01_world.sql @@ -0,0 +1,3 @@ +-- +Update `smart_scripts` SET `action_type`=85, `target_type`=7 WHERE `entryorguid`= 3177300 AND `source_type`=9 AND `id`=0; +Update `smart_scripts` SET `action_type`=85, `target_type`=7 WHERE `entryorguid`= 3244200 AND `source_type`=9 AND `id`=0; diff --git a/sql/updates/world/2015_02_27_02_world.sql b/sql/updates/world/2015_02_27_02_world.sql new file mode 100644 index 00000000000..1298bc54674 --- /dev/null +++ b/sql/updates/world/2015_02_27_02_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `action_type`=85 WHERE `entryorguid`=28298 AND `source_type`=0 AND `id` =0; diff --git a/sql/updates/world/2015_03_01_00_world.sql b/sql/updates/world/2015_03_01_00_world.sql new file mode 100644 index 00000000000..5fa2dc8de28 --- /dev/null +++ b/sql/updates/world/2015_03_01_00_world.sql @@ -0,0 +1,30 @@ +-- +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 2586); +DELETE FROM `creature_template_addon` WHERE `entry`=2586; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(2586, 0, 0, 131072, 1, 0, ""); + +UPDATE `creature_template_addon` SET `bytes1`=131072, `bytes2`=1 WHERE `entry` IN ( 6035, 22060, 18116, 16928, 16170, 11792, 6886, 4798, 2522, 25484, 4850, 1040, 579, 4834, 215, 1713, 938, 768, 17949); + +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 11792); +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 4798); + +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 2242); +DELETE FROM `creature_template_addon` WHERE `entry`=2242; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(2242, 0, 0, 131072, 1, 0, ""); + +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 2246); +DELETE FROM `creature_template_addon` WHERE `entry`=2246; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(2246, 0, 0, 131072, 1, 0, ""); + +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 2926); +DELETE FROM `creature_template_addon` WHERE `entry`=2926; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(2926, 0, 0, 131072, 1, 0, ""); + +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id` = 7110); +DELETE FROM `creature_template_addon` WHERE `entry`=7110; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(7110, 0, 0, 131072, 1, 0, ""); diff --git a/sql/updates/world/2015_03_02_00_world.sql b/sql/updates/world/2015_03_02_00_world.sql new file mode 100644 index 00000000000..a76b40e2212 --- /dev/null +++ b/sql/updates/world/2015_03_02_00_world.sql @@ -0,0 +1,15 @@ +UPDATE `quest_template` SET `PrevQuestId`=0 WHERE `Id`=13308; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN(19,20) AND `SourceEntry`=13308; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(19, 0, 13308, 0, 0, 8, 0, 13224, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires Orgrims Hammer Rewarded or'), +(20, 0, 13308, 0, 0, 8, 0, 13224, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires Orgrims Hammer Rewarded or'), +(19, 0, 13308, 0, 1, 9, 0, 13224, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires Orgrims Hammer Taken or'), +(20, 0, 13308, 0, 1, 9, 0, 13224, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires Orgrims Hammer Taken or'), +(19, 0, 13308, 0, 2, 28, 0, 13224, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires Orgrims Hammer Complete or'), +(20, 0, 13308, 0, 2, 28, 0, 13224, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires Orgrims Hammer Complete or'), +(19, 0, 13308, 0, 3, 8, 0, 13225, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires The Skybreaker Rewarded or'), +(20, 0, 13308, 0, 3, 8, 0, 13225, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires The Skybreaker Rewarded or'), +(19, 0, 13308, 0, 4, 9, 0, 13225, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires The Skybreaker Taken or'), +(20, 0, 13308, 0, 4, 9, 0, 13225, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires The Skybreaker Taken or'), +(19, 0, 13308, 0, 5, 28, 0, 13225, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires The Skybreaker Complete or'), +(20, 0, 13308, 0, 5, 28, 0, 13225, 0, 0, 0, 0, 0, '', 'Mind Tricks Requires The Skybreaker Complete or'); diff --git a/sql/updates/world/2015_03_02_01_world.sql b/sql/updates/world/2015_03_02_01_world.sql new file mode 100644 index 00000000000..45c43161ac9 --- /dev/null +++ b/sql/updates/world/2015_03_02_01_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `gameobject` SET `position_z`=402.410004 WHERE `guid`=99956; diff --git a/sql/updates/world/2015_03_02_02_world.sql b/sql/updates/world/2015_03_02_02_world.sql new file mode 100644 index 00000000000..99f00a1be47 --- /dev/null +++ b/sql/updates/world/2015_03_02_02_world.sql @@ -0,0 +1,25 @@ +-- Quest - Iron Rune Constructs and You: Collecting Data + +SET @GUID := 49220; -- Set by TC +SET @SUMMON := 49986; +SET @GOLEM := 24821; +SET @BENCH := 186958; +DELETE FROM `spell_target_position` WHERE `id` in (49988); +INSERT INTO `spell_target_position` (`id`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES +(49988, 571, 478.951782, -5941.529297, 308.749969, 0.419872); + +UPDATE `creature_template` SET `spell1`=44550, `AIName`='SmartAI' WHERE `entry`=@GOLEM; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@GOLEM AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@BENCH AND `source_type`=1 AND `id` IN (2,3); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@BENCH,1,2,3,62,0,100,0,9024,1,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Close gossip'), +(@BENCH,1,3,0,61,0,100,0,0,0,0,0,85,@SUMMON,2,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Summon Iron Rune Construct'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=44550; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 44550, 0, 31, 3, 24820, 0, 0, '', 'Collect Data target'); + +DELETE FROM `creature` WHERE `id`=24820; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`) VALUES +(@GUID, 24820, 571, 1, 1, 466.754089, -5921.273926, 309.139404, 0.751123, 120); diff --git a/sql/updates/world/2015_03_02_03_world.sql b/sql/updates/world/2015_03_02_03_world.sql new file mode 100644 index 00000000000..00240288b25 --- /dev/null +++ b/sql/updates/world/2015_03_02_03_world.sql @@ -0,0 +1,48 @@ +SET @SUMMON := 49989; +SET @GOLEM := 24823; +SET @BENCH := 186958; +SET @Lebronski := 24718; + +DELETE FROM `spell_target_position` WHERE `id` IN (49990); +INSERT INTO `spell_target_position` (`id`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES +(49990, 571, 478.951782, -5941.529297, 308.749969, 0.419872); + +UPDATE `creature_template` SET `spell1`=44562, `AIName`='SmartAI' WHERE `entry`=@GOLEM; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Lebronski; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@GOLEM*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Lebronski AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Lebronski*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Lebronski*100+1 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@BENCH AND `source_type`=1 AND `id` IN (4,5); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@BENCH,1,4,5,62,0,100,0,9024,2,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Close gossip'), +(@BENCH,1,5,0,61,0,100,0,0,0,0,0,85,@SUMMON,2,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Summon Iron Rune Construct'), +(@Lebronski,0,0,0,10,0,100,0,1,5,60000,60000,80,@Lebronski*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Turd - LOS - Action list'), +(@Lebronski*100,9,0,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Lebronski*100,9,1,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - Set Event phase1'), +(@Lebronski*100,9,2,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - Root'), +(@Lebronski*100,9,3,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Stanwad - Action list - Set Orientation'), +(@Lebronski*100,9,4,0,0,0,100,0,30000,30000,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - remove root'), +(@Lebronski,0,1,0,8,1,100,0,44562,0,0,0,80,@Lebronski*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lebronski - spell hit - action list'), +(@Lebronski*100+1,9,0,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - Set Event phase 0'), +(@Lebronski*100+1,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Lebronski*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Lebronski*100+1,9,3,0,0,0,100,0,0,0,0,0,80,@GOLEM*100,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Stanwad - Action list - Action list'), +(@Lebronski*100+1,9,4,0,0,0,100,0,10000,10000,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - Pause wp'), +(@GOLEM*100,9,0,0,0,0,100,0,0,0,0,0,11,44569,0,0,0,0,0,23,0,0,0,0,0,0,0,'Stanwad - Action list - Cast Credit'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@Lebronski; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@Lebronski,0,31,3,24823,0,0,'','event require npc 24823'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=44562; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 44562, 0, 31, 3, 24718, 0, 0, '', 'Bluff target'); + +DELETE FROM `creature_text` WHERE `entry`IN (@GOLEM); +DELETE FROM `creature_text` WHERE `entry`IN (@Lebronski) AND `groupid` IN (1, 2); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES +(@GOLEM,0,0,"Model U-9207 Iron Rune Construct does not appreciate your tone of voice. Commencing total annihilation of your rug, Lebronski.",12,0,100,0,0,0,'Iron Rune Construct', 23892), +(@Lebronski,1,0,"What do you think you're doing, man? Lebronski does NOT appreciate you dragging your loose metal parts all over his rug.",12,7,100,0,0,0,'Lebronski', 23890), +(@Lebronski,2,0,"Far out, man. This bucket of bolts might make it after all...",12,7,100,0,0,0,'Lebronski', 23891); diff --git a/sql/updates/world/2015_03_02_04_world.sql b/sql/updates/world/2015_03_02_04_world.sql new file mode 100644 index 00000000000..557d6cb6792 --- /dev/null +++ b/sql/updates/world/2015_03_02_04_world.sql @@ -0,0 +1,65 @@ +-- Quest - Iron Rune Constructs and You: Rocket Jumping +SET @SUMMON := 49985; +SET @GOLEM := 24806; +SET @RUNE := 186956; +SET @BENCH := 186958; +SET @Stanwad := 24717; +SET @Gwendolyn := 24719; +SET @Needlemeyer := 24720; +SET @Walt := 24807; +SET @Lebronski := 24718; + +DELETE FROM `spell_target_position` WHERE `id` in (49984); +INSERT INTO `spell_target_position` (`id`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES +(49984, 571, 478.951782, -5941.529297, 308.749969, 0.419872); + +UPDATE `creature_template` SET `spell1`=44498, `AIName`='SmartAI', `InhabitType`=5 WHERE `entry`=@GOLEM; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Stanwad; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=@BENCH; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@GOLEM AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Stanwad*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@BENCH AND `source_type`=1 AND `id` IN (0,1); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@BENCH,1,0,1,62,0,100,0,9024,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Close gossip'), +(@BENCH,1,1,0,61,0,100,0,0,0,0,0,85,@SUMMON,2,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Summon Iron Rune Construct'), +(@GOLEM,0,0,1,25,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - Just Summoned - Set phase 1'), +(@GOLEM,0,1,0,61,0,100,0,0,0,0,0,50,186952,60,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - Just Summoned - SummonGob'), +(@GOLEM,0,2,3,8,1,100,0,44498,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - spell hit - Say text'), +(@GOLEM,0,3,4,61,0,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - spell hit - Set phase 2'), +(@GOLEM,0,4,5,61,0,100,0,0,0,0,0,60,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - spell hit - Set fly'), +(@GOLEM,0,5,6,61,0,100,0,0,0,0,0,53,1,@GOLEM,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - spell hit - WP start'), +(@GOLEM,0,6,7,61,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,65653,@RUNE,0,0,0,0,0,'Iron Rune Construct - spell hit - Activate Gobject'), +(@GOLEM,0,7,0,61,0,100,0,0,0,0,0,80,@Stanwad*100,0,0,0,0,0,19,@Stanwad,30,0,0,0,0,0,'Iron Rune Construct - spell hit - ActionList'), +(@GOLEM,0,8,9,40,0,100,0,5,@GOLEM,0,0,11,44499,0,0,0,0,0,23,0,0,0,0,0,0,0,'Iron Rune Construct - Waypoint reached - cast credit spell'), +(@GOLEM,0,9,10,61,0,100,0,0,0,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - Waypoint reached - Set phase 3'), +(@GOLEM,0,10,0,61,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,65654,186957,0,0,0,0,0,'Iron Rune Construct - Just Summoned - Activate gob'), +(@GOLEM,0,11,0,1,4,100,1,7000,7000,0,0,28,46598,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - OOC (phase 3) - Remove Vehicle aura'), +(@Stanwad*100,9,0,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,19,@Walt,20,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,1,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,2,0,0,0,100,0,12000,12000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,3,0,0,0,100,0,1000,1000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,4,0,0,0,100,0,6000,6000,0,0,1,0,0,0,0,0,0,19,@Gwendolyn,20,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,5,0,0,0,100,0,6000,6000,0,0,1,0,0,0,0,0,0,19,@Needlemeyer,20,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,6,0,0,0,100,0,6000,6000,0,0,1,0,0,0,0,0,0,19,@Lebronski,20,0,0,0,0,0,'Stanwad - Action list - TALK'), +(@Stanwad*100,9,7,0,0,0,100,0,7000,7000,0,0,1,1,0,0,0,0,0,19,@Walt,20,0,0,0,0,0,'Stanwad - Action list - TALK'); + +DELETE FROM `creature_text` WHERE `entry`IN (@GOLEM, @Walt, @Stanwad, @Gwendolyn, @Needlemeyer, @Lebronski); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES +(@GOLEM,0,0,"Launching.",12,0,100,0,0,0,'Iron Rune Construct', 23860), +(@Walt,0,0,"Behold my perfect creation!",12,7,100,0,0,0,'Walt', 23873), +(@Stanwad,0,0,"WHOA, WHOA, WHOA! Hold everything fellas!",12,7,100,0,0,0,'Stanwad', 23875), +(@Stanwad,1,0,"Oh dear lords of stone and steel, what... I repeat... WHAT are ya gonna do with that?",12,7,100,0,0,0,'Stanwad', 23878), +(@Stanwad,2,0,"The dwarves all burst out in laughter.",16,7,100,0,0,0,'Stanwad', 23876), +(@Gwendolyn,0,0,"I'm cryin' here! Please, make the funny stop!",12,7,100,0,0,0,'Gwendolyn', 23885), +(@Needlemeyer,0,0,"If only our pappy were alive to see this!",12,0,100,0,0,0,'Needlemeyer', 23889), +(@Lebronski,0,0,"Man, that will never work. The iron dwarves are never gonna fall for that hunk o' junk!",12,7,100,0,0,0,'Lebronski', 23880), +(@Walt,1,0,"You're out of your element, Lebronski! Uncalled for! Those iron dwarves won't know what hit 'em! Now why don't you get back to uncovering the mystery of the gigantic turd on your rug and leave the real scientists to their work! ",12,7,100,0,0,0,'Walt', 23883); + +DELETE FROM `waypoints` WHERE `entry`=@GOLEM; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@GOLEM,1, 479.1233, -5941.48, 316.7,'Iron Rune Construct'), +(@GOLEM,2, 479.1461, -5941.515, 339.7554,'Iron Rune Construct'), +(@GOLEM,3, 496.1333, -5940.065, 344.5331,'Iron Rune Construct'), +(@GOLEM,4, 511.516, -5936.729, 339.7554,'Iron Rune Construct'), +(@GOLEM,5, 514.5781, -5936.898, 314.1444,'Iron Rune Construct'); diff --git a/sql/updates/world/2015_03_02_05_world.sql b/sql/updates/world/2015_03_02_05_world.sql new file mode 100644 index 00000000000..31eca7f0310 --- /dev/null +++ b/sql/updates/world/2015_03_02_05_world.sql @@ -0,0 +1,136 @@ +UPDATE `creature_addon` SET `mount`=0 WHERE `guid`=97508; + +/* questgiver */ +-- Warmage Anzim SAI +SET @ENTRY := 25356; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,1,19,0,100,0,11681,0,0,0,85,45883,0,0,0,0,0,7,0,0,0,0,0,0,0,"Warmage Anzim - On Quest 'Rescuing Evanor' Taken - Invoker Cast 'Amber Ledge to Beryl Point'"), +(@ENTRY,0,1,0,61,0,100,0,11681,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Anzim - On Quest 'Rescuing Evanor' Taken - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 2535600; +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,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Anzim - On Script - Remove Npc Flag Questgiver"), +(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,118574,27888,0,0,0,0,0,"Warmage Anzim - On Script - Set Data 1 1"), +(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,107998,25732,0,0,0,0,0,"Warmage Anzim - On Script - Set Data 1 1"), +(@ENTRY,9,3,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,108027,25733,0,0,0,0,0,"Warmage Anzim - On Script - Set Data 1 1"), +(@ENTRY,9,4,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,107602,25727,0,0,0,0,0,"Warmage Anzim - On Script - Set Data 1 1"), +(@ENTRY,9,5,0,0,0,100,0,180000,180000,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Anzim - On Script - Add Npc Flag Questgiver"); + +/* dragons */ + +-- Warmage Archus SAI +SET @ENTRY := 27888; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,38,0,100,0,1,1,0,0,53,1,@ENTRY,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Archus - On Data Set 1 1 - Start Waypoint"), +(@ENTRY,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Archus - On Data Set 1 1 - Set Active On"), +(@ENTRY,0,2,0,40,0,100,0,1,@ENTRY,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Moran - On Waypoint 1 Reached - Pause Waypoint"); + +-- Warmage Preston SAI +SET @ENTRY := 25732; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,38,0,100,0,1,1,0,0,53,1,@ENTRY,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Preston - On Data Set 1 1 - Start Waypoint"), +(@ENTRY,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Preston - On Data Set 1 1 - Set Active On"), +(@ENTRY,0,2,0,40,0,100,0,1,@ENTRY,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Moran - On Waypoint 1 Reached - Pause Waypoint"); + +-- Warmage Austin SAI +SET @ENTRY := 25733; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,38,0,100,0,1,1,0,0,53,1,@ENTRY,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Austin - On Data Set 1 1 - Start Waypoint"), +(@ENTRY,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Austin - On Data Set 1 1 - Set Active On"), +(@ENTRY,0,2,0,40,0,100,0,1,@ENTRY,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Moran - On Waypoint 1 Reached - Pause Waypoint"); + +-- Warmage Moran SAI +SET @ENTRY := 25727; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_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,38,0,100,0,1,1,0,0,53,1,25727,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Moran - On Data Set 1 1 - Start Waypoint"), +(@ENTRY,0,1,0,61,0,100,0,1,1,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Moran - On Data Set 1 1 - Set Active On"), +(@ENTRY,0,2,3,40,0,100,0,1,25727,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Warmage Moran - On Waypoint 1 Reached - Pause Waypoint"), +(@ENTRY,0,3,0,61,0,100,0,1,25727,0,0,75,42726,0,0,0,0,0,9,25724,0,100,0,0,0,0,"Warmage Moran - On Waypoint 1 Reached - Add Aura 'Cosmetic - Immolation (Whole Body)'"); + +-- Ascended Mage Hunter SAI +SET @ENTRY := 25724; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ascended Mage Hunter - On Respawn - Set Reactstate Passive"), +(@ENTRY,0,1,0,1,0,100,1,1000,1000,1000,1000,11,45940,0,0,0,0,0,9,25594,0,10,0,0,0,0,"Ascended Mage Hunter - Out of Combat - Cast 'Evanor's Prison Chains' (No Repeat)"), +(@ENTRY,0,2,3,23,0,100,1,42726,1,0,0,89,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Ascended Mage Hunter - On Has Aura 'Cosmetic - Immolation (Whole Body)' - Start Random Movement (No Repeat)"), +(@ENTRY,0,3,0,61,0,100,1,42726,1,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Ascended Mage Hunter - On Has Aura 'Cosmetic - Immolation (Whole Body)' - Run Script (No Repeat)"), +(@ENTRY,0,4,0,6,0,100,0,0,0,0,0,45,1,1,0,0,0,0,10,114368,24771,0,0,0,0,0,"Ascended Mage Hunter - On Just Died - Set Data 1 1"); + +-- Actionlist SAI +SET @ENTRY := 2572400; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,9,0,0,0,0,100,0,3000,3000,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"On Script - Kill Self"); + +-- Coldarra Invisman SAI +SET @ENTRY := 24771; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,0,0,80,@ENTRY*100+00,0,0,0,0,0,1,0,0,0,0,0,0,0,"Coldarra Invisman - On Data Set 1 1 - Run Script (No Repeat)"); + +-- Actionlist SAI +SET @ENTRY := 2477100; +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,4000,4000,0,0,9,0,0,0,0,0,0,20,187884,20,0,0,0,0,0,"Coldarra Invisman - On Script - activate Game Object"), +(@ENTRY,9,1,0,0,0,100,0,4000,4000,0,0,11,46013,2,0,0,0,0,1,0,0,0,0,0,0,0,"Coldarra Invisman - On Script - Cast 'Summon Lady Evanor'"); + +-- Archmage Evanor SAI +SET @ENTRY := 25784; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`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,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Evanor - On Just Summoned - Run Script"); + +-- Actionlist SAI +SET @ENTRY := 2578400; +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,1000,1000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Evanor - On Script - Say Line 0"), +(@ENTRY,9,1,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Evanor - On Script - Say Line 1"), +(@ENTRY,9,2,0,0,0,100,0,0,0,0,0,11,46018,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Evanor - On Script - Cast 'Teleport'"), +(@ENTRY,9,3,0,0,0,100,0,8000,8000,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Evanor - On Script - Despawn Instant"); + +DELETE FROM `creature_text` WHERE `entry`=25784; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(25784, 0, 0, 'I thank you, friend of Dalaran.', 12, 0, 100, 0, 0, 0, 24995, 0, 'Archmage Evanor'), +(25784, 1, 0, 'We mustn''t tarry here... stay close - I''ll take us somewhere safe.', 12, 0, 100, 0, 0, 0, 24996, 0, 'Archmage Evanor'); + +DELETE FROM `spell_target_position` WHERE `id`=46018; +INSERT INTO `spell_target_position` (`id`, `effIndex`, `target_map`, `target_position_x`, `target_position_y`, `target_position_z`, `target_orientation`, `VerifiedBuild`) VALUES +(46018, 0, 571, 3646.895, 5893.2773, 174.48, 0.674, 0); + +/* waypoint datas */ +DELETE FROM `waypoints` WHERE `entry`=25727; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(25727, 1,3195.641,6102.673,147.5568, 'Warmage Moran'), +(25727, 2,3437.590576,5915.928711,145.554291, 'Warmage Moran'); +DELETE FROM `waypoints` WHERE `entry`=25733; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(25733, 1,3224.336,6105.71,146.7791, 'Warmage Austin'), +(25733, 2,3435.270,5889.899,151.063, 'Warmage Austin'); +DELETE FROM `waypoints` WHERE `entry`=25732; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(25732, 1,3224.749,6083.038,147.5568, 'Warmage Preston'), +(25732, 2,3460.500,5877.4399,149.537, 'Warmage Preston'); +DELETE FROM `waypoints` WHERE `entry`=27888; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(27888, 1,3200.99,6074.898,144.9736, 'Warmage Archus'), +(27888, 2,3457.750,5892.669,147.380, 'Warmage Archus'); + +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry` IN (25727, 25733, 25732, 27888); diff --git a/sql/updates/world/2015_03_02_06_world.sql b/sql/updates/world/2015_03_02_06_world.sql new file mode 100644 index 00000000000..585c6482366 --- /dev/null +++ b/sql/updates/world/2015_03_02_06_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=20 AND `SourceEntry`=1789; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(20, 0, 1789, 0, 9, 1783, 0, 0, 0, '', 'Show the quest if 1783 is taken'); diff --git a/sql/updates/world/2015_03_07_00_world.sql b/sql/updates/world/2015_03_07_00_world.sql new file mode 100644 index 00000000000..4cc5d647e1a --- /dev/null +++ b/sql/updates/world/2015_03_07_00_world.sql @@ -0,0 +1 @@ +DELETE FROM `spell_linked_spell` WHERE `spell_effect`=69706; diff --git a/sql/updates/world/2015_03_07_01_world.sql b/sql/updates/world/2015_03_07_01_world.sql new file mode 100644 index 00000000000..40df9138eb4 --- /dev/null +++ b/sql/updates/world/2015_03_07_01_world.sql @@ -0,0 +1,2 @@ +-- 3.3.5 - 6.x +DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=49889; diff --git a/sql/updates/world/2015_03_07_02_world.sql b/sql/updates/world/2015_03_07_02_world.sql new file mode 100644 index 00000000000..5b48fd9779e --- /dev/null +++ b/sql/updates/world/2015_03_07_02_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `creature_addon` WHERE `guid` IN (26310,54733); +INSERT INTO `creature_addon` (`guid`, `path_id`) VALUES +(26310, 263100), +(54733, 547330); diff --git a/sql/updates/world/2015_03_07_03_world.sql b/sql/updates/world/2015_03_07_03_world.sql new file mode 100644 index 00000000000..8d8fe3be881 --- /dev/null +++ b/sql/updates/world/2015_03_07_03_world.sql @@ -0,0 +1,2 @@ +UPDATE `creature_template` SET `AIName`='', `ScriptName`='boss_nexus_commanders' WHERE `entry` IN(26796,26798); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN(26796,26798) AND `source_type`=0; diff --git a/sql/updates/world/2015_03_08_00_world.sql b/sql/updates/world/2015_03_08_00_world.sql new file mode 100644 index 00000000000..3bf1b2410ce --- /dev/null +++ b/sql/updates/world/2015_03_08_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_bonus_data` WHERE `entry`=3607; +INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`, `ap_bonus`, `ap_dot_bonus`, `comments`) VALUES +(3607, 0, 0, 0, 0, 'Yenniku Soul Gem'); diff --git a/sql/updates/world/2015_03_08_01_world.sql b/sql/updates/world/2015_03_08_01_world.sql new file mode 100644 index 00000000000..ddbc46739b1 --- /dev/null +++ b/sql/updates/world/2015_03_08_01_world.sql @@ -0,0 +1 @@ +DELETE FROM `creature` WHERE `id`=23450; diff --git a/sql/updates/world/2015_03_10_00_world.sql b/sql/updates/world/2015_03_10_00_world.sql new file mode 100644 index 00000000000..ade4e39c13b --- /dev/null +++ b/sql/updates/world/2015_03_10_00_world.sql @@ -0,0 +1,4 @@ +UPDATE `creature_template` SET `vehicleid`=60 WHERE `entry`=30159; +UPDATE `smart_scripts` SET `action_param2`=0 WHERE `entryorguid`=31242 AND `source_type`=0 AND `id`=14; +UPDATE `creature_template_addon` SET `mount`=0 WHERE `entry`=31242; +UPDATE `creature_text` SET `BroadcastTextId`=16227 WHERE `entry`=18292 AND `groupid`=0 AND `id`=0; diff --git a/sql/updates/world/2015_03_10_01_world.sql b/sql/updates/world/2015_03_10_01_world.sql new file mode 100644 index 00000000000..e2e945eb86d --- /dev/null +++ b/sql/updates/world/2015_03_10_01_world.sql @@ -0,0 +1,3 @@ +-- +UPDATE `creature_template` SET `faction`=2007 WHERE `entry` IN (35496,35498); +UPDATE `creature` SET `position_x`=5957.267, `position_y`=566.4926 WHERE `guid`=116668 AND `id` = 29657; diff --git a/sql/updates/world/2015_03_10_02_world.sql b/sql/updates/world/2015_03_10_02_world.sql new file mode 100644 index 00000000000..c692d88825f --- /dev/null +++ b/sql/updates/world/2015_03_10_02_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `npc_trainer` SET `spell`=2154 WHERE `entry`=201029 AND `spell`=3104; diff --git a/sql/updates/world/2015_03_10_03_world.sql b/sql/updates/world/2015_03_10_03_world.sql new file mode 100644 index 00000000000..4028abb8fdc --- /dev/null +++ b/sql/updates/world/2015_03_10_03_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `quest_template` SET `SpecialFlags`=2 WHERE `Id`=1560; diff --git a/sql/updates/world/2015_03_10_04_world.sql b/sql/updates/world/2015_03_10_04_world.sql new file mode 100644 index 00000000000..9fa686c09ec --- /dev/null +++ b/sql/updates/world/2015_03_10_04_world.sql @@ -0,0 +1,33 @@ +-- +SET @Geant:=24385; +SET @Megalithe:=24381; + +UPDATE `event_scripts` SET `x`=2406.492188 , `y`=-5738.995605, `z`=274.020172 , `o`=0.703918 WHERE `id`=15939; +UPDATE `creature_template` SET `unit_flags`=33600, `AIName`='SmartAI' WHERE `entry` IN (@Geant,@Megalithe); + +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (@Geant,@Megalithe); +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN (@Geant*100,@Megalithe*100); + +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@Megalithe, 0, 0, 0, 54, 0, 100, 0, 0, 0, 0, 0, 80, @Megalithe*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Megalithe - On Just summoned - action list'), +(@Megalithe*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 24385, 7, 0, 0, 0, 0, 8, 0, 0, 0, 2410.138184, -5727.264648, 270.985870, 4.287692, 'Megalithe - action liste -Summon'), +(@Megalithe*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 24385, 7, 0, 0, 0, 0, 8, 0, 0, 0, 2414.860596, -5729.499512, 272.095459, 3.982957, 'Megalithe - action liste -Summon'), +(@Megalithe*100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 24385, 7, 0, 0, 0, 0, 8, 0, 0, 0, 2417.339844, -5733.230957, 273.028992, 3.603609, 'Megalithe - action liste -Summon'), +(@Megalithe*100, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 12, 24385, 7, 0, 0, 0, 0, 8, 0, 0, 0, 2419.397705, -5738.032227, 274.121246, 3.241538, 'Megalithe - action liste -Summon'), +(@Megalithe*100, 9, 4, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Megalithe - action liste - Talk'), +(@Megalithe*100, 9, 5, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Megalithe - action liste - Talk'), +(@Megalithe*100, 9, 6, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Megalithe - action liste - Talk'), +(@Megalithe*100, 9, 7, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 80, @Geant*100, 0, 0, 0, 0, 0, 11, @Geant, 30, 0, 0, 0, 0, 0, 'Megalithe - action liste - Action List'), +(@Megalithe*100, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 11, 43693, 0, 0, 0, 0, 0, 21, 40, 0, 0, 0, 0, 0, 0, 'Megalithe - action liste - Cast Credit Quest'), +(@Megalithe*100, 9, 9, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Megalithe - action liste - Talk'), +(@Megalithe*100, 9, 10, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Megalithe - action liste - Talk'), +(@Geant*100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Geant - action liste - Run off'), +(@Geant*100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2515.453369, -5670.358398, 298.778076, 0.618311, 'Geant - action liste - Gotopos'), +(@Geant*100, 9, 2, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Geant - action liste - Despawnn'); + +DELETE FROM `creature_text` WHERE `entry` IN (@Megalithe); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES +(@Megalithe, 0, 0, 'Arise from the earth, my brothers!', 12, 0, 100, 0, 0, 0, 'Megalithe', 23311), +(@Megalithe, 1, 0, 'Our iron masters have a mission for us!', 12, 0, 100, 0, 0, 0, 'Megalithe', 23312), +(@Megalithe, 2, 0, 'Follow me into the mountains to carry out the plan of the masters!', 12, 0, 100, 0, 0, 0, 'Megalithe', 23315), +(@Megalithe, 3, 0, 'We will not fail!', 12, 0, 100, 0, 0, 0, 'Megalithe', 23332); diff --git a/sql/updates/world/2015_03_10_05_world.sql b/sql/updates/world/2015_03_10_05_world.sql new file mode 100644 index 00000000000..55cb5f9006a --- /dev/null +++ b/sql/updates/world/2015_03_10_05_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid`=20234 AND `source_type`=0 AND `id`=3; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(20234,0,3,0,19,0,100,0,10344,0,0,0,11,35237,0,0,0,0,0,7,0,0,0,0,0,0,0,"Runetog Wildhammer - On Quest accept - Cast spell"); diff --git a/sql/updates/world/2015_03_10_06_world.sql b/sql/updates/world/2015_03_10_06_world.sql new file mode 100644 index 00000000000..2a943f00037 --- /dev/null +++ b/sql/updates/world/2015_03_10_06_world.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid`= 39712 AND `source_type`=0 AND `id` IN (6, 7); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(39712, 0, 6, 7, 63, 0, 100, 0, 0, 0, 0, 0, 11, 74206, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Tinker Mekkatorque - Just created - cast spell'), +(39712, 0, 7, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 44816, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'High Tinker Mekkatorque - Just created - cast spell'); diff --git a/sql/updates/world/2015_03_10_07_world.sql b/sql/updates/world/2015_03_10_07_world.sql new file mode 100644 index 00000000000..cd2023ea5b8 --- /dev/null +++ b/sql/updates/world/2015_03_10_07_world.sql @@ -0,0 +1,12 @@ +-- +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (4331, 4329); +DELETE FROM `smart_scripts` WHERE `entryorguid`= 4328 AND `source_type`=0 AND `id` IN (3); +DELETE FROM `smart_scripts` WHERE `entryorguid`= 4331 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`= 4329 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(4328, 0, 3, 0, 8, 0, 100, 0, 42411, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Firemane Scalebane - On spell hit - Despawn'), +(4331, 0, 0, 0, 8, 0, 100, 0, 42411, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Firemane Ash Tail - On spell hit - Despawn'), +(4331, 0, 1, 0, 0, 0, 100, 0, 4000, 6000, 6000, 8000, 11, 11969, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Firemane Ash Tail - Icc - Cast Fire Nova'), +(4331, 0, 2, 0, 4, 0, 100, 0, 0, 0, 0, 0, 11, 18968, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Firemane Ash Tail - On aggr - cast Fire Shield'), +(4329, 0, 0, 0, 8, 0, 100, 0, 42411, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Firemane Scout - On spell hit - Despawn'), +(4329, 0, 1, 0, 4, 0, 100, 0, 0, 0, 0, 0, 11, 18968, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Firemane Scout - On aggr - cast Fire Shield'); diff --git a/sql/updates/world/2015_03_10_08_world.sql b/sql/updates/world/2015_03_10_08_world.sql new file mode 100644 index 00000000000..2992a858dc6 --- /dev/null +++ b/sql/updates/world/2015_03_10_08_world.sql @@ -0,0 +1,8 @@ +-- Add missing gossip for entry 7766 +DELETE FROM `gossip_menu` WHERE `entry`=1761; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (1761,2393),(1761,2394); +UPDATE `creature_template` SET `gossip_menu_id`=1761 WHERE entry=7766; + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1761; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `NegativeCondition`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,1761,2394,0,9,434,0,0,0,0,'','Show gossip menu text if quest 434 is taken'); diff --git a/sql/updates/world/2015_03_10_09_world.sql b/sql/updates/world/2015_03_10_09_world.sql new file mode 100644 index 00000000000..fd50bbb5037 --- /dev/null +++ b/sql/updates/world/2015_03_10_09_world.sql @@ -0,0 +1,7 @@ +-- +UPDATE creature_template SET InhabitType=4, unit_flags=64 WHERE Entry=17592; +DELETE FROM `smart_scripts` WHERE `entryorguid`=17592 AND `source_type`=0 AND `id`IN(5, 6, 7); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(17592, 0, 5, 6, 40, 0, 100, 0, 10, 17592, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Razormaw - On Waypoint 10 Reached - Set Home Position'), +(17592, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Razormaw - On Waypoint 10 Reached - Set Agressive'), +(17592, 0, 7, 0, 11, 0, 100, 0, 0, 0, 0, 0, 18, 256, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Razormaw - On Respawn - Add unit_flag'); diff --git a/sql/updates/world/2015_03_10_10_world.sql b/sql/updates/world/2015_03_10_10_world.sql new file mode 100644 index 00000000000..d3e1220006e --- /dev/null +++ b/sql/updates/world/2015_03_10_10_world.sql @@ -0,0 +1,55 @@ +-- Anton waypoints + +DELETE FROM `creature_addon` WHERE `guid`=117689; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(117689, 1176890, 0, 131072, 1, 0, ""); +UPDATE `creature` SET `MovementType`=2 WHERE `guid`=117689; +DELETE FROM `waypoint_data` WHERE `id`=1176890; +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +(1176890, 1, 153.249817, -4549.366211, 261.364685, 0, 0, 0, 0, 100, 0), +(1176890, 2, 156.098114, -4532.821289, 258.803101, 0, 0, 0, 0, 100, 0), +(1176890, 3, 156.068008, -4517.755371, 257.193939, 0, 0, 0, 0, 100, 0), +(1176890, 4, 144.178497, -4462.812500, 253.617325, 0, 0, 0, 0, 100, 0), +(1176890, 5, 141.329361, -4455.471191, 253.578766, 0, 0, 0, 0, 100, 0), +(1176890, 6, 125.436966, -4434.860840, 254.323639, 0, 0, 0, 0, 100, 0), +(1176890, 7, 122.155800, -4418.455566, 255.509537, 0, 0, 0, 0, 100, 0), +(1176890, 8, 121.316132, -4389.046387, 257.141205, 0, 0, 0, 0, 100, 0), +(1176890, 9, 124.869438, -4371.796875, 258.335938, 0, 0, 0, 0, 100, 0), +(1176890, 10, 128.642212, -4362.238281, 258.747375, 0, 0, 0, 0, 100, 0), +(1176890, 11, 141.832169, -4345.334473, 257.867676, 0, 0, 0, 0, 100, 0), +(1176890, 12, 150.246857, -4335.993652, 257.498810, 0, 0, 0, 0, 100, 0), +(1176890, 13, 160.376022, -4316.970703, 256.535919, 0, 0, 0, 0, 100, 0), +(1176890, 14, 168.596313, -4308.797363, 254.645386, 0, 0, 0, 0, 100, 0), +(1176890, 15, 178.860077, -4304.438477, 252.472916, 0, 0, 0, 0, 100, 0), +(1176890, 16, 195.836517, -4286.464355, 248.749603, 0, 0, 0, 0, 100, 0), +(1176890, 17, 213.626450, -4276.384766, 248.502441, 0, 0, 0, 0, 100, 0), +(1176890, 18, 238.895004, -4276.655762, 248.606018, 0, 0, 0, 0, 100, 0), +(1176890, 19, 245.764877, -4272.171387, 248.920975, 0, 0, 0, 0, 100, 0), +(1176890, 20, 264.235840, -4250.840332, 250.916733, 0, 0, 0, 0, 100, 0), +(1176890, 21, 282.604492, -4236.683594, 252.033737, 0, 0, 0, 0, 100, 0), +(1176890, 22, 288.971344, -4223.116211, 252.916443, 0, 0, 0, 0, 100, 0), +(1176890, 23, 291.303375, -4196.310547, 254.307571, 0, 0, 0, 0, 100, 0), +(1176890, 24, 294.156342, -4189.324707, 254.992859, 0, 0, 0, 0, 100, 0), +(1176890, 25, 291.303375, -4196.310547, 254.307571, 0, 0, 0, 0, 100, 0), +(1176890, 26, 288.971344, -4223.116211, 252.916443, 0, 0, 0, 0, 100, 0), +(1176890, 27, 282.604492, -4236.683594, 252.033737, 0, 0, 0, 0, 100, 0), +(1176890, 28, 264.235840, -4250.840332, 250.916733, 0, 0, 0, 0, 100, 0), +(1176890, 29, 245.764877, -4272.171387, 248.920975, 0, 0, 0, 0, 100, 0), +(1176890, 30, 238.895004, -4276.655762, 248.606018, 0, 0, 0, 0, 100, 0), +(1176890, 31, 213.626450, -4276.384766, 248.502441, 0, 0, 0, 0, 100, 0), +(1176890, 32, 195.836517, -4286.464355, 248.749603, 0, 0, 0, 0, 100, 0), +(1176890, 33, 178.860077, -4304.438477, 252.472916, 0, 0, 0, 0, 100, 0), +(1176890, 34, 168.596313, -4308.797363, 254.645386, 0, 0, 0, 0, 100, 0), +(1176890, 35, 160.376022, -4316.970703, 256.535919, 0, 0, 0, 0, 100, 0), +(1176890, 36, 150.246857, -4335.993652, 257.498810, 0, 0, 0, 0, 100, 0), +(1176890, 37, 141.832169, -4345.334473, 257.867676, 0, 0, 0, 0, 100, 0), +(1176890, 38, 128.642212, -4362.238281, 258.747375, 0, 0, 0, 0, 100, 0), +(1176890, 39, 124.869438, -4371.796875, 258.335938, 0, 0, 0, 0, 100, 0), +(1176890, 40, 121.316132, -4389.046387, 257.141205, 0, 0, 0, 0, 100, 0), +(1176890, 41, 122.155800, -4418.455566, 255.509537, 0, 0, 0, 0, 100, 0), +(1176890, 42, 125.436966, -4434.860840, 254.323639, 0, 0, 0, 0, 100, 0), +(1176890, 43, 141.329361, -4455.471191, 253.578766, 0, 0, 0, 0, 100, 0), +(1176890, 44, 144.178497, -4462.812500, 253.617325, 0, 0, 0, 0, 100, 0), +(1176890, 45, 156.068008, -4517.755371, 257.193939, 0, 0, 0, 0, 100, 0), +(1176890, 46, 156.098114, -4532.821289, 258.803101, 0, 0, 0, 0, 100, 0), +(1176890, 47, 153.249817, -4549.366211, 261.364685, 0, 0, 0, 0, 100, 0); diff --git a/sql/updates/world/2015_03_12_00_world.sql b/sql/updates/world/2015_03_12_00_world.sql new file mode 100644 index 00000000000..f8251f9b2b4 --- /dev/null +++ b/sql/updates/world/2015_03_12_00_world.sql @@ -0,0 +1,18 @@ +UPDATE `creature_template` SET `gossip_menu_id`=8443 WHERE `entry`=21769; +DELETE FROM `gossip_menu` WHERE `entry`=8443; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(8443, 10549); -- 21769 +DELETE FROM `gossip_menu_option` WHERE `menu_id`=8443; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES +(8443, 0, 0, 'I''ve lost my Kor''kron Flare Gun, sir. May I have another?', 19708, 1, 1, 0, 0, 0, 0, '', 0); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=21769 AND `source_type`=0 AND `id` IN(3,4); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(21769, 0, 3, 4, 62, 0, 100, 0, 8443, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Overlord Or\'barokh - On Gossip Option 0 Selected - Close Gossip'), +(21769, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 85, 38172, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Overlord Or\'barokh - On Gossip Option 0 Selected - Cast Create Kor''kron Flare Gun'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8443; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15, 8443, 0, 0, 0, 8, 0, 10750, 0, 0, 0, 0, 0, '', 'Show gossip option if player has the path of conquest rewarded'), +(15, 8443, 0, 0, 0, 8, 0, 10769, 0, 0, 1, 0, 0, '', 'Show gossip option if player does not have Dissension Amongst the Ranks rewarded'), +(15, 8443, 0, 0, 0, 2, 0, 31108, 1, 0, 1, 0, 0, '', 'Show gossip option if player does not have Kor''Kron Flare Gun'); diff --git a/sql/updates/world/2015_03_12_01_world.sql b/sql/updates/world/2015_03_12_01_world.sql new file mode 100644 index 00000000000..8c6dc8fe248 --- /dev/null +++ b/sql/updates/world/2015_03_12_01_world.sql @@ -0,0 +1,14 @@ +DELETE FROM `gossip_menu_option` WHERE `menu_id`=8457; +INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`) VALUES +(8457, 0, 0, 'I need another Wildhammer Flare Gun, Thane.', 19747, 1, 1, 0, 0, 0, 0, '', 0); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=21773 AND `source_type`=0 AND `id` IN(1,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 +(21773, 0, 1, 2, 62, 0, 100, 0, 8457, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Thane Yoregar - On Gossip Option 0 Selected - Close Gossip'), +(21773, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 85, 38251, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Thane Yoregar - On Gossip Option 0 Selected - Cast Create Wildhammer Flare Gun'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8457; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15, 8457, 0, 0, 0, 8, 0, 10772, 0, 0, 0, 0, 0, '', 'Show gossip option if player has the path of conquest rewarded'), +(15, 8457, 0, 0, 0, 8, 0, 10776, 0, 0, 1, 0, 0, '', 'Show gossip option if player does not have Dissension Amongst the Ranks rewarded'), +(15, 8457, 0, 0, 0, 2, 0, 31310, 1, 0, 1, 0, 0, '', 'Show gossip option if player does not have Wildhammer Flare Gun'); diff --git a/sql/updates/world/2015_03_14_00_world.sql b/sql/updates/world/2015_03_14_00_world.sql new file mode 100644 index 00000000000..b72aa1274cf --- /dev/null +++ b/sql/updates/world/2015_03_14_00_world.sql @@ -0,0 +1,43 @@ +SET @CGUID := 214003; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=177746; +UPDATE `gameobject` SET `position_x`=-2288.696777, `position_y`=1345.580078, `position_z`=66.123787 WHERE `guid`=99892; + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (11560); +DELETE FROM `creature_template_addon` WHERE `entry`=11560; +INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`auras`) VALUES +(11560,1,17327); + +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (11560, 1156000, 177746, 17774600); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(177746, 1, 0, 0, 1, 0, 100, 1, 6000, 6000, 6000, 6000, 50, 177749, 180000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Ghost Magnet - OOC no repeat - Summon gob'), -- A gob cannot summon a gob +(177746, 1, 1, 0, 1, 0, 100, 0, 6000, 6000, 6000, 6000, 45, 0, 1, 0, 0, 0, 0, 19, 11560, 70, 0, 0, 0, 0, 0, 'Ghost Magnet - ActionList - Set data 0'), +(11560, 0, 0, 1, 38, 0, 100, 1, 0, 1, 0, 0, 28, 34426, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - On dataset 0 1 - remove aura'), +(11560, 0, 1, 2, 61, 0, 100, 1, 0, 0, 0, 0, 80, 1156000, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - on link - Start script'), +(1156000, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - On script - Set run off'), +(1156000, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 20, 177746, 70, 0, 0, 0, 0, 0, 'Magrami Spectre - On script - move to pos'), +(1156000, 9, 2, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 30, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - On script - ATTACK'), +(11560, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 70000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - On Link - Despawn'), +(11560, 0, 2, 3, 25, 0, 100, 1, 0, 0, 0, 0, 11, 34426, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - on Reset - add aura'), +(11560, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17327, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - on Reset - add aura'), +(11560, 0, 4, 0, 0, 0, 100, 1, 5000, 5000, 0, 0, 11, 18159, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - on script - add aura'), +(11560, 0, 5, 0, 0, 0, 100, 0, 2000, 2000, 7000, 7000, 11, 12531, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Magrami Spectre - on script - add aura'); + +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+16; +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@CGUID+0, 11560, 1, 1, 1, -2254.859, 1330.685, 63.67144, 5.253441, 120, 0, 0), +(@CGUID+1, 11560, 1, 1, 1, -2288.117, 1333.648, 63.67144, 5.427974, 120, 0, 0), +(@CGUID+2, 11560, 1, 1, 1, -2317.772, 1378.803, 63.67144, 2.548181, 120, 0, 0), +(@CGUID+3, 11560, 1, 1, 1, -2245.802, 1315.414, 63.67144, 3.176499, 120, 0, 0), +(@CGUID+4, 11560, 1, 1, 1, -2276.162, 1328.752, 63.82001, 5.811946, 120, 0, 0), +(@CGUID+5, 11560, 1, 1, 1, -2281.066, 1339.434, 63.67144, 2.426008, 120, 0, 0), +(@CGUID+6, 11560, 1, 1, 1, -2265.949, 1334.62, 63.67144, 3.874631, 120, 0, 0), +(@CGUID+7, 11560, 1, 1, 1, -2266.548, 1308.922, 64.06808, 2.09432, 120, 0, 0), +(@CGUID+8, 11560, 1, 1, 1, -2275.962, 1315.779, 63.94889, 5.846853, 120, 0, 0), +(@CGUID+9, 11560, 1, 1, 1, -2285.754, 1323.675, 63.68898, 5.707227, 120, 0, 0), +(@CGUID+10, 11560, 1, 1, 1, -2311.181, 1387.165, 63.67143, 4.39823, 120, 0, 0), +(@CGUID+11, 11560, 1, 1, 1, -2255.519, 1311.52, 63.72472, 5.969026, 120, 0, 0), +(@CGUID+12, 11560, 1, 1, 1, -2292.626, 1380.353, 63.68015, 3.001966, 120, 0, 0), +(@CGUID+13, 11560, 1, 1, 1, -2309.959, 1347.675, 63.67144, 1.216367, 120, 0, 0), +(@CGUID+14, 11560, 1, 1, 1, -2295.897, 1361.538, 63.6894, 2.80998, 120, 0, 0), +(@CGUID+15, 11560, 1, 1, 1, -2305.648, 1359.731, 63.69492, 4.485496, 120, 0, 0), +(@CGUID+16, 11560, 1, 1, 1, -2256.498, 1321.57, 63.67144, 5.148721, 120, 0, 0); diff --git a/sql/updates/world/2015_03_14_01_world.sql b/sql/updates/world/2015_03_14_01_world.sql new file mode 100644 index 00000000000..f99651da7b9 --- /dev/null +++ b/sql/updates/world/2015_03_14_01_world.sql @@ -0,0 +1,3 @@ +UPDATE `creature_template` SET `gossip_menu_id`=1285 WHERE `entry`=8436; +UPDATE `smart_scripts` SET `event_param1`=1286 WHERE `entryorguid`=8436 AND `source_type`=0 AND `id`=0; +UPDATE `gossip_menu_option` SET `action_menu_id`=0 WHERE `menu_id`=1286; diff --git a/sql/updates/world/2015_03_14_02_world.sql b/sql/updates/world/2015_03_14_02_world.sql new file mode 100644 index 00000000000..0c9f0154dec --- /dev/null +++ b/sql/updates/world/2015_03_14_02_world.sql @@ -0,0 +1,17 @@ +UPDATE `creature` SET `guid`=76001 WHERE `guid`=214003; +UPDATE `creature` SET `guid`=76002 WHERE `guid`=214004; +UPDATE `creature` SET `guid`=76003 WHERE `guid`=214005; +UPDATE `creature` SET `guid`=76004 WHERE `guid`=214006; +UPDATE `creature` SET `guid`=76005 WHERE `guid`=214007; +UPDATE `creature` SET `guid`=76006 WHERE `guid`=214008; +UPDATE `creature` SET `guid`=76007 WHERE `guid`=214009; +UPDATE `creature` SET `guid`=76008 WHERE `guid`=214010; +UPDATE `creature` SET `guid`=76009 WHERE `guid`=214011; +UPDATE `creature` SET `guid`=76010 WHERE `guid`=214012; +UPDATE `creature` SET `guid`=76011 WHERE `guid`=214013; +UPDATE `creature` SET `guid`=76012 WHERE `guid`=214014; +UPDATE `creature` SET `guid`=76013 WHERE `guid`=214015; +UPDATE `creature` SET `guid`=76014 WHERE `guid`=214016; +UPDATE `creature` SET `guid`=76015 WHERE `guid`=214017; +UPDATE `creature` SET `guid`=76016 WHERE `guid`=214018; +UPDATE `creature` SET `guid`=76017 WHERE `guid`=214019; diff --git a/sql/updates/world/2015_03_15_00_world.sql b/sql/updates/world/2015_03_15_00_world.sql new file mode 100644 index 00000000000..659d167e552 --- /dev/null +++ b/sql/updates/world/2015_03_15_00_world.sql @@ -0,0 +1,316 @@ +SET @GUID:=14830; -- 6 free GO guid required (spell focus) +SET @SUMMON := 49991; +SET @GOLEM := 24825; +SET @BENCH := 186958; +SET @Relic := 24824; +SET @Triggger :=24845; +SET @IronDwarf :=24846; +SET @LOKEN := 24847; +SET @Ouvrier:= 23672; +SET @Maitre:=23675; +SET @Garde:=23673; +SET @IRONGolem:=24271; +SET @Earth:=24340; +SET @A1A2:=24826; +SET @B1B2:=24827; +SET @C1C2:=24828; +SET @D1:=24831; +SET @D2:=24829; +SET @D3:=24832; + +DELETE FROM `spell_target_position` WHERE `id` in (49992); +INSERT INTO `spell_target_position` (`id`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES +(49992, 571, 478.951782, -5941.529297, 308.749969, 0.419872); + +UPDATE `creature_template` SET `spell1`=44608, `spell2`=44610, `spell3`=44609,`AIName`='SmartAI', `InhabitType`=5 WHERE `entry`=@GOLEM; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@LOKEN, @IronDwarf, @Triggger, @Relic, @Ouvrier, @Maitre, @Garde, @IRONGolem, @Earth, @A1A2, @B1B2, @C1C2, @D1, @D2, @D3); +UPDATE `creature_template` SET `faction`= 1954 WHERE `entry`=@LOKEN; +UPDATE `creature_template` SET `flags_extra`= 0 WHERE `entry`=@Triggger; + +DELETE FROM `creature` WHERE `id` IN (24846, 24847); +DELETE FROM `creature_addon` WHERE `guid` =97731; +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `id`= @Triggger; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@GOLEM AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Relic AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@BENCH AND `source_type`=1 AND `id` IN (6,7); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Triggger AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Triggger*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@IronDwarf AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@IronDwarf*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@LOKEN AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@LOKEN*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Garde AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Garde*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Garde*100+1 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Ouvrier AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Ouvrier*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Ouvrier*100+1 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Earth AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Maitre AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Maitre*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Maitre*100+1 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@IRONGolem AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@IRONGolem*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@IRONGolem*100+1 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@A1A2*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@B1B2*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@C1C2*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@D1*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@D2*100 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@D3*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 +(@BENCH,1,6,7,62,0,100,0,9024,3,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Close gossip'), +(@BENCH,1,7,0,61,0,100,0,0,0,0,0,85,@SUMMON,2,0,0,0,0,7,0,0,0,0,0,0,0,'Work Bench - Gossip select - Summon Iron Rune Construct'), +(@GOLEM,0,0,0,54,0,100,0,0,0,0,0,75,44643,0,0,0,0,0,23,0,0,0,0,0,0,0,'Iron Rune Construct - Just Summoned - Add aura to owner'), +(@GOLEM,0,1,0,28,0,100,0,0,0,0,0,28,44643,0,0,0,0,0,23,0,0,0,0,0,0,0,'Iron Rune Construct - Passenger removed - remove aura from owner'), +(@Relic,0,0,0,8,0,100,0,44610,0,0,0,41,5000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Relict - SpellHit - Despawn'), +(@Triggger,0,0,0,10,0,100,0,1,20,180000,180000,80,@Triggger*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Triggger - LOS - Action list'), +(@Triggger*100,9,0,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,306.098907, -5706.150391, 102.435051, 4.96977,'Triggger - Action list - Summon'), +(@Triggger*100,9,1,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,311.025482, -5702.801270, 101.934959, 5.187225,'Triggger - Action list - Summon'), +(@Triggger*100,9,2,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,309.754456, -5703.156250, 102.070854, 5.187225,'Triggger - Action list - Summon'), +(@Triggger*100,9,3,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,308.222504, -5703.797363, 102.231758, 5.187225,'Triggger - Action list - Summon'), +(@Triggger*100,9,4,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,307.043610, -5704.315430, 102.356087, 5.187225,'Triggger - Action list - Summon'), +(@Triggger*100,9,5,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,304.169464, -5706.838379, 102.696602, 5.187225,'Triggger - Action list - Summon'), +(@Triggger*100,9,6,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,303.129547, -5707.277344, 102.978165, 5.187225,'Triggger - Action list - Summon'), +(@Triggger*100,9,7,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,297.246,-5726.82,96.2681,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,8,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,292.82,-5726.04,96.5843,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,9,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,292.562,-5728.57,96.5857,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,10,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,292.15,-5727.42,96.5874,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,11,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,294.578,-5730.09,96.2958,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,12,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,296.196,-5730.17,96.0082,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,13,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,297.603,-5730.79,95.6955,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,14,0,0,0,100,0,0,0,0,0,12,@IronDwarf,5,0,0,0,0,8,0,0,0,299.397,-5729.56,95.7274,0.347607,'Triggger - Action list - Summon'), +(@Triggger*100,9,15,0,0,0,100,0,0,0,0,0,12,@LOKEN,5,0,0,0,0,8,0,0,0,315.101,-5723.06,96.2541,3.05433,'Triggger - Action list - Summon'), +(@Triggger*100,9,16,0,0,0,100,0,70000,70000,0,0,41,0,0,0,0,0,0,11,@IronDwarf,40,0,0,0,0,0,'Triggger - Action List - Despawn'), +(@Triggger,0,1,0,25,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Triggger - On reset - set Invisible'), +(@IronDwarf,0,0,0,54,0,100,0,0,0,0,0,80,@IronDwarf*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'IronDwarf - Just Summoned - Action List'), +(@IronDwarf*100,9,0,0,0,0,100,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IronDwarf - Action List - Set run off'), +(@IronDwarf*100,9,1,0,0,0,100,0,0,0,0,0,46,8,0,0,0,0,0,1,0,0,0,0,0,0,0,'IronDwarf - Action List - Move forward'), +(@IronDwarf*100,9,2,0,0,0,100,0,4000,4000,0,0,11,68442,0,0,0,0,0,1,0,0,0,0,0,0,0,'IronDwarf - Action List - Cast Kneels'), +(@LOKEN,0,0,0,54,0,100,0,0,0,0,0,80,@LOKEN*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Just Summoned - Action List'), +(@LOKEN*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,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,1,0,0,0,100,0,6000,6000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,2,0,0,0,100,0,6000,6000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,3,0,0,0,100,0,8000,8000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,4,0,0,0,100,0,9000,9000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,5,0,0,0,100,0,9000,9000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,6,0,0,0,100,0,7000,7000,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Talk'), +(@LOKEN*100,9,7,0,0,0,100,0,0,0,0,0,11,44682,0,0,0,0,0,21,30,0,0,0,0,0,0,'LOKEN - Action List - Cast Credit'), +(@LOKEN*100,9,8,0,0,0,100,0,2000,2000,0,0,41,0,0,0,0,0,0,11,@IronDwarf,40,0,0,0,0,0,'LOKEN - Action List - Despawn Dwarfs'), +(@LOKEN*100,9,9,0,0,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - Action List - Despawn'), +(@IronDwarf,0,1,0,4,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IronDwarf - On aggro - despawn'), +(@LOKEN,0,1,0,4,0,100,0,0,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'LOKEN - On aggro - despawn'), +(@Garde,0,0,0,10,0,20,0,1,9,60000,60000,80,@Garde*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - LOS - Action list'), +(@Garde*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,'Garde - Action list - TALK'), +(@Garde*100,9,1,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - Action list - Set Event phase1'), +(@Garde*100,9,2,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - Action list - Root'), +(@Garde*100,9,3,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Garde - Action list - Set Orientation'), +(@Garde*100,9,4,0,0,0,100,0,10000,10000,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - Action list - remove root'), +(@Garde*100,9,5,0,0,1,100,0,0,0,0,0,28,44643,0,0,0,0,0,21,50,0,0,0,0,0,0,'Garde - Action list - remove Aura'), +(@Garde*100,9,6,0,0,1,100,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,'Garde - Action list - Talk'), +(@Garde,0,1,0,8,1,100,0,44609,0,0,0,80,@Garde*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - spell hit - action list'), +(@Garde*100+1,9,0,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - Action list - Set Event phase 0'), +(@Garde*100+1,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Garde - Action list - TALK'), +(@Garde*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Garde - Action list - TALK'), +(@Garde,0,2,0,0,0,100,0,5000,5000,30000,30000,11,42580,0,0,0,0,0,2,0,0,0,0,0,0,0,'Garde - IC - Cast'), +(@Garde,0,3,0,4,0,100,0,0,0,0,0,11,49758,0,0,0,0,0,2,0,0,0,0,0,0,0,'Garde - On aggro - Cast'), +(@Ouvrier,0,0,0,10,0,20,0,1,9,60000,60000,80,@Ouvrier*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - LOS - Action list'), +(@Ouvrier*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,'Ouvrier - Action list - TALK'), +(@Ouvrier*100,9,1,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - Action list - Set Event phase1'), +(@Ouvrier*100,9,2,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - Action list - Root'), +(@Ouvrier*100,9,3,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Ouvrier - Action list - Set Orientation'), +(@Ouvrier*100,9,4,0,0,0,100,0,10000,10000,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - Action list - remove root'), +(@Ouvrier*100,9,5,0,0,1,100,0,0,0,0,0,28,44643,0,0,0,0,0,21,50,0,0,0,0,0,0,'Ouvrier - Action list - remove Aura'), +(@Ouvrier*100,9,6,0,0,1,100,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,'Ouvrier - Action list - Talk'), +(@Ouvrier,0,1,0,8,1,100,0,44609,0,0,0,80,@Ouvrier*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - spell hit - action list'), +(@Ouvrier*100+1,9,0,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - Action list - Set Event phase 0'), +(@Ouvrier*100+1,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Ouvrier - Action list - TALK'), +(@Ouvrier*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Ouvrier - Action list - TALK'), +(@Ouvrier,0,2,0,0,0,100,0,5000,5000,5000,8000,11,49749,0,0,0,0,0,2,0,0,0,0,0,0,0,'Ouvrier - IC - Cast'), +(@Maitre,0,0,0,10,0,20,0,1,9,60000,60000,80,@Maitre*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - LOS - Action list'), +(@Maitre*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,'Maitre - Action list - TALK'), +(@Maitre*100,9,1,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - Action list - Set Event phase1'), +(@Maitre*100,9,2,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - Action list - Root'), +(@Maitre*100,9,3,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Maitre - Action list - Set Orientation'), +(@Maitre*100,9,4,0,0,0,100,0,10000,10000,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - Action list - remove root'), +(@Maitre*100,9,5,0,0,1,100,0,0,0,0,0,28,44643,0,0,0,0,0,21,50,0,0,0,0,0,0,'Maitre - Action list - remove Aura'), +(@Maitre*100,9,6,0,0,1,100,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,'Maitre - Action list - Talk'), +(@Maitre,0,1,0,8,1,100,0,44609,0,0,0,80,@Maitre*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - spell hit - action list'), +(@Maitre*100+1,9,0,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - Action list - Set Event phase 0'), +(@Maitre*100+1,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'Maitre - Action list - TALK'), +(@Maitre*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Maitre - Action list - TALK'), +(@Maitre,0,2,0,0,0,100,0,5000,5000,7000,10000,11,49753,0,0,0,0,0,2,0,0,0,0,0,0,0,'Garde - IC - Cast'), +(@IRONGolem,0,0,0,10,0,20,0,1,9,60000,60000,80,@IRONGolem*100,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - LOS - Action list'), +(@IRONGolem*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,'IRONGolem - Action list - TALK'), +(@IRONGolem*100,9,1,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - Action list - Set Event phase1'), +(@IRONGolem*100,9,2,0,0,0,100,0,0,0,0,0,103,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - Action list - Root'), +(@IRONGolem*100,9,3,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'IRONGolem - Action list - Set Orientation'), +(@IRONGolem*100,9,4,0,0,0,100,0,10000,10000,0,0,103,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - Action list - remove root'), +(@IRONGolem*100,9,5,0,0,1,100,0,0,0,0,0,28,44643,0,0,0,0,0,21,50,0,0,0,0,0,0,'IRONGolem - Action list - remove Aura'), +(@IRONGolem*100,9,6,0,0,1,100,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,'IRONGolem - Action list - talk'), +(@IRONGolem,0,1,0,8,1,100,0,44609,0,0,0,80,@IRONGolem*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - spell hit - action list'), +(@IRONGolem*100+1,9,0,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - Action list - Set Event phase 0'), +(@IRONGolem*100+1,9,1,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,19,@GOLEM,20,0,0,0,0,0,'IRONGolem - Action list - TALK'), +(@IRONGolem*100+1,9,2,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - Action list - TALK'), +(@IRONGolem,0,2,0,0,0,100,0,5000,5000,7000,10000,11,49729,0,0,0,0,0,2,0,0,0,0,0,0,0,'IRONGolem - IC - Cast'), +(@IRONGolem,0,3,0,1,0,100,0,50000,60000,60000,90000,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'IRONGolem - ooc - talk'), +(@Earth,0,0,0,0,0,100,0,2000,5000,6000,8000,11,49742,0,0,0,0,0,2,0,0,0,0,0,0,0,'IRONGolem - IC - Cast'), +(@GOLEM,0,2,0,8,0,100,0,44626,0,5000,5000,80,@A1A2*100,0,0,0,0,0,19,@A1A2,1,0,0,0,0,0,'Iron Rune Construct - On spellhit - Action List'), +(@A1A2*100,9,0,0,0,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,57776,186953,0,0,0,0,0,'A1A2 - Action list - Activate Gobject'), +(@A1A2*100,9,1,0,0,0,100,0,0,0,0,0,45,0,1,0,0,0,0,19,@GOLEM,10,0,0,0,0,0,'A1A2 - Action list - SetData'), +(@GOLEM,0,3,0,8,0,100,0,44626,0,5000,5000,80,@B1B2*100,0,0,0,0,0,19,@B1B2,1,0,0,0,0,0,'Iron Rune Construct - On spellhit - Action List'), +(@B1B2*100,9,0,0,0,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,57915,186960,0,0,0,0,0,'B1B2 - Action list - Activate Gobject'), +(@B1B2*100,9,1,0,0,0,100,0,0,0,0,0,45,0,2,0,0,0,0,19,@GOLEM,10,0,0,0,0,0,'B1B2 - Action list - SetData'), +(@GOLEM,0,4,0,8,0,100,0,44626,0,5000,5000,80,@C1C2*100,0,0,0,0,0,19,@C1C2,1,0,0,0,0,0,'Iron Rune Construct - On spellhit - Action List'), +(@C1C2*100,9,0,0,0,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,57963,186961,0,0,0,0,0,'C1C2 - Action list - Activate Gobject'), +(@C1C2*100,9,1,0,0,0,100,0,0,0,0,0,45,0,3,0,0,0,0,19,@GOLEM,10,0,0,0,0,0,'C1C2 - Action list - SetData'), +(@GOLEM,0,5,0,8,0,100,0,44626,0,5000,5000,80,@D1*100,0,0,0,0,0,19,@D1,1,0,0,0,0,0,'Iron Rune Construct - On spellhit - Action List'), +(@D1*100,9,0,0,0,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,57972,186962,0,0,0,0,0,'D1 - Action list - Activate Gobject'), +(@D1*100,9,1,0,0,0,100,0,0,0,0,0,45,0,4,0,0,0,0,19,@GOLEM,10,0,0,0,0,0,'D1 - Action list - SetData'), +(@GOLEM,0,6,0,8,0,100,0,44626,0,5000,5000,80,@D2*100,0,0,0,0,0,19,@D2,1,0,0,0,0,0,'Iron Rune Construct - On spellhit - Action List'), +(@D2*100,9,0,0,0,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,57988,186963,0,0,0,0,0,'D2 - Action list - Activate Gobject'), +(@D2*100,9,1,0,0,0,100,0,0,0,0,0,45,0,5,0,0,0,0,19,@GOLEM,10,0,0,0,0,0,'D2 - Action list - SetData'), +(@GOLEM,0,7,0,8,0,100,0,44626,0,5000,5000,80,@D3*100,0,0,0,0,0,19,@D3,1,0,0,0,0,0,'Iron Rune Construct - On spellhit - Action List'), +(@D3*100,9,0,0,0,0,100,0,0,0,0,0,9,0,0,0,0,0,0,14,66097,186964,0,0,0,0,0,'D3 - Action list - Activate Gobject'), +(@D3*100,9,1,0,0,0,100,0,0,0,0,0,45,0,6,0,0,0,0,19,@GOLEM,10,0,0,0,0,0,'D3 - Action list - SetData'), +(@GOLEM,0,8,0,38,0,100,0,0,1,0,0,53,1,@A1A2,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On data set - Start waypoint'), +(@GOLEM,0,9,0,38,0,100,0,0,2,0,0,53,1,@B1B2,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On data set - Start waypoint'), +(@GOLEM,0,10,0,38,0,100,0,0,3,0,0,53,1,@C1C2,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On data set - Start waypoint'), +(@GOLEM,0,11,0,38,0,100,0,0,4,0,0,53,1,@D1,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On data set - Start waypoint'), +(@GOLEM,0,12,0,38,0,100,0,0,5,0,0,53,1,@D2,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On data set - Start waypoint'), +(@GOLEM,0,13,0,38,0,100,0,0,6,0,0,53,1,@D3,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On data set - Start waypoint'), +(@GOLEM,0,14,0,58,0,100,0,0,0,0,0,28,44626,0,0,0,0,0,1,0,0,0,0,0,0,0,'Iron Rune Construct - On waypoint end - Remove aura'); + +DELETE FROM `waypoints` WHERE `entry` IN (@C1C2, @B1B2, @A1A2, @D1, @D2, @D3); +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(@C1C2,1, 250.667023, -5770.241699, 252.249847,'Iron Rune Construct'), +(@C1C2,2, 158.802368, -5823.064941, 7.080285,'Iron Rune Construct'), +(@B1B2,1, 268.167053, -5814.819824, 282.507080,'Iron Rune Construct'), +(@B1B2,2, 255.435913, -5891.186035, 83.068146,'Iron Rune Construct'), +(@A1A2,1, 221.699432, -5736.851074, 289.626099,'Iron Rune Construct'), +(@A1A2,2, 157.139877, -5712.004883, 189.551346,'Iron Rune Construct'), +(@D1,1, 212.711884, -5808.783691, 297.261902,'Iron Rune Construct'), +(@D1,2, 276.179016, -5755.332031, 268.456543,'Iron Rune Construct'), +(@D2,1, 228.848938, -5740.563477, 283.448700,'Iron Rune Construct'), +(@D2,2, 278.266785, -5758.165039, 268.454834,'Iron Rune Construct'), +(@D3,1, 266.918884, -5837.802246, 304.154144,'Iron Rune Construct'), +(@D3,2, 280.913208, -5761.616699, 268.456696,'Iron Rune Construct'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@Triggger; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@Triggger,0,31,3,24825,0,0,'','event require npc 24825'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@IRONGolem; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@IRONGolem,0,31,3,24825,0,0,'','event require npc 24825'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@Garde; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@Garde,0,31,3,24825,0,0,'','event require npc 24825'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@Maitre; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@Maitre,0,31,3,24825,0,0,'','event require npc 24825'); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=@Ouvrier; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`, `ErrorTextId`,`ScriptName`,`Comment`) VALUES +(22,1,@Ouvrier,0,31,3,24825,0,0,'','event require npc 24825'); + +DELETE FROM `creature_text` WHERE `entry`IN (@LOKEN, @GOLEM, @Garde, @Ouvrier, @Maitre, @IRONGolem); +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`, `BroadcastTextID`) VALUES +(@LOKEN,0,0,"The sound of thunder roars throughout the cavern.",41,9,100,0,0,0,'LOKEN', 23927), +(@LOKEN,1,0,"Come, minions! Your master calls!",14,9,100,0,0,0,'LOKEN', 23922), +(@LOKEN,2,0,"The work of your brothers in the Storm Peaks has reached a frenzied pace. Soon, Father will be freed.",14,9,100,0,0,0,'LOKEN', 23923), +(@LOKEN,3,0,"Your brothers to the north have subjugated the stone behemoths and set them on the path to Ulduar. Soon, the remaining defenses of the Pantheon will be neutralized.",14,9,100,0,0,0,'LOKEN', 23924), +(@LOKEN,4,0,"The three fissures opened by the mortals of this region must be silenced. The earth hears and sees what we do and will continue to interfere with our efforts if the way is not closed.",14,9,100,0,0,0,'LOKEN', 23925), +(@LOKEN,5,0,"Bury this place! Your master demands it!",14,9,100,0,0,0,'LOKEN', 23926), +(@LOKEN,6,0,"The sound of thunder dissipates.",41,9,100,0,0,0,'LOKEN', 23928), +(@GOLEM,0,0,"Alert! Alert! Construct senses that enemies have breeched our defenses. Increase pace.",12,9,100,0,0,0,'GOLEM', 23895), +(@GOLEM,0,1,"Construct class carrier reporting for duty. Primary function: Overseeing.",12,9,100,0,0,0,'GOLEM', 23896), +(@GOLEM,0,2,"There is nothing to see here. Proceed with your mandated duties.",12,9,100,0,0,0,'GOLEM', 23897), +(@GOLEM,0,3,"To interfere with construct's function results in termination. Move along.",12,9,100,0,0,0,'GOLEM', 23899), +(@GOLEM,0,4,"Construct must not be questioned by iron dwarf servant. Commence deconstruction.",12,9,100,0,0,0,'GOLEM', 23900), +(@GOLEM,0,5,"Construct is not authorized to communicate with lesser beings. Being must double their efforts.",12,9,100,0,0,0,'GOLEM', 23901), +(@GOLEM,0,6,"Did you lose your wallet? Construct has found wallet with overabundance of currency.",12,9,100,0,0,0,'GOLEM', 23902), +(@Garde,0,0,"Halt! Identify yourself immediately!",12,9,100,0,0,0,'Garde', 23903), +(@Garde,0,1,"This section is off-limits!",12,9,100,0,0,0,'Garde', 23904), +(@Garde,0,2,"I've never seen one of you around here.",12,9,100,0,0,0,'Garde', 23905), +(@Garde,0,3,"Hold it! Stop!",12,9,100,0,0,0,'Garde', 23906), +(@Garde,0,4,"Stop!! Stop!!! Scrap metal moves itself now?",12,9,100,0,0,0,'Garde', 23907), +(@Garde,1,2,"Right... my bad. Now where was I?",12,9,100,0,0,0,'Garde', 23910), +(@Garde,1,3,"All hail the great creator!",12,9,100,0,0,0,'Garde', 23911), +(@Garde,1,4,"You're right, of course. Carry on.",12,9,100,0,0,0,'Garde', 23912), +(@Garde,1,5,"Forgive my insolence!",12,9,100,0,0,0,'Garde', 23913), +(@Garde,1,6,"We will double our efforts!",12,9,100,0,0,0,'Garde', 23915), +(@Garde,2,0,"Destroy earthen infestation.",12,9,100,0,0,0,'Garde', 23921), +(@Garde,2,1,"Wrong answer!",12,9,100,0,0,0,'Garde', 23908), +(@Ouvrier,0,0,"Halt! Identify yourself immediately!",12,9,100,0,0,0,'Garde', 23903), +(@Ouvrier,0,1,"This section is off-limits!",12,9,100,0,0,0,'Garde', 23904), +(@Ouvrier,0,2,"I've never seen one of you around here.",12,9,100,0,0,0,'Garde', 23905), +(@Ouvrier,0,3,"Hold it! Stop!",12,9,100,0,0,0,'Garde', 23906), +(@Ouvrier,0,4,"Stop!! Stop!!! Scrap metal moves itself now?",12,9,100,0,0,0,'Garde', 23907), +(@Ouvrier,1,2,"Right... my bad. Now where was I?",12,9,100,0,0,0,'Garde', 23910), +(@Ouvrier,1,3,"All hail the great creator!",12,9,100,0,0,0,'Garde', 23911), +(@Ouvrier,1,4,"You're right, of course. Carry on.",12,9,100,0,0,0,'Garde', 23912), +(@Ouvrier,1,5,"Forgive my insolence!",12,9,100,0,0,0,'Garde', 23913), +(@Ouvrier,1,6,"We will double our efforts!",12,9,100,0,0,0,'Garde', 23915), +(@Ouvrier,2,0,"Destroy earthen infestation.",12,9,100,0,0,0,'Garde', 23921), +(@Ouvrier,2,1,"Wrong answer!",12,9,100,0,0,0,'Garde', 23908), +(@Maitre,0,0,"Halt! Identify yourself immediately!",12,9,100,0,0,0,'Garde', 23903), +(@Maitre,0,1,"This section is off-limits!",12,9,100,0,0,0,'Garde', 23904), +(@Maitre,0,2,"I've never seen one of you around here.",12,9,100,0,0,0,'Garde', 23905), +(@Maitre,0,3,"Hold it! Stop!",12,9,100,0,0,0,'Garde', 23906), +(@Maitre,0,4,"Stop!! Stop!!! Scrap metal moves itself now?",12,9,100,0,0,0,'Garde', 23907), +(@Maitre,1,2,"Right... my bad. Now where was I?",12,9,100,0,0,0,'Garde', 23910), +(@Maitre,1,3,"All hail the great creator!",12,9,100,0,0,0,'Garde', 23911), +(@Maitre,1,4,"You're right, of course. Carry on.",12,9,100,0,0,0,'Garde', 23912), +(@Maitre,1,5,"Forgive my insolence!",12,9,100,0,0,0,'Garde', 23913), +(@Maitre,1,6,"We will double our efforts!",12,9,100,0,0,0,'Garde', 23915), +(@Maitre,2,0,"Destroy earthen infestation.",12,9,100,0,0,0,'Garde', 23921), +(@Maitre,2,1,"Wrong answer!",12,9,100,0,0,0,'Garde', 23908), +(@IRONGolem,0,0,"Halt! Identify yourself immediately!",12,9,100,0,0,0,'Garde', 23903), +(@IRONGolem,0,1,"This section is off-limits!",12,9,100,0,0,0,'Garde', 23904), +(@IRONGolem,0,2,"I've never seen one of you around here.",12,9,100,0,0,0,'Garde', 23905), +(@IRONGolem,0,3,"Hold it! Stop!",12,9,100,0,0,0,'Garde', 23906), +(@IRONGolem,0,4,"Stop!! Stop!!! Scrap metal moves itself now?",12,9,100,0,0,0,'Garde', 23907), +(@IRONGolem,1,2,"Right... my bad. Now where was I?",12,9,100,0,0,0,'Garde', 23910), +(@IRONGolem,1,3,"All hail the great creator!",12,9,100,0,0,0,'Garde', 23911), +(@IRONGolem,1,4,"You're right, of course. Carry on.",12,9,100,0,0,0,'Garde', 23912), +(@IRONGolem,1,5,"Forgive my insolence!",12,9,100,0,0,0,'Garde', 23913), +(@IRONGolem,1,6,"We will double our efforts!",12,9,100,0,0,0,'Garde', 23915), +(@IRONGolem,2,0,"Destroy earthen infestation.",12,9,100,0,0,0,'Garde', 23921), +(@IRONGolem,2,1,"Wrong answer!",12,9,100,0,0,0,'Garde', 23908), +(@IRONGolem,3,0,"Continue deconstruction.",12,9,100,0,0,0,'Garde', 23919), +(@IRONGolem,3,1,"Do not loiter.",12,9,100,0,0,0,'Garde', 23918), +(@IRONGolem,3,2,"Work must continue. Double your efforts.",12,9,100,0,0,0,'Garde', 23916), +(@IRONGolem,3,3,"Brontes sees all.",12,9,100,0,0,0,'Garde', 23917), +(@IRONGolem,3,4,"Reinforcements en route. Function must be unabated.",12,9,100,0,0,0,'Garde', 23920), +(@IRONGolem,3,5,"Do you bring word from the creator?",12,9,100,0,0,0,'Garde', 23914), +(@IRONGolem,3,6,"All hail the great creator.",12,9,100,0,0,0,'Garde', 23898); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=44609; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 44609, 0, 31, 3, 24271, 0, 0, '', 'Bluff target'), +(13, 1, 44609, 1, 31, 3, 23673, 0, 0, '', 'Bluff target'), +(13, 1, 44609, 2, 31, 3, 23672, 0, 0, '', 'Bluff target'), +(13, 1, 44609, 3, 31, 3, 23675, 0, 0, '', 'Bluff target'); + +SET @ID := 9024; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@ID AND `SourceEntry`=3; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@ID,3,0,9,11495,0,0,0,'','Show gossip option if player has quest The Delicate Sound of Thunder'), +(15,@ID,3,1,9,11494,0,0,0,'','Show gossip option if player has quest Lightning Infused Relics'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=44610; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 44610, 0, 31, 3, 24824, 0, 0, '', 'Collect Data target'); + +DELETE FROM `gameobject` WHERE `guid` in (@GUID+0, @GUID+1, @GUID+2, @GUID+3, @GUID+4, @GUID+5); +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(@GUID+0,186959,571,1,1,276.169006, -5755.250000, 268.455994,0,0,0,0,1,120,255,1), +(@GUID+1,186959,571,1,1,278.528992, -5758.350098, 268.455994,0,0,0,0,1,120,255,1), +(@GUID+2,186959,571,1,1,280.851990, -5761.399902, 268.455994,0,0,0,0,1,120,255,1), +(@GUID+3,186959,571,1,1,158.707001, -5823.319824, 7.006820,0,0,0,0,1,120,255,1), +(@GUID+4,186959,571,1,1,157.201996, -5712.160156, 189.315002,0,0,0,0,1,120,255,1), +(@GUID+5,186959,571,1,1,255.533997, -5891.359863, 82.992897,0,0,0,0,1,120,255,1); + +UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `id` IN (24828, 24829, 24831, 24832, 24826, 24827); + +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 44608; +INSERT INTO `spell_linked_spell` VALUES (44608, 44626, 0, 'Rocket Jump'); diff --git a/src/genrev/CMakeLists.txt b/src/genrev/CMakeLists.txt index 8ab3494cd70..e72643c6a6b 100644 --- a/src/genrev/CMakeLists.txt +++ b/src/genrev/CMakeLists.txt @@ -10,6 +10,6 @@ # Need to pass old ${CMAKE_BINARY_DIR} as param because its different at build stage add_custom_target(revision.h ALL - COMMAND ${CMAKE_COMMAND} -DNO_GIT=${WITHOUT_GIT} -DGIT_EXEC=${GIT_EXECUTABLE} -DBUILDDIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/genrev.cmake - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMAND "${CMAKE_COMMAND}" -DBUILDDIR="${CMAKE_BINARY_DIR}" -P "${CMAKE_SOURCE_DIR}/cmake/genrev.cmake" "${CMAKE_BINARY_DIR}" + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" ) diff --git a/src/server/collision/Management/MMapManager.cpp b/src/server/collision/Management/MMapManager.cpp index 170350d4de4..847b7bbd001 100644 --- a/src/server/collision/Management/MMapManager.cpp +++ b/src/server/collision/Management/MMapManager.cpp @@ -73,7 +73,7 @@ namespace MMAP delete [] fileName; - TC_LOG_INFO("maps", "MMAP:loadMapData: Loaded %03i.mmap", mapId); + TC_LOG_DEBUG("maps", "MMAP:loadMapData: Loaded %03i.mmap", mapId); // store inside our map list MMapData* mmap_data = new MMapData(mesh); @@ -156,7 +156,7 @@ namespace MMAP { mmap->mmapLoadedTiles.insert(std::pair<uint32, dtTileRef>(packedGridPos, tileRef)); ++loadedTiles; - TC_LOG_INFO("maps", "MMAP:loadMap: Loaded mmtile %03i[%02i, %02i] into %03i[%02i, %02i]", mapId, x, y, mapId, header->x, header->y); + TC_LOG_DEBUG("maps", "MMAP:loadMap: Loaded mmtile %03i[%02i, %02i] into %03i[%02i, %02i]", mapId, x, y, mapId, header->x, header->y); return true; } else @@ -205,7 +205,7 @@ namespace MMAP { mmap->mmapLoadedTiles.erase(packedGridPos); --loadedTiles; - TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId); + TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId); return true; } @@ -232,13 +232,13 @@ namespace MMAP else { --loadedTiles; - TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId); + TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId); } } delete mmap; loadedMMaps.erase(mapId); - TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded %03i.mmap", mapId); + TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded %03i.mmap", mapId); return true; } @@ -264,7 +264,7 @@ namespace MMAP dtFreeNavMeshQuery(query); mmap->navMeshQueries.erase(instanceId); - TC_LOG_INFO("maps", "MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId); + TC_LOG_DEBUG("maps", "MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId); return true; } @@ -295,7 +295,7 @@ namespace MMAP return NULL; } - TC_LOG_INFO("maps", "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId); + TC_LOG_DEBUG("maps", "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId); mmap->navMeshQueries.insert(std::pair<uint32, dtNavMeshQuery*>(instanceId, query)); } diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp index 72435594ad0..b493ec18f5f 100644 --- a/src/server/collision/Maps/MapTree.cpp +++ b/src/server/collision/Maps/MapTree.cpp @@ -386,13 +386,12 @@ namespace VMAP { if (!iLoadedSpawns.count(referencedVal)) { -#ifdef VMAP_DEBUG if (referencedVal > iNTreeValues) { - TC_LOG_DEBUG("maps", "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues); + VMAP_ERROR_LOG("maps", "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u) referenced in tile %s", referencedVal, iNTreeValues, tilefile.c_str()); continue; } -#endif + iTreeValues[referencedVal] = ModelInstance(spawn, model); iLoadedSpawns[referencedVal] = 1; } diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp index 06540ecdc61..ee978211577 100644 --- a/src/server/collision/Maps/TileAssembler.cpp +++ b/src/server/collision/Maps/TileAssembler.cpp @@ -391,6 +391,18 @@ namespace VMAP } } + if (bounds.isEmpty()) + { + std::cout << "\nModel " << std::string(buff, name_length) << " has empty bounding box" << std::endl; + continue; + } + + if (!bounds.isFinite()) + { + std::cout << "\nModel " << std::string(buff, name_length) << " has invalid bounding box" << std::endl; + continue; + } + fwrite(&displayId, sizeof(uint32), 1, model_list_copy); fwrite(&name_length, sizeof(uint32), 1, model_list_copy); fwrite(&buff, sizeof(char), name_length, model_list_copy); diff --git a/src/server/collision/Models/GameObjectModel.cpp b/src/server/collision/Models/GameObjectModel.cpp index 993c298941c..05bd5d360c6 100644 --- a/src/server/collision/Models/GameObjectModel.cpp +++ b/src/server/collision/Models/GameObjectModel.cpp @@ -78,6 +78,12 @@ void LoadGameObjectModelList() break; } + if (v1.isNaN() || v2.isNaN()) + { + VMAP_ERROR_LOG("misc", "File '%s' Model '%s' has invalid v1%s v2%s values!", VMAP::GAMEOBJECT_MODELS, std::string(buff, name_length).c_str(), v1.toString().c_str(), v2.toString().c_str()); + continue; + } + model_list.insert ( ModelList::value_type( displayId, GameobjectModelData(std::string(buff, name_length), AABox(v1, v2)) ) diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index b00a24129c3..135a0fcee93 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -663,3 +663,8 @@ void GetGameObjectListWithEntryInGrid(std::list<GameObject*>& list, WorldObject* { source->GetGameObjectListWithEntryInGrid(list, entry, maxSearchRange); } + +void GetPlayerListInGrid(std::list<Player*>& list, WorldObject* source, float maxSearchRange) +{ + source->GetPlayerListInGrid(list, maxSearchRange); +} diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index cff628a847e..1a4c3064a59 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -425,5 +425,6 @@ Creature* GetClosestCreatureWithEntry(WorldObject* source, uint32 entry, float m GameObject* GetClosestGameObjectWithEntry(WorldObject* source, uint32 entry, float maxSearchRange); void GetCreatureListWithEntryInGrid(std::list<Creature*>& list, WorldObject* source, uint32 entry, float maxSearchRange); void GetGameObjectListWithEntryInGrid(std::list<GameObject*>& list, WorldObject* source, uint32 entry, float maxSearchRange); +void GetPlayerListInGrid(std::list<Player*>& list, WorldObject* source, float maxSearchRange); #endif // SCRIPTEDCREATURE_H_ diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index c1fde9f53d3..51106d7cfe1 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -55,6 +55,7 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: // only hardcoded list case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: @@ -700,58 +701,100 @@ void AchievementMgr::CheckAllAchievementCriteria() } static const uint32 achievIdByArenaSlot[MAX_ARENA_SLOT] = { 1057, 1107, 1108 }; -static const uint32 achievIdForDungeon[][4] = -{ - // ach_cr_id, is_dungeon, is_raid, is_heroic_dungeon - { 321, true, true, true }, - { 916, false, true, false }, - { 917, false, true, false }, - { 918, true, false, false }, - { 2219, false, false, true }, - { 0, false, false, false } -}; /** * this function will be called whenever the user might have done a criteria relevant action */ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1 /*= 0*/, uint32 miscValue2 /*= 0*/, Unit* unit /*= NULL*/) { - TC_LOG_DEBUG("achievement", "AchievementMgr::UpdateAchievementCriteria(%u, %u, %u)", type, miscValue1, miscValue2); + if (type >= ACHIEVEMENT_CRITERIA_TYPE_TOTAL) + { + TC_LOG_DEBUG("achievement", "UpdateAchievementCriteria: Wrong criteria type %u", type); + return; + } // disable for gamemasters with GM-mode enabled if (m_player->IsGameMaster()) + { + TC_LOG_DEBUG("achievement", "UpdateAchievementCriteria: [Player %s GM mode on] %s, %s (%u), %u, %u" + , m_player->GetName().c_str(), m_player->GetGUID().ToString().c_str(), AchievementGlobalMgr::GetCriteriaTypeString(type), type, miscValue1, miscValue2); return; + } + + TC_LOG_DEBUG("achievement", "UpdateAchievementCriteria: %s, %s (%u), %u, %u" + , m_player->GetGUID().ToString().c_str(), AchievementGlobalMgr::GetCriteriaTypeString(type), type, miscValue1, miscValue2); AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type); - for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i) + for (AchievementCriteriaEntry const* achievementCriteria : achievementCriteriaList) { - AchievementCriteriaEntry const* achievementCriteria = (*i); AchievementEntry const* achievement = sAchievementMgr->GetAchievement(achievementCriteria->referredAchievement); if (!achievement) continue; - if (!CanUpdateCriteria(achievementCriteria, achievement)) + if (!CanUpdateCriteria(achievementCriteria, achievement, miscValue1, miscValue2, unit)) continue; switch (type) { + // special cases, db data is checked later + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + break; + default: + if (AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria)) + if (!data->Meets(GetPlayer(), unit, miscValue1)) + continue; + break; + } + + switch (type) + { // std. case: increment at 1 + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH: + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER: + case ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: // This also behaves like ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS: + case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL: case ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION: - case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: /* FIXME: for online player only currently */ + case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: /* FIXME: for online player only currently */ + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: case ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; // std case: increment at miscvalue1 + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + case ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + case ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE: case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS: case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS: case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD: @@ -759,14 +802,19 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER: case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL: case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY: - case ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS:/* FIXME: for online player only currently */ + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS: /* FIXME: for online player only currently */ case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED: case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); break; + // std case: increment at miscvalue2 + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + break; // std case: high value at miscvalue1 case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: /* FIXME: for online player only currently */ @@ -774,92 +822,27 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CAST: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_HIGHEST); break; - - // specialized cases - case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - - if (achievement->categoryId == CATEGORY_CHILDRENS_WEEK) - { - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), NULL)) - continue; - } - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - if (achievementCriteria->win_bg.bgMapID != GetPlayer()->GetMapId()) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - if (achievementCriteria->kill_creature.creatureID != miscValue1) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); + // std. case: set at 1 + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_SET); break; - } - case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue2) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit, miscValue1)) - continue; - SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); - break; - } + // specialized cases case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: - if (AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria)) - if (!data->Meets(GetPlayer(), unit)) - continue; SetCriteriaProgress(achievementCriteria, GetPlayer()->getLevel()); break; case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: - // update at loading or specific skill update - if (miscValue1 && miscValue1 != achievementCriteria->reach_skill_level.skillID) - continue; if (uint32 skillvalue = GetPlayer()->GetBaseSkillValue(achievementCriteria->reach_skill_level.skillID)) SetCriteriaProgress(achievementCriteria, skillvalue); break; case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: - // update at loading or specific skill update - if (miscValue1 && miscValue1 != achievementCriteria->learn_skill_level.skillID) - continue; if (uint32 maxSkillvalue = GetPlayer()->GetPureMaxSkillValue(achievementCriteria->learn_skill_level.skillID)) SetCriteriaProgress(achievementCriteria, maxSkillvalue); break; @@ -868,14 +851,12 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, 1); break; case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT: - { SetCriteriaProgress(achievementCriteria, GetPlayer()->GetRewardedQuestCount()); break; - } case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY: { time_t nextDailyResetTime = sWorld->GetNextDailyQuestsResetTime(); - CriteriaProgress *progress = GetCriteriaProgress(achievementCriteria); + CriteriaProgress const* progress = GetCriteriaProgress(achievementCriteria); if (!miscValue1) // Login case. { @@ -904,10 +885,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui } case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: { - // speedup for non-login case - if (miscValue1 && miscValue1 != achievementCriteria->complete_quests_in_zone.zoneID) - continue; - uint32 counter = 0; const RewardedQuestSet &rewQuests = GetPlayer()->getRewardedQuests(); @@ -920,231 +897,11 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, counter); break; } - case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - if (GetPlayer()->GetMapId() != achievementCriteria->complete_battleground.mapID) - continue; - SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - if (GetPlayer()->GetMapId() != achievementCriteria->death_at_map.mapID) - continue; - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_DEATH: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - // skip wrong arena achievements, if not achievIdByArenaSlot then normal total death counter - bool notfit = false; - for (int j = 0; j < MAX_ARENA_SLOT; ++j) - { - if (achievIdByArenaSlot[j] == achievement->ID) - { - Battleground* bg = GetPlayer()->GetBattleground(); - if (!bg || !bg->isArena() || ArenaTeam::GetSlotByType(bg->GetArenaType()) != j) - notfit = true; - - break; - } - } - if (notfit) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - - Map const* map = GetPlayer()->IsInWorld() ? GetPlayer()->GetMap() : sMapMgr->FindMap(GetPlayer()->GetMapId(), GetPlayer()->GetInstanceId()); - if (!map || !map->IsDungeon()) - continue; - - // search case - bool found = false; - for (int j = 0; achievIdForDungeon[j][0]; ++j) - { - if (achievIdForDungeon[j][0] == achievement->ID) - { - if (map->IsRaid()) - { - // if raid accepted (ignore difficulty) - if (!achievIdForDungeon[j][2]) - break; // for - } - else if (GetPlayer()->GetDungeonDifficulty() == DUNGEON_DIFFICULTY_NORMAL) - { - // dungeon in normal mode accepted - if (!achievIdForDungeon[j][1]) - break; // for - } - else - { - // dungeon in heroic mode accepted - if (!achievIdForDungeon[j][3]) - break; // for - } - - found = true; - break; // for - } - } - if (!found) - continue; - - //FIXME: work only for instances where max == min for players - if (map->ToInstanceMap()->GetMaxPlayers() != achievementCriteria->death_in_dungeon.manLimit) - continue; - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - - } - case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - if (miscValue1 != achievementCriteria->killed_by_creature.creatureEntry) - continue; - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - - // if team check required: must kill by opposition faction - if (achievement->ID == 318 && miscValue2 == GetPlayer()->GetTeam()) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - // miscvalue1 is the ingame fallheight*100 as stored in dbc SetCriteriaProgress(achievementCriteria, miscValue1); break; - } - case ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - if (miscValue2 != achievementCriteria->death_from.type) - continue; - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: - { - // if miscvalues != 0, it contains the questID. - if (miscValue1) - { - if (miscValue1 != achievementCriteria->complete_quest.questID) - continue; - } - else - { - // login case. - if (!GetPlayer()->GetQuestRewardStatus(achievementCriteria->complete_quest.questID)) - continue; - } - - if (AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria)) - if (!data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: - case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: - { - if (!miscValue1 || miscValue1 != achievementCriteria->be_spell_target.spellID) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data) - continue; - - if (!data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: - case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: - { - if (!miscValue1 || miscValue1 != achievementCriteria->cast_spell.spellID) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data) - continue; - - if (!data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: - if (miscValue1 && miscValue1 != achievementCriteria->learn_spell.spellID) - continue; - - if (GetPlayer()->HasSpell(achievementCriteria->learn_spell.spellID)) - SetCriteriaProgress(achievementCriteria, 1); - break; - case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: - { - // miscvalue1=loot_type (note: 0 = LOOT_CORPSE and then it ignored) - // miscvalue2=count of item loot - if (!miscValue1 || !miscValue2) - continue; - if (miscValue1 != achievementCriteria->loot_type.lootType) - continue; - - // zone specific - if (achievementCriteria->loot_type.lootTypeCount == 1) - { - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - } - - SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: - // speedup for non-login case - if (miscValue1 && achievementCriteria->own_item.itemID != miscValue1) - continue; - SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); - break; case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: - if (!miscValue1) // no update at login - continue; - // additional requirements if (achievementCriteria->additionalRequirements[0].additionalRequirement_type == ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE) { @@ -1160,198 +917,36 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; - case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - - if (achievementCriteria->use_item.itemID != miscValue1) - continue; - - // Children's Week achievements have extra requirements - if (achievement->categoryId == CATEGORY_CHILDRENS_WEEK) - { - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), NULL)) - continue; - } - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: - // You _have_ to loot that item, just owning it when logging in does _not_ count! - if (!miscValue1) - continue; - if (miscValue1 != achievementCriteria->own_item.itemID) - continue; - SetCriteriaProgress(achievementCriteria, miscValue2, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: - { - WorldMapOverlayEntry const* worldOverlayEntry = sWorldMapOverlayStore.LookupEntry(achievementCriteria->explore_area.areaReference); - if (!worldOverlayEntry) - break; - - bool matchFound = false; - for (int j = 0; j < MAX_WORLD_MAP_OVERLAY_AREA_IDX; ++j) - { - uint32 area_id = worldOverlayEntry->areatableID[j]; - if (!area_id) // array have 0 only in empty tail - break; - - int32 exploreFlag = GetAreaFlagByAreaID(area_id); - if (exploreFlag < 0) - continue; - - uint32 playerIndexOffset = uint32(exploreFlag) / 32; - uint32 mask = 1<< (uint32(exploreFlag) % 32); - - if (GetPlayer()->GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + playerIndexOffset) & mask) - { - matchFound = true; - break; - } - } - - if (matchFound) - SetCriteriaProgress(achievementCriteria, 1); - break; - } case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT: SetCriteriaProgress(achievementCriteria, GetPlayer()->GetBankBagSlotCount()); break; case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: { - // skip faction check only at loading - if (miscValue1 && miscValue1 != achievementCriteria->gain_reputation.factionID) - continue; - int32 reputation = GetPlayer()->GetReputationMgr().GetReputation(achievementCriteria->gain_reputation.factionID); if (reputation > 0) SetCriteriaProgress(achievementCriteria, reputation); break; } case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: - { SetCriteriaProgress(achievementCriteria, GetPlayer()->GetReputationMgr().GetExaltedFactionCount()); break; - } - case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: - { - // skip for login case - if (!miscValue1) - continue; - SetCriteriaProgress(achievementCriteria, 1); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: - { - // miscvalue1 = itemid - // miscvalue2 = itemSlot - if (!miscValue1) - continue; - - if (miscValue2 != achievementCriteria->equip_epic_item.itemSlot) - continue; - - // check item level and quality via achievement_criteria_data - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), nullptr, miscValue1)) - continue; - - SetCriteriaProgress(achievementCriteria, 1); - break; - } case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: { - // miscvalue1 = itemid - // miscvalue2 = diced value - if (!miscValue1) - continue; - if (miscValue2 != achievementCriteria->roll_greed_on_loot.rollValue) - continue; - - ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(miscValue1); - if (!pProto) + ItemTemplate const* proto = sObjectMgr->GetItemTemplate(miscValue1); + if (!proto) continue; // check item level via achievement_criteria_data AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), nullptr, pProto->ItemLevel)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: - { - // miscvalue1 = emote - if (!miscValue1) - continue; - if (miscValue1 != achievementCriteria->do_emote.emoteID) + if (!data || !data->Meets(GetPlayer(), nullptr, proto->ItemLevel)) continue; - if (achievementCriteria->do_emote.count) - { - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - } SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; } - case ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE: - case ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE: - { - if (!miscValue1) - continue; - - if (achievementCriteria->additionalRequirements[0].additionalRequirement_type == ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP) - { - if (GetPlayer()->GetMapId() != achievementCriteria->additionalRequirements[0].additionalRequirement_value) - continue; - - // map specific case (BG in fact) expected player targeted damage/heal - if (!unit || unit->GetTypeId() != TYPEID_PLAYER) - continue; - } - - SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: - // miscvalue1 = item_id - if (!miscValue1) - continue; - if (miscValue1 != achievementCriteria->equip_item.itemID) - continue; - - SetCriteriaProgress(achievementCriteria, 1); - break; - case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: - // miscvalue1 = go entry - if (!miscValue1) - continue; - if (miscValue1 != achievementCriteria->use_gameobject.goEntry) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: - if (!miscValue1) - continue; - if (miscValue1 != achievementCriteria->fish_in_gameobject.goEntry) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: { - if (miscValue1 && miscValue1 != achievementCriteria->learn_skillline_spell.skillLine) - continue; - uint32 spellCount = 0; for (PlayerSpellMap::const_iterator spellIter = GetPlayer()->GetSpellMap().begin(); spellIter != GetPlayer()->GetSpellMap().end(); @@ -1367,24 +962,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, spellCount); break; } - case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - - if (achievementCriteria->win_duel.duelCount) - { - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data) - continue; - - if (!data->Meets(GetPlayer(), unit)) - continue; - } - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION: SetCriteriaProgress(achievementCriteria, GetPlayer()->GetReputationMgr().GetReveredFactionCount()); break; @@ -1394,23 +971,8 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: SetCriteriaProgress(achievementCriteria, GetPlayer()->GetReputationMgr().GetVisibleFactionCount()); break; - case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: - case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: - { - // AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case - if (!miscValue1) - continue; - ItemTemplate const* proto = sObjectMgr->GetItemTemplate(miscValue1); - if (!proto || proto->Quality < ITEM_QUALITY_EPIC) - continue; - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: { - if (miscValue1 && miscValue1 != achievementCriteria->learn_skill_line.skillLine) - continue; - uint32 spellCount = 0; for (PlayerSpellMap::const_iterator spellIter = GetPlayer()->GetSpellMap().begin(); spellIter != GetPlayer()->GetSpellMap().end(); @@ -1427,72 +989,21 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL: SetCriteriaProgress(achievementCriteria, GetPlayer()->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS)); break; - case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: - if (!miscValue1 || miscValue1 != achievementCriteria->hk_class.classID) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: - if (!miscValue1 || miscValue1 != achievementCriteria->hk_race.raceID) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED: SetCriteriaProgress(achievementCriteria, GetPlayer()->GetMoney(), PROGRESS_HIGHEST); break; case ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS: - { if (!miscValue1) { uint32 points = 0; - for (CompletedAchievementMap::iterator itr = m_completedAchievements.begin(); itr != m_completedAchievements.end(); ++itr) - if (AchievementEntry const* pAchievement = sAchievementMgr->GetAchievement(itr->first)) - points += pAchievement->points; + for (CompletedAchievementMap::const_iterator itr = m_completedAchievements.begin(); itr != m_completedAchievements.end(); ++itr) + if (AchievementEntry const* completedAchievements = sAchievementMgr->GetAchievement(itr->first)) + points += completedAchievements->points; SetCriteriaProgress(achievementCriteria, points, PROGRESS_SET); } else SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_ACCUMULATE); break; - } - case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: - { - if (!miscValue1 || miscValue1 != achievementCriteria->bg_objective.objectiveId) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: - case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: - case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: - { - // skip login update - if (!miscValue1) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: - { - if (!miscValue1 || miscValue1 != achievementCriteria->honorable_kill_at_area.areaID) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING: { uint32 reqTeamType = achievementCriteria->highest_team_rating.teamtype; @@ -1504,7 +1015,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_HIGHEST); } - else // login case + else // login case { for (uint32 arena_slot = 0; arena_slot < MAX_ARENA_SLOT; ++arena_slot) { @@ -1520,7 +1031,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui break; } } - break; } case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING: @@ -1534,7 +1044,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, miscValue1, PROGRESS_HIGHEST); } - else // login case + else // login case { for (uint32 arena_slot = 0; arena_slot < MAX_ARENA_SLOT; ++arena_slot) { @@ -1556,27 +1066,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui break; } - case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: // This also behaves like ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA - { - // Check map id requirement - if (miscValue1 == achievementCriteria->win_arena.mapID) - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } - case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: - { - // This criteria is only called directly after login - with expected miscvalue1 == 1 - if (!miscValue1) - continue; - - // They have no proper requirements in dbc - AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria); - if (!data || !data->Meets(GetPlayer(), unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } // std case: not exist in DBC, not triggered in code as result case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER: @@ -2019,7 +1508,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement) if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement->ID)) return; - TC_LOG_INFO("achievement", "AchievementMgr::CompletedAchievement(%u). Player: %s (%u)", + TC_LOG_DEBUG("achievement", "AchievementMgr::CompletedAchievement(%u). Player: %s (%u)", achievement->ID, m_player->GetName().c_str(), m_player->GetGUIDLow()); SendAchievementEarned(achievement); @@ -2140,18 +1629,53 @@ bool AchievementMgr::HasAchieved(uint32 achievementId) const return m_completedAchievements.find(achievementId) != m_completedAchievements.end(); } -bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement) +bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement, uint32 miscValue1, uint32 miscValue2, Unit const* unit) { - if (DisableMgr::IsDisabledFor(DISABLE_TYPE_ACHIEVEMENT_CRITERIA, criteria->ID, NULL)) + if (DisableMgr::IsDisabledFor(DISABLE_TYPE_ACHIEVEMENT_CRITERIA, criteria->ID, nullptr)) + { + TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Disabled", + criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->requiredType)); return false; + } if (achievement->mapID != -1 && GetPlayer()->GetMapId() != uint32(achievement->mapID)) + { + TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s Achievement %u) Wrong map", + criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->requiredType), achievement->ID); return false; + } if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE && GetPlayer()->GetTeam() != HORDE) || (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && GetPlayer()->GetTeam() != ALLIANCE)) + { + TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s Achievement %u) Wrong faction", + criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->requiredType), achievement->ID); return false; + } + + if (!RequirementsSatisfied(criteria, achievement, miscValue1, miscValue2, unit)) + { + TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Requirements not satisfied", + criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->requiredType)); + return false; + } + if (!ConditionsSatisfied(criteria)) + { + TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Conditions not satisfied", + criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->requiredType)); + return false; + } + + // don't update already completed criteria + if (IsCompletedCriteria(criteria, achievement)) + return false; + + return true; +} + +bool AchievementMgr::ConditionsSatisfied(AchievementCriteriaEntry const* criteria) const +{ for (uint32 i = 0; i < MAX_CRITERIA_REQUIREMENTS; ++i) { if (!criteria->additionalRequirements[i].additionalRequirement_type) @@ -2172,13 +1696,558 @@ bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, } } - // don't update already completed criteria - if (IsCompletedCriteria(criteria, achievement)) - return false; + return true; +} + +bool AchievementMgr::RequirementsSatisfied(AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement, uint32 miscValue1, uint32 miscValue2, Unit const* unit) const +{ + switch (AchievementCriteriaTypes(achievementCriteria->requiredType)) + { + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: + case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: + case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS: + case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS: + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL: + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY: + case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: + case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL: + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID: + case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CAST: + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED: + case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: + case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: + case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: + case ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS: + if (!miscValue1) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT: + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING: + case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT: + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION: + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION: + case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL: + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED: + case ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS: + break; + + // specialized cases + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + if (!miscValue1) + return false; + if (achievementCriteria->win_bg.bgMapID != GetPlayer()->GetMapId()) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + if (!miscValue1) + return false; + if (achievementCriteria->kill_creature.creatureID != miscValue1) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: + if (miscValue1 && miscValue1 != achievementCriteria->reach_skill_level.skillID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: + if (miscValue1 && miscValue1 != achievementCriteria->learn_skill_level.skillID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: + if (miscValue1 && miscValue1 != achievementCriteria->complete_quests_in_zone.zoneID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + if (!miscValue1) + return false; + if (GetPlayer()->GetMapId() != achievementCriteria->complete_battleground.mapID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP: + if (!miscValue1) + return false; + if (GetPlayer()->GetMapId() != achievementCriteria->death_at_map.mapID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_DEATH: + if (!miscValue1) + return false; + for (uint8 j = 0; j < MAX_ARENA_SLOT; ++j) + { + if (achievIdByArenaSlot[j] == achievement->ID) + { + Battleground* bg = GetPlayer()->GetBattleground(); + if (!bg || !bg->isArena() || ArenaTeam::GetSlotByType(bg->GetArenaType()) != j) + return false; + break; + } + } + break; + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: + { + if (!miscValue1) + return false; + + Map const* map = GetPlayer()->IsInWorld() ? GetPlayer()->GetMap() : sMapMgr->FindMap(GetPlayer()->GetMapId(), GetPlayer()->GetInstanceId()); + if (!map || !map->IsDungeon()) + return false; + + //FIXME: work only for instances where max == min for players + if (map->ToInstanceMap()->GetMaxPlayers() != achievementCriteria->death_in_dungeon.manLimit) + return false; + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + if (!miscValue1) + return false; + if (miscValue1 != achievementCriteria->killed_by_creature.creatureEntry) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER: + if (!miscValue1) + return false; + // if team check required: must kill by opposition faction + if (achievement->ID == 318 && miscValue2 == GetPlayer()->GetTeam()) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM: + if (!miscValue1) + return false; + if (miscValue2 != achievementCriteria->death_from.type) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + // if miscvalues != 0, it contains the questID. + if (miscValue1) + { + if (miscValue1 != achievementCriteria->complete_quest.questID) + return false; + } + else + { + // login case. + if (!GetPlayer()->GetQuestRewardStatus(achievementCriteria->complete_quest.questID)) + return false; + } + break; + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + if (!miscValue1 || miscValue1 != achievementCriteria->be_spell_target.spellID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + if (!miscValue1 || miscValue1 != achievementCriteria->cast_spell.spellID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + if (miscValue1 && miscValue1 != achievementCriteria->learn_spell.spellID) + return false; + if (!GetPlayer()->HasSpell(achievementCriteria->learn_spell.spellID)) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + // miscvalue1=loot_type (note: 0 = LOOT_CORPSE and then it ignored) + // miscvalue2=count of item loot + if (!miscValue1 || !miscValue2) + return false; + if (miscValue1 != achievementCriteria->loot_type.lootType) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + if (miscValue1 && achievementCriteria->own_item.itemID != miscValue1) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + if (!miscValue1) + return false; + if (achievementCriteria->use_item.itemID != miscValue1) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + if (!miscValue1) + return false; + if (miscValue1 != achievementCriteria->own_item.itemID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + { + WorldMapOverlayEntry const* worldOverlayEntry = sWorldMapOverlayStore.LookupEntry(achievementCriteria->explore_area.areaReference); + if (!worldOverlayEntry) + return false; + + bool matchFound = false; + for (int j = 0; j < MAX_WORLD_MAP_OVERLAY_AREA_IDX; ++j) + { + uint32 area_id = worldOverlayEntry->areatableID[j]; + if (!area_id) // array have 0 only in empty tail + break; + + int32 exploreFlag = GetAreaFlagByAreaID(area_id); + if (exploreFlag < 0) + continue; + + uint32 playerIndexOffset = uint32(exploreFlag) / 32; + uint32 mask = 1 << (uint32(exploreFlag) % 32); + + if (GetPlayer()->GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + playerIndexOffset) & mask) + { + matchFound = true; + break; + } + } + + if (!matchFound) + return false; + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: + if (miscValue1 && miscValue1 != achievementCriteria->gain_reputation.factionID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + // miscvalue1 = itemid + // miscvalue2 = itemSlot + if (!miscValue1) + return false; + if (miscValue2 != achievementCriteria->equip_epic_item.itemSlot) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + // miscvalue1 = itemid + // miscvalue2 = diced value + if (!miscValue1) + return false; + if (miscValue2 != achievementCriteria->roll_greed_on_loot.rollValue) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + // miscvalue1 = emote + if (!miscValue1) + return false; + if (miscValue1 != achievementCriteria->do_emote.emoteID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE: + case ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE: + if (!miscValue1) + return false; + + if (achievementCriteria->additionalRequirements[0].additionalRequirement_type == ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP) + { + if (GetPlayer()->GetMapId() != achievementCriteria->additionalRequirements[0].additionalRequirement_value) + return false; + + // map specific case (BG in fact) expected player targeted damage/heal + if (!unit || unit->GetTypeId() != TYPEID_PLAYER) + return false; + } + break; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + if (!miscValue1) + return false; + if (miscValue1 != achievementCriteria->equip_item.itemID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: + if (!miscValue1) + return false; + if (miscValue1 != achievementCriteria->use_gameobject.goEntry) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: + if (!miscValue1) + return false; + if (miscValue1 != achievementCriteria->fish_in_gameobject.goEntry) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: + if (miscValue1 && miscValue1 != achievementCriteria->learn_skillline_spell.skillLine) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: + case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: + { + if (!miscValue1) + return false; + ItemTemplate const* proto = sObjectMgr->GetItemTemplate(miscValue1); + if (!proto || proto->Quality < ITEM_QUALITY_EPIC) + return false; + break; + } + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: + if (miscValue1 && miscValue1 != achievementCriteria->learn_skill_line.skillLine) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + if (!miscValue1 || miscValue1 != achievementCriteria->hk_class.classID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + if (!miscValue1 || miscValue1 != achievementCriteria->hk_race.raceID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + if (!miscValue1 || miscValue1 != achievementCriteria->bg_objective.objectiveId) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + if (!miscValue1 || miscValue1 != achievementCriteria->honorable_kill_at_area.areaID) + return false; + break; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: + if (miscValue1 != achievementCriteria->win_arena.mapID) + return false; + break; + default: + break; + } return true; } +char const* AchievementGlobalMgr::GetCriteriaTypeString(uint32 type) +{ + return GetCriteriaTypeString(AchievementCriteriaTypes(type)); +} + +char const* AchievementGlobalMgr::GetCriteriaTypeString(AchievementCriteriaTypes type) +{ + switch (type) + { + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: + return "KILL_CREATURE"; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: + return "TYPE_WIN_BG"; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: + return "REACH_LEVEL"; + case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL: + return "REACH_SKILL_LEVEL"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT: + return "COMPLETE_ACHIEVEMENT"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT: + return "COMPLETE_QUEST_COUNT"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY: + return "COMPLETE_DAILY_QUEST_DAILY"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE: + return "COMPLETE_QUESTS_IN_ZONE"; + case ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE: + return "DAMAGE_DONE"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST: + return "COMPLETE_DAILY_QUEST"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND: + return "COMPLETE_BATTLEGROUND"; + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP: + return "DEATH_AT_MAP"; + case ACHIEVEMENT_CRITERIA_TYPE_DEATH: + return "DEATH"; + case ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON: + return "DEATH_IN_DUNGEON"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID: + return "COMPLETE_RAID"; + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE: + return "KILLED_BY_CREATURE"; + case ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER: + return "KILLED_BY_PLAYER"; + case ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING: + return "FALL_WITHOUT_DYING"; + case ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM: + return "DEATHS_FROM"; + case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST: + return "COMPLETE_QUEST"; + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + return "BE_SPELL_TARGET"; + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + return "CAST_SPELL"; + case ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE: + return "BG_OBJECTIVE_CAPTURE"; + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA: + return "HONORABLE_KILL_AT_AREA"; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: + return "WIN_ARENA"; + case ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA: + return "PLAY_ARENA"; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: + return "LEARN_SPELL"; + case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL: + return "HONORABLE_KILL"; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM: + return "OWN_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA: + return "WIN_RATED_ARENA"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING: + return "HIGHEST_TEAM_RATING"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING: + return "HIGHEST_PERSONAL_RATING"; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL: + return "LEARN_SKILL_LEVEL"; + case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: + return "USE_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM: + return "LOOT_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA: + return "EXPLORE_AREA"; + case ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK: + return "OWN_RANK"; + case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT: + return "BUY_BANK_SLOT"; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION: + return "GAIN_REPUTATION"; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION: + return "GAIN_EXALTED_REPUTATION"; + case ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP: + return "VISIT_BARBER_SHOP"; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM: + return "EQUIP_EPIC_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT: + return "ROLL_NEED_ON_LOOT"; + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT: + return "GREED_ON_LOOT"; + case ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS: + return "HK_CLASS"; + case ACHIEVEMENT_CRITERIA_TYPE_HK_RACE: + return "HK_RACE"; + case ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE: + return "DO_EMOTE"; + case ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE: + return "HEALING_DONE"; + case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS: + return "GET_KILLING_BLOWS"; + case ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM: + return "EQUIP_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS: + return "MONEY_FROM_VENDORS"; + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS: + return "GOLD_SPENT_FOR_TALENTS"; + case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS: + return "NUMBER_OF_TALENT_RESETS"; + case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD: + return "MONEY_FROM_QUEST_REWARD"; + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING: + return "GOLD_SPENT_FOR_TRAVELLING"; + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER: + return "GOLD_SPENT_AT_BARBER"; + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL: + return "GOLD_SPENT_FOR_MAIL"; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY: + return "LOOT_MONEY"; + case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT: + return "USE_GAMEOBJECT"; + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + return "BE_SPELL_TARGET2"; + case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL: + return "SPECIAL_PVP_KILL"; + case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT: + return "FISH_IN_GAMEOBJECT"; + case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN: + return "ON_LOGIN"; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS: + return "LEARN_SKILLLINE_SPELLS"; + case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: + return "WIN_DUEL"; + case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL: + return "LOSE_DUEL"; + case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE: + return "KILL_CREATURE_TYPE"; + case ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS: + return "GOLD_EARNED_BY_AUCTIONS"; + case ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION: + return "CREATE_AUCTION"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID: + return "HIGHEST_AUCTION_BID"; + case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: + return "WON_AUCTIONS"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: + return "HIGHEST_AUCTION_SOLD"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED: + return "HIGHEST_GOLD_VALUE_OWNED"; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION: + return "GAIN_REVERED_REPUTATION"; + case ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION: + return "GAIN_HONORED_REPUTATION"; + case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: + return "KNOWN_FACTIONS"; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: + return "LOOT_EPIC_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: + return "RECEIVE_EPIC_ITEM"; + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: + return "ROLL_NEED"; + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: + return "ROLL_GREED"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH: + return "HIGHEST_HEALTH"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER: + return "HIGHEST_POWER"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT: + return "HIGHEST_STAT"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER: + return "HIGHEST_SPELLPOWER"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR: + return "HIGHEST_ARMOR"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING: + return "HIGHEST_RATING"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT: + return "HIT_DEALT"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED: + return "HIT_RECEIVED"; + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED: + return "TOTAL_DAMAGE_RECEIVED"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CAST: + return "HIGHEST_HEAL_CAST"; + case ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED: + return "TOTAL_HEALING_RECEIVED"; + case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED: + return "HIGHEST_HEALING_RECEIVED"; + case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: + return "QUEST_ABANDONED"; + case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: + return "FLIGHT_PATHS_TAKEN"; + case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: + return "LOOT_TYPE"; + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + return "CAST_SPELL2"; + case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: + return "LEARN_SKILL_LINE"; + case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL: + return "EARN_HONORABLE_KILL"; + case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: + return "ACCEPTED_SUMMONINGS"; + case ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS: + return "EARN_ACHIEVEMENT_POINTS"; + case ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS: + return "USE_LFD_TO_GROUP_WITH_PLAYERS"; + } + return "MISSING_TYPE"; +} + //========================================================== void AchievementGlobalMgr::LoadAchievementCriteriaList() { @@ -2357,7 +2426,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData() AchievementEntry const* achievement = sAchievementMgr->GetAchievement(criteria->referredAchievement); if (!achievement) continue; - if (achievement->categoryId != CATEGORY_CHILDRENS_WEEK) + if (achievement->categoryId != CATEGORY_CHILDRENS_WEEK && achievement->ID != 1785) continue; break; } diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h index f8869757e50..078229ea4c8 100644 --- a/src/server/game/Achievements/AchievementMgr.h +++ b/src/server/game/Achievements/AchievementMgr.h @@ -293,9 +293,12 @@ class AchievementMgr void CompletedCriteriaFor(AchievementEntry const* achievement); bool IsCompletedCriteria(AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement); bool IsCompletedAchievement(AchievementEntry const* entry); - bool CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement); + bool CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement, uint32 miscValue1, uint32 miscValue2, Unit const* unit); void BuildAllDataPacket(WorldPacket* data) const; + bool ConditionsSatisfied(AchievementCriteriaEntry const* criteria) const; + bool RequirementsSatisfied(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement, uint32 miscValue1, uint32 miscValue2, Unit const* unit) const; + Player* m_player; CriteriaProgressMap m_criteriaProgress; CompletedAchievementMap m_completedAchievements; @@ -309,6 +312,9 @@ class AchievementGlobalMgr ~AchievementGlobalMgr() { } public: + static char const* GetCriteriaTypeString(AchievementCriteriaTypes type); + static char const* GetCriteriaTypeString(uint32 type); + static AchievementGlobalMgr* instance() { static AchievementGlobalMgr instance; diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index ac2ceb78346..e8c91479cc2 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -469,7 +469,7 @@ void AuctionHouseObject::Update() continue; ///- Either cancel the auction if there was no bidder - if (auction->bidder == 0) + if (auction->bidder == 0 && auction->bid == 0) { sAuctionMgr->SendAuctionExpiredMail(auction, trans); sScriptMgr->OnAuctionExpire(this, auction); diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp index 7e8ccb4bb23..c0c753100bc 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp @@ -204,14 +204,24 @@ void AuctionBotConfig::GetConfigFromFile() SetConfig(CONFIG_AHBOT_MINTIME, "AuctionHouseBot.MinTime", 1); SetConfig(CONFIG_AHBOT_MAXTIME, "AuctionHouseBot.MaxTime", 72); - SetConfigMinMax(CONFIG_AHBOT_BUYER_CHANCE_RATIO_ALLIANCE, "AuctionHouseBot.Buyer.Alliance.Chance.Ratio", 3, 1, 100); - SetConfigMinMax(CONFIG_AHBOT_BUYER_CHANCE_RATIO_HORDE, "AuctionHouseBot.Buyer.Horde.Chance.Ratio", 3, 1, 100); - SetConfigMinMax(CONFIG_AHBOT_BUYER_CHANCE_RATIO_NEUTRAL, "AuctionHouseBot.Buyer.Neutral.Chance.Ratio", 3, 1, 100); SetConfigMinMax(CONFIG_AHBOT_BUYER_RECHECK_INTERVAL, "AuctionHouseBot.Buyer.Recheck.Interval", 20, 1, DAY / MINUTE); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_GRAY, "AuctionHouseBot.Buyer.Baseprice.Gray", 3504); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_WHITE, "AuctionHouseBot.Buyer.Baseprice.White", 5429); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_GREEN, "AuctionHouseBot.Buyer.Baseprice.Green", 21752); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_BLUE, "AuctionHouseBot.Buyer.Baseprice.Blue", 36463); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_PURPLE, "AuctionHouseBot.Buyer.Baseprice.Purple", 87124); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_ORANGE, "AuctionHouseBot.Buyer.Baseprice.Orange", 214347); + SetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_YELLOW, "AuctionHouseBot.Buyer.Baseprice.Yellow", 407406); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_GRAY, "AuctionHouseBot.Buyer.ChanceMultiplier.Gray", 100); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_WHITE, "AuctionHouseBot.Buyer.ChanceMultiplier.White", 100); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_GREEN, "AuctionHouseBot.Buyer.ChanceMultiplier.Green", 100); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_BLUE, "AuctionHouseBot.Buyer.ChanceMultiplier.Blue", 100); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_PURPLE, "AuctionHouseBot.Buyer.ChanceMultiplier.Purple", 100); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_ORANGE, "AuctionHouseBot.Buyer.ChanceMultiplier.Orange", 100); + SetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_YELLOW, "AuctionHouseBot.Buyer.ChanceMultiplier.Yellow", 100); SetConfig(CONFIG_AHBOT_SELLER_ENABLED, "AuctionHouseBot.Seller.Enabled", false); SetConfig(CONFIG_AHBOT_BUYER_ENABLED, "AuctionHouseBot.Buyer.Enabled", false); - SetConfig(CONFIG_AHBOT_BUYPRICE_BUYER, "AuctionHouseBot.Buyer.Buyprice", true); SetConfig(CONFIG_AHBOT_CLASS_MISC_MOUNT_MIN_REQ_LEVEL, "AuctionHouseBot.Class.Misc.Mount.ReqLevel.Min", 0); SetConfig(CONFIG_AHBOT_CLASS_MISC_MOUNT_MAX_REQ_LEVEL, "AuctionHouseBot.Class.Misc.Mount.ReqLevel.Max", 0); @@ -229,7 +239,7 @@ void AuctionBotConfig::GetConfigFromFile() char const* AuctionBotConfig::GetHouseTypeName(AuctionHouseType houseType) { - static char const* names[MAX_AUCTION_HOUSE_TYPE] = { "Alliance", "Horde", "Neutral" }; + static char const* names[MAX_AUCTION_HOUSE_TYPE] = { "Neutral", "Alliance", "Horde" }; return names[houseType]; } diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBot.h b/src/server/game/AuctionHouseBot/AuctionHouseBot.h index 964262579e6..d7570c37d44 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBot.h +++ b/src/server/game/AuctionHouseBot/AuctionHouseBot.h @@ -39,9 +39,9 @@ enum AuctionQuality enum AuctionHouseType { - AUCTION_HOUSE_ALLIANCE = 0, - AUCTION_HOUSE_HORDE = 1, - AUCTION_HOUSE_NEUTRAL = 2 + AUCTION_HOUSE_NEUTRAL = 0, + AUCTION_HOUSE_ALLIANCE = 1, + AUCTION_HOUSE_HORDE = 2 }; #define MAX_AUCTION_HOUSE_TYPE 3 @@ -110,10 +110,21 @@ enum AuctionBotConfigUInt32Values CONFIG_AHBOT_CLASS_PERMANENT_PRICE_RATIO, CONFIG_AHBOT_CLASS_MISC_PRICE_RATIO, CONFIG_AHBOT_CLASS_GLYPH_PRICE_RATIO, - CONFIG_AHBOT_BUYER_CHANCE_RATIO_ALLIANCE, - CONFIG_AHBOT_BUYER_CHANCE_RATIO_HORDE, - CONFIG_AHBOT_BUYER_CHANCE_RATIO_NEUTRAL, CONFIG_AHBOT_BUYER_RECHECK_INTERVAL, + CONFIG_AHBOT_BUYER_BASEPRICE_GRAY, + CONFIG_AHBOT_BUYER_BASEPRICE_WHITE, + CONFIG_AHBOT_BUYER_BASEPRICE_GREEN, + CONFIG_AHBOT_BUYER_BASEPRICE_BLUE, + CONFIG_AHBOT_BUYER_BASEPRICE_PURPLE, + CONFIG_AHBOT_BUYER_BASEPRICE_ORANGE, + CONFIG_AHBOT_BUYER_BASEPRICE_YELLOW, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_GRAY, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_WHITE, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_GREEN, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_BLUE, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_PURPLE, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_ORANGE, + CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_YELLOW, CONFIG_AHBOT_CLASS_MISC_MOUNT_MIN_REQ_LEVEL, CONFIG_AHBOT_CLASS_MISC_MOUNT_MAX_REQ_LEVEL, CONFIG_AHBOT_CLASS_MISC_MOUNT_MIN_SKILL_RANK, @@ -143,7 +154,6 @@ enum AuctionBotConfigBoolValues CONFIG_AHBOT_BIND_USE, CONFIG_AHBOT_BIND_QUEST, CONFIG_AHBOT_BUYPRICE_SELLER, - CONFIG_AHBOT_BUYPRICE_BUYER, CONFIG_AHBOT_SELLER_ENABLED, CONFIG_AHBOT_BUYER_ENABLED, CONFIG_AHBOT_LOCKBOX_ENABLED, diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp index af60316cbec..bd5defe2bc3 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp @@ -20,7 +20,7 @@ #include "ItemPrototype.h" #include "AuctionHouseBotBuyer.h" -AuctionBotBuyer::AuctionBotBuyer(): _checkInterval(20) +AuctionBotBuyer::AuctionBotBuyer() : _checkInterval(20 * MINUTE) { // Define faction for our main data class. for (int i = 0; i < MAX_AUCTION_HOUSE_TYPE; ++i) @@ -48,391 +48,394 @@ bool AuctionBotBuyer::Initialize() if (!activeHouse) return false; - //load Check interval + // load Check interval _checkInterval = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_RECHECK_INTERVAL) * MINUTE; - TC_LOG_DEBUG("ahbot", "AHBot buyer interval between 2 check = %u", _checkInterval); + TC_LOG_DEBUG("ahbot", "AHBot buyer interval is %u minutes", _checkInterval / MINUTE); return true; } -void AuctionBotBuyer::LoadBuyerValues(BuyerConfiguration& config) +void AuctionBotBuyer::LoadConfig() { - uint32 factionChance; - - switch (config.GetHouseType()) + for (int i = 0; i < MAX_AUCTION_HOUSE_TYPE; ++i) { - case AUCTION_HOUSE_ALLIANCE: - config.BuyerPriceRatio = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_ALLIANCE_PRICE_RATIO) + 50; - factionChance = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCE_RATIO_ALLIANCE); - break; - case AUCTION_HOUSE_HORDE: - config.BuyerPriceRatio = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_HORDE_PRICE_RATIO) + 50; - factionChance = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCE_RATIO_HORDE); - break; - default: - config.BuyerPriceRatio = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_NEUTRAL_PRICE_RATIO) + 50; - factionChance = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCE_RATIO_NEUTRAL); - break; + _houseConfig[i].BuyerEnabled = sAuctionBotConfig->GetConfigBuyerEnabled(AuctionHouseType(i)); + if (_houseConfig[i].BuyerEnabled) + LoadBuyerValues(_houseConfig[i]); } +} + +void AuctionBotBuyer::LoadBuyerValues(BuyerConfiguration& config) +{ - config.FactionChance = 5000 * factionChance; } -void AuctionBotBuyer::LoadConfig() +// Makes an AHbot buyer cycle for AH type if necessary +bool AuctionBotBuyer::Update(AuctionHouseType houseType) { - for (int i = 0; i < MAX_AUCTION_HOUSE_TYPE; ++i) + if (!sAuctionBotConfig->GetConfigBuyerEnabled(houseType)) + return false; + + TC_LOG_DEBUG("ahbot", "AHBot: %s buying ...", AuctionBotConfig::GetHouseTypeName(houseType)); + + BuyerConfiguration& config = _houseConfig[houseType]; + uint32 eligibleItems = GetItemInformation(config); + if (eligibleItems) { - _houseConfig[i].BuyerEnabled = sAuctionBotConfig->GetConfigBuyerEnabled(AuctionHouseType(i)); - if (_houseConfig[i].BuyerEnabled) - LoadBuyerValues(_houseConfig[i]); + // Prepare list of items to bid or buy - remove old items + PrepareListOfEntry(config); + // Process buying and bidding items + BuyAndBidItems(config); } + + return true; } -uint32 AuctionBotBuyer::GetBuyableEntry(BuyerConfiguration& config) +// Collects information about item counts and minimum prices to SameItemInfo and updates EligibleItems - a list with new items eligible for bot to buy and bid +// Returns count of items in AH that were eligible for being bought or bidded on by ahbot buyer (EligibleItems size) +uint32 AuctionBotBuyer::GetItemInformation(BuyerConfiguration& config) { config.SameItemInfo.clear(); - uint32 count = 0; time_t now = time(nullptr); + uint32 count = 0; AuctionHouseObject* house = sAuctionMgr->GetAuctionsMap(config.GetHouseType()); for (AuctionHouseObject::AuctionEntryMap::const_iterator itr = house->GetAuctionsBegin(); itr != house->GetAuctionsEnd(); ++itr) { AuctionEntry* entry = itr->second; Item* item = sAuctionMgr->GetAItem(entry->itemGUIDLow); - if (item) + if (!item) + continue; + + BuyerItemInfo& itemInfo = config.SameItemInfo[item->GetEntry()]; + + // Update item entry's count and total bid prices + // This can be used later to determine the prices and chances to bid + uint32 itemBidPrice = entry->startbid / item->GetCount(); + itemInfo.TotalBidPrice = itemInfo.TotalBidPrice + itemBidPrice; + itemInfo.BidItemCount++; + + // Set minimum bid price + if (!itemInfo.MinBidPrice) + itemInfo.MinBidPrice = itemBidPrice; + else + itemBidPrice = std::min(itemInfo.MinBidPrice, itemBidPrice); + + // Set minimum buyout price if item has buyout + if (entry->buyout) { - ItemTemplate const * prototype = item->GetTemplate(); - if (prototype) - { - ++config.SameItemInfo[item->GetEntry()].ItemCount; // Structure constructor will make sure Element are correctly initialized if entry is created here. - config.SameItemInfo[item->GetEntry()].BuyPrice = config.SameItemInfo[item->GetEntry()].BuyPrice + (itr->second->buyout / item->GetCount()); - config.SameItemInfo[item->GetEntry()].BidPrice = config.SameItemInfo[item->GetEntry()].BidPrice + (itr->second->startbid / item->GetCount()); - if (itr->second->buyout != 0) - { - if (itr->second->buyout / item->GetCount() < config.SameItemInfo[item->GetEntry()].MinBuyPrice) - config.SameItemInfo[item->GetEntry()].MinBuyPrice = itr->second->buyout / item->GetCount(); - else if (config.SameItemInfo[item->GetEntry()].MinBuyPrice == 0) - config.SameItemInfo[item->GetEntry()].MinBuyPrice = itr->second->buyout / item->GetCount(); - } - if (itr->second->startbid / item->GetCount() < config.SameItemInfo[item->GetEntry()].MinBidPrice) - config.SameItemInfo[item->GetEntry()].MinBidPrice = itr->second->startbid / item->GetCount(); - else if (config.SameItemInfo[item->GetEntry()].MinBidPrice == 0) - config.SameItemInfo[item->GetEntry()].MinBidPrice = itr->second->startbid / item->GetCount(); - - if (!entry->owner) - { - - if (entry->bid != 0 && entry->bidder) // Add bid by player - { - config.CheckedEntry[entry->Id].LastExist = now; - config.CheckedEntry[entry->Id].AuctionId = entry->Id; - ++count; - } - } - else - { - if (entry->bid != 0) - { - if (entry->bidder) - { - config.CheckedEntry[entry->Id].LastExist = now; - config.CheckedEntry[entry->Id].AuctionId = entry->Id; - ++count; - } - } - else - { - config.CheckedEntry[entry->Id].LastExist = now; - config.CheckedEntry[entry->Id].AuctionId = entry->Id; - ++count; - } - } - } + // Update item entry's count and total buyout prices + // This can be used later to determine the prices and chances to buyout + uint32 itemBuyPrice = entry->buyout / item->GetCount(); + itemInfo.TotalBuyPrice = itemInfo.TotalBuyPrice + itemBuyPrice; + itemInfo.BuyItemCount++; + + if (!itemInfo.MinBuyPrice) + itemInfo.MinBuyPrice = itemBuyPrice; + else + itemInfo.MinBuyPrice = std::min(itemInfo.MinBuyPrice, itemBuyPrice); + } + + // Add/update to EligibleItems if: + // has a bid by player or + // has no bids and not owned by bot + if ((entry->bid && entry->bidder) || (entry->owner && !entry->bid)) + { + config.EligibleItems[entry->Id].LastExist = now; + config.EligibleItems[entry->Id].AuctionId = entry->Id; + ++count; } } - TC_LOG_DEBUG("ahbot", "AHBot: %u items added to buyable vector for ah type: %u", count, config.GetHouseType()); + TC_LOG_DEBUG("ahbot", "AHBot: %u items added to buyable/biddable vector for ah type: %u", count, config.GetHouseType()); TC_LOG_DEBUG("ahbot", "AHBot: SameItemInfo size = %u", (uint32)config.SameItemInfo.size()); return count; } -void AuctionBotBuyer::PrepareListOfEntry(BuyerConfiguration& config) +// ahInfo can be NULL +bool AuctionBotBuyer::RollBuyChance(const BuyerItemInfo* ahInfo, const Item* item, const AuctionEntry* auction, uint32 /*bidPrice*/) { - time_t now = time(nullptr) - 5; + if (!auction->buyout) + return false; - for (CheckEntryMap::iterator itr = config.CheckedEntry.begin(); itr != config.CheckedEntry.end();) - { - if (itr->second.LastExist < (now - 5)) - config.CheckedEntry.erase(itr++); - else - ++itr; - } + uint32 itemBuyPrice = auction->buyout / item->GetCount(); + uint32 itemPrice = item->GetTemplate()->SellPrice ? item->GetTemplate()->SellPrice : GetVendorPrice(item->GetTemplate()->Quality); + // The AH cut needs to be added to the price, but we dont want a 100% chance to buy if the price is exactly AH default + itemPrice *= 1.4f; - TC_LOG_DEBUG("ahbot", "AHBot: CheckedEntry size = %u", (uint32)config.CheckedEntry.size()); -} + // This value is between 0 and 100 and is used directly as the chance to buy or bid + // Value equal or above 100 means 100% chance and value below 0 means 0% chance + float chance = 100 / sqrt(itemBuyPrice / float(itemPrice)); -bool AuctionBotBuyer::IsBuyableEntry(uint32 buyoutPrice, double inGameBuyPrice, uint32 maxBuyablePrice, uint32 minBuyPrice, uint32 maxChance, uint32 chanceRatio) -{ - double ratio = 0; - uint32 chance = 0; + // If a player has bidded on item, have fifth of normal chance + if (auction->bidder) + chance = chance / 5; - if (buyoutPrice <= minBuyPrice) + if (ahInfo) { - if (buyoutPrice <= maxBuyablePrice) - chance = maxChance; - else - { + float avgBuyPrice = ahInfo->TotalBuyPrice / float(ahInfo->BuyItemCount); - if (buyoutPrice > 0 && maxBuyablePrice > 0) - { - ratio = double(buyoutPrice) / double(maxBuyablePrice); - if (ratio < 10) - chance = maxChance - (ratio * maxChance / 10); - else - chance = 1; - } - } - } - else if (buyoutPrice <= inGameBuyPrice) - { - if (buyoutPrice <= maxBuyablePrice) - chance = maxChance / 5; - else - { + TC_LOG_DEBUG("ahbot", "AHBot: buyout average: %.1f items with buyout: %u", avgBuyPrice, ahInfo->BuyItemCount); - if (buyoutPrice > 0 && maxBuyablePrice > 0) - { - ratio = double(buyoutPrice) / double(maxBuyablePrice); - if (ratio < 10) - chance = (maxChance / 5) - (ratio * maxChance / 50); - else - chance = 1; - } - } - } - else if (buyoutPrice <= maxBuyablePrice) - chance = maxChance / 10; - else - { - if (buyoutPrice > 0 && maxBuyablePrice > 0) + // If there are more than 5 items on AH of this entry, try weigh in the average buyout price + if (ahInfo->BuyItemCount > 5) { - ratio = double(buyoutPrice) / double(maxBuyablePrice); - if (ratio < 10) - chance = (maxChance / 5) - (ratio* maxChance / 50); - else - chance = 0; + chance *= 1 / sqrt(itemBuyPrice / avgBuyPrice); } - else - chance = 0; } - if (urand(1, chanceRatio) <= chance) - { - TC_LOG_DEBUG("ahbot", "AHBot: WIN BUY! Chance = %u, num = %u.", chance, chanceRatio); - return true; - } - else - { - TC_LOG_DEBUG("ahbot", "AHBot: LOOSE BUY! Chance = %u, num = %u.", chance, chanceRatio); - return false; - } + // Add config weigh in for quality + chance *= GetChanceMultiplier(item->GetTemplate()->Quality) / 100.0f; + + float rand = frand(0, 100); + bool win = rand <= chance; + TC_LOG_DEBUG("ahbot", "AHBot: %s BUY! chance = %.2f, price = %u, buyprice = %u.", win ? "WIN" : "LOSE", chance, itemPrice, itemBuyPrice); + return win; } -bool AuctionBotBuyer::IsBidableEntry(uint32 bidPrice, double inGameBuyPrice, double maxBidablePrice, uint32 minBidPrice, uint32 maxChance, uint32 chanceRatio) +// ahInfo can be NULL +bool AuctionBotBuyer::RollBidChance(const BuyerItemInfo* ahInfo, const Item* item, const AuctionEntry* auction, uint32 bidPrice) { - double ratio = 0; - uint32 chance = 0; + uint32 itemBidPrice = bidPrice / item->GetCount(); + uint32 itemPrice = item->GetTemplate()->SellPrice ? item->GetTemplate()->SellPrice : GetVendorPrice(item->GetTemplate()->Quality); + // The AH cut needs to be added to the price, but we dont want a 100% chance to buy if the price is exactly AH default + itemPrice *= 1.4f; - if (bidPrice <= minBidPrice) - { - if (inGameBuyPrice != 0 && bidPrice < inGameBuyPrice - (inGameBuyPrice / 30)) - chance = maxChance; - else - { - if (bidPrice < maxBidablePrice) - { - ratio = maxBidablePrice / bidPrice; - if (ratio < 3) - chance = maxChance / 500 * ratio; - else - chance = maxChance / 500; - } - } - } - else if (bidPrice < (inGameBuyPrice - (inGameBuyPrice / 30))) - chance = (maxChance / 10); - else + // This value is between 0 and 100 and is used directly as the chance to buy or bid + // Value equal or above 100 means 100% chance and value below 0 means 0% chance + float chance = 100 / sqrt(itemBidPrice / float(itemPrice)); + + if (ahInfo) { - if (bidPrice < maxBidablePrice) + float avgBidPrice = ahInfo->TotalBidPrice / float(ahInfo->BidItemCount); + + TC_LOG_DEBUG("ahbot", "AHBot: Bid average: %.1f biddable item count: %u", avgBidPrice, ahInfo->BidItemCount); + + // If there are more than 5 items on AH of this entry, try weigh in the average bid price + if (ahInfo->BidItemCount >= 5) { - ratio = maxBidablePrice / bidPrice; - if (ratio < 4) - chance = maxChance / 1000 * ratio; - else - chance = maxChance / 1000; + chance *= 1 / sqrt(itemBidPrice / avgBidPrice); } } - if (urand(1, chanceRatio) <= chance) - { - TC_LOG_DEBUG("ahbot", "AHBot: WIN BID! Chance = %u, num = %u.", chance, chanceRatio); - return true; - } - else - { - TC_LOG_DEBUG("ahbot", "AHBot: LOOSE BID! Chance = %u, num = %u.", chance, chanceRatio); - return false; - } -} + // If a player has bidded on item, have fifth of normal chance + if (auction->bidder) + chance = chance / 5; -void AuctionBotBuyer::PlaceBidToEntry(AuctionEntry* auction, uint32 bidPrice) -{ - TC_LOG_DEBUG("ahbot", "AHBot: Bid placed to entry %u, %.2fg", auction->Id, float(bidPrice) / 10000.0f); - auction->bid = bidPrice; + // Add config weigh in for quality + chance *= GetChanceMultiplier(item->GetTemplate()->Quality) / 100.0f; + + float rand = frand(0, 100); + bool win = rand <= chance; + TC_LOG_DEBUG("ahbot", "AHBot: %s BID! chance = %.2f, price = %u, bidprice = %u.", win ? "WIN" : "LOSE", chance, itemPrice, itemBidPrice); + return win; } -void AuctionBotBuyer::BuyEntry(AuctionEntry* auction) +// Removes items from EligibleItems that we shouldnt buy or bid on +// The last existed time on them should be older than now +void AuctionBotBuyer::PrepareListOfEntry(BuyerConfiguration& config) { - TC_LOG_DEBUG("ahbot", "AHBot: Entry %u bought at %.2fg", auction->Id, float(auction->buyout) / 10000.0f); - auction->bid = auction->buyout; + // now - 5 seconds to leave out all old entries but keep the ones just updated a moment ago + time_t now = time(nullptr) - 5; + + for (CheckEntryMap::iterator itr = config.EligibleItems.begin(); itr != config.EligibleItems.end();) + { + if (itr->second.LastExist < now) + config.EligibleItems.erase(itr++); + else + ++itr; + } + + TC_LOG_DEBUG("ahbot", "AHBot: EligibleItems size = %u", (uint32)config.EligibleItems.size()); } -void AuctionBotBuyer::AddNewAuctionBuyerBotBid(BuyerConfiguration& config) +// Tries to bid and buy items based on their prices and chances set in configs +void AuctionBotBuyer::BuyAndBidItems(BuyerConfiguration& config) { + time_t now = time(nullptr); AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(config.GetHouseType()); + CheckEntryMap& items = config.EligibleItems; - PrepareListOfEntry(config); - - time_t now = time(nullptr); - uint32 buyCycles; - if (config.CheckedEntry.size() > sAuctionBotConfig->GetItemPerCycleBoost()) + // Max amount of items to buy or bid + uint32 cycles = sAuctionBotConfig->GetItemPerCycleNormal(); + if (items.size() > sAuctionBotConfig->GetItemPerCycleBoost()) { - buyCycles = sAuctionBotConfig->GetItemPerCycleBoost(); + // set more cycles if there is a huge influx of items + cycles = sAuctionBotConfig->GetItemPerCycleBoost(); TC_LOG_DEBUG("ahbot", "AHBot: Boost value used for Buyer! (if this happens often adjust both ItemsPerCycle in worldserver.conf)"); } - else - buyCycles = sAuctionBotConfig->GetItemPerCycleNormal(); - for (CheckEntryMap::iterator itr = config.CheckedEntry.begin(); itr != config.CheckedEntry.end();) + // Process items eligible to be bidded or bought + CheckEntryMap::iterator itr = items.begin(); + while (cycles && itr != items.end()) { AuctionEntry* auction = auctionHouse->GetAuction(itr->second.AuctionId); - if (!auction) // is auction not active now + if (!auction) { - TC_LOG_DEBUG("ahbot", "AHBot: Entry %u doesn't exists, perhaps bought already?", - itr->second.AuctionId); - - config.CheckedEntry.erase(itr++); + TC_LOG_DEBUG("ahbot", "AHBot: Entry %u doesn't exists, perhaps bought already?", itr->second.AuctionId); + items.erase(itr++); continue; } - if (itr->second.LastChecked != 0 && (now - itr->second.LastChecked) <= _checkInterval) + // Check if the item has been checked once before + // If it has been checked and it was recently, skip it + if (itr->second.LastChecked && (now - itr->second.LastChecked) <= _checkInterval) { TC_LOG_DEBUG("ahbot", "AHBot: In time interval wait for entry %u!", auction->Id); ++itr; continue; } - if (buyCycles == 0) - break; - - uint32 maxChance = 5000; - Item* item = sAuctionMgr->GetAItem(auction->itemGUIDLow); - if (!item) // auction item not accessible, possible auction in payment pending mode + if (!item) { - config.CheckedEntry.erase(itr++); + // auction item not accessible, possible auction in payment pending mode + items.erase(itr++); continue; } - ItemTemplate const* prototype = item->GetTemplate(); - - uint32 basePrice = sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYPRICE_BUYER) ? prototype->BuyPrice : prototype->SellPrice; - basePrice *= item->GetCount(); - - uint32 maxBuyablePrice = (basePrice * config.BuyerPriceRatio) / 100; - BuyerItemInfoMap::iterator sameItemItr = config.SameItemInfo.find(item->GetEntry()); - uint32 buyoutPrice = auction->buyout / item->GetCount(); - + // price to bid if bidding uint32 bidPrice; - uint32 bidPriceByItem; - uint32 minBidPrice; - uint32 minBuyPrice; if (auction->bid >= auction->startbid) { - bidPrice = auction->GetAuctionOutBid(); - bidPriceByItem = auction->bid / item->GetCount(); + // get bid price to outbid previous bidder + bidPrice = auction->bid + auction->GetAuctionOutBid(); } else { + // no previous bidders - use starting bid bidPrice = auction->startbid; - bidPriceByItem = auction->startbid / item->GetCount(); } - double inGameBuyPrice; - double inGameBidPrice; - if (sameItemItr == config.SameItemInfo.end()) - { - inGameBuyPrice = 0; - inGameBidPrice = 0; - minBidPrice = 0; - minBuyPrice = 0; - } - else - { - if (sameItemItr->second.ItemCount == 1) - maxBuyablePrice = maxBuyablePrice * 5; // if only one item exist can be bought if the price is high too. - inGameBuyPrice = sameItemItr->second.BuyPrice / sameItemItr->second.ItemCount; - inGameBidPrice = sameItemItr->second.BidPrice / sameItemItr->second.ItemCount; - minBidPrice = sameItemItr->second.MinBidPrice; - minBuyPrice = sameItemItr->second.MinBuyPrice; - } + const BuyerItemInfo* ahInfo = nullptr; + BuyerItemInfoMap::const_iterator sameItemItr = config.SameItemInfo.find(item->GetEntry()); + if (sameItemItr != config.SameItemInfo.end()) + ahInfo = &sameItemItr->second; - uint32 maxBidablePrice = maxBuyablePrice - (maxBuyablePrice / 30); // Max Bidable price defined to 70% of max buyable price + TC_LOG_DEBUG("ahbot", "AHBot: Rolling for AHentry %u:", auction->Id); - TC_LOG_DEBUG("ahbot", "AHBot: Auction added with data:"); - TC_LOG_DEBUG("ahbot", "AHBot: MaxPrice of Entry %u is %.1fg.", itr->second.AuctionId, double(maxBuyablePrice) / 10000.0); - TC_LOG_DEBUG("ahbot", "AHBot: GamePrice buy=%.1fg, bid=%.1fg.", inGameBuyPrice / 10000, inGameBidPrice / 10000); - TC_LOG_DEBUG("ahbot", "AHBot: Minimal price see in AH Buy=%ug, Bid=%ug.", - minBuyPrice / 10000, minBidPrice / 10000); - TC_LOG_DEBUG("ahbot", "AHBot: Actual Entry price, Buy=%ug, Bid=%ug.", buyoutPrice / 10000, bidPrice / 10000); + // Roll buy and bid chances + bool successBuy = RollBuyChance(ahInfo, item, auction, bidPrice); + bool successBid = RollBidChance(ahInfo, item, auction, bidPrice); - if (!auction->owner) // Original auction owner - maxChance = maxChance / 5; // if Owner is AHBot this mean player placed bid on this auction. We divide by 5 chance for AhBuyer to place bid on it. (This make more challenge than ignore entry) - if (auction->buyout != 0) // Is the item directly buyable? - { - if (IsBuyableEntry(buyoutPrice, inGameBuyPrice, maxBuyablePrice, minBuyPrice, maxChance, config.FactionChance)) - { - if (IsBidableEntry(bidPriceByItem, inGameBuyPrice, maxBidablePrice, minBidPrice, maxChance / 2, config.FactionChance)) - { - if (urand(0, 5) == 0) - PlaceBidToEntry(auction, bidPrice); - else - BuyEntry(auction); - } - else - BuyEntry(auction); - } - else if (IsBidableEntry(bidPriceByItem, inGameBuyPrice, maxBidablePrice, minBidPrice, maxChance / 2, config.FactionChance)) - PlaceBidToEntry(auction, bidPrice); - } - else if (IsBidableEntry(bidPriceByItem, inGameBuyPrice, maxBidablePrice, minBidPrice, maxChance, config.FactionChance)) - PlaceBidToEntry(auction, bidPrice); + // If roll bidding succesfully and bid price is above buyout -> buyout + // If roll for buying was successful but not for bid, buyout directly + // If roll bidding was also successful, buy the entry with 20% chance + // - Better bid than buy since the item is bought by bot if no player bids after + // Otherwise bid if roll for bid was successful + if ((auction->buyout && successBid && bidPrice >= auction->buyout) || + (successBuy && (!successBid || urand(1, 5) == 1))) + BuyEntry(auction, auctionHouse); // buyout + else if (successBid) + PlaceBidToEntry(auction, bidPrice); // bid itr->second.LastChecked = now; - --buyCycles; - + --cycles; ++itr; } + + // Clear not needed entries + config.SameItemInfo.clear(); } -bool AuctionBotBuyer::Update(AuctionHouseType houseType) +uint32 AuctionBotBuyer::GetVendorPrice(uint32 quality) +{ + switch (quality) + { + case ITEM_QUALITY_POOR: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_GRAY); + case ITEM_QUALITY_NORMAL: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_WHITE); + case ITEM_QUALITY_UNCOMMON: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_GREEN); + case ITEM_QUALITY_RARE: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_BLUE); + case ITEM_QUALITY_EPIC: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_PURPLE); + case ITEM_QUALITY_LEGENDARY: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_ORANGE); + case ITEM_QUALITY_ARTIFACT: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_BASEPRICE_YELLOW); + default: + return 1 * SILVER; + } +} + +uint32 AuctionBotBuyer::GetChanceMultiplier(uint32 quality) { - if (sAuctionBotConfig->GetConfigBuyerEnabled(houseType)) + switch (quality) { - TC_LOG_DEBUG("ahbot", "AHBot: %s buying ...", AuctionBotConfig::GetHouseTypeName(houseType)); - if (GetBuyableEntry(_houseConfig[houseType]) > 0) - AddNewAuctionBuyerBotBid(_houseConfig[houseType]); - return true; + case ITEM_QUALITY_POOR: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_GRAY); + case ITEM_QUALITY_NORMAL: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_WHITE); + case ITEM_QUALITY_UNCOMMON: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_GREEN); + case ITEM_QUALITY_RARE: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_BLUE); + case ITEM_QUALITY_EPIC: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_PURPLE); + case ITEM_QUALITY_LEGENDARY: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_ORANGE); + case ITEM_QUALITY_ARTIFACT: + return sAuctionBotConfig->GetConfig(CONFIG_AHBOT_BUYER_CHANCEMULTIPLIER_YELLOW); + default: + return 100; } +} + +// Buys the auction and does necessary actions to complete the buyout +void AuctionBotBuyer::BuyEntry(AuctionEntry* auction, AuctionHouseObject* auctionHouse) +{ + TC_LOG_DEBUG("ahbot", "AHBot: Entry %u bought at %.2fg", auction->Id, float(auction->buyout) / GOLD); + + SQLTransaction trans = CharacterDatabase.BeginTransaction(); + + // Send mail to previous bidder if any + if (auction->bidder) + sAuctionMgr->SendAuctionOutbiddedMail(auction, auction->buyout, NULL, trans); + + // Set bot as bidder and set new bid amount + auction->bidder = 0; + auction->bid = auction->buyout; + + // Mails must be under transaction control too to prevent data loss + sAuctionMgr->SendAuctionSalePendingMail(auction, trans); + sAuctionMgr->SendAuctionSuccessfulMail(auction, trans); + sAuctionMgr->SendAuctionWonMail(auction, trans); + + // Delete auction from DB + auction->DeleteFromDB(trans); + + // Remove auction item and auction from memory + sAuctionMgr->RemoveAItem(auction->itemGUIDLow); + auctionHouse->RemoveAuction(auction); + + // Run SQLs + CharacterDatabase.CommitTransaction(trans); +} + +// Bids on the auction and does the necessary actions for bidding +void AuctionBotBuyer::PlaceBidToEntry(AuctionEntry* auction, uint32 bidPrice) +{ + TC_LOG_DEBUG("ahbot", "AHBot: Bid placed to entry %u, %.2fg", auction->Id, float(bidPrice) / GOLD); + + SQLTransaction trans = CharacterDatabase.BeginTransaction(); + + // Send mail to previous bidder if any + if (auction->bidder) + sAuctionMgr->SendAuctionOutbiddedMail(auction, bidPrice, NULL, trans); + + // Set bot as bidder and set new bid amount + auction->bidder = 0; + auction->bid = bidPrice; + + // Update auction to DB + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_AUCTION_BID); + stmt->setUInt32(0, auction->bidder); + stmt->setUInt32(1, auction->bid); + stmt->setUInt32(2, auction->Id); + trans->Append(stmt); - return false; + // Run SQLs + CharacterDatabase.CommitTransaction(trans); } diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.h b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.h index bd8d6e46f0e..c030731cb40 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.h +++ b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.h @@ -24,7 +24,7 @@ struct BuyerAuctionEval { - BuyerAuctionEval(): AuctionId(0), LastChecked(0), LastExist(0) {} + BuyerAuctionEval() : AuctionId(0), LastChecked(0), LastExist(0) { } uint32 AuctionId; time_t LastChecked; @@ -33,13 +33,14 @@ struct BuyerAuctionEval struct BuyerItemInfo { - BuyerItemInfo(): ItemCount(0), BuyPrice(0), BidPrice(0), MinBuyPrice(0), MinBidPrice(0) {} + BuyerItemInfo() : BidItemCount(0), BuyItemCount(0), MinBuyPrice(0), MinBidPrice(0), TotalBuyPrice(0), TotalBidPrice(0) { } - uint32 ItemCount; - double BuyPrice; - double BidPrice; + uint32 BidItemCount; + uint32 BuyItemCount; uint32 MinBuyPrice; uint32 MinBidPrice; + double TotalBuyPrice; + double TotalBidPrice; }; typedef std::map<uint32, BuyerItemInfo> BuyerItemInfoMap; @@ -47,7 +48,7 @@ typedef std::map<uint32, BuyerAuctionEval> CheckEntryMap; struct BuyerConfiguration { - BuyerConfiguration(): FactionChance(3), BuyerEnabled(false), BuyerPriceRatio(100), _houseType(AUCTION_HOUSE_NEUTRAL) {} + BuyerConfiguration() : BuyerEnabled(false), _houseType(AUCTION_HOUSE_NEUTRAL) { } void Initialize(AuctionHouseType houseType) { @@ -57,10 +58,8 @@ struct BuyerConfiguration AuctionHouseType GetHouseType() const { return _houseType; } BuyerItemInfoMap SameItemInfo; - CheckEntryMap CheckedEntry; - uint32 FactionChance; + CheckEntryMap EligibleItems; bool BuyerEnabled; - uint32 BuyerPriceRatio; private: AuctionHouseType _houseType; @@ -78,19 +77,23 @@ public: bool Update(AuctionHouseType houseType) override; void LoadConfig(); - void AddNewAuctionBuyerBotBid(BuyerConfiguration& config); + void BuyAndBidItems(BuyerConfiguration& config); private: uint32 _checkInterval; BuyerConfiguration _houseConfig[MAX_AUCTION_HOUSE_TYPE]; void LoadBuyerValues(BuyerConfiguration& config); - bool IsBuyableEntry(uint32 buyoutPrice, double inGameBuyPrice, uint32 maxBuyablePrice, uint32 minBuyPrice, uint32 maxChance, uint32 chanceRatio); - bool IsBidableEntry(uint32 bidPrice, double inGameBuyPrice, double maxBidablePrice, uint32 minBidPrice, uint32 maxChance, uint32 chanceRatio); + + // ahInfo can be NULL + bool RollBuyChance(const BuyerItemInfo* ahInfo, const Item* item, const AuctionEntry* auction, uint32 bidPrice); + bool RollBidChance(const BuyerItemInfo* ahInfo, const Item* item, const AuctionEntry* auction, uint32 bidPrice); void PlaceBidToEntry(AuctionEntry* auction, uint32 bidPrice); - void BuyEntry(AuctionEntry* auction); + void BuyEntry(AuctionEntry* auction, AuctionHouseObject* auctionHouse); void PrepareListOfEntry(BuyerConfiguration& config); - uint32 GetBuyableEntry(BuyerConfiguration& config); + uint32 GetItemInformation(BuyerConfiguration& config); + uint32 GetVendorPrice(uint32 quality); + uint32 GetChanceMultiplier(uint32 quality); }; #endif diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp index dff4077d569..733bd5e9ec8 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp @@ -44,14 +44,14 @@ bool AuctionBotSeller::Initialize() { std::stringstream includeStream(sAuctionBotConfig->GetAHBotIncludes()); std::string temp; - while (getline(includeStream, temp, ',')) + while (std::getline(includeStream, temp, ',')) includeItems.push_back(atoi(temp.c_str())); } { std::stringstream excludeStream(sAuctionBotConfig->GetAHBotExcludes()); std::string temp; - while (getline(excludeStream, temp, ',')) + while (std::getline(excludeStream, temp, ',')) excludeItems.push_back(atoi(temp.c_str())); } diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index 7ed05205f39..3b7e9ac3f33 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -179,7 +179,7 @@ bool ArenaTeam::AddMember(ObjectGuid playerGuid) player->SetArenaTeamInfoField(GetSlot(), ARENA_TEAM_MEMBER, 1); } - TC_LOG_INFO("bg.arena", "Player: %s [%s] joined arena team type: %u [Id: %u, Name: %s].", playerName.c_str(), playerGuid.ToString().c_str(), GetType(), GetId(), GetName().c_str()); + TC_LOG_DEBUG("bg.arena", "Player: %s [%s] joined arena team type: %u [Id: %u, Name: %s].", playerName.c_str(), playerGuid.ToString().c_str(), GetType(), GetId(), GetName().c_str()); return true; } diff --git a/src/server/game/DungeonFinding/LFG.cpp b/src/server/game/DungeonFinding/LFG.cpp index ab06eff7148..8ec638128d8 100644 --- a/src/server/game/DungeonFinding/LFG.cpp +++ b/src/server/game/DungeonFinding/LFG.cpp @@ -91,9 +91,6 @@ std::string GetStateString(LfgState state) case LFG_STATE_DUNGEON: entry = LANG_LFG_STATE_DUNGEON; break; - case LFG_STATE_BOOT: - entry = LANG_LFG_STATE_BOOT; - break; case LFG_STATE_FINISHED_DUNGEON: entry = LANG_LFG_STATE_FINISHED_DUNGEON; break; diff --git a/src/server/game/DungeonFinding/LFG.h b/src/server/game/DungeonFinding/LFG.h index 6145a2324b1..84a25ee49ad 100644 --- a/src/server/game/DungeonFinding/LFG.h +++ b/src/server/game/DungeonFinding/LFG.h @@ -64,8 +64,8 @@ enum LfgState LFG_STATE_ROLECHECK, // Rolecheck active LFG_STATE_QUEUED, // Queued LFG_STATE_PROPOSAL, // Proposal active - LFG_STATE_BOOT, // Vote kick active - LFG_STATE_DUNGEON, // In LFG Group, in a Dungeon + //LFG_STATE_BOOT, // Vote kick active + LFG_STATE_DUNGEON = 5, // In LFG Group, in a Dungeon LFG_STATE_FINISHED_DUNGEON, // In LFG Group, in a finished Dungeon LFG_STATE_RAIDBROWSER // Using Raid finder }; diff --git a/src/server/game/DungeonFinding/LFGGroupData.cpp b/src/server/game/DungeonFinding/LFGGroupData.cpp index 2ab1e0b1e7e..aa6916a39a4 100644 --- a/src/server/game/DungeonFinding/LFGGroupData.cpp +++ b/src/server/game/DungeonFinding/LFGGroupData.cpp @@ -22,7 +22,7 @@ namespace lfg { LfgGroupData::LfgGroupData(): m_State(LFG_STATE_NONE), m_OldState(LFG_STATE_NONE), - m_Leader(), m_Dungeon(0), m_KicksLeft(LFG_GROUP_MAX_KICKS) + m_Leader(), m_Dungeon(0), m_KicksLeft(LFG_GROUP_MAX_KICKS), m_VoteKickActive(false) { } LfgGroupData::~LfgGroupData() @@ -126,4 +126,14 @@ uint8 LfgGroupData::GetKicksLeft() const return m_KicksLeft; } +void LfgGroupData::SetVoteKick(bool active) +{ + m_VoteKickActive = active; +} + +bool LfgGroupData::IsVoteKickActive() const +{ + return m_VoteKickActive; +} + } // namespace lfg diff --git a/src/server/game/DungeonFinding/LFGGroupData.h b/src/server/game/DungeonFinding/LFGGroupData.h index 8d8f1dc0f3d..b573e7c309e 100644 --- a/src/server/game/DungeonFinding/LFGGroupData.h +++ b/src/server/game/DungeonFinding/LFGGroupData.h @@ -66,6 +66,9 @@ class LfgGroupData // VoteKick uint8 GetKicksLeft() const; + void SetVoteKick(bool active); + bool IsVoteKickActive() const; + private: // General LfgState m_State; ///< State if group in LFG @@ -76,6 +79,7 @@ class LfgGroupData uint32 m_Dungeon; ///< Dungeon entry // Vote Kick uint8 m_KicksLeft; ///< Number of kicks left + bool m_VoteKickActive; }; } // namespace lfg diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index d670e0a2949..93ebeca9780 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -311,9 +311,8 @@ void LFGMgr::Update(uint32 diff) ObjectGuid pguid = itVotes->first; if (pguid != boot.victim) SendLfgBootProposalUpdate(pguid, boot); - SetState(pguid, LFG_STATE_DUNGEON); } - SetState(itBoot->first, LFG_STATE_DUNGEON); + SetVoteKick(itBoot->first, false); BootsStore.erase(itBoot); } } @@ -643,7 +642,6 @@ void LFGMgr::LeaveLfg(ObjectGuid guid) break; case LFG_STATE_DUNGEON: case LFG_STATE_FINISHED_DUNGEON: - case LFG_STATE_BOOT: if (guid != gguid) // Player SetState(guid, LFG_STATE_NONE); break; @@ -755,7 +753,7 @@ void LFGMgr::GetCompatibleDungeons(LfgDungeonSet& dungeons, GuidSet const& playe { ObjectGuid guid = (*it); LfgLockMap const& cachedLockMap = GetLockedDungeons(guid); - Player* player = ObjectAccessor::FindPlayer(guid); + Player* player = ObjectAccessor::FindConnectedPlayer(guid); for (LfgLockMap::const_iterator it2 = cachedLockMap.begin(); it2 != cachedLockMap.end() && !dungeons.empty(); ++it2) { uint32 dungeonId = (it2->first & 0x00FFFFFF); // Compare dungeon ids @@ -893,7 +891,7 @@ void LFGMgr::MakeNewGroup(LfgProposal const& proposal) for (GuidList::const_iterator it = players.begin(); it != players.end(); ++it) { ObjectGuid pguid = (*it); - Player* player = ObjectAccessor::FindPlayer(pguid); + Player* player = ObjectAccessor::FindConnectedPlayer(pguid); if (!player) continue; @@ -1156,7 +1154,7 @@ void LFGMgr::RemoveProposal(LfgProposalContainer::iterator itProposal, LfgUpdate */ void LFGMgr::InitBoot(ObjectGuid gguid, ObjectGuid kicker, ObjectGuid victim, std::string const& reason) { - SetState(gguid, LFG_STATE_BOOT); + SetVoteKick(gguid, true); LfgPlayerBoot& boot = BootsStore[gguid]; boot.inProgress = true; @@ -1170,7 +1168,6 @@ void LFGMgr::InitBoot(ObjectGuid gguid, ObjectGuid kicker, ObjectGuid victim, st for (GuidSet::const_iterator itr = players.begin(); itr != players.end(); ++itr) { ObjectGuid guid = (*itr); - SetState(guid, LFG_STATE_BOOT); boot.votes[guid] = LFG_ANSWER_PENDING; } @@ -1227,13 +1224,10 @@ void LFGMgr::UpdateBoot(ObjectGuid guid, bool accept) { ObjectGuid pguid = itVotes->first; if (pguid != boot.victim) - { - SetState(pguid, LFG_STATE_DUNGEON); SendLfgBootProposalUpdate(pguid, boot); - } } - SetState(gguid, LFG_STATE_DUNGEON); + SetVoteKick(gguid, false); if (agreeNum == LFG_GROUP_KICK_VOTES_NEEDED) // Vote passed - Kick player { if (Group* group = sGroupMgr->GetGroupByGUID(gguid.GetCounter())) @@ -1495,12 +1489,12 @@ LfgState LFGMgr::GetState(ObjectGuid guid) if (guid.IsGroup()) { state = GroupsStore[guid].GetState(); - TC_LOG_TRACE("lfg.data.group.state.get", "Group: %s, State: %u", guid.ToString().c_str(), state); + TC_LOG_TRACE("lfg.data.group.state.get", "Group: %s, State: %s", guid.ToString().c_str(), GetStateString(state).c_str()); } else { state = PlayersStore[guid].GetState(); - TC_LOG_TRACE("lfg.data.player.state.get", "Player: %s, State: %u", guid.ToString().c_str(), state); + TC_LOG_TRACE("lfg.data.player.state.get", "Player: %s, State: %s", guid.ToString().c_str(), GetStateString(state).c_str()); } return state; @@ -1523,6 +1517,16 @@ LfgState LFGMgr::GetOldState(ObjectGuid guid) return state; } +bool LFGMgr::IsVoteKickActive(ObjectGuid gguid) +{ + ASSERT(gguid.IsGroup()); + + bool active = GroupsStore[gguid].IsVoteKickActive(); + TC_LOG_TRACE("lfg.data.group.votekick.get", "Group: %s, Active: %d", gguid.ToString().c_str(), active); + + return active; +} + uint32 LFGMgr::GetDungeon(ObjectGuid guid, bool asId /*= true */) { uint32 dungeon = GroupsStore[guid].GetDungeon(asId); @@ -1566,7 +1570,7 @@ LfgLockMap const LFGMgr::GetLockedDungeons(ObjectGuid guid) { TC_LOG_TRACE("lfg.data.player.dungeons.locked.get", "Player: %s, LockedDungeons.", guid.ToString().c_str()); LfgLockMap lock; - Player* player = ObjectAccessor::FindPlayer(guid); + Player* player = ObjectAccessor::FindConnectedPlayer(guid); if (!player) { TC_LOG_WARN("lfg.data.player.dungeons.locked.get", "Player: %s not ingame while retrieving his LockedDungeons.", guid.ToString().c_str()); @@ -1683,6 +1687,17 @@ void LFGMgr::SetState(ObjectGuid guid, LfgState state) } } +void LFGMgr::SetVoteKick(ObjectGuid gguid, bool active) +{ + ASSERT(gguid.IsGroup()); + + LfgGroupData& data = GroupsStore[gguid]; + TC_LOG_TRACE("lfg.data.group.votekick.set", "Group: %s, New state: %d, Previous: %d", + gguid.ToString().c_str(), active, data.IsVoteKickActive()); + + data.SetVoteKick(active); +} + void LFGMgr::SetDungeon(ObjectGuid guid, uint32 dungeon) { TC_LOG_TRACE("lfg.data.group.dungeon.set", "Group: %s, Dungeon: %u", guid.ToString().c_str(), dungeon); diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h index 0e5fadc85cc..fda9a8b7ce9 100644 --- a/src/server/game/DungeonFinding/LFGMgr.h +++ b/src/server/game/DungeonFinding/LFGMgr.h @@ -322,6 +322,8 @@ class LFGMgr LfgDungeonSet const& GetSelectedDungeons(ObjectGuid guid); /// Get current lfg state LfgState GetState(ObjectGuid guid); + /// Get current vote kick state + bool IsVoteKickActive(ObjectGuid gguid); /// Get current dungeon uint32 GetDungeon(ObjectGuid guid, bool asId = true); /// Get the map id of the current dungeon @@ -425,6 +427,7 @@ class LFGMgr void SetSelectedDungeons(ObjectGuid guid, LfgDungeonSet const& dungeons); void DecreaseKicksLeft(ObjectGuid guid); void SetState(ObjectGuid guid, LfgState state); + void SetVoteKick(ObjectGuid gguid, bool active); void RemovePlayerData(ObjectGuid guid); void GetCompatibleDungeons(LfgDungeonSet& dungeons, GuidSet const& players, LfgLockPartyMap& lockMap, bool isContinue); void _SaveToDB(ObjectGuid guid, uint32 db_guid); diff --git a/src/server/game/DungeonFinding/LFGQueue.cpp b/src/server/game/DungeonFinding/LFGQueue.cpp index 683590cebe8..a7c0a1cfa67 100644 --- a/src/server/game/DungeonFinding/LFGQueue.cpp +++ b/src/server/game/DungeonFinding/LFGQueue.cpp @@ -377,7 +377,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(GuidList check) // Group with less that MAXGROUPSIZE members always compatible if (check.size() == 1 && numPlayers != MAXGROUPSIZE) { - TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) sigle group. Compatibles", strGuids.c_str()); + TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) single group. Compatibles", strGuids.c_str()); LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(check.front()); LfgCompatibilityData data(LFG_COMPATIBLES_WITH_LESS_PLAYERS); diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index b5bcbfd221f..0b97499fc05 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1072,32 +1072,32 @@ ByteBuffer& operator<<(ByteBuffer& buf, Position::PositionXYZOStreamer const& st void MovementInfo::OutDebug() { - TC_LOG_INFO("misc", "MOVEMENT INFO"); - TC_LOG_INFO("misc", "%s", guid.ToString().c_str()); - TC_LOG_INFO("misc", "flags %u", flags); - TC_LOG_INFO("misc", "flags2 %u", flags2); - TC_LOG_INFO("misc", "time %u current time " UI64FMTD "", flags2, uint64(::time(NULL))); - TC_LOG_INFO("misc", "position: `%s`", pos.ToString().c_str()); + TC_LOG_DEBUG("misc", "MOVEMENT INFO"); + TC_LOG_DEBUG("misc", "%s", guid.ToString().c_str()); + TC_LOG_DEBUG("misc", "flags %u", flags); + TC_LOG_DEBUG("misc", "flags2 %u", flags2); + TC_LOG_DEBUG("misc", "time %u current time " UI64FMTD "", flags2, uint64(::time(NULL))); + TC_LOG_DEBUG("misc", "position: `%s`", pos.ToString().c_str()); if (flags & MOVEMENTFLAG_ONTRANSPORT) { - TC_LOG_INFO("misc", "TRANSPORT:"); - TC_LOG_INFO("misc", "%s", transport.guid.ToString().c_str()); - TC_LOG_INFO("misc", "position: `%s`", transport.pos.ToString().c_str()); - TC_LOG_INFO("misc", "seat: %i", transport.seat); - TC_LOG_INFO("misc", "time: %u", transport.time); + TC_LOG_DEBUG("misc", "TRANSPORT:"); + TC_LOG_DEBUG("misc", "%s", transport.guid.ToString().c_str()); + TC_LOG_DEBUG("misc", "position: `%s`", transport.pos.ToString().c_str()); + TC_LOG_DEBUG("misc", "seat: %i", transport.seat); + TC_LOG_DEBUG("misc", "time: %u", transport.time); if (flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT) - TC_LOG_INFO("misc", "time2: %u", transport.time2); + TC_LOG_DEBUG("misc", "time2: %u", transport.time2); } if ((flags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (flags2 & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING)) - TC_LOG_INFO("misc", "pitch: %f", pitch); + TC_LOG_DEBUG("misc", "pitch: %f", pitch); - TC_LOG_INFO("misc", "fallTime: %u", fallTime); + TC_LOG_DEBUG("misc", "fallTime: %u", fallTime); if (flags & MOVEMENTFLAG_FALLING) - TC_LOG_INFO("misc", "j_zspeed: %f j_sinAngle: %f j_cosAngle: %f j_xyspeed: %f", jump.zspeed, jump.sinAngle, jump.cosAngle, jump.xyspeed); + TC_LOG_DEBUG("misc", "j_zspeed: %f j_sinAngle: %f j_cosAngle: %f j_xyspeed: %f", jump.zspeed, jump.sinAngle, jump.cosAngle, jump.xyspeed); if (flags & MOVEMENTFLAG_SPLINE_ELEVATION) - TC_LOG_INFO("misc", "splineElevation: %f", splineElevation); + TC_LOG_DEBUG("misc", "splineElevation: %f", splineElevation); } WorldObject::WorldObject(bool isWorldObject) : WorldLocation(), LastUsedScriptID(0), @@ -2255,6 +2255,13 @@ void WorldObject::GetCreatureListWithEntryInGrid(std::list<Creature*>& creatureL cell.Visit(pair, visitor, *(this->GetMap()), *this, maxSearchRange); } +void WorldObject::GetPlayerListInGrid(std::list<Player*>& playerList, float maxSearchRange) const +{ + Trinity::AnyPlayerInObjectRangeCheck checker(this, maxSearchRange); + Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(this, playerList, checker); + this->VisitNearbyWorldObject(maxSearchRange, searcher); +} + /* namespace Trinity { diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 2aa1704f7d2..c48d8ff4d18 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -683,6 +683,7 @@ class WorldObject : public Object, public WorldLocation void GetGameObjectListWithEntryInGrid(std::list<GameObject*>& lList, uint32 uiEntry, float fMaxSearchRange) const; void GetCreatureListWithEntryInGrid(std::list<Creature*>& lList, uint32 uiEntry, float fMaxSearchRange) const; + void GetPlayerListInGrid(std::list<Player*>& lList, float fMaxSearchRange) const; void DestroyForNearbyPlayers(); virtual void UpdateObjectVisibility(bool forced = true); diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h index be292751811..36dbdd72069 100644 --- a/src/server/game/Entities/Object/ObjectGuid.h +++ b/src/server/game/Entities/Object/ObjectGuid.h @@ -23,6 +23,7 @@ #include "ByteBuffer.h" #include <functional> +#include <unordered_set> enum TypeID { @@ -202,6 +203,7 @@ typedef std::set<ObjectGuid> GuidSet; typedef std::list<ObjectGuid> GuidList; typedef std::deque<ObjectGuid> GuidDeque; typedef std::vector<ObjectGuid> GuidVector; +typedef std::unordered_set<ObjectGuid> GuidUnorderedSet; // minimum buffer size for packed guid is 9 bytes #define PACKED_GUID_MIN_BUFFER_SIZE 9 diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 5084031880d..fdfd1fa3d4d 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -1314,7 +1314,7 @@ void Pet::_LoadAuras(uint32 timediff) } aura->SetLoadedState(maxduration, remaintime, remaincharges, stackcount, recalculatemask, &damage[0]); aura->ApplyForTargets(); - TC_LOG_INFO("entities.pet", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask); + TC_LOG_DEBUG("entities.pet", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask); } } while (result->NextRow()); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 161fca432b4..b0aa4775e17 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4218,7 +4218,7 @@ void Player::RemoveSpellCategoryCooldown(uint32 cat, bool update /* = false */) void Player::RemoveArenaSpellCooldowns(bool removeActivePetCooldowns) { - // remove cooldowns on spells that have <= 10 min CD + // remove cooldowns on spells that have < 10 min CD SpellCooldowns::iterator itr, next; for (itr = m_spellCooldowns.begin(); itr != m_spellCooldowns.end(); itr = next) @@ -4226,10 +4226,10 @@ void Player::RemoveArenaSpellCooldowns(bool removeActivePetCooldowns) next = itr; ++next; SpellInfo const* entry = sSpellMgr->GetSpellInfo(itr->first); - // check if spellentry is present and if the cooldown is less or equal to 10 min + // check if spellentry is present and if the cooldown is less than 10 min if (entry && - entry->RecoveryTime <= 10 * MINUTE * IN_MILLISECONDS && - entry->CategoryRecoveryTime <= 10 * MINUTE * IN_MILLISECONDS) + entry->RecoveryTime < 10 * MINUTE * IN_MILLISECONDS && + entry->CategoryRecoveryTime < 10 * MINUTE * IN_MILLISECONDS) { // remove & notify RemoveSpellCooldown(itr->first, true); @@ -4830,10 +4830,26 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe stmt->setUInt32(0, guid); trans->Append(stmt); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_ARENA_STATS); + stmt->setUInt32(0, guid); + trans->Append(stmt); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_AURA); stmt->setUInt32(0, guid); trans->Append(stmt); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PLAYER_BGDATA); + stmt->setUInt32(0, guid); + trans->Append(stmt); + + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_BATTLEGROUND_RANDOM); + stmt->setUInt32(0, guid); + trans->Append(stmt); + + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PLAYER_CURRENCY); + stmt->setUInt32(0, guid); + trans->Append(stmt); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_GIFT); stmt->setUInt32(0, guid); trans->Append(stmt); @@ -4923,10 +4939,6 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe stmt->setUInt32(0, guid); trans->Append(stmt); - stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PLAYER_BGDATA); - stmt->setUInt32(0, guid); - trans->Append(stmt); - stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_GLYPHS); stmt->setUInt32(0, guid); trans->Append(stmt); @@ -4955,6 +4967,10 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe stmt->setUInt32(0, guid); trans->Append(stmt); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_STATS); + stmt->setUInt32(0, guid); + trans->Append(stmt); + CharacterDatabase.CommitTransaction(trans); break; } @@ -5002,7 +5018,7 @@ void Player::DeleteOldCharacters() */ void Player::DeleteOldCharacters(uint32 keepDays) { - TC_LOG_INFO("entities.player", "Player::DeleteOldChars: Deleting all characters which have been deleted %u days before...", keepDays); + TC_LOG_INFO("entities.player", "Player::DeleteOldChars: Removing characters older than %u day(s)", keepDays); PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_OLD_CHARS); stmt->setUInt32(0, uint32(time(NULL) - time_t(keepDays * DAY))); @@ -5010,7 +5026,7 @@ void Player::DeleteOldCharacters(uint32 keepDays) if (result) { - TC_LOG_DEBUG("entities.player", "Player::DeleteOldChars: Found " UI64FMTD " character(s) to delete", result->GetRowCount()); + TC_LOG_DEBUG("entities.player", "Player::DeleteOldChars: " UI64FMTD " character(s) to remove", result->GetRowCount()); do { Field* fields = result->Fetch(); @@ -6636,20 +6652,20 @@ void Player::SendActionButtons(uint32 state) const } GetSession()->SendPacket(&data); - TC_LOG_INFO("network", "SMSG_ACTION_BUTTONS sent '%u' spec '%u' Sent", GetGUIDLow(), m_activeSpec); + TC_LOG_DEBUG("network", "SMSG_ACTION_BUTTONS sent '%u' spec '%u' Sent", GetGUIDLow(), m_activeSpec); } bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type) { if (button >= MAX_ACTION_BUTTONS) { - TC_LOG_ERROR("entities.player", "Action %u not added into button %u for player %s (GUID: %u): button must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTONS ); + TC_LOG_DEBUG("entities.player", "Action %u not added into button %u for player %s (GUID: %u): button must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTONS ); return false; } if (action >= MAX_ACTION_BUTTON_ACTION_VALUE) { - TC_LOG_ERROR("entities.player", "Action %u not added into button %u for player %s (GUID: %u): action must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTON_ACTION_VALUE); + TC_LOG_DEBUG("entities.player", "Action %u not added into button %u for player %s (GUID: %u): action must be < %u", action, button, GetName().c_str(), GetGUIDLow(), MAX_ACTION_BUTTON_ACTION_VALUE); return false; } @@ -6658,20 +6674,20 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type) case ACTION_BUTTON_SPELL: if (!sSpellMgr->GetSpellInfo(action)) { - TC_LOG_ERROR("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): spell not exist", action, button, GetName().c_str(), GetGUIDLow()); + TC_LOG_DEBUG("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): spell not exist", action, button, GetName().c_str(), GetGUIDLow()); return false; } if (!HasSpell(action)) { - TC_LOG_ERROR("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): player don't known this spell", action, button, GetName().c_str(), GetGUIDLow()); + TC_LOG_DEBUG("entities.player", "Spell action %u not added into button %u for player %s (GUID: %u): player don't known this spell", action, button, GetName().c_str(), GetGUIDLow()); return false; } break; case ACTION_BUTTON_ITEM: if (!sObjectMgr->GetItemTemplate(action)) { - TC_LOG_ERROR("entities.player", "Item action %u not added into button %u for player %s (GUID: %u): item not exist", action, button, GetName().c_str(), GetGUIDLow()); + TC_LOG_DEBUG("entities.player", "Item action %u not added into button %u for player %s (GUID: %u): item not exist", action, button, GetName().c_str(), GetGUIDLow()); return false; } break; @@ -6681,7 +6697,7 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type) case ACTION_BUTTON_EQSET: break; default: - TC_LOG_ERROR("entities.player", "Unknown action type %u", type); + TC_LOG_DEBUG("entities.player", "Unknown action type %u", type); return false; // other cases not checked at this moment } @@ -6883,7 +6899,7 @@ void Player::CheckAreaExploreAndOutdoor() GiveXP(XP, NULL); SendExplorationExperience(area, XP); } - TC_LOG_INFO("entities.player", "Player %u discovered a new area: %u", GetGUIDLow(), area); + TC_LOG_DEBUG("entities.player", "Player %u discovered a new area: %u", GetGUIDLow(), area); } } } @@ -7763,7 +7779,7 @@ void Player::_ApplyItemMods(Item* item, uint8 slot, bool apply) if (item->IsBroken()) return; - TC_LOG_INFO("entities.player.items", "applying mods for item %u ", item->GetGUIDLow()); + TC_LOG_DEBUG("entities.player.items", "applying mods for item %u ", item->GetGUIDLow()); uint8 attacktype = Player::GetAttackBySlot(slot); @@ -9774,7 +9790,7 @@ uint32 Player::GetXPRestBonus(uint32 xp) SetRestBonus(GetRestBonus() - rested_bonus); - TC_LOG_INFO("entities.player", "Player gain %u xp (+ %u Rested Bonus). Rested points=%f", xp+rested_bonus, rested_bonus, GetRestBonus()); + TC_LOG_DEBUG("entities.player", "Player gain %u xp (+ %u Rested Bonus). Rested points=%f", xp+rested_bonus, rested_bonus, GetRestBonus()); return rested_bonus; } @@ -17999,7 +18015,7 @@ void Player::_LoadAuras(PreparedQueryResult result, uint32 timediff) aura->SetLoadedState(maxduration, remaintime, remaincharges, stackcount, recalculatemask, &damage[0]); aura->ApplyForTargets(); - TC_LOG_INFO("entities.player", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask); + TC_LOG_DEBUG("entities.player", "Added aura spellid %u, effectmask %u", spellInfo->Id, effmask); } } while (result->NextRow()); @@ -19086,7 +19102,7 @@ bool Player::Satisfy(AccessRequirement const* ar, uint32 target_map, bool report else if (mapDiff->hasErrorMessage) // if (missingAchievement) covered by this case SendTransferAborted(target_map, TRANSFER_ABORT_DIFFICULTY, target_difficulty); else if (missingItem) - GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED_AND_ITEM), LevelMin, sObjectMgr->GetItemTemplate(missingItem)->Name1.c_str()); + GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED_AND_ITEM), LevelMin, ASSERT_NOTNULL(sObjectMgr->GetItemTemplate(missingItem))->Name1.c_str()); else if (LevelMin) GetSession()->SendAreaTriggerMessage(GetSession()->GetTrinityString(LANG_LEVEL_MINREQUIRED), LevelMin); } @@ -19732,6 +19748,7 @@ void Player::_SaveInventory(SQLTransaction& trans) m_itemUpdateQueue.clear(); } + void Player::_SaveMail(SQLTransaction& trans) { if (!m_mailsLoaded) @@ -20670,8 +20687,6 @@ void Player::PetSpellInitialize() if (!pet) return; - TC_LOG_DEBUG("entities.pet", "Pet Spells Groups"); - CharmInfo* charmInfo = pet->GetCharmInfo(); WorldPacket data(SMSG_PET_SPELLS, 8+2+4+4+4*MAX_UNIT_ACTION_BAR_INDEX+1+1); @@ -20682,6 +20697,8 @@ void Player::PetSpellInitialize() data << uint8(charmInfo->GetCommandState()); data << uint16(0); // Flags, mostly unknown + TC_LOG_DEBUG("entities.pet", "Player::PetspellInitialize: Creating spellgroups for summoned pet"); + // action bar loop charmInfo->BuildActionBar(&data); @@ -22138,6 +22155,34 @@ void Player::SendCooldownEvent(SpellInfo const* spellInfo, uint32 itemId /*= 0*/ data << uint32(spellInfo->Id); data << uint64(GetGUID()); SendDirectMessage(&data); + + uint32 cat = spellInfo->GetCategory(); + if (cat && spellInfo->CategoryRecoveryTime) + { + SpellCategoryStore::const_iterator ct = sSpellsByCategoryStore.find(cat); + if (ct != sSpellsByCategoryStore.end()) + { + SpellCategorySet const& catSet = ct->second; + for (SpellCooldowns::const_iterator i = m_spellCooldowns.begin(); i != m_spellCooldowns.end(); ++i) + { + if (i->first == spellInfo->Id) // skip main spell, already handled above + continue; + + SpellInfo const* spellInfo2 = sSpellMgr->GetSpellInfo(i->first); + if (!spellInfo2 || !spellInfo2->IsCooldownStartedOnEvent()) + continue; + + if (catSet.find(i->first) != catSet.end()) + { + // Send activate cooldown timer (possible 0) at client side + WorldPacket data(SMSG_COOLDOWN_EVENT, 4 + 8); + data << uint32(i->first); + data << uint64(GetGUID()); + SendDirectMessage(&data); + } + } + } + } } void Player::UpdatePotionCooldown(Spell* spell) @@ -22532,13 +22577,13 @@ bool Player::IsVisibleGloballyFor(Player const* u) const } template<class T> -inline void UpdateVisibilityOf_helper(GuidSet& s64, T* target, std::set<Unit*>& /*v*/) +inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, T* target, std::set<Unit*>& /*v*/) { s64.insert(target->GetGUID()); } template<> -inline void UpdateVisibilityOf_helper(GuidSet& s64, GameObject* target, std::set<Unit*>& /*v*/) +inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, GameObject* target, std::set<Unit*>& /*v*/) { // @HACK: This is to prevent objects like deeprun tram from disappearing when player moves far from its spawn point while riding it if ((target->GetGOInfo()->type != GAMEOBJECT_TYPE_TRANSPORT)) @@ -22546,14 +22591,14 @@ inline void UpdateVisibilityOf_helper(GuidSet& s64, GameObject* target, std::set } template<> -inline void UpdateVisibilityOf_helper(GuidSet& s64, Creature* target, std::set<Unit*>& v) +inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, Creature* target, std::set<Unit*>& v) { s64.insert(target->GetGUID()); v.insert(target); } template<> -inline void UpdateVisibilityOf_helper(GuidSet& s64, Player* target, std::set<Unit*>& v) +inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, Player* target, std::set<Unit*>& v) { s64.insert(target->GetGUID()); v.insert(target); @@ -22615,7 +22660,7 @@ void Player::UpdateTriggerVisibility() UpdateData udata; WorldPacket packet; - for (GuidSet::iterator itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) + for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) { if (itr->IsCreature()) { @@ -23674,7 +23719,7 @@ void Player::UpdateForQuestWorldObjects() UpdateData udata; WorldPacket packet; - for (GuidSet::iterator itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) + for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr) { if (itr->IsGameObject()) { @@ -24166,18 +24211,6 @@ void Player::UpdateAreaDependentAuras(uint32 newArea) if (itr->second->autocast && itr->second->IsFitToRequirements(this, m_zoneUpdateId, newArea)) if (!HasAura(itr->second->spellId)) CastSpell(this, itr->second->spellId, true); - - if (newArea == 4273 && GetVehicleCreatureBase() && GetPositionX() > 400) // Ulduar - { - switch (GetVehicleBase()->GetEntry()) - { - case 33062: - case 33109: - case 33060: - GetVehicleCreatureBase()->DespawnOrUnsummon(); - break; - } - } } uint32 Player::GetCorpseReclaimDelay(bool pvp) const @@ -24308,7 +24341,7 @@ PartyResult Player::CanUninviteFromGroup(ObjectGuid guidMember) const return ERR_PARTY_LFG_BOOT_LIMIT; lfg::LfgState state = sLFGMgr->GetState(gguid); - if (state == lfg::LFG_STATE_BOOT) + if (sLFGMgr->IsVoteKickActive(gguid)) return ERR_PARTY_LFG_BOOT_IN_PROGRESS; if (grp->GetMembersCount() <= lfg::LFG_GROUP_KICK_VOTES_NEEDED) @@ -25047,6 +25080,7 @@ void Player::_LoadSkills(PreparedQueryResult result) // SetPQuery(PLAYER_LOGIN_QUERY_LOADSKILLS, "SELECT skill, value, max FROM character_skills WHERE guid = '%u'", GUID_LOPART(m_guid)); uint32 count = 0; + std::unordered_map<uint32, uint32> loadedSkillValues; if (result) { do @@ -25114,8 +25148,7 @@ void Player::_LoadSkills(PreparedQueryResult result) SetUInt32Value(PLAYER_SKILL_BONUS_INDEX(count), 0); mSkillStatus.insert(SkillStatusMap::value_type(skill, SkillStatusData(count, SKILL_UNCHANGED))); - - LearnSkillRewardedSpells(skill, value); + loadedSkillValues[skill] = value; ++count; @@ -25128,6 +25161,10 @@ void Player::_LoadSkills(PreparedQueryResult result) while (result->NextRow()); } + // Learn skill rewarded spells after all skills have been loaded to prevent learning a skill from them before its loaded with proper value from DB + for (auto& skill : loadedSkillValues) + LearnSkillRewardedSpells(skill.first, skill.second); + for (; count < PLAYER_MAX_SKILLS; ++count) { SetUInt32Value(PLAYER_SKILL_INDEX(count), 0); @@ -25429,7 +25466,7 @@ void Player::LearnTalent(uint32 talentId, uint32 talentRank) LearnSpell(spellid, false); AddTalent(spellid, m_activeSpec, true); - TC_LOG_INFO("entities.player", "TalentID: %u Rank: %u Spell: %u Spec: %u\n", talentId, talentRank, spellid, m_activeSpec); + TC_LOG_DEBUG("entities.player", "TalentID: %u Rank: %u Spell: %u Spec: %u\n", talentId, talentRank, spellid, m_activeSpec); // update free talent points SetFreeTalentPoints(CurTalentPoints - (talentRank - curtalent_maxrank + 1)); @@ -25564,7 +25601,7 @@ void Player::LearnPetTalent(ObjectGuid petGuid, uint32 talentId, uint32 talentRa // learn! (other talent ranks will unlearned at learning) pet->learnSpell(spellid); - TC_LOG_INFO("entities.player", "PetTalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid); + TC_LOG_DEBUG("entities.player", "PetTalentID: %u Rank: %u Spell: %u\n", talentId, talentRank, spellid); // update free talent points pet->SetFreeTalentPoints(CurTalentPoints - (talentRank - curtalent_maxrank + 1)); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 61141192cd1..1e928c80f3c 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2170,7 +2170,7 @@ class Player : public Unit, public GridObject<Player> WorldLocation GetStartPosition() const; // currently visible objects at player client - GuidSet m_clientGUIDs; + GuidUnorderedSet m_clientGUIDs; bool HaveAtClient(WorldObject const* u) const; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index fdd91368704..43b55d77282 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -2234,9 +2234,9 @@ void Unit::SendMeleeAttackStop(Unit* victim) TC_LOG_DEBUG("entities.unit", "WORLD: Sent SMSG_ATTACKSTOP"); if (victim) - TC_LOG_INFO("entities.unit", "%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow()); + TC_LOG_DEBUG("entities.unit", "%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow()); else - TC_LOG_INFO("entities.unit", "%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow()); + TC_LOG_DEBUG("entities.unit", "%s %u stopped attacking", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow()); } bool Unit::isSpellBlocked(Unit* victim, SpellInfo const* spellProto, WeaponAttackType attackType) @@ -17316,30 +17316,30 @@ void Unit::StopAttackFaction(uint32 faction_id) void Unit::OutDebugInfo() const { TC_LOG_ERROR("entities.unit", "Unit::OutDebugInfo"); - TC_LOG_INFO("entities.unit", "%s name %s", GetGUID().ToString().c_str(), GetName().c_str()); - TC_LOG_INFO("entities.unit", "Owner %s, Minion %s, Charmer %s, Charmed %s", GetOwnerGUID().ToString().c_str(), GetMinionGUID().ToString().c_str(), GetCharmerGUID().ToString().c_str(), GetCharmGUID().ToString().c_str()); - TC_LOG_INFO("entities.unit", "In world %u, unit type mask %u", (uint32)(IsInWorld() ? 1 : 0), m_unitTypeMask); + TC_LOG_DEBUG("entities.unit", "%s name %s", GetGUID().ToString().c_str(), GetName().c_str()); + TC_LOG_DEBUG("entities.unit", "Owner %s, Minion %s, Charmer %s, Charmed %s", GetOwnerGUID().ToString().c_str(), GetMinionGUID().ToString().c_str(), GetCharmerGUID().ToString().c_str(), GetCharmGUID().ToString().c_str()); + TC_LOG_DEBUG("entities.unit", "In world %u, unit type mask %u", (uint32)(IsInWorld() ? 1 : 0), m_unitTypeMask); if (IsInWorld()) - TC_LOG_INFO("entities.unit", "Mapid %u", GetMapId()); + TC_LOG_DEBUG("entities.unit", "Mapid %u", GetMapId()); std::ostringstream o; o << "Summon Slot: "; for (uint32 i = 0; i < MAX_SUMMON_SLOT; ++i) o << m_SummonSlot[i].ToString() << ", "; - TC_LOG_INFO("entities.unit", "%s", o.str().c_str()); + TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str()); o.str(""); o << "Controlled List: "; for (ControlList::const_iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr) o << (*itr)->GetGUID().ToString() << ", "; - TC_LOG_INFO("entities.unit", "%s", o.str().c_str()); + TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str()); o.str(""); o << "Aura List: "; for (AuraApplicationMap::const_iterator itr = m_appliedAuras.begin(); itr != m_appliedAuras.end(); ++itr) o << itr->first << ", "; - TC_LOG_INFO("entities.unit", "%s", o.str().c_str()); + TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str()); o.str(""); if (IsVehicle()) @@ -17348,11 +17348,11 @@ void Unit::OutDebugInfo() const for (SeatMap::iterator itr = GetVehicleKit()->Seats.begin(); itr != GetVehicleKit()->Seats.end(); ++itr) if (Unit* passenger = ObjectAccessor::GetUnit(*GetVehicleBase(), itr->second.Passenger.Guid)) o << passenger->GetGUID().ToString() << ", "; - TC_LOG_INFO("entities.unit", "%s", o.str().c_str()); + TC_LOG_DEBUG("entities.unit", "%s", o.str().c_str()); } if (GetVehicle()) - TC_LOG_INFO("entities.unit", "On vehicle %u.", GetVehicleBase()->GetEntry()); + TC_LOG_DEBUG("entities.unit", "On vehicle %u.", GetVehicleBase()->GetEntry()); } uint32 Unit::GetRemainingPeriodicAmount(ObjectGuid caster, uint32 spellId, AuraType auraType, uint8 effectIndex) const diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index d07ec212d0c..2a421a45ecb 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7078,6 +7078,7 @@ void ObjectMgr::LoadReputationSpilloverTemplate() continue; } + bool invalidSpilloverFaction = false; for (uint32 i = 0; i < MAX_SPILLOVER_FACTIONS; ++i) { if (repTemplate.faction[i]) @@ -7087,47 +7088,28 @@ void ObjectMgr::LoadReputationSpilloverTemplate() if (!factionSpillover) { TC_LOG_ERROR("sql.sql", "Spillover faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template` for faction %u, skipping", repTemplate.faction[i], factionId); - continue; + invalidSpilloverFaction = true; + break; } if (factionSpillover->reputationListID < 0) { TC_LOG_ERROR("sql.sql", "Spillover faction (faction.dbc) %u for faction %u in `reputation_spillover_template` can not be listed for client, and then useless, skipping", repTemplate.faction[i], factionId); - continue; + invalidSpilloverFaction = true; + break; } if (repTemplate.faction_rank[i] >= MAX_REPUTATION_RANK) { TC_LOG_ERROR("sql.sql", "Rank %u used in `reputation_spillover_template` for spillover faction %u is not valid, skipping", repTemplate.faction_rank[i], repTemplate.faction[i]); - continue; + invalidSpilloverFaction = true; + break; } } } - FactionEntry const* factionEntry0 = sFactionStore.LookupEntry(repTemplate.faction[0]); - if (repTemplate.faction[0] && !factionEntry0) - { - TC_LOG_ERROR("sql.sql", "Faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template`", repTemplate.faction[0]); + if (invalidSpilloverFaction) continue; - } - FactionEntry const* factionEntry1 = sFactionStore.LookupEntry(repTemplate.faction[1]); - if (repTemplate.faction[1] && !factionEntry1) - { - TC_LOG_ERROR("sql.sql", "Faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template`", repTemplate.faction[1]); - continue; - } - FactionEntry const* factionEntry2 = sFactionStore.LookupEntry(repTemplate.faction[2]); - if (repTemplate.faction[2] && !factionEntry2) - { - TC_LOG_ERROR("sql.sql", "Faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template`", repTemplate.faction[2]); - continue; - } - FactionEntry const* factionEntry3 = sFactionStore.LookupEntry(repTemplate.faction[3]); - if (repTemplate.faction[3] && !factionEntry3) - { - TC_LOG_ERROR("sql.sql", "Faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template`", repTemplate.faction[3]); - continue; - } _repSpilloverTemplateStore[factionId] = repTemplate; @@ -8653,7 +8635,7 @@ void ObjectMgr::LoadBroadcastTexts() if (!GetLanguageDescByID(bct.Language)) { - TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` using Language %u but Language does not exist. Skipped.", bct.Id, bct.Language); + TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` using Language %u but Language does not exist. Skipped.", bct.Id, bct.Language); // don't load bct of higher expansions continue; } @@ -8662,7 +8644,7 @@ void ObjectMgr::LoadBroadcastTexts() { if (!sEmotesStore.LookupEntry(bct.EmoteId0)) { - TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId0 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId0); + TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId0 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId0); // don't load bct of higher expansions continue; } @@ -8672,7 +8654,7 @@ void ObjectMgr::LoadBroadcastTexts() { if (!sEmotesStore.LookupEntry(bct.EmoteId1)) { - TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId1 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId1); + TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId1 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId1); // don't load bct of higher expansions continue; } @@ -8682,7 +8664,7 @@ void ObjectMgr::LoadBroadcastTexts() { if (!sEmotesStore.LookupEntry(bct.EmoteId2)) { - TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId2 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId2); + TC_LOG_ERROR("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId2 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId2); // don't load bct of higher expansions continue; } diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp index e14910bdf5e..abe302d2d3d 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp +++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp @@ -65,7 +65,7 @@ void VisibleNotifier::SendToSelf() } } - for (GuidSet::const_iterator it = vis_guids.begin(); it != vis_guids.end(); ++it) + for (auto it = vis_guids.begin(); it != vis_guids.end(); ++it) { i_player.m_clientGUIDs.erase(*it); i_data.AddOutOfRangeGUID(*it); diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index 5eb726084b3..ccf9748e67a 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -43,7 +43,7 @@ namespace Trinity Player &i_player; UpdateData i_data; std::set<Unit*> i_visibleNow; - GuidSet vis_guids; + GuidUnorderedSet vis_guids; VisibleNotifier(Player &player) : i_player(player), vis_guids(player.m_clientGUIDs) { } template<class T> void Visit(GridRefManager<T> &m); diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index d9124551c63..5664cbb6e4b 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1808,7 +1808,7 @@ GroupJoinBattlegroundResult Group::CanJoinBattlegroundQueue(Battleground const* return ERR_BATTLEGROUND_NONE; // ERR_GROUP_JOIN_BATTLEGROUND_TOO_MANY handled on client side // get a player as reference, to compare other players' stats to (arena team id, queue id based on level, etc.) - Player* reference = GetFirstMember()->GetSource(); + Player* reference = ASSERT_NOTNULL(GetFirstMember())->GetSource(); // no reference found, can't join this way if (!reference) return ERR_BATTLEGROUND_JOIN_FAILED; diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 0fcaa47a5e2..684b4abb2aa 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -70,7 +70,7 @@ void WorldSession::HandlePetAction(WorldPacket& recvData) // used also for charmed creature Unit* pet = ObjectAccessor::GetUnit(*_player, guid1); - TC_LOG_INFO("network", "HandlePetAction: %s - flag: %u, spellid: %u, target: %s.", guid1.ToString().c_str(), uint32(flag), spellid, guid2.ToString().c_str()); + TC_LOG_DEBUG("network", "HandlePetAction: %s - flag: %u, spellid: %u, target: %s.", guid1.ToString().c_str(), uint32(flag), spellid, guid2.ToString().c_str()); if (!pet) { @@ -398,7 +398,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe void WorldSession::HandlePetNameQuery(WorldPacket& recvData) { - TC_LOG_INFO("network", "HandlePetNameQuery. CMSG_PET_NAME_QUERY"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_NAME_QUERY"); uint32 petnumber; ObjectGuid petguid; @@ -465,7 +465,7 @@ bool WorldSession::CheckStableMaster(ObjectGuid guid) void WorldSession::HandlePetSetAction(WorldPacket& recvData) { - TC_LOG_INFO("network", "HandlePetSetAction. CMSG_PET_SET_ACTION"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_SET_ACTION"); ObjectGuid petguid; uint8 count; @@ -545,7 +545,7 @@ void WorldSession::HandlePetSetAction(WorldPacket& recvData) uint32 spell_id = UNIT_ACTION_BUTTON_ACTION(data[i]); uint8 act_state = UNIT_ACTION_BUTTON_TYPE(data[i]); - TC_LOG_INFO("network", "Player %s has changed pet spell action. Position: %u, Spell: %u, State: 0x%X", + TC_LOG_DEBUG("network", "Player %s has changed pet spell action. Position: %u, Spell: %u, State: 0x%X", _player->GetName().c_str(), position[i], spell_id, uint32(act_state)); //if it's act for spell (en/disable/cast) and there is a spell given (0 = remove spell) which pet doesn't know, don't add @@ -582,7 +582,7 @@ void WorldSession::HandlePetSetAction(WorldPacket& recvData) void WorldSession::HandlePetRename(WorldPacket& recvData) { - TC_LOG_INFO("network", "HandlePetRename. CMSG_PET_RENAME"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_RENAME"); ObjectGuid petguid; uint8 isdeclined; @@ -670,7 +670,7 @@ void WorldSession::HandlePetAbandon(WorldPacket& recvData) { ObjectGuid guid; recvData >> guid; //pet guid - TC_LOG_INFO("network", "HandlePetAbandon. CMSG_PET_ABANDON %s", guid.ToString().c_str()); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_ABANDON %s", guid.ToString().c_str()); if (!_player->IsInWorld()) return; @@ -696,7 +696,7 @@ void WorldSession::HandlePetAbandon(WorldPacket& recvData) void WorldSession::HandlePetSpellAutocastOpcode(WorldPacket& recvPacket) { - TC_LOG_INFO("network", "CMSG_PET_SPELL_AUTOCAST"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_SPELL_AUTOCAST"); ObjectGuid guid; uint32 spellid; uint8 state; //1 for on, 0 for off @@ -744,7 +744,7 @@ void WorldSession::HandlePetSpellAutocastOpcode(WorldPacket& recvPacket) void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket) { - TC_LOG_DEBUG("network", "WORLD: CMSG_PET_CAST_SPELL"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_CAST_SPELL"); ObjectGuid guid; uint8 castCount; @@ -846,7 +846,7 @@ void WorldSession::SendPetNameInvalid(uint32 error, const std::string& name, Dec void WorldSession::HandlePetLearnTalent(WorldPacket& recvData) { - TC_LOG_DEBUG("network", "WORLD: CMSG_PET_LEARN_TALENT"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_LEARN_TALENT"); ObjectGuid guid; uint32 talentId, requestedRank; @@ -858,7 +858,7 @@ void WorldSession::HandlePetLearnTalent(WorldPacket& recvData) void WorldSession::HandleLearnPreviewTalentsPet(WorldPacket& recvData) { - TC_LOG_DEBUG("network", "CMSG_LEARN_PREVIEW_TALENTS_PET"); + TC_LOG_DEBUG("network", "WORLD: Received CMSG_LEARN_PREVIEW_TALENTS_PET"); ObjectGuid guid; recvData >> guid; diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index d6d7e3b9876..3c6258b2d7c 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -458,6 +458,12 @@ void WorldSession::HandleQuestConfirmAccept(WorldPacket& recvData) if (!_player->IsInSameRaidWith(originalPlayer)) return; + if (!originalPlayer->CanShareQuest(questId)) + return; + + if (!_player->CanTakeQuest(quest, true)) + return; + if (_player->CanAddQuest(quest, true)) _player->AddQuestAndCheckCompletion(quest, NULL); // NULL, this prevent DB script from duplicate running @@ -621,7 +627,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket WorldPacket data(SMSG_QUESTGIVER_STATUS_MULTIPLE, 4); data << uint32(count); // placeholder - for (GuidSet::const_iterator itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr) + for (auto itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr) { uint32 questStatus = DIALOG_STATUS_NONE; diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 49f7bc86081..b4066b2257e 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -80,7 +80,10 @@ bool Map::ExistMap(uint32 mapid, int gx, int gy) FILE* pf = fopen(fileName, "rb"); if (!pf) - TC_LOG_ERROR("maps", "Map file '%s': does not exist!", fileName); + { + TC_LOG_ERROR("maps", "Map file '%s' does not exist!", fileName); + TC_LOG_ERROR("maps", "Please place MAP-files (*.map) in the appropriate directory (%s), or correct the DataDir setting in your worldserver.conf file.", (sWorld->GetDataPath()+"maps/").c_str()); + } else { map_fileheader header; @@ -109,7 +112,8 @@ bool Map::ExistVMap(uint32 mapid, int gx, int gy) if (!exists) { std::string name = vmgr->getDirFileName(mapid, gx, gy); - TC_LOG_ERROR("maps", "VMap file '%s' is missing or points to wrong version of vmap file. Redo vmaps with latest version of vmap_assembler.exe.", (sWorld->GetDataPath()+"vmaps/"+name).c_str()); + TC_LOG_ERROR("maps", "VMap file '%s' does not exist", (sWorld->GetDataPath()+"vmaps/"+name).c_str()); + TC_LOG_ERROR("maps", "Please place VMAP-files (*.vmtree and *.vmtile) in the vmap-directory (%s), or correct the DataDir setting in your worldserver.conf file.", (sWorld->GetDataPath()+"vmaps/").c_str()); return false; } } @@ -126,9 +130,9 @@ void Map::LoadMMap(int gx, int gy) bool mmapLoadResult = MMAP::MMapFactory::createOrGetMMapManager()->loadMap((sWorld->GetDataPath() + "mmaps").c_str(), GetId(), gx, gy); if (mmapLoadResult) - TC_LOG_INFO("maps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); + TC_LOG_DEBUG("maps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); else - TC_LOG_INFO("maps", "Could not load MMAP name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); + TC_LOG_ERROR("maps", "Could not load MMAP name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); } void Map::LoadVMap(int gx, int gy) @@ -140,10 +144,10 @@ void Map::LoadVMap(int gx, int gy) switch (vmapLoadResult) { case VMAP::VMAP_LOAD_RESULT_OK: - TC_LOG_INFO("maps", "VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); + TC_LOG_DEBUG("maps", "VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); break; case VMAP::VMAP_LOAD_RESULT_ERROR: - TC_LOG_INFO("maps", "Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); + TC_LOG_ERROR("maps", "Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); break; case VMAP::VMAP_LOAD_RESULT_IGNORED: TC_LOG_DEBUG("maps", "Ignored VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy); @@ -173,7 +177,7 @@ void Map::LoadMap(int gx, int gy, bool reload) //map already load, delete it before reloading (Is it necessary? Do we really need the ability the reload maps during runtime?) if (GridMaps[gx][gy]) { - TC_LOG_INFO("maps", "Unloading previously loaded map %u before reloading.", GetId()); + TC_LOG_DEBUG("maps", "Unloading previously loaded map %u before reloading.", GetId()); sScriptMgr->OnUnloadGridMap(this, GridMaps[gx][gy], gx, gy); delete (GridMaps[gx][gy]); @@ -185,7 +189,7 @@ void Map::LoadMap(int gx, int gy, bool reload) int len = sWorld->GetDataPath().length() + strlen("maps/%03u%02u%02u.map") + 1; tmp = new char[len]; snprintf(tmp, len, (char *)(sWorld->GetDataPath() + "maps/%03u%02u%02u.map").c_str(), GetId(), gx, gy); - TC_LOG_INFO("maps", "Loading map %s", tmp); + TC_LOG_DEBUG("maps", "Loading map %s", tmp); // loading data GridMaps[gx][gy] = new GridMap(); if (!GridMaps[gx][gy]->loadData(tmp)) @@ -2497,7 +2501,7 @@ void Map::UpdateObjectsVisibilityFor(Player* player, Cell cell, CellCoord cellpa void Map::SendInitSelf(Player* player) { - TC_LOG_INFO("maps", "Creating player data for himself %u", player->GetGUIDLow()); + TC_LOG_DEBUG("maps", "Creating player data for himself %u", player->GetGUIDLow()); UpdateData data; @@ -2849,7 +2853,7 @@ bool InstanceMap::CanEnter(Player* player) uint32 maxPlayers = GetMaxPlayers(); if (GetPlayersCountExceptGMs() >= maxPlayers) { - TC_LOG_INFO("maps", "MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), maxPlayers, player->GetName().c_str()); + TC_LOG_WARN("maps", "MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), maxPlayers, player->GetName().c_str()); player->SendTransferAborted(GetId(), TRANSFER_ABORT_MAX_PLAYERS); return false; } @@ -2918,7 +2922,7 @@ bool InstanceMap::AddPlayerToMap(Player* player) InstanceSave* mapSave = sInstanceSaveMgr->GetInstanceSave(GetInstanceId()); if (!mapSave) { - TC_LOG_INFO("maps", "InstanceMap::Add: creating instance save for map %d spawnmode %d with instance id %d", GetId(), GetSpawnMode(), GetInstanceId()); + TC_LOG_DEBUG("maps", "InstanceMap::Add: creating instance save for map %d spawnmode %d with instance id %d", GetId(), GetSpawnMode(), GetInstanceId()); mapSave = sInstanceSaveMgr->AddInstanceSave(GetId(), GetInstanceId(), Difficulty(GetSpawnMode()), 0, true); } @@ -2994,7 +2998,7 @@ bool InstanceMap::AddPlayerToMap(Player* player) // first player enters (no players yet) SetResetSchedule(false); - TC_LOG_INFO("maps", "MAP: Player '%s' entered instance '%u' of map '%s'", player->GetName().c_str(), GetInstanceId(), GetMapName()); + TC_LOG_DEBUG("maps", "MAP: Player '%s' entered instance '%u' of map '%s'", player->GetName().c_str(), GetInstanceId(), GetMapName()); // initialize unload state m_unloadTimer = 0; m_resetAfterUnload = false; @@ -3020,7 +3024,7 @@ void InstanceMap::Update(const uint32 t_diff) void InstanceMap::RemovePlayerFromMap(Player* player, bool remove) { - TC_LOG_INFO("maps", "MAP: Removing player '%s' from instance '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName()); + TC_LOG_DEBUG("maps", "MAP: Removing player '%s' from instance '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName()); //if last player set unload timer if (!m_unloadTimer && m_mapRefManager.getSize() == 1) m_unloadTimer = m_unloadWhenEmpty ? MIN_UNLOAD_DELAY : std::max(sWorld->getIntConfig(CONFIG_INSTANCE_UNLOAD_DELAY), (uint32)MIN_UNLOAD_DELAY); @@ -3253,7 +3257,7 @@ bool BattlegroundMap::AddPlayerToMap(Player* player) void BattlegroundMap::RemovePlayerFromMap(Player* player, bool remove) { - TC_LOG_INFO("maps", "MAP: Removing player '%s' from bg '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName()); + TC_LOG_DEBUG("maps", "MAP: Removing player '%s' from bg '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName()); Map::RemovePlayerFromMap(player, remove); } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 0775a9a299a..685bcd338a9 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -427,7 +427,7 @@ enum SpellAttr4 SPELL_ATTR4_UNK4 = 0x00000010, // 4 This will no longer cause guards to attack on use?? SPELL_ATTR4_UNK5 = 0x00000020, // 5 SPELL_ATTR4_NOT_STEALABLE = 0x00000040, // 6 although such auras might be dispellable, they cannot be stolen - SPELL_ATTR4_TRIGGERED = 0x00000080, // 7 spells forced to be triggered + SPELL_ATTR4_CAN_CAST_WHILE_CASTING = 0x00000080, // 7 Can be cast while another cast is in progress - see CanCastWhileCasting(SpellRec const*,CGUnit_C *,int &) SPELL_ATTR4_FIXED_DAMAGE = 0x00000100, // 8 Ignores resilience and any (except mechanic related) damage or % damage taken auras on target. SPELL_ATTR4_TRIGGER_ACTIVATE = 0x00000200, // 9 initially disabled / trigger activate from event (Execute, Riposte, Deep Freeze end other) SPELL_ATTR4_SPELL_VS_EXTEND_COST = 0x00000400, // 10 Rogue Shiv have this flag diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 298e534d58e..47e5b77a0da 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -647,7 +647,7 @@ void MotionMaster::DirectDelete(_Ty curr) void MotionMaster::DelayedDelete(_Ty curr) { - TC_LOG_FATAL("misc", "Unit (Entry %u) is trying to delete its updating MG (Type %u)!", _owner->GetEntry(), curr->GetMovementGeneratorType()); + TC_LOG_FATAL("misc", "Unit (Entry %u) is trying to delete its updating Movement Generator (Type %u)!", _owner->GetEntry(), curr->GetMovementGeneratorType()); if (isStatic(curr)) return; if (!_expList) diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp index ed1ea7f4b17..a382bf9547e 100755 --- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp @@ -379,9 +379,9 @@ void FlightPathMovementGenerator::PreloadEndGrid() // Load the grid if (endMap) { - TC_LOG_INFO("misc", "Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path->size()-1)); + TC_LOG_DEBUG("misc", "Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path->size()-1)); endMap->LoadGrid(_endGridX, _endGridY); } else - TC_LOG_INFO("misc", "Unable to determine map to preload flightmaster grid"); + TC_LOG_DEBUG("misc", "Unable to determine map to preload flightmaster grid"); } diff --git a/src/server/game/Movement/Spline/MoveSpline.cpp b/src/server/game/Movement/Spline/MoveSpline.cpp index d3fa03c1238..1beeebbbad3 100644 --- a/src/server/game/Movement/Spline/MoveSpline.cpp +++ b/src/server/game/Movement/Spline/MoveSpline.cpp @@ -147,7 +147,7 @@ void MoveSpline::init_spline(const MoveSplineInitArgs& args) /// @todo what to do in such cases? problem is in input data (all points are at same coords) if (spline.length() < minimal_duration) { - TC_LOG_ERROR("misc", "MoveSpline::init_spline: zero length spline, wrong input data?"); + TC_LOG_DEBUG("misc", "MoveSpline::init_spline: zero length spline, wrong input data?"); spline.set_length(spline.last(), spline.isCyclic() ? 1000 : 1); } point_Idx = spline.first(); diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index ad71381a1de..b99cb677ba0 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -297,7 +297,7 @@ bool ReputationMgr::SetReputation(FactionEntry const* factionEntry, int32 standi { // bonuses are already given, so just modify standing by rate int32 spilloverRep = int32(standing * repTemplate->faction_rate[i]); - SetOneFactionReputation(sFactionStore.LookupEntry(repTemplate->faction[i]), spilloverRep, incremental); + SetOneFactionReputation(sFactionStore.AssertEntry(repTemplate->faction[i]), spilloverRep, incremental); } } } diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 025184ff6ef..8be5da91c32 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -356,7 +356,6 @@ void AddSC_dustwallow_marsh(); void AddSC_felwood(); void AddSC_feralas(); void AddSC_moonglade(); -void AddSC_mulgore(); void AddSC_orgrimmar(); void AddSC_silithus(); void AddSC_stonetalon_mountains(); @@ -426,7 +425,8 @@ void AddSC_boss_heigan(); void AddSC_boss_gothik(); void AddSC_boss_thaddius(); void AddSC_instance_naxxramas(); -void AddSC_boss_magus_telestra(); //The Nexus Nexus +void AddSC_boss_nexus_commanders(); // The Nexus Nexus +void AddSC_boss_magus_telestra(); void AddSC_boss_anomalus(); void AddSC_boss_ormorok(); void AddSC_boss_keristrasza(); @@ -1061,7 +1061,6 @@ void AddKalimdorScripts() AddSC_felwood(); AddSC_feralas(); AddSC_moonglade(); - AddSC_mulgore(); AddSC_orgrimmar(); AddSC_silithus(); AddSC_stonetalon_mountains(); @@ -1255,7 +1254,8 @@ void AddNorthrendScripts() AddSC_boss_gothik(); AddSC_boss_thaddius(); AddSC_instance_naxxramas(); - AddSC_boss_magus_telestra(); //The Nexus Nexus + AddSC_boss_nexus_commanders(); // The Nexus Nexus + AddSC_boss_magus_telestra(); AddSC_boss_anomalus(); AddSC_boss_ormorok(); AddSC_boss_keristrasza(); diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index b6b1a4992af..fa50fd56576 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -218,8 +218,8 @@ void WorldSession::SendPacket(WorldPacket* packet) { uint64 minTime = uint64(cur_time - lastTime); uint64 fullTime = uint64(lastTime - firstTime); - TC_LOG_INFO("misc", "Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime)); - TC_LOG_INFO("misc", "Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime); + TC_LOG_DEBUG("misc", "Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime)); + TC_LOG_DEBUG("misc", "Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime); lastTime = cur_time; sendLastPacketCount = 1; @@ -981,7 +981,7 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data) addonInfo >> enabled >> crc >> unk1; - TC_LOG_INFO("misc", "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1); + TC_LOG_DEBUG("misc", "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1); AddonInfo addon(addonName, enabled, crc, 2, true); @@ -989,15 +989,15 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data) if (savedAddon) { if (addon.CRC != savedAddon->CRC) - TC_LOG_INFO("misc", "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC); + TC_LOG_ERROR("misc", "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC); else - TC_LOG_INFO("misc", "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC); + TC_LOG_DEBUG("misc", "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC); } else { AddonMgr::SaveAddon(addon); - TC_LOG_INFO("misc", "ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC); + TC_LOG_DEBUG("misc", "ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC); } /// @todo Find out when to not use CRC/pubkey, and other possible states. @@ -1048,7 +1048,7 @@ void WorldSession::SendAddonsInfo() data << uint8(usepk); if (usepk) // if CRC is wrong, add public key (client need it) { - TC_LOG_INFO("misc", "ADDON: CRC (0x%x) for addon %s is wrong (does not match expected 0x%x), sending pubkey", + TC_LOG_DEBUG("misc", "ADDON: CRC (0x%x) for addon %s is wrong (does not match expected 0x%x), sending pubkey", itr->CRC, itr->Name.c_str(), STANDARD_ADDON_CRC); data.append(addonPublicKey, sizeof(addonPublicKey)); @@ -1262,7 +1262,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p, time_t time) co return true; case POLICY_KICK: { - TC_LOG_INFO("network", "AntiDOS: Player kicked!"); + TC_LOG_WARN("network", "AntiDOS: Player kicked!"); Session->KickPlayer(); return false; } @@ -1278,7 +1278,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p, time_t time) co case BAN_IP: nameOrIp = Session->GetRemoteAddress(); break; } sWorld->BanAccount(bm, nameOrIp, duration, "DOS (Packet Flooding/Spoofing", "Server: AutoDOS"); - TC_LOG_INFO("network", "AntiDOS: Player automatically banned for %u seconds.", duration); + TC_LOG_WARN("network", "AntiDOS: Player automatically banned for %u seconds.", duration); Session->KickPlayer(); return false; } diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 5b1d9497953..0bb864de0ed 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -146,14 +146,12 @@ bool WorldSocket::ReadDataHandler() uint16 opcode = uint16(header->cmd); - std::string opcodeName = GetOpcodeNameForLogging(opcode); - WorldPacket packet(opcode, std::move(_packetBuffer)); if (sPacketLog->CanLogPacket()) sPacketLog->LogPacket(packet, CLIENT_TO_SERVER, GetRemoteIpAddress(), GetRemotePort()); - TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), opcodeName.c_str()); + TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), GetOpcodeNameForLogging(opcode).c_str()); switch (opcode) { @@ -170,7 +168,7 @@ bool WorldSocket::ReadDataHandler() HandleAuthSession(packet); break; case CMSG_KEEP_ALIVE: - TC_LOG_DEBUG("network", "%s", opcodeName.c_str()); + TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str()); sScriptMgr->OnPacketReceive(_worldSession, packet); break; default: @@ -257,7 +255,7 @@ void WorldSocket::HandleAuthSession(WorldPacket& recvPacket) recvPacket >> unk4; recvPacket.read(digest, 20); - TC_LOG_INFO("network", "WorldSocket::HandleAuthSession: client %u, serverId %u, account %s, loginServerType %u, clientseed %u, realmIndex %u", + TC_LOG_DEBUG("network", "WorldSocket::HandleAuthSession: client %u, serverId %u, account %s, loginServerType %u, clientseed %u, realmIndex %u", clientBuild, serverId, account.c_str(), @@ -429,7 +427,7 @@ void WorldSocket::HandleAuthSession(WorldPacket& recvPacket) if (allowedAccountType > SEC_PLAYER && AccountTypes(security) < allowedAccountType) { SendAuthResponseError(AUTH_UNAVAILABLE); - TC_LOG_INFO("network", "WorldSocket::HandleAuthSession: User tries to login but his security level is not enough"); + TC_LOG_DEBUG("network", "WorldSocket::HandleAuthSession: User tries to login but his security level is not enough"); sScriptMgr->OnFailedAccountLogin(id); DelayedCloseSocket(); return; diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index e5b8cd111bc..c267e560005 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5924,7 +5924,7 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const caster->CalcAbsorbResist(target, GetSpellInfo()->GetSchoolMask(), DOT, damage, &absorb, &resist, GetSpellInfo()); - TC_LOG_INFO("spells", "PeriodicTick: %s attacked %s for %u dmg inflicted by %u absorb is %u", + TC_LOG_DEBUG("spells.periodic", "PeriodicTick: %s attacked %s for %u dmg inflicted by %u absorb is %u", GetCasterGUID().ToString().c_str(), target->GetGUID().ToString().c_str(), damage, GetId(), absorb); caster->DealDamageMods(target, damage, &absorb); @@ -5979,7 +5979,7 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c damage = caster->SpellDamageBonusDone(target, GetSpellInfo(), damage, DOT, GetBase()->GetStackAmount()) * caster->SpellDamagePctDone(target, m_spellInfo, DOT); else damage = std::max(int32(damage * GetDonePct()), 0); - + damage = target->SpellDamageBonusTaken(caster, GetSpellInfo(), damage, DOT, GetBase()->GetStackAmount()); // Calculate armor mitigation @@ -6016,7 +6016,7 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c if (target->GetHealth() < damage) damage = uint32(target->GetHealth()); - TC_LOG_INFO("spells", "PeriodicTick: %s health leech of %s for %u dmg inflicted by %u abs is %u", + 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); @@ -6160,7 +6160,7 @@ void AuraEffect::HandlePeriodicHealAurasTick(Unit* target, Unit* caster) const if (crit) damage = caster->SpellCriticalHealingBonus(m_spellInfo, damage, target); - TC_LOG_INFO("spells", "PeriodicTick: %s heal of %s for %u health inflicted by %u", + TC_LOG_DEBUG("spells.periodic", "PeriodicTick: %s heal of %s for %u health inflicted by %u", GetCasterGUID().ToString().c_str(), target->GetGUID().ToString().c_str(), damage, GetId()); uint32 absorb = 0; @@ -6231,7 +6231,7 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con drainAmount = maxmana; } - TC_LOG_INFO("spells", "PeriodicTick: %s power leech of %s for %u dmg inflicted by %u", + TC_LOG_DEBUG("spells.periodic", "PeriodicTick: %s power leech of %s for %u dmg inflicted by %u", GetCasterGUID().ToString().c_str(), target->GetGUID().ToString().c_str(), drainAmount, GetId()); // resilience reduce mana draining effect at spell crit damage reduction (added in 2.4) @@ -6292,7 +6292,7 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const // ignore negative values (can be result apply spellmods to aura damage uint32 amount = std::max(m_amount, 0) * target->GetMaxPower(powerType) /100; - TC_LOG_INFO("spells", "PeriodicTick: %s energize %s for %u dmg inflicted by %u", + 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()); SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false); @@ -6330,7 +6330,7 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false); target->SendPeriodicAuraLog(&pInfo); - TC_LOG_INFO("spells", "PeriodicTick: %s energize %s for %u dmg inflicted by %u", + 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); diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 93a4c96b92f..4af0b93789f 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -749,12 +749,13 @@ void Aura::SetDuration(int32 duration, bool withMods) void Aura::RefreshDuration(bool withMods) { - if (withMods) + Unit* caster = GetCaster(); + if (withMods && caster) { int32 duration = m_spellInfo->GetMaxDuration(); // Calculate duration of periodics affected by haste. - if (GetCaster()->HasAuraTypeWithAffectMask(SPELL_AURA_PERIODIC_HASTE, m_spellInfo) || m_spellInfo->AttributesEx5 & SPELL_ATTR5_HASTE_AFFECT_DURATION) - duration = int32(duration * GetCaster()->GetFloatValue(UNIT_MOD_CAST_SPEED)); + if (caster->HasAuraTypeWithAffectMask(SPELL_AURA_PERIODIC_HASTE, m_spellInfo) || m_spellInfo->AttributesEx5 & SPELL_ATTR5_HASTE_AFFECT_DURATION) + duration = int32(duration * caster->GetFloatValue(UNIT_MOD_CAST_SPEED)); SetMaxDuration(duration); SetDuration(duration); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 8e415b06745..ec0510b70a6 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -482,23 +482,23 @@ void SpellCastTargets::Update(Unit* caster) void SpellCastTargets::OutDebug() const { if (!m_targetMask) - TC_LOG_INFO("spells", "No targets"); + TC_LOG_DEBUG("spells", "No targets"); - TC_LOG_INFO("spells", "target mask: %u", m_targetMask); + TC_LOG_DEBUG("spells", "target mask: %u", m_targetMask); if (m_targetMask & (TARGET_FLAG_UNIT_MASK | TARGET_FLAG_CORPSE_MASK | TARGET_FLAG_GAMEOBJECT_MASK)) - TC_LOG_INFO("spells", "Object target: %s", m_objectTargetGUID.ToString().c_str()); + TC_LOG_DEBUG("spells", "Object target: %s", m_objectTargetGUID.ToString().c_str()); if (m_targetMask & TARGET_FLAG_ITEM) - TC_LOG_INFO("spells", "Item target: %s", m_itemTargetGUID.ToString().c_str()); + TC_LOG_DEBUG("spells", "Item target: %s", m_itemTargetGUID.ToString().c_str()); if (m_targetMask & TARGET_FLAG_TRADE_ITEM) - TC_LOG_INFO("spells", "Trade item target: %s", m_itemTargetGUID.ToString().c_str()); + TC_LOG_DEBUG("spells", "Trade item target: %s", m_itemTargetGUID.ToString().c_str()); if (m_targetMask & TARGET_FLAG_SOURCE_LOCATION) - TC_LOG_INFO("spells", "Source location: transport guid:%s trans offset: %s position: %s", m_src._transportGUID.ToString().c_str(), m_src._transportOffset.ToString().c_str(), m_src._position.ToString().c_str()); + TC_LOG_DEBUG("spells", "Source location: transport guid:%s trans offset: %s position: %s", m_src._transportGUID.ToString().c_str(), m_src._transportOffset.ToString().c_str(), m_src._position.ToString().c_str()); if (m_targetMask & TARGET_FLAG_DEST_LOCATION) - TC_LOG_INFO("spells", "Destination location: transport guid:%s trans offset: %s position: %s", m_dst._transportGUID.ToString().c_str(), m_dst._transportOffset.ToString().c_str(), m_dst._position.ToString().c_str()); + TC_LOG_DEBUG("spells", "Destination location: transport guid:%s trans offset: %s position: %s", m_dst._transportGUID.ToString().c_str(), m_dst._transportOffset.ToString().c_str(), m_dst._position.ToString().c_str()); if (m_targetMask & TARGET_FLAG_STRING) - TC_LOG_INFO("spells", "String: %s", m_strTarget.c_str()); - TC_LOG_INFO("spells", "speed: %f", m_speed); - TC_LOG_INFO("spells", "elevation: %f", m_elevation); + TC_LOG_DEBUG("spells", "String: %s", m_strTarget.c_str()); + TC_LOG_DEBUG("spells", "speed: %f", m_speed); + TC_LOG_DEBUG("spells", "elevation: %f", m_elevation); } SpellValue::SpellValue(SpellInfo const* proto) @@ -574,8 +574,8 @@ m_caster((info->AttributesEx6 & SPELL_ATTR6_CAST_BY_CHARMER && caster->GetCharme m_spellState = SPELL_STATE_NULL; _triggeredCastFlags = triggerFlags; - if (info->AttributesEx4 & SPELL_ATTR4_TRIGGERED) - _triggeredCastFlags = TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT); + if (info->AttributesEx4 & SPELL_ATTR4_CAN_CAST_WHILE_CASTING) + _triggeredCastFlags = TriggerCastFlags(uint32(_triggeredCastFlags) | TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_CAST_DIRECTLY); m_CastItem = NULL; m_castItemGUID.Clear(); @@ -6324,7 +6324,7 @@ void Spell::Delayed() // only called in DealDamage() else m_timer += delaytime; - TC_LOG_INFO("spells", "Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime); + TC_LOG_DEBUG("spells", "Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime); WorldPacket data(SMSG_SPELL_DELAYED, 8+4); data << m_caster->GetPackGUID(); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 651f28d3590..a5979157410 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4226,7 +4226,7 @@ void Spell::EffectStuck(SpellEffIndex /*effIndex*/) return; TC_LOG_DEBUG("spells", "Spell Effect: Stuck"); - TC_LOG_INFO("spells", "Player %s (guid %u) used auto-unstuck future at map %u (%f, %f, %f)", player->GetName().c_str(), player->GetGUIDLow(), player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()); + TC_LOG_DEBUG("spells", "Player %s (guid %u) used auto-unstuck future at map %u (%f, %f, %f)", player->GetName().c_str(), player->GetGUIDLow(), player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()); if (player->IsInFlight()) return; @@ -4819,8 +4819,8 @@ void Spell::EffectLeapBack(SpellEffIndex effIndex) if (!unitTarget) return; - float speedxy = float(m_spellInfo->Effects[effIndex].MiscValue)/10; - float speedz = float(damage/10); + float speedxy = m_spellInfo->Effects[effIndex].MiscValue / 10.f; + float speedz = damage/ 10.f; //1891: Disengage m_caster->JumpTo(speedxy, speedz, m_spellInfo->SpellIconID != 1891); } diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index db16a7312ea..dd4453cc4c5 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2959,6 +2959,8 @@ void SpellMgr::LoadSpellInfoCorrections() switch (spellInfo->Id) { case 53096: // Quetz'lun's Judgment + case 70743: // AoD Special + case 70614: // AoD Special - Vegard spellInfo->MaxAffectedTargets = 1; break; case 42436: // Drink! (Brewfest) @@ -3729,7 +3731,7 @@ void SpellMgr::LoadSpellInfoCorrections() case 45440: // Steam Tonk Controller case 60256: // Collect Sample // Crashes client on pressing ESC - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_TRIGGERED; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_CAN_CAST_WHILE_CASTING; break; // ISLE OF CONQUEST SPELLS // diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 555f89aad8f..84f22f2f1a9 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -940,6 +940,12 @@ void World::LoadConfigSettings(bool reload) } m_bool_configs[CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY] = sConfigMgr->GetBoolDefault("SaveRespawnTimeImmediately", true); + if (!m_bool_configs[CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY]) + { + TC_LOG_WARN("server.loading", "SaveRespawnTimeImmediately triggers assertions when disabled, overridden to Enabled"); + m_bool_configs[CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY] = true; + } + m_bool_configs[CONFIG_WEATHER] = sConfigMgr->GetBoolDefault("ActivateWeather", true); m_int_configs[CONFIG_DISABLE_BREATHING] = sConfigMgr->GetIntDefault("DisableWaterBreath", SEC_CONSOLE); @@ -1334,7 +1340,7 @@ void World::SetInitialWorldSettings() !MapManager::ExistMapAndVMap(530, 10349.6f, -6357.29f) || !MapManager::ExistMapAndVMap(530, -3961.64f, -13931.2f)))) { - TC_LOG_ERROR("server.loading", "Correct *.map files not found in path '%smaps' or *.vmtree/*.vmtile files in '%svmaps'. Please place *.map/*.vmtree/*.vmtile files in appropriate directories or correct the DataDir value in the worldserver.conf file.", m_dataPath.c_str(), m_dataPath.c_str()); + TC_LOG_FATAL("server.loading", "Unable to load critical files - server shutting down !!!"); exit(1); } @@ -3018,7 +3024,7 @@ void World::ResetRandomBG() { TC_LOG_INFO("misc", "Random BG status reset for all characters."); - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_BATTLEGROUND_RANDOM); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_BATTLEGROUND_RANDOM_ALL); CharacterDatabase.Execute(stmt); for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index 5d6cdb3fb63..ccd82aa3ef9 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -299,7 +299,7 @@ public: else if (commentToken[1] == '/') { std::string str; - getline(ifs, str); + std::getline(ifs, str); continue; } // regular data diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index 59f2ce1a2c9..92c3f83034d 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -360,17 +360,17 @@ public: case GOSSIP_ACTION_INFO_DEF+3: player->CLOSE_GOSSIP_MENU(); pBarnesAI->m_uiEventId = EVENT_OZ; - TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_OZ", player->GetGUID().ToString().c_str()); + TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_OZ", player->GetGUID().ToString().c_str()); break; case GOSSIP_ACTION_INFO_DEF+4: player->CLOSE_GOSSIP_MENU(); pBarnesAI->m_uiEventId = EVENT_HOOD; - TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_HOOD", player->GetGUID().ToString().c_str()); + TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_HOOD", player->GetGUID().ToString().c_str()); break; case GOSSIP_ACTION_INFO_DEF+5: player->CLOSE_GOSSIP_MENU(); pBarnesAI->m_uiEventId = EVENT_RAJ; - TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_RAJ", player->GetGUID().ToString().c_str()); + TC_LOG_DEBUG("scripts", "player (%s) manually set Opera event to EVENT_RAJ", player->GetGUID().ToString().c_str()); break; } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 3db0e1092fd..326360428d2 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -174,7 +174,7 @@ public: anchor->GetContactPoint(me, anchorX, anchorY, z, 1.0f); playerGUID = target->GetGUID(); - Talk(SAY_EVENT_START); + Talk(SAY_EVENT_START, target); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index ea56494f0f9..421f3d771a0 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -207,7 +207,7 @@ public: void DamageTaken(Unit* /*done_by*/, uint32 &damage) override { - if (damage > me->GetHealth() && events.IsInPhase(PHASE_ONE)) + if (damage >= me->GetHealth() && events.IsInPhase(PHASE_ONE)) { damage = 0; me->RemoveAllAuras(); diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 01ac3920082..1a98c081570 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -689,54 +689,57 @@ class boss_alyson_antille : public CreatureScript } }; -struct boss_gazakrothAI : public boss_hexlord_addAI +class boss_gazakroth : public CreatureScript { - boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) - { - Initialize(); - } - - void Initialize() - { - firebolt_timer = 2000; - } + public: - uint32 firebolt_timer; + boss_gazakroth() : CreatureScript("boss_gazakroth") { } + + struct boss_gazakrothAI : public boss_hexlord_addAI + { + boss_gazakrothAI(Creature* creature) : boss_hexlord_addAI(creature) + { + Initialize(); + } - void Reset() override - { - Initialize(); - boss_hexlord_addAI::Reset(); - } + void Initialize() + { + firebolt_timer = 2 * IN_MILLISECONDS; + } + + void Reset() override + { + Initialize(); + boss_hexlord_addAI::Reset(); + } - void AttackStart(Unit* who) override - { - if (!who) - return; + void AttackStart(Unit* who) override + { + AttackStartCaster(who, 20.0f); + } - if (who->isTargetableForAttack()) - { - if (me->Attack(who, false)) + void UpdateAI(uint32 diff) override { - me->GetMotionMaster()->MoveChase(who, 20); - me->AddThreat(who, 0.0f); + if (!UpdateVictim()) + return; + + if (firebolt_timer <= diff) + { + DoCastVictim(SPELL_FIREBOLT, false); + firebolt_timer = 0.7 * IN_MILLISECONDS; + } else firebolt_timer -= diff; + + boss_hexlord_addAI::UpdateAI(diff); } - } - } - void UpdateAI(uint32 diff) override - { - if (!UpdateVictim()) - return; + private: + uint32 firebolt_timer; + }; - if (firebolt_timer <= diff) + CreatureAI* GetAI(Creature* creature) const override { - DoCastVictim(SPELL_FIREBOLT, false); - firebolt_timer = 700; - } else firebolt_timer -= diff; - - boss_hexlord_addAI::UpdateAI(diff); - } + return GetInstanceAI<boss_gazakrothAI>(creature); + } }; class boss_lord_raadan : public CreatureScript @@ -1062,7 +1065,7 @@ void AddSC_boss_hex_lord_malacrass() { new boss_hexlord_malacrass(); new boss_thurg(); - // new boss_gazakroth(); + new boss_gazakroth(); new boss_lord_raadan(); new boss_darkheart(); new boss_slither(); diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp index 898e3f9a2cb..ecfd705cf4d 100644 --- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp +++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp @@ -92,7 +92,7 @@ public: me->SetWalk(false); break; case 115: - player->AreaExploredOrEventHappens(QUEST_MISSING_IN_ACTION); + player->GroupEventHappens(QUEST_MISSING_IN_ACTION, me); timer = 2000; phase = 4; break; diff --git a/src/server/scripts/Kalimdor/CMakeLists.txt b/src/server/scripts/Kalimdor/CMakeLists.txt index 9a68973b8d1..ce8d0cfbcfd 100644 --- a/src/server/scripts/Kalimdor/CMakeLists.txt +++ b/src/server/scripts/Kalimdor/CMakeLists.txt @@ -92,7 +92,6 @@ set(scripts_STAT_SRCS Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp - Kalimdor/zone_mulgore.cpp Kalimdor/zone_bloodmyst_isle.cpp Kalimdor/zone_thunder_bluff.cpp Kalimdor/zone_azshara.cpp diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp index a7c17a9df3e..f4a7e1f4185 100644 --- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp +++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp @@ -136,131 +136,7 @@ public: } }; -enum SnufflenoseGopher -{ - NPC_SNUFFLENOSE_GOPHER = 4781, - GO_BLUELEAF_TUBBER = 20920, - ACTION_FIND_NEW_TUBBER = 0, - POINT_TUBBER = 0 -}; - -struct npc_snufflenose_gopher : public CreatureScript -{ -public: - npc_snufflenose_gopher() : CreatureScript("npc_snufflenose_gopher") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_snufflenose_gopherAI(creature); - } - - struct npc_snufflenose_gopherAI : public PetAI - { - npc_snufflenose_gopherAI(Creature* creature) : PetAI(creature) - { - IsMovementActive = false; - } - - void Reset() override - { - IsMovementActive = false; - TargetTubberGUID.Clear(); - } - - void MovementInform(uint32 type, uint32 id) override - { - if (type == POINT_MOTION_TYPE && id == POINT_TUBBER) - { - if (GameObject* go = me->GetMap()->GetGameObject(TargetTubberGUID)) - { - go->SetRespawnTime(5 * MINUTE); - go->Refresh(); - go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); - } - - IsMovementActive = false; - } - else - PetAI::MovementInform(type, id); - } - - void DoFindNewTubber() - { - std::list<GameObject*> tubbersInRange; - GetGameObjectListWithEntryInGrid(tubbersInRange, me, GO_BLUELEAF_TUBBER, 40.0f); - - if (tubbersInRange.empty()) - return; - - tubbersInRange.remove_if([](GameObject* go) - { - return go->isSpawned() || !go->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); - }); - - tubbersInRange.sort(Trinity::ObjectDistanceOrderPred(me)); - - GameObject* nearestTubber = tubbersInRange.front(); - if (!nearestTubber) - return; - - TargetTubberGUID = nearestTubber->GetGUID(); - - // XFurry was wrong... - me->GetMotionMaster()->MovePoint(POINT_TUBBER, nearestTubber->GetPositionX(), - nearestTubber->GetPositionY(), - nearestTubber->GetPositionZ()); - IsMovementActive = true; - } - - void UpdateAI(uint32 diff) override - { - if (!IsMovementActive) - PetAI::UpdateAI(diff); - } - - void DoAction(int32 action) override - { - if (action == ACTION_FIND_NEW_TUBBER) - DoFindNewTubber(); - } - - - bool IsMovementActive; - ObjectGuid TargetTubberGUID; - }; -}; - -class spell_snufflenose_command : public SpellScriptLoader -{ - public: - spell_snufflenose_command() : SpellScriptLoader("spell_snufflenose_command") { } - - class spell_snufflenose_commandSpellScript : public SpellScript - { - PrepareSpellScript(spell_snufflenose_commandSpellScript); - - void HandleEffect(SpellEffIndex /*effIndex*/) - { - if (Creature* target = GetHitCreature()) - if (target->GetEntry() == NPC_SNUFFLENOSE_GOPHER) - target->AI()->DoAction(ACTION_FIND_NEW_TUBBER); - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_snufflenose_commandSpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_DUMMY); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_snufflenose_commandSpellScript(); - } -}; - void AddSC_razorfen_kraul() { - new npc_snufflenose_gopher(); new npc_willix(); - new spell_snufflenose_command(); } diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index 390fd3e529f..ca5e4697c35 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -29,6 +29,7 @@ EndContentData */ #include "ScriptMgr.h" #include "ScriptedCreature.h" +#include "PassiveAI.h" #include "Player.h" /*###### @@ -48,14 +49,18 @@ class npc_webbed_creature : public CreatureScript public: npc_webbed_creature() : CreatureScript("npc_webbed_creature") { } - struct npc_webbed_creatureAI : public ScriptedAI + struct npc_webbed_creatureAI : public NullCreatureAI { - npc_webbed_creatureAI(Creature* creature) : ScriptedAI(creature) { } + npc_webbed_creatureAI(Creature* creature) : NullCreatureAI(creature) { } void Reset() override { } void EnterCombat(Unit* /*who*/) override { } + void AttackStart(Unit* /*who*/) override { } + + void MoveInLineOfSight(Unit* /*who*/) override { } + void JustDied(Unit* killer) override { uint32 spawnCreatureID = 0; diff --git a/src/server/scripts/Kalimdor/zone_felwood.cpp b/src/server/scripts/Kalimdor/zone_felwood.cpp index cdf04b1d4cc..91b9ce08010 100644 --- a/src/server/scripts/Kalimdor/zone_felwood.cpp +++ b/src/server/scripts/Kalimdor/zone_felwood.cpp @@ -100,7 +100,44 @@ public: } }; +/*###### +## at_ancient_leaf +######*/ + +enum AncientMisc +{ + QUEST_ANCIENT_LEAF = 7632, + NPC_VARTRUS = 14524, + NPC_STOMA = 14525, + NPC_HASTAT = 14526, + CREATURE_GROUP_ANCIENTS = 1 +}; + +class at_ancient_leaf : public AreaTriggerScript +{ + public: + at_ancient_leaf() : AreaTriggerScript("at_ancient_leaf") { } + + bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + { + if (player->IsGameMaster() || !player->IsAlive()) + return false; + + // Handle Call Ancients event start - The area trigger summons 3 ancients + if ((player->GetQuestStatus(QUEST_ANCIENT_LEAF) == QUEST_STATUS_COMPLETE) || (player->GetQuestStatus(QUEST_ANCIENT_LEAF) == QUEST_STATUS_REWARDED)) + { + // If ancients are already spawned, skip the rest + if (GetClosestCreatureWithEntry(player, NPC_VARTRUS, 50.0f) || GetClosestCreatureWithEntry(player, NPC_STOMA, 50.0f) || GetClosestCreatureWithEntry(player, NPC_HASTAT, 50.0f)) + return true; + + player->GetMap()->SummonCreatureGroup(CREATURE_GROUP_ANCIENTS); + } + return false; + } +}; + void AddSC_felwood() { new npcs_riverbreeze_and_silversky(); + new at_ancient_leaf(); } diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp deleted file mode 100644 index 0d0ef218885..00000000000 --- a/src/server/scripts/Kalimdor/zone_mulgore.cpp +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/> - * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> - * - * 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/>. - */ - -/* ScriptData -SDName: Mulgore -SD%Complete: 100 -SDComment: Support for quest: 11129, 772 -SDCategory: Mulgore -EndScriptData */ - -/* ContentData -npc_kyle_frenzied -npc_plains_vision -EndContentData */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "ScriptedGossip.h" -#include "Player.h" -#include "SpellInfo.h" - -/*##### -# npc_kyle_frenzied -######*/ - -enum KyleFrenzied -{ - EMOTE_SEE_LUNCH = 0, - EMOTE_EAT_LUNCH = 1, - EMOTE_DANCE = 2, - - SPELL_LUNCH = 42222, - NPC_KYLE_FRENZIED = 23616, - NPC_KYLE_FRIENDLY = 23622, - POINT_ID = 1 -}; - -class npc_kyle_frenzied : public CreatureScript -{ -public: - npc_kyle_frenzied() : CreatureScript("npc_kyle_frenzied") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_kyle_frenziedAI(creature); - } - - struct npc_kyle_frenziedAI : public ScriptedAI - { - npc_kyle_frenziedAI(Creature* creature) : ScriptedAI(creature) - { - Initialize(); - } - - void Initialize() - { - EventActive = false; - IsMovingToLunch = false; - PlayerGUID.Clear(); - EventTimer = 5000; - EventPhase = 0; - } - - bool EventActive; - bool IsMovingToLunch; - ObjectGuid PlayerGUID; - uint32 EventTimer; - uint8 EventPhase; - - void Reset() override - { - Initialize(); - - if (me->GetEntry() == NPC_KYLE_FRIENDLY) - me->UpdateEntry(NPC_KYLE_FRENZIED); - } - - void SpellHit(Unit* Caster, SpellInfo const* Spell) override - { - if (!me->GetVictim() && !EventActive && Spell->Id == SPELL_LUNCH) - { - if (Caster->GetTypeId() == TYPEID_PLAYER) - PlayerGUID = Caster->GetGUID(); - - if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == WAYPOINT_MOTION_TYPE) - { - me->GetMotionMaster()->MovementExpired(); - me->GetMotionMaster()->MoveIdle(); - me->StopMoving(); - } - - EventActive = true; - Talk(EMOTE_SEE_LUNCH); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_CREATURE_SPECIAL); - } - } - - void MovementInform(uint32 Type, uint32 PointId) override - { - if (Type != POINT_MOTION_TYPE || !EventActive) - return; - - if (PointId == POINT_ID) - IsMovingToLunch = false; - } - - void UpdateAI(uint32 diff) override - { - if (EventActive) - { - if (IsMovingToLunch) - return; - - if (EventTimer <= diff) - { - EventTimer = 5000; - ++EventPhase; - - switch (EventPhase) - { - case 1: - if (Unit* unit = ObjectAccessor::GetUnit(*me, PlayerGUID)) - { - if (GameObject* go = unit->GetGameObject(SPELL_LUNCH)) - { - IsMovingToLunch = true; - me->GetMotionMaster()->MovePoint(POINT_ID, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ()); - } - } - break; - case 2: - Talk(EMOTE_EAT_LUNCH); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING); - break; - case 3: - if (Player* unit = ObjectAccessor::GetPlayer(*me, PlayerGUID)) - unit->TalkedToCreature(me->GetEntry(), me->GetGUID()); - - me->UpdateEntry(NPC_KYLE_FRIENDLY); - break; - case 4: - EventTimer = 30000; - Talk(EMOTE_DANCE); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCESPECIAL); - break; - case 5: - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE); - Reset(); - me->GetMotionMaster()->Clear(); - break; - } - } - else - EventTimer -= diff; - } - } - }; - -}; - -/*##### -# npc_plains_vision -######*/ - -Position const wpPlainVision[50] = -{ - {-2226.32f, -408.095f, -9.36235f, 0.0f}, - {-2203.04f, -437.212f, -5.72498f, 0.0f}, - {-2163.91f, -457.851f, -7.09049f, 0.0f}, - {-2123.87f, -448.137f, -9.29591f, 0.0f}, - {-2104.66f, -427.166f, -6.49513f, 0.0f}, - {-2101.48f, -422.826f, -5.3567f, 0.0f}, - {-2097.56f, -417.083f, -7.16716f, 0.0f}, - {-2084.87f, -398.626f, -9.88973f, 0.0f}, - {-2072.71f, -382.324f, -10.2488f, 0.0f}, - {-2054.05f, -356.728f, -6.22468f, 0.0f}, - {-2051.8f, -353.645f, -5.35791f, 0.0f}, - {-2049.08f, -349.912f, -6.15723f, 0.0f}, - {-2030.6f, -310.724f, -9.59302f, 0.0f}, - {-2002.15f, -249.308f, -10.8124f, 0.0f}, - {-1972.85f, -195.811f, -10.6316f, 0.0f}, - {-1940.93f, -147.652f, -11.7055f, 0.0f}, - {-1888.06f, -81.943f, -11.4404f, 0.0f}, - {-1837.05f, -34.0109f, -12.258f, 0.0f}, - {-1796.12f, -14.6462f, -10.3581f, 0.0f}, - {-1732.61f, -4.27746f, -10.0213f, 0.0f}, - {-1688.94f, -0.829945f, -11.7103f, 0.0f}, - {-1681.32f, 13.0313f, -9.48056f, 0.0f}, - {-1677.04f, 36.8349f, -7.10318f, 0.0f}, - {-1675.2f, 68.559f, -8.95384f, 0.0f}, - {-1676.57f, 89.023f, -9.65104f, 0.0f}, - {-1678.16f, 110.939f, -10.1782f, 0.0f}, - {-1677.86f, 128.681f, -5.73869f, 0.0f}, - {-1675.27f, 144.324f, -3.47916f, 0.0f}, - {-1671.7f, 163.169f, -1.23098f, 0.0f}, - {-1666.61f, 181.584f, 5.26145f, 0.0f}, - {-1661.51f, 196.154f, 8.95252f, 0.0f}, - {-1655.47f, 210.811f, 8.38727f, 0.0f}, - {-1647.07f, 226.947f, 5.27755f, 0.0f}, - {-1621.65f, 232.91f, 2.69579f, 0.0f}, - {-1600.23f, 237.641f, 2.98539f, 0.0f}, - {-1576.07f, 242.546f, 4.66541f, 0.0f}, - {-1554.57f, 248.494f, 6.60377f, 0.0f}, - {-1547.53f, 259.302f, 10.6741f, 0.0f}, - {-1541.7f, 269.847f, 16.4418f, 0.0f}, - {-1539.83f, 278.989f, 21.0597f, 0.0f}, - {-1540.16f, 290.219f, 27.8247f, 0.0f}, - {-1538.99f, 298.983f, 34.0032f, 0.0f}, - {-1540.38f, 307.337f, 41.3557f, 0.0f}, - {-1536.61f, 314.884f, 48.0179f, 0.0f}, - {-1532.42f, 323.277f, 55.6667f, 0.0f}, - {-1528.77f, 329.774f, 61.1525f, 0.0f}, - {-1525.65f, 333.18f, 63.2161f, 0.0f}, - {-1517.01f, 350.713f, 62.4286f, 0.0f}, - {-1511.39f, 362.537f, 62.4539f, 0.0f}, - {-1508.68f, 366.822f, 62.733f, 0.0f} -}; - -class npc_plains_vision : public CreatureScript -{ -public: - npc_plains_vision() : CreatureScript("npc_plains_vision") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_plains_visionAI(creature); - } - - struct npc_plains_visionAI : public ScriptedAI - { - npc_plains_visionAI(Creature* creature) : ScriptedAI(creature) - { - Initialize(); - } - - void Initialize() - { - WayPointId = 0; - newWaypoint = true; - amountWP = 49; - } - - bool newWaypoint; - uint8 WayPointId; - uint8 amountWP; - - void Reset() override - { - Initialize(); - } - - void EnterCombat(Unit* /*who*/) override { } - - void MovementInform(uint32 type, uint32 id) override - { - if (type != POINT_MOTION_TYPE) - return; - - if (id < amountWP) - { - ++WayPointId; - newWaypoint = true; - } - else - { - me->setDeathState(JUST_DIED); - me->RemoveCorpse(); - } - } - - void UpdateAI(uint32 /*diff*/) override - { - if (newWaypoint) - { - me->GetMotionMaster()->MovePoint(WayPointId, wpPlainVision[WayPointId]); - newWaypoint = false; - } - } - }; - -}; - -/*##### -# -######*/ - -void AddSC_mulgore() -{ - new npc_kyle_frenzied(); - new npc_plains_vision(); -} diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index c167bc700f7..eab104d8df2 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -659,6 +659,7 @@ public: if (quest->GetQuestId() == QUEST_ESCAPE) { creature->setFaction(FACTION_RATCHET); + creature->AI()->Talk(SAY_START); if (npc_escortAI* pEscortAI = CAST_AI(npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, creature->AI())) pEscortAI->Start(true, false, player->GetGUID()); } diff --git a/src/server/scripts/Northrend/CMakeLists.txt b/src/server/scripts/Northrend/CMakeLists.txt index e04dcf0ec96..66d9021223f 100644 --- a/src/server/scripts/Northrend/CMakeLists.txt +++ b/src/server/scripts/Northrend/CMakeLists.txt @@ -78,8 +78,7 @@ set(scripts_STAT_SRCS Northrend/Nexus/Oculus/boss_urom.cpp Northrend/Nexus/Oculus/oculus.cpp Northrend/Nexus/Oculus/instance_oculus.cpp - Northrend/Nexus/Nexus/boss_commander_kolurg.cpp - Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp + Northrend/Nexus/Nexus/boss_nexus_commanders.cpp Northrend/Nexus/Nexus/boss_ormorok.cpp Northrend/Nexus/Nexus/boss_magus_telestra.cpp Northrend/Nexus/Nexus/instance_nexus.cpp diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 4f883fd7e90..61dded05500 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -336,7 +336,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript if (type < MAX_ENCOUNTERS) { - TC_LOG_INFO("scripts", "[ToCr] BossState(type %u) %u = state %u;", type, GetBossState(type), state); + TC_LOG_DEBUG("scripts", "[ToCr] BossState(type %u) %u = state %u;", type, GetBossState(type), state); if (state == FAIL) { if (instance->IsHeroic()) diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index 97c4372f0e6..0b829c2c6dd 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -27,7 +27,7 @@ enum Yells SAY_SLAY = 1, SAY_DEATH = 2, SAY_SOUL_STORM = 3, - SAY_CORRUPT_SOUL = 4, + SAY_CORRUPT_SOUL = 4 }; enum Spells @@ -39,9 +39,9 @@ enum Spells SPELL_TELEPORT = 68988, SPELL_FEAR = 68950, SPELL_SOULSTORM = 68872, - SPELL_SOULSTORM_CHANNEL = 69008, // pre-fight - SPELL_SOULSTORM_VISUAL = 68870, // pre-cast soulstorm - SPELL_PURPLE_BANISH_VISUAL = 68862 // Used by Soul Fragment (Aura) + SPELL_SOULSTORM_CHANNEL = 69008, // Pre-fight + SPELL_SOULSTORM_VISUAL = 68870, // Pre-cast Soulstorm + SPELL_PURPLE_BANISH_VISUAL = 68862 // Used by Soul Fragment (Aura) }; enum Events @@ -50,7 +50,7 @@ enum Events EVENT_SHADOW_BOLT = 2, EVENT_CORRUPT_SOUL = 3, EVENT_SOULSTORM = 4, - EVENT_FEAR = 5, + EVENT_FEAR = 5 }; enum CombatPhases @@ -59,6 +59,11 @@ enum CombatPhases PHASE_2 = 2 }; +enum Misc +{ + DATA_SOUL_POWER = 1 +}; + class boss_bronjahm : public CreatureScript { public: @@ -73,33 +78,30 @@ class boss_bronjahm : public CreatureScript void Reset() override { - events.Reset(); + _Reset(); events.SetPhase(PHASE_1); events.ScheduleEvent(EVENT_SHADOW_BOLT, 2000); events.ScheduleEvent(EVENT_MAGIC_BANE, urand(8000, 20000)); events.ScheduleEvent(EVENT_CORRUPT_SOUL, urand(25000, 35000), 0, PHASE_1); - - instance->SetBossState(DATA_BRONJAHM, NOT_STARTED); } - void JustReachedHome() override - { - DoCast(me, SPELL_SOULSTORM_CHANNEL, true); - } + void JustReachedHome() override + { + _JustReachedHome(); + DoCast(me, SPELL_SOULSTORM_CHANNEL, true); + } void EnterCombat(Unit* /*who*/) override { + _EnterCombat(); Talk(SAY_AGGRO); me->RemoveAurasDueToSpell(SPELL_SOULSTORM_CHANNEL); - - instance->SetBossState(DATA_BRONJAHM, IN_PROGRESS); } void JustDied(Unit* /*killer*/) override { + _JustDied(); Talk(SAY_DEATH); - - instance->SetBossState(DATA_BRONJAHM, DONE); } void KilledUnit(Unit* who) override @@ -128,6 +130,23 @@ class boss_bronjahm : public CreatureScript summon->CastSpell(summon, SPELL_PURPLE_BANISH_VISUAL, true); } + uint32 GetData(uint32 type) const override + { + if (type == DATA_SOUL_POWER) + { + uint32 count = 0; + for (ObjectGuid const& guid : summons) + { + if (Creature* summon = ObjectAccessor::GetCreature(*me, guid)) + if (summon->GetEntry() == NPC_CORRUPTED_SOUL_FRAGMENT && summon->IsAlive()) + ++count; + } + return count; + } + + return 0; + } + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) @@ -143,13 +162,21 @@ class boss_bronjahm : public CreatureScript switch (eventId) { case EVENT_MAGIC_BANE: - DoCastVictim(SPELL_MAGIC_S_BANE); + DoCastAOE(SPELL_MAGIC_S_BANE); events.ScheduleEvent(EVENT_MAGIC_BANE, urand(8000, 20000)); break; case EVENT_SHADOW_BOLT: - if (!me->IsWithinMeleeRange(me->GetVictim())) + if (events.IsInPhase(PHASE_2)) + { DoCastVictim(SPELL_SHADOW_BOLT); - events.ScheduleEvent(EVENT_SHADOW_BOLT, 2000); + events.ScheduleEvent(EVENT_SHADOW_BOLT, urand(1, 2) * IN_MILLISECONDS); + } + else + { + if (!me->IsWithinMeleeRange(me->GetVictim())) + DoCastVictim(SPELL_SHADOW_BOLT); + events.ScheduleEvent(EVENT_SHADOW_BOLT, 2 * IN_MILLISECONDS); + } break; case EVENT_CORRUPT_SOUL: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true)) @@ -165,8 +192,7 @@ class boss_bronjahm : public CreatureScript me->CastSpell(me, SPELL_SOULSTORM, false); break; case EVENT_FEAR: - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true)) - me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, target, false); + me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, nullptr, false); events.ScheduleEvent(EVENT_FEAR, urand(8000, 12000), 0, PHASE_2); break; default: @@ -174,7 +200,8 @@ class boss_bronjahm : public CreatureScript } } - DoMeleeAttackIfReady(); + if (!events.IsInPhase(PHASE_2)) + DoMeleeAttackIfReady(); } }; @@ -201,17 +228,11 @@ class npc_corrupted_soul_fragment : public CreatureScript if (type != CHASE_MOTION_TYPE) return; - if (TempSummon* summ = me->ToTempSummon()) - { - ObjectGuid BronjahmGUID(instance->GetGuidData(DATA_BRONJAHM)); - if (BronjahmGUID.GetCounter() != id) - return; - - if (Creature* bronjahm = ObjectAccessor::GetCreature(*me, BronjahmGUID)) - me->CastSpell(bronjahm, SPELL_CONSUME_SOUL, true); + if (instance->GetGuidData(DATA_BRONJAHM).GetCounter() != id) + return; - summ->UnSummon(); - } + me->CastSpell((Unit*)nullptr, SPELL_CONSUME_SOUL, true); + me->DespawnOrUnsummon(); } private: @@ -220,7 +241,7 @@ class npc_corrupted_soul_fragment : public CreatureScript CreatureAI* GetAI(Creature* creature) const override { - return GetInstanceAI<npc_corrupted_soul_fragmentAI>(creature); + return GetInstanceAI<npc_corrupted_soul_fragmentAI>(creature, FoSScriptName); } }; @@ -238,12 +259,10 @@ class spell_bronjahm_magic_bane : public SpellScriptLoader if (GetHitUnit()->getPowerType() != POWER_MANA) return; - const int32 maxDamage = GetCaster()->GetMap()->GetSpawnMode() == 1 ? 15000 : 10000; - int32 newDamage = GetHitDamage(); - newDamage += GetHitUnit()->GetMaxPower(POWER_MANA)/2; - newDamage = std::min<int32>(maxDamage, newDamage); + int32 const maxDamage = GetCaster()->GetMap()->IsHeroic() ? 15000 : 10000; + int32 newDamage = GetHitDamage() + (GetHitUnit()->GetMaxPower(POWER_MANA) / 2); - SetHitDamage(newDamage); + SetHitDamage(std::min<int32>(maxDamage, newDamage)); } void Register() override @@ -261,7 +280,7 @@ class spell_bronjahm_magic_bane : public SpellScriptLoader class spell_bronjahm_consume_soul : public SpellScriptLoader { public: - spell_bronjahm_consume_soul() : SpellScriptLoader("spell_bronjahm_consume_soul") { } + spell_bronjahm_consume_soul() : SpellScriptLoader("spell_bronjahm_consume_soul") { } class spell_bronjahm_consume_soul_SpellScript : public SpellScript { @@ -285,38 +304,22 @@ class spell_bronjahm_consume_soul : public SpellScriptLoader } }; -class spell_bronjahm_soulstorm_channel : public SpellScriptLoader +static uint32 const SoulstormVisualSpells[] = { - public: - spell_bronjahm_soulstorm_channel() : SpellScriptLoader("spell_bronjahm_soulstorm_channel") { } - - class spell_bronjahm_soulstorm_channel_AuraScript : public AuraScript - { - PrepareAuraScript(spell_bronjahm_soulstorm_channel_AuraScript); - - void HandlePeriodicTick(AuraEffect const* /*aurEff*/) - { - PreventDefaultAction(); - for (uint32 i = 68904; i <= 68907; ++i) - GetTarget()->CastSpell(GetTarget(), i, true); - } - - void Register() override - { - OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_channel_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_bronjahm_soulstorm_channel_AuraScript(); - } + 68904, + 68886, + 68905, + 68896, + 68906, + 68897, + 68907, + 68898 }; class spell_bronjahm_soulstorm_visual : public SpellScriptLoader { public: - spell_bronjahm_soulstorm_visual() : SpellScriptLoader("spell_bronjahm_soulstorm_visual") { } + spell_bronjahm_soulstorm_visual(char const* scriptName) : SpellScriptLoader(scriptName) { } class spell_bronjahm_soulstorm_visual_AuraScript : public AuraScript { @@ -325,11 +328,7 @@ class spell_bronjahm_soulstorm_visual : public SpellScriptLoader void HandlePeriodicTick(AuraEffect const* aurEff) { PreventDefaultAction(); - if (aurEff->GetTickNumber()%5) - return; - GetTarget()->CastSpell(GetTarget(), 68886, true); - for (uint32 i = 68896; i <= 68898; ++i) - GetTarget()->CastSpell(GetTarget(), i, true); + GetTarget()->CastSpell(GetTarget(), SoulstormVisualSpells[aurEff->GetTickNumber() % 8], true); } void Register() override @@ -344,21 +343,6 @@ class spell_bronjahm_soulstorm_visual : public SpellScriptLoader } }; -class DistanceCheck -{ - public: - explicit DistanceCheck(Unit* _caster) : caster(_caster) { } - - bool operator() (WorldObject* unit) const - { - if (caster->GetExactDist2d(unit) <= 10.0f) - return true; - return false; - } - - Unit* caster; -}; - class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader { public: @@ -368,25 +352,19 @@ class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader { PrepareSpellScript(spell_bronjahm_soulstorm_targeting_SpellScript); - void FilterTargetsInitial(std::list<WorldObject*>& targets) - { - targets.remove_if(DistanceCheck(GetCaster())); - sharedTargets = targets; - } - - // use the same target for first and second effect - void FilterTargetsSubsequent(std::list<WorldObject*>& targets) + void FilterTargets(std::list<WorldObject*>& targets) { - targets = sharedTargets; + Unit* caster = GetCaster(); + targets.remove_if([caster](WorldObject* target) + { + return caster->GetExactDist2d(target) <= 10.0f; + }); } void Register() override { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargetsInitial, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY); - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargetsSubsequent, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY); + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY); } - - std::list<WorldObject*> sharedTargets; }; SpellScript* GetSpellScript() const override @@ -395,13 +373,25 @@ class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader } }; +class achievement_bronjahm_soul_power : public AchievementCriteriaScript +{ + public: + achievement_bronjahm_soul_power() : AchievementCriteriaScript("achievement_bronjahm_soul_power") { } + + bool OnCheck(Player* /*source*/, Unit* target) override + { + return target && target->GetAI()->GetData(DATA_SOUL_POWER) >= 4; + } +}; + void AddSC_boss_bronjahm() { new boss_bronjahm(); new npc_corrupted_soul_fragment(); new spell_bronjahm_magic_bane(); new spell_bronjahm_consume_soul(); - new spell_bronjahm_soulstorm_channel(); - new spell_bronjahm_soulstorm_visual(); + new spell_bronjahm_soulstorm_visual("spell_bronjahm_soulstorm_channel"); + new spell_bronjahm_soulstorm_visual("spell_bronjahm_soulstorm_visual"); new spell_bronjahm_soulstorm_targeting(); + new achievement_bronjahm_soul_power(); } diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index 2f1d4943019..d5f00757039 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -128,7 +128,7 @@ class boss_devourer_of_souls : public CreatureScript struct boss_devourer_of_soulsAI : public BossAI { - boss_devourer_of_soulsAI(Creature* creature) : BossAI(creature, DATA_DEVOURER_EVENT) + boss_devourer_of_soulsAI(Creature* creature) : BossAI(creature, DATA_DEVOURER_OF_SOULS) { Initialize(); beamAngle = 0.f; @@ -143,20 +143,17 @@ class boss_devourer_of_souls : public CreatureScript void Reset() override { + _Reset(); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE); me->SetDisplayId(DISPLAY_ANGER); me->SetReactState(REACT_AGGRESSIVE); - events.Reset(); - summons.DespawnAll(); - Initialize(); - - instance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED); } void EnterCombat(Unit* /*who*/) override { + _EnterCombat(); Talk(SAY_FACE_AGGRO); if (!me->FindNearestCreature(NPC_CRUCIBLE_OF_SOULS, 60)) // Prevent double spawn @@ -166,8 +163,6 @@ class boss_devourer_of_souls : public CreatureScript events.ScheduleEvent(EVENT_WELL_OF_SOULS, 30000); events.ScheduleEvent(EVENT_UNLEASHED_SOULS, 20000); events.ScheduleEvent(EVENT_WAILING_SOULS, urand(60000, 70000)); - - instance->SetData(DATA_DEVOURER_EVENT, IN_PROGRESS); } void KilledUnit(Unit* victim) override @@ -175,7 +170,7 @@ class boss_devourer_of_souls : public CreatureScript if (victim->GetTypeId() != TYPEID_PLAYER) return; - int32 textId = 0; + uint8 textId = 0; switch (me->GetDisplayId()) { case DISPLAY_ANGER: @@ -197,14 +192,12 @@ class boss_devourer_of_souls : public CreatureScript void JustDied(Unit* /*killer*/) override { - summons.DespawnAll(); + _JustDied(); Position spawnPoint = {5618.139f, 2451.873f, 705.854f, 0}; Talk(SAY_FACE_DEATH); - instance->SetData(DATA_DEVOURER_EVENT, DONE); - int32 entryIndex; if (instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE) entryIndex = 0; @@ -402,11 +395,6 @@ class spell_devourer_of_souls_mirrored_soul_proc : public SpellScriptLoader return true; } - bool Load() override - { - return true; - } - bool CheckProc(ProcEventInfo& /*eventInfo*/) { return GetCaster() && GetCaster()->IsAlive(); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h index 054e5d5a7bd..ddbc117e7fd 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h @@ -15,38 +15,44 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef DEF_FORGE_OF_SOULS_H -#define DEF_FORGE_OF_SOULS_H +#ifndef FORGE_OF_SOULS_H_ +#define FORGE_OF_SOULS_H_ #define FoSScriptName "instance_forge_of_souls" #define DataHeader "FOS" +uint32 const EncounterCount = 2; + enum Data { - DATA_BRONJAHM = 0, - DATA_DEVOURER = 1, - DATA_DEVOURER_EVENT = 2, - DATA_TEAM_IN_INSTANCE = 3, + // Encounter states and GUIDs + DATA_BRONJAHM = 0, + DATA_DEVOURER_OF_SOULS = 1, + + // Additional Data + DATA_TEAM_IN_INSTANCE = 2 }; enum Creatures { - CREATURE_BRONJAHM = 36497, - CREATURE_DEVOURER = 36502, - - NPC_SYLVANAS_PART1 = 37596, - NPC_SYLVANAS_PART2 = 38161, - NPC_JAINA_PART1 = 37597, - NPC_JAINA_PART2 = 38160, - NPC_KALIRA = 37583, - NPC_ELANDRA = 37774, - NPC_LORALEN = 37779, - NPC_KORELN = 37582, - NPC_CHAMPION_1_HORDE = 37584, - NPC_CHAMPION_2_HORDE = 37587, - NPC_CHAMPION_3_HORDE = 37588, - NPC_CHAMPION_1_ALLIANCE = 37496, - NPC_CHAMPION_2_ALLIANCE = 37497, - NPC_CRUCIBLE_OF_SOULS = 37094, + NPC_BRONJAHM = 36497, + NPC_DEVOURER = 36502, + NPC_CORRUPTED_SOUL_FRAGMENT = 36535, + + NPC_SYLVANAS_PART1 = 37596, + NPC_SYLVANAS_PART2 = 38161, + NPC_JAINA_PART1 = 37597, + NPC_JAINA_PART2 = 38160, + NPC_KALIRA = 37583, + NPC_ELANDRA = 37774, + NPC_LORALEN = 37779, + NPC_KORELN = 37582, + NPC_CHAMPION_1_HORDE = 37584, + NPC_CHAMPION_2_HORDE = 37587, + NPC_CHAMPION_3_HORDE = 37588, + NPC_CHAMPION_1_ALLIANCE = 37496, + NPC_CHAMPION_2_ALLIANCE = 37497, + NPC_CRUCIBLE_OF_SOULS = 37094 }; -#endif + +#endif // FORGE_OF_SOULS_H_ diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp index 8b586ea7fc2..db7628ebada 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp @@ -20,13 +20,6 @@ #include "forge_of_souls.h" #include "Player.h" -#define MAX_ENCOUNTER 2 - -/* Forge of Souls encounters: -0- Bronjahm, The Godfather of Souls -1- The Devourer of Souls -*/ - class instance_forge_of_souls : public InstanceMapScript { public: @@ -37,7 +30,7 @@ class instance_forge_of_souls : public InstanceMapScript instance_forge_of_souls_InstanceScript(Map* map) : InstanceScript(map) { SetHeaders(DataHeader); - SetBossNumber(MAX_ENCOUNTER); + SetBossNumber(EncounterCount); teamInInstance = 0; } @@ -60,10 +53,10 @@ class instance_forge_of_souls : public InstanceMapScript switch (creature->GetEntry()) { - case CREATURE_BRONJAHM: + case NPC_BRONJAHM: bronjahm = creature->GetGUID(); break; - case CREATURE_DEVOURER: + case NPC_DEVOURER: devourerOfSouls = creature->GetGUID(); break; case NPC_SYLVANAS_PART1: @@ -100,7 +93,7 @@ class instance_forge_of_souls : public InstanceMapScript { case DATA_BRONJAHM: return bronjahm; - case DATA_DEVOURER: + case DATA_DEVOURER_OF_SOULS: return devourerOfSouls; default: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 7b80db7dd39..9edde447f32 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -21,6 +21,7 @@ #include "SpellScript.h" #include "Transport.h" #include "Player.h" +#include "MoveSplineInit.h" #include "halls_of_reflection.h" enum Text @@ -342,6 +343,20 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript public: npc_jaina_or_sylvanas_intro_hor() : CreatureScript("npc_jaina_or_sylvanas_intro_hor") { } + bool OnGossipHello(Player* player, Creature* creature) override + { + // override default gossip + if (InstanceScript* instance = creature->GetInstanceScript()) + if (instance->GetData(DATA_QUEL_DELAR_EVENT) == IN_PROGRESS || instance->GetData(DATA_QUEL_DELAR_EVENT) == SPECIAL) + { + player->PlayerTalkClass->ClearMenus(); + return true; + } + + // load default gossip + return false; + } + struct npc_jaina_or_sylvanas_intro_horAI : public ScriptedAI { npc_jaina_or_sylvanas_intro_horAI(Creature* creature) : ScriptedAI(creature) @@ -1998,6 +2013,13 @@ class at_hor_intro_start : public AreaTriggerScript if (_instance->GetData(DATA_INTRO_EVENT) == NOT_STARTED) _instance->SetData(DATA_INTRO_EVENT, IN_PROGRESS); + if (player->HasAura(SPELL_QUEL_DELAR_COMPULSION) && (player->GetQuestStatus(QUEST_HALLS_OF_REFLECTION_ALLIANCE) == QUEST_STATUS_INCOMPLETE || + player->GetQuestStatus(QUEST_HALLS_OF_REFLECTION_HORDE) == QUEST_STATUS_INCOMPLETE) && _instance->GetData(DATA_QUEL_DELAR_EVENT) == NOT_STARTED) + { + _instance->SetData(DATA_QUEL_DELAR_EVENT, IN_PROGRESS); + _instance->SetGuidData(DATA_QUEL_DELAR_INVOKER, player->GetGUID()); + } + return true; } }; @@ -2330,6 +2352,395 @@ class npc_lumbering_abomination : public CreatureScript } }; +enum QuelDelarUther +{ + ACTION_UTHER_START_SCREAM = 1, + ACTION_UTHER_OUTRO = 2, + + EVENT_UTHER_1 = 1, + EVENT_UTHER_2 = 2, + EVENT_UTHER_3 = 3, + EVENT_UTHER_4 = 4, + EVENT_UTHER_5 = 5, + EVENT_UTHER_6 = 6, + EVENT_UTHER_7 = 7, + EVENT_UTHER_8 = 8, + EVENT_UTHER_9 = 9, + EVENT_UTHER_10 = 10, + EVENT_UTHER_11 = 11, + EVENT_UTHER_FACING = 12, + EVENT_UTHER_KNEEL = 13, + + SAY_UTHER_QUEL_DELAR_1 = 16, + SAY_UTHER_QUEL_DELAR_2 = 17, + SAY_UTHER_QUEL_DELAR_3 = 18, + SAY_UTHER_QUEL_DELAR_4 = 19, + SAY_UTHER_QUEL_DELAR_5 = 20, + SAY_UTHER_QUEL_DELAR_6 = 21, + + SPELL_ESSENCE_OF_CAPTURED_1 = 73036 +}; + +enum QuelDelarSword +{ + SPELL_WHIRLWIND_VISUAL = 70300, + SPELL_HEROIC_STRIKE = 29426, + SPELL_WHIRLWIND = 67716, + SPELL_BLADESTORM = 67541, + + NPC_QUEL_DELAR = 37158, + POINT_TAKE_OFF = 1, + + EVENT_QUEL_DELAR_INIT = 1, + EVENT_QUEL_DELAR_FLIGHT_INIT = 2, + EVENT_QUEL_DELAR_FLIGHT = 3, + EVENT_QUEL_DELAR_LAND = 4, + EVENT_QUEL_DELAR_FIGHT = 5, + EVENT_QUEL_DELAR_BLADESTORM = 6, + EVENT_QUEL_DELAR_HEROIC_STRIKE = 7, + EVENT_QUEL_DELAR_WHIRLWIND = 8, + + SAY_QUEL_DELAR_SWORD = 0 +}; + +enum QuelDelarMisc +{ + SAY_FROSTMOURNE_BUNNY = 0, + SPELL_QUEL_DELAR_WILL = 70698 +}; + +Position const QuelDelarCenterPos = { 5309.259f, 2006.390f, 718.046f, 0.0f }; +Position const QuelDelarSummonPos = { 5298.473f, 1994.852f, 709.424f, 3.979351f }; +Position const QuelDelarMovement[] = +{ + { 5292.870f, 1998.950f, 718.046f, 0.0f }, + { 5295.819f, 1991.912f, 707.707f, 0.0f }, + { 5295.301f, 1989.782f, 708.696f, 0.0f } +}; + +Position const UtherQuelDelarMovement[] = +{ + { 5336.830f, 1981.700f, 709.319f, 0.0f }, + { 5314.350f, 1993.440f, 707.726f, 0.0f } +}; + +class npc_uther_quel_delar : public CreatureScript +{ + public: + npc_uther_quel_delar() : CreatureScript("npc_uther_quel_delar") { } + + struct npc_uther_quel_delarAI : public ScriptedAI + { + npc_uther_quel_delarAI(Creature* creature) : ScriptedAI(creature) + { + _instance = me->GetInstanceScript(); + } + + void Reset() override + { + // Prevent to break Uther in intro event during instance encounter + if (_instance->GetData(DATA_QUEL_DELAR_EVENT) != IN_PROGRESS && _instance->GetData(DATA_QUEL_DELAR_EVENT) != SPECIAL) + return; + + _events.Reset(); + _events.ScheduleEvent(EVENT_UTHER_1, 1); + } + + void DamageTaken(Unit* /*attacker*/, uint32& damage) override + { + if (damage >= me->GetHealth()) + damage = me->GetHealth() - 1; + } + + void DoAction(int32 action) override + { + switch (action) + { + case ACTION_UTHER_START_SCREAM: + _instance->SetData(DATA_QUEL_DELAR_EVENT, SPECIAL); + _events.ScheduleEvent(EVENT_UTHER_2, 0); + break; + case ACTION_UTHER_OUTRO: + _events.ScheduleEvent(EVENT_UTHER_6, 0); + break; + default: + break; + } + } + + void MovementInform(uint32 /*type*/, uint32 pointId) override + { + switch (pointId) + { + case 1: + _events.ScheduleEvent(EVENT_UTHER_FACING, 1000); + break; + default: + break; + } + } + + void UpdateAI(uint32 diff) override + { + // Prevent to break Uther in intro event during instance encounter + if (_instance->GetData(DATA_QUEL_DELAR_EVENT) != IN_PROGRESS && _instance->GetData(DATA_QUEL_DELAR_EVENT) != SPECIAL) + return; + + _events.Update(diff); + + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_UTHER_1: + Talk(SAY_UTHER_QUEL_DELAR_1); + break; + case EVENT_UTHER_2: + if (Creature* bunny = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FROSTMOURNE_ALTAR_BUNNY))) + if (Unit* target = ObjectAccessor::GetPlayer(*me, _instance->GetGuidData(DATA_QUEL_DELAR_INVOKER))) + bunny->CastSpell(target, SPELL_QUEL_DELAR_WILL, true); + _events.ScheduleEvent(EVENT_UTHER_3, 2000); + break; + case EVENT_UTHER_3: + me->SummonCreature(NPC_QUEL_DELAR, QuelDelarSummonPos); + _events.ScheduleEvent(EVENT_UTHER_4, 2000); + break; + case EVENT_UTHER_4: + Talk(SAY_UTHER_QUEL_DELAR_2); + _events.ScheduleEvent(EVENT_UTHER_5, 8000); + break; + case EVENT_UTHER_5: + me->GetMotionMaster()->MovePoint(1, UtherQuelDelarMovement[0]); + break; + case EVENT_UTHER_6: + me->SetWalk(true); + me->GetMotionMaster()->MovePoint(0, UtherQuelDelarMovement[1]); + _events.ScheduleEvent(EVENT_UTHER_7, 5000); + break; + case EVENT_UTHER_7: + Talk(SAY_UTHER_QUEL_DELAR_3); + _events.ScheduleEvent(EVENT_UTHER_8, 12000); + break; + case EVENT_UTHER_8: + Talk(SAY_UTHER_QUEL_DELAR_4); + _events.ScheduleEvent(EVENT_UTHER_9, 7000); + break; + case EVENT_UTHER_9: + Talk(SAY_UTHER_QUEL_DELAR_5); + _events.ScheduleEvent(EVENT_UTHER_10, 10000); + break; + case EVENT_UTHER_10: + Talk(SAY_UTHER_QUEL_DELAR_6); + _events.ScheduleEvent(EVENT_UTHER_11, 5000); + break; + case EVENT_UTHER_11: + DoCast(me, SPELL_ESSENCE_OF_CAPTURED_1, true); + me->DespawnOrUnsummon(3000); + _instance->SetData(DATA_QUEL_DELAR_EVENT, DONE); + break; + case EVENT_UTHER_FACING: + if (Creature* bunny = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FROSTMOURNE_ALTAR_BUNNY))) + me->SetFacingToObject(bunny); + _events.ScheduleEvent(EVENT_UTHER_KNEEL, 1000); + break; + case EVENT_UTHER_KNEEL: + me->HandleEmoteCommand(EMOTE_STATE_KNEEL); + break; + default: + break; + } + } + } + + private: + EventMap _events; + InstanceScript* _instance; + }; + + CreatureAI* GetAI(Creature* creature) const override + { + return GetHallsOfReflectionAI<npc_uther_quel_delarAI>(creature); + } +}; + +class npc_quel_delar_sword : public CreatureScript +{ + public: + npc_quel_delar_sword() : CreatureScript("npc_quel_delar_sword") { } + + struct npc_quel_delar_swordAI : public ScriptedAI + { + npc_quel_delar_swordAI(Creature* creature) : ScriptedAI(creature) + { + _instance = me->GetInstanceScript(); + me->SetDisplayId(me->GetCreatureTemplate()->Modelid2); + _intro = true; + } + + void Reset() override + { + _events.Reset(); + me->SetSpeed(MOVE_FLIGHT, 4.5f, true); + DoCast(SPELL_WHIRLWIND_VISUAL); + if (_intro) + _events.ScheduleEvent(EVENT_QUEL_DELAR_INIT, 0); + else + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + } + + void EnterCombat(Unit* /*victim*/) override + { + _events.ScheduleEvent(EVENT_QUEL_DELAR_HEROIC_STRIKE, 4000); + _events.ScheduleEvent(EVENT_QUEL_DELAR_BLADESTORM, 6000); + _events.ScheduleEvent(EVENT_QUEL_DELAR_WHIRLWIND, 6000); + } + + void JustDied(Unit* /*killer*/) override + { + if (Creature* uther = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_UTHER_QUEL_DELAR))) + uther->AI()->DoAction(ACTION_UTHER_OUTRO); + } + + void MovementInform(uint32 type, uint32 pointId) override + { + if (type != EFFECT_MOTION_TYPE) + return; + + switch (pointId) + { + case POINT_TAKE_OFF: + _events.ScheduleEvent(EVENT_QUEL_DELAR_FLIGHT, 0); + break; + default: + break; + } + } + + void UpdateAI(uint32 diff) override + { + _events.Update(diff); + + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + + if (!UpdateVictim()) + { + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_QUEL_DELAR_INIT: + if (Creature* bunny = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FROSTMOURNE_ALTAR_BUNNY))) + bunny->AI()->Talk(SAY_FROSTMOURNE_BUNNY); + _intro = false; + _events.ScheduleEvent(EVENT_QUEL_DELAR_FLIGHT_INIT, 2500); + break; + case EVENT_QUEL_DELAR_FLIGHT_INIT: + me->GetMotionMaster()->MoveTakeoff(POINT_TAKE_OFF, QuelDelarMovement[0]); + break; + case EVENT_QUEL_DELAR_FLIGHT: + { + Movement::MoveSplineInit init(me); + FillCirclePath(QuelDelarCenterPos, 18.0f, 718.046f, init.Path(), true); + init.SetFly(); + init.SetCyclic(); + init.SetAnimation(Movement::ToFly); + init.Launch(); + + _events.ScheduleEvent(EVENT_QUEL_DELAR_LAND, 15000); + break; + } + case EVENT_QUEL_DELAR_LAND: + me->StopMoving(); + me->GetMotionMaster()->Clear(); + me->GetMotionMaster()->MoveLand(0, QuelDelarMovement[1]); + _events.ScheduleEvent(EVENT_QUEL_DELAR_FIGHT, 6000); + break; + case EVENT_QUEL_DELAR_FIGHT: + Talk(SAY_QUEL_DELAR_SWORD); + me->GetMotionMaster()->MovePoint(0, QuelDelarMovement[2]); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + break; + default: + break; + } + } + } + else + { + while (uint32 eventId = _events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_QUEL_DELAR_BLADESTORM: + DoCast(me, SPELL_BLADESTORM); + _events.ScheduleEvent(EVENT_QUEL_DELAR_BLADESTORM, 10000); + break; + case EVENT_QUEL_DELAR_HEROIC_STRIKE: + DoCastVictim(SPELL_HEROIC_STRIKE); + _events.ScheduleEvent(EVENT_QUEL_DELAR_HEROIC_STRIKE, 6000); + break; + case EVENT_QUEL_DELAR_WHIRLWIND: + DoCastAOE(SPELL_WHIRLWIND); + _events.ScheduleEvent(EVENT_QUEL_DELAR_WHIRLWIND, 1000); + break; + default: + break; + } + } + + DoMeleeAttackIfReady(); + } + } + + private: + void FillCirclePath(Position const& centerPos, float radius, float z, Movement::PointsArray& path, bool clockwise) + { + float step = clockwise ? -M_PI / 8.0f : M_PI / 8.0f; + float angle = centerPos.GetAngle(me->GetPositionX(), me->GetPositionY()); + + for (uint8 i = 0; i < 16; angle += step, ++i) + { + G3D::Vector3 point; + point.x = centerPos.GetPositionX() + radius * cosf(angle); + point.y = centerPos.GetPositionY() + radius * sinf(angle); + point.z = z; + path.push_back(point); + } + } + + EventMap _events; + InstanceScript* _instance; + bool _intro; + }; + + CreatureAI* GetAI(Creature* creature) const override + { + return GetHallsOfReflectionAI<npc_quel_delar_swordAI>(creature); + } +}; + +// 5660 +class at_hor_uther_quel_delar_start : public AreaTriggerScript +{ + public: + at_hor_uther_quel_delar_start() : AreaTriggerScript("at_hor_uther_quel_delar_start") { } + + bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override + { + if (player->IsGameMaster()) + return true; + + InstanceScript* _instance = player->GetInstanceScript(); + + if (_instance->GetData(DATA_QUEL_DELAR_EVENT) == IN_PROGRESS) + if (Creature* uther = ObjectAccessor::GetCreature(*player, _instance->GetGuidData(DATA_UTHER_QUEL_DELAR))) + uther->AI()->DoAction(ACTION_UTHER_START_SCREAM); + + return true; + } +}; + // 72900 - Start Halls of Reflection Quest AE class spell_hor_start_halls_of_reflection_quest_ae : public SpellScriptLoader { @@ -2447,6 +2858,7 @@ void AddSC_halls_of_reflection() new at_hor_waves_restarter(); new at_hor_impenetrable_door(); new at_hor_shadow_throne(); + new at_hor_uther_quel_delar_start(); new npc_jaina_or_sylvanas_intro_hor(); new npc_jaina_or_sylvanas_escape_hor(); new npc_the_lich_king_escape_hor(); @@ -2461,6 +2873,8 @@ void AddSC_halls_of_reflection() new npc_raging_ghoul(); new npc_risen_witch_doctor(); new npc_lumbering_abomination(); + new npc_uther_quel_delar(); + new npc_quel_delar_sword(); new spell_hor_start_halls_of_reflection_quest_ae(); new spell_hor_evasion(); new spell_hor_gunship_cannon_fire(); diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h index 9594617fa9a..d2f9ab5d262 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h @@ -46,7 +46,13 @@ enum DataTypes DATA_ESCAPE_LEADER = 10, DATA_ICEWALL = 11, DATA_ICEWALL_TARGET = 12, - DATA_GUNSHIP = 13 + DATA_GUNSHIP = 13, + + // Quest stuff + DATA_QUEL_DELAR_EVENT = 14, + DATA_FROSTMOURNE_ALTAR_BUNNY = 15, + DATA_UTHER_QUEL_DELAR = 16, + DATA_QUEL_DELAR_INVOKER = 17 }; enum CreatureIds @@ -131,7 +137,8 @@ enum InstanceEvents EVENT_NEXT_WAVE = 2, EVENT_DO_WIPE = 3, EVENT_ADD_WAVE = 4, - EVENT_SPAWN_ESCAPE_EVENT = 5 + EVENT_SPAWN_ESCAPE_EVENT = 5, + EVENT_QUEL_DELAR_SUMMON_UTHER = 6 }; enum InstanceEventIds @@ -160,7 +167,17 @@ enum InstanceSpells // Gunship SPELL_GUNSHIP_CANNON_FIRE = 70017, SPELL_GUNSHIP_CANNON_FIRE_MISSILE_ALLIANCE = 70021, - SPELL_GUNSHIP_CANNON_FIRE_MISSILE_HORDE = 70246 + SPELL_GUNSHIP_CANNON_FIRE_MISSILE_HORDE = 70246, + + // Halls of Reflection quest + SPELL_QUEL_DELAR_COMPULSION = 70013, + SPELL_ESSENCE_OF_CAPTURED = 70720 +}; + +enum InstanceQuests +{ + QUEST_HALLS_OF_REFLECTION_ALLIANCE = 24480, + QUEST_HALLS_OF_REFLECTION_HORDE = 24561 }; enum InstanceWorldStates diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index ea2a1539f1c..660a639487f 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -73,6 +73,8 @@ Position const SpawnPos[] = { 5299.250f, 2035.998f, 707.7781f, 5.026548f } }; +Position const UtherQuelDalarPos = { 5302.001f, 1988.698f, 707.7781f, 3.700098f }; + class instance_halls_of_reflection : public InstanceMapScript { public: @@ -89,6 +91,7 @@ class instance_halls_of_reflection : public InstanceMapScript _waveCount = 0; _introState = NOT_STARTED; _frostswornGeneralState = NOT_STARTED; + _quelDelarState = NOT_STARTED; events.Reset(); } @@ -159,6 +162,9 @@ class instance_halls_of_reflection : public InstanceMapScript case NPC_ICE_WALL_TARGET: IcewallTargetGUID = creature->GetGUID(); break; + case NPC_UTHER: + UtherGUID = creature->GetGUID(); + break; default: break; } @@ -439,6 +445,18 @@ class instance_halls_of_reflection : public InstanceMapScript HandleGameObject(ShadowThroneDoorGUID, true); _frostswornGeneralState = data; break; + case DATA_QUEL_DELAR_EVENT: + if (data == IN_PROGRESS) + { + if (_quelDelarState == NOT_STARTED) + { + if (Creature* bunny = instance->GetCreature(FrostmourneAltarBunnyGUID)) + bunny->CastSpell((Unit*)NULL, SPELL_ESSENCE_OF_CAPTURED); + events.ScheduleEvent(EVENT_QUEL_DELAR_SUMMON_UTHER, 2000); + } + } + _quelDelarState = data; + break; default: break; } @@ -446,6 +464,18 @@ class instance_halls_of_reflection : public InstanceMapScript SaveToDB(); } + void SetGuidData(uint32 type, ObjectGuid data) override + { + switch (type) + { + case DATA_QUEL_DELAR_INVOKER: + QuelDelarInvokerGUID = data; + break; + default: + break; + } + } + // wave scheduling, checked when wave npcs die void OnUnitDeath(Unit* unit) override { @@ -491,6 +521,9 @@ class instance_halls_of_reflection : public InstanceMapScript case EVENT_SPAWN_ESCAPE_EVENT: SpawnEscapeEvent(); break; + case EVENT_QUEL_DELAR_SUMMON_UTHER: + instance->SummonCreature(NPC_UTHER, UtherQuelDalarPos); + break; } } @@ -649,6 +682,8 @@ class instance_halls_of_reflection : public InstanceMapScript return _introState; case DATA_FROSTSWORN_GENERAL: return _frostswornGeneralState; + case DATA_QUEL_DELAR_EVENT: + return _quelDelarState; default: break; } @@ -682,6 +717,12 @@ class instance_halls_of_reflection : public InstanceMapScript return IcewallGUID; case DATA_ICEWALL_TARGET: return IcewallTargetGUID; + case DATA_FROSTMOURNE_ALTAR_BUNNY: + return FrostmourneAltarBunnyGUID; + case DATA_UTHER_QUEL_DELAR: + return UtherGUID; + case DATA_QUEL_DELAR_INVOKER: + return QuelDelarInvokerGUID; default: break; } @@ -691,7 +732,7 @@ class instance_halls_of_reflection : public InstanceMapScript void WriteSaveDataMore(std::ostringstream& data) override { - data << _introState << ' ' << _frostswornGeneralState; + data << _introState << ' ' << _frostswornGeneralState << ' ' << _quelDelarState; } void ReadSaveDataMore(std::istringstream& data) override @@ -708,6 +749,12 @@ class instance_halls_of_reflection : public InstanceMapScript SetData(DATA_FROSTSWORN_GENERAL, DONE); else SetData(DATA_FROSTSWORN_GENERAL, NOT_STARTED); + + data >> temp; + if (temp == DONE) + SetData(DATA_QUEL_DELAR_EVENT, DONE); + else + SetData(DATA_QUEL_DELAR_EVENT, NOT_STARTED); } private: @@ -731,6 +778,7 @@ class instance_halls_of_reflection : public InstanceMapScript uint32 _waveCount; uint32 _introState; uint32 _frostswornGeneralState; + uint32 _quelDelarState; EventMap events; GuidSet waveGuidList[8]; @@ -740,6 +788,8 @@ class instance_halls_of_reflection : public InstanceMapScript ObjectGuid CaptainGUID; ObjectGuid IcewallGUID; ObjectGuid IcewallTargetGUID; + ObjectGuid QuelDelarInvokerGUID; + ObjectGuid UtherGUID; GuidSet GunshipCannonGUIDs; GuidSet GunshipStairGUIDs; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 4c6fd0f2fcc..63082808e03 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -1259,7 +1259,7 @@ class spell_putricide_mutated_plague : public SpellScriptLoader return; uint32 triggerSpell = GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell; - SpellInfo const* spell = sSpellMgr->GetSpellInfo(triggerSpell); + SpellInfo const* spell = sSpellMgr->EnsureSpellInfo(triggerSpell); spell = sSpellMgr->GetSpellForDifficultyFromSpell(spell, caster); int32 damage = spell->Effects[EFFECT_0].CalcValue(caster); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp index 4d7b9ec42b4..d56a3f80f75 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -18,7 +18,7 @@ #include "ObjectMgr.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" -#include "SpellAuras.h" +#include "SpellAuraEffects.h" #include "GridNotifiers.h" #include "icecrown_citadel.h" @@ -213,7 +213,7 @@ class boss_rotface : public CreatureScript } break; case EVENT_MUTATED_INFECTION: - me->CastCustomSpell(SPELL_MUTATED_INFECTION, SPELLVALUE_MAX_TARGETS, 1, NULL, false); + DoCastAOE(SPELL_MUTATED_INFECTION); events.ScheduleEvent(EVENT_MUTATED_INFECTION, infectionCooldown); break; case EVENT_VILE_GAS: @@ -509,13 +509,6 @@ class spell_rotface_mutated_infection : public SpellScriptLoader { PrepareSpellScript(spell_rotface_mutated_infection_SpellScript); - public: - spell_rotface_mutated_infection_SpellScript() - { - _target = nullptr; - } - - private: void FilterTargets(std::list<WorldObject*>& targets) { // remove targets with this aura already @@ -527,14 +520,6 @@ class spell_rotface_mutated_infection : public SpellScriptLoader WorldObject* target = Trinity::Containers::SelectRandomContainerElement(targets); targets.clear(); targets.push_back(target); - _target = target; - } - - void ReplaceTargets(std::list<WorldObject*>& targets) - { - targets.clear(); - if (_target) - targets.push_back(_target); } void NotifyTargets() @@ -546,19 +531,43 @@ class spell_rotface_mutated_infection : public SpellScriptLoader void Register() override { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::ReplaceTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY); - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::ReplaceTargets, EFFECT_2, TARGET_UNIT_SRC_AREA_ENEMY); + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY); AfterHit += SpellHitFn(spell_rotface_mutated_infection_SpellScript::NotifyTargets); } + }; + + class spell_rotface_mutated_infection_AuraScript : public AuraScript + { + PrepareAuraScript(spell_rotface_mutated_infection_AuraScript); - WorldObject* _target; + bool Validate(SpellInfo const* spellInfo) override + { + if (!sSpellMgr->GetSpellInfo(uint32(spellInfo->Effects[EFFECT_2].CalcValue()))) + return false; + return true; + } + + void HandleEffectRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) + { + Unit* target = GetTarget(); + target->CastSpell(target, uint32(GetSpellInfo()->Effects[EFFECT_2].CalcValue()), true, nullptr, aurEff, GetCasterGUID()); + } + + void Register() override + { + AfterEffectRemove += AuraEffectRemoveFn(spell_rotface_mutated_infection_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL); + } }; SpellScript* GetSpellScript() const override { return new spell_rotface_mutated_infection_SpellScript(); } + + AuraScript* GetAuraScript() const override + { + return new spell_rotface_mutated_infection_AuraScript(); + } }; class spell_rotface_little_ooze_combine : public SpellScriptLoader diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index ae0e00cb849..07816ebbe39 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -2417,6 +2417,7 @@ class spell_the_lich_king_defile : public SpellScriptLoader void CorrectRange(std::list<WorldObject*>& targets) { targets.remove_if(ExactDistanceCheck(GetCaster(), 10.0f * GetCaster()->GetObjectScale())); + targets.remove_if(Trinity::UnitAuraCheck(true, SPELL_HARVEST_SOUL_VALKYR)); } void ChangeDamageAndGrow() diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp deleted file mode 100644 index fc56f541a4b..00000000000 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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/>. - */ - -/* Script Data Start -SDName: Boss Commander Kolurg -SDAuthor: LordVanMartin -SD%Complete: -SDComment: Only Alliance Heroic -SDCategory: -Script Data End */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" - -enum Spells -{ - SPELL_BATTLE_SHOUT = 31403, - SPELL_CHARGE = 60067, - SPELL_FRIGHTENING_SHOUT = 19134, - SPELL_WHIRLWIND_1 = 38619, - SPELL_WHIRLWIND_2 = 38618 - -}; - -//not used -//Yell -#define SAY_AGGRO -1576024 -#define SAY_KILL -1576025 -#define SAY_DEATH -1576026 - -class boss_commander_kolurg : public CreatureScript -{ -public: - boss_commander_kolurg() : CreatureScript("boss_commander_kolurg") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new boss_commander_kolurgAI(creature); - } - - struct boss_commander_kolurgAI : public ScriptedAI - { - boss_commander_kolurgAI(Creature* creature) : ScriptedAI(creature) { } - - void Reset() override { } - void EnterCombat(Unit* /*who*/) override { } - void AttackStart(Unit* /*who*/) override { } - void MoveInLineOfSight(Unit* /*who*/) override { } - - void UpdateAI(uint32 /*diff*/) override - { - //Return since we have no target - if (!UpdateVictim()) - return; - - DoMeleeAttackIfReady(); - } - void JustDied(Unit* /*killer*/) override { } - }; - -}; - -void AddSC_boss_commander_kolurg() -{ - new boss_commander_kolurg(); -} diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp deleted file mode 100644 index ff08038d898..00000000000 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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/>. - */ - -/* Script Data Start -SDName: Boss Commander Stoutbeard -SDAuthor: LordVanMartin -SD%Complete: -SDComment: Only Horde Heroic -SDCategory: -Script Data End */ - -#include "ScriptMgr.h" -#include "ScriptedCreature.h" - -enum CommanderStoutbeard -{ - SPELL_BATTLE_SHOUT = 31403, - SPELL_CHARGE = 60067, - SPELL_FRIGHTENING_SHOUT = 19134, - SPELL_WHIRLWIND_1 = 38619, - SPELL_WHIRLWIND_2 = 38618 -}; - - -class boss_commander_stoutbeard : public CreatureScript -{ -public: - boss_commander_stoutbeard() : CreatureScript("boss_commander_stoutbeard") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new boss_commander_stoutbeardAI(creature); - } - - struct boss_commander_stoutbeardAI : public ScriptedAI - { - boss_commander_stoutbeardAI(Creature* creature) : ScriptedAI(creature) { } - - void Reset() override { } - void AttackStart(Unit* /*who*/) override { } - void MoveInLineOfSight(Unit* /*who*/) override { } - - void UpdateAI(uint32 /*diff*/) override - { - //Return since we have no target - if (!UpdateVictim()) - return; - - DoMeleeAttackIfReady(); - } - }; - -}; - -void AddSC_boss_commander_stoutbeard() -{ - new boss_commander_stoutbeard(); -} diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_nexus_commanders.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_nexus_commanders.cpp new file mode 100644 index 00000000000..d40f9fecc6a --- /dev/null +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_nexus_commanders.cpp @@ -0,0 +1,110 @@ +/* + * 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 "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "nexus.h" + +enum Spells +{ + SPELL_BATTLE_SHOUT = 31403, + SPELL_CHARGE = 60067, + SPELL_FRIGHTENING_SHOUT = 19134, + SPELL_WHIRLWIND = 38618, + SPELL_FROZEN_PRISON = 47543 +}; + +enum Yells +{ + SAY_AGGRO = 0, + SAY_KILL = 1, + SAY_DEATH = 2 +}; + +enum Events +{ + EVENT_CHARGE_COMMANDER = 1, + EVENT_WHIRLWIND, + EVENT_FRIGHTENING_SHOUT +}; + +class boss_nexus_commanders : public CreatureScript +{ + public: + boss_nexus_commanders() : CreatureScript("boss_nexus_commanders") { } + + struct boss_nexus_commandersAI : public BossAI + { + boss_nexus_commandersAI(Creature* creature) : BossAI(creature, DATA_COMMANDER) { } + + void EnterCombat(Unit* /*who*/) override + { + _EnterCombat(); + Talk(SAY_AGGRO); + me->RemoveAurasDueToSpell(SPELL_FROZEN_PRISON); + DoCast(me, SPELL_BATTLE_SHOUT); + + events.ScheduleEvent(EVENT_CHARGE_COMMANDER, urand(3000, 4000)); + events.ScheduleEvent(EVENT_WHIRLWIND, urand(6000, 8000)); + events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, urand(13000, 15000)); + } + + void ExecuteEvent(uint32 eventId) override + { + switch (eventId) + { + case EVENT_CHARGE_COMMANDER: + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true)) + DoCast(target, SPELL_CHARGE); + events.ScheduleEvent(EVENT_CHARGE_COMMANDER, urand(11000, 15000)); + break; + case EVENT_WHIRLWIND: + DoCast(me, SPELL_WHIRLWIND); + events.ScheduleEvent(EVENT_WHIRLWIND, urand(19500, 25000)); + break; + case EVENT_FRIGHTENING_SHOUT: + DoCastAOE(SPELL_FRIGHTENING_SHOUT); + events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, urand(45000, 55000)); + break; + default: + break; + } + } + + void JustDied(Unit* /*killer*/) override + { + _JustDied(); + Talk(SAY_DEATH); + } + + void KilledUnit(Unit* who) override + { + if (who->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_KILL); + } + }; + + CreatureAI* GetAI(Creature* creature) const override + { + return GetInstanceAI<boss_nexus_commandersAI>(creature); + } +}; + +void AddSC_boss_nexus_commanders() +{ + new boss_nexus_commanders(); +} diff --git a/src/server/scripts/Northrend/Nexus/Nexus/nexus.h b/src/server/scripts/Northrend/Nexus/Nexus/nexus.h index 90866ea83f8..c48c7323301 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/nexus.h +++ b/src/server/scripts/Northrend/Nexus/Nexus/nexus.h @@ -21,32 +21,33 @@ #define NexusScriptName "instance_nexus" #define DataHeader "NEX" -uint32 const EncounterCount = 4; +uint32 const EncounterCount = 5; enum DataTypes { - DATA_MAGUS_TELESTRA = 0, - DATA_ANOMALUS = 1, - DATA_ORMOROK = 2, - DATA_KERISTRASZA = 3, + DATA_COMMANDER = 0, + DATA_MAGUS_TELESTRA = 1, + DATA_ANOMALUS = 2, + DATA_ORMOROK = 3, + DATA_KERISTRASZA = 4, - ANOMALUS_CONTAINMET_SPHERE = 4, - ORMOROKS_CONTAINMET_SPHERE = 5, - TELESTRAS_CONTAINMET_SPHERE = 6 + ANOMALUS_CONTAINMET_SPHERE = 5, + ORMOROKS_CONTAINMET_SPHERE = 6, + TELESTRAS_CONTAINMET_SPHERE = 7 }; enum CreatureIds { NPC_ANOMALUS = 26763, NPC_KERISTRASZA = 26723, - + // Alliance NPC_ALLIANCE_BERSERKER = 26800, NPC_ALLIANCE_RANGER = 26802, NPC_ALLIANCE_CLERIC = 26805, NPC_ALLIANCE_COMMANDER = 27949, NPC_COMMANDER_STOUTBEARD = 26796, - + // Horde NPC_HORDE_BERSERKER = 26799, NPC_HORDE_RANGER = 26801, @@ -59,7 +60,7 @@ enum GameObjectIds { GO_ANOMALUS_CONTAINMET_SPHERE = 188527, GO_ORMOROKS_CONTAINMET_SPHERE = 188528, - GO_TELESTRAS_CONTAINMET_SPHERE = 188526 + GO_TELESTRAS_CONTAINMET_SPHERE = 188526 }; #endif diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp index 7bc8a5300f4..536cae08483 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp @@ -29,7 +29,7 @@ EndScriptData */ #include "Player.h" #include "SpellInfo.h" -enum Enums +enum Texts { SAY_AGGRO = 0, SAY_FORGE = 1, @@ -38,29 +38,50 @@ enum Enums SAY_DEATH = 4, EMOTE_TO_ANVIL = 5, EMOTE_SHATTER = 6, +}; +enum Spells +{ SPELL_HEAT = 52387, SPELL_SHATTERING_STOMP = 52237, - SPELL_TEMPER = 52238, SPELL_TEMPER_DUMMY = 52654, - SPELL_SUMMON_MOLTEN_GOLEM = 52405, + SPELL_FORGE_VISUAL = 52654, // Molten Golem SPELL_BLAST_WAVE = 23113, SPELL_IMMOLATION_STRIKE = 52433, SPELL_SHATTER = 52429, +}; +enum Events +{ + EVENT_PAUSE = 1, + EVENT_SHATTERING_STOMP = 2, + EVENT_SHATTER = 3, + EVENT_FORGE_CAST = 4, + + // Molten Golem + EVENT_BLAST = 5, + EVENT_IMMOLATION = 6 +}; + +enum Npcs +{ NPC_VOLKHAN_ANVIL = 28823, NPC_MOLTEN_GOLEM = 28695, NPC_BRITTLE_GOLEM = 28681, - MAX_GOLEM = 2, - DATA_SHATTER_RESISTANT = 2042 }; +enum Phases +{ + PHASE_INTRO = 1, + PHASE_NORMAL +}; + /*###### ## Boss Volkhan ######*/ @@ -68,68 +89,44 @@ class boss_volkhan : public CreatureScript { public: boss_volkhan() : CreatureScript("boss_volkhan") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return GetInstanceAI<boss_volkhanAI>(creature); - } - - struct boss_volkhanAI : public ScriptedAI + + struct boss_volkhanAI : public BossAI { - boss_volkhanAI(Creature* creature) : ScriptedAI(creature) + boss_volkhanAI(Creature* creature) : BossAI(creature, DATA_VOLKHAN) { Initialize(); - instance = creature->GetInstanceScript(); } void Initialize() { - m_bIsStriking = false; - m_bHasTemper = false; + m_bIsStriking = false; + m_bHasTemper = false; m_bCanShatterGolem = false; - - m_uiPause_Timer = 3500; - m_uiShatteringStomp_Timer = 0; - m_uiShatter_Timer = 5000; - m_uiDelay_Timer = 1000; - m_uiSummonPhase = 0; - GolemsShattered = 0; + m_uiDelay_Timer = 1000; + m_uiSummonPhase = 0; + GolemsShattered = 0; m_uiHealthAmountModifier = 1; } - InstanceScript* instance; - - GuidList m_lGolemGUIDList; - - bool m_bHasTemper; - bool m_bIsStriking; - bool m_bCanShatterGolem; - - uint8 GolemsShattered; - uint32 m_uiPause_Timer; - uint32 m_uiShatteringStomp_Timer; - uint32 m_uiShatter_Timer; - uint32 m_uiDelay_Timer; - uint32 m_uiSummonPhase; - - uint32 m_uiHealthAmountModifier; - void Reset() override { Initialize(); - + _Reset(); DespawnGolem(); m_lGolemGUIDList.clear(); - - instance->SetBossState(DATA_VOLKHAN, NOT_STARTED); + events.SetPhase(PHASE_INTRO); + events.ScheduleEvent(EVENT_FORGE_CAST, 2 * IN_MILLISECONDS, 0, PHASE_INTRO); } void EnterCombat(Unit* /*who*/) override { Talk(SAY_AGGRO); - - instance->SetBossState(DATA_VOLKHAN, IN_PROGRESS); + events.SetPhase(PHASE_NORMAL); + events.ScheduleEvent(EVENT_PAUSE, 3.5 * IN_MILLISECONDS, 0, PHASE_NORMAL); + events.ScheduleEvent(EVENT_SHATTERING_STOMP, 0 * IN_MILLISECONDS, 0, PHASE_NORMAL); + events.ScheduleEvent(EVENT_SHATTER, 5 * IN_MILLISECONDS, 0, PHASE_NORMAL); + _EnterCombat(); } void AttackStart(Unit* who) override @@ -150,7 +147,7 @@ public: Talk(SAY_DEATH); DespawnGolem(); - instance->SetBossState(DATA_VOLKHAN, DONE); + _JustDied(); } void KilledUnit(Unit* who) override @@ -224,59 +221,61 @@ public: return 0; } - void UpdateAI(uint32 uiDiff) override + void UpdateAI(uint32 diff) override { - if (!UpdateVictim()) + // Return since we have no target and are in CombatPhase + if (events.IsInPhase(PHASE_NORMAL) && !UpdateVictim()) return; - if (m_bIsStriking) - { - if (m_uiPause_Timer <= uiDiff) - { - if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() != CHASE_MOTION_TYPE) - if (me->GetVictim()) - me->GetMotionMaster()->MoveChase(me->GetVictim()); - - m_bHasTemper = false; - m_bIsStriking = false; - m_uiPause_Timer = 3500; - } - else - m_uiPause_Timer -= uiDiff; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - } - // When to start shatter? After 60, 40 or 20% hp? - if (!m_bHasTemper && m_uiHealthAmountModifier >= 3) + while (uint32 eventId = events.ExecuteEvent()) { - if (m_uiShatteringStomp_Timer <= uiDiff) + switch (eventId) { - // Should he stomp even if he has no brittle golem to shatter? - Talk(SAY_STOMP); - - DoCast(me, SPELL_SHATTERING_STOMP); + case EVENT_PAUSE: + if (m_bIsStriking) + { + if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() != CHASE_MOTION_TYPE) + if (me->GetVictim()) + me->GetMotionMaster()->MoveChase(me->GetVictim()); - Talk(EMOTE_SHATTER); + m_bHasTemper = false; + m_bIsStriking = false; + events.ScheduleEvent(EVENT_PAUSE, 3.5 * IN_MILLISECONDS, 0, PHASE_NORMAL); + } + break; + case EVENT_SHATTERING_STOMP: + if (!m_bHasTemper && m_uiHealthAmountModifier >= 3) + { + // Should he stomp even if he has no brittle golem to shatter? + Talk(SAY_STOMP); - m_uiShatteringStomp_Timer = 30000; - m_bCanShatterGolem = true; - } - else - m_uiShatteringStomp_Timer -= uiDiff; - } + DoCast(me, SPELL_SHATTERING_STOMP); - // Shatter Golems 3 seconds after Shattering Stomp - if (m_bCanShatterGolem) - { - if (m_uiShatter_Timer <= uiDiff) - { - ShatterGolem(); - m_uiShatter_Timer = 3000; - m_bCanShatterGolem = false; + Talk(EMOTE_SHATTER); + events.ScheduleEvent(EVENT_SHATTERING_STOMP, 30 * IN_MILLISECONDS, 0, PHASE_NORMAL); + m_bCanShatterGolem = true; + } + break; + case EVENT_SHATTER: + if (m_bCanShatterGolem) + { + ShatterGolem(); + events.ScheduleEvent(EVENT_SHATTER, 3 * IN_MILLISECONDS, 0, PHASE_NORMAL); + m_bCanShatterGolem = false; + } + break; + case EVENT_FORGE_CAST: + DoCast(me, SPELL_FORGE_VISUAL); + events.ScheduleEvent(EVENT_FORGE_CAST, 15 * IN_MILLISECONDS, 0, PHASE_INTRO); + break; + default: + break; } - else - m_uiShatter_Timer -= uiDiff; } // Health check @@ -302,12 +301,10 @@ public: me->GetMotionMaster()->MoveTargetedHome(); m_uiSummonPhase = 2; // Set Next Phase break; - case 2: // 2 - Check if reached Anvil // This is handled in: void JustReachedHome() override break; - case 3: // 3 - Cast Temper on the Anvil if (Unit* target = GetClosestCreatureWithEntry(me, NPC_VOLKHAN_ANVIL, 1000.0f, true)) @@ -319,10 +316,9 @@ public: m_uiDelay_Timer = 1000; // Delay 2 seconds before next phase can begin m_uiSummonPhase = 4; // Set Next Phase break; - case 4: // 4 - Wait for delay to expire - if (m_uiDelay_Timer <= uiDiff) + if (m_uiDelay_Timer <= diff) { if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 0)) { @@ -333,9 +329,8 @@ public: m_uiSummonPhase = 5; } else - m_uiDelay_Timer -= uiDiff; + m_uiDelay_Timer -= diff; break; - case 5: // 5 - Spawn the Golems if (Creature* creatureTarget = GetClosestCreatureWithEntry(me, NPC_VOLKHAN_ANVIL, 1000.0f, true)) @@ -349,13 +344,30 @@ public: DoMeleeAttackIfReady(); } + + private: + GuidList m_lGolemGUIDList; + uint32 m_uiHealthAmountModifier; + uint8 GolemsShattered; + uint32 m_uiDelay_Timer; + uint32 m_uiSummonPhase; + + bool m_bHasTemper; + bool m_bIsStriking; + bool m_bCanShatterGolem; }; + CreatureAI* GetAI(Creature* creature) const override + { + return GetInstanceAI<boss_volkhanAI>(creature); + } + }; /*###### ## npc_molten_golem ######*/ + class npc_molten_golem : public CreatureScript { public: @@ -376,18 +388,12 @@ public: void Initialize() { m_bIsFrozen = false; - - m_uiBlast_Timer = 20000; - m_uiDeathDelay_Timer = 0; - m_uiImmolation_Timer = 5000; + events.ScheduleEvent(EVENT_BLAST, 20 * IN_MILLISECONDS); + events.ScheduleEvent(EVENT_IMMOLATION, 5 * IN_MILLISECONDS); } bool m_bIsFrozen; - uint32 m_uiBlast_Timer; - uint32 m_uiDeathDelay_Timer; - uint32 m_uiImmolation_Timer; - void Reset() override { Initialize(); @@ -433,30 +439,39 @@ public: me->DespawnOrUnsummon(); } - void UpdateAI(uint32 uiDiff) override + void UpdateAI(uint32 diff) override { // Return since we have no target or if we are frozen if (!UpdateVictim() || m_bIsFrozen) return; - if (m_uiBlast_Timer <= uiDiff) - { - DoCast(me, SPELL_BLAST_WAVE); - m_uiBlast_Timer = 20000; - } - else - m_uiBlast_Timer -= uiDiff; + events.Update(diff); + + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; - if (m_uiImmolation_Timer <= uiDiff) + while (uint32 eventId = events.ExecuteEvent()) { - DoCastVictim(SPELL_IMMOLATION_STRIKE); - m_uiImmolation_Timer = 5000; + switch (eventId) + { + case EVENT_BLAST: + DoCast(me, SPELL_BLAST_WAVE); + events.ScheduleEvent(EVENT_BLAST, 20 * IN_MILLISECONDS); + break; + case EVENT_IMMOLATION: + DoCastVictim(SPELL_IMMOLATION_STRIKE); + events.ScheduleEvent(EVENT_BLAST, 5 * IN_MILLISECONDS); + break; + default: + break; + } } - else - m_uiImmolation_Timer -= uiDiff; DoMeleeAttackIfReady(); } + + private: + EventMap events; }; }; diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp index d1df244b733..90fd936e853 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp @@ -26,9 +26,6 @@ enum Spells SPELL_SUMMON_VOID_SENTRY = 54369, SPELL_VOID_SHIFT = 54361, H_SPELL_VOID_SHIFT = 59743, - - SPELL_ZURAMAT_ADD_2 = 54342, - H_SPELL_ZURAMAT_ADD_2 = 59747 }; enum Creatures @@ -192,12 +189,6 @@ public: Talk(SAY_SLAY); } - void JustSummoned(Creature* summon) override - { - summon->AI()->AttackStart(me->GetVictim()); - summon->CastSpell((Unit*)NULL, SPELL_ZURAMAT_ADD_2); - summon->SetPhaseMask(17, true); - } }; }; diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 9a577516126..9b341180c99 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -29,7 +29,6 @@ npc_corastrasza npc_sinkhole_kill_credit npc_khunok_the_behemoth npc_nerubar_victim -npc_keristrasza npc_nesingwary_trapper npc_lurgglbr npc_nexus_drake_hatchling @@ -223,48 +222,6 @@ public: }; /*###### -## npc_keristrasza -######*/ - -enum Keristrasza -{ - SPELL_TELEPORT_TO_SARAGOSA = 46772 -}; - -#define GOSSIP_HELLO_KERI "I am prepared to face Saragosa!" - -class npc_keristrasza : public CreatureScript -{ -public: - npc_keristrasza() : CreatureScript("npc_keristrasza") { } - - bool OnGossipHello(Player* player, Creature* creature) override - { - if (creature->IsQuestGiver()) - player->PrepareQuestMenu(creature->GetGUID()); - - if (player->GetQuestStatus(11957) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_KERI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); - - return true; - } - - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override - { - player->PlayerTalkClass->ClearMenus(); - if (action == GOSSIP_ACTION_INFO_DEF + 1) - { - player->CLOSE_GOSSIP_MENU(); - player->CastSpell(player, SPELL_TELEPORT_TO_SARAGOSA, true); - } - - return true; - } -}; - -/*###### ## npc_corastrasza ######*/ @@ -2488,7 +2445,6 @@ void AddSC_borean_tundra() { new npc_sinkhole_kill_credit(); new npc_khunok_the_behemoth(); - new npc_keristrasza(); new npc_corastrasza(); new npc_iruk(); new npc_nerubar_victim(); diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index bfdea4a1435..bb1e88ce158 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -641,97 +641,6 @@ enum JokkumScriptcast EVENT_KROLMIR_9 = 24, }; -class npc_king_jokkum_vehicle : public CreatureScript -{ -public: - npc_king_jokkum_vehicle() : CreatureScript("npc_king_jokkum_vehicle") { } - - struct npc_king_jokkum_vehicleAI : public VehicleAI - { - npc_king_jokkum_vehicleAI(Creature* creature) : VehicleAI(creature) - { - pathEnd = false; - } - - void Reset() override - { - playerGUID.Clear(); - pathEnd = false; - } - - void OnCharmed(bool /*apply*/) override { } - - void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) override - { - if (apply) - { - playerGUID = who->GetGUID(); - Talk(SAY_HOLD_ON, who); - me->CastSpell(who, SPELL_JOKKUM_KILL_CREDIT, true); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC); - me->GetMotionMaster()->MovePath(PATH_JOKKUM, false); - } - } - - void MovementInform(uint32 type, uint32 id) override - { - if (type != WAYPOINT_MOTION_TYPE) - return; - - if (pathEnd) - { - if (id == 4) - { - - } - } - else - { - if (id == 19) - { - pathEnd = true; - me->SetFacingTo(0.418879f); - Talk(SAY_JOKKUM_1); - if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID)) - me->CastSpell(player, SPELL_PLAYER_CAST_VERANUS_SUMMON); - me->CastSpell(me, SPELL_EJECT_ALL_PASSENGERS); - - } - } - } - - void UpdateAI(uint32 diff) override - { - if (!pathEnd) - return; - - events.Update(diff); - - while (uint32 eventId = events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_KROLMIR_1: - Talk(SAY_JOKKUM_2); - events.ScheduleEvent(EVENT_KROLMIR_2, 4000); - break; - } - } - } - - private: - EventMap events; - ObjectGuid playerGUID; - bool pathEnd; - - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_king_jokkum_vehicleAI(creature); - } -}; - class spell_jokkum_scriptcast : public SpellScriptLoader { public: spell_jokkum_scriptcast() : SpellScriptLoader("spell_jokkum_scriptcast") { } @@ -855,7 +764,6 @@ void AddSC_storm_peaks() new npc_icefang(); new npc_hyldsmeet_protodrake(); new npc_brann_bronzebeard_keystone(); - new npc_king_jokkum_vehicle(); new spell_jokkum_scriptcast(); new spell_veranus_summon(); new spell_close_rift(); diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index f73930181f0..91c796a6e69 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -313,7 +313,7 @@ public: { player->KilledMonsterCredit(gymerDummy->GetEntry(), gymerDummy->GetGUID()); gymerDummy->CastSpell(gymerDummy, SPELL_GYMER_LOCK_EXPLOSION, true); - gymerDummy->DespawnOrUnsummon(); + gymerDummy->DespawnOrUnsummon(4 * IN_MILLISECONDS); } } return true; diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 728b164cc04..e4369f0348d 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -93,15 +93,12 @@ enum Factions FACTION_COMBAT = 1868 }; -enum SetData +enum Actions { - SETDATA_DATA = 1, - SETDATA_RESET = 1, - SETDATA_CHANNELER_DIED = 2, - SETDATA_START_SPAWNING = 3, - SETDATA_STOP_SPAWNING = 4, - SETDATA_DESPAWN_ALL_SPAWNS = 5, - SETDATA_START_ATTACK_AKAMA = 6 + ACTION_CHANNELER_DIED = 1, + ACTION_START_SPAWNING = 2, + ACTION_STOP_SPAWNING = 3, + ACTION_DESPAWN_ALL_SPAWNS = 4, }; enum Events @@ -158,12 +155,11 @@ class boss_shade_of_akama : public CreatureScript public: boss_shade_of_akama() : CreatureScript("boss_shade_of_akama") { } - struct boss_shade_of_akamaAI : public ScriptedAI + struct boss_shade_of_akamaAI : public BossAI { - boss_shade_of_akamaAI(Creature* creature) : ScriptedAI(creature) + boss_shade_of_akamaAI(Creature* creature) : BossAI(creature, DATA_SHADE_OF_AKAMA) { Initialize(); - instance = creature->GetInstanceScript(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); } @@ -177,6 +173,7 @@ public: void Reset() override { + _Reset(); if (!HasKilledAkamaAndReseting) { for (GuidList::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr) @@ -185,7 +182,7 @@ public: for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr) if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr)) - Spawner->AI()->SetData(SETDATA_DATA, SETDATA_DESPAWN_ALL_SPAWNS); + Spawner->AI()->DoAction(ACTION_DESPAWN_ALL_SPAWNS); events.ScheduleEvent(EVENT_FIND_CHANNELERS_SPAWNERS, 3000); events.ScheduleEvent(EVENT_RESET_ENCOUNTER, 5000); @@ -197,11 +194,6 @@ public: Initialize(); } - void JustDied(Unit* /*killer*/) override - { - instance->SetBossState(DATA_SHADE_OF_AKAMA, DONE); - } - void EnterCombat(Unit* /*who*/) override { } void AttackStart(Unit* who) override @@ -216,9 +208,9 @@ public: ScriptedAI::AttackStart(who); } - void SetData(uint32 data, uint32 value) override + void DoAction(int32 actionId) override { - if (data == SETDATA_DATA && value == SETDATA_CHANNELER_DIED) + if (actionId == ACTION_CHANNELER_DIED) me->RemoveAuraFromStack(SPELL_SHADE_SOUL_CHANNEL_2); UpdateSpeed(); @@ -314,7 +306,7 @@ public: for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr) if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr)) - Spawner->AI()->SetData(SETDATA_DATA, SETDATA_START_SPAWNING); + Spawner->AI()->DoAction(ACTION_START_SPAWNING); break; } case EVENT_START_ATTACK_AKAMA: @@ -353,7 +345,7 @@ public: for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr) if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr)) - Spawner->AI()->SetData(SETDATA_DATA, SETDATA_DESPAWN_ALL_SPAWNS); + Spawner->AI()->DoAction(ACTION_DESPAWN_ALL_SPAWNS); events.ScheduleEvent(EVENT_FIND_CHANNELERS_SPAWNERS, 10000); events.ScheduleEvent(EVENT_RESET_ENCOUNTER, 20000); @@ -378,7 +370,7 @@ public: for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr) if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr)) - Spawner->AI()->SetData(SETDATA_DATA, SETDATA_STOP_SPAWNING); + Spawner->AI()->DoAction(ACTION_STOP_SPAWNING); } } } @@ -390,8 +382,6 @@ public: public: bool HasKilledAkama; private: - InstanceScript* instance; - EventMap events; GuidList Channelers; GuidList Spawners; bool akamaReached; @@ -433,9 +423,11 @@ public: void Reset() override { me->setFaction(FACTION_FRIENDLY); - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); DoCast(me, SPELL_STEALTH); Initialize(); + + if (instance->GetBossState(DATA_SHADE_OF_AKAMA) != DONE) + me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); } void JustDied(Unit* /*killer*/) override @@ -581,7 +573,7 @@ public: void JustDied(Unit* /*killer*/) override { if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA))) - Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED); + Shade->AI()->DoAction(ACTION_CHANNELER_DIED); } void EnterCombat(Unit* /*who*/) override { } @@ -603,7 +595,7 @@ public: else { me->InterruptSpell(CURRENT_CHANNELED_SPELL); - Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED); + Shade->AI()->DoAction(ACTION_CHANNELER_DIED); } } events.ScheduleEvent(EVENT_CHANNEL, 2000); @@ -663,36 +655,33 @@ public: Summons.Summon(summon); } - void SetData(uint32 data, uint32 value) override + void DoAction(int32 actionId) override { - if (data == SETDATA_DATA) - { - doSpawning = true; + doSpawning = true; - switch (value) - { - case SETDATA_START_SPAWNING: - if (leftSide) - { - events.ScheduleEvent(EVENT_SPAWN_WAVE_B, 100); - events.ScheduleEvent(EVENT_SUMMON_ASHTONGUE_SORCERER, urand(2000, 5000)); - } - else - { - events.ScheduleEvent(EVENT_SPAWN_WAVE_B, 10000); - events.ScheduleEvent(EVENT_SUMMON_ASHTONGUE_DEFENDER, urand(2000, 5000)); - } - break; - case SETDATA_STOP_SPAWNING: - doSpawning = false; - break; - case SETDATA_DESPAWN_ALL_SPAWNS: - doSpawning = false; - Summons.DespawnAll(); - break; - default: - break; - } + switch (actionId) + { + case ACTION_START_SPAWNING: + if (leftSide) + { + events.ScheduleEvent(EVENT_SPAWN_WAVE_B, 100); + events.ScheduleEvent(EVENT_SUMMON_ASHTONGUE_SORCERER, urand(2000, 5000)); + } + else + { + events.ScheduleEvent(EVENT_SPAWN_WAVE_B, 10000); + events.ScheduleEvent(EVENT_SUMMON_ASHTONGUE_DEFENDER, urand(2000, 5000)); + } + break; + case ACTION_STOP_SPAWNING: + doSpawning = false; + break; + case ACTION_DESPAWN_ALL_SPAWNS: + doSpawning = false; + Summons.DespawnAll(); + break; + default: + break; } } @@ -778,23 +767,16 @@ public: } } - summonerGuid.Clear(); Initialize(); } void JustDied(Unit* /*killer*/) override { if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA))) - Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED); + Shade->AI()->DoAction(ACTION_CHANNELER_DIED); me->DespawnOrUnsummon(5000); } - void IsSummonedBy(Unit* /*summoner*/) override - { - if (Creature* summoner = (ObjectAccessor::GetCreature((*me), summonerGuid))) - ENSURE_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me); - } - void EnterCombat(Unit* /*who*/) override { } void AttackStart(Unit* who) override @@ -824,7 +806,7 @@ public: else { me->InterruptSpell(CURRENT_CHANNELED_SPELL); - Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED); + Shade->AI()->DoAction(ACTION_CHANNELER_DIED); switchToCombat = true; if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE))) AttackStart(target); @@ -855,7 +837,6 @@ public: private: InstanceScript* instance; EventMap events; - ObjectGuid summonerGuid; bool startedBanishing; bool switchToCombat; }; @@ -884,8 +865,6 @@ public: void Reset() override { - summonerGuid.Clear(); - if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE))) AttackStart(target); } @@ -895,12 +874,6 @@ public: me->DespawnOrUnsummon(5000); } - void IsSummonedBy(Unit* /*summoner*/) override - { - if (Creature* summoner = (ObjectAccessor::GetCreature((*me), summonerGuid))) - ENSURE_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me); - } - void EnterCombat(Unit* /*who*/) override { events.ScheduleEvent(EVENT_HEROIC_STRIKE, 5000); @@ -947,7 +920,6 @@ public: private: InstanceScript* instance; EventMap events; - ObjectGuid summonerGuid; }; CreatureAI* GetAI(Creature* creature) const override @@ -974,8 +946,6 @@ public: void Reset() override { - summonerGuid.Clear(); - if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE))) AttackStart(target); } @@ -985,12 +955,6 @@ public: me->DespawnOrUnsummon(5000); } - void IsSummonedBy(Unit* /*summoner*/) override - { - if (Creature* summoner = (ObjectAccessor::GetCreature((*me), summonerGuid))) - ENSURE_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me); - } - void EnterCombat(Unit* /*who*/) override { events.ScheduleEvent(EVENT_DEBILITATING_POISON, urand(500, 2000)); @@ -1027,7 +991,6 @@ public: private: InstanceScript* instance; EventMap events; - ObjectGuid summonerGuid; }; CreatureAI* GetAI(Creature* creature) const override @@ -1054,8 +1017,6 @@ public: void Reset() override { - summonerGuid.Clear(); - if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE))) AttackStart(target); } @@ -1065,12 +1026,6 @@ public: me->DespawnOrUnsummon(5000); } - void IsSummonedBy(Unit* /*summoner*/) override - { - if (Creature* summoner = (ObjectAccessor::GetCreature((*me), summonerGuid))) - ENSURE_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me); - } - void EnterCombat(Unit* /*who*/) override { events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 18000); @@ -1107,7 +1062,6 @@ public: private: InstanceScript* instance; EventMap events; - ObjectGuid summonerGuid; }; CreatureAI* GetAI(Creature* creature) const override @@ -1137,7 +1091,6 @@ public: { spiritMend = false; chainHeal = false; - summonerGuid.Clear(); } void Reset() override @@ -1153,12 +1106,6 @@ public: me->DespawnOrUnsummon(5000); } - void IsSummonedBy(Unit* /*summoner*/) override - { - if (Creature* summoner = (ObjectAccessor::GetCreature((*me), summonerGuid))) - ENSURE_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me); - } - void EnterCombat(Unit* /*who*/) override { events.ScheduleEvent(EVENT_SPIRIT_HEAL, urand (5000, 6000)); @@ -1208,7 +1155,6 @@ public: private: InstanceScript* instance; EventMap events; - ObjectGuid summonerGuid; bool spiritMend; bool chainHeal; }; diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp index 2407f3980de..9ffc151b3b9 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp @@ -338,6 +338,13 @@ class npc_warden_mellichar : public CreatureScript IsRunning = true; } + void JustSummoned(Creature* summon) override + { + DoZoneInCombat(summon); + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true)) + summon->AI()->AttackStart(target); + } + bool CanProgress() { if (Phase == 7 && instance->GetData(DATA_WARDEN_4) == DONE) diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp index 50b77aac410..213f31b280f 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -283,7 +283,10 @@ class boss_harbinger_skyriss_illusion : public CreatureScript { boss_harbinger_skyriss_illusionAI(Creature* creature) : ScriptedAI(creature) { } - void Reset() override { } + void Reset() override + { + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + } void EnterCombat(Unit* /*who*/) override { } }; diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index fb86ac7db18..c18a4de7c91 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -59,7 +59,6 @@ include_directories( ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour ${CMAKE_SOURCE_DIR}/dep/SFMT - ${CMAKE_SOURCE_DIR}/dep/sockets/include ${CMAKE_SOURCE_DIR}/dep/utf8cpp ${CMAKE_SOURCE_DIR}/src/server ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/src/server/shared/Cryptography/BigNumber.cpp b/src/server/shared/Cryptography/BigNumber.cpp index 434268097fe..7b353eb5616 100644 --- a/src/server/shared/Cryptography/BigNumber.cpp +++ b/src/server/shared/Cryptography/BigNumber.cpp @@ -171,19 +171,20 @@ bool BigNumber::isZero() const std::unique_ptr<uint8[]> BigNumber::AsByteArray(int32 minSize, bool littleEndian) { - int length = (minSize >= GetNumBytes()) ? minSize : GetNumBytes(); + int numBytes = GetNumBytes(); + int length = (minSize >= numBytes) ? minSize : numBytes; uint8* array = new uint8[length]; // If we need more bytes than length of BigNumber set the rest to 0 - if (length > GetNumBytes()) + if (length > numBytes) memset((void*)array, 0, length); BN_bn2bin(_bn, (unsigned char *)array); // openssl's BN stores data internally in big endian format, reverse if little endian desired if (littleEndian) - std::reverse(array, array + length); + std::reverse(array, array + numBytes); std::unique_ptr<uint8[]> ret(array); return ret; diff --git a/src/server/shared/DataStores/DBCStore.h b/src/server/shared/DataStores/DBCStore.h index 10d4ff1bec9..1cb67a4235e 100644 --- a/src/server/shared/DataStores/DBCStore.h +++ b/src/server/shared/DataStores/DBCStore.h @@ -87,6 +87,13 @@ class DBCStorage return (id >= nCount) ? NULL : indexTable.asT[id]; } + T const* AssertEntry(uint32 id) const + { + T const* entry = LookupEntry(id); + ASSERT(entry); + return entry; + } + uint32 GetNumRows() const { return nCount; } char const* GetFormat() const { return fmt; } uint32 GetFieldCount() const { return fieldCount; } diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h index 5a06ad69a1d..f0ddbe91ad8 100644 --- a/src/server/shared/Database/DatabaseWorkerPool.h +++ b/src/server/shared/Database/DatabaseWorkerPool.h @@ -29,6 +29,8 @@ #include "QueryHolder.h" #include "AdhocStatement.h" +#include <mysqld_error.h> + #define MIN_MYSQL_SERVER_VERSION 50100u #define MIN_MYSQL_CLIENT_VERSION 50100u @@ -368,7 +370,8 @@ class DatabaseWorkerPool void DirectCommitTransaction(SQLTransaction& transaction) { T* con = GetFreeConnection(); - if (con->ExecuteTransaction(transaction)) + int errorCode = con->ExecuteTransaction(transaction); + if (!errorCode) { con->Unlock(); // OK, operation succesful return; @@ -376,12 +379,12 @@ class DatabaseWorkerPool //! Handle MySQL Errno 1213 without extending deadlock to the core itself /// @todo More elegant way - if (con->GetLastError() == 1213) + if (errorCode == ER_LOCK_DEADLOCK) { uint8 loopBreaker = 5; for (uint8 i = 0; i < loopBreaker; ++i) { - if (con->ExecuteTransaction(transaction)) + if (!con->ExecuteTransaction(transaction)) break; } } diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index 265b0578841..3a539cb6b31 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -60,7 +60,8 @@ void CharacterDatabaseConnection::DoPrepareStatements() PrepareStatement(CHAR_SEL_CHAR_POSITION_XYZ, "SELECT map, position_x, position_y, position_z FROM characters WHERE guid = ?", CONNECTION_SYNCH); PrepareStatement(CHAR_SEL_CHAR_POSITION, "SELECT position_x, position_y, position_z, orientation, map, taxi_path FROM characters WHERE guid = ?", CONNECTION_SYNCH); - PrepareStatement(CHAR_DEL_BATTLEGROUND_RANDOM, "DELETE FROM character_battleground_random", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_BATTLEGROUND_RANDOM_ALL, "DELETE FROM character_battleground_random", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_BATTLEGROUND_RANDOM, "DELETE FROM character_battleground_random WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_INS_BATTLEGROUND_RANDOM, "INSERT INTO character_battleground_random (guid) VALUES (?)", CONNECTION_ASYNC); PrepareStatement(CHAR_SEL_CHARACTER, "SELECT guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, " @@ -248,6 +249,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() // Auras PrepareStatement(CHAR_INS_AURA, "INSERT INTO character_aura (guid, caster_guid, item_guid, spell, effect_mask, recalculate_mask, stackcount, amount0, amount1, amount2, base_amount0, base_amount1, base_amount2, maxduration, remaintime, remaincharges) " "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_PLAYER_CURRENCY, "DELETE FROM character_currency WHERE CharacterGuid = ?", CONNECTION_ASYNC); // Account data PrepareStatement(CHAR_SEL_ACCOUNT_DATA, "SELECT type, time, data FROM account_data WHERE accountId = ?", CONNECTION_SYNCH); @@ -300,6 +302,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() PrepareStatement(CHAR_DEL_ARENA_TEAM_MEMBER, "DELETE FROM arena_team_member WHERE arenaTeamId = ? AND guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_UPD_ARENA_TEAM_STATS, "UPDATE arena_team SET rating = ?, weekGames = ?, weekWins = ?, seasonGames = ?, seasonWins = ?, rank = ? WHERE arenaTeamId = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_UPD_ARENA_TEAM_MEMBER, "UPDATE arena_team_member SET personalRating = ?, weekGames = ?, weekWins = ?, seasonGames = ?, seasonWins = ? WHERE arenaTeamId = ? AND guid = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_DEL_CHARACTER_ARENA_STATS, "DELETE FROM character_arena_stats WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_REP_CHARACTER_ARENA_STATS, "REPLACE INTO character_arena_stats (guid, slot, matchMakerRating) VALUES (?, ?, ?)", CONNECTION_ASYNC); PrepareStatement(CHAR_SEL_PLAYER_ARENA_TEAMS, "SELECT arena_team_member.arenaTeamId FROM arena_team_member JOIN arena_team ON arena_team_member.arenaTeamId = arena_team.arenaTeamId WHERE guid = ?", CONNECTION_SYNCH); PrepareStatement(CHAR_UPD_ARENA_TEAM_NAME, "UPDATE arena_team SET name = ? WHERE arenaTeamId = ?", CONNECTION_ASYNC); diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index f7ff5b9186e..d2e35f92f32 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -72,6 +72,7 @@ enum CharacterDatabaseStatements CHAR_SEL_CHAR_POSITION_XYZ, CHAR_SEL_CHAR_POSITION, + CHAR_DEL_BATTLEGROUND_RANDOM_ALL, CHAR_DEL_BATTLEGROUND_RANDOM, CHAR_INS_BATTLEGROUND_RANDOM, @@ -221,6 +222,7 @@ enum CharacterDatabaseStatements CHAR_DEL_EQUIP_SET, CHAR_INS_AURA, + CHAR_DEL_PLAYER_CURRENCY, CHAR_SEL_ACCOUNT_DATA, CHAR_REP_ACCOUNT_DATA, @@ -253,6 +255,7 @@ enum CharacterDatabaseStatements CHAR_DEL_ARENA_TEAM_MEMBER, CHAR_UPD_ARENA_TEAM_STATS, CHAR_UPD_ARENA_TEAM_MEMBER, + CHAR_DEL_CHARACTER_ARENA_STATS, CHAR_REP_CHARACTER_ARENA_STATS, CHAR_SEL_PLAYER_ARENA_TEAMS, CHAR_UPD_ARENA_TEAM_NAME, diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp index bea229df184..1a9f973d47b 100644 --- a/src/server/shared/Database/MySQLConnection.cpp +++ b/src/server/shared/Database/MySQLConnection.cpp @@ -359,11 +359,11 @@ void MySQLConnection::CommitTransaction() Execute("COMMIT"); } -bool MySQLConnection::ExecuteTransaction(SQLTransaction& transaction) +int MySQLConnection::ExecuteTransaction(SQLTransaction& transaction) { std::list<SQLElementData> const& queries = transaction->m_queries; if (queries.empty()) - return false; + return -1; BeginTransaction(); @@ -380,8 +380,9 @@ bool MySQLConnection::ExecuteTransaction(SQLTransaction& transaction) if (!Execute(stmt)) { TC_LOG_WARN("sql.sql", "Transaction aborted. %u queries not executed.", (uint32)queries.size()); + int errorCode = GetLastError(); RollbackTransaction(); - return false; + return errorCode; } } break; @@ -392,8 +393,9 @@ bool MySQLConnection::ExecuteTransaction(SQLTransaction& transaction) if (!Execute(sql)) { TC_LOG_WARN("sql.sql", "Transaction aborted. %u queries not executed.", (uint32)queries.size()); + int errorCode = GetLastError(); RollbackTransaction(); - return false; + return errorCode; } } break; @@ -406,7 +408,7 @@ bool MySQLConnection::ExecuteTransaction(SQLTransaction& transaction) // and not while iterating over every element. CommitTransaction(); - return true; + return 0; } MySQLPreparedStatement* MySQLConnection::GetPreparedStatement(uint32 index) diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h index 33f17d02228..d486f5b4679 100644 --- a/src/server/shared/Database/MySQLConnection.h +++ b/src/server/shared/Database/MySQLConnection.h @@ -86,7 +86,7 @@ class MySQLConnection void BeginTransaction(); void RollbackTransaction(); void CommitTransaction(); - bool ExecuteTransaction(SQLTransaction& transaction); + int ExecuteTransaction(SQLTransaction& transaction); operator bool () const { return m_Mysql != NULL; } void Ping() { mysql_ping(m_Mysql); } diff --git a/src/server/shared/Database/Transaction.cpp b/src/server/shared/Database/Transaction.cpp index 3dee865267b..9f36d198bde 100644 --- a/src/server/shared/Database/Transaction.cpp +++ b/src/server/shared/Database/Transaction.cpp @@ -17,6 +17,9 @@ #include "DatabaseEnv.h" #include "Transaction.h" +#include <mysqld_error.h> + +std::mutex TransactionTask::_deadlockLock; //- Append a raw ad-hoc query to the transaction void Transaction::Append(const char* sql) @@ -74,14 +77,17 @@ void Transaction::Cleanup() bool TransactionTask::Execute() { - if (m_conn->ExecuteTransaction(m_trans)) + int errorCode = m_conn->ExecuteTransaction(m_trans); + if (!errorCode) return true; - if (m_conn->GetLastError() == 1213) + if (errorCode == ER_LOCK_DEADLOCK) { + // Make sure only 1 async thread retries a transaction so they don't keep dead-locking each other + std::lock_guard<std::mutex> lock(_deadlockLock); uint8 loopBreaker = 5; // Handle MySQL Errno 1213 without extending deadlock to the core itself for (uint8 i = 0; i < loopBreaker; ++i) - if (m_conn->ExecuteTransaction(m_trans)) + if (!m_conn->ExecuteTransaction(m_trans)) return true; } diff --git a/src/server/shared/Database/Transaction.h b/src/server/shared/Database/Transaction.h index cf6aa98b386..83d59006ddc 100644 --- a/src/server/shared/Database/Transaction.h +++ b/src/server/shared/Database/Transaction.h @@ -66,6 +66,7 @@ class TransactionTask : public SQLOperation bool Execute() override; SQLTransaction m_trans; + static std::mutex _deadlockLock; }; #endif diff --git a/src/server/shared/Debugging/Errors.h b/src/server/shared/Debugging/Errors.h index df770c2aa47..4d4624b63dd 100644 --- a/src/server/shared/Debugging/Errors.h +++ b/src/server/shared/Debugging/Errors.h @@ -49,4 +49,10 @@ namespace Trinity #define ASSERT WPAssert +template <typename T> inline T* ASSERT_NOTNULL(T* pointer) +{ + ASSERT(pointer); + return pointer; +} + #endif diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/server/shared/Debugging/WheatyExceptionReport.cpp index e9f4f9ca9ac..f8f641a9ea7 100644 --- a/src/server/shared/Debugging/WheatyExceptionReport.cpp +++ b/src/server/shared/Debugging/WheatyExceptionReport.cpp @@ -1068,7 +1068,7 @@ bool logChildren) { case btChar: case btStdString: - FormatOutputValue(buffer, basicType, length, (PVOID)offset, sizeof(buffer)); + FormatOutputValue(buffer, basicType, length, (PVOID)offset, sizeof(buffer), elementsCount); symbolDetails.top().Value = buffer; break; default: @@ -1196,7 +1196,8 @@ void WheatyExceptionReport::FormatOutputValue(char * pszCurrBuffer, BasicType basicType, DWORD64 length, PVOID pAddress, -size_t bufferSize) +size_t bufferSize, +size_t countOverride) { __try { @@ -1204,10 +1205,15 @@ size_t bufferSize) { case btChar: { - if (strlen((char*)pAddress) > bufferSize - 6) + // Special case handling for char[] type + if (countOverride != 0) + length = countOverride; + else + length = strlen((char*)pAddress); + if (length > bufferSize - 6) pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s...\"", bufferSize - 6, (char*)pAddress); else - pszCurrBuffer += sprintf(pszCurrBuffer, "\"%s\"", (char*)pAddress); + pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s\"", length, (char*)pAddress); break; } case btStdString: diff --git a/src/server/shared/Debugging/WheatyExceptionReport.h b/src/server/shared/Debugging/WheatyExceptionReport.h index 9137b91aac9..b7731daaa2b 100644 --- a/src/server/shared/Debugging/WheatyExceptionReport.h +++ b/src/server/shared/Debugging/WheatyExceptionReport.h @@ -172,7 +172,7 @@ class WheatyExceptionReport static char * DumpTypeIndex(char *, DWORD64, DWORD, unsigned, DWORD_PTR, bool &, const char*, char*, bool, bool); - static void FormatOutputValue(char * pszCurrBuffer, BasicType basicType, DWORD64 length, PVOID pAddress, size_t bufferSize); + static void FormatOutputValue(char * pszCurrBuffer, BasicType basicType, DWORD64 length, PVOID pAddress, size_t bufferSize, size_t countOverride = 0); static BasicType GetBasicType(DWORD typeIndex, DWORD64 modBase); static DWORD_PTR DereferenceUnsafePointer(DWORD_PTR address); diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 4bf4dacb302..2f4d221645c 100644 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -199,6 +199,9 @@ void Log::CreateLoggerFromConfig(std::string const& appenderName) return; } + if (level < lowestLogLevel) + lowestLogLevel = level; + logger.Create(name, level); //fprintf(stdout, "Log::CreateLoggerFromConfig: Created Logger %s, Level %u\n", name.c_str(), level); @@ -321,6 +324,9 @@ bool Log::SetLogLevel(std::string const& name, const char* newLevelc, bool isLog return false; it->second.setLogLevel(newLevel); + + if (newLevel != LOG_LEVEL_DISABLED && newLevel < lowestLogLevel) + lowestLogLevel = newLevel; } else { @@ -394,6 +400,7 @@ void Log::LoadFromConfig() { Close(); + lowestLogLevel = LOG_LEVEL_FATAL; AppenderId = 0; m_logsDir = sConfigMgr->GetStringDefault("LogsDir", ""); if (!m_logsDir.empty()) diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h index 1d67ff87f76..408381620f7 100644 --- a/src/server/shared/Logging/Log.h +++ b/src/server/shared/Logging/Log.h @@ -82,6 +82,7 @@ class Log AppenderMap appenders; LoggerMap loggers; uint8 AppenderId; + LogLevel lowestLogLevel; std::string m_logsDir; std::string m_logsTimestamp; @@ -113,6 +114,10 @@ inline bool Log::ShouldLog(std::string const& type, LogLevel level) const // Speed up in cases where requesting "Type.sub1.sub2" but only configured // Logger "Type" + // Don't even look for a logger if the LogLevel is lower than lowest log levels across all loggers + if (level < lowestLogLevel) + return false; + Logger const* logger = GetLoggerByType(type); if (!logger) return false; diff --git a/src/server/shared/Networking/Socket.h b/src/server/shared/Networking/Socket.h index f6bf3976b85..f7a1b954cb0 100644 --- a/src/server/shared/Networking/Socket.h +++ b/src/server/shared/Networking/Socket.h @@ -34,7 +34,9 @@ using boost::asio::ip::tcp; #define READ_BLOCK_SIZE 4096 -#define TC_SOCKET_USE_IOCP BOOST_ASIO_HAS_IOCP +#ifdef BOOST_ASIO_HAS_IOCP +#define TC_SOCKET_USE_IOCP +#endif template<class T> class Socket : public std::enable_shared_from_this<T> diff --git a/src/server/shared/Networking/SocketMgr.h b/src/server/shared/Networking/SocketMgr.h index df57baf257e..2078ae90c62 100644 --- a/src/server/shared/Networking/SocketMgr.h +++ b/src/server/shared/Networking/SocketMgr.h @@ -99,7 +99,7 @@ public: } catch (boost::system::system_error const& err) { - TC_LOG_INFO("network", "Failed to retrieve client's remote address %s", err.what()); + TC_LOG_WARN("network", "Failed to retrieve client's remote address %s", err.what()); } } diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index eaef902addc..ecb5824b1c5 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -3029,33 +3029,54 @@ AuctionHouseBot.Buyer.Horde.Enabled = 0 AuctionHouseBot.Buyer.Neutral.Enabled = 0 # -# AuctionHouseBot.BuyPrice.Buyer -# Description: Should the Buyer use BuyPrice or SellPrice to determine Bid Prices -# Default: 1 - (use BuyPrice) -# 0 - (use SellPrice) - -AuctionHouseBot.Buyer.Buyprice = 1 +# AuctionHouseBot.Buyer.Baseprice.QUALITY +# Description: Base sellprices in copper for non priced items for each quality. +# The default values are based on average item prices of each quality. +# Defaults: Gray 3504 +# White 5429 +# Green 21752 +# Blue 36463 +# Purple 87124 +# Orange 214347 +# Yellow 407406 + +AuctionHouseBot.Buyer.Baseprice.Gray = 3504 +AuctionHouseBot.Buyer.Baseprice.White = 5429 +AuctionHouseBot.Buyer.Baseprice.Green = 21752 +AuctionHouseBot.Buyer.Baseprice.Blue = 36463 +AuctionHouseBot.Buyer.Baseprice.Purple = 87124 +AuctionHouseBot.Buyer.Baseprice.Orange = 214347 +AuctionHouseBot.Buyer.Baseprice.Yellow = 407406 + +# +# AuctionHouseBot.Buyer.ChanceMultiplier.QUALITY +# Description: Multipliers for the buy/bid chances for each quality. 100 means the chance is 100% of the original, +# 1 would mean 1 % of the original and 200 would mean 200% of the original chance. +# Defaults: Gray 100 +# White 100 +# Green 100 +# Blue 100 +# Purple 100 +# Orange 100 +# Yellow 100 + +AuctionHouseBot.Buyer.ChanceMultiplier.Gray = 100 +AuctionHouseBot.Buyer.ChanceMultiplier.White = 100 +AuctionHouseBot.Buyer.ChanceMultiplier.Green = 100 +AuctionHouseBot.Buyer.ChanceMultiplier.Blue = 100 +AuctionHouseBot.Buyer.ChanceMultiplier.Purple = 100 +AuctionHouseBot.Buyer.ChanceMultiplier.Orange = 100 +AuctionHouseBot.Buyer.ChanceMultiplier.Yellow = 100 # # AuctionHouseBot.Buyer.Recheck.Interval -# Description: This specifies the time interval (in minutes) between two evaluations of the same selled item. -# The lesser this value is, the more chances you give for item to be bought by ahbot. +# Description: This specifies the time interval (in minutes) between two evaluations of the same sold item. +# The smaller this value is, the more chances you give for an item to be bought by ahbot. # Default: 20 (20min.) AuctionHouseBot.Buyer.Recheck.Interval = 20 # -# AuctionHouseBot.Buyer.Alliance.Chance.Ratio -# Description: Chance ratio for the buyer to buy an item. Higher the value, lesser the probability -# Example: 3 (1 out of 3 change, that is, 33%). -# Default: 3 -# - -AuctionHouseBot.Buyer.Alliance.Chance.Ratio = 3 -AuctionHouseBot.Buyer.Horde.Chance.Ratio = 3 -AuctionHouseBot.Buyer.Neutral.Chance.Ratio = 3 - -# ################################################################################################### ################################################################################################### @@ -3192,6 +3213,7 @@ Logger.sql.sql=5,Console DBErrors #Logger.scripts.ai=3,Console Server #Logger.server.authserver=3,Console Server #Logger.spells=3,Console Server +#Logger.spells.periodic=3,Console Server #Logger.sql.dev=3,Console Server #Logger.sql.driver=3,Console Server #Logger.warden=3,Console Server |
