diff --git a/README.md b/README.md index 9280ce624a..e5e277a971 100644 --- a/README.md +++ b/README.md @@ -31,12 +31,13 @@ website at [TrinityCore.org](https://www.trinitycore.org). + Platform: Linux, Windows or Mac + Processor with SSE2 support -+ Boost ≥ 1.54 -+ MySQL ≥ 5.1.0 -+ CMake ≥ 2.8.11.2 / 2.8.9 (Windows / Linux) -+ OpenSSL ≥ 1.0.0 -+ GCC ≥ 4.9.2 (Linux only) ++ Boost ≥ 1.59 (1.63 recommended on windows) ++ MySQL ≥ 5.3.0 ++ CMake ≥ 3.3.2 / 3.0.2 (Windows / Linux) ++ OpenSSL = 1.0.x ++ GCC ≥ 4.9.2 (Linux only) (clang 3.5 heavy recommended) + MS Visual Studio ≥ 14 (2015) (Windows only) ++ zlib ≥ 1.2.7 + ZeroMQ: + apt-get install libzmq-dev (Linux only) + x64 - https://miru.hk/archive/ZeroMQ-4.0.4~miru1.0-x64.exe (Windows only) diff --git a/cmake/macros/FindBoost.cmake b/cmake/macros/FindBoost.cmake index 78a604bb9b..72f2334a8b 100644 --- a/cmake/macros/FindBoost.cmake +++ b/cmake/macros/FindBoost.cmake @@ -385,11 +385,7 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret) endif() elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC") if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10) - if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.64) - set(_boost_COMPILER "-vc140") - else() - set(_boost_COMPILER "-vc141") - endif() + set(_boost_COMPILER "-vc141;-vc140") elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) set(_boost_COMPILER "-vc140") elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18) @@ -991,19 +987,26 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) # # Find RELEASE libraries # - set(_boost_RELEASE_NAMES - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) + unset(_boost_RELEASE_NAMES) + foreach(compiler IN LISTS _boost_COMPILER) + list(APPEND _boost_RELEASE_NAMES + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} ) + endforeach() + list(APPEND _boost_RELEASE_NAMES + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) if(_boost_STATIC_RUNTIME_WORKAROUND) set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}") - list(APPEND _boost_RELEASE_NAMES - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) + foreach(compiler IN LISTS _boost_COMPILER) + list(APPEND _boost_RELEASE_NAMES + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) + endforeach() + list( APPEND _boost_RELEASE_NAMES + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} ) endif() if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread") _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES}) @@ -1026,18 +1029,25 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS}) # # Find DEBUG libraries # - set(_boost_DEBUG_NAMES - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) + unset(_boost_DEBUG_NAMES) + foreach(compiler IN LISTS _boost_COMPILER) + list(APPEND _boost_DEBUG_NAMES + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ) + endforeach() + list(APPEND + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} ) if(_boost_STATIC_RUNTIME_WORKAROUND) set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}") + foreach(compiler IN LISTS _boost_COMPILER) + list(APPEND _boost_DEBUG_NAMES + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) + endforeach() list(APPEND _boost_DEBUG_NAMES - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION} ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} ) endif() diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake index a745aa9008..9a7bb2976c 100644 --- a/cmake/showoptions.cmake +++ b/cmake/showoptions.cmake @@ -30,10 +30,10 @@ else() endif() if( TOOLS ) - message("* Build map/vmap tools : Yes") + message("* Build map/vmap tools : Yes (default)") add_definitions(-DNO_CORE_FUNCS) else() - message("* Build map/vmap tools : No (default)") + message("* Build map/vmap tools : No") endif() if( USE_COREPCH ) diff --git a/dep/boost/CMakeLists.txt b/dep/boost/CMakeLists.txt index 2e8e776def..8d1d352204 100644 --- a/dep/boost/CMakeLists.txt +++ b/dep/boost/CMakeLists.txt @@ -15,7 +15,13 @@ if(WIN32) if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0) set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib${PLATFORM}-msvc-12.0) else() - set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib${PLATFORM}-msvc-14.0) + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10) + set(BOOST_LIBRARYDIR ${BOOST_ROOT}/lib${PLATFORM}-msvc-14.0) + else() + list(APPEND BOOST_LIBRARYDIR + ${BOOST_ROOT}/lib${PLATFORM}-msvc-14.1 + ${BOOST_ROOT}/lib${PLATFORM}-msvc-14.0 ) + endif() endif() else() message(FATAL_ERROR "No BOOST_ROOT environment variable could be found! Please make sure it is set and the points to your Boost installation.") diff --git a/revision_data.h.in.cmake b/revision_data.h.in.cmake index f619fbf8e2..39e9c15a27 100644 --- a/revision_data.h.in.cmake +++ b/revision_data.h.in.cmake @@ -7,7 +7,7 @@ #define _SOURCE_DIRECTORY R"(@CMAKE_SOURCE_DIR@)" #define _BUILD_DIRECTORY R"(@BUILDDIR@)" #define _MYSQL_EXECUTABLE R"(@MYSQL_EXECUTABLE@)" - #define _FULL_DATABASE "TDB_full_world_434.18_2017_04_16.sql" + #define _FULL_DATABASE "TDB_full_world_434.19_2017_05_16.sql" #define VER_COMPANYNAME_STR "TrinityCore Developers" #define VER_LEGALCOPYRIGHT_STR "(c)2008-2017 TrinityCore" #define VER_FILEVERSION 0,0,0 diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index 4c9dd90027..36d202e364 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -650,7 +650,7 @@ CREATE TABLE `updates` ( LOCK TABLES `updates` WRITE; /*!40000 ALTER TABLE `updates` DISABLE KEYS */; -INSERT INTO `updates` VALUES ('2014_11_10_00_auth.sql','0E3CB119442D09DD88E967015319BBC8DAFBBFE0','ARCHIVED','2015-03-21 21:44:12',0),('2014_11_10_01_auth.sql','327E77A1DA3546D5275AB249915DD57EDD6FDD3D','ARCHIVED','2015-03-21 21:44:12',0),('2014_12_10_00_auth.sql','821703A96D80F9080074852B5A46E2909C9562EA','ARCHIVED','2015-03-21 21:44:12',0),('2014_12_21_00_auth.sql','CE2E5D2CD82E79C25294539ADED27A1429105B43','ARCHIVED','2015-03-21 21:44:12',0),('2015_03_20_00_auth.sql','E8C5B74BB45F0F35DEC182C72BACF435C7066FB0','ARCHIVED','2015-03-21 21:44:12',0),('2015_03_20_01_auth.sql','862961815354DA2746F5F71FBC8155F57CBE75AB','ARCHIVED','2015-03-21 21:44:12',0),('2015_03_20_02_auth.sql','33E4F94086590768EF5D4855DD43D7DE7C06ADA4','ARCHIVED','2015-03-21 21:44:51',0),('2016_01_13_00_auth.sql','24615CC69B3CD7BB4699874647C35BA86E8A93FD','ARCHIVED','2016-01-14 23:27:07',0),('2016_01_13_00_auth_434.sql','3E88183E1A85D11BFD74CF9A32A725C44AE02EEC','ARCHIVED','2016-01-13 01:19:16',0),('2016_03_12_00_auth.sql','0ACDD35EC9745231BCFA701B78056DEF94D0CC53','ARCHIVED','2016-03-12 01:19:16',0),('2016_05_15_00_auth_from_335_was_2016_05_11_00_auth.sql','C593DA4423F344FB10AAA86C20D1E87B','ARCHIVED','',0),('2016_08_28_00_auth.sql','30A76055F50A79629DB82B7BF17CE9B7','ARCHIVED','',0),('2016_09_03_02_auth_from_335_was_2016_06_06_00_auth.sql','8E1989D33A2A6CCC60B3AFAEFCBFD735','ARCHIVED','',0),('2016_09_28_00_auth.sql','1719674D3EE9E8B965BAC4042140D6BD','ARCHIVED','',0),('2016_11_06_00_auth.sql','C3B848943465F7D360EF3E01F46219E6','ARCHIVED','2016-11-06 17:11:18',0),('2017_01_07_00_auth_from_335_was_2017_01_06_00_auth.sql','D471D225E30B746E4A1736D173E83A84','ARCHIVED','2017-01-07 00:00:00',0),('2017_01_12_00_auth.sql','7EB5AAEC12EDD728EB66C89FF5E4C466','ARCHIVED','2017-01-12 00:00:00',0),('2017_02_11_00_auth.sql','16147413149F2EA1AD413FEA9C503093','ARCHIVED','2017-02-11 00:00:00',0),('2017_03_16_00_auth.sql','C1BC73E532180AE4CE5D28AF6A0730DC','RELEASED','2017-02-16 00:00:00',0),('2017_03_20_00_auth_from_335_was_2017_03_17_00_auth.sql','22FBDB54B8BC809C95E4D2AFAF1B249C','ARCHIVED','2017-03-20 16:48:01',0),('2017_04_02_00_auth.sql','2420814101287A57800A877BE699AE5F','ARCHIVED','2017-04-02 07:48:01',0),('2017_04_16_00_auth.sql','0E7939DE2187B93E351DE6174D467F0C','ARCHIVED','2017-04-16 07:48:01',0); +INSERT INTO `updates` VALUES ('2014_11_10_00_auth.sql','0E3CB119442D09DD88E967015319BBC8DAFBBFE0','ARCHIVED','2015-03-21 21:44:12',0),('2014_11_10_01_auth.sql','327E77A1DA3546D5275AB249915DD57EDD6FDD3D','ARCHIVED','2015-03-21 21:44:12',0),('2014_12_10_00_auth.sql','821703A96D80F9080074852B5A46E2909C9562EA','ARCHIVED','2015-03-21 21:44:12',0),('2014_12_21_00_auth.sql','CE2E5D2CD82E79C25294539ADED27A1429105B43','ARCHIVED','2015-03-21 21:44:12',0),('2015_03_20_00_auth.sql','E8C5B74BB45F0F35DEC182C72BACF435C7066FB0','ARCHIVED','2015-03-21 21:44:12',0),('2015_03_20_01_auth.sql','862961815354DA2746F5F71FBC8155F57CBE75AB','ARCHIVED','2015-03-21 21:44:12',0),('2015_03_20_02_auth.sql','33E4F94086590768EF5D4855DD43D7DE7C06ADA4','ARCHIVED','2015-03-21 21:44:51',0),('2016_01_13_00_auth.sql','24615CC69B3CD7BB4699874647C35BA86E8A93FD','ARCHIVED','2016-01-14 23:27:07',0),('2016_01_13_00_auth_434.sql','3E88183E1A85D11BFD74CF9A32A725C44AE02EEC','ARCHIVED','2016-01-13 01:19:16',0),('2016_03_12_00_auth.sql','0ACDD35EC9745231BCFA701B78056DEF94D0CC53','ARCHIVED','2016-03-12 01:19:16',0),('2016_05_15_00_auth_from_335_was_2016_05_11_00_auth.sql','C593DA4423F344FB10AAA86C20D1E87B','ARCHIVED','',0),('2016_08_28_00_auth.sql','30A76055F50A79629DB82B7BF17CE9B7','ARCHIVED','',0),('2016_09_03_02_auth_from_335_was_2016_06_06_00_auth.sql','8E1989D33A2A6CCC60B3AFAEFCBFD735','ARCHIVED','',0),('2016_09_28_00_auth.sql','1719674D3EE9E8B965BAC4042140D6BD','ARCHIVED','',0),('2016_11_06_00_auth.sql','C3B848943465F7D360EF3E01F46219E6','ARCHIVED','2016-11-06 17:11:18',0),('2017_01_07_00_auth_from_335_was_2017_01_06_00_auth.sql','D471D225E30B746E4A1736D173E83A84','ARCHIVED','2017-01-07 00:00:00',0),('2017_01_12_00_auth.sql','7EB5AAEC12EDD728EB66C89FF5E4C466','ARCHIVED','2017-01-12 00:00:00',0),('2017_02_11_00_auth.sql','16147413149F2EA1AD413FEA9C503093','ARCHIVED','2017-02-11 00:00:00',0),('2017_03_16_00_auth.sql','C1BC73E532180AE4CE5D28AF6A0730DC','RELEASED','2017-02-16 00:00:00',0),('2017_03_20_00_auth_from_335_was_2017_03_17_00_auth.sql','22FBDB54B8BC809C95E4D2AFAF1B249C','ARCHIVED','2017-03-20 16:48:01',0),('2017_04_02_00_auth.sql','2420814101287A57800A877BE699AE5F','ARCHIVED','2017-04-02 07:48:01',0),('2017_04_16_00_auth.sql','0E7939DE2187B93E351DE6174D467F0C','ARCHIVED','2017-04-16 07:48:01',0),('2017_05_16_00_auth.sql','B6E7FF36B4FE6B0838B769BDE1FC1345','ARCHIVED','2017-05-16 06:48:01',0); /*!40000 ALTER TABLE `updates` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql index ef4a9b974a..563885dcf8 100644 --- a/sql/base/characters_database.sql +++ b/sql/base/characters_database.sql @@ -2814,7 +2814,7 @@ CREATE TABLE `updates` ( LOCK TABLES `updates` WRITE; /*!40000 ALTER TABLE `updates` DISABLE KEYS */; -INSERT INTO `updates` VALUES ('2014_10_28_00_characters.sql','DCC0367E2784919FBE6ED44D60057179','ARCHIVED','2014-10-28 21:00:00',0),('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_01_characters.sql','894F08B70449A5481FFAF394EE5571D7FC4D8A3A','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_02_characters.sql','97D7BE0CAADC79F3F11B9FD296B8C6CD40FE593B','ARCHIVED','2015-03-21 21:44:51',0),('2015_06_26_00_characters_335.sql','f8230a59a9e878a6f54f421d6621f1595bd93861','ARCHIVED','2015-03-21 21:44:51',0),('2016_01_11_00_characters_from_335.sql','AAECE4BA6FDCF0C34A57FADD11DB68DAFD8AE9CD','ARCHIVED','2016-01-10 21:57:56',0),('2016_01_11_01_characters_from_335.sql','F8682A431D50E54BDC4AC0E7DBED21AE8AAB6AD4','ARCHIVED','2015-09-29 22:23:32',0),('2016_01_11_02_characters_from_335.sql','4555A7F35C107E54C13D74D20F141039ED42943E','ARCHIVED','2015-10-29 20:32:37',0),('2016_01_14_from_335_2015_10_06_00_characters.sql','16842FDD7E8547F2260D3312F53EFF8761EFAB35','ARCHIVED','2015-10-11 19:47:41',0),('2016_01_14_from_335_2015_10_07_00_characters.sql','E15AB463CEBE321001D7BFDEA4B662FF618728FD','ARCHIVED','2015-10-11 19:47:41',0),('2016_01_14_from_335_2015_10_12_00_characters.sql','D6F9927BDED72AD0A81D6EC2C6500CBC34A39FA2','ARCHIVED','2015-10-13 01:06:25',0),('2016_01_14_from_335_2015_10_28_00_characters.sql','622A9CA8FCE690429EBE23BA071A37C7A007BF8B','ARCHIVED','2015-10-28 21:49:52',0),('2016_01_14_from_335_2015_11_03_00_characters.sql','CC045717B8FDD9733351E52A5302560CD08AAD57','ARCHIVED','2015-11-03 22:56:17',0),('2016_02_21_from_335_2016_02_10_00_characters.sql','F1B4DA202819CABC7319A4470A2D224A34609E97','ARCHIVED','2016-02-10 00:00:00',0),('2016_03_12_00_characters.sql','0ACDD35EC9745231BCFA701B78056DEF94D0CC53','ARCHIVED','2016-03-12 00:00:00',0), ('2016_07_17_00_characters.sql', '41BF94C59FE13A61067E6721092F6187E184F37B', 'ARCHIVED', '2016-07-18 21:05:05', 0), ('2016_08_28_00_characters.sql', '111B0E4A6770A79093CC3CFFB9CE3475', 'ARCHIVED', '2016-08-28 21:05:05', 0),('2016_09_14_00_characters_from_335_was_2016_09_13_00_characters.sql','27A04615B11B2CFC3A26778F52F74C071E4F9C54','ARCHIVED','2016-07-06 18:55:18',0),('2016_09_28_00_characters.sql','18F026197AAF80B9CFB82BE308D7011E','ARCHIVED','2016-09-28 18:55:18',0),('2016_11_02_00_characters_from_335_was_2016_10_30_00_characters.sql','ED4A7CB8D560E3DB0CA26E27A9523707','ARCHIVED','2016-11-02 04:30:18',0),('2016_11_06_00_characters.sql','D62680982E2AD86CC7CDB8B3B8E45D26','ARCHIVED','2016-11-06 17:11:18',0),('2017_01_12_00_characters.sql','C864FD9142682A7FA80DD20247046AC7','ARCHIVED','2017-01-12 00:00:00',0),('2017_02_11_00_characters.sql','528E8BF7A489518A251C07CD0A1527D4','ARCHIVED','2017-02-11 00:00:00',0),('2017_03_16_00_characters.sql','53A9F270A0BCDA0152326D42FA152F8B','RELEASED','2017-03-16 00:00:00',0),('2017_04_09_00_characters_from_335_was_2017_04_03_00_characters.sql','E401D35E81CDC38135392C99AABC8A53','ARCHIVED','2017-04-03 00:00:00',0),('2017_04_14_00_characters_from_335_was_2017_04_12_01_characters.sql','CDF589A2AE1FB78DF74DC0508B9EB73D','RELEASED','2017-04-12 00:00:00',0),('2017_04_16_00_characters.sql','715A43380642009D9F36250D35630BD6','RELEASED','2017-04-16 00:00:00',0); +INSERT INTO `updates` VALUES ('2014_10_28_00_characters.sql','DCC0367E2784919FBE6ED44D60057179','ARCHIVED','2014-10-28 21:00:00',0),('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_01_characters.sql','894F08B70449A5481FFAF394EE5571D7FC4D8A3A','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_02_characters.sql','97D7BE0CAADC79F3F11B9FD296B8C6CD40FE593B','ARCHIVED','2015-03-21 21:44:51',0),('2015_06_26_00_characters_335.sql','f8230a59a9e878a6f54f421d6621f1595bd93861','ARCHIVED','2015-03-21 21:44:51',0),('2016_01_11_00_characters_from_335.sql','AAECE4BA6FDCF0C34A57FADD11DB68DAFD8AE9CD','ARCHIVED','2016-01-10 21:57:56',0),('2016_01_11_01_characters_from_335.sql','F8682A431D50E54BDC4AC0E7DBED21AE8AAB6AD4','ARCHIVED','2015-09-29 22:23:32',0),('2016_01_11_02_characters_from_335.sql','4555A7F35C107E54C13D74D20F141039ED42943E','ARCHIVED','2015-10-29 20:32:37',0),('2016_01_14_from_335_2015_10_06_00_characters.sql','16842FDD7E8547F2260D3312F53EFF8761EFAB35','ARCHIVED','2015-10-11 19:47:41',0),('2016_01_14_from_335_2015_10_07_00_characters.sql','E15AB463CEBE321001D7BFDEA4B662FF618728FD','ARCHIVED','2015-10-11 19:47:41',0),('2016_01_14_from_335_2015_10_12_00_characters.sql','D6F9927BDED72AD0A81D6EC2C6500CBC34A39FA2','ARCHIVED','2015-10-13 01:06:25',0),('2016_01_14_from_335_2015_10_28_00_characters.sql','622A9CA8FCE690429EBE23BA071A37C7A007BF8B','ARCHIVED','2015-10-28 21:49:52',0),('2016_01_14_from_335_2015_11_03_00_characters.sql','CC045717B8FDD9733351E52A5302560CD08AAD57','ARCHIVED','2015-11-03 22:56:17',0),('2016_02_21_from_335_2016_02_10_00_characters.sql','F1B4DA202819CABC7319A4470A2D224A34609E97','ARCHIVED','2016-02-10 00:00:00',0),('2016_03_12_00_characters.sql','0ACDD35EC9745231BCFA701B78056DEF94D0CC53','ARCHIVED','2016-03-12 00:00:00',0), ('2016_07_17_00_characters.sql', '41BF94C59FE13A61067E6721092F6187E184F37B', 'ARCHIVED', '2016-07-18 21:05:05', 0), ('2016_08_28_00_characters.sql', '111B0E4A6770A79093CC3CFFB9CE3475', 'ARCHIVED', '2016-08-28 21:05:05', 0),('2016_09_14_00_characters_from_335_was_2016_09_13_00_characters.sql','27A04615B11B2CFC3A26778F52F74C071E4F9C54','ARCHIVED','2016-07-06 18:55:18',0),('2016_09_28_00_characters.sql','18F026197AAF80B9CFB82BE308D7011E','ARCHIVED','2016-09-28 18:55:18',0),('2016_11_02_00_characters_from_335_was_2016_10_30_00_characters.sql','ED4A7CB8D560E3DB0CA26E27A9523707','ARCHIVED','2016-11-02 04:30:18',0),('2016_11_06_00_characters.sql','D62680982E2AD86CC7CDB8B3B8E45D26','ARCHIVED','2016-11-06 17:11:18',0),('2017_01_12_00_characters.sql','C864FD9142682A7FA80DD20247046AC7','ARCHIVED','2017-01-12 00:00:00',0),('2017_02_11_00_characters.sql','528E8BF7A489518A251C07CD0A1527D4','ARCHIVED','2017-02-11 00:00:00',0),('2017_03_16_00_characters.sql','53A9F270A0BCDA0152326D42FA152F8B','RELEASED','2017-03-16 00:00:00',0),('2017_04_09_00_characters_from_335_was_2017_04_03_00_characters.sql','E401D35E81CDC38135392C99AABC8A53','ARCHIVED','2017-04-03 00:00:00',0),('2017_04_14_00_characters_from_335_was_2017_04_12_01_characters.sql','CDF589A2AE1FB78DF74DC0508B9EB73D','RELEASED','2017-04-12 00:00:00',0),('2017_04_16_00_characters.sql','715A43380642009D9F36250D35630BD6','RELEASED','2017-04-16 00:00:00',0),('2017_05_16_00_characters.sql','91C6AABE85F87ED71C997695DC7A2A61','RELEASED','2017-05-16 00:00:00',0); /*!40000 ALTER TABLE `updates` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/base/dev/world_database.sql b/sql/base/dev/world_database.sql index 47b3117e41..eba0c08a9e 100644 --- a/sql/base/dev/world_database.sql +++ b/sql/base/dev/world_database.sql @@ -1727,551 +1727,213 @@ CREATE TABLE `linked_respawn` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `locales_achievement_reward` +-- Table structure for table `achievement_reward_locale` -- -DROP TABLE IF EXISTS `locales_achievement_reward`; +DROP TABLE IF EXISTS `achievement_reward_locale`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_achievement_reward` ( - `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', - `subject_loc1` varchar(100) NOT NULL DEFAULT '', - `subject_loc2` varchar(100) NOT NULL DEFAULT '', - `subject_loc3` varchar(100) NOT NULL DEFAULT '', - `subject_loc4` varchar(100) NOT NULL DEFAULT '', - `subject_loc5` varchar(100) NOT NULL DEFAULT '', - `subject_loc6` varchar(100) NOT NULL DEFAULT '', - `subject_loc7` varchar(100) NOT NULL DEFAULT '', - `subject_loc8` varchar(100) NOT NULL DEFAULT '', - `text_loc1` text, - `text_loc2` text, - `text_loc3` text, - `text_loc4` text, - `text_loc5` text, - `text_loc6` text, - `text_loc7` text, - `text_loc8` text, - PRIMARY KEY (`entry`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_broadcast_text` --- - -DROP TABLE IF EXISTS `locales_broadcast_text`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_broadcast_text` ( +CREATE TABLE `achievement_reward_locale` ( `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', - `MaleText_loc1` longtext, - `MaleText_loc2` longtext, - `MaleText_loc3` longtext, - `MaleText_loc4` longtext, - `MaleText_loc5` longtext, - `MaleText_loc6` longtext, - `MaleText_loc7` longtext, - `MaleText_loc8` longtext, - `FemaleText_loc1` longtext, - `FemaleText_loc2` longtext, - `FemaleText_loc3` longtext, - `FemaleText_loc4` longtext, - `FemaleText_loc5` longtext, - `FemaleText_loc6` longtext, - `FemaleText_loc7` longtext, - `FemaleText_loc8` longtext, - `VerifiedBuild` smallint(5) DEFAULT '0', - PRIMARY KEY (`ID`) + `Locale` varchar(4) NOT NULL, + `Subject` text, + `Text` text, + PRIMARY KEY (`ID`,`Locale`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `locales_creature` +-- Table structure for table `broadcast_text_locale` -- -DROP TABLE IF EXISTS `locales_creature`; +DROP TABLE IF EXISTS `broadcast_text_locale`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_creature` ( - `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', - `name_loc1` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc1` char(100) NOT NULL, - `name_loc2` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc2` char(100) NOT NULL, - `name_loc3` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc3` char(100) NOT NULL, - `name_loc4` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc4` char(100) NOT NULL, - `name_loc5` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc5` char(100) NOT NULL, - `name_loc6` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc6` char(100) NOT NULL, - `name_loc7` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc7` char(100) NOT NULL, - `name_loc8` varchar(100) NOT NULL DEFAULT '', - `femaleName_loc8` char(100) NOT NULL, - `subname_loc1` varchar(100) DEFAULT NULL, - `subname_loc2` varchar(100) DEFAULT NULL, - `subname_loc3` varchar(100) DEFAULT NULL, - `subname_loc4` varchar(100) DEFAULT NULL, - `subname_loc5` varchar(100) DEFAULT NULL, - `subname_loc6` varchar(100) DEFAULT NULL, - `subname_loc7` varchar(100) DEFAULT NULL, - `subname_loc8` varchar(100) DEFAULT NULL, - `VerifiedBuild` smallint(5) DEFAULT '0', - PRIMARY KEY (`entry`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_creature_text` --- - -DROP TABLE IF EXISTS `locales_creature_text`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_creature_text` ( - `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', - `groupid` tinyint(3) unsigned NOT NULL DEFAULT '0', - `id` tinyint(3) unsigned NOT NULL DEFAULT '0', - `text_loc1` text, - `text_loc2` text, - `text_loc3` text, - `text_loc4` text, - `text_loc5` text, - `text_loc6` text, - `text_loc7` text, - `text_loc8` text, - PRIMARY KEY (`entry`,`groupid`,`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_gameobject` --- - -DROP TABLE IF EXISTS `locales_gameobject`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_gameobject` ( - `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', - `name_loc1` varchar(100) NOT NULL DEFAULT '', - `name_loc2` varchar(100) NOT NULL DEFAULT '', - `name_loc3` varchar(100) NOT NULL DEFAULT '', - `name_loc4` varchar(100) NOT NULL DEFAULT '', - `name_loc5` varchar(100) NOT NULL DEFAULT '', - `name_loc6` varchar(100) NOT NULL DEFAULT '', - `name_loc7` varchar(100) NOT NULL DEFAULT '', - `name_loc8` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc1` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc2` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc3` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc4` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc5` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc6` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc7` varchar(100) NOT NULL DEFAULT '', - `castbarcaption_loc8` varchar(100) NOT NULL DEFAULT '', - `VerifiedBuild` smallint(5) DEFAULT '0', - PRIMARY KEY (`entry`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_gossip_menu_option` --- - -DROP TABLE IF EXISTS `locales_gossip_menu_option`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_gossip_menu_option` ( - `menu_id` smallint(6) unsigned NOT NULL DEFAULT '0', - `id` smallint(6) unsigned NOT NULL DEFAULT '0', - `option_text_loc1` text, - `option_text_loc2` text, - `option_text_loc3` text, - `option_text_loc4` text, - `option_text_loc5` text, - `option_text_loc6` text, - `option_text_loc7` text, - `option_text_loc8` text, - `box_text_loc1` text, - `box_text_loc2` text, - `box_text_loc3` text, - `box_text_loc4` text, - `box_text_loc5` text, - `box_text_loc6` text, - `box_text_loc7` text, - `box_text_loc8` text, - PRIMARY KEY (`menu_id`,`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_item` --- - -DROP TABLE IF EXISTS `locales_item`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_item` ( - `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', - `name_loc1` varchar(100) NOT NULL DEFAULT '', - `name_loc2` varchar(100) NOT NULL DEFAULT '', - `name_loc3` varchar(100) NOT NULL DEFAULT '', - `name_loc4` varchar(100) NOT NULL DEFAULT '', - `name_loc5` varchar(100) NOT NULL DEFAULT '', - `name_loc6` varchar(100) NOT NULL DEFAULT '', - `name_loc7` varchar(100) NOT NULL DEFAULT '', - `name_loc8` varchar(100) NOT NULL DEFAULT '', - `description_loc1` varchar(255) DEFAULT NULL, - `description_loc2` varchar(255) DEFAULT NULL, - `description_loc3` varchar(255) DEFAULT NULL, - `description_loc4` varchar(255) DEFAULT NULL, - `description_loc5` varchar(255) DEFAULT NULL, - `description_loc6` varchar(255) DEFAULT NULL, - `description_loc7` varchar(255) DEFAULT NULL, - `description_loc8` varchar(255) DEFAULT NULL, - `VerifiedBuild` smallint(5) DEFAULT '0', - PRIMARY KEY (`entry`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_item_set_names` --- - -DROP TABLE IF EXISTS `locales_item_set_names`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_item_set_names` ( - `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', - `name_loc1` varchar(100) NOT NULL DEFAULT '', - `name_loc2` varchar(100) NOT NULL DEFAULT '', - `name_loc3` varchar(100) NOT NULL DEFAULT '', - `name_loc4` varchar(100) NOT NULL DEFAULT '', - `name_loc5` varchar(100) NOT NULL DEFAULT '', - `name_loc6` varchar(100) NOT NULL DEFAULT '', - `name_loc7` varchar(100) NOT NULL DEFAULT '', - `name_loc8` varchar(100) NOT NULL DEFAULT '', - `VerifiedBuild` smallint(5) DEFAULT '0', - PRIMARY KEY (`entry`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_npc_text` --- - -DROP TABLE IF EXISTS `locales_npc_text`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_npc_text` ( +CREATE TABLE `broadcast_text_locale` ( `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', - `Text0_0_loc1` longtext, - `Text0_0_loc2` longtext, - `Text0_0_loc3` longtext, - `Text0_0_loc4` longtext, - `Text0_0_loc5` longtext, - `Text0_0_loc6` longtext, - `Text0_0_loc7` longtext, - `Text0_0_loc8` longtext, - `Text0_1_loc1` longtext, - `Text0_1_loc2` longtext, - `Text0_1_loc3` longtext, - `Text0_1_loc4` longtext, - `Text0_1_loc5` longtext, - `Text0_1_loc6` longtext, - `Text0_1_loc7` longtext, - `Text0_1_loc8` longtext, - `Text1_0_loc1` longtext, - `Text1_0_loc2` longtext, - `Text1_0_loc3` longtext, - `Text1_0_loc4` longtext, - `Text1_0_loc5` longtext, - `Text1_0_loc6` longtext, - `Text1_0_loc7` longtext, - `Text1_0_loc8` longtext, - `Text1_1_loc1` longtext, - `Text1_1_loc2` longtext, - `Text1_1_loc3` longtext, - `Text1_1_loc4` longtext, - `Text1_1_loc5` longtext, - `Text1_1_loc6` longtext, - `Text1_1_loc7` longtext, - `Text1_1_loc8` longtext, - `Text2_0_loc1` longtext, - `Text2_0_loc2` longtext, - `Text2_0_loc3` longtext, - `Text2_0_loc4` longtext, - `Text2_0_loc5` longtext, - `Text2_0_loc6` longtext, - `Text2_0_loc7` longtext, - `Text2_0_loc8` longtext, - `Text2_1_loc1` longtext, - `Text2_1_loc2` longtext, - `Text2_1_loc3` longtext, - `Text2_1_loc4` longtext, - `Text2_1_loc5` longtext, - `Text2_1_loc6` longtext, - `Text2_1_loc7` longtext, - `Text2_1_loc8` longtext, - `Text3_0_loc1` longtext, - `Text3_0_loc2` longtext, - `Text3_0_loc3` longtext, - `Text3_0_loc4` longtext, - `Text3_0_loc5` longtext, - `Text3_0_loc6` longtext, - `Text3_0_loc7` longtext, - `Text3_0_loc8` longtext, - `Text3_1_loc1` longtext, - `Text3_1_loc2` longtext, - `Text3_1_loc3` longtext, - `Text3_1_loc4` longtext, - `Text3_1_loc5` longtext, - `Text3_1_loc6` longtext, - `Text3_1_loc7` longtext, - `Text3_1_loc8` longtext, - `Text4_0_loc1` longtext, - `Text4_0_loc2` longtext, - `Text4_0_loc3` longtext, - `Text4_0_loc4` longtext, - `Text4_0_loc5` longtext, - `Text4_0_loc6` longtext, - `Text4_0_loc7` longtext, - `Text4_0_loc8` longtext, - `Text4_1_loc1` longtext, - `Text4_1_loc2` longtext, - `Text4_1_loc3` longtext, - `Text4_1_loc4` longtext, - `Text4_1_loc5` longtext, - `Text4_1_loc6` longtext, - `Text4_1_loc7` longtext, - `Text4_1_loc8` longtext, - `Text5_0_loc1` longtext, - `Text5_0_loc2` longtext, - `Text5_0_loc3` longtext, - `Text5_0_loc4` longtext, - `Text5_0_loc5` longtext, - `Text5_0_loc6` longtext, - `Text5_0_loc7` longtext, - `Text5_0_loc8` longtext, - `Text5_1_loc1` longtext, - `Text5_1_loc2` longtext, - `Text5_1_loc3` longtext, - `Text5_1_loc4` longtext, - `Text5_1_loc5` longtext, - `Text5_1_loc6` longtext, - `Text5_1_loc7` longtext, - `Text5_1_loc8` longtext, - `Text6_0_loc1` longtext, - `Text6_0_loc2` longtext, - `Text6_0_loc3` longtext, - `Text6_0_loc4` longtext, - `Text6_0_loc5` longtext, - `Text6_0_loc6` longtext, - `Text6_0_loc7` longtext, - `Text6_0_loc8` longtext, - `Text6_1_loc1` longtext, - `Text6_1_loc2` longtext, - `Text6_1_loc3` longtext, - `Text6_1_loc4` longtext, - `Text6_1_loc5` longtext, - `Text6_1_loc6` longtext, - `Text6_1_loc7` longtext, - `Text6_1_loc8` longtext, - `Text7_0_loc1` longtext, - `Text7_0_loc2` longtext, - `Text7_0_loc3` longtext, - `Text7_0_loc4` longtext, - `Text7_0_loc5` longtext, - `Text7_0_loc6` longtext, - `Text7_0_loc7` longtext, - `Text7_0_loc8` longtext, - `Text7_1_loc1` longtext, - `Text7_1_loc2` longtext, - `Text7_1_loc3` longtext, - `Text7_1_loc4` longtext, - `Text7_1_loc5` longtext, - `Text7_1_loc6` longtext, - `Text7_1_loc7` longtext, - `Text7_1_loc8` longtext, - PRIMARY KEY (`ID`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_page_text` --- - -DROP TABLE IF EXISTS `locales_page_text`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_page_text` ( - `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', - `Text_loc1` longtext, - `Text_loc2` longtext, - `Text_loc3` longtext, - `Text_loc4` longtext, - `Text_loc5` longtext, - `Text_loc6` longtext, - `Text_loc7` longtext, - `Text_loc8` longtext, - PRIMARY KEY (`ID`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_points_of_interest` --- - -DROP TABLE IF EXISTS `locales_points_of_interest`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_points_of_interest` ( - `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', - `Name_loc1` text, - `Name_loc2` text, - `Name_loc3` text, - `Name_loc4` text, - `Name_loc5` text, - `Name_loc6` text, - `Name_loc7` text, - `Name_loc8` text, - PRIMARY KEY (`ID`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `locales_quest` --- - -DROP TABLE IF EXISTS `locales_quest`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `locales_quest` ( - `Id` mediumint(8) unsigned NOT NULL DEFAULT '0', - `Title_loc1` text, - `Title_loc2` text, - `Title_loc3` text, - `Title_loc4` text, - `Title_loc5` text, - `Title_loc6` text, - `Title_loc7` text, - `Title_loc8` text, - `Details_loc1` text, - `Details_loc2` text, - `Details_loc3` text, - `Details_loc4` text, - `Details_loc5` text, - `Details_loc6` text, - `Details_loc7` text, - `Details_loc8` text, - `Objectives_loc1` text, - `Objectives_loc2` text, - `Objectives_loc3` text, - `Objectives_loc4` text, - `Objectives_loc5` text, - `Objectives_loc6` text, - `Objectives_loc7` text, - `Objectives_loc8` text, - `OfferRewardText_loc1` text, - `OfferRewardText_loc2` text, - `OfferRewardText_loc3` text, - `OfferRewardText_loc4` text, - `OfferRewardText_loc5` text, - `OfferRewardText_loc6` text, - `OfferRewardText_loc7` text, - `OfferRewardText_loc8` text, - `RequestItemsText_loc1` text, - `RequestItemsText_loc2` text, - `RequestItemsText_loc3` text, - `RequestItemsText_loc4` text, - `RequestItemsText_loc5` text, - `RequestItemsText_loc6` text, - `RequestItemsText_loc7` text, - `RequestItemsText_loc8` text, - `EndText_loc1` text, - `EndText_loc2` text, - `EndText_loc3` text, - `EndText_loc4` text, - `EndText_loc5` text, - `EndText_loc6` text, - `EndText_loc7` text, - `EndText_loc8` text, - `CompletedText_loc1` text, - `CompletedText_loc2` text, - `CompletedText_loc3` text, - `CompletedText_loc4` text, - `CompletedText_loc5` text, - `CompletedText_loc6` text, - `CompletedText_loc7` text, - `CompletedText_loc8` text, - `ObjectiveText1_loc1` text, - `ObjectiveText1_loc2` text, - `ObjectiveText1_loc3` text, - `ObjectiveText1_loc4` text, - `ObjectiveText1_loc5` text, - `ObjectiveText1_loc6` text, - `ObjectiveText1_loc7` text, - `ObjectiveText1_loc8` text, - `ObjectiveText2_loc1` text, - `ObjectiveText2_loc2` text, - `ObjectiveText2_loc3` text, - `ObjectiveText2_loc4` text, - `ObjectiveText2_loc5` text, - `ObjectiveText2_loc6` text, - `ObjectiveText2_loc7` text, - `ObjectiveText2_loc8` text, - `ObjectiveText3_loc1` text, - `ObjectiveText3_loc2` text, - `ObjectiveText3_loc3` text, - `ObjectiveText3_loc4` text, - `ObjectiveText3_loc5` text, - `ObjectiveText3_loc6` text, - `ObjectiveText3_loc7` text, - `ObjectiveText3_loc8` text, - `ObjectiveText4_loc1` text, - `ObjectiveText4_loc2` text, - `ObjectiveText4_loc3` text, - `ObjectiveText4_loc4` text, - `ObjectiveText4_loc5` text, - `ObjectiveText4_loc6` text, - `ObjectiveText4_loc7` text, - `ObjectiveText4_loc8` text, - `QuestGiverTextWindow_loc1` text, - `QuestGiverTextWindow_loc2` text, - `QuestGiverTextWindow_loc3` text, - `QuestGiverTextWindow_loc4` text, - `QuestGiverTextWindow_loc5` text, - `QuestGiverTextWindow_loc6` text, - `QuestGiverTextWindow_loc7` text, - `QuestGiverTextWindow_loc8` text, - `QuestGiverTargetName_loc1` text, - `QuestGiverTargetName_loc2` text, - `QuestGiverTargetName_loc3` text, - `QuestGiverTargetName_loc4` text, - `QuestGiverTargetName_loc5` text, - `QuestGiverTargetName_loc6` text, - `QuestGiverTargetName_loc7` text, - `QuestGiverTargetName_loc8` text, - `QuestTurnTextWindow_loc1` text, - `QuestTurnTextWindow_loc2` text, - `QuestTurnTextWindow_loc3` text, - `QuestTurnTextWindow_loc4` text, - `QuestTurnTextWindow_loc5` text, - `QuestTurnTextWindow_loc6` text, - `QuestTurnTextWindow_loc7` text, - `QuestTurnTextWindow_loc8` text, - `QuestTurnTargetName_loc1` text, - `QuestTurnTargetName_loc2` text, - `QuestTurnTargetName_loc3` text, - `QuestTurnTargetName_loc4` text, - `QuestTurnTargetName_loc5` text, - `QuestTurnTargetName_loc6` text, - `QuestTurnTargetName_loc7` text, - `QuestTurnTargetName_loc8` text, + `locale` varchar(4) NOT NULL, + `MaleText` text, + `FemaleText` text, `VerifiedBuild` smallint(5) DEFAULT '0', - PRIMARY KEY (`Id`) + PRIMARY KEY (`ID`,`locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `creature_template_locale` +-- + +DROP TABLE IF EXISTS `creature_template_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `creature_template_locale` ( + `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', + `locale` varchar(4) NOT NULL, + `Name` text, + `FemaleName` text, + `Title` text, + `VerifiedBuild` smallint(5) DEFAULT '0', + PRIMARY KEY (`entry`,`locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `creature_text_locale` +-- + +DROP TABLE IF EXISTS `creature_text_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `creature_text_locale` ( + `CreatureID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `GroupID` tinyint(3) unsigned NOT NULL DEFAULT '0', + `ID` tinyint(3) unsigned NOT NULL DEFAULT '0', + `Locale` varchar(4) NOT NULL, + `Text` text, + PRIMARY KEY (`CreatureID`,`GroupID`,`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `gameobject_template_locale` +-- + +DROP TABLE IF EXISTS `gameobject_template_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gameobject_template_locale` ( + `entry` mediumint(8) unsigned NOT NULL DEFAULT '0', + `locale` varchar(4) NOT NULL, + `name` text, + `castBarCaption` text, + `VerifiedBuild` smallint(5) DEFAULT '0', + PRIMARY KEY (`entry`,`locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `gossip_menu_option_locale` +-- + +DROP TABLE IF EXISTS `gossip_menu_option_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gossip_menu_option_locale` ( + `MenuID` smallint(6) unsigned NOT NULL DEFAULT '0', + `OptionID` smallint(6) unsigned NOT NULL DEFAULT '0', + `Locale` varchar(4) NOT NULL, + `OptionText` text, + `BoxText` text, + PRIMARY KEY (`MenuID`,`OptionID`,`Locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `item_template_locale` +-- + +DROP TABLE IF EXISTS `item_template_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `item_template_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `locale` varchar(4) NOT NULL, + `Name` text, + `Description` text, + `VerifiedBuild` smallint(5) DEFAULT '0', + PRIMARY KEY (`ID`,`locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `npc_text_locale` +-- + +DROP TABLE IF EXISTS `npc_text_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `npc_text_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `Locale` varchar(4) NOT NULL, + `Text0_0` longtext, + `Text0_1` longtext, + `Text1_0` longtext, + `Text1_1` longtext, + `Text2_0` longtext, + `Text2_1` longtext, + `Text3_0` longtext, + `Text3_1` longtext, + `Text4_0` longtext, + `Text4_1` longtext, + `Text5_0` longtext, + `Text5_1` longtext, + `Text6_0` longtext, + `Text6_1` longtext, + `Text7_0` longtext, + `Text7_1` longtext, + PRIMARY KEY (`ID`,`Locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `page_text_locale` +-- + +DROP TABLE IF EXISTS `page_text_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `page_text_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `locale` varchar(4) NOT NULL, + `Text` text, + `VerifiedBuild` smallint(5) DEFAULT '0', + PRIMARY KEY (`ID`,`locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `points_of_interest_locale` +-- + +DROP TABLE IF EXISTS `points_of_interest_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `points_of_interest_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `locale` varchar(4) NOT NULL, + `Name` text, + `VerifiedBuild` smallint(5) DEFAULT '0', + PRIMARY KEY (`ID`,`locale`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `quest_template_locale` +-- + +DROP TABLE IF EXISTS `quest_template_locale`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `quest_template_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `locale` varchar(4) NOT NULL, + `Title` text, + `Details` text, + `Objectives` text, + `OfferRewardText` text, + `RequestItemsText` text, + `EndText` text, + `CompletedText` text, + `ObjectiveText1` text, + `ObjectiveText2` text, + `ObjectiveText3` text, + `ObjectiveText4` text, + `QuestGiverTextWindow` text, + `QuestGiverTargetName` text, + `QuestTurnTextWindow` text, + `QuestTurnTargetName` text, + `VerifiedBuild` smallint(5) DEFAULT '0', + PRIMARY KEY (`ID`,`locale`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/sql/updates/auth/4.3.4/2017_04_16_00_auth.sql b/sql/old/4.3.4/auth/18_2017_05_16/2017_04_16_00_auth.sql similarity index 100% rename from sql/updates/auth/4.3.4/2017_04_16_00_auth.sql rename to sql/old/4.3.4/auth/18_2017_05_16/2017_04_16_00_auth.sql diff --git a/sql/updates/characters/4.3.4/2017_04_16_00_characters.sql b/sql/old/4.3.4/characters/18_2017_05_16/2017_04_16_00_characters.sql similarity index 100% rename from sql/updates/characters/4.3.4/2017_04_16_00_characters.sql rename to sql/old/4.3.4/characters/18_2017_05_16/2017_04_16_00_characters.sql diff --git a/sql/updates/world/4.3.4/2017_04_16_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_16_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_16_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_16_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_16_01_world_from_335_was_2017_04_15_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_16_01_world_from_335_was_2017_04_15_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_16_01_world_from_335_was_2017_04_15_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_16_01_world_from_335_was_2017_04_15_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_16_02_world_from_335_was_2017_04_15_01_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_16_02_world_from_335_was_2017_04_15_01_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_16_02_world_from_335_was_2017_04_15_01_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_16_02_world_from_335_was_2017_04_15_01_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_16_03_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_16_03_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_16_03_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_16_03_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_16_04_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_16_04_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_16_04_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_16_04_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_16_05_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_16_05_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_16_05_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_16_05_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_18_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_18_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_18_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_18_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_18_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_18_01_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_18_01_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_18_01_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_20_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_20_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_20_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_20_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_20_01_world_from_335_was_2017_04_19_01_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_20_01_world_from_335_was_2017_04_19_01_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_20_01_world_from_335_was_2017_04_19_01_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_20_01_world_from_335_was_2017_04_19_01_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_20_02_world_from_335_was_2017_04_19_02_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_20_02_world_from_335_was_2017_04_19_02_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_20_02_world_from_335_was_2017_04_19_02_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_20_02_world_from_335_was_2017_04_19_02_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_20_03_world_from_335_was_2017_04_20_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_20_03_world_from_335_was_2017_04_20_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_20_03_world_from_335_was_2017_04_20_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_20_03_world_from_335_was_2017_04_20_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_20_04_world_from_335_was_2017_04_20_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_20_04_world_from_335_was_2017_04_20_01_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_20_04_world_from_335_was_2017_04_20_01_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_20_04_world_from_335_was_2017_04_20_01_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_20_05_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_20_05_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_20_05_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_20_05_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_24_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_24_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_24_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_24_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_24_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_24_01_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_24_01_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_24_01_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_24_02_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_24_02_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_24_02_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_24_02_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_00_world_from_335_was_2017_04_21_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_00_world_from_335_was_2017_04_21_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_00_world_from_335_was_2017_04_21_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_00_world_from_335_was_2017_04_21_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_01_world_from_335_was_2017_04_22_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_01_world_from_335_was_2017_04_22_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_01_world_from_335_was_2017_04_22_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_01_world_from_335_was_2017_04_22_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_02_world_from_335_was_2017_04_22_01_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_02_world_from_335_was_2017_04_22_01_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_02_world_from_335_was_2017_04_22_01_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_02_world_from_335_was_2017_04_22_01_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_03_world_from_335_was_2017_04_24_03_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_03_world_from_335_was_2017_04_24_03_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_03_world_from_335_was_2017_04_24_03_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_03_world_from_335_was_2017_04_24_03_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_04_world_from_335_was_2017_04_24_04_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_04_world_from_335_was_2017_04_24_04_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_04_world_from_335_was_2017_04_24_04_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_04_world_from_335_was_2017_04_24_04_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_05_world_from_335_was_2017_04_24_05_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_05_world_from_335_was_2017_04_24_05_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_05_world_from_335_was_2017_04_24_05_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_05_world_from_335_was_2017_04_24_05_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_06_world_from_335_was_2017_04_24_06_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_06_world_from_335_was_2017_04_24_06_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_06_world_from_335_was_2017_04_24_06_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_06_world_from_335_was_2017_04_24_06_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_07_world_from_335_was_2017_04_24_07_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_07_world_from_335_was_2017_04_24_07_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_07_world_from_335_was_2017_04_24_07_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_07_world_from_335_was_2017_04_24_07_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_08_world_from_335_was_2017_04_24_08_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_08_world_from_335_was_2017_04_24_08_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_08_world_from_335_was_2017_04_24_08_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_08_world_from_335_was_2017_04_24_08_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_09_world_from_335_was_2017_04_24_09_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_09_world_from_335_was_2017_04_24_09_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_09_world_from_335_was_2017_04_24_09_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_09_world_from_335_was_2017_04_24_09_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_25_10_world_from_335_was_2017_04_24_10_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_25_10_world_from_335_was_2017_04_24_10_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_25_10_world_from_335_was_2017_04_24_10_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_25_10_world_from_335_was_2017_04_24_10_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_28_00_world_from_335_was_2017_04_27_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_28_00_world_from_335_was_2017_04_27_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_28_00_world_from_335_was_2017_04_27_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_28_00_world_from_335_was_2017_04_27_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_28_01_world_from_335_was_2017_04_27_01_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_28_01_world_from_335_was_2017_04_27_01_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_28_01_world_from_335_was_2017_04_27_01_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_28_01_world_from_335_was_2017_04_27_01_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_04_28_02_world_from_335_was_2017_04_27_02_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_28_02_world_from_335_was_2017_04_27_02_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_28_02_world_from_335_was_2017_04_27_02_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_28_02_world_from_335_was_2017_04_27_02_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_29_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_29_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_29_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_29_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_29_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_29_01_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_29_01_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_29_01_world.sql diff --git a/sql/updates/world/4.3.4/2017_04_30_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_04_30_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_04_30_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_04_30_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_00_world_from_335_was_2017_04_28_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_00_world_from_335_was_2017_04_28_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_00_world_from_335_was_2017_04_28_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_00_world_from_335_was_2017_04_28_00_world.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_01_world_from_335_was_2017_04_30_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_01_world_from_335_was_2017_04_30_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_01_world_from_335_was_2017_04_30_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_01_world_from_335_was_2017_04_30_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_02_world_from_335_was_2017_04_30_01_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_02_world_from_335_was_2017_04_30_01_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_02_world_from_335_was_2017_04_30_01_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_02_world_from_335_was_2017_04_30_01_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_03_world_from_335_was_2017_04_30_02_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_03_world_from_335_was_2017_04_30_02_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_03_world_from_335_was_2017_04_30_02_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_03_world_from_335_was_2017_04_30_02_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_04_world_from_335_was_2017_05_01_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_04_world_from_335_was_2017_05_01_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_04_world_from_335_was_2017_05_01_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_04_world_from_335_was_2017_05_01_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_05_world_from_335_was_2017_05_02_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_05_world_from_335_was_2017_05_02_00_world_335.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_05_world_from_335_was_2017_05_02_00_world_335.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_05_world_from_335_was_2017_05_02_00_world_335.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_06_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_06_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_06_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_06_world.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_07_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_07_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_07_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_07_world.sql diff --git a/sql/updates/world/4.3.4/2017_05_02_08_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_02_08_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_02_08_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_02_08_world.sql diff --git a/sql/updates/world/4.3.4/2017_05_03_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_03_00_world.sql similarity index 100% rename from sql/updates/world/4.3.4/2017_05_03_00_world.sql rename to sql/old/4.3.4/world/18_2017_05_16/2017_05_03_00_world.sql diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_03_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_03_01_world.sql new file mode 100644 index 0000000000..75d9220e22 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_03_01_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `smart_scripts` SET `entryorguid`=3653 WHERE `entryorguid`=6353; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_00_world_from_335_was_2017_05_03_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_00_world_from_335_was_2017_05_03_00_world_335.sql new file mode 100644 index 0000000000..e4d31d2db9 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_00_world_from_335_was_2017_05_03_00_world_335.sql @@ -0,0 +1,9 @@ +/* +-- Update more Orgrimmar positions +UPDATE `creature` SET `position_z`=23.4949 WHERE `guid`=86237; +UPDATE `creature` SET `position_z`=50.5901 WHERE `guid`=6614; +UPDATE `creature` SET `position_z`=50.7744 WHERE `guid`=6615; +UPDATE `creature` SET `position_z`=49.9817 WHERE `guid`=6616; +UPDATE `creature` SET `position_z`=49.9269 WHERE `guid`=6619; +UPDATE `creature` SET `position_z`=50.3412 WHERE `guid`=4677; +*/ diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_01_world_from_335_was_2017_05_03_01_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_01_world_from_335_was_2017_05_03_01_world_335.sql new file mode 100644 index 0000000000..a8874aa0ac --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_01_world_from_335_was_2017_05_03_01_world_335.sql @@ -0,0 +1,2 @@ +-- Marin Noggenfogger should mix the elixir before quest 2662 completes +-- UPDATE `smart_scripts` SET `event_type`=19, `comment`= "Marin Noggenfogger - On Quest 'Noggenfogger Elixir' Taken - Run Script" WHERE `entryorguid`= 7564 AND `source_type`= 0; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_02_world_from_335_was_2017_05_04_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_02_world_from_335_was_2017_05_04_00_world.sql new file mode 100644 index 0000000000..cee322ee81 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_02_world_from_335_was_2017_05_04_00_world.sql @@ -0,0 +1,56 @@ +-- creature_text +ALTER TABLE `creature_text` CHANGE `entry` `CreatureID` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `groupid` `GroupID` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `id` `ID` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `text` `Text` LONGTEXT; +ALTER TABLE `creature_text` CHANGE `type` `Type` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `language` `Language` TINYINT(3) NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `probability` `Probability` FLOAT UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `emote` `Emote` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `duration` `Duration` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `creature_text` CHANGE `sound` `Sound` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'; + +-- creature_text_locale +DROP TABLE IF EXISTS `creature_text_locale`; +CREATE TABLE IF NOT EXISTS `creature_text_locale` ( + `CreatureID` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0', + `GroupID` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', + `ID` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', + `Locale` VARCHAR(4) NOT NULL, + `Text` TEXT, + PRIMARY KEY (`CreatureID`, `GroupID`, `ID`) +) ENGINE=MYISAM DEFAULT CHARSET=utf8; + +-- koKR +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "koKR", `text_loc1` FROM `locales_creature_text` WHERE LENGTH(text_loc1) > 0); + +-- frFR +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "frFR", `text_loc2` FROM `locales_creature_text` WHERE LENGTH(text_loc2) > 0); + +-- deDE +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "deDE", `text_loc3` FROM `locales_creature_text` WHERE LENGTH(text_loc3) > 0); + +-- zhCN +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "zhCN", `text_loc4` FROM `locales_creature_text` WHERE LENGTH(text_loc4) > 0); + +-- zhTW +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "zhTW", `text_loc5` FROM `locales_creature_text` WHERE LENGTH(text_loc5) > 0); + +-- esES +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "esES", `text_loc6` FROM `locales_creature_text` WHERE LENGTH(text_loc6) > 0); + +-- esMX +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "esMX", `text_loc7` FROM `locales_creature_text` WHERE LENGTH(text_loc7) > 0); + +-- ruRU +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) + (SELECT `entry`, `groupid`, `id`, "ruRU", `text_loc8` FROM `locales_creature_text` WHERE LENGTH(text_loc8) > 0); + +DROP TABLE IF EXISTS `locales_creature_text`; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_03_world_from_335_was_2017_05_04_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_03_world_from_335_was_2017_05_04_01_world.sql new file mode 100644 index 0000000000..eb2e128aed --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_03_world_from_335_was_2017_05_04_01_world.sql @@ -0,0 +1,73 @@ +-- +DROP TABLE IF EXISTS `npc_text_locale`; +CREATE TABLE `npc_text_locale` ( + `ID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `Locale` varchar(4) NOT NULL, + `Text0_0` longtext, + `Text0_1` longtext, + `Text1_0` longtext, + `Text1_1` longtext, + `Text2_0` longtext, + `Text2_1` longtext, + `Text3_0` longtext, + `Text3_1` longtext, + `Text4_0` longtext, + `Text4_1` longtext, + `Text5_0` longtext, + `Text5_1` longtext, + `Text6_0` longtext, + `Text6_1` longtext, + `Text7_0` longtext, + `Text7_1` longtext, + PRIMARY KEY (`ID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- koKR +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "koKR", `Text0_0_loc1`, `Text0_1_loc1`, `Text1_0_loc1`, `Text1_1_loc1`, `Text2_0_loc1`, `Text2_1_loc1`, `Text3_0_loc1`, `Text3_1_loc1`, `Text4_0_loc1`, `Text4_1_loc1`, `Text5_0_loc1`, `Text5_1_loc1`, `Text6_0_loc1`, `Text6_1_loc1`, `Text7_0_loc1`, `Text7_1_loc1` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc1) > 0 && LENGTH(Text0_1_loc1) > 0 && LENGTH(Text1_0_loc1) > 0 && LENGTH(Text1_1_loc1) > 0 && LENGTH(Text2_0_loc1) > 0 && LENGTH(Text2_1_loc1) > 0 && LENGTH(Text3_0_loc1) > 0 && LENGTH(Text3_1_loc1) > 0 && LENGTH(Text4_0_loc1) > 0 && LENGTH(Text4_1_loc1) > 0 && LENGTH(Text5_0_loc1) > 0 && LENGTH(Text5_1_loc1) > 0 && LENGTH(Text6_0_loc1) > 0 && LENGTH(Text6_1_loc1) > 0 && LENGTH(Text7_0_loc1) > 0 && LENGTH(Text7_1_loc1) > 0); + +-- frFR +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "frFR", `Text0_0_loc2`, `Text0_1_loc2`, `Text1_0_loc2`, `Text1_1_loc2`, `Text2_0_loc2`, `Text2_1_loc2`, `Text3_0_loc2`, `Text3_1_loc2`, `Text4_0_loc2`, `Text4_1_loc2`, `Text5_0_loc2`, `Text5_1_loc2`, `Text6_0_loc2`, `Text6_1_loc2`, `Text7_0_loc2`, `Text7_1_loc2` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc2) > 0 && LENGTH(Text0_1_loc2) > 0 && LENGTH(Text1_0_loc2) > 0 && LENGTH(Text1_1_loc2) > 0 && LENGTH(Text2_0_loc2) > 0 && LENGTH(Text2_1_loc2) > 0 && LENGTH(Text3_0_loc2) > 0 && LENGTH(Text3_1_loc2) > 0 && LENGTH(Text4_0_loc2) > 0 && LENGTH(Text4_1_loc2) > 0 && LENGTH(Text5_0_loc2) > 0 && LENGTH(Text5_1_loc2) > 0 && LENGTH(Text6_0_loc2) > 0 && LENGTH(Text6_1_loc2) > 0 && LENGTH(Text7_0_loc2) > 0 && LENGTH(Text7_1_loc2) > 0); + +-- deDE +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "deDE", `Text0_0_loc3`, `Text0_1_loc3`, `Text1_0_loc3`, `Text1_1_loc3`, `Text2_0_loc3`, `Text2_1_loc3`, `Text3_0_loc3`, `Text3_1_loc3`, `Text4_0_loc3`, `Text4_1_loc3`, `Text5_0_loc3`, `Text5_1_loc3`, `Text6_0_loc3`, `Text6_1_loc3`, `Text7_0_loc3`, `Text7_1_loc3` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc3) > 0 && LENGTH(Text0_1_loc3) > 0 && LENGTH(Text1_0_loc3) > 0 && LENGTH(Text1_1_loc3) > 0 && LENGTH(Text2_0_loc3) > 0 && LENGTH(Text2_1_loc3) > 0 && LENGTH(Text3_0_loc3) > 0 && LENGTH(Text3_1_loc3) > 0 && LENGTH(Text4_0_loc3) > 0 && LENGTH(Text4_1_loc3) > 0 && LENGTH(Text5_0_loc3) > 0 && LENGTH(Text5_1_loc3) > 0 && LENGTH(Text6_0_loc3) > 0 && LENGTH(Text6_1_loc3) > 0 && LENGTH(Text7_0_loc3) > 0 && LENGTH(Text7_1_loc3) > 0); + +-- zhCN +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "zhCN", `Text0_0_loc4`, `Text0_1_loc4`, `Text1_0_loc4`, `Text1_1_loc4`, `Text2_0_loc4`, `Text2_1_loc4`, `Text3_0_loc4`, `Text3_1_loc4`, `Text4_0_loc4`, `Text4_1_loc4`, `Text5_0_loc4`, `Text5_1_loc4`, `Text6_0_loc4`, `Text6_1_loc4`, `Text7_0_loc4`, `Text7_1_loc4` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc4) > 0 && LENGTH(Text0_1_loc4) > 0 && LENGTH(Text1_0_loc4) > 0 && LENGTH(Text1_1_loc4) > 0 && LENGTH(Text2_0_loc4) > 0 && LENGTH(Text2_1_loc4) > 0 && LENGTH(Text3_0_loc4) > 0 && LENGTH(Text3_1_loc4) > 0 && LENGTH(Text4_0_loc4) > 0 && LENGTH(Text4_1_loc4) > 0 && LENGTH(Text5_0_loc4) > 0 && LENGTH(Text5_1_loc4) > 0 && LENGTH(Text6_0_loc4) > 0 && LENGTH(Text6_1_loc4) > 0 && LENGTH(Text7_0_loc4) > 0 && LENGTH(Text7_1_loc4) > 0); + +-- zhTW +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "zhTW", `Text0_0_loc5`, `Text0_1_loc5`, `Text1_0_loc5`, `Text1_1_loc5`, `Text2_0_loc5`, `Text2_1_loc5`, `Text3_0_loc5`, `Text3_1_loc5`, `Text4_0_loc5`, `Text4_1_loc5`, `Text5_0_loc5`, `Text5_1_loc5`, `Text6_0_loc5`, `Text6_1_loc5`, `Text7_0_loc5`, `Text7_1_loc5` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc5) > 0 && LENGTH(Text0_1_loc5) > 0 && LENGTH(Text1_0_loc5) > 0 && LENGTH(Text1_1_loc5) > 0 && LENGTH(Text2_0_loc5) > 0 && LENGTH(Text2_1_loc5) > 0 && LENGTH(Text3_0_loc5) > 0 && LENGTH(Text3_1_loc5) > 0 && LENGTH(Text4_0_loc5) > 0 && LENGTH(Text4_1_loc5) > 0 && LENGTH(Text5_0_loc5) > 0 && LENGTH(Text5_1_loc5) > 0 && LENGTH(Text6_0_loc5) > 0 && LENGTH(Text6_1_loc5) > 0 && LENGTH(Text7_0_loc5) > 0 && LENGTH(Text7_1_loc5) > 0); + +-- esES +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "esES", `Text0_0_loc6`, `Text0_1_loc6`, `Text1_0_loc6`, `Text1_1_loc6`, `Text2_0_loc6`, `Text2_1_loc6`, `Text3_0_loc6`, `Text3_1_loc6`, `Text4_0_loc6`, `Text4_1_loc6`, `Text5_0_loc6`, `Text5_1_loc6`, `Text6_0_loc6`, `Text6_1_loc6`, `Text7_0_loc6`, `Text7_1_loc6` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc6) > 0 && LENGTH(Text0_1_loc6) > 0 && LENGTH(Text1_0_loc6) > 0 && LENGTH(Text1_1_loc6) > 0 && LENGTH(Text2_0_loc6) > 0 && LENGTH(Text2_1_loc6) > 0 && LENGTH(Text3_0_loc6) > 0 && LENGTH(Text3_1_loc6) > 0 && LENGTH(Text4_0_loc6) > 0 && LENGTH(Text4_1_loc6) > 0 && LENGTH(Text5_0_loc6) > 0 && LENGTH(Text5_1_loc6) > 0 && LENGTH(Text6_0_loc6) > 0 && LENGTH(Text6_1_loc6) > 0 && LENGTH(Text7_0_loc6) > 0 && LENGTH(Text7_1_loc6) > 0); + +-- esMX +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "esMX", `Text0_0_loc7`, `Text0_1_loc7`, `Text1_0_loc7`, `Text1_1_loc7`, `Text2_0_loc7`, `Text2_1_loc7`, `Text3_0_loc7`, `Text3_1_loc7`, `Text4_0_loc7`, `Text4_1_loc7`, `Text5_0_loc7`, `Text5_1_loc7`, `Text6_0_loc7`, `Text6_1_loc7`, `Text7_0_loc7`, `Text7_1_loc7` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc7) > 0 && LENGTH(Text0_1_loc7) > 0 && LENGTH(Text1_0_loc7) > 0 && LENGTH(Text1_1_loc7) > 0 && LENGTH(Text2_0_loc7) > 0 && LENGTH(Text2_1_loc7) > 0 && LENGTH(Text3_0_loc7) > 0 && LENGTH(Text3_1_loc7) > 0 && LENGTH(Text4_0_loc7) > 0 && LENGTH(Text4_1_loc7) > 0 && LENGTH(Text5_0_loc7) > 0 && LENGTH(Text5_1_loc7) > 0 && LENGTH(Text6_0_loc7) > 0 && LENGTH(Text6_1_loc7) > 0 && LENGTH(Text7_0_loc7) > 0 && LENGTH(Text7_1_loc7) > 0); + +-- ruRU +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) + (SELECT `ID`, "ruRU", `Text0_0_loc8`, `Text0_1_loc8`, `Text1_0_loc8`, `Text1_1_loc8`, `Text2_0_loc8`, `Text2_1_loc8`, `Text3_0_loc8`, `Text3_1_loc8`, `Text4_0_loc8`, `Text4_1_loc8`, `Text5_0_loc8`, `Text5_1_loc8`, `Text6_0_loc8`, `Text6_1_loc8`, `Text7_0_loc8`, `Text7_1_loc8` + FROM `locales_npc_text` + WHERE LENGTH(Text0_0_loc8) > 0 && LENGTH(Text0_1_loc8) > 0 && LENGTH(Text1_0_loc8) > 0 && LENGTH(Text1_1_loc8) > 0 && LENGTH(Text2_0_loc8) > 0 && LENGTH(Text2_1_loc8) > 0 && LENGTH(Text3_0_loc8) > 0 && LENGTH(Text3_1_loc8) > 0 && LENGTH(Text4_0_loc8) > 0 && LENGTH(Text4_1_loc8) > 0 && LENGTH(Text5_0_loc8) > 0 && LENGTH(Text5_1_loc8) > 0 && LENGTH(Text6_0_loc8) > 0 && LENGTH(Text6_1_loc8) > 0 && LENGTH(Text7_0_loc8) > 0 && LENGTH(Text7_1_loc8) > 0); + +DROP TABLE IF EXISTS `locales_npc_text`; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_04_world_from_335_was_2017_05_04_02_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_04_world_from_335_was_2017_05_04_02_world.sql new file mode 100644 index 0000000000..1b4b5f1038 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_04_04_world_from_335_was_2017_05_04_02_world.sql @@ -0,0 +1,61 @@ +-- gossip_menu +ALTER TABLE `gossip_menu` CHANGE `entry` `MenuID` smallint(5) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu` CHANGE `text_id` `TextID` mediumint(8) unsigned NOT NULL DEFAULT '0'; + +-- gossip_menu_option +ALTER TABLE `gossip_menu_option` CHANGE `menu_id` `MenuID` smallint(5) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `id` `OptionID` smallint(5) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `option_icon` `OptionIcon` mediumint(8) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `option_text` `OptionText` text; +ALTER TABLE `gossip_menu_option` CHANGE `option_id` `OptionType` tinyint(3) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `npc_option_npcflag` `OptionNpcFlag` int(10) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `action_menu_id` `ActionMenuID` int(10) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `action_poi_id` `ActionPoiID` mediumint(8) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `box_coded` `BoxCoded` tinyint(3) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `box_money` `BoxMoney` int(10) unsigned NOT NULL DEFAULT '0'; +ALTER TABLE `gossip_menu_option` CHANGE `box_text` `BoxText` text; + +-- gossip_menu_option_locale +DROP TABLE IF EXISTS `gossip_menu_option_locale`; +CREATE TABLE IF NOT EXISTS `gossip_menu_option_locale` ( + `MenuID` smallint(6) unsigned NOT NULL DEFAULT '0', + `OptionID` smallint(6) unsigned NOT NULL DEFAULT '0', + `Locale` varchar(4) NOT NULL, + `OptionText` text, + `BoxText` text, + PRIMARY KEY (`MenuID`, `OptionID`) +) ENGINE=MYISAM DEFAULT CHARSET=utf8; + +-- koKR +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "koKR", `option_text_loc1`, `box_text_loc1` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc1) > 0 && LENGTH(box_text_loc1) > 0); + +-- frFR +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "frFR", `option_text_loc2`, `box_text_loc2` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc2) > 0 && LENGTH(box_text_loc2) > 0); + +-- deDE +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "deDE", `option_text_loc3`, `box_text_loc3` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc3) > 0 && LENGTH(box_text_loc3) > 0); + +-- zhCN +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "zhCN", `option_text_loc4`, `box_text_loc4` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc4) > 0 && LENGTH(box_text_loc4) > 0); + +-- zhTW +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "zhTW", `option_text_loc5`, `box_text_loc5` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc5) > 0 && LENGTH(box_text_loc5) > 0); + +-- esES +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "esES", `option_text_loc6`, `box_text_loc6` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc6) > 0 && LENGTH(box_text_loc6) > 0); + +-- esMX +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "esMX", `option_text_loc7`, `box_text_loc7` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc7) > 0 && LENGTH(box_text_loc7) > 0); + +-- ruRU +INSERT INTO `gossip_menu_option_locale` (`MenuID`, `OptionID`, `Locale`, `OptionText`, `BoxText`) + (SELECT `menu_id`, `id`, "ruRU", `option_text_loc8`, `box_text_loc8` FROM `locales_gossip_menu_option` WHERE LENGTH(option_text_loc8) > 0 && LENGTH(box_text_loc8) > 0); + +DROP TABLE IF EXISTS `locales_gossip_menu_option`; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_07_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_07_00_world.sql new file mode 100644 index 0000000000..b39bcab28d --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_07_00_world.sql @@ -0,0 +1,11 @@ +UPDATE command SET name = 'reload achievement_reward_locale', help = 'Syntax: .reload achievement_reward_locale\nReload achievement_reward_locale table.' WHERE permission = 657; +UPDATE command SET name = 'reload creature_template_locale', help = 'Syntax: .reload creature_template_locale\nReload creature_template_locale table.' WHERE permission = 658; +UPDATE command SET name = 'reload creature_text_locale', help = 'Syntax: .reload creature_text_locale\nReload creature_text_locale Table.' WHERE permission = 659; +UPDATE command SET name = 'reload gameobject_template_locale', help = 'Syntax: .reload gameobject_template_locale\nReload gameobject_template_locale table.' WHERE permission = 660; +UPDATE command SET name = 'reload gossip_menu_option_locale', help = 'Syntax: .reload gossip_menu_option_locale\nReload gossip_menu_option_locale table.' WHERE permission = 661; +UPDATE command SET name = 'reload item_template_locale', help = 'Syntax: .reload item_template_locale\nReload item_template_locale table.' WHERE permission = 662; +UPDATE command SET name = 'reload item_set_name_locale', help = 'Syntax: .reload item_set_name_locale\nReload item_set_name_locale table.' WHERE permission = 663; +UPDATE command SET name = 'reload npc_text_locale', help = 'Syntax: .reload npc_text_locale\nReload npc_text_locale table.' WHERE permission = 664; +UPDATE command SET name = 'reload page_text_locale', help = 'Syntax: .reload page_text_locale\nReload page_text_locale table.' WHERE permission = 665; +UPDATE command SET name = 'reload points_of_interest_locale', help = 'Syntax: .reload points_of_interest_locale\nReload points_of_interest_locale table.' WHERE permission = 666; +UPDATE command SET name = 'reload quest_template_locale', help = 'Syntax: .reload quest_template_locale\nReload quest_template_locale table.' WHERE permission = 667; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_07_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_07_01_world.sql new file mode 100644 index 0000000000..dc2f1a19c7 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_07_01_world.sql @@ -0,0 +1,8 @@ +-- +ALTER TABLE `npc_text_locale` +DROP PRIMARY KEY, +ADD PRIMARY KEY (`ID`, `Locale`); + +ALTER TABLE `gossip_menu_option_locale` +DROP PRIMARY KEY, +ADD PRIMARY KEY (`MenuID`, `OptionID`, `Locale`); diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_09_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_09_00_world.sql new file mode 100644 index 0000000000..bb718abec7 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_09_00_world.sql @@ -0,0 +1,72 @@ +-- +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=3653; +UPDATE `smart_scripts` SET `action_param1`=23381 WHERE `action_param1`=5187 AND `id`=5 AND `action_type`=11; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (-136528,-136525,-131059,-131058,-131056,-131055,-105495,-105489,-105488,-105487) AND `source_type`=0 AND `id`=0; +UPDATE `smart_scripts` SET `event_param3`=3000, `event_param4`=3000 WHERE `entryorguid`=314 AND `source_type`=0 AND `id`=1; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (1538) AND `source_type`=0 AND `id`=1; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (1540) AND `source_type`=0 AND `id`=1; +UPDATE `smart_scripts` SET `event_param3`=3000, `event_param4`=3000 WHERE `entryorguid`=1544 AND `source_type`=0 AND `id`=1; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (1664) AND `source_type`=0 AND `id`=0; +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (3771) AND `source_type`=0 AND `id` IN (1,3); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (4420) AND `source_type`=0 AND `id` IN (1); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (4421) AND `source_type`=0 AND `id` IN (8); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (4424) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (4961) AND `source_type`=0 AND `id` IN (2); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=5251 AND `source_type`=0 AND `id` IN (6,8,11); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=5254 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (5254) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=5343 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (5343) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=5366 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (5366) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param1`=2000, `event_param2`=8000 WHERE `entryorguid`=5808 AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=6176 AND `source_type`=0 AND `id` IN (1); +UPDATE `smart_scripts` SET `entryorguid`=3653 WHERE `entryorguid` IN (6353) AND `source_type`=0; +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=7726 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (7726) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=10000, `event_param4`=15000 WHERE `entryorguid`=7727 AND `source_type`=0 AND `id` IN (2); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=7939 AND `source_type`=0 AND `id` IN (6,8,11); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=7956 AND `source_type`=0 AND `id` IN (6,8,11); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=8147 AND `source_type`=0 AND `id` IN (6,8,11); +UPDATE `smart_scripts` SET `event_param3`=4000, `event_param4`=7000 WHERE `entryorguid`=9043 AND `source_type`=0 AND `id` IN (0,1); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (9520) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_flags`=3 WHERE `entryorguid` IN (9707) AND `source_type`=0 AND `id` IN (3); +UPDATE `smart_scripts` SET `event_flags`=3 WHERE `entryorguid` IN (9708) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_param3`=4000, `event_param4`=7000 WHERE `entryorguid`=9817 AND `source_type`=0 AND `id` IN (7); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (10261) AND `source_type`=0 AND `id` IN (1); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (10263) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (10375) AND `source_type`=0 AND `id` IN (0); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (10680) AND `source_type`=0 AND `id` IN (4); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (10681) AND `source_type`=0 AND `id` IN (4); +UPDATE `smart_scripts` SET `event_param3`=7000, `event_param4`=10000 WHERE `entryorguid`=11340 AND `source_type`=0 AND `id` IN (2); +UPDATE `smart_scripts` SET `event_param3`=7000, `event_param4`=10000 WHERE `entryorguid`=11353 AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=11883 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (11883) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=13197 AND `source_type`=0 AND `id` IN (6,7,8); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (13197) AND `source_type`=0 AND `id` IN (4); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=13601 AND `source_type`=0 AND `id` IN (7, 9, 10, 12); +UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (13601) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (14324) AND `source_type`=0 AND `id` IN (23); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=14390 AND `source_type`=0 AND `id` IN (6,8,11); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (14390) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=14479 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (14479) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (14688) AND `source_type`=0 AND `id` IN (15,19); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=15202 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (15202) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=15213 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (15213) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=32868 AND `source_type`=0 AND `id` IN (4); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=35151 AND `source_type`=0 AND `id` IN (4,5,6,7); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=36856 AND `source_type`=0 AND `id` IN (4); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=39733 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (39733) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (42940) AND `source_type`=0 AND `id` IN (1); +UPDATE `smart_scripts` SET `event_param3`=1000, `event_param4`=2000 WHERE `entryorguid`=43014 AND `source_type`=0 AND `id` IN (1); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=43488 AND `source_type`=0 AND `id` IN (4,5,6); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (43488) AND `source_type`=0 AND `id` IN (7,8); +UPDATE `smart_scripts` SET `event_param3`=2000, `event_param4`=2000 WHERE `entryorguid`=44400 AND `source_type`=0 AND `id` IN (6,8,11); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (45919) AND `source_type`=0 AND `id` IN (5); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (46709) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (47599) AND `source_type`=0 AND `id` IN (0); +UPDATE `smart_scripts` SET `event_flags`=`event_flags`|1 WHERE `entryorguid` IN (47600) AND `source_type`=0 AND `id` IN (0); diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_09_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_09_01_world.sql new file mode 100644 index 0000000000..bf0b9483f8 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_09_01_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature` SET `position_x`=-3865.313, `position_y`=-11642.25, `position_z`=-137.5662 WHERE `guid`=63164; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_00_world_from_335_was_2017_05_09_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_00_world_from_335_was_2017_05_09_00_world.sql new file mode 100644 index 0000000000..6134763d35 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_00_world_from_335_was_2017_05_09_00_world.sql @@ -0,0 +1,5 @@ +-- +UPDATE `creature_template` SET `unit_flags`=768, `RegenHealth`=0 WHERE `entry`=26335; +DELETE FROM `creature_template_addon` WHERE `entry`=26335; +INSERT INTO `creature_template_addon` (`entry`, `bytes1`, `bytes2`) VALUES (26335, 7, 1); +UPDATE `creature` SET `curhealth`=1 WHERE `id`=26335; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_01_world_from_335_was_2017_05_10_00_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_01_world_from_335_was_2017_05_10_00_world.sql new file mode 100644 index 0000000000..e072db590d --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_01_world_from_335_was_2017_05_10_00_world.sql @@ -0,0 +1,18 @@ +-- Arcatraz Sentinel (20869, 21586) +DELETE FROM `creature_template_addon` WHERE entry IN (20869, 21586); +INSERT INTO `creature_template_addon` (entry, path_id, mount, bytes1, bytes2, emote, auras) VALUES +(20869, 0, 0, 0, 1, 0, "31261 36716"), +(21586, 0, 0, 0, 1, 0, "31261 38828"); + +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=20869; +DELETE FROM `smart_scripts` WHERE `entryorguid`=20869 AND `source_type`=0; +INSERT INTO `smart_scripts` VALUES +(20869, 0, 0, 0, 2, 0, 100, 1, 0, 10, 0, 0, 11, 36719, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Arcatraz Sentinel - Between 0-2% Health - Cast Spell Explode'), +(20869, 0, 1, 0, 6, 0, 100, 1, 0, 0, 0, 0, 11, 37394, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Arcatraz Sentinel - Death - Cast Serverside - Summon Destroyed Sentinel'), +(20869, 0, 2, 3, 10, 0, 100, 1, 0, 15, 0, 0, 28, 31261, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Arcatraz Sentinel - ooc los - remove aura'), +(20869, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 50, 0, 0, 0, 0, 0, 0, 'Arcatraz Sentinel - ooc los - Start attack'); + +DELETE FROM `spelldifficulty_dbc` WHERE id IN (36719,36716); +INSERT INTO `spelldifficulty_dbc` (`id`,`spellid0`, `spellid1`) VALUES +(36719,36719,38830), +(36716,36716,38828); diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_02_world_from_335_was_2017_05_10_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_02_world_from_335_was_2017_05_10_01_world.sql new file mode 100644 index 0000000000..c86e1f71c8 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_02_world_from_335_was_2017_05_10_01_world.sql @@ -0,0 +1,4 @@ +-- +UPDATE `smart_scripts` SET `action_type`=41, `action_param1`=0, `comment`="Time Watcher - On wp Ended - Despawn" WHERE `entryorguid` IN (-23440, -23439, -23438, -23437, -23436, -23433, -23432, -23429, -23426) AND `source_type`=0 AND `id`=2; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (1991800, 1991801) AND `source_type`=9; +UPDATE `creature` SET `spawntimesecs`=30 WHERE `id`=19918; diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_03_world_from_335_was_2017_05_10_02_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_03_world_from_335_was_2017_05_10_02_world.sql new file mode 100644 index 0000000000..c57eb4fe82 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_12_03_world_from_335_was_2017_05_10_02_world.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `gameobject` WHERE `guid`=59; +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(59, 194026, 571, 1, 1, 3739.33, 3566.95, 341.567, 0.242477, 0, 0, 0.139173, 0.990268, 300, 100, 0); diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_00_world_from_335_was_2017_05_13_00_world_335.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_00_world_from_335_was_2017_05_13_00_world_335.sql new file mode 100644 index 0000000000..c560ccab7c --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_00_world_from_335_was_2017_05_13_00_world_335.sql @@ -0,0 +1,4 @@ +-- +-- DELETE FROM `creature` WHERE `guid` = 79379; +-- INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`) VALUES +-- (79379, 1419, 0, 1, 1, 0, 0, -8994.19, 947.069, 118.348, 4.29351, 180, 0, 0, 8, 0, 0); diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_01_world_from_335_was_2017_05_13_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_01_world_from_335_was_2017_05_13_01_world.sql new file mode 100644 index 0000000000..4a98169bad --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_01_world_from_335_was_2017_05_13_01_world.sql @@ -0,0 +1,77 @@ +SET @OGUID:=47713; + +DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+72; +INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`) VALUES +(@OGUID+0 , 176563, 450, 0, 0, 3, 1, -40.41246, 16.34629, -5.145579, 3.455756, 0, 0, -0.9876881, 0.1564362, 7200, 255, 1, '', 23706), -- 176563 (Area: 2917) +(@OGUID+1 , 176566, 450, 0, 0, 3, 1, 206.6491, 66.07558, 25.40491, 3.604106, 0, 0, -0.9733791, 0.2292009, 7200, 255, 0, '', 23706), -- 176566 (Area: 2917) +(@OGUID+2 , 112317, 560, 0, 0, 3, 1, 1794.44, 1112.927, 12.46013, 6.204648, 0, 0, -0.03925896, 0.9992291, 7200, 255, 1, '', 23706), -- 112317 (Area: 2369) +(@OGUID+3 , 112316, 560, 0, 0, 3, 1, 1795.41, 1111.976, 12.46013, 1.579522, 0, 0, 0.7101851, 0.704015, 7200, 255, 1, '', 23706), -- 112316 (Area: 2369) +(@OGUID+4 , 112319, 560, 0, 0, 3, 1, 1808.012, 1112.328, 13.47555, 4.782205, 0, 0, -0.6819973, 0.7313547, 7200, 255, 1, '', 23706), -- 112319 (Area: 2369) +(@OGUID+5 , 112321, 560, 0, 0, 3, 1, 1802.565, 1112.28, 13.47555, 4.721118, 0, 0, -0.7040138, 0.7101862, 7200, 255, 1, '', 23706), -- 112321 (Area: 2369) +(@OGUID+6 , 22910, 560, 0, 0, 3, 1, 1820.542, 1044.187, 18.65778, 4.71239, 0, 0, -0.7071066, 0.7071069, 7200, 255, 1, '', 23706), -- 22910 (Area: 2369) +(@OGUID+7 , 22921, 560, 0, 0, 3, 1, 1801.726, 1034.977, 11.06904, 5.558876, 0, 0, -0.35429, 0.9351356, 7200, 255, 1, '', 23706), -- 22921 (Area: 2369) +(@OGUID+8 , 22923, 560, 0, 0, 3, 1, 1808.022, 1035.029, 11.06904, 4.057892, 0, 0, -0.8968725, 0.4422892, 7200, 255, 1, '', 23706), -- 22923 (Area: 2369) +(@OGUID+9 , 22922, 560, 0, 0, 3, 1, 1803.098, 1035.267, 11.06904, 4.729844, 0, 0, -0.7009087, 0.7132511, 7200, 255, 1, '', 23706), -- 22922 (Area: 2369) +(@OGUID+10, 22925, 560, 0, 0, 3, 1, 1804.703, 1035.279, 11.06904, 4.729844, 0, 0, -0.7009087, 0.7132511, 7200, 255, 1, '', 23706), -- 22925 (Area: 2369) +(@OGUID+11, 22924, 560, 0, 0, 3, 1, 1806.315, 1035.295, 11.06904, 4.598942, 0, 0, -0.7460575, 0.6658815, 7200, 255, 1, '', 23706), -- 22924 (Area: 2369) +(@OGUID+12, 22927, 560, 0, 0, 3, 1, 1818.748, 1044.187, 18.65778, 4.71239, 0, 0, -0.7071066, 0.7071069, 7200, 255, 1, '', 23706), -- 22927 (Area: 2369) +(@OGUID+13, 22926, 560, 0, 0, 3, 1, 1801.52, 1033.646, 11.06904, 0.02617911, 0, 0, 0.01308918, 0.9999143, 7200, 255, 1, '', 23706), -- 22926 (Area: 2369) +(@OGUID+14, 184305, 560, 0, 0, 3, 1, 1818.346, 1031.224, 11.09751, 3.124123, 0, 0, 0.9999619, 0.008734641, 7200, 255, 1, '', 23706), -- 184305 (Area: 2369) +(@OGUID+15, 180570, 560, 0, 0, 3, 1, 1808.454, 1022.87, 13.71209, 1.518436, 0, 0, 0.6883545, 0.7253745, 7200, 255, 1, '', 23706), -- 180570 (Area: 2369) +(@OGUID+16, 184332, 560, 0, 0, 3, 1, 1819.035, 1023.37, 19.71265, 4.729844, 0, 0, -0.7009087, 0.7132511, 7200, 255, 1, '', 23706), -- 184332 (Area: 2369 +(@OGUID+17, 22673, 560, 0, 0, 3, 1, 1885.541, 1103.728, 18.91458, 2.495818, 0, 0, 0.9483232, 0.3173059, 7200, 255, 1, '', 23706), -- 22673 (Area: 2369) +(@OGUID+18, 22672, 560, 0, 0, 3, 1, 1886.727, 1103.384, 18.91458, 1.204277, 0, 0, 0.5664063, 0.8241262, 7200, 255, 1, '', 23706), -- 22672 (Area: 2369) +(@OGUID+19, 22674, 560, 0, 0, 3, 1, 1885.833, 1103.073, 18.91458, 5.297076, 0, 0, -0.4733191, 0.8808911, 7200, 255, 1, '', 23706), -- 22674 (Area: 2369) +(@OGUID+20, 22685, 560, 0, 0, 3, 1, 1892.805, 1090.597, 23.63159, 2.513274, 0, 0, 0.9510565, 0.3090171, 7200, 255, 1, '', 23706), -- 22685 (Area: 2369) +(@OGUID+21, 22684, 560, 0, 0, 3, 1, 1890.807, 1087.847, 23.63159, 2.513274, 0, 0, 0.9510565, 0.3090171, 7200, 255, 1, '', 23706), -- 22684 (Area: 2369) +(@OGUID+22, 22671, 560, 0, 0, 3, 1, 1886.854, 1103.559, 23.83143, 1.204277, 0, 0, 0.5664063, 0.8241262, 7200, 255, 1, '', 23706), -- 22671 (Area: 2369) +(@OGUID+23, 22670, 560, 0, 0, 3, 1, 1885.96, 1103.248, 23.83143, 5.297076, 0, 0, -0.4733191, 0.8808911, 7200, 255, 1, '', 23706), -- 22670 (Area: 2369) +(@OGUID+24, 112305, 560, 0, 0, 3, 1, 1792.475, 1129.977, 13.47555, 4.799657, 0, 0, -0.6755896, 0.7372779, 7200, 255, 1, '', 23706), -- 112305 (Area: 2369) +(@OGUID+25, 112309, 560, 0, 0, 3, 1, 1788.27, 1129.94, 13.47555, 4.756022, 0, 0, -0.6915131, 0.7223639, 7200, 255, 1, '', 23706), -- 112309 (Area: 2369) +(@OGUID+26, 112308, 560, 0, 0, 3, 1, 1790.442, 1129.959, 13.47555, 4.677484, 0, 0, -0.7193394, 0.6946588, 7200, 255, 1, '', 23706), -- 112308 (Area: 2369) +(@OGUID+27, 112311, 560, 0, 0, 3, 1, 1807.419, 1117.274, 13.47555, 1.50098, 0, 0, 0.6819973, 0.7313547, 7200, 255, 1, '', 23706), -- 112311 (Area: 2369) +(@OGUID+28, 112310, 560, 0, 0, 3, 1, 1805.387, 1117.256, 13.47555, 1.64061, 0, 0, 0.7313538, 0.6819983, 7200, 255, 1, '', 23706), -- 112310 (Area: 2369) +(@OGUID+29, 112312, 560, 0, 0, 3, 1, 1809.591, 1117.293, 13.47555, 1.579522, 0, 0, 0.7101851, 0.704015, 7200, 255, 1, '', 23706), -- 112312 (Area: 2369) +(@OGUID+30, 112301, 560, 0, 0, 3, 1, 1805.231, 1130.088, 13.47555, 4.721118, 0, 0, -0.7040138, 0.7101862, 7200, 255, 1, '', 23706), -- 112301 (Area: 2369) +(@OGUID+31, 112303, 560, 0, 0, 3, 1, 1809.436, 1130.125, 13.47555, 4.721118, 0, 0, -0.7040138, 0.7101862, 7200, 255, 1, '', 23706), -- 112303 (Area: 2369) +(@OGUID+32, 112302, 560, 0, 0, 3, 1, 1807.403, 1130.107, 13.47555, 4.81711, 0, 0, -0.6691303, 0.743145, 7200, 255, 1, '', 23706), -- 112302 (Area: 2369) +(@OGUID+33, 174995, 560, 0, 0, 3, 1, 1876.241, 1105.719, 18.84545, 5.654869, 0, 0, -0.3090162, 0.9510568, 7200, 255, 1, '', 23706), -- 174995 (Area: 2369) +(@OGUID+34, 174994, 560, 0, 0, 3, 1, 1874.842, 1103.794, 18.84545, 5.654869, 0, 0, -0.3090162, 0.9510568, 7200, 255, 1, '', 23706), -- 174994 (Area: 2369) +(@OGUID+35, 174997, 560, 0, 0, 3, 1, 1879.806, 1104.808, 18.84545, 4.084071, 0, 0, -0.8910065, 0.4539906, 7200, 255, 1, '', 23706), -- 174997 (Area: 2369) +(@OGUID+36, 174996, 560, 0, 0, 3, 1, 1878.052, 1106.083, 18.84545, 4.084071, 0, 0, -0.8910065, 0.4539906, 7200, 255, 1, '', 23706), -- 174996 (Area: 2369) +(@OGUID+37, 174998, 560, 0, 0, 3, 1, 1881.476, 1103.594, 18.84545, 4.084071, 0, 0, -0.8910065, 0.4539906, 7200, 255, 1, '', 23706), -- 174998 (Area: 2369) +(@OGUID+38, 112322, 560, 0, 0, 3, 1, 1781.195, 1123.755, 13.47555, 0.04363215, 0, 0, 0.02181435, 0.9997621, 7200, 255, 1, '', 23706), -- 112322 (Area: 2369) +(@OGUID+39, 22904, 560, 0, 0, 3, 1, 1822.65, 1035.223, 18.54309, 4.372049, 0, 0, -0.8166418, 0.5771448, 7200, 255, 1, '', 23706), -- 22904 (Area: 2369) +(@OGUID+40, 22909, 560, 0, 0, 3, 1, 1813.019, 1022.755, 18.65778, 0.1919871, 0, 0, 0.09584618, 0.9953961, 7200, 255, 1, '', 23706), -- 22909 (Area: 2369) +(@OGUID+41, 22908, 560, 0, 0, 3, 1, 1821.753, 1023.72, 11.70037, 3.900813, 0, 0, -0.9288092, 0.3705584, 7200, 255, 1, '', 23706), -- 22908 (Area: 2369) +(@OGUID+42, 36977, 560, 0, 0, 3, 1, 1883.635, 1096.758, 18.84545, 5.654869, 0, 0, -0.3090162, 0.9510568, 7200, 255, 1, '', 23706), -- 36977 (Area: 2369) +(@OGUID+43, 3803, 560, 0, 0, 3, 1, 1847.715, 1112.489, 16.38847, 1.771508, 0, 0, 0.7743921, 0.632706, 7200, 255, 1, '', 23706), -- 3803 (Area: 2369) +(@OGUID+44, 3804, 560, 0, 0, 3, 1, 1846.83, 1112.615, 16.38847, 3.063024, 0, 0, 0.9992285, 0.03927403, 7200, 255, 1, '', 23706), -- 3804 (Area: 2369) +(@OGUID+45, 22915, 560, 0, 0, 3, 1, 1820.176, 1023.963, 11.70037, 4.729844, 0, 0, -0.7009087, 0.7132511, 7200, 255, 1, '', 23706), -- 22915 (Area: 2369) +(@OGUID+46, 22915, 560, 0, 0, 3, 1, 1820.176, 1023.963, 11.70037, 4.729844, 0, 0, -0.7009087, 0.7132511, 7200, 255, 1, '', 23706), -- 22915 (Area: 2369) +(@OGUID+47, 22917, 560, 0, 0, 3, 1, 1821.696, 1020.943, 11.70037, 2.347464, 0, 0, 0.9222002, 0.3867128, 7200, 255, 1, '', 23706), -- 22917 (Area: 2369) +(@OGUID+48, 22916, 560, 0, 0, 3, 1, 1818.501, 1023.7, 11.70037, 5.297076, 0, 0, -0.4733191, 0.8808911, 7200, 255, 1, '', 23706), -- 22916 (Area: 2369) +(@OGUID+49, 22919, 560, 0, 0, 3, 1, 1822.449, 1032.6, 18.54309, 1.928588, 0, 0, 0.8216467, 0.5699971, 7200, 255, 1, '', 23706), -- 22919 (Area: 2369) +(@OGUID+50, 22918, 560, 0, 0, 3, 1, 1820.166, 1020.634, 11.70037, 1.544616, 0, 0, 0.6977901, 0.7163023, 7200, 255, 1, '', 23706), -- 22918 (Area: 2369) +(@OGUID+51, 22920, 560, 0, 0, 3, 1, 1818.606, 1020.993, 11.70037, 1.178098, 0, 0, 0.5555706, 0.8314694, 7200, 255, 1, '', 23706), -- 22920 (Area: 2369) +(@OGUID+52, 3803, 560, 0, 0, 3, 1, 1849.74, 1032.096, 16.34453, 5.131269, 0, 0, -0.5446386, 0.8386708, 7200, 255, 1, '', 23706), -- 3803 (Area: 2369) +(@OGUID+53, 3804, 560, 0, 0, 3, 1, 1850.632, 1032.164, 16.34453, 0.1396245, 0, 0, 0.06975555, 0.9975641, 7200, 255, 1, '', 23706), -- 3804 (Area: 2369) +(@OGUID+54, 38147, 560, 0, 0, 3, 1, 1815.941, 1012.808, 18.54309, 1.230456, 0, 0, 0.5771446, 0.816642, 7200, 255, 1, '', 23706), -- 38147 (Area: 2369) +(@OGUID+55, 23013, 560, 0, 0, 3, 1, 1989.882, 1163.661, 31.64357, 2.539454, 0, 0, 0.95502, 0.2965415, 7200, 255, 1, '', 23706), -- 23013 (Area: 2369) +(@OGUID+56, 23015, 560, 0, 0, 3, 1, 1982.852, 1180.465, 31.61295, 5.358162, 0, 0, -0.4461975, 0.8949345, 7200, 255, 1, '', 23706), -- 23015 (Area: 2369) +(@OGUID+57, 23014, 560, 0, 0, 3, 1, 1991.932, 1166.378, 31.64357, 3.176533, 0, 0, -0.9998474, 0.01746928, 7200, 255, 1, '', 23706), -- 23014 (Area: 2 +(@OGUID+58, 4087, 560, 0, 0, 3, 1, 2095.073, 1633.465, 49.88202, 1.605702, 0, 0, 0.7193394, 0.6946588, 7200, 255, 1, '', 23706), -- 4087 (Area: 0) +(@OGUID+59, 4089, 560, 0, 0, 3, 1, 2088.648, 1645.305, 49.88202, 0.165805, 0, 0, 0.08280754, 0.9965656, 7200, 255, 1, '', 23706), -- 4089 (Area: 0) +(@OGUID+60, 4088, 560, 0, 0, 3, 1, 2094.378, 1646.551, 49.88202, 4.415687, 0, 0, -0.8038559, 0.5948241, 7200, 255, 1, '', 23706), -- 4088 (Area: 0) +(@OGUID+61, 4090, 560, 0, 0, 3, 1, 2094.719, 1639.939, 48.07408, 5.654869, 0, 0, -0.3090162, 0.9510568, 7200, 255, 1, '', 23706), -- 4090 (Area: 0 +(@OGUID+62, 22603, 560, 0, 0, 3, 1, 2329.611, 1608.566, 60.49135, 5.873035, 0, 0, -0.2036409, 0.9790456, 7200, 255, 1, '', 23706), -- 22603 (Area: 0) +(@OGUID+63, 22602, 560, 0, 0, 3, 1, 2329.339, 1609.473, 60.49135, 3.68265, 0, 0, -0.9636297, 0.267241, 7200, 255, 1, '', 23706), -- 22602 (Area: 0) +(@OGUID+64, 22605, 560, 0, 0, 3, 1, 2329.837, 1609.87, 55.5745, 0.8813897, 0, 0, 0.426568, 0.9044555, 7200, 255, 1, '', 23706), -- 22605 (Area: 0) +(@OGUID+65, 22604, 560, 0, 0, 3, 1, 2329.442, 1608.7, 55.5745, 5.873035, 0, 0, -0.2036409, 0.9790456, 7200, 255, 1, '', 23706), -- 22604 (Area: 0) +(@OGUID+66, 22606, 560, 0, 0, 3, 1, 2329.17, 1609.607, 55.5745, 3.68265, 0, 0, -0.9636297, 0.267241, 7200, 255, 1, '', 23706), -- 22606 (Area: 0) +(@OGUID+67, 3799, 560, 0, 0, 3, 1, 2223.475, 1484.469, 54.98195, 5.087637, 0, 0, -0.5628042, 0.8265902, 7200, 255, 1, '', 23706), -- 3799 (Area: 0) +(@OGUID+68, 3800, 560, 0, 0, 3, 1, 2224.369, 1484.498, 54.98195, 0.09599175, 0, 0, 0.04797745, 0.9988484, 7200, 255, 1, '', 23706), -- 3800 (Area: +(@OGUID+69, 123244, 560, 0, 0, 3, 1, 2101.137, 1641.488, 49.88202, 3.089183, 0, 0, 0.9996567, 0.02620165, 7200, 255, 1, '', 23706), -- 123244 (Area: 0) +(@OGUID+70, 3799, 560, 0, 0, 3, 1, 2116.721, 1483.125, 46.51685, 4.965463, 0, 0, -0.6122169, 0.7906898, 7200, 255, 1, '', 23706), -- 3799 (Area: 0) +(@OGUID+71, 3800, 560, 0, 0, 3, 1, 2117.612, 1483.045, 46.51685, 6.257006, 0, 0, -0.01308918, 0.9999143, 7200, 255, 1, '', 23706), -- 3800 (Area: 0) +(@OGUID+72, 176308, 329, 0, 0, 3, 1, 3659.384, -3305.042, 127.0623, 5.009095, 0, 0, -0.5948229, 0.8038568, 7200, 255, 1, '', 23706); -- 176308 (Area: 5917) diff --git a/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_02_world_from_335_was_2017_05_14_01_world.sql b/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_02_world_from_335_was_2017_05_14_01_world.sql new file mode 100644 index 0000000000..21f69cdf10 --- /dev/null +++ b/sql/old/4.3.4/world/18_2017_05_16/2017_05_15_02_world_from_335_was_2017_05_14_01_world.sql @@ -0,0 +1 @@ +UPDATE `smart_scripts` SET `target_type`=8 WHERE `entryorguid`=2731600 AND `source_type`=9 AND `id` IN(2,3); diff --git a/sql/updates/auth/4.3.4/2017_05_16_00_auth.sql b/sql/updates/auth/4.3.4/2017_05_16_00_auth.sql new file mode 100644 index 0000000000..f3aa531637 --- /dev/null +++ b/sql/updates/auth/4.3.4/2017_05_16_00_auth.sql @@ -0,0 +1,2 @@ +-- TDB 4.3.4-19 auth database +UPDATE `updates` SET `state`='ARCHIVED'; diff --git a/sql/updates/characters/4.3.4/2017_05_16_00_characters.sql b/sql/updates/characters/4.3.4/2017_05_16_00_characters.sql new file mode 100644 index 0000000000..6ef89bac8a --- /dev/null +++ b/sql/updates/characters/4.3.4/2017_05_16_00_characters.sql @@ -0,0 +1,2 @@ +-- TDB 4.3.4-19 characters database +UPDATE `updates` SET `state`='ARCHIVED'; diff --git a/sql/updates/world/4.3.4/2017_05_16_00_world.sql b/sql/updates/world/4.3.4/2017_05_16_00_world.sql new file mode 100644 index 0000000000..c94027bf38 --- /dev/null +++ b/sql/updates/world/4.3.4/2017_05_16_00_world.sql @@ -0,0 +1,3 @@ +UPDATE `version` SET `db_version`='TDB 434.19', `cache_id`=19 LIMIT 1; + +UPDATE `updates` SET `state`='ARCHIVED'; diff --git a/sql/updates/world/4.3.4/2017_05_16_01_world.sql b/sql/updates/world/4.3.4/2017_05_16_01_world.sql new file mode 100644 index 0000000000..f62ad4efab --- /dev/null +++ b/sql/updates/world/4.3.4/2017_05_16_01_world.sql @@ -0,0 +1,4 @@ +-- +UPDATE `gameobject` SET `spawnMask`=1 WHERE `guid`=47713; +UPDATE `gameobject` SET `spawnMask`=1 WHERE `guid`=47714; +UPDATE `gameobject` SET `spawnMask`=1 WHERE `guid`=47785; diff --git a/src/common/Collision/DynamicTree.cpp b/src/common/Collision/DynamicTree.cpp index 1c6e856e46..a7e2bcf11c 100644 --- a/src/common/Collision/DynamicTree.cpp +++ b/src/common/Collision/DynamicTree.cpp @@ -147,53 +147,32 @@ void DynamicMapTree::update(uint32 t_diff) struct DynamicTreeIntersectionCallback { - bool did_hit; - uint32 phase_mask; - DynamicTreeIntersectionCallback(uint32 phasemask) : did_hit(false), phase_mask(phasemask) { } - bool operator()(const G3D::Ray& r, const GameObjectModel& obj, float& distance) + DynamicTreeIntersectionCallback(std::set const& phases) : _didHit(false), _phases(phases) { } + + bool operator()(G3D::Ray const& r, GameObjectModel const& obj, float& distance) { - did_hit = obj.intersectRay(r, distance, true, phase_mask, VMAP::ModelIgnoreFlags::Nothing); - return did_hit; + _didHit = obj.intersectRay(r, distance, true, _phases, VMAP::ModelIgnoreFlags::Nothing); + return _didHit; } - bool didHit() const { return did_hit;} + + bool didHit() const { return _didHit; } + +private: + bool _didHit; + std::set _phases; }; -struct DynamicTreeIntersectionCallback_WithLogger -{ - bool did_hit; - uint32 phase_mask; - DynamicTreeIntersectionCallback_WithLogger(uint32 phasemask) : did_hit(false), phase_mask(phasemask) - { - TC_LOG_DEBUG("maps", "Dynamic Intersection log"); - } - bool operator()(const G3D::Ray& r, const GameObjectModel& obj, float& distance) - { - TC_LOG_DEBUG("maps", "testing intersection with %s", obj.name.c_str()); - bool hit = obj.intersectRay(r, distance, true, phase_mask, VMAP::ModelIgnoreFlags::Nothing); - if (hit) - { - did_hit = true; - TC_LOG_DEBUG("maps", "result: intersects"); - } - return hit; - } - bool didHit() const { return did_hit;} -}; - -bool DynamicMapTree::getIntersectionTime(const uint32 phasemask, const G3D::Ray& ray, - const G3D::Vector3& endPos, float& maxDist) const +bool DynamicMapTree::getIntersectionTime(std::set const& phases, G3D::Ray const& ray, G3D::Vector3 const& endPos, float& maxDist) const { float distance = maxDist; - DynamicTreeIntersectionCallback callback(phasemask); + DynamicTreeIntersectionCallback callback(phases); impl->intersectRay(ray, callback, distance, endPos); if (callback.didHit()) maxDist = distance; return callback.didHit(); } -bool DynamicMapTree::getObjectHitPos(const uint32 phasemask, const G3D::Vector3& startPos, - const G3D::Vector3& endPos, G3D::Vector3& resultHit, - float modifyDist) const +bool DynamicMapTree::getObjectHitPos(std::set const& phases, G3D::Vector3 const& startPos, G3D::Vector3 const& endPos, G3D::Vector3& resultHitPos, float modifyDist) const { bool result = false; float maxDist = (endPos - startPos).magnitude(); @@ -202,56 +181,54 @@ bool DynamicMapTree::getObjectHitPos(const uint32 phasemask, const G3D::Vector3& // prevent NaN values which can cause BIH intersection to enter infinite loop if (maxDist < 1e-10f) { - resultHit = endPos; + resultHitPos = endPos; return false; } G3D::Vector3 dir = (endPos - startPos)/maxDist; // direction with length of 1 G3D::Ray ray(startPos, dir); float dist = maxDist; - if (getIntersectionTime(phasemask, ray, endPos, dist)) + if (getIntersectionTime(phases, ray, endPos, dist)) { - resultHit = startPos + dir * dist; + resultHitPos = startPos + dir * dist; if (modifyDist < 0) { - if ((resultHit - startPos).magnitude() > -modifyDist) - resultHit = resultHit + dir*modifyDist; + if ((resultHitPos - startPos).magnitude() > -modifyDist) + resultHitPos += dir * modifyDist; else - resultHit = startPos; + resultHitPos = startPos; } else - resultHit = resultHit + dir*modifyDist; + resultHitPos += dir * modifyDist; result = true; } else { - resultHit = endPos; + resultHitPos = endPos; result = false; } return result; } -bool DynamicMapTree::isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask) const +bool DynamicMapTree::isInLineOfSight(G3D::Vector3 const& startPos, G3D::Vector3 const& endPos, std::set const& phases) const { - G3D::Vector3 v1(x1, y1, z1), v2(x2, y2, z2); - - float maxDist = (v2 - v1).magnitude(); + float maxDist = (endPos - startPos).magnitude(); if (!G3D::fuzzyGt(maxDist, 0) ) return true; - G3D::Ray r(v1, (v2-v1) / maxDist); - DynamicTreeIntersectionCallback callback(phasemask); - impl->intersectRay(r, callback, maxDist, v2); + G3D::Ray r(startPos, (endPos - startPos) / maxDist); + DynamicTreeIntersectionCallback callback(phases); + impl->intersectRay(r, callback, maxDist, endPos); - return !callback.did_hit; + return !callback.didHit(); } -float DynamicMapTree::getHeight(float x, float y, float z, float maxSearchDist, uint32 phasemask) const +float DynamicMapTree::getHeight(float x, float y, float z, float maxSearchDist, std::set const& phases) const { G3D::Vector3 v(x, y, z + 0.5f); G3D::Ray r(v, G3D::Vector3(0, 0, -1)); - DynamicTreeIntersectionCallback callback(phasemask); + DynamicTreeIntersectionCallback callback(phases); impl->intersectZAllignedRay(r, callback, maxSearchDist); if (callback.didHit()) diff --git a/src/common/Collision/DynamicTree.h b/src/common/Collision/DynamicTree.h index cbb7c7fdae..f52c536436 100644 --- a/src/common/Collision/DynamicTree.h +++ b/src/common/Collision/DynamicTree.h @@ -40,17 +40,11 @@ public: DynamicMapTree(); ~DynamicMapTree(); - bool isInLineOfSight(float x1, float y1, float z1, float x2, float y2, - float z2, uint32 phasemask) const; + bool isInLineOfSight(G3D::Vector3 const& startPos, G3D::Vector3 const& endPos, std::set const& phases) const; + bool getIntersectionTime(std::set const& phases, G3D::Ray const& ray, G3D::Vector3 const& endPos, float& maxDist) const; + bool getObjectHitPos(std::set const& phases, G3D::Vector3 const& startPos, G3D::Vector3 const& endPos, G3D::Vector3& resultHitPos, float modifyDist) const; - bool getIntersectionTime(uint32 phasemask, const G3D::Ray& ray, - const G3D::Vector3& endPos, float& maxDist) const; - - bool getObjectHitPos(uint32 phasemask, const G3D::Vector3& pPos1, - const G3D::Vector3& pPos2, G3D::Vector3& pResultHitPos, - float pModifyDist) const; - - float getHeight(float x, float y, float z, float maxSearchDist, uint32 phasemask) const; + float getHeight(float x, float y, float z, float maxSearchDist, std::set const& phases) const; void insert(const GameObjectModel&); void remove(const GameObjectModel&); diff --git a/src/common/Collision/Models/GameObjectModel.cpp b/src/common/Collision/Models/GameObjectModel.cpp index 2950a48c21..2ae3159a91 100644 --- a/src/common/Collision/Models/GameObjectModel.cpp +++ b/src/common/Collision/Models/GameObjectModel.cpp @@ -115,7 +115,6 @@ bool GameObjectModel::initialize(std::unique_ptr model name = it->second.name; iPos = modelOwner->GetPosition(); - phasemask = modelOwner->GetPhaseMask(); iScale = modelOwner->GetScale(); iInvScale = 1.f / iScale; @@ -153,9 +152,12 @@ GameObjectModel* GameObjectModel::Create(std::unique_ptr const& phases, VMAP::ModelIgnoreFlags ignoreFlags) const { - if (!(phasemask & ph_mask) || !owner->IsSpawned()) + if (!isCollisionEnabled() || !owner->IsSpawned()) + return false; + + if (!owner->IsInPhase(phases)) return false; float time = ray.intersectionTime(iBound); @@ -165,12 +167,12 @@ bool GameObjectModel::intersectRay(const G3D::Ray& ray, float& MaxDist, bool Sto // child bounds are defined in object space: Vector3 p = iInvRot * (ray.origin() - iPos) * iInvScale; Ray modRay(p, iInvRot * ray.direction()); - float distance = MaxDist * iInvScale; - bool hit = iModel->IntersectRay(modRay, distance, StopAtFirstHit, ignoreFlags); + float distance = maxDist * iInvScale; + bool hit = iModel->IntersectRay(modRay, distance, stopAtFirstHit, ignoreFlags); if (hit) { distance *= iScale; - MaxDist = distance; + maxDist = distance; } return hit; } diff --git a/src/common/Collision/Models/GameObjectModel.h b/src/common/Collision/Models/GameObjectModel.h index c121e421e6..bfe66b377d 100644 --- a/src/common/Collision/Models/GameObjectModel.h +++ b/src/common/Collision/Models/GameObjectModel.h @@ -26,6 +26,7 @@ #include "Define.h" #include +#include namespace VMAP { @@ -41,7 +42,7 @@ class TC_COMMON_API GameObjectModelOwnerBase public: virtual bool IsSpawned() const { return false; } virtual uint32 GetDisplayId() const { return 0; } - virtual uint32 GetPhaseMask() const { return 0; } + virtual bool IsInPhase(std::set const& /*phases*/) const { return false; } virtual G3D::Vector3 GetPosition() const { return G3D::Vector3::zero(); } virtual float GetOrientation() const { return 0.0f; } virtual float GetScale() const { return 1.0f; } @@ -50,7 +51,7 @@ public: class TC_COMMON_API GameObjectModel /*, public Intersectable*/ { - GameObjectModel() : phasemask(0), iInvScale(0), iScale(0), iModel(NULL) { } + GameObjectModel() : _collisionEnabled(false), iInvScale(0), iScale(0), iModel(nullptr) { } public: std::string name; @@ -60,13 +61,11 @@ public: const G3D::Vector3& getPosition() const { return iPos;} - /** Enables\disables collision. */ - void disable() { phasemask = 0;} - void enable(uint32 ph_mask) { phasemask = ph_mask;} + /* Enables/disables collision */ + void enableCollision(bool enable) { _collisionEnabled = enable; } + bool isCollisionEnabled() const { return _collisionEnabled; } - bool isEnabled() const {return phasemask != 0;} - - bool intersectRay(const G3D::Ray& Ray, float& MaxDist, bool StopAtFirstHit, uint32 ph_mask, VMAP::ModelIgnoreFlags ignoreFlags) const; + bool intersectRay(G3D::Ray const& ray, float& maxDist, bool stopAtFirstHit, std::set const& phases, VMAP::ModelIgnoreFlags ignoreFlags) const; static GameObjectModel* Create(std::unique_ptr modelOwner, std::string const& dataPath); @@ -75,7 +74,7 @@ public: private: bool initialize(std::unique_ptr modelOwner, std::string const& dataPath); - uint32 phasemask; + bool _collisionEnabled; G3D::AABox iBound; G3D::Matrix3 iInvRot; G3D::Vector3 iPos; diff --git a/src/server/database/Database/Implementation/WorldDatabase.cpp b/src/server/database/Database/Implementation/WorldDatabase.cpp index b1dea4397f..611f63330d 100644 --- a/src/server/database/Database/Implementation/WorldDatabase.cpp +++ b/src/server/database/Database/Implementation/WorldDatabase.cpp @@ -25,7 +25,7 @@ void WorldDatabaseConnection::DoPrepareStatements() PrepareStatement(WORLD_SEL_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest", CONNECTION_SYNCH); PrepareStatement(WORLD_DEL_CRELINKED_RESPAWN, "DELETE FROM linked_respawn WHERE guid = ?", CONNECTION_ASYNC); PrepareStatement(WORLD_REP_CREATURE_LINKED_RESPAWN, "REPLACE INTO linked_respawn (guid, linkedGuid) VALUES (?, ?)", CONNECTION_ASYNC); - PrepareStatement(WORLD_SEL_CREATURE_TEXT, "SELECT entry, groupid, id, text, type, language, probability, emote, duration, sound, BroadcastTextId, TextRange FROM creature_text", CONNECTION_SYNCH); + PrepareStatement(WORLD_SEL_CREATURE_TEXT, "SELECT CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, BroadcastTextId, TextRange FROM creature_text", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_SMART_SCRIPTS, "SELECT entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o FROM smart_scripts ORDER BY entryorguid, source_type, id, link", CONNECTION_SYNCH); PrepareStatement(WORLD_SEL_SMARTAI_WP, "SELECT entry, pointid, position_x, position_y, position_z FROM waypoints ORDER BY entry, pointid", CONNECTION_SYNCH); PrepareStatement(WORLD_DEL_GAMEOBJECT, "DELETE FROM gameobject WHERE guid = ?", CONNECTION_ASYNC); diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index e48f397498..54db73d238 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -561,17 +561,17 @@ enum RBACPermissions RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE = 654, RBAC_PERM_COMMAND_RELOAD_ITEM_SET_NAMES = 655, RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS = 656, - RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD = 657, - RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE = 658, - RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT = 659, - RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT = 660, - RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION = 661, - RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM = 662, - RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM_SET_NAME = 663, - RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT = 664, - RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT = 665, - RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST = 666, - RBAC_PERM_COMMAND_RELOAD_LOCALES_QUEST = 667, + RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD_LOCALE = 657, + RBAC_PERM_COMMAND_RELOAD_CRETURE_TEMPLATE_LOCALE = 658, + RBAC_PERM_COMMAND_RELOAD_CRETURE_TEXT_LOCALE = 659, + RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_TEMPLATE_LOCALE = 660, + RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION_LOCALE = 661, + RBAC_PERM_COMMAND_RELOAD_ITEM_TEMPLATE_LOCALE = 662, + RBAC_PERM_COMMAND_RELOAD_ITEM_SET_NAME_LOCALE = 663, + RBAC_PERM_COMMAND_RELOAD_NPC_TEXT_LOCALE = 664, + RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT_LOCALE = 665, + RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST_LOCALE = 666, + RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE_LOCALE = 667, RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD = 668, RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE = 669, RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE = 670, diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 0b40d0f140..ffd33c33bb 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -1299,9 +1299,9 @@ bool ConditionMgr::addToGossipMenus(Condition* cond) const { for (GossipMenusContainer::iterator itr = pMenuBounds.first; itr != pMenuBounds.second; ++itr) { - if ((*itr).second.entry == cond->SourceGroup && (*itr).second.text_id == uint32(cond->SourceEntry)) + if ((*itr).second.MenuID == cond->SourceGroup && (*itr).second.TextID == uint32(cond->SourceEntry)) { - (*itr).second.conditions.push_back(cond); + (*itr).second.Conditions.push_back(cond); return true; } } @@ -1318,7 +1318,7 @@ bool ConditionMgr::addToGossipMenuItems(Condition* cond) const { for (GossipMenuItemsContainer::iterator itr = pMenuItemBounds.first; itr != pMenuItemBounds.second; ++itr) { - if ((*itr).second.MenuId == cond->SourceGroup && (*itr).second.OptionIndex == uint32(cond->SourceEntry)) + if ((*itr).second.MenuID == cond->SourceGroup && (*itr).second.OptionID == uint32(cond->SourceEntry)) { (*itr).second.Conditions.push_back(cond); return true; @@ -1665,7 +1665,7 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(cond->SourceEntry); if (!spellInfo) { - TC_LOG_ERROR("sql.sql", "%s in `condition` table, SourceEntry does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); + TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); return false; } @@ -1728,7 +1728,7 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const SpellInfo const* spellProto = sSpellMgr->GetSpellInfo(cond->SourceEntry); if (!spellProto) { - TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table, does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); + TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); return false; } break; @@ -1755,7 +1755,7 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const if (!sSpellMgr->GetSpellInfo(cond->SourceEntry)) { - TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table, does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); + TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); return false; } break; @@ -1768,7 +1768,7 @@ bool ConditionMgr::isSourceTypeValid(Condition* cond) const if (!sSpellMgr->GetSpellInfo(cond->SourceEntry)) { - TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table, does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); + TC_LOG_ERROR("sql.sql", "%s SourceEntry in `condition` table does not exist in `spell.dbc`, ignoring.", cond->ToString().c_str()); return false; } break; diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index f4bf568610..a6cc33088c 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1426,7 +1426,7 @@ bool Creature::LoadCreatureFromDB(ObjectGuid::LowType spawnId, Map* map, bool ad m_deathState = DEAD; if (CanFly()) { - float tz = map->GetHeight(GetPhaseMask(), data->posX, data->posY, data->posZ, true, MAX_FALL_DISTANCE); + float tz = map->GetHeight(GetPhases(), data->posX, data->posY, data->posZ, true, MAX_FALL_DISTANCE); if (data->posZ - tz > 0.1f && Trinity::IsValidMapCoord(tz)) Relocate(data->posX, data->posY, tz); } @@ -2730,7 +2730,7 @@ void Creature::UpdateMovementFlags() return; // Set the movement flags if the creature is in that mode. (Only fly if actually in air, only swim if in water, etc) - float ground = GetMap()->GetHeight(GetPhaseMask(), GetPositionX(), GetPositionY(), GetPositionZMinusOffset()); + float ground = GetMap()->GetHeight(GetPhases(), GetPositionX(), GetPositionY(), GetPositionZMinusOffset()); bool isInAir = (G3D::fuzzyGt(GetPositionZMinusOffset(), ground + 0.05f) || G3D::fuzzyLt(GetPositionZMinusOffset(), ground - 0.05f)); // Can be underground too, prevent the falling diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index 4e8465e109..0d1be067f4 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -85,13 +85,13 @@ void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, ui for (GossipMenuItemsContainer::const_iterator itr = bounds.first; itr != bounds.second; ++itr) { /// Find the one with the given menu item id. - if (itr->second.OptionIndex != menuItemId) + if (itr->second.OptionID != menuItemId) continue; /// Store texts for localization. std::string strOptionText, strBoxText; - BroadcastText const* optionBroadcastText = sObjectMgr->GetBroadcastText(itr->second.OptionBroadcastTextId); - BroadcastText const* boxBroadcastText = sObjectMgr->GetBroadcastText(itr->second.BoxBroadcastTextId); + BroadcastText const* optionBroadcastText = sObjectMgr->GetBroadcastText(itr->second.OptionBroadcastTextID); + BroadcastText const* boxBroadcastText = sObjectMgr->GetBroadcastText(itr->second.BoxBroadcastTextID); /// OptionText if (optionBroadcastText) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index b09bd371e9..382528d5b1 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2225,15 +2225,6 @@ void GameObject::SetDisplayId(uint32 displayid) UpdateModel(); } -bool GameObject::SetInPhase(uint32 id, bool update, bool apply) -{ - bool res = WorldObject::SetInPhase(id, update, apply); - if (m_model && m_model->isEnabled()) - EnableCollision(true); - - return res; -} - void GameObject::EnableCollision(bool enable) { if (!m_model) @@ -2242,7 +2233,7 @@ void GameObject::EnableCollision(bool enable) /*if (enable && !GetMap()->ContainsGameObjectModel(*m_model)) GetMap()->InsertGameObjectModel(*m_model);*/ - m_model->enable(enable ? GetPhaseMask() : 0); + m_model->enableCollision(enable); } void GameObject::UpdateModel() @@ -2490,7 +2481,7 @@ public: virtual bool IsSpawned() const override { return _owner->isSpawned(); } virtual uint32 GetDisplayId() const override { return _owner->GetDisplayId(); } - virtual uint32 GetPhaseMask() const override { return _owner->GetPhaseMask(); } + virtual bool IsInPhase(std::set const& phases) const override { return _owner->IsInPhase(phases); } virtual G3D::Vector3 GetPosition() const override { return G3D::Vector3(_owner->GetPositionX(), _owner->GetPositionY(), _owner->GetPositionZ()); } virtual float GetOrientation() const override { return _owner->GetOrientation(); } virtual float GetScale() const override { return _owner->GetObjectScale(); } diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 09b612a825..de343eae48 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -788,7 +788,6 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject void SetGoAnimProgress(uint8 animprogress) { SetByteValue(GAMEOBJECT_BYTES_1, 3, animprogress); } static void SetGoArtKit(uint8 artkit, GameObject* go, ObjectGuid::LowType lowguid = 0); - bool SetInPhase(uint32 id, bool update, bool apply) override; void EnableCollision(bool enable); void Use(Unit* user); diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index e58acfe9e2..9c6c2076be 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1440,7 +1440,7 @@ bool WorldObject::IsWithinLOS(float ox, float oy, float oz, VMAP::ModelIgnoreFla else GetHitSpherePointFor({ ox, oy, oz }, x, y, z); - return GetMap()->isInLineOfSight(x, y, z + 2.0f, ox, oy, oz + 2.0f, GetPhaseMask(), ignoreFlags); + return GetMap()->isInLineOfSight(x, y, z + 2.0f, ox, oy, oz + 2.0f, GetPhases(), ignoreFlags); } return true; @@ -1610,7 +1610,7 @@ Position WorldObject::GetRandomPoint(const Position &srcPos, float distance) con void WorldObject::UpdateGroundPositionZ(float x, float y, float &z) const { - float new_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z + 2.0f, true); + float new_z = GetMap()->GetHeight(GetPhases(), x, y, z + 2.0f, true); if (new_z > INVALID_HEIGHT) z = new_z + 0.05f; // just to be sure that we are not a few pixel under the surface } @@ -1632,8 +1632,8 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const bool canSwim = ToCreature()->CanSwim(); float ground_z = z; float max_z = canSwim - ? GetMap()->GetWaterOrGroundLevel(GetPhaseMask(), x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK)) - : ((ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true))); + ? GetMap()->GetWaterOrGroundLevel(GetPhases(), x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK)) + : ((ground_z = GetMap()->GetHeight(GetPhases(), x, y, z, true))); if (max_z > INVALID_HEIGHT) { if (z > max_z) @@ -1644,7 +1644,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const } else { - float ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true); + float ground_z = GetMap()->GetHeight(GetPhases(), x, y, z, true); if (z < ground_z) z = ground_z; } @@ -1656,7 +1656,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const if (!ToPlayer()->CanFly()) { float ground_z = z; - float max_z = GetMap()->GetWaterOrGroundLevel(GetPhaseMask(), x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK)); + float max_z = GetMap()->GetWaterOrGroundLevel(GetPhases(), x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK)); if (max_z > INVALID_HEIGHT) { if (z > max_z) @@ -1667,7 +1667,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const } else { - float ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true); + float ground_z = GetMap()->GetHeight(GetPhases(), x, y, z, true); if (z < ground_z) z = ground_z; } @@ -1675,7 +1675,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const } default: { - float ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true); + float ground_z = GetMap()->GetHeight(GetPhases(), x, y, z, true); if (ground_z > INVALID_HEIGHT) z = ground_z; break; @@ -2431,8 +2431,8 @@ void WorldObject::MovePosition(Position &pos, float dist, float angle) return; } - ground = GetMap()->GetHeight(GetPhaseMask(), destx, desty, MAX_HEIGHT, true); - floor = GetMap()->GetHeight(GetPhaseMask(), destx, desty, pos.m_positionZ, true); + ground = GetMap()->GetHeight(GetPhases(), destx, desty, MAX_HEIGHT, true); + floor = GetMap()->GetHeight(GetPhases(), destx, desty, pos.m_positionZ, true); destz = std::fabs(ground - pos.m_positionZ) <= std::fabs(floor - pos.m_positionZ) ? ground : floor; float step = dist/10.0f; @@ -2444,8 +2444,8 @@ void WorldObject::MovePosition(Position &pos, float dist, float angle) { destx -= step * std::cos(angle); desty -= step * std::sin(angle); - ground = GetMap()->GetHeight(GetPhaseMask(), destx, desty, MAX_HEIGHT, true); - floor = GetMap()->GetHeight(GetPhaseMask(), destx, desty, pos.m_positionZ, true); + ground = GetMap()->GetHeight(GetPhases(), destx, desty, MAX_HEIGHT, true); + floor = GetMap()->GetHeight(GetPhases(), destx, desty, pos.m_positionZ, true); destz = std::fabs(ground - pos.m_positionZ) <= std::fabs(floor - pos.m_positionZ) ? ground : floor; } // we have correct destz now @@ -2465,8 +2465,8 @@ void WorldObject::MovePosition(Position &pos, float dist, float angle) // @todo: replace with WorldObject::UpdateAllowedPositionZ float NormalizeZforCollision(WorldObject* obj, float x, float y, float z) { - float ground = obj->GetMap()->GetHeight(obj->GetPhaseMask(), x, y, MAX_HEIGHT, true); - float floor = obj->GetMap()->GetHeight(obj->GetPhaseMask(), x, y, z + 2.0f, true); + float ground = obj->GetMap()->GetHeight(obj->GetPhases(), x, y, MAX_HEIGHT, true); + float floor = obj->GetMap()->GetHeight(obj->GetPhases(), x, y, z + 2.0f, true); float helper = std::fabs(ground - z) <= std::fabs(floor - z) ? ground : floor; if (z > helper) // must be above ground { @@ -2515,7 +2515,7 @@ void WorldObject::MovePositionToFirstCollision(Position &pos, float dist, float } // check dynamic collision - col = GetMap()->getObjectHitPos(GetPhaseMask(), pos.m_positionX, pos.m_positionY, pos.m_positionZ + 0.5f, destx, desty, destz + 0.5f, destx, desty, destz, -0.5f); + col = GetMap()->getObjectHitPos(GetPhases(), pos.m_positionX, pos.m_positionY, pos.m_positionZ + 0.5f, destx, desty, destz + 0.5f, destx, desty, destz, -0.5f); // Collided with a gameobject if (col) @@ -2692,22 +2692,27 @@ void WorldObject::ClearPhases(bool update) UpdateObjectVisibility(); } -bool WorldObject::IsInPhase(WorldObject const* obj) const +bool WorldObject::IsInPhase(std::set const& phases) const { // PhaseId 169 is the default fallback phase - if (_phases.empty() && obj->GetPhases().empty()) + if (_phases.empty() && phases.empty()) return true; - if (_phases.empty() && obj->IsInPhase(DEFAULT_PHASE)) + if (_phases.empty() && phases.count(DEFAULT_PHASE) > 0) return true; - if (obj->GetPhases().empty() && IsInPhase(DEFAULT_PHASE)) + if (phases.empty() && _phases.count(DEFAULT_PHASE) > 0) return true; + return Trinity::Containers::Intersects(_phases.begin(), _phases.end(), phases.begin(), phases.end()); +} + +bool WorldObject::IsInPhase(WorldObject const* obj) const +{ if (GetTypeId() == TYPEID_PLAYER && ToPlayer()->IsGameMaster()) return true; - return Trinity::Containers::Intersects(_phases.begin(), _phases.end(), obj->GetPhases().begin(), obj->GetPhases().end()); + return IsInPhase(obj->GetPhases()); } void WorldObject::PlayDistanceSound(uint32 sound_id, Player* target /*= NULL*/) diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 503140133a..21d6803384 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -487,6 +487,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation bool HasInPhaseList(uint32 phase); uint32 GetPhaseMask() const { return m_phaseMask; } bool IsInPhase(uint32 phase) const { return _phases.find(phase) != _phases.end(); } + bool IsInPhase(std::set const& phases) const; bool IsInPhase(WorldObject const* obj) const; bool IsInTerrainSwap(uint32 terrainSwap) const { return _terrainSwaps.find(terrainSwap) != _terrainSwaps.end(); } std::set const& GetPhases() const { return _phases; } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 6c4350fdcf..7b186b715c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14172,7 +14172,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool if (Creature* creature = source->ToCreature()) { - if (!(itr->second.OptionNpcflag & npcflags)) + if (!(itr->second.OptionNpcFlag & npcflags)) continue; switch (itr->second.OptionType) @@ -14243,7 +14243,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool canTalk = false; break; default: - TC_LOG_ERROR("sql.sql", "Creature entry %u has unknown gossip option %u for menu %u.", creature->GetEntry(), itr->second.OptionType, itr->second.MenuId); + TC_LOG_ERROR("sql.sql", "Creature entry %u has unknown gossip option %u for menu %u.", creature->GetEntry(), itr->second.OptionType, itr->second.MenuID); canTalk = false; break; } @@ -14265,8 +14265,8 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool if (canTalk) { std::string strOptionText, strBoxText; - BroadcastText const* optionBroadcastText = sObjectMgr->GetBroadcastText(itr->second.OptionBroadcastTextId); - BroadcastText const* boxBroadcastText = sObjectMgr->GetBroadcastText(itr->second.BoxBroadcastTextId); + BroadcastText const* optionBroadcastText = sObjectMgr->GetBroadcastText(itr->second.OptionBroadcastTextID); + BroadcastText const* boxBroadcastText = sObjectMgr->GetBroadcastText(itr->second.BoxBroadcastTextID); LocaleConstant locale = GetSession()->GetSessionDbLocaleIndex(); if (optionBroadcastText) @@ -14284,20 +14284,20 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool if (!optionBroadcastText) { /// Find localizations from database. - if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, itr->second.OptionIndex))) + if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, itr->second.OptionID))) ObjectMgr::GetLocaleString(gossipMenuLocale->OptionText, locale, strOptionText); } if (!boxBroadcastText) { /// Find localizations from database. - if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, itr->second.OptionIndex))) + if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, itr->second.OptionID))) ObjectMgr::GetLocaleString(gossipMenuLocale->BoxText, locale, strBoxText); } } - menu->GetGossipMenu().AddMenuItem(itr->second.OptionIndex, itr->second.OptionIcon, strOptionText, 0, itr->second.OptionType, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded); - menu->GetGossipMenu().AddGossipMenuItemData(itr->second.OptionIndex, itr->second.ActionMenuId, itr->second.ActionPoiId); + menu->GetGossipMenu().AddMenuItem(itr->second.OptionID, itr->second.OptionIcon, strOptionText, 0, itr->second.OptionType, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded); + menu->GetGossipMenu().AddGossipMenuItemData(itr->second.OptionID, itr->second.ActionMenuID, itr->second.ActionPoiID); } } } @@ -14494,8 +14494,8 @@ uint32 Player::GetGossipTextId(uint32 menuId, WorldObject* source) for (GossipMenusContainer::const_iterator itr = menuBounds.first; itr != menuBounds.second; ++itr) { - if (sConditionMgr->IsObjectMeetToConditions(this, source, itr->second.conditions)) - textId = itr->second.text_id; + if (sConditionMgr->IsObjectMeetToConditions(this, source, itr->second.Conditions)) + textId = itr->second.TextID; } return textId; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 1eb7b16035..8a881314c1 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -8875,8 +8875,6 @@ void Unit::setDeathState(DeathState s) if (s == JUST_DIED) { - ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, false); - ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false); // remove aurastates allowing special moves ClearAllReactives(); ClearDiminishings(); @@ -10669,13 +10667,13 @@ Player* Unit::GetSpellModOwner() const if (Player* player = const_cast(this)->ToPlayer()) return player; - if (IsPet() || IsTotem()) + if (HasUnitTypeMask(UNIT_MASK_PET | UNIT_MASK_TOTEM | UNIT_MASK_GUARDIAN)) { if (Unit* owner = GetOwner()) if (Player* player = owner->ToPlayer()) return player; } - return NULL; + return nullptr; } ///----------Pet responses methods----------------- @@ -13178,7 +13176,7 @@ void Unit::_ExitVehicle(Position const* exitPosition) Movement::MoveSplineInit init(this); // Creatures without inhabit type air should begin falling after exiting the vehicle - if (GetTypeId() == TYPEID_UNIT && !CanFly() && height > GetMap()->GetWaterOrGroundLevel(GetPhaseMask(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), &height) + 0.1f) + if (GetTypeId() == TYPEID_UNIT && !CanFly() && height > GetMap()->GetWaterOrGroundLevel(GetPhases(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), &height) + 0.1f) init.SetFall(); init.MoveTo(pos.GetPositionX(), pos.GetPositionY(), height, false); diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 4a9540660d..3e47a15d51 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -357,12 +357,8 @@ void ObjectMgr::LoadGossipMenuItemsLocales() _gossipMenuItemsLocaleStore.clear(); // need for reload case - QueryResult result = WorldDatabase.Query("SELECT menu_id, id, " - "option_text_loc1, box_text_loc1, option_text_loc2, box_text_loc2, " - "option_text_loc3, box_text_loc3, option_text_loc4, box_text_loc4, " - "option_text_loc5, box_text_loc5, option_text_loc6, box_text_loc6, " - "option_text_loc7, box_text_loc7, option_text_loc8, box_text_loc8 " - "FROM locales_gossip_menu_option"); + // 0 1 2 3 4 + QueryResult result = WorldDatabase.Query("SELECT MenuID, OptionID, Locale, OptionText, BoxText FROM gossip_menu_option_locale"); if (!result) return; @@ -371,19 +367,20 @@ void ObjectMgr::LoadGossipMenuItemsLocales() { Field* fields = result->Fetch(); - uint16 menuId = fields[0].GetUInt16(); - uint16 id = fields[1].GetUInt16(); + uint16 menuId = fields[0].GetUInt16(); + uint16 optionId = fields[1].GetUInt16(); + std::string localeName = fields[2].GetString(); + std::string optionText = fields[3].GetString(); + std::string boxText = fields[4].GetString(); - GossipMenuItemsLocale& data = _gossipMenuItemsLocaleStore[MAKE_PAIR32(menuId, id)]; + GossipMenuItemsLocale& data = _gossipMenuItemsLocaleStore[MAKE_PAIR32(menuId, optionId)]; + LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; - for (uint8 i = OLD_TOTAL_LOCALES - 1; i > 0; --i) - { - LocaleConstant locale = (LocaleConstant) i; - AddLocaleString(fields[2 + 2 * (i - 1)].GetString(), locale, data.OptionText); - AddLocaleString(fields[2 + 2 * (i - 1) + 1].GetString(), locale, data.BoxText); - } - } - while (result->NextRow()); + AddLocaleString(optionText, locale, data.OptionText); + AddLocaleString(boxText, locale, data.BoxText); + } while (result->NextRow()); TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu_option locale strings in %u ms", uint32(_gossipMenuItemsLocaleStore.size()), GetMSTimeDiffToNow(oldMSTime)); } @@ -445,12 +442,10 @@ void ObjectMgr::LoadCreatureTemplates() } _creatureTemplateStore.rehash(result->GetRowCount()); - uint32 count = 0; do { Field* fields = result->Fetch(); LoadCreatureTemplate(fields); - ++count; } while (result->NextRow()); @@ -458,7 +453,7 @@ void ObjectMgr::LoadCreatureTemplates() for (CreatureTemplateContainer::const_iterator itr = _creatureTemplateStore.begin(); itr != _creatureTemplateStore.end(); ++itr) CheckCreatureTemplate(&itr->second); - TC_LOG_INFO("server.loading", ">> Loaded %u creature definitions in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); + TC_LOG_INFO("server.loading", ">> Loaded %u creature definitions in %u ms", uint32(_creatureTemplateStore.size()), GetMSTimeDiffToNow(oldMSTime)); } void ObjectMgr::LoadCreatureTemplate(Field* fields) @@ -5685,16 +5680,10 @@ void ObjectMgr::LoadNpcTextLocales() _npcTextLocaleStore.clear(); // need for reload case - QueryResult result = WorldDatabase.Query("SELECT ID, " - "Text0_0_loc1, Text0_1_loc1, Text1_0_loc1, Text1_1_loc1, Text2_0_loc1, Text2_1_loc1, Text3_0_loc1, Text3_1_loc1, Text4_0_loc1, Text4_1_loc1, Text5_0_loc1, Text5_1_loc1, Text6_0_loc1, Text6_1_loc1, Text7_0_loc1, Text7_1_loc1, " - "Text0_0_loc2, Text0_1_loc2, Text1_0_loc2, Text1_1_loc2, Text2_0_loc2, Text2_1_loc2, Text3_0_loc2, Text3_1_loc1, Text4_0_loc2, Text4_1_loc2, Text5_0_loc2, Text5_1_loc2, Text6_0_loc2, Text6_1_loc2, Text7_0_loc2, Text7_1_loc2, " - "Text0_0_loc3, Text0_1_loc3, Text1_0_loc3, Text1_1_loc3, Text2_0_loc3, Text2_1_loc3, Text3_0_loc3, Text3_1_loc1, Text4_0_loc3, Text4_1_loc3, Text5_0_loc3, Text5_1_loc3, Text6_0_loc3, Text6_1_loc3, Text7_0_loc3, Text7_1_loc3, " - "Text0_0_loc4, Text0_1_loc4, Text1_0_loc4, Text1_1_loc4, Text2_0_loc4, Text2_1_loc4, Text3_0_loc4, Text3_1_loc1, Text4_0_loc4, Text4_1_loc4, Text5_0_loc4, Text5_1_loc4, Text6_0_loc4, Text6_1_loc4, Text7_0_loc4, Text7_1_loc4, " - "Text0_0_loc5, Text0_1_loc5, Text1_0_loc5, Text1_1_loc5, Text2_0_loc5, Text2_1_loc5, Text3_0_loc5, Text3_1_loc1, Text4_0_loc5, Text4_1_loc5, Text5_0_loc5, Text5_1_loc5, Text6_0_loc5, Text6_1_loc5, Text7_0_loc5, Text7_1_loc5, " - "Text0_0_loc6, Text0_1_loc6, Text1_0_loc6, Text1_1_loc6, Text2_0_loc6, Text2_1_loc6, Text3_0_loc6, Text3_1_loc1, Text4_0_loc6, Text4_1_loc6, Text5_0_loc6, Text5_1_loc6, Text6_0_loc6, Text6_1_loc6, Text7_0_loc6, Text7_1_loc6, " - "Text0_0_loc7, Text0_1_loc7, Text1_0_loc7, Text1_1_loc7, Text2_0_loc7, Text2_1_loc7, Text3_0_loc7, Text3_1_loc1, Text4_0_loc7, Text4_1_loc7, Text5_0_loc7, Text5_1_loc7, Text6_0_loc7, Text6_1_loc7, Text7_0_loc7, Text7_1_loc7, " - "Text0_0_loc8, Text0_1_loc8, Text1_0_loc8, Text1_1_loc8, Text2_0_loc8, Text2_1_loc8, Text3_0_loc8, Text3_1_loc1, Text4_0_loc8, Text4_1_loc8, Text5_0_loc8, Text5_1_loc8, Text6_0_loc8, Text6_1_loc8, Text7_0_loc8, Text7_1_loc8 " - " FROM locales_npc_text"); + QueryResult result = WorldDatabase.Query("SELECT ID, Locale, " + // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 + "Text0_0, Text0_1, Text1_0, Text1_1, Text2_0, Text2_1, Text3_0, Text3_1, Text4_0, Text4_1, Text5_0, Text5_1, Text6_0, Text6_1, Text7_0, Text7_1 " + "FROM npc_text_locale"); if (!result) return; @@ -5703,18 +5692,18 @@ void ObjectMgr::LoadNpcTextLocales() { Field* fields = result->Fetch(); - uint32 entry = fields[0].GetUInt32(); + uint32 id = fields[0].GetUInt32(); + std::string localeName = fields[1].GetString(); - NpcTextLocale& data = _npcTextLocaleStore[entry]; + NpcTextLocale& data = _npcTextLocaleStore[id]; + LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; - for (uint8 i = OLD_TOTAL_LOCALES - 1; i > 0; --i) + for (uint8 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i) { - LocaleConstant locale = (LocaleConstant) i; - for (uint8 j = 0; j < MAX_GOSSIP_TEXT_OPTIONS; ++j) - { - AddLocaleString(fields[1 + 8 * 2 * (i - 1) + 2 * j].GetString(), locale, data.Text_0[j]); - AddLocaleString(fields[1 + 8 * 2 * (i - 1) + 2 * j + 1].GetString(), locale, data.Text_1[j]); - } + AddLocaleString(fields[2 + i * 2].GetString(), locale, data.Text_0[i]); + AddLocaleString(fields[3 + i * 2].GetString(), locale, data.Text_1[i]); } } while (result->NextRow()); @@ -8568,38 +8557,34 @@ void ObjectMgr::LoadGossipMenu() _gossipMenusStore.clear(); - QueryResult result = WorldDatabase.Query("SELECT entry, text_id FROM gossip_menu"); + // 0 1 + QueryResult result = WorldDatabase.Query("SELECT MenuID, TextID FROM gossip_menu"); if (!result) { - TC_LOG_ERROR("server.loading", ">> Loaded 0 gossip_menu entries. DB table `gossip_menu` is empty!"); + TC_LOG_ERROR("server.loading", ">> Loaded 0 gossip_menu IDs. DB table `gossip_menu` is empty!"); return; } - uint32 count = 0; - do { Field* fields = result->Fetch(); GossipMenus gMenu; - gMenu.entry = fields[0].GetUInt16(); - gMenu.text_id = fields[1].GetUInt32(); + gMenu.MenuID = fields[0].GetUInt16(); + gMenu.TextID = fields[1].GetUInt32(); - if (!GetGossipText(gMenu.text_id)) + if (!GetGossipText(gMenu.TextID)) { - TC_LOG_ERROR("sql.sql", "Table gossip_menu entry %u are using non-existing text_id %u", gMenu.entry, gMenu.text_id); + TC_LOG_ERROR("sql.sql", "Table gossip_menu: ID %u is using non-existing TextID %u", gMenu.MenuID, gMenu.TextID); continue; } - _gossipMenusStore.insert(GossipMenusContainer::value_type(gMenu.entry, gMenu)); + _gossipMenusStore.insert(GossipMenusContainer::value_type(gMenu.MenuID, gMenu)); + } while (result->NextRow()); - ++count; - } - while (result->NextRow()); - - TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu entries in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); + TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu IDs in %u ms", uint32(_gossipMenusStore.size()), GetMSTimeDiffToNow(oldMSTime)); } void ObjectMgr::LoadGossipMenuItems() @@ -8609,77 +8594,73 @@ void ObjectMgr::LoadGossipMenuItems() _gossipMenuItemsStore.clear(); QueryResult result = WorldDatabase.Query( - // 0 1 2 3 4 5 6 7 8 9 10 11 12 - "SELECT 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 " - "FROM gossip_menu_option ORDER BY menu_id, id"); + // 0 1 2 3 4 5 6 7 8 9 10 11 12 + "SELECT MenuID, OptionID, OptionIcon, OptionText, OptionBroadcastTextID, OptionType, OptionNpcFlag, ActionMenuID, ActionPoiID, BoxCoded, BoxMoney, BoxText, BoxBroadcastTextID " + "FROM gossip_menu_option ORDER BY MenuID, OptionID"); if (!result) { - TC_LOG_ERROR("server.loading", ">> Loaded 0 gossip_menu_option entries. DB table `gossip_menu_option` is empty!"); + TC_LOG_ERROR("server.loading", ">> Loaded 0 gossip_menu_option IDs. DB table `gossip_menu_option` is empty!"); return; } - uint32 count = 0; - do { Field* fields = result->Fetch(); GossipMenuItems gMenuItem; - gMenuItem.MenuId = fields[0].GetUInt16(); - gMenuItem.OptionIndex = fields[1].GetUInt16(); + gMenuItem.MenuID = fields[0].GetUInt16(); + gMenuItem.OptionID = fields[1].GetUInt16(); gMenuItem.OptionIcon = fields[2].GetUInt32(); gMenuItem.OptionText = fields[3].GetString(); - gMenuItem.OptionBroadcastTextId = fields[4].GetUInt32(); + gMenuItem.OptionBroadcastTextID = fields[4].GetUInt32(); gMenuItem.OptionType = fields[5].GetUInt8(); - gMenuItem.OptionNpcflag = fields[6].GetUInt32(); - gMenuItem.ActionMenuId = fields[7].GetUInt32(); - gMenuItem.ActionPoiId = fields[8].GetUInt32(); + gMenuItem.OptionNpcFlag = fields[6].GetUInt32(); + gMenuItem.ActionMenuID = fields[7].GetUInt32(); + gMenuItem.ActionPoiID = fields[8].GetUInt32(); gMenuItem.BoxCoded = fields[9].GetBool(); gMenuItem.BoxMoney = fields[10].GetUInt32(); gMenuItem.BoxText = fields[11].GetString(); - gMenuItem.BoxBroadcastTextId = fields[12].GetUInt32(); + gMenuItem.BoxBroadcastTextID = fields[12].GetUInt32(); if (gMenuItem.OptionIcon >= GOSSIP_ICON_MAX) { - TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown icon id %u. Replacing with GOSSIP_ICON_CHAT", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionIcon); + TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown icon id %u. Replacing with GOSSIP_ICON_CHAT", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.OptionIcon); gMenuItem.OptionIcon = GOSSIP_ICON_CHAT; } - if (gMenuItem.OptionBroadcastTextId) + if (gMenuItem.OptionBroadcastTextID) { - if (!GetBroadcastText(gMenuItem.OptionBroadcastTextId)) + if (!GetBroadcastText(gMenuItem.OptionBroadcastTextID)) { - TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible OptionBroadcastTextId %u, ignoring.", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionBroadcastTextId); - gMenuItem.OptionBroadcastTextId = 0; + TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible OptionBroadcastTextID %u, ignoring.", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.OptionBroadcastTextID); + gMenuItem.OptionBroadcastTextID = 0; } } if (gMenuItem.OptionType >= GOSSIP_OPTION_MAX) - TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown option id %u. Option will not be used", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionType); + TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown option id %u. Option will not be used", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.OptionType); - if (gMenuItem.ActionPoiId && !GetPointOfInterest(gMenuItem.ActionPoiId)) + if (gMenuItem.ActionPoiID && !GetPointOfInterest(gMenuItem.ActionPoiID)) { - TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u use non-existing action_poi_id %u, ignoring", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.ActionPoiId); - gMenuItem.ActionPoiId = 0; + TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u use non-existing ActionPoiID %u, ignoring", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.ActionPoiID); + gMenuItem.ActionPoiID = 0; } - if (gMenuItem.BoxBroadcastTextId) + if (gMenuItem.BoxBroadcastTextID) { - if (!GetBroadcastText(gMenuItem.BoxBroadcastTextId)) + if (!GetBroadcastText(gMenuItem.BoxBroadcastTextID)) { - TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible BoxBroadcastTextId %u, ignoring.", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.BoxBroadcastTextId); - gMenuItem.BoxBroadcastTextId = 0; + TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible BoxBroadcastTextID %u, ignoring.", gMenuItem.MenuID, gMenuItem.OptionID, gMenuItem.BoxBroadcastTextID); + gMenuItem.BoxBroadcastTextID = 0; } } - _gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuId, gMenuItem)); - ++count; - } - while (result->NextRow()); + _gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuID, gMenuItem)); + } while (result->NextRow()); - TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu_option entries in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); + TC_LOG_INFO("server.loading", ">> Loaded %u gossip_menu_option entries in %u ms", uint32(_gossipMenuItemsStore.size()), GetMSTimeDiffToNow(oldMSTime)); } void ObjectMgr::AddVendorItem(uint32 entry, uint32 item, int32 maxcount, uint32 incrtime, uint32 extendedCost, uint8 type, bool persist /*= true*/) diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index cd2b81dee2..28307467a9 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -563,27 +563,27 @@ struct PointOfInterest struct GossipMenuItems { - uint32 MenuId; - uint32 OptionIndex; - uint8 OptionIcon; - std::string OptionText; - uint32 OptionBroadcastTextId; - uint32 OptionType; - uint32 OptionNpcflag; - uint32 ActionMenuId; - uint32 ActionPoiId; - bool BoxCoded; - uint32 BoxMoney; - std::string BoxText; - uint32 BoxBroadcastTextId; - ConditionContainer Conditions; + uint32 MenuID; + uint32 OptionID; + uint8 OptionIcon; + std::string OptionText; + uint32 OptionBroadcastTextID; + uint32 OptionType; + uint32 OptionNpcFlag; + uint32 ActionMenuID; + uint32 ActionPoiID; + bool BoxCoded; + uint32 BoxMoney; + std::string BoxText; + uint32 BoxBroadcastTextID; + ConditionContainer Conditions; }; struct GossipMenus { - uint32 entry; - uint32 text_id; - ConditionContainer conditions; + uint32 MenuID; + uint32 TextID; + ConditionContainer Conditions; }; typedef std::multimap GossipMenusContainer; diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index cfb87651ed..7aca8ed5d0 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -267,7 +267,7 @@ void WorldSession::HandleCorpseQueryOpcode(WorldPacket& /*recvData*/) mapID = corpseMapEntry->entrance_map; x = corpseMapEntry->entrance_x; y = corpseMapEntry->entrance_y; - z = entranceMap->GetHeight(GetPlayer()->GetPhaseMask(), x, y, MAX_HEIGHT); + z = entranceMap->GetHeight(GetPlayer()->GetPhases(), x, y, MAX_HEIGHT); } } } diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 744a93a82a..f0b3b105dc 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2230,12 +2230,12 @@ inline GridMap* Map::GetGrid(float x, float y) return GridMaps[gx][gy]; } -float Map::GetWaterOrGroundLevel(uint32 phasemask, float x, float y, float z, float* ground /*= NULL*/, bool /*swim = false*/) const +float Map::GetWaterOrGroundLevel(std::set const& phases, float x, float y, float z, float* ground /*= nullptr*/, bool /*swim = false*/) const { if (const_cast(this)->GetGrid(x, y)) { // we need ground level (including grid height version) for proper return water level in point - float ground_z = GetHeight(phasemask, x, y, z, true, 50.0f); + float ground_z = GetHeight(phases, x, y, z, true, 50.0f); if (ground) *ground = ground_z; @@ -2516,19 +2516,19 @@ float Map::GetWaterLevel(float x, float y) const return 0; } -bool Map::isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask, VMAP::ModelIgnoreFlags ignoreFlags) const +bool Map::isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, std::set const& phases, VMAP::ModelIgnoreFlags ignoreFlags) const { return VMAP::VMapFactory::createOrGetVMapManager()->isInLineOfSight(GetId(), x1, y1, z1, x2, y2, z2, ignoreFlags) - && _dynamicTree.isInLineOfSight(x1, y1, z1, x2, y2, z2, phasemask); + && _dynamicTree.isInLineOfSight({ x1, y1, z1 }, { x2, y2, z2 }, phases); } -bool Map::getObjectHitPos(uint32 phasemask, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float& ry, float& rz, float modifyDist) +bool Map::getObjectHitPos(std::set const& phases, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float& ry, float& rz, float modifyDist) { G3D::Vector3 startPos(x1, y1, z1); G3D::Vector3 dstPos(x2, y2, z2); G3D::Vector3 resultPos; - bool result = _dynamicTree.getObjectHitPos(phasemask, startPos, dstPos, resultPos, modifyDist); + bool result = _dynamicTree.getObjectHitPos(phases, startPos, dstPos, resultPos, modifyDist); rx = resultPos.x; ry = resultPos.y; @@ -2536,9 +2536,9 @@ bool Map::getObjectHitPos(uint32 phasemask, float x1, float y1, float z1, float return result; } -float Map::GetHeight(uint32 phasemask, float x, float y, float z, bool vmap/*=true*/, float maxSearchDist/*=DEFAULT_HEIGHT_SEARCH*/) const +float Map::GetHeight(std::set const& phases, float x, float y, float z, bool vmap /*= true*/, float maxSearchDist /*= DEFAULT_HEIGHT_SEARCH*/) const { - return std::max(GetHeight(x, y, z, vmap, maxSearchDist), _dynamicTree.getHeight(x, y, z, maxSearchDist, phasemask)); + return std::max(GetHeight(x, y, z, vmap, maxSearchDist), _dynamicTree.getHeight(x, y, z, maxSearchDist, phases)); } bool Map::IsInWater(float x, float y, float pZ, LiquidData* data) const diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index c2db734f24..6e611c3b12 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -492,14 +492,14 @@ class TC_GAME_API Map : public GridRefManager BattlegroundMap* ToBattlegroundMap() { if (IsBattlegroundOrArena()) return reinterpret_cast(this); else return NULL; } BattlegroundMap const* ToBattlegroundMap() const { if (IsBattlegroundOrArena()) return reinterpret_cast(this); return NULL; } - float GetWaterOrGroundLevel(uint32 phasemask, float x, float y, float z, float* ground = NULL, bool swim = false) const; - float GetHeight(uint32 phasemask, float x, float y, float z, bool vmap = true, float maxSearchDist = DEFAULT_HEIGHT_SEARCH) const; - bool isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask, VMAP::ModelIgnoreFlags ignoreFlags) const; + float GetWaterOrGroundLevel(std::set const& phases, float x, float y, float z, float* ground = nullptr, bool swim = false) const; + float GetHeight(std::set const& phases, float x, float y, float z, bool vmap = true, float maxSearchDist = DEFAULT_HEIGHT_SEARCH) const; + bool isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, std::set const& phases, VMAP::ModelIgnoreFlags ignoreFlags) const; void Balance() { _dynamicTree.balance(); } void RemoveGameObjectModel(const GameObjectModel& model) { _dynamicTree.remove(model); } void InsertGameObjectModel(const GameObjectModel& model) { _dynamicTree.insert(model); } bool ContainsGameObjectModel(const GameObjectModel& model) const { return _dynamicTree.contains(model);} - bool getObjectHitPos(uint32 phasemask, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float &ry, float& rz, float modifyDist); + bool getObjectHitPos(std::set const& phases, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float &ry, float& rz, float modifyDist); virtual uint32 GetOwnerGuildId(uint32 /*team*/ = TEAM_OTHER) const { return 0; } /* diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 47a8605f3a..acb85afd26 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -495,7 +495,7 @@ void MotionMaster::MoveCirclePath(float x, float y, float z, float radius, bool if (_owner->IsFlying()) point.z = z; else - point.z = _owner->GetMap()->GetHeight(_owner->GetPhaseMask(), point.x, point.y, z); + point.z = _owner->GetMap()->GetHeight(_owner->GetPhases(), point.x, point.y, z); init.Path().push_back(point); } @@ -578,7 +578,7 @@ void MotionMaster::ResumeSplineChain(SplineChainResumeInfo const& info) void MotionMaster::MoveFall(uint32 id /*=0*/) { // use larger distance for vmap height search than in most other cases - float tz = _owner->GetMap()->GetHeight(_owner->GetPhaseMask(), _owner->GetPositionX(), _owner->GetPositionY(), _owner->GetPositionZ(), true, MAX_FALL_DISTANCE); + float tz = _owner->GetMap()->GetHeight(_owner->GetPhases(), _owner->GetPositionX(), _owner->GetPositionY(), _owner->GetPositionZ(), true, MAX_FALL_DISTANCE); if (tz <= INVALID_HEIGHT) { TC_LOG_DEBUG("misc", "MotionMaster::MoveFall: unable to retrieve a proper height at map %u (x: %f, y: %f, z: %f).", diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp index 9b3f4c0060..a68a9dab63 100644 --- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp @@ -63,7 +63,7 @@ void RandomMovementGenerator::_setRandomLocation(Creature* creature) // Limit height change const float distanceZ = float(rand_norm()) * travelDistZ/2.0f; destZ = respZ + distanceZ; - float levelZ = map->GetWaterOrGroundLevel(creature->GetPhaseMask(), destX, destY, destZ-2.5f); + float levelZ = map->GetWaterOrGroundLevel(creature->GetPhases(), destX, destY, destZ-2.5f); // Problem here, we must fly above the ground and water, not under. Let's try on next tick if (levelZ >= destZ) @@ -77,17 +77,17 @@ void RandomMovementGenerator::_setRandomLocation(Creature* creature) // The fastest way to get an accurate result 90% of the time. // Better result can be obtained like 99% accuracy with a ray light, but the cost is too high and the code is too long. - destZ = map->GetHeight(creature->GetPhaseMask(), destX, destY, respZ+travelDistZ-2.0f, false); + destZ = map->GetHeight(creature->GetPhases(), destX, destY, respZ+travelDistZ-2.0f, false); if (std::fabs(destZ - respZ) > travelDistZ) // Map check { // Vmap Horizontal or above - destZ = map->GetHeight(creature->GetPhaseMask(), destX, destY, respZ - 2.0f, true); + destZ = map->GetHeight(creature->GetPhases(), destX, destY, respZ - 2.0f, true); if (std::fabs(destZ - respZ) > travelDistZ) { // Vmap Higher - destZ = map->GetHeight(creature->GetPhaseMask(), destX, destY, respZ+travelDistZ-2.0f, true); + destZ = map->GetHeight(creature->GetPhases(), destX, destY, respZ+travelDistZ-2.0f, true); // let's forget this bad coords where a z cannot be find and retry at next tick if (std::fabs(destZ - respZ) > travelDistZ) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f359c5ad75..492b6891f7 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -1278,7 +1278,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici float angle = float(rand_norm()) * static_cast(M_PI * 35.0f / 180.0f) - static_cast(M_PI * 17.5f / 180.0f); m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE, dist, angle); - float ground = m_caster->GetMap()->GetHeight(m_caster->GetPhaseMask(), x, y, z, true, 50.0f); + float ground = m_caster->GetMap()->GetHeight(m_caster->GetPhases(), x, y, z, true, 50.0f); float liquidLevel = VMAP_INVALID_HEIGHT_VALUE; LiquidData liquidData; if (m_caster->GetMap()->getLiquidStatus(x, y, z, MAP_ALL_LIQUIDS, &liquidData)) diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp index 175434ad58..db8a441776 100644 --- a/src/server/game/Texts/CreatureTextMgr.cpp +++ b/src/server/game/Texts/CreatureTextMgr.cpp @@ -102,8 +102,8 @@ void CreatureTextMgr::LoadCreatureTexts() Field* fields = result->Fetch(); CreatureTextEntry temp; - temp.entry = fields[0].GetUInt32(); - temp.group = fields[1].GetUInt8(); + temp.creatureId = fields[0].GetUInt32(); + temp.groupId = fields[1].GetUInt8(); temp.id = fields[2].GetUInt8(); temp.text = fields[3].GetString(); temp.type = ChatMsg(fields[4].GetUInt8()); @@ -119,20 +119,20 @@ void CreatureTextMgr::LoadCreatureTexts() { if (!sSoundEntriesStore.LookupEntry(temp.sound)) { - TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Sound %u but sound does not exist.", temp.entry, temp.group, temp.sound); + TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Sound %u but sound does not exist.", temp.creatureId, temp.groupId, temp.sound); temp.sound = 0; } } if (!GetLanguageDescByID(temp.lang)) { - TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` using Language %u but Language does not exist.", temp.entry, temp.group, uint32(temp.lang)); + TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` using Language %u but Language does not exist.", temp.creatureId, temp.groupId, uint32(temp.lang)); temp.lang = LANG_UNIVERSAL; } if (temp.type >= MAX_CHAT_MSG_TYPE) { - TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Type %u but this Chat Type does not exist.", temp.entry, temp.group, uint32(temp.type)); + TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Type %u but this Chat Type does not exist.", temp.creatureId, temp.groupId, uint32(temp.type)); temp.type = CHAT_MSG_SAY; } @@ -140,7 +140,7 @@ void CreatureTextMgr::LoadCreatureTexts() { if (!sEmotesStore.LookupEntry(temp.emote)) { - TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Emote %u but emote does not exist.", temp.entry, temp.group, uint32(temp.emote)); + TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Emote %u but emote does not exist.", temp.creatureId, temp.groupId, uint32(temp.emote)); temp.emote = EMOTE_ONESHOT_NONE; } } @@ -149,19 +149,19 @@ void CreatureTextMgr::LoadCreatureTexts() { if (!sObjectMgr->GetBroadcastText(temp.BroadcastTextId)) { - TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u, Id %u in table `creature_text` has non-existing or incompatible BroadcastTextId %u.", temp.entry, temp.group, temp.id, temp.BroadcastTextId); + TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u, Id %u in table `creature_text` has non-existing or incompatible BroadcastTextId %u.", temp.creatureId, temp.groupId, temp.id, temp.BroadcastTextId); temp.BroadcastTextId = 0; } } if (temp.TextRange > TEXT_RANGE_WORLD) { - TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u, Id %u in table `creature_text` has incorrect TextRange %u.", temp.entry, temp.group, temp.id, temp.TextRange); + TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u, Id %u in table `creature_text` has incorrect TextRange %u.", temp.creatureId, temp.groupId, temp.id, temp.TextRange); temp.TextRange = TEXT_RANGE_NORMAL; } // add the text into our entry's group - mTextMap[temp.entry][temp.group].push_back(temp); + mTextMap[temp.creatureId][temp.groupId].push_back(temp); ++textCount; } @@ -176,27 +176,31 @@ void CreatureTextMgr::LoadCreatureTextLocales() mLocaleTextMap.clear(); // for reload case - QueryResult result = WorldDatabase.Query("SELECT entry, groupid, id, text_loc1, text_loc2, text_loc3, text_loc4, text_loc5, text_loc6, text_loc7, text_loc8 FROM locales_creature_text"); + // 0 1 2 3 4 + QueryResult result = WorldDatabase.Query("SELECT CreatureID, GroupID, ID, Locale, Text FROM creature_text_locale"); if (!result) return; - uint32 textCount = 0; - do { Field* fields = result->Fetch(); - CreatureTextLocale& loc = mLocaleTextMap[CreatureTextId(fields[0].GetUInt32(), uint32(fields[1].GetUInt8()), uint32(fields[2].GetUInt8()))]; - for (uint8 i = TOTAL_LOCALES - 1; i > 0; --i) - { - LocaleConstant locale = LocaleConstant(i); - ObjectMgr::AddLocaleString(fields[3 + i - 1].GetString(), locale, loc.Text); - } - ++textCount; + uint32 creatureId = fields[0].GetUInt32(); + uint32 groupId = fields[1].GetUInt8(); + uint32 id = fields[2].GetUInt8(); + std::string localeName = fields[3].GetString(); + std::string text = fields[4].GetString(); + + CreatureTextLocale& data = mLocaleTextMap[CreatureTextId(creatureId, groupId, id)]; + LocaleConstant locale = GetLocaleByName(localeName); + if (locale == LOCALE_enUS) + continue; + + ObjectMgr::AddLocaleString(text, locale, data.Text); } while (result->NextRow()); - TC_LOG_INFO("server.loading", ">> Loaded %u creature localized texts in %u ms", textCount, GetMSTimeDiffToNow(oldMSTime)); + TC_LOG_INFO("server.loading", ">> Loaded %u creature localized texts in %u ms", uint32(mLocaleTextMap.size()), GetMSTimeDiffToNow(oldMSTime)); } uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject const* whisperTarget /*= nullptr*/, ChatMsg msgType /*= CHAT_MSG_ADDON*/, Language language /*= LANG_ADDON*/, CreatureTextRange range /*= TEXT_RANGE_NORMAL*/, uint32 sound /*= 0*/, Team team /*= TEAM_OTHER*/, bool gmOnly /*= false*/, Player* srcPlr /*= nullptr*/) @@ -257,12 +261,12 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject if (srcPlr) { - PlayerTextBuilder builder(source, finalSource, finalSource->getGender(), finalType, iter->group, iter->id, finalLang, whisperTarget); + PlayerTextBuilder builder(source, finalSource, finalSource->getGender(), finalType, iter->groupId, iter->id, finalLang, whisperTarget); SendChatPacket(finalSource, builder, finalType, whisperTarget, range, team, gmOnly); } else { - CreatureTextBuilder builder(finalSource, finalSource->getGender(), finalType, iter->group, iter->id, finalLang, whisperTarget); + CreatureTextBuilder builder(finalSource, finalSource->getGender(), finalType, iter->groupId, iter->id, finalLang, whisperTarget); SendChatPacket(finalSource, builder, finalType, whisperTarget, range, team, gmOnly); } diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h index 39596aa0ba..030c92a49f 100644 --- a/src/server/game/Texts/CreatureTextMgr.h +++ b/src/server/game/Texts/CreatureTextMgr.h @@ -36,8 +36,8 @@ enum CreatureTextRange struct CreatureTextEntry { - uint32 entry; - uint8 group; + uint32 creatureId; + uint8 groupId; uint8 id; std::string text; ChatMsg type; diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 291246327f..908612edd2 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -237,8 +237,8 @@ public: Map2ZoneCoordinates(zoneX, zoneY, zoneId); Map const* map = object->GetMap(); - float groundZ = map->GetHeight(object->GetPhaseMask(), object->GetPositionX(), object->GetPositionY(), MAX_HEIGHT); - float floorZ = map->GetHeight(object->GetPhaseMask(), object->GetPositionX(), object->GetPositionY(), object->GetPositionZ()); + float groundZ = map->GetHeight(object->GetPhases(), object->GetPositionX(), object->GetPositionY(), MAX_HEIGHT); + float floorZ = map->GetHeight(object->GetPhases(), object->GetPositionX(), object->GetPositionY(), object->GetPositionZ()); GridCoord gridCoord = Trinity::ComputeGridCoord(object->GetPositionX(), object->GetPositionY()); diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index 983471f750..78e46ea45d 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -96,22 +96,22 @@ public: { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "" }, { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "" }, { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "" }, - { "gameobject_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "" }, { "gm_tickets", rbac::RBAC_PERM_COMMAND_RELOAD_GM_TICKETS, true, &HandleReloadGMTicketsCommand, "" }, { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "" }, { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "" }, { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "" }, { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "" }, { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "" }, - { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "" }, - { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "" }, - { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "" }, - { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "" }, - { "locales_item", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM, true, &HandleReloadLocalesItemCommand, "" }, - { "locales_npc_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT, true, &HandleReloadLocalesNpcTextCommand, "" }, - { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "" }, - { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "" }, - { "locales_quest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_QUEST, true, &HandleReloadLocalesQuestCommand, "" }, + { "achievement_reward_locale", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD_LOCALE, true, &HandleReloadLocalesAchievementRewardCommand, "" }, + { "creature_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_CRETURE_TEMPLATE_LOCALE, true, &HandleReloadLocalesCreatureCommand, "" }, + { "creature_text_locale", rbac::RBAC_PERM_COMMAND_RELOAD_CRETURE_TEXT_LOCALE, true, &HandleReloadLocalesCreatureTextCommand, "" }, + { "gameobject_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_TEMPLATE_LOCALE, true, &HandleReloadLocalesGameobjectCommand, "" }, + { "gossip_menu_option_locale", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION_LOCALE, true, &HandleReloadLocalesGossipMenuOptionCommand, "" }, + { "item_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_TEMPLATE_LOCALE, true, &HandleReloadLocalesItemCommand, "" }, + { "npc_text_locale", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TEXT_LOCALE, true, &HandleReloadLocalesNpcTextCommand, "" }, + { "page_text_locale", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT_LOCALE, true, &HandleReloadLocalesPageTextCommand, "" }, + { "points_of_interest_locale", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST_LOCALE, true, &HandleReloadLocalesPointsOfInterestCommand, "" }, + { "quest_template_locale", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE_LOCALE, true, &HandleReloadLocalesQuestCommand, "" }, { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "" }, { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "" }, { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "" }, @@ -978,9 +978,9 @@ public: static bool HandleReloadLocalesAchievementRewardCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Achievement Reward Data..."); + TC_LOG_INFO("misc", "Re-Loading Achievement Reward Data Locale..."); sAchievementMgr->LoadRewardLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_achievement_reward` reloaded."); + handler->SendGlobalGMSysMessage("DB table `achievement_reward_locale` reloaded."); return true; } @@ -994,23 +994,23 @@ public: static bool HandleReloadLocalesCreatureCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Creature ..."); + TC_LOG_INFO("misc", "Re-Loading Creature Template Locale..."); sObjectMgr->LoadCreatureLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_creature` reloaded."); + handler->SendGlobalGMSysMessage("DB table `creature_template_locale` reloaded."); return true; } static bool HandleReloadLocalesCreatureTextCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Creature Texts..."); + TC_LOG_INFO("misc", "Re-Loading Creature Texts Locale..."); sCreatureTextMgr->LoadCreatureTextLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_creature_text` reloaded."); + handler->SendGlobalGMSysMessage("DB table `creature_text_locale` reloaded."); return true; } static bool HandleReloadLocalesGameobjectCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Gameobject ... "); + TC_LOG_INFO("misc", "Re-Loading Gameobject Template Locale... "); sObjectMgr->LoadGameObjectLocales(); handler->SendGlobalGMSysMessage("DB table `gameobject_template_locale` reloaded."); return true; @@ -1018,31 +1018,31 @@ public: static bool HandleReloadLocalesGossipMenuOptionCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Gossip Menu Option ... "); + TC_LOG_INFO("misc", "Re-Loading Gossip Menu Option Locale... "); sObjectMgr->LoadGossipMenuItemsLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_gossip_menu_option` reloaded."); + handler->SendGlobalGMSysMessage("DB table `gossip_menu_option_locale` reloaded."); return true; } static bool HandleReloadLocalesItemCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Item ... "); + TC_LOG_INFO("misc", "Re-Loading Item Template Locale... "); sObjectMgr->LoadItemLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_item` reloaded."); + handler->SendGlobalGMSysMessage("DB table `item_template_locale` reloaded."); return true; } static bool HandleReloadLocalesNpcTextCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales NPC Text ... "); + TC_LOG_INFO("misc", "Re-Loading NPC Text Locale... "); sObjectMgr->LoadNpcTextLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_npc_text` reloaded."); + handler->SendGlobalGMSysMessage("DB table `npc_text_locale` reloaded."); return true; } static bool HandleReloadLocalesPageTextCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Page Text ... "); + TC_LOG_INFO("misc", "Re-Loading Page Text Locale... "); sObjectMgr->LoadPageTextLocales(); handler->SendGlobalGMSysMessage("DB table `locales_page_text` reloaded."); return true; @@ -1050,17 +1050,17 @@ public: static bool HandleReloadLocalesPointsOfInterestCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Points Of Interest ... "); + TC_LOG_INFO("misc", "Re-Loading Points Of Interest Locale... "); sObjectMgr->LoadPointOfInterestLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_points_of_interest` reloaded."); + handler->SendGlobalGMSysMessage("DB table `points_of_interest_locale` reloaded."); return true; } static bool HandleReloadLocalesQuestCommand(ChatHandler* handler, const char* /*args*/) { - TC_LOG_INFO("misc", "Re-Loading Locales Quest ... "); + TC_LOG_INFO("misc", "Re-Loading Quest Template Locale... "); sObjectMgr->LoadQuestLocales(); - handler->SendGlobalGMSysMessage("DB table `locales_quest` reloaded."); + handler->SendGlobalGMSysMessage("DB table `quest_template_locale` reloaded."); return true; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index 311c61a259..7b05567b17 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -1172,7 +1172,7 @@ public: float x, y, z; me->GetPosition(x, y, z); - z = me->GetMap()->GetHeight(me->GetPhaseMask(), x, y, z); + z = me->GetMap()->GetHeight(me->GetPhases(), x, y, z); me->GetMotionMaster()->MovePoint(0, x, y, z); me->SetPosition(x, y, z, 0); } @@ -1290,7 +1290,7 @@ public: { float x, y, z; me->GetPosition(x, y, z); - z = me->GetMap()->GetHeight(me->GetPhaseMask(), x, y, z); + z = me->GetMap()->GetHeight(me->GetPhases(), x, y, z); me->GetMotionMaster()->MovePoint(0, x, y, z); me->SetPosition(x, y, z, 0); hyjal_trashAI::JustDied(killer); diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp index c113d50409..f6b6f614c7 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp @@ -541,7 +541,7 @@ public: float x = caster->GetPositionX() + dist * std::cos(angle); float y = caster->GetPositionY() + dist * std::sin(angle); - float z = caster->GetMap()->GetHeight(x, y, caster->GetPositionZ()); + float z = caster->GetMap()->GetHeight(caster->GetPhases(), x, y, caster->GetPositionZ()); const_cast(GetExplTargetDest())->Relocate(x, y, z); GetHitDest()->Relocate(x, y, z); diff --git a/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp b/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp index 881ab4c024..576084e24e 100644 --- a/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp @@ -268,7 +268,7 @@ class boss_high_priestess_azil : public CreatureScript me->RemoveAurasDueToSpell(SPELL_EARTH_FURY_CASTING_VISUAL); me->RemoveAurasDueToSpell(SPELL_EARTH_FURY_ENERGY_SHIELD); Position pos = me->GetPosition(); - pos.m_positionZ = me->GetMap()->GetHeight(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); + pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); me->GetMotionMaster()->MovePoint(POINT_GROUND, pos); break; } diff --git a/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp b/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp index a50f2adcab..0ff7b25f87 100644 --- a/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp @@ -266,7 +266,7 @@ class boss_slabhide : public CreatureScript case EVENT_LAND: { Position pos = me->GetPosition(); - pos.m_positionZ = me->GetMap()->GetHeight(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); + pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); me->GetMotionMaster()->MoveLand(POINT_SLABHIDE_LAND, pos); break; } @@ -479,7 +479,7 @@ public: { Unit* caster = GetCaster(); Position pos = caster->GetPosition(); - pos.m_positionZ = caster->GetMap()->GetHeight(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), true, 100.0f); + pos.m_positionZ = caster->GetMap()->GetHeight(caster->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), true, 100.0f); dest.Relocate(pos); } diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp index f98a0b5303..9f7f97a0ca 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp @@ -88,7 +88,7 @@ class boss_amanitar : public CreatureScript for (uint8 i = 0; i < 30; ++i) { Position pos = me->GetRandomNearPosition(30.0f); - pos.m_positionZ = me->GetMap()->GetHeight(pos.GetPositionX(), pos.GetPositionY(), MAX_HEIGHT) + 2.0f; + pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), MAX_HEIGHT) + 2.0f; if (Creature* trigger = me->SummonCreature(NPC_TRIGGER, pos)) { diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index 2c89526fcd..c315080327 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -626,7 +626,7 @@ class npc_frost_sphere : public CreatureScript if (me->GetHealth() <= damage) { damage = 0; - float floorZ = me->GetMap()->GetHeight(me->GetPhaseMask(), me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); + float floorZ = me->GetMap()->GetHeight(me->GetPhases(), me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()); if (fabs(me->GetPositionZ() - floorZ) < 0.1f) { // we are close to the ground diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index 5d74d128f6..49697f757a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -805,7 +805,7 @@ class boss_prince_valanar_icc : public CreatureScript { float x, y, z; summon->GetPosition(x, y, z); - float ground_Z = summon->GetMap()->GetHeight(summon->GetPhaseMask(), x, y, z, true, 500.0f); + float ground_Z = summon->GetMap()->GetHeight(summon->GetPhases(), x, y, z, true, 500.0f); summon->GetMotionMaster()->MovePoint(POINT_KINETIC_BOMB_IMPACT, x, y, ground_Z); summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); break; @@ -1047,7 +1047,7 @@ class npc_kinetic_bomb : public CreatureScript me->SetReactState(REACT_PASSIVE); me->GetPosition(_x, _y, _groundZ); me->DespawnOrUnsummon(60000); - _groundZ = me->GetMap()->GetHeight(me->GetPhaseMask(), _x, _y, _groundZ, true, 500.0f); + _groundZ = me->GetMap()->GetHeight(me->GetPhases(), _x, _y, _groundZ, true, 500.0f); } void DoAction(int32 action) override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 108eb86228..85fabd4bd3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -2019,7 +2019,7 @@ class spell_svalna_revive_champion : public SpellScriptLoader return; Position pos = caster->GetNearPosition(5.0f, 0.0f); - //pos.m_positionZ = caster->GetBaseMap()->GetHeight(caster->GetPhaseMask(), pos.GetPositionX(), pos.GetPositionY(), caster->GetPositionZ(), true, 50.0f); + //pos.m_positionZ = caster->GetBaseMap()->GetHeight(caster->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), caster->GetPositionZ(), true, 50.0f); //pos.m_positionZ += 0.05f; caster->SetHomePosition(pos); caster->GetMotionMaster()->MoveLand(POINT_LAND, pos); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index a138e9e68e..7ab6a6a26c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -777,7 +777,7 @@ class boss_flame_leviathan_safety_container : public CreatureScript { float x, y, z; me->GetPosition(x, y, z); - z = me->GetMap()->GetHeight(me->GetPhaseMask(), x, y, z); + z = me->GetMap()->GetHeight(me->GetPhases(), x, y, z); me->GetMotionMaster()->MovePoint(0, x, y, z); me->SetPosition(x, y, z, 0); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp index 69404eacba..11036bcbb0 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp @@ -863,7 +863,7 @@ class boss_sara : public CreatureScript float angle = frand(0.0f, 2.0f * float(M_PI)); pos.m_positionX = YoggSaronSpawnPos.GetPositionX() + radius * cosf(angle); pos.m_positionY = YoggSaronSpawnPos.GetPositionY() + radius * sinf(angle); - pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhaseMask(), pos.GetPositionX(), pos.GetPositionY(), YoggSaronSpawnPos.GetPositionZ() + 5.0f); + pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), YoggSaronSpawnPos.GetPositionZ() + 5.0f); me->SummonCreature(NPC_DEATH_RAY, pos, TEMPSUMMON_TIMED_DESPAWN, 20000); } break; diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp index 7b9cd56c6a..f252a5a68d 100644 --- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp +++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp @@ -780,7 +780,7 @@ public: bird->KillSelf(); crunchy->GetMotionMaster()->MovePoint(0, bird->GetPositionX(), bird->GetPositionY(), - bird->GetMap()->GetWaterOrGroundLevel(bird->GetPhaseMask(), bird->GetPositionX(), bird->GetPositionY(), bird->GetPositionZ())); + bird->GetMap()->GetWaterOrGroundLevel(bird->GetPhases(), bird->GetPositionX(), bird->GetPositionY(), bird->GetPositionZ())); /// @todo Make crunchy perform emote eat when he reaches the bird break; diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index bad588b63a..ac57498ec1 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -74,7 +74,7 @@ public: void Reset() override { - ground = me->GetMap()->GetHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZMinusOffset()); + ground = me->GetMap()->GetHeight(me->GetPhases(), me->GetPositionX(), me->GetPositionY(), me->GetPositionZMinusOffset()); SummonInfernal(); events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, urand(1000, 3000)); }