From 76c1206068b7e0a73a22e1291733011ed7958c1c Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sun, 17 Nov 2024 12:58:09 +0100 Subject: [PATCH] Squash merge master into feat(Scripts/SmartAI)implement-SMARTCAST_NO_CAST_IN_MELEE --- .../db_auth/2023_04_24_00.sql | 0 .../db_characters/2023_04_24_00.sql | 0 .../db_characters/2023_05_23_00.sql | 0 .../db_characters/2023_09_16_00.sql | 0 .../db_world/2023_04_24_00.sql | 0 .../db_world/2023_04_26_00.sql | 0 .../db_world/2023_04_26_01.sql | 0 .../db_world/2023_04_26_02.sql | 0 .../db_world/2023_04_26_03.sql | 0 .../db_world/2023_04_27_00.sql | 0 .../db_world/2023_04_27_01.sql | 0 .../db_world/2023_04_27_02.sql | 0 .../db_world/2023_04_29_00.sql | 0 .../db_world/2023_04_29_01.sql | 0 .../db_world/2023_04_29_02.sql | 0 .../db_world/2023_04_29_03.sql | 0 .../db_world/2023_04_29_04.sql | 0 .../db_world/2023_04_29_05.sql | 0 .../db_world/2023_04_29_06.sql | 0 .../db_world/2023_04_30_00.sql | 0 .../db_world/2023_05_01_00.sql | 0 .../db_world/2023_05_03_00.sql | 0 .../db_world/2023_05_03_01.sql | 0 .../db_world/2023_05_03_02.sql | 0 .../db_world/2023_05_03_03.sql | 0 .../db_world/2023_05_09_00.sql | 0 .../db_world/2023_05_09_01.sql | 0 .../db_world/2023_05_09_02.sql | 0 .../db_world/2023_05_10_00.sql | 0 .../db_world/2023_05_10_01.sql | 0 .../db_world/2023_05_10_02.sql | 0 .../db_world/2023_05_10_03.sql | 0 .../db_world/2023_05_10_04.sql | 0 .../db_world/2023_05_10_05.sql | 0 .../db_world/2023_05_10_06.sql | 0 .../db_world/2023_05_10_07.sql | 0 .../db_world/2023_05_10_08.sql | 0 .../db_world/2023_05_10_09.sql | 0 .../db_world/2023_05_10_10.sql | 0 .../db_world/2023_05_12_00.sql | 0 .../db_world/2023_05_12_01.sql | 0 .../db_world/2023_05_12_02.sql | 0 .../db_world/2023_05_12_03.sql | 0 .../db_world/2023_05_13_00.sql | 0 .../db_world/2023_05_13_01.sql | 0 .../db_world/2023_05_13_02.sql | 0 .../db_world/2023_05_13_03.sql | 0 .../db_world/2023_05_13_04.sql | 0 .../db_world/2023_05_13_05.sql | 0 .../db_world/2023_05_13_06.sql | 0 .../db_world/2023_05_13_07.sql | 0 .../db_world/2023_05_13_08.sql | 0 .../db_world/2023_05_13_09.sql | 0 .../db_world/2023_05_13_10.sql | 0 .../db_world/2023_05_13_11.sql | 0 .../db_world/2023_05_13_12.sql | 0 .../db_world/2023_05_13_13.sql | 0 .../db_world/2023_05_13_14.sql | 0 .../db_world/2023_05_13_15.sql | 0 .../db_world/2023_05_14_00.sql | 0 .../db_world/2023_05_14_01.sql | 0 .../db_world/2023_05_14_02.sql | 0 .../db_world/2023_05_14_03.sql | 0 .../db_world/2023_05_14_04.sql | 0 .../db_world/2023_05_14_05.sql | 0 .../db_world/2023_05_14_06.sql | 0 .../db_world/2023_05_14_07.sql | 0 .../db_world/2023_05_14_08.sql | 0 .../db_world/2023_05_15_00.sql | 0 .../db_world/2023_05_17_00.sql | 0 .../db_world/2023_05_20_00.sql | 0 .../db_world/2023_05_20_01.sql | 0 .../db_world/2023_05_20_02.sql | 0 .../db_world/2023_05_21_00.sql | 0 .../db_world/2023_05_21_01.sql | 0 .../db_world/2023_05_21_02.sql | 0 .../db_world/2023_05_23_00.sql | 0 .../db_world/2023_05_24_00.sql | 0 .../db_world/2023_05_24_01.sql | 0 .../db_world/2023_05_24_02.sql | 0 .../db_world/2023_05_24_03.sql | 0 .../db_world/2023_05_28_00.sql | 0 .../db_world/2023_05_28_01.sql | 0 .../db_world/2023_05_28_02.sql | 0 .../db_world/2023_05_28_03.sql | 0 .../db_world/2023_05_28_04.sql | 0 .../db_world/2023_05_29_00.sql | 0 .../db_world/2023_05_29_01.sql | 0 .../db_world/2023_05_29_02.sql | 0 .../db_world/2023_06_01_00.sql | 0 .../db_world/2023_06_01_01.sql | 0 .../db_world/2023_06_01_02.sql | 0 .../db_world/2023_06_01_03.sql | 0 .../db_world/2023_06_01_04.sql | 0 .../db_world/2023_06_01_05.sql | 0 .../db_world/2023_06_01_06.sql | 0 .../db_world/2023_06_02_00.sql | 0 .../db_world/2023_06_02_01.sql | 0 .../db_world/2023_06_02_02.sql | 0 .../db_world/2023_06_02_03.sql | 0 .../db_world/2023_06_02_04.sql | 0 .../db_world/2023_06_02_05.sql | 0 .../db_world/2023_06_02_06.sql | 0 .../db_world/2023_06_02_07.sql | 0 .../db_world/2023_06_02_08.sql | 0 .../db_world/2023_06_02_09.sql | 0 .../db_world/2023_06_05_00.sql | 0 .../db_world/2023_06_05_01.sql | 0 .../db_world/2023_06_07_00.sql | 0 .../db_world/2023_06_07_01.sql | 0 .../db_world/2023_06_07_02.sql | 0 .../db_world/2023_06_07_03.sql | 0 .../db_world/2023_06_07_04.sql | 0 .../db_world/2023_06_08_00.sql | 0 .../db_world/2023_06_09_00.sql | 0 .../db_world/2023_06_11_00.sql | 0 .../db_world/2023_06_11_01.sql | 0 .../db_world/2023_06_11_02.sql | 0 .../db_world/2023_06_16_00.sql | 0 .../db_world/2023_06_16_01.sql | 0 .../db_world/2023_06_16_02.sql | 0 .../db_world/2023_06_17_00.sql | 0 .../db_world/2023_06_17_01.sql | 0 .../db_world/2023_06_17_02.sql | 0 .../db_world/2023_06_17_03.sql | 0 .../db_world/2023_06_17_04.sql | 0 .../db_world/2023_06_17_05.sql | 0 .../db_world/2023_06_17_06.sql | 0 .../db_world/2023_06_17_07.sql | 0 .../db_world/2023_06_17_08.sql | 0 .../db_world/2023_06_17_09.sql | 0 .../db_world/2023_06_17_10.sql | 0 .../db_world/2023_06_17_11.sql | 0 .../db_world/2023_06_17_12.sql | 0 .../db_world/2023_06_18_00.sql | 0 .../db_world/2023_06_18_01.sql | 0 .../db_world/2023_06_18_02.sql | 0 .../db_world/2023_06_18_03.sql | 0 .../db_world/2023_06_21_00.sql | 0 .../db_world/2023_06_22_00.sql | 0 .../db_world/2023_06_23_00.sql | 0 .../db_world/2023_06_23_01.sql | 0 .../db_world/2023_06_24_00.sql | 0 .../db_world/2023_06_24_01.sql | 0 .../db_world/2023_06_24_02.sql | 0 .../db_world/2023_06_24_03.sql | 0 .../db_world/2023_06_24_04.sql | 0 .../db_world/2023_06_24_05.sql | 0 .../db_world/2023_06_24_06.sql | 0 .../db_world/2023_06_26_00.sql | 0 .../db_world/2023_06_26_01.sql | 0 .../db_world/2023_06_27_00.sql | 0 .../db_world/2023_06_29_00.sql | 0 .../db_world/2023_06_29_01.sql | 0 .../db_world/2023_06_29_02.sql | 0 .../db_world/2023_06_30_00.sql | 0 .../db_world/2023_07_02_00.sql | 0 .../db_world/2023_07_08_00.sql | 0 .../db_world/2023_07_08_01.sql | 0 .../db_world/2023_07_08_02.sql | 0 .../db_world/2023_07_08_03.sql | 0 .../db_world/2023_07_08_04.sql | 0 .../db_world/2023_07_08_05.sql | 0 .../db_world/2023_07_08_06.sql | 0 .../db_world/2023_07_08_07.sql | 0 .../db_world/2023_07_08_08.sql | 0 .../db_world/2023_07_08_09.sql | 0 .../db_world/2023_07_09_00.sql | 0 .../db_world/2023_07_09_01.sql | 0 .../db_world/2023_07_10_00.sql | 0 .../db_world/2023_07_10_01.sql | 0 .../db_world/2023_07_10_02.sql | 0 .../db_world/2023_07_10_03.sql | 0 .../db_world/2023_07_11_00.sql | 0 .../db_world/2023_07_11_01.sql | 0 .../db_world/2023_07_11_02.sql | 0 .../db_world/2023_07_11_03.sql | 0 .../db_world/2023_07_12_00.sql | 0 .../db_world/2023_07_15_00.sql | 0 .../db_world/2023_07_15_01.sql | 0 .../db_world/2023_07_15_02.sql | 0 .../db_world/2023_07_15_03.sql | 0 .../db_world/2023_07_15_04.sql | 0 .../db_world/2023_07_16_00.sql | 0 .../db_world/2023_07_16_01.sql | 0 .../db_world/2023_07_16_02.sql | 0 .../db_world/2023_07_16_03.sql | 0 .../db_world/2023_07_17_00.sql | 0 .../db_world/2023_07_17_01.sql | 0 .../db_world/2023_07_18_00.sql | 0 .../db_world/2023_07_18_01.sql | 0 .../db_world/2023_07_18_02.sql | 0 .../db_world/2023_07_19_00.sql | 0 .../db_world/2023_07_19_01.sql | 0 .../db_world/2023_07_19_02.sql | 0 .../db_world/2023_07_19_03.sql | 0 .../db_world/2023_07_19_04.sql | 0 .../db_world/2023_07_22_00.sql | 0 .../db_world/2023_07_23_00.sql | 0 .../db_world/2023_07_24_00.sql | 0 .../db_world/2023_07_26_00.sql | 0 .../db_world/2023_07_26_01.sql | 0 .../db_world/2023_07_26_02.sql | 0 .../db_world/2023_07_26_03.sql | 0 .../db_world/2023_07_26_04.sql | 0 .../db_world/2023_07_27_00.sql | 0 .../db_world/2023_07_27_01.sql | 0 .../db_world/2023_07_27_02.sql | 0 .../db_world/2023_07_27_03.sql | 0 .../db_world/2023_07_27_04.sql | 0 .../db_world/2023_07_27_05.sql | 0 .../db_world/2023_07_28_00.sql | 0 .../db_world/2023_07_29_00.sql | 0 .../db_world/2023_07_29_01.sql | 0 .../db_world/2023_07_30_00.sql | 0 .../db_world/2023_07_30_01.sql | 0 .../db_world/2023_07_31_00.sql | 0 .../db_world/2023_08_01_00.sql | 0 .../db_world/2023_08_02_00.sql | 0 .../db_world/2023_08_03_00.sql | 0 .../db_world/2023_08_04_00.sql | 0 .../db_world/2023_08_06_00.sql | 0 .../db_world/2023_08_06_01.sql | 0 .../db_world/2023_08_06_02.sql | 0 .../db_world/2023_08_06_03.sql | 0 .../db_world/2023_08_06_04.sql | 0 .../db_world/2023_08_06_05.sql | 0 .../db_world/2023_08_06_06.sql | 0 .../db_world/2023_08_06_07.sql | 0 .../db_world/2023_08_06_08.sql | 0 .../db_world/2023_08_06_09.sql | 0 .../db_world/2023_08_06_10.sql | 0 .../db_world/2023_08_06_11.sql | 0 .../db_world/2023_08_07_00.sql | 0 .../db_world/2023_08_08_00.sql | 0 .../db_world/2023_08_09_00.sql | 0 .../db_world/2023_08_09_01.sql | 0 .../db_world/2023_08_09_02.sql | 0 .../db_world/2023_08_10_00.sql | 0 .../db_world/2023_08_10_01.sql | 0 .../db_world/2023_08_10_02.sql | 0 .../db_world/2023_08_11_00.sql | 0 .../db_world/2023_08_11_01.sql | 0 .../db_world/2023_08_11_02.sql | 0 .../db_world/2023_08_11_03.sql | 0 .../db_world/2023_08_12_00.sql | 0 .../db_world/2023_08_12_01.sql | 0 .../db_world/2023_08_12_02.sql | 0 .../db_world/2023_08_13_00.sql | 0 .../db_world/2023_08_13_01.sql | 0 .../db_world/2023_08_13_02.sql | 0 .../db_world/2023_08_13_03.sql | 0 .../db_world/2023_08_14_00.sql | 0 .../db_world/2023_08_14_01.sql | 0 .../db_world/2023_08_14_02.sql | 0 .../db_world/2023_08_14_03.sql | 0 .../db_world/2023_08_14_04.sql | 0 .../db_world/2023_08_19_00.sql | 0 .../db_world/2023_08_19_01.sql | 0 .../db_world/2023_08_19_02.sql | 0 .../db_world/2023_08_20_00.sql | 0 .../db_world/2023_08_21_00.sql | 0 .../db_world/2023_08_21_01.sql | 0 .../db_world/2023_08_23_00.sql | 0 .../db_world/2023_08_23_01.sql | 0 .../db_world/2023_08_24_00.sql | 0 .../db_world/2023_08_24_01.sql | 0 .../db_world/2023_08_24_02.sql | 0 .../db_world/2023_08_25_00.sql | 0 .../db_world/2023_08_25_01.sql | 0 .../db_world/2023_08_25_02.sql | 0 .../db_world/2023_08_30_00.sql | 0 .../db_world/2023_09_04_00.sql | 0 .../db_world/2023_09_04_01.sql | 0 .../db_world/2023_09_04_02.sql | 0 .../db_world/2023_09_05_00.sql | 0 .../db_world/2023_09_10_00.sql | 0 .../db_world/2023_09_10_01.sql | 0 .../db_world/2023_09_11_00.sql | 0 .../db_world/2023_09_13_00.sql | 0 .../db_world/2023_09_14_00.sql | 0 .../db_world/2023_09_14_01.sql | 0 .../db_world/2023_09_15_00.sql | 0 .../db_world/2023_09_15_01.sql | 0 .../db_world/2023_09_15_02.sql | 0 .../db_world/2023_09_17_00.sql | 0 .../db_world/2023_09_17_01.sql | 0 .../db_world/2023_09_17_02.sql | 0 .../db_world/2023_09_17_03.sql | 0 .../db_world/2023_09_17_04.sql | 0 .../db_world/2023_09_17_05.sql | 0 .../db_world/2023_09_17_06.sql | 0 .../db_world/2023_09_17_07.sql | 0 .../db_world/2023_09_17_08.sql | 0 .../db_world/2023_09_17_09.sql | 0 .../db_world/2023_09_17_10.sql | 0 .../db_world/2023_09_17_11.sql | 0 .../db_world/2023_09_17_12.sql | 0 .../db_world/2023_09_17_13.sql | 0 .../db_world/2023_09_18_00.sql | 0 .../db_world/2023_09_18_01.sql | 0 .../db_world/2023_09_18_02.sql | 0 .../db_world/2023_09_18_03.sql | 0 .../db_world/2023_09_18_04.sql | 0 .../db_world/2023_09_19_00.sql | 0 .../db_world/2023_09_19_01.sql | 0 .../db_world/2023_09_20_00.sql | 0 .../db_world/2023_09_20_01.sql | 0 .../db_world/2023_09_20_02.sql | 0 .../db_world/2023_09_20_03.sql | 0 .../db_world/2023_09_20_04.sql | 0 .../db_world/2023_09_20_05.sql | 0 .../db_world/2023_09_20_06.sql | 0 .../db_world/2023_09_20_07.sql | 0 .../db_world/2023_09_24_00.sql | 0 .../db_world/2023_09_24_01.sql | 0 .../db_world/2023_09_24_02.sql | 0 .../db_world/2023_09_25_00.sql | 0 .../db_world/2023_09_25_01.sql | 0 .../db_world/2023_09_25_02.sql | 0 .../db_world/2023_09_25_03.sql | 0 .../db_world/2023_09_25_04.sql | 0 .../db_world/2023_09_25_05.sql | 0 .../db_world/2023_09_25_06.sql | 0 .../db_world/2023_09_25_07.sql | 0 .../db_world/2023_09_25_08.sql | 0 .../db_world/2023_09_26_00.sql | 0 .../db_world/2023_09_26_01.sql | 0 .../db_world/2023_09_26_02.sql | 0 .../db_world/2023_09_26_03.sql | 0 .../db_world/2023_09_27_00.sql | 0 .../db_world/2023_09_27_01.sql | 0 .../db_world/2023_09_27_02.sql | 0 .../db_world/2023_09_29_00.sql | 0 .../db_world/2023_10_01_00.sql | 0 .../db_world/2023_10_01_01.sql | 0 .../db_world/2023_10_01_02.sql | 0 .../db_world/2023_10_01_03.sql | 0 .../db_world/2023_10_01_04.sql | 0 .../db_world/2023_10_05_00.sql | 0 .../db_world/2023_10_07_00.sql | 0 .../db_world/2023_10_07_01.sql | 0 .../db_world/2023_10_07_02.sql | 0 .../db_world/2023_10_08_00.sql | 0 .../db_world/2023_10_08_01.sql | 0 .../db_world/2023_10_08_02.sql | 0 .../db_world/2023_10_08_03.sql | 0 .../db_world/2023_10_08_04.sql | 0 .../db_world/2023_10_08_05.sql | 0 .../db_world/2023_10_08_06.sql | 0 .../db_world/2023_10_08_07.sql | 0 .../db_world/2023_10_08_08.sql | 0 .../db_world/2023_10_10_00.sql | 0 .../db_world/2023_10_10_01.sql | 0 .../db_world/2023_10_10_02.sql | 0 .../db_world/2023_10_10_03.sql | 0 .../db_world/2023_10_10_04.sql | 0 .../db_world/2023_10_10_05.sql | 0 .../db_world/2023_10_10_06.sql | 0 .../db_world/2023_10_10_07.sql | 0 .../db_world/2023_10_10_08.sql | 0 .../db_world/2023_10_10_09.sql | 0 .../db_world/2023_10_10_10.sql | 0 .../db_world/2023_10_10_11.sql | 0 .../db_world/2023_10_10_12.sql | 0 .../db_world/2023_10_10_13.sql | 0 .../db_world/2023_10_10_14.sql | 0 .../db_world/2023_10_11_00.sql | 0 .../db_world/2023_10_11_01.sql | 0 .../db_world/2023_10_12_00.sql | 0 .../db_world/2023_10_12_01.sql | 0 .../db_world/2023_10_12_02.sql | 0 .../db_world/2023_10_12_03.sql | 0 .../db_world/2023_10_12_04.sql | 0 .../db_world/2023_10_15_00.sql | 0 .../db_world/2023_10_16_00.sql | 0 .../db_world/2023_10_16_01.sql | 0 .../db_world/2023_10_16_02.sql | 0 .../db_world/2023_10_16_03.sql | 0 .../db_world/2023_10_16_04.sql | 0 .../db_world/2023_10_17_00.sql | 0 .../db_world/2023_10_17_01.sql | 0 .../db_world/2023_10_17_02.sql | 0 .../db_world/2023_10_17_03.sql | 0 .../db_world/2023_10_17_04.sql | 0 .../db_world/2023_10_17_05.sql | 0 .../db_world/2023_10_17_06.sql | 0 .../db_world/2023_10_17_07.sql | 0 .../db_world/2023_10_18_00.sql | 0 .../db_world/2023_10_18_01.sql | 0 .../db_world/2023_10_18_02.sql | 0 .../db_world/2023_10_20_00.sql | 0 .../db_world/2023_10_20_01.sql | 0 .../db_world/2023_10_20_02.sql | 0 .../db_world/2023_10_20_03.sql | 0 .../db_world/2023_10_20_04.sql | 0 .../db_world/2023_10_20_05.sql | 0 .../db_world/2023_10_21_00.sql | 0 .../db_world/2023_10_21_01.sql | 0 .../db_world/2023_10_21_02.sql | 0 .../db_world/2023_10_21_03.sql | 0 .../db_world/2023_10_21_04.sql | 0 .../db_world/2023_10_21_05.sql | 0 .../db_world/2023_10_21_06.sql | 0 .../db_world/2023_10_22_00.sql | 0 .../db_world/2023_10_22_01.sql | 0 .../db_world/2023_10_22_02.sql | 0 .../db_world/2023_10_22_03.sql | 0 .../db_world/2023_10_22_04.sql | 0 .../db_world/2023_10_22_05.sql | 0 .../db_world/2023_10_22_06.sql | 0 .../db_world/2023_10_22_07.sql | 0 .../db_world/2023_10_22_08.sql | 0 .../db_world/2023_10_22_09.sql | 0 .../db_world/2023_10_24_00.sql | 0 .../db_world/2023_10_25_00.sql | 0 .../db_world/2023_10_25_01.sql | 0 .../db_world/2023_10_25_02.sql | 0 .../db_world/2023_10_29_00.sql | 0 .../db_world/2023_10_29_01.sql | 0 .../db_world/2023_10_31_00.sql | 0 .../db_world/2023_10_31_01.sql | 0 .../db_world/2023_10_31_02.sql | 0 .../db_world/2023_11_02_00.sql | 0 .../db_world/2023_11_02_01.sql | 0 .../db_world/2023_11_02_02.sql | 0 .../db_world/2023_11_02_03.sql | 0 .../db_world/2023_11_05_00.sql | 0 .../db_world/2023_11_07_00.sql | 0 .../db_world/2023_11_07_01.sql | 0 .../db_world/2023_11_07_02.sql | 0 .../db_world/2023_11_07_03.sql | 0 .../db_world/2023_11_08_00.sql | 0 .../db_world/2023_11_08_01.sql | 0 .../db_world/2023_11_08_02.sql | 0 .../db_world/2023_11_08_03.sql | 0 .../db_world/2023_11_08_04.sql | 0 .../db_world/2023_11_08_05.sql | 0 .../db_world/2023_11_08_06.sql | 0 .../db_world/2023_11_08_07.sql | 0 .../db_world/2023_11_09_00.sql | 0 .../db_world/2023_11_10_00.sql | 0 .../db_world/2023_11_10_01.sql | 0 .../db_world/2023_11_10_02.sql | 0 .../db_world/2023_11_11_00.sql | 0 .../db_world/2023_11_11_01.sql | 0 .../db_world/2023_11_11_02.sql | 0 .../db_world/2023_11_11_03.sql | 0 .../db_world/2023_11_11_04.sql | 0 .../db_world/2023_11_12_00.sql | 0 .../db_world/2023_11_12_01.sql | 0 .../db_world/2023_11_12_02.sql | 0 .../db_world/2023_11_12_03.sql | 0 .../db_world/2023_11_12_04.sql | 0 .../db_world/2023_11_12_05.sql | 0 .../db_world/2023_11_12_06.sql | 0 .../db_world/2023_11_12_07.sql | 0 .../db_world/2023_11_12_08.sql | 0 .../db_world/2023_11_12_09.sql | 0 .../db_world/2023_11_13_00.sql | 0 .../db_world/2023_11_14_00.sql | 0 .../db_world/2023_11_14_01.sql | 0 .../db_world/2023_11_14_02.sql | 0 .../db_world/2023_11_15_00.sql | 0 .../db_world/2023_11_15_01.sql | 0 .../db_world/2023_11_15_02.sql | 0 .../db_world/2023_11_16_00.sql | 0 .../db_world/2023_11_16_01.sql | 0 .../db_world/2023_11_16_02.sql | 0 .../db_world/2023_11_16_03.sql | 0 .../db_world/2023_11_16_04.sql | 0 .../db_world/2023_11_16_05.sql | 0 .../db_world/2023_11_16_06.sql | 0 .../db_world/2023_11_16_07.sql | 0 .../db_world/2023_11_16_08.sql | 0 .../db_world/2023_11_16_09.sql | 0 .../db_world/2023_11_16_10.sql | 0 .../db_world/2023_11_17_00.sql | 0 .../db_world/2023_11_17_01.sql | 0 .../db_world/2023_11_17_02.sql | 0 .../db_world/2023_11_17_03.sql | 0 .../db_world/2023_11_17_04.sql | 0 .../db_world/2023_11_18_00.sql | 0 .../db_world/2023_11_18_01.sql | 0 .../db_world/2023_11_18_02.sql | 0 .../db_world/2023_11_18_03.sql | 0 .../db_world/2023_11_18_04.sql | 0 .../db_world/2023_11_18_05.sql | 0 .../db_world/2023_11_18_06.sql | 0 .../db_world/2023_11_18_07.sql | 0 .../db_world/2023_11_18_08.sql | 0 .../db_world/2023_11_18_09.sql | 0 .../db_world/2023_11_18_10.sql | 0 .../db_world/2023_11_18_11.sql | 0 .../db_world/2023_11_18_12.sql | 0 .../db_world/2023_11_18_13.sql | 0 .../db_world/2023_11_18_14.sql | 0 .../db_world/2023_11_18_15.sql | 0 .../db_world/2023_11_18_16.sql | 0 .../db_world/2023_11_18_17.sql | 0 .../db_world/2023_11_18_18.sql | 0 .../db_world/2023_11_19_00.sql | 0 .../db_world/2023_11_19_01.sql | 0 .../db_world/2023_11_19_02.sql | 0 .../db_world/2023_11_19_03.sql | 0 .../db_world/2023_11_19_04.sql | 0 .../db_world/2023_11_19_05.sql | 0 .../db_world/2023_11_19_06.sql | 0 .../db_world/2023_11_20_00.sql | 0 .../db_world/2023_11_20_01.sql | 0 .../db_world/2023_11_20_02.sql | 0 .../db_world/2023_11_20_03.sql | 0 .../db_world/2023_11_20_04.sql | 0 .../db_world/2023_11_20_05.sql | 0 .../db_world/2023_11_20_06.sql | 0 .../db_world/2023_11_20_07.sql | 0 .../db_world/2023_11_20_08.sql | 0 .../db_world/2023_11_20_09.sql | 0 .../db_world/2023_11_22_00.sql | 0 .../db_world/2023_11_26_00.sql | 0 .../db_world/2023_11_26_01.sql | 0 .../db_world/2023_11_26_02.sql | 0 .../db_world/2023_11_26_03.sql | 0 .../db_world/2023_11_26_04.sql | 0 .../db_world/2023_11_26_05.sql | 0 .../db_world/2023_11_26_06.sql | 0 .../db_world/2023_11_26_07.sql | 0 .../db_world/2023_11_26_08.sql | 0 .../db_world/2023_11_26_09.sql | 0 .../db_world/2023_11_26_10.sql | 0 .../db_world/2023_11_26_11.sql | 0 .../db_world/2023_11_26_12.sql | 0 .../db_world/2023_11_26_13.sql | 0 .../db_world/2023_11_26_14.sql | 0 .../db_world/2023_11_27_00.sql | 0 .../db_world/2023_11_28_00.sql | 0 .../db_world/2023_11_29_00.sql | 0 .../db_world/2023_11_29_01.sql | 0 .../db_world/2023_11_30_00.sql | 0 .../db_world/2023_12_02_00.sql | 0 .../db_world/2023_12_03_00.sql | 0 .../db_world/2023_12_03_01.sql | 0 .../db_world/2023_12_03_02.sql | 0 .../db_world/2023_12_03_03.sql | 0 .../db_world/2023_12_03_04.sql | 0 .../db_world/2023_12_03_05.sql | 0 .../db_world/2023_12_03_06.sql | 0 .../db_world/2023_12_03_07.sql | 0 .../db_world/2023_12_04_00.sql | 0 .../db_world/2023_12_04_01.sql | 0 .../db_world/2023_12_04_02.sql | 0 .../db_world/2023_12_04_03.sql | 0 .../db_world/2023_12_06_00.sql | 0 .../db_world/2023_12_07_00.sql | 0 .../db_world/2023_12_07_01.sql | 0 .../db_world/2023_12_09_00.sql | 0 .../db_world/2023_12_10_00.sql | 0 .../db_world/2023_12_10_01.sql | 0 .../db_world/2023_12_10_02.sql | 0 .../db_world/2023_12_10_03.sql | 0 .../db_world/2023_12_11_00.sql | 0 .../db_world/2023_12_11_01.sql | 0 .../db_world/2023_12_11_02.sql | 0 .../db_world/2023_12_11_03.sql | 0 .../db_world/2023_12_12_00.sql | 0 .../db_world/2023_12_12_01.sql | 0 .../db_world/2023_12_12_02.sql | 0 .../db_world/2023_12_12_03.sql | 0 .../db_world/2023_12_12_04.sql | 0 .../db_world/2023_12_12_05.sql | 0 .../db_world/2023_12_12_06.sql | 0 .../db_world/2023_12_12_07.sql | 0 .../db_world/2023_12_12_08.sql | 0 .../db_world/2023_12_12_09.sql | 0 .../db_world/2023_12_12_10.sql | 0 .../db_world/2023_12_12_11.sql | 0 .../db_world/2023_12_12_12.sql | 0 .../db_world/2023_12_12_13.sql | 0 .../db_world/2023_12_12_14.sql | 0 .../db_world/2023_12_12_15.sql | 0 .../db_world/2023_12_12_16.sql | 0 .../db_world/2023_12_24_00.sql | 0 .../db_world/2023_12_24_01.sql | 0 .../db_world/2023_12_25_00.sql | 0 .../db_world/2023_12_25_01.sql | 0 .../db_world/2023_12_26_00.sql | 0 .../db_world/2023_12_28_00.sql | 0 .../db_world/2023_12_30_00.sql | 0 data/sql/base/database-squash.md | 8 +- data/sql/updates/db_auth/2024_11_15_00.sql | 4 + .../updates/db_characters/2024_11_15_00.sql | 4 + data/sql/updates/db_world/2024_11_15_00.sql | 187 ++++++ data/sql/updates/db_world/2024_11_15_01.sql | 4 + data/sql/updates/db_world/2024_11_15_02.sql | 3 + data/sql/updates/db_world/2024_11_15_03.sql | 11 + data/sql/updates/db_world/2024_11_15_04.sql | 86 +++ data/sql/updates/db_world/2024_11_16_00.sql | 6 + data/sql/updates/db_world/2024_11_16_01.sql | 3 + data/sql/updates/db_world/2024_11_16_02.sql | 210 ++++++ data/sql/updates/db_world/2024_11_16_03.sql | 7 + data/sql/updates/db_world/2024_11_16_04.sql | 4 + data/sql/updates/db_world/2024_11_17_00.sql | 4 + data/sql/updates/db_world/2024_11_17_01.sql | 5 + .../apps/worldserver/worldserver.conf.dist | 1 + src/server/game/Entities/Player/Player.cpp | 14 +- src/server/game/Entities/Player/Player.h | 1 + .../game/Entities/Player/PlayerQuest.cpp | 9 +- src/server/game/Instances/InstanceScript.cpp | 22 + src/server/game/Instances/InstanceScript.h | 6 + src/server/game/Spells/SpellEffects.cpp | 4 +- src/server/game/Spells/SpellInfo.cpp | 2 +- .../SunwellPlateau/boss_felmyst.cpp | 324 ++++----- .../SunwellPlateau/boss_kalecgos.cpp | 533 ++++++--------- .../SunwellPlateau/boss_kiljaeden.cpp | 619 ++++++++---------- .../instance_sunwell_plateau.cpp | 43 +- .../EasternKingdoms/ZulAman/boss_hexlord.cpp | 123 ++-- .../EasternKingdoms/ZulAman/boss_janalai.cpp | 55 +- .../ZulAman/instance_zulaman.cpp | 8 + .../EasternKingdoms/ZulAman/zulaman.cpp | 3 + .../scripts/EasternKingdoms/ZulAman/zulaman.h | 3 +- .../ZulGurub/boss_gahzranka.cpp | 102 +-- .../Northrend/Naxxramas/boss_anubrekhan.cpp | 132 +--- .../Naxxramas/instance_naxxramas.cpp | 21 +- .../scripts/Northrend/Naxxramas/naxxramas.h | 1 - .../BlackTemple/instance_black_temple.cpp | 24 +- .../Outland/TempestKeep/Eye/boss_alar.cpp | 71 +- .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 1 + 627 files changed, 1382 insertions(+), 1286 deletions(-) rename data/sql/{updates => archive}/db_auth/2023_04_24_00.sql (100%) rename data/sql/{updates => archive}/db_characters/2023_04_24_00.sql (100%) rename data/sql/{updates => archive}/db_characters/2023_05_23_00.sql (100%) rename data/sql/{updates => archive}/db_characters/2023_09_16_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_26_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_26_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_26_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_26_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_27_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_27_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_27_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_29_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_04_30_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_01_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_03_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_03_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_03_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_03_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_09_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_09_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_09_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_10_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_12_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_12_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_12_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_12_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_13.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_14.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_13_15.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_14_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_15_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_17_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_20_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_20_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_20_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_21_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_21_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_21_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_23_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_24_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_24_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_24_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_28_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_28_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_28_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_28_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_28_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_29_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_05_29_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_01_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_02_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_05_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_05_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_07_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_07_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_07_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_07_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_07_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_08_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_09_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_11_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_11_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_16_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_16_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_16_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_17_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_18_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_18_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_18_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_18_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_21_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_22_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_23_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_23_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_24_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_26_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_26_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_27_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_29_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_29_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_06_30_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_02_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_08_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_09_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_09_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_10_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_10_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_11_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_11_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_11_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_12_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_15_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_15_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_15_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_15_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_15_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_16_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_16_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_16_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_16_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_17_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_17_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_18_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_18_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_18_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_19_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_19_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_19_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_19_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_19_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_22_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_23_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_26_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_26_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_26_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_26_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_26_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_27_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_27_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_27_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_27_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_27_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_27_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_28_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_29_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_30_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_30_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_07_31_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_01_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_02_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_03_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_04_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_06_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_07_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_08_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_09_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_09_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_09_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_10_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_11_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_11_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_11_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_12_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_12_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_12_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_13_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_13_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_13_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_13_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_14_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_14_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_14_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_14_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_14_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_19_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_19_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_19_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_20_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_21_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_21_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_23_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_23_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_24_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_24_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_25_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_25_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_25_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_08_30_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_04_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_04_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_04_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_05_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_13_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_14_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_14_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_15_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_15_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_15_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_17_13.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_18_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_18_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_18_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_18_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_18_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_19_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_19_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_20_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_24_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_24_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_25_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_26_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_26_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_26_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_26_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_27_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_27_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_27_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_09_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_01_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_01_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_01_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_01_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_01_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_05_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_07_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_07_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_07_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_08_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_13.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_10_14.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_11_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_12_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_12_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_12_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_12_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_12_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_15_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_16_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_16_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_16_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_16_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_16_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_17_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_18_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_18_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_18_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_20_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_20_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_20_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_20_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_20_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_20_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_21_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_22_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_25_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_25_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_25_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_29_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_31_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_31_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_10_31_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_02_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_02_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_02_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_02_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_05_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_07_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_07_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_07_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_07_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_08_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_09_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_10_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_11_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_11_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_11_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_11_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_12_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_13_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_14_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_14_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_14_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_15_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_15_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_15_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_16_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_17_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_17_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_17_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_17_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_17_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_13.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_14.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_15.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_16.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_17.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_18_18.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_19_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_20_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_22_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_13.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_26_14.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_27_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_28_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_29_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_29_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_11_30_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_02_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_03_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_04_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_04_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_04_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_04_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_06_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_07_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_07_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_09_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_10_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_10_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_10_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_10_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_11_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_11_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_11_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_11_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_02.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_03.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_04.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_05.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_06.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_07.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_08.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_09.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_10.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_11.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_12.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_13.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_14.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_15.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_12_16.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_24_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_24_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_25_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_25_01.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_26_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_28_00.sql (100%) rename data/sql/{updates => archive}/db_world/2023_12_30_00.sql (100%) create mode 100644 data/sql/updates/db_auth/2024_11_15_00.sql create mode 100644 data/sql/updates/db_characters/2024_11_15_00.sql create mode 100644 data/sql/updates/db_world/2024_11_15_00.sql create mode 100644 data/sql/updates/db_world/2024_11_15_01.sql create mode 100644 data/sql/updates/db_world/2024_11_15_02.sql create mode 100644 data/sql/updates/db_world/2024_11_15_03.sql create mode 100644 data/sql/updates/db_world/2024_11_15_04.sql create mode 100644 data/sql/updates/db_world/2024_11_16_00.sql create mode 100644 data/sql/updates/db_world/2024_11_16_01.sql create mode 100644 data/sql/updates/db_world/2024_11_16_02.sql create mode 100644 data/sql/updates/db_world/2024_11_16_03.sql create mode 100644 data/sql/updates/db_world/2024_11_16_04.sql create mode 100644 data/sql/updates/db_world/2024_11_17_00.sql create mode 100644 data/sql/updates/db_world/2024_11_17_01.sql diff --git a/data/sql/updates/db_auth/2023_04_24_00.sql b/data/sql/archive/db_auth/2023_04_24_00.sql similarity index 100% rename from data/sql/updates/db_auth/2023_04_24_00.sql rename to data/sql/archive/db_auth/2023_04_24_00.sql diff --git a/data/sql/updates/db_characters/2023_04_24_00.sql b/data/sql/archive/db_characters/2023_04_24_00.sql similarity index 100% rename from data/sql/updates/db_characters/2023_04_24_00.sql rename to data/sql/archive/db_characters/2023_04_24_00.sql diff --git a/data/sql/updates/db_characters/2023_05_23_00.sql b/data/sql/archive/db_characters/2023_05_23_00.sql similarity index 100% rename from data/sql/updates/db_characters/2023_05_23_00.sql rename to data/sql/archive/db_characters/2023_05_23_00.sql diff --git a/data/sql/updates/db_characters/2023_09_16_00.sql b/data/sql/archive/db_characters/2023_09_16_00.sql similarity index 100% rename from data/sql/updates/db_characters/2023_09_16_00.sql rename to data/sql/archive/db_characters/2023_09_16_00.sql diff --git a/data/sql/updates/db_world/2023_04_24_00.sql b/data/sql/archive/db_world/2023_04_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_24_00.sql rename to data/sql/archive/db_world/2023_04_24_00.sql diff --git a/data/sql/updates/db_world/2023_04_26_00.sql b/data/sql/archive/db_world/2023_04_26_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_26_00.sql rename to data/sql/archive/db_world/2023_04_26_00.sql diff --git a/data/sql/updates/db_world/2023_04_26_01.sql b/data/sql/archive/db_world/2023_04_26_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_26_01.sql rename to data/sql/archive/db_world/2023_04_26_01.sql diff --git a/data/sql/updates/db_world/2023_04_26_02.sql b/data/sql/archive/db_world/2023_04_26_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_26_02.sql rename to data/sql/archive/db_world/2023_04_26_02.sql diff --git a/data/sql/updates/db_world/2023_04_26_03.sql b/data/sql/archive/db_world/2023_04_26_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_26_03.sql rename to data/sql/archive/db_world/2023_04_26_03.sql diff --git a/data/sql/updates/db_world/2023_04_27_00.sql b/data/sql/archive/db_world/2023_04_27_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_27_00.sql rename to data/sql/archive/db_world/2023_04_27_00.sql diff --git a/data/sql/updates/db_world/2023_04_27_01.sql b/data/sql/archive/db_world/2023_04_27_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_27_01.sql rename to data/sql/archive/db_world/2023_04_27_01.sql diff --git a/data/sql/updates/db_world/2023_04_27_02.sql b/data/sql/archive/db_world/2023_04_27_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_27_02.sql rename to data/sql/archive/db_world/2023_04_27_02.sql diff --git a/data/sql/updates/db_world/2023_04_29_00.sql b/data/sql/archive/db_world/2023_04_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_00.sql rename to data/sql/archive/db_world/2023_04_29_00.sql diff --git a/data/sql/updates/db_world/2023_04_29_01.sql b/data/sql/archive/db_world/2023_04_29_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_01.sql rename to data/sql/archive/db_world/2023_04_29_01.sql diff --git a/data/sql/updates/db_world/2023_04_29_02.sql b/data/sql/archive/db_world/2023_04_29_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_02.sql rename to data/sql/archive/db_world/2023_04_29_02.sql diff --git a/data/sql/updates/db_world/2023_04_29_03.sql b/data/sql/archive/db_world/2023_04_29_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_03.sql rename to data/sql/archive/db_world/2023_04_29_03.sql diff --git a/data/sql/updates/db_world/2023_04_29_04.sql b/data/sql/archive/db_world/2023_04_29_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_04.sql rename to data/sql/archive/db_world/2023_04_29_04.sql diff --git a/data/sql/updates/db_world/2023_04_29_05.sql b/data/sql/archive/db_world/2023_04_29_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_05.sql rename to data/sql/archive/db_world/2023_04_29_05.sql diff --git a/data/sql/updates/db_world/2023_04_29_06.sql b/data/sql/archive/db_world/2023_04_29_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_29_06.sql rename to data/sql/archive/db_world/2023_04_29_06.sql diff --git a/data/sql/updates/db_world/2023_04_30_00.sql b/data/sql/archive/db_world/2023_04_30_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_04_30_00.sql rename to data/sql/archive/db_world/2023_04_30_00.sql diff --git a/data/sql/updates/db_world/2023_05_01_00.sql b/data/sql/archive/db_world/2023_05_01_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_01_00.sql rename to data/sql/archive/db_world/2023_05_01_00.sql diff --git a/data/sql/updates/db_world/2023_05_03_00.sql b/data/sql/archive/db_world/2023_05_03_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_03_00.sql rename to data/sql/archive/db_world/2023_05_03_00.sql diff --git a/data/sql/updates/db_world/2023_05_03_01.sql b/data/sql/archive/db_world/2023_05_03_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_03_01.sql rename to data/sql/archive/db_world/2023_05_03_01.sql diff --git a/data/sql/updates/db_world/2023_05_03_02.sql b/data/sql/archive/db_world/2023_05_03_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_03_02.sql rename to data/sql/archive/db_world/2023_05_03_02.sql diff --git a/data/sql/updates/db_world/2023_05_03_03.sql b/data/sql/archive/db_world/2023_05_03_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_03_03.sql rename to data/sql/archive/db_world/2023_05_03_03.sql diff --git a/data/sql/updates/db_world/2023_05_09_00.sql b/data/sql/archive/db_world/2023_05_09_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_09_00.sql rename to data/sql/archive/db_world/2023_05_09_00.sql diff --git a/data/sql/updates/db_world/2023_05_09_01.sql b/data/sql/archive/db_world/2023_05_09_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_09_01.sql rename to data/sql/archive/db_world/2023_05_09_01.sql diff --git a/data/sql/updates/db_world/2023_05_09_02.sql b/data/sql/archive/db_world/2023_05_09_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_09_02.sql rename to data/sql/archive/db_world/2023_05_09_02.sql diff --git a/data/sql/updates/db_world/2023_05_10_00.sql b/data/sql/archive/db_world/2023_05_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_00.sql rename to data/sql/archive/db_world/2023_05_10_00.sql diff --git a/data/sql/updates/db_world/2023_05_10_01.sql b/data/sql/archive/db_world/2023_05_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_01.sql rename to data/sql/archive/db_world/2023_05_10_01.sql diff --git a/data/sql/updates/db_world/2023_05_10_02.sql b/data/sql/archive/db_world/2023_05_10_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_02.sql rename to data/sql/archive/db_world/2023_05_10_02.sql diff --git a/data/sql/updates/db_world/2023_05_10_03.sql b/data/sql/archive/db_world/2023_05_10_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_03.sql rename to data/sql/archive/db_world/2023_05_10_03.sql diff --git a/data/sql/updates/db_world/2023_05_10_04.sql b/data/sql/archive/db_world/2023_05_10_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_04.sql rename to data/sql/archive/db_world/2023_05_10_04.sql diff --git a/data/sql/updates/db_world/2023_05_10_05.sql b/data/sql/archive/db_world/2023_05_10_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_05.sql rename to data/sql/archive/db_world/2023_05_10_05.sql diff --git a/data/sql/updates/db_world/2023_05_10_06.sql b/data/sql/archive/db_world/2023_05_10_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_06.sql rename to data/sql/archive/db_world/2023_05_10_06.sql diff --git a/data/sql/updates/db_world/2023_05_10_07.sql b/data/sql/archive/db_world/2023_05_10_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_07.sql rename to data/sql/archive/db_world/2023_05_10_07.sql diff --git a/data/sql/updates/db_world/2023_05_10_08.sql b/data/sql/archive/db_world/2023_05_10_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_08.sql rename to data/sql/archive/db_world/2023_05_10_08.sql diff --git a/data/sql/updates/db_world/2023_05_10_09.sql b/data/sql/archive/db_world/2023_05_10_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_09.sql rename to data/sql/archive/db_world/2023_05_10_09.sql diff --git a/data/sql/updates/db_world/2023_05_10_10.sql b/data/sql/archive/db_world/2023_05_10_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_10_10.sql rename to data/sql/archive/db_world/2023_05_10_10.sql diff --git a/data/sql/updates/db_world/2023_05_12_00.sql b/data/sql/archive/db_world/2023_05_12_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_12_00.sql rename to data/sql/archive/db_world/2023_05_12_00.sql diff --git a/data/sql/updates/db_world/2023_05_12_01.sql b/data/sql/archive/db_world/2023_05_12_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_12_01.sql rename to data/sql/archive/db_world/2023_05_12_01.sql diff --git a/data/sql/updates/db_world/2023_05_12_02.sql b/data/sql/archive/db_world/2023_05_12_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_12_02.sql rename to data/sql/archive/db_world/2023_05_12_02.sql diff --git a/data/sql/updates/db_world/2023_05_12_03.sql b/data/sql/archive/db_world/2023_05_12_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_12_03.sql rename to data/sql/archive/db_world/2023_05_12_03.sql diff --git a/data/sql/updates/db_world/2023_05_13_00.sql b/data/sql/archive/db_world/2023_05_13_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_00.sql rename to data/sql/archive/db_world/2023_05_13_00.sql diff --git a/data/sql/updates/db_world/2023_05_13_01.sql b/data/sql/archive/db_world/2023_05_13_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_01.sql rename to data/sql/archive/db_world/2023_05_13_01.sql diff --git a/data/sql/updates/db_world/2023_05_13_02.sql b/data/sql/archive/db_world/2023_05_13_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_02.sql rename to data/sql/archive/db_world/2023_05_13_02.sql diff --git a/data/sql/updates/db_world/2023_05_13_03.sql b/data/sql/archive/db_world/2023_05_13_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_03.sql rename to data/sql/archive/db_world/2023_05_13_03.sql diff --git a/data/sql/updates/db_world/2023_05_13_04.sql b/data/sql/archive/db_world/2023_05_13_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_04.sql rename to data/sql/archive/db_world/2023_05_13_04.sql diff --git a/data/sql/updates/db_world/2023_05_13_05.sql b/data/sql/archive/db_world/2023_05_13_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_05.sql rename to data/sql/archive/db_world/2023_05_13_05.sql diff --git a/data/sql/updates/db_world/2023_05_13_06.sql b/data/sql/archive/db_world/2023_05_13_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_06.sql rename to data/sql/archive/db_world/2023_05_13_06.sql diff --git a/data/sql/updates/db_world/2023_05_13_07.sql b/data/sql/archive/db_world/2023_05_13_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_07.sql rename to data/sql/archive/db_world/2023_05_13_07.sql diff --git a/data/sql/updates/db_world/2023_05_13_08.sql b/data/sql/archive/db_world/2023_05_13_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_08.sql rename to data/sql/archive/db_world/2023_05_13_08.sql diff --git a/data/sql/updates/db_world/2023_05_13_09.sql b/data/sql/archive/db_world/2023_05_13_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_09.sql rename to data/sql/archive/db_world/2023_05_13_09.sql diff --git a/data/sql/updates/db_world/2023_05_13_10.sql b/data/sql/archive/db_world/2023_05_13_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_10.sql rename to data/sql/archive/db_world/2023_05_13_10.sql diff --git a/data/sql/updates/db_world/2023_05_13_11.sql b/data/sql/archive/db_world/2023_05_13_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_11.sql rename to data/sql/archive/db_world/2023_05_13_11.sql diff --git a/data/sql/updates/db_world/2023_05_13_12.sql b/data/sql/archive/db_world/2023_05_13_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_12.sql rename to data/sql/archive/db_world/2023_05_13_12.sql diff --git a/data/sql/updates/db_world/2023_05_13_13.sql b/data/sql/archive/db_world/2023_05_13_13.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_13.sql rename to data/sql/archive/db_world/2023_05_13_13.sql diff --git a/data/sql/updates/db_world/2023_05_13_14.sql b/data/sql/archive/db_world/2023_05_13_14.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_14.sql rename to data/sql/archive/db_world/2023_05_13_14.sql diff --git a/data/sql/updates/db_world/2023_05_13_15.sql b/data/sql/archive/db_world/2023_05_13_15.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_13_15.sql rename to data/sql/archive/db_world/2023_05_13_15.sql diff --git a/data/sql/updates/db_world/2023_05_14_00.sql b/data/sql/archive/db_world/2023_05_14_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_00.sql rename to data/sql/archive/db_world/2023_05_14_00.sql diff --git a/data/sql/updates/db_world/2023_05_14_01.sql b/data/sql/archive/db_world/2023_05_14_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_01.sql rename to data/sql/archive/db_world/2023_05_14_01.sql diff --git a/data/sql/updates/db_world/2023_05_14_02.sql b/data/sql/archive/db_world/2023_05_14_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_02.sql rename to data/sql/archive/db_world/2023_05_14_02.sql diff --git a/data/sql/updates/db_world/2023_05_14_03.sql b/data/sql/archive/db_world/2023_05_14_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_03.sql rename to data/sql/archive/db_world/2023_05_14_03.sql diff --git a/data/sql/updates/db_world/2023_05_14_04.sql b/data/sql/archive/db_world/2023_05_14_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_04.sql rename to data/sql/archive/db_world/2023_05_14_04.sql diff --git a/data/sql/updates/db_world/2023_05_14_05.sql b/data/sql/archive/db_world/2023_05_14_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_05.sql rename to data/sql/archive/db_world/2023_05_14_05.sql diff --git a/data/sql/updates/db_world/2023_05_14_06.sql b/data/sql/archive/db_world/2023_05_14_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_06.sql rename to data/sql/archive/db_world/2023_05_14_06.sql diff --git a/data/sql/updates/db_world/2023_05_14_07.sql b/data/sql/archive/db_world/2023_05_14_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_07.sql rename to data/sql/archive/db_world/2023_05_14_07.sql diff --git a/data/sql/updates/db_world/2023_05_14_08.sql b/data/sql/archive/db_world/2023_05_14_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_14_08.sql rename to data/sql/archive/db_world/2023_05_14_08.sql diff --git a/data/sql/updates/db_world/2023_05_15_00.sql b/data/sql/archive/db_world/2023_05_15_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_15_00.sql rename to data/sql/archive/db_world/2023_05_15_00.sql diff --git a/data/sql/updates/db_world/2023_05_17_00.sql b/data/sql/archive/db_world/2023_05_17_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_17_00.sql rename to data/sql/archive/db_world/2023_05_17_00.sql diff --git a/data/sql/updates/db_world/2023_05_20_00.sql b/data/sql/archive/db_world/2023_05_20_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_20_00.sql rename to data/sql/archive/db_world/2023_05_20_00.sql diff --git a/data/sql/updates/db_world/2023_05_20_01.sql b/data/sql/archive/db_world/2023_05_20_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_20_01.sql rename to data/sql/archive/db_world/2023_05_20_01.sql diff --git a/data/sql/updates/db_world/2023_05_20_02.sql b/data/sql/archive/db_world/2023_05_20_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_20_02.sql rename to data/sql/archive/db_world/2023_05_20_02.sql diff --git a/data/sql/updates/db_world/2023_05_21_00.sql b/data/sql/archive/db_world/2023_05_21_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_21_00.sql rename to data/sql/archive/db_world/2023_05_21_00.sql diff --git a/data/sql/updates/db_world/2023_05_21_01.sql b/data/sql/archive/db_world/2023_05_21_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_21_01.sql rename to data/sql/archive/db_world/2023_05_21_01.sql diff --git a/data/sql/updates/db_world/2023_05_21_02.sql b/data/sql/archive/db_world/2023_05_21_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_21_02.sql rename to data/sql/archive/db_world/2023_05_21_02.sql diff --git a/data/sql/updates/db_world/2023_05_23_00.sql b/data/sql/archive/db_world/2023_05_23_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_23_00.sql rename to data/sql/archive/db_world/2023_05_23_00.sql diff --git a/data/sql/updates/db_world/2023_05_24_00.sql b/data/sql/archive/db_world/2023_05_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_24_00.sql rename to data/sql/archive/db_world/2023_05_24_00.sql diff --git a/data/sql/updates/db_world/2023_05_24_01.sql b/data/sql/archive/db_world/2023_05_24_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_24_01.sql rename to data/sql/archive/db_world/2023_05_24_01.sql diff --git a/data/sql/updates/db_world/2023_05_24_02.sql b/data/sql/archive/db_world/2023_05_24_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_24_02.sql rename to data/sql/archive/db_world/2023_05_24_02.sql diff --git a/data/sql/updates/db_world/2023_05_24_03.sql b/data/sql/archive/db_world/2023_05_24_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_24_03.sql rename to data/sql/archive/db_world/2023_05_24_03.sql diff --git a/data/sql/updates/db_world/2023_05_28_00.sql b/data/sql/archive/db_world/2023_05_28_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_28_00.sql rename to data/sql/archive/db_world/2023_05_28_00.sql diff --git a/data/sql/updates/db_world/2023_05_28_01.sql b/data/sql/archive/db_world/2023_05_28_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_28_01.sql rename to data/sql/archive/db_world/2023_05_28_01.sql diff --git a/data/sql/updates/db_world/2023_05_28_02.sql b/data/sql/archive/db_world/2023_05_28_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_28_02.sql rename to data/sql/archive/db_world/2023_05_28_02.sql diff --git a/data/sql/updates/db_world/2023_05_28_03.sql b/data/sql/archive/db_world/2023_05_28_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_28_03.sql rename to data/sql/archive/db_world/2023_05_28_03.sql diff --git a/data/sql/updates/db_world/2023_05_28_04.sql b/data/sql/archive/db_world/2023_05_28_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_28_04.sql rename to data/sql/archive/db_world/2023_05_28_04.sql diff --git a/data/sql/updates/db_world/2023_05_29_00.sql b/data/sql/archive/db_world/2023_05_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_29_00.sql rename to data/sql/archive/db_world/2023_05_29_00.sql diff --git a/data/sql/updates/db_world/2023_05_29_01.sql b/data/sql/archive/db_world/2023_05_29_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_29_01.sql rename to data/sql/archive/db_world/2023_05_29_01.sql diff --git a/data/sql/updates/db_world/2023_05_29_02.sql b/data/sql/archive/db_world/2023_05_29_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_05_29_02.sql rename to data/sql/archive/db_world/2023_05_29_02.sql diff --git a/data/sql/updates/db_world/2023_06_01_00.sql b/data/sql/archive/db_world/2023_06_01_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_00.sql rename to data/sql/archive/db_world/2023_06_01_00.sql diff --git a/data/sql/updates/db_world/2023_06_01_01.sql b/data/sql/archive/db_world/2023_06_01_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_01.sql rename to data/sql/archive/db_world/2023_06_01_01.sql diff --git a/data/sql/updates/db_world/2023_06_01_02.sql b/data/sql/archive/db_world/2023_06_01_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_02.sql rename to data/sql/archive/db_world/2023_06_01_02.sql diff --git a/data/sql/updates/db_world/2023_06_01_03.sql b/data/sql/archive/db_world/2023_06_01_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_03.sql rename to data/sql/archive/db_world/2023_06_01_03.sql diff --git a/data/sql/updates/db_world/2023_06_01_04.sql b/data/sql/archive/db_world/2023_06_01_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_04.sql rename to data/sql/archive/db_world/2023_06_01_04.sql diff --git a/data/sql/updates/db_world/2023_06_01_05.sql b/data/sql/archive/db_world/2023_06_01_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_05.sql rename to data/sql/archive/db_world/2023_06_01_05.sql diff --git a/data/sql/updates/db_world/2023_06_01_06.sql b/data/sql/archive/db_world/2023_06_01_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_01_06.sql rename to data/sql/archive/db_world/2023_06_01_06.sql diff --git a/data/sql/updates/db_world/2023_06_02_00.sql b/data/sql/archive/db_world/2023_06_02_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_00.sql rename to data/sql/archive/db_world/2023_06_02_00.sql diff --git a/data/sql/updates/db_world/2023_06_02_01.sql b/data/sql/archive/db_world/2023_06_02_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_01.sql rename to data/sql/archive/db_world/2023_06_02_01.sql diff --git a/data/sql/updates/db_world/2023_06_02_02.sql b/data/sql/archive/db_world/2023_06_02_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_02.sql rename to data/sql/archive/db_world/2023_06_02_02.sql diff --git a/data/sql/updates/db_world/2023_06_02_03.sql b/data/sql/archive/db_world/2023_06_02_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_03.sql rename to data/sql/archive/db_world/2023_06_02_03.sql diff --git a/data/sql/updates/db_world/2023_06_02_04.sql b/data/sql/archive/db_world/2023_06_02_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_04.sql rename to data/sql/archive/db_world/2023_06_02_04.sql diff --git a/data/sql/updates/db_world/2023_06_02_05.sql b/data/sql/archive/db_world/2023_06_02_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_05.sql rename to data/sql/archive/db_world/2023_06_02_05.sql diff --git a/data/sql/updates/db_world/2023_06_02_06.sql b/data/sql/archive/db_world/2023_06_02_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_06.sql rename to data/sql/archive/db_world/2023_06_02_06.sql diff --git a/data/sql/updates/db_world/2023_06_02_07.sql b/data/sql/archive/db_world/2023_06_02_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_07.sql rename to data/sql/archive/db_world/2023_06_02_07.sql diff --git a/data/sql/updates/db_world/2023_06_02_08.sql b/data/sql/archive/db_world/2023_06_02_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_08.sql rename to data/sql/archive/db_world/2023_06_02_08.sql diff --git a/data/sql/updates/db_world/2023_06_02_09.sql b/data/sql/archive/db_world/2023_06_02_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_02_09.sql rename to data/sql/archive/db_world/2023_06_02_09.sql diff --git a/data/sql/updates/db_world/2023_06_05_00.sql b/data/sql/archive/db_world/2023_06_05_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_05_00.sql rename to data/sql/archive/db_world/2023_06_05_00.sql diff --git a/data/sql/updates/db_world/2023_06_05_01.sql b/data/sql/archive/db_world/2023_06_05_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_05_01.sql rename to data/sql/archive/db_world/2023_06_05_01.sql diff --git a/data/sql/updates/db_world/2023_06_07_00.sql b/data/sql/archive/db_world/2023_06_07_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_07_00.sql rename to data/sql/archive/db_world/2023_06_07_00.sql diff --git a/data/sql/updates/db_world/2023_06_07_01.sql b/data/sql/archive/db_world/2023_06_07_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_07_01.sql rename to data/sql/archive/db_world/2023_06_07_01.sql diff --git a/data/sql/updates/db_world/2023_06_07_02.sql b/data/sql/archive/db_world/2023_06_07_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_07_02.sql rename to data/sql/archive/db_world/2023_06_07_02.sql diff --git a/data/sql/updates/db_world/2023_06_07_03.sql b/data/sql/archive/db_world/2023_06_07_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_07_03.sql rename to data/sql/archive/db_world/2023_06_07_03.sql diff --git a/data/sql/updates/db_world/2023_06_07_04.sql b/data/sql/archive/db_world/2023_06_07_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_07_04.sql rename to data/sql/archive/db_world/2023_06_07_04.sql diff --git a/data/sql/updates/db_world/2023_06_08_00.sql b/data/sql/archive/db_world/2023_06_08_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_08_00.sql rename to data/sql/archive/db_world/2023_06_08_00.sql diff --git a/data/sql/updates/db_world/2023_06_09_00.sql b/data/sql/archive/db_world/2023_06_09_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_09_00.sql rename to data/sql/archive/db_world/2023_06_09_00.sql diff --git a/data/sql/updates/db_world/2023_06_11_00.sql b/data/sql/archive/db_world/2023_06_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_11_00.sql rename to data/sql/archive/db_world/2023_06_11_00.sql diff --git a/data/sql/updates/db_world/2023_06_11_01.sql b/data/sql/archive/db_world/2023_06_11_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_11_01.sql rename to data/sql/archive/db_world/2023_06_11_01.sql diff --git a/data/sql/updates/db_world/2023_06_11_02.sql b/data/sql/archive/db_world/2023_06_11_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_11_02.sql rename to data/sql/archive/db_world/2023_06_11_02.sql diff --git a/data/sql/updates/db_world/2023_06_16_00.sql b/data/sql/archive/db_world/2023_06_16_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_16_00.sql rename to data/sql/archive/db_world/2023_06_16_00.sql diff --git a/data/sql/updates/db_world/2023_06_16_01.sql b/data/sql/archive/db_world/2023_06_16_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_16_01.sql rename to data/sql/archive/db_world/2023_06_16_01.sql diff --git a/data/sql/updates/db_world/2023_06_16_02.sql b/data/sql/archive/db_world/2023_06_16_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_16_02.sql rename to data/sql/archive/db_world/2023_06_16_02.sql diff --git a/data/sql/updates/db_world/2023_06_17_00.sql b/data/sql/archive/db_world/2023_06_17_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_00.sql rename to data/sql/archive/db_world/2023_06_17_00.sql diff --git a/data/sql/updates/db_world/2023_06_17_01.sql b/data/sql/archive/db_world/2023_06_17_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_01.sql rename to data/sql/archive/db_world/2023_06_17_01.sql diff --git a/data/sql/updates/db_world/2023_06_17_02.sql b/data/sql/archive/db_world/2023_06_17_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_02.sql rename to data/sql/archive/db_world/2023_06_17_02.sql diff --git a/data/sql/updates/db_world/2023_06_17_03.sql b/data/sql/archive/db_world/2023_06_17_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_03.sql rename to data/sql/archive/db_world/2023_06_17_03.sql diff --git a/data/sql/updates/db_world/2023_06_17_04.sql b/data/sql/archive/db_world/2023_06_17_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_04.sql rename to data/sql/archive/db_world/2023_06_17_04.sql diff --git a/data/sql/updates/db_world/2023_06_17_05.sql b/data/sql/archive/db_world/2023_06_17_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_05.sql rename to data/sql/archive/db_world/2023_06_17_05.sql diff --git a/data/sql/updates/db_world/2023_06_17_06.sql b/data/sql/archive/db_world/2023_06_17_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_06.sql rename to data/sql/archive/db_world/2023_06_17_06.sql diff --git a/data/sql/updates/db_world/2023_06_17_07.sql b/data/sql/archive/db_world/2023_06_17_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_07.sql rename to data/sql/archive/db_world/2023_06_17_07.sql diff --git a/data/sql/updates/db_world/2023_06_17_08.sql b/data/sql/archive/db_world/2023_06_17_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_08.sql rename to data/sql/archive/db_world/2023_06_17_08.sql diff --git a/data/sql/updates/db_world/2023_06_17_09.sql b/data/sql/archive/db_world/2023_06_17_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_09.sql rename to data/sql/archive/db_world/2023_06_17_09.sql diff --git a/data/sql/updates/db_world/2023_06_17_10.sql b/data/sql/archive/db_world/2023_06_17_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_10.sql rename to data/sql/archive/db_world/2023_06_17_10.sql diff --git a/data/sql/updates/db_world/2023_06_17_11.sql b/data/sql/archive/db_world/2023_06_17_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_11.sql rename to data/sql/archive/db_world/2023_06_17_11.sql diff --git a/data/sql/updates/db_world/2023_06_17_12.sql b/data/sql/archive/db_world/2023_06_17_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_17_12.sql rename to data/sql/archive/db_world/2023_06_17_12.sql diff --git a/data/sql/updates/db_world/2023_06_18_00.sql b/data/sql/archive/db_world/2023_06_18_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_18_00.sql rename to data/sql/archive/db_world/2023_06_18_00.sql diff --git a/data/sql/updates/db_world/2023_06_18_01.sql b/data/sql/archive/db_world/2023_06_18_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_18_01.sql rename to data/sql/archive/db_world/2023_06_18_01.sql diff --git a/data/sql/updates/db_world/2023_06_18_02.sql b/data/sql/archive/db_world/2023_06_18_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_18_02.sql rename to data/sql/archive/db_world/2023_06_18_02.sql diff --git a/data/sql/updates/db_world/2023_06_18_03.sql b/data/sql/archive/db_world/2023_06_18_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_18_03.sql rename to data/sql/archive/db_world/2023_06_18_03.sql diff --git a/data/sql/updates/db_world/2023_06_21_00.sql b/data/sql/archive/db_world/2023_06_21_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_21_00.sql rename to data/sql/archive/db_world/2023_06_21_00.sql diff --git a/data/sql/updates/db_world/2023_06_22_00.sql b/data/sql/archive/db_world/2023_06_22_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_22_00.sql rename to data/sql/archive/db_world/2023_06_22_00.sql diff --git a/data/sql/updates/db_world/2023_06_23_00.sql b/data/sql/archive/db_world/2023_06_23_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_23_00.sql rename to data/sql/archive/db_world/2023_06_23_00.sql diff --git a/data/sql/updates/db_world/2023_06_23_01.sql b/data/sql/archive/db_world/2023_06_23_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_23_01.sql rename to data/sql/archive/db_world/2023_06_23_01.sql diff --git a/data/sql/updates/db_world/2023_06_24_00.sql b/data/sql/archive/db_world/2023_06_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_00.sql rename to data/sql/archive/db_world/2023_06_24_00.sql diff --git a/data/sql/updates/db_world/2023_06_24_01.sql b/data/sql/archive/db_world/2023_06_24_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_01.sql rename to data/sql/archive/db_world/2023_06_24_01.sql diff --git a/data/sql/updates/db_world/2023_06_24_02.sql b/data/sql/archive/db_world/2023_06_24_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_02.sql rename to data/sql/archive/db_world/2023_06_24_02.sql diff --git a/data/sql/updates/db_world/2023_06_24_03.sql b/data/sql/archive/db_world/2023_06_24_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_03.sql rename to data/sql/archive/db_world/2023_06_24_03.sql diff --git a/data/sql/updates/db_world/2023_06_24_04.sql b/data/sql/archive/db_world/2023_06_24_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_04.sql rename to data/sql/archive/db_world/2023_06_24_04.sql diff --git a/data/sql/updates/db_world/2023_06_24_05.sql b/data/sql/archive/db_world/2023_06_24_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_05.sql rename to data/sql/archive/db_world/2023_06_24_05.sql diff --git a/data/sql/updates/db_world/2023_06_24_06.sql b/data/sql/archive/db_world/2023_06_24_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_24_06.sql rename to data/sql/archive/db_world/2023_06_24_06.sql diff --git a/data/sql/updates/db_world/2023_06_26_00.sql b/data/sql/archive/db_world/2023_06_26_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_26_00.sql rename to data/sql/archive/db_world/2023_06_26_00.sql diff --git a/data/sql/updates/db_world/2023_06_26_01.sql b/data/sql/archive/db_world/2023_06_26_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_26_01.sql rename to data/sql/archive/db_world/2023_06_26_01.sql diff --git a/data/sql/updates/db_world/2023_06_27_00.sql b/data/sql/archive/db_world/2023_06_27_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_27_00.sql rename to data/sql/archive/db_world/2023_06_27_00.sql diff --git a/data/sql/updates/db_world/2023_06_29_00.sql b/data/sql/archive/db_world/2023_06_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_29_00.sql rename to data/sql/archive/db_world/2023_06_29_00.sql diff --git a/data/sql/updates/db_world/2023_06_29_01.sql b/data/sql/archive/db_world/2023_06_29_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_29_01.sql rename to data/sql/archive/db_world/2023_06_29_01.sql diff --git a/data/sql/updates/db_world/2023_06_29_02.sql b/data/sql/archive/db_world/2023_06_29_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_29_02.sql rename to data/sql/archive/db_world/2023_06_29_02.sql diff --git a/data/sql/updates/db_world/2023_06_30_00.sql b/data/sql/archive/db_world/2023_06_30_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_06_30_00.sql rename to data/sql/archive/db_world/2023_06_30_00.sql diff --git a/data/sql/updates/db_world/2023_07_02_00.sql b/data/sql/archive/db_world/2023_07_02_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_02_00.sql rename to data/sql/archive/db_world/2023_07_02_00.sql diff --git a/data/sql/updates/db_world/2023_07_08_00.sql b/data/sql/archive/db_world/2023_07_08_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_00.sql rename to data/sql/archive/db_world/2023_07_08_00.sql diff --git a/data/sql/updates/db_world/2023_07_08_01.sql b/data/sql/archive/db_world/2023_07_08_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_01.sql rename to data/sql/archive/db_world/2023_07_08_01.sql diff --git a/data/sql/updates/db_world/2023_07_08_02.sql b/data/sql/archive/db_world/2023_07_08_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_02.sql rename to data/sql/archive/db_world/2023_07_08_02.sql diff --git a/data/sql/updates/db_world/2023_07_08_03.sql b/data/sql/archive/db_world/2023_07_08_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_03.sql rename to data/sql/archive/db_world/2023_07_08_03.sql diff --git a/data/sql/updates/db_world/2023_07_08_04.sql b/data/sql/archive/db_world/2023_07_08_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_04.sql rename to data/sql/archive/db_world/2023_07_08_04.sql diff --git a/data/sql/updates/db_world/2023_07_08_05.sql b/data/sql/archive/db_world/2023_07_08_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_05.sql rename to data/sql/archive/db_world/2023_07_08_05.sql diff --git a/data/sql/updates/db_world/2023_07_08_06.sql b/data/sql/archive/db_world/2023_07_08_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_06.sql rename to data/sql/archive/db_world/2023_07_08_06.sql diff --git a/data/sql/updates/db_world/2023_07_08_07.sql b/data/sql/archive/db_world/2023_07_08_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_07.sql rename to data/sql/archive/db_world/2023_07_08_07.sql diff --git a/data/sql/updates/db_world/2023_07_08_08.sql b/data/sql/archive/db_world/2023_07_08_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_08.sql rename to data/sql/archive/db_world/2023_07_08_08.sql diff --git a/data/sql/updates/db_world/2023_07_08_09.sql b/data/sql/archive/db_world/2023_07_08_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_08_09.sql rename to data/sql/archive/db_world/2023_07_08_09.sql diff --git a/data/sql/updates/db_world/2023_07_09_00.sql b/data/sql/archive/db_world/2023_07_09_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_09_00.sql rename to data/sql/archive/db_world/2023_07_09_00.sql diff --git a/data/sql/updates/db_world/2023_07_09_01.sql b/data/sql/archive/db_world/2023_07_09_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_09_01.sql rename to data/sql/archive/db_world/2023_07_09_01.sql diff --git a/data/sql/updates/db_world/2023_07_10_00.sql b/data/sql/archive/db_world/2023_07_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_10_00.sql rename to data/sql/archive/db_world/2023_07_10_00.sql diff --git a/data/sql/updates/db_world/2023_07_10_01.sql b/data/sql/archive/db_world/2023_07_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_10_01.sql rename to data/sql/archive/db_world/2023_07_10_01.sql diff --git a/data/sql/updates/db_world/2023_07_10_02.sql b/data/sql/archive/db_world/2023_07_10_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_10_02.sql rename to data/sql/archive/db_world/2023_07_10_02.sql diff --git a/data/sql/updates/db_world/2023_07_10_03.sql b/data/sql/archive/db_world/2023_07_10_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_10_03.sql rename to data/sql/archive/db_world/2023_07_10_03.sql diff --git a/data/sql/updates/db_world/2023_07_11_00.sql b/data/sql/archive/db_world/2023_07_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_11_00.sql rename to data/sql/archive/db_world/2023_07_11_00.sql diff --git a/data/sql/updates/db_world/2023_07_11_01.sql b/data/sql/archive/db_world/2023_07_11_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_11_01.sql rename to data/sql/archive/db_world/2023_07_11_01.sql diff --git a/data/sql/updates/db_world/2023_07_11_02.sql b/data/sql/archive/db_world/2023_07_11_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_11_02.sql rename to data/sql/archive/db_world/2023_07_11_02.sql diff --git a/data/sql/updates/db_world/2023_07_11_03.sql b/data/sql/archive/db_world/2023_07_11_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_11_03.sql rename to data/sql/archive/db_world/2023_07_11_03.sql diff --git a/data/sql/updates/db_world/2023_07_12_00.sql b/data/sql/archive/db_world/2023_07_12_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_12_00.sql rename to data/sql/archive/db_world/2023_07_12_00.sql diff --git a/data/sql/updates/db_world/2023_07_15_00.sql b/data/sql/archive/db_world/2023_07_15_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_15_00.sql rename to data/sql/archive/db_world/2023_07_15_00.sql diff --git a/data/sql/updates/db_world/2023_07_15_01.sql b/data/sql/archive/db_world/2023_07_15_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_15_01.sql rename to data/sql/archive/db_world/2023_07_15_01.sql diff --git a/data/sql/updates/db_world/2023_07_15_02.sql b/data/sql/archive/db_world/2023_07_15_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_15_02.sql rename to data/sql/archive/db_world/2023_07_15_02.sql diff --git a/data/sql/updates/db_world/2023_07_15_03.sql b/data/sql/archive/db_world/2023_07_15_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_15_03.sql rename to data/sql/archive/db_world/2023_07_15_03.sql diff --git a/data/sql/updates/db_world/2023_07_15_04.sql b/data/sql/archive/db_world/2023_07_15_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_15_04.sql rename to data/sql/archive/db_world/2023_07_15_04.sql diff --git a/data/sql/updates/db_world/2023_07_16_00.sql b/data/sql/archive/db_world/2023_07_16_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_16_00.sql rename to data/sql/archive/db_world/2023_07_16_00.sql diff --git a/data/sql/updates/db_world/2023_07_16_01.sql b/data/sql/archive/db_world/2023_07_16_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_16_01.sql rename to data/sql/archive/db_world/2023_07_16_01.sql diff --git a/data/sql/updates/db_world/2023_07_16_02.sql b/data/sql/archive/db_world/2023_07_16_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_16_02.sql rename to data/sql/archive/db_world/2023_07_16_02.sql diff --git a/data/sql/updates/db_world/2023_07_16_03.sql b/data/sql/archive/db_world/2023_07_16_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_16_03.sql rename to data/sql/archive/db_world/2023_07_16_03.sql diff --git a/data/sql/updates/db_world/2023_07_17_00.sql b/data/sql/archive/db_world/2023_07_17_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_17_00.sql rename to data/sql/archive/db_world/2023_07_17_00.sql diff --git a/data/sql/updates/db_world/2023_07_17_01.sql b/data/sql/archive/db_world/2023_07_17_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_17_01.sql rename to data/sql/archive/db_world/2023_07_17_01.sql diff --git a/data/sql/updates/db_world/2023_07_18_00.sql b/data/sql/archive/db_world/2023_07_18_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_18_00.sql rename to data/sql/archive/db_world/2023_07_18_00.sql diff --git a/data/sql/updates/db_world/2023_07_18_01.sql b/data/sql/archive/db_world/2023_07_18_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_18_01.sql rename to data/sql/archive/db_world/2023_07_18_01.sql diff --git a/data/sql/updates/db_world/2023_07_18_02.sql b/data/sql/archive/db_world/2023_07_18_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_18_02.sql rename to data/sql/archive/db_world/2023_07_18_02.sql diff --git a/data/sql/updates/db_world/2023_07_19_00.sql b/data/sql/archive/db_world/2023_07_19_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_19_00.sql rename to data/sql/archive/db_world/2023_07_19_00.sql diff --git a/data/sql/updates/db_world/2023_07_19_01.sql b/data/sql/archive/db_world/2023_07_19_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_19_01.sql rename to data/sql/archive/db_world/2023_07_19_01.sql diff --git a/data/sql/updates/db_world/2023_07_19_02.sql b/data/sql/archive/db_world/2023_07_19_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_19_02.sql rename to data/sql/archive/db_world/2023_07_19_02.sql diff --git a/data/sql/updates/db_world/2023_07_19_03.sql b/data/sql/archive/db_world/2023_07_19_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_19_03.sql rename to data/sql/archive/db_world/2023_07_19_03.sql diff --git a/data/sql/updates/db_world/2023_07_19_04.sql b/data/sql/archive/db_world/2023_07_19_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_19_04.sql rename to data/sql/archive/db_world/2023_07_19_04.sql diff --git a/data/sql/updates/db_world/2023_07_22_00.sql b/data/sql/archive/db_world/2023_07_22_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_22_00.sql rename to data/sql/archive/db_world/2023_07_22_00.sql diff --git a/data/sql/updates/db_world/2023_07_23_00.sql b/data/sql/archive/db_world/2023_07_23_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_23_00.sql rename to data/sql/archive/db_world/2023_07_23_00.sql diff --git a/data/sql/updates/db_world/2023_07_24_00.sql b/data/sql/archive/db_world/2023_07_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_24_00.sql rename to data/sql/archive/db_world/2023_07_24_00.sql diff --git a/data/sql/updates/db_world/2023_07_26_00.sql b/data/sql/archive/db_world/2023_07_26_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_26_00.sql rename to data/sql/archive/db_world/2023_07_26_00.sql diff --git a/data/sql/updates/db_world/2023_07_26_01.sql b/data/sql/archive/db_world/2023_07_26_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_26_01.sql rename to data/sql/archive/db_world/2023_07_26_01.sql diff --git a/data/sql/updates/db_world/2023_07_26_02.sql b/data/sql/archive/db_world/2023_07_26_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_26_02.sql rename to data/sql/archive/db_world/2023_07_26_02.sql diff --git a/data/sql/updates/db_world/2023_07_26_03.sql b/data/sql/archive/db_world/2023_07_26_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_26_03.sql rename to data/sql/archive/db_world/2023_07_26_03.sql diff --git a/data/sql/updates/db_world/2023_07_26_04.sql b/data/sql/archive/db_world/2023_07_26_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_26_04.sql rename to data/sql/archive/db_world/2023_07_26_04.sql diff --git a/data/sql/updates/db_world/2023_07_27_00.sql b/data/sql/archive/db_world/2023_07_27_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_27_00.sql rename to data/sql/archive/db_world/2023_07_27_00.sql diff --git a/data/sql/updates/db_world/2023_07_27_01.sql b/data/sql/archive/db_world/2023_07_27_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_27_01.sql rename to data/sql/archive/db_world/2023_07_27_01.sql diff --git a/data/sql/updates/db_world/2023_07_27_02.sql b/data/sql/archive/db_world/2023_07_27_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_27_02.sql rename to data/sql/archive/db_world/2023_07_27_02.sql diff --git a/data/sql/updates/db_world/2023_07_27_03.sql b/data/sql/archive/db_world/2023_07_27_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_27_03.sql rename to data/sql/archive/db_world/2023_07_27_03.sql diff --git a/data/sql/updates/db_world/2023_07_27_04.sql b/data/sql/archive/db_world/2023_07_27_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_27_04.sql rename to data/sql/archive/db_world/2023_07_27_04.sql diff --git a/data/sql/updates/db_world/2023_07_27_05.sql b/data/sql/archive/db_world/2023_07_27_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_27_05.sql rename to data/sql/archive/db_world/2023_07_27_05.sql diff --git a/data/sql/updates/db_world/2023_07_28_00.sql b/data/sql/archive/db_world/2023_07_28_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_28_00.sql rename to data/sql/archive/db_world/2023_07_28_00.sql diff --git a/data/sql/updates/db_world/2023_07_29_00.sql b/data/sql/archive/db_world/2023_07_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_29_00.sql rename to data/sql/archive/db_world/2023_07_29_00.sql diff --git a/data/sql/updates/db_world/2023_07_29_01.sql b/data/sql/archive/db_world/2023_07_29_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_29_01.sql rename to data/sql/archive/db_world/2023_07_29_01.sql diff --git a/data/sql/updates/db_world/2023_07_30_00.sql b/data/sql/archive/db_world/2023_07_30_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_30_00.sql rename to data/sql/archive/db_world/2023_07_30_00.sql diff --git a/data/sql/updates/db_world/2023_07_30_01.sql b/data/sql/archive/db_world/2023_07_30_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_30_01.sql rename to data/sql/archive/db_world/2023_07_30_01.sql diff --git a/data/sql/updates/db_world/2023_07_31_00.sql b/data/sql/archive/db_world/2023_07_31_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_07_31_00.sql rename to data/sql/archive/db_world/2023_07_31_00.sql diff --git a/data/sql/updates/db_world/2023_08_01_00.sql b/data/sql/archive/db_world/2023_08_01_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_01_00.sql rename to data/sql/archive/db_world/2023_08_01_00.sql diff --git a/data/sql/updates/db_world/2023_08_02_00.sql b/data/sql/archive/db_world/2023_08_02_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_02_00.sql rename to data/sql/archive/db_world/2023_08_02_00.sql diff --git a/data/sql/updates/db_world/2023_08_03_00.sql b/data/sql/archive/db_world/2023_08_03_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_03_00.sql rename to data/sql/archive/db_world/2023_08_03_00.sql diff --git a/data/sql/updates/db_world/2023_08_04_00.sql b/data/sql/archive/db_world/2023_08_04_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_04_00.sql rename to data/sql/archive/db_world/2023_08_04_00.sql diff --git a/data/sql/updates/db_world/2023_08_06_00.sql b/data/sql/archive/db_world/2023_08_06_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_00.sql rename to data/sql/archive/db_world/2023_08_06_00.sql diff --git a/data/sql/updates/db_world/2023_08_06_01.sql b/data/sql/archive/db_world/2023_08_06_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_01.sql rename to data/sql/archive/db_world/2023_08_06_01.sql diff --git a/data/sql/updates/db_world/2023_08_06_02.sql b/data/sql/archive/db_world/2023_08_06_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_02.sql rename to data/sql/archive/db_world/2023_08_06_02.sql diff --git a/data/sql/updates/db_world/2023_08_06_03.sql b/data/sql/archive/db_world/2023_08_06_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_03.sql rename to data/sql/archive/db_world/2023_08_06_03.sql diff --git a/data/sql/updates/db_world/2023_08_06_04.sql b/data/sql/archive/db_world/2023_08_06_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_04.sql rename to data/sql/archive/db_world/2023_08_06_04.sql diff --git a/data/sql/updates/db_world/2023_08_06_05.sql b/data/sql/archive/db_world/2023_08_06_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_05.sql rename to data/sql/archive/db_world/2023_08_06_05.sql diff --git a/data/sql/updates/db_world/2023_08_06_06.sql b/data/sql/archive/db_world/2023_08_06_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_06.sql rename to data/sql/archive/db_world/2023_08_06_06.sql diff --git a/data/sql/updates/db_world/2023_08_06_07.sql b/data/sql/archive/db_world/2023_08_06_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_07.sql rename to data/sql/archive/db_world/2023_08_06_07.sql diff --git a/data/sql/updates/db_world/2023_08_06_08.sql b/data/sql/archive/db_world/2023_08_06_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_08.sql rename to data/sql/archive/db_world/2023_08_06_08.sql diff --git a/data/sql/updates/db_world/2023_08_06_09.sql b/data/sql/archive/db_world/2023_08_06_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_09.sql rename to data/sql/archive/db_world/2023_08_06_09.sql diff --git a/data/sql/updates/db_world/2023_08_06_10.sql b/data/sql/archive/db_world/2023_08_06_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_10.sql rename to data/sql/archive/db_world/2023_08_06_10.sql diff --git a/data/sql/updates/db_world/2023_08_06_11.sql b/data/sql/archive/db_world/2023_08_06_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_06_11.sql rename to data/sql/archive/db_world/2023_08_06_11.sql diff --git a/data/sql/updates/db_world/2023_08_07_00.sql b/data/sql/archive/db_world/2023_08_07_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_07_00.sql rename to data/sql/archive/db_world/2023_08_07_00.sql diff --git a/data/sql/updates/db_world/2023_08_08_00.sql b/data/sql/archive/db_world/2023_08_08_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_08_00.sql rename to data/sql/archive/db_world/2023_08_08_00.sql diff --git a/data/sql/updates/db_world/2023_08_09_00.sql b/data/sql/archive/db_world/2023_08_09_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_09_00.sql rename to data/sql/archive/db_world/2023_08_09_00.sql diff --git a/data/sql/updates/db_world/2023_08_09_01.sql b/data/sql/archive/db_world/2023_08_09_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_09_01.sql rename to data/sql/archive/db_world/2023_08_09_01.sql diff --git a/data/sql/updates/db_world/2023_08_09_02.sql b/data/sql/archive/db_world/2023_08_09_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_09_02.sql rename to data/sql/archive/db_world/2023_08_09_02.sql diff --git a/data/sql/updates/db_world/2023_08_10_00.sql b/data/sql/archive/db_world/2023_08_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_10_00.sql rename to data/sql/archive/db_world/2023_08_10_00.sql diff --git a/data/sql/updates/db_world/2023_08_10_01.sql b/data/sql/archive/db_world/2023_08_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_10_01.sql rename to data/sql/archive/db_world/2023_08_10_01.sql diff --git a/data/sql/updates/db_world/2023_08_10_02.sql b/data/sql/archive/db_world/2023_08_10_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_10_02.sql rename to data/sql/archive/db_world/2023_08_10_02.sql diff --git a/data/sql/updates/db_world/2023_08_11_00.sql b/data/sql/archive/db_world/2023_08_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_11_00.sql rename to data/sql/archive/db_world/2023_08_11_00.sql diff --git a/data/sql/updates/db_world/2023_08_11_01.sql b/data/sql/archive/db_world/2023_08_11_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_11_01.sql rename to data/sql/archive/db_world/2023_08_11_01.sql diff --git a/data/sql/updates/db_world/2023_08_11_02.sql b/data/sql/archive/db_world/2023_08_11_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_11_02.sql rename to data/sql/archive/db_world/2023_08_11_02.sql diff --git a/data/sql/updates/db_world/2023_08_11_03.sql b/data/sql/archive/db_world/2023_08_11_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_11_03.sql rename to data/sql/archive/db_world/2023_08_11_03.sql diff --git a/data/sql/updates/db_world/2023_08_12_00.sql b/data/sql/archive/db_world/2023_08_12_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_12_00.sql rename to data/sql/archive/db_world/2023_08_12_00.sql diff --git a/data/sql/updates/db_world/2023_08_12_01.sql b/data/sql/archive/db_world/2023_08_12_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_12_01.sql rename to data/sql/archive/db_world/2023_08_12_01.sql diff --git a/data/sql/updates/db_world/2023_08_12_02.sql b/data/sql/archive/db_world/2023_08_12_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_12_02.sql rename to data/sql/archive/db_world/2023_08_12_02.sql diff --git a/data/sql/updates/db_world/2023_08_13_00.sql b/data/sql/archive/db_world/2023_08_13_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_13_00.sql rename to data/sql/archive/db_world/2023_08_13_00.sql diff --git a/data/sql/updates/db_world/2023_08_13_01.sql b/data/sql/archive/db_world/2023_08_13_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_13_01.sql rename to data/sql/archive/db_world/2023_08_13_01.sql diff --git a/data/sql/updates/db_world/2023_08_13_02.sql b/data/sql/archive/db_world/2023_08_13_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_13_02.sql rename to data/sql/archive/db_world/2023_08_13_02.sql diff --git a/data/sql/updates/db_world/2023_08_13_03.sql b/data/sql/archive/db_world/2023_08_13_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_13_03.sql rename to data/sql/archive/db_world/2023_08_13_03.sql diff --git a/data/sql/updates/db_world/2023_08_14_00.sql b/data/sql/archive/db_world/2023_08_14_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_14_00.sql rename to data/sql/archive/db_world/2023_08_14_00.sql diff --git a/data/sql/updates/db_world/2023_08_14_01.sql b/data/sql/archive/db_world/2023_08_14_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_14_01.sql rename to data/sql/archive/db_world/2023_08_14_01.sql diff --git a/data/sql/updates/db_world/2023_08_14_02.sql b/data/sql/archive/db_world/2023_08_14_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_14_02.sql rename to data/sql/archive/db_world/2023_08_14_02.sql diff --git a/data/sql/updates/db_world/2023_08_14_03.sql b/data/sql/archive/db_world/2023_08_14_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_14_03.sql rename to data/sql/archive/db_world/2023_08_14_03.sql diff --git a/data/sql/updates/db_world/2023_08_14_04.sql b/data/sql/archive/db_world/2023_08_14_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_14_04.sql rename to data/sql/archive/db_world/2023_08_14_04.sql diff --git a/data/sql/updates/db_world/2023_08_19_00.sql b/data/sql/archive/db_world/2023_08_19_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_19_00.sql rename to data/sql/archive/db_world/2023_08_19_00.sql diff --git a/data/sql/updates/db_world/2023_08_19_01.sql b/data/sql/archive/db_world/2023_08_19_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_19_01.sql rename to data/sql/archive/db_world/2023_08_19_01.sql diff --git a/data/sql/updates/db_world/2023_08_19_02.sql b/data/sql/archive/db_world/2023_08_19_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_19_02.sql rename to data/sql/archive/db_world/2023_08_19_02.sql diff --git a/data/sql/updates/db_world/2023_08_20_00.sql b/data/sql/archive/db_world/2023_08_20_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_20_00.sql rename to data/sql/archive/db_world/2023_08_20_00.sql diff --git a/data/sql/updates/db_world/2023_08_21_00.sql b/data/sql/archive/db_world/2023_08_21_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_21_00.sql rename to data/sql/archive/db_world/2023_08_21_00.sql diff --git a/data/sql/updates/db_world/2023_08_21_01.sql b/data/sql/archive/db_world/2023_08_21_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_21_01.sql rename to data/sql/archive/db_world/2023_08_21_01.sql diff --git a/data/sql/updates/db_world/2023_08_23_00.sql b/data/sql/archive/db_world/2023_08_23_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_23_00.sql rename to data/sql/archive/db_world/2023_08_23_00.sql diff --git a/data/sql/updates/db_world/2023_08_23_01.sql b/data/sql/archive/db_world/2023_08_23_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_23_01.sql rename to data/sql/archive/db_world/2023_08_23_01.sql diff --git a/data/sql/updates/db_world/2023_08_24_00.sql b/data/sql/archive/db_world/2023_08_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_24_00.sql rename to data/sql/archive/db_world/2023_08_24_00.sql diff --git a/data/sql/updates/db_world/2023_08_24_01.sql b/data/sql/archive/db_world/2023_08_24_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_24_01.sql rename to data/sql/archive/db_world/2023_08_24_01.sql diff --git a/data/sql/updates/db_world/2023_08_24_02.sql b/data/sql/archive/db_world/2023_08_24_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_24_02.sql rename to data/sql/archive/db_world/2023_08_24_02.sql diff --git a/data/sql/updates/db_world/2023_08_25_00.sql b/data/sql/archive/db_world/2023_08_25_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_25_00.sql rename to data/sql/archive/db_world/2023_08_25_00.sql diff --git a/data/sql/updates/db_world/2023_08_25_01.sql b/data/sql/archive/db_world/2023_08_25_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_25_01.sql rename to data/sql/archive/db_world/2023_08_25_01.sql diff --git a/data/sql/updates/db_world/2023_08_25_02.sql b/data/sql/archive/db_world/2023_08_25_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_25_02.sql rename to data/sql/archive/db_world/2023_08_25_02.sql diff --git a/data/sql/updates/db_world/2023_08_30_00.sql b/data/sql/archive/db_world/2023_08_30_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_08_30_00.sql rename to data/sql/archive/db_world/2023_08_30_00.sql diff --git a/data/sql/updates/db_world/2023_09_04_00.sql b/data/sql/archive/db_world/2023_09_04_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_04_00.sql rename to data/sql/archive/db_world/2023_09_04_00.sql diff --git a/data/sql/updates/db_world/2023_09_04_01.sql b/data/sql/archive/db_world/2023_09_04_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_04_01.sql rename to data/sql/archive/db_world/2023_09_04_01.sql diff --git a/data/sql/updates/db_world/2023_09_04_02.sql b/data/sql/archive/db_world/2023_09_04_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_04_02.sql rename to data/sql/archive/db_world/2023_09_04_02.sql diff --git a/data/sql/updates/db_world/2023_09_05_00.sql b/data/sql/archive/db_world/2023_09_05_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_05_00.sql rename to data/sql/archive/db_world/2023_09_05_00.sql diff --git a/data/sql/updates/db_world/2023_09_10_00.sql b/data/sql/archive/db_world/2023_09_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_10_00.sql rename to data/sql/archive/db_world/2023_09_10_00.sql diff --git a/data/sql/updates/db_world/2023_09_10_01.sql b/data/sql/archive/db_world/2023_09_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_10_01.sql rename to data/sql/archive/db_world/2023_09_10_01.sql diff --git a/data/sql/updates/db_world/2023_09_11_00.sql b/data/sql/archive/db_world/2023_09_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_11_00.sql rename to data/sql/archive/db_world/2023_09_11_00.sql diff --git a/data/sql/updates/db_world/2023_09_13_00.sql b/data/sql/archive/db_world/2023_09_13_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_13_00.sql rename to data/sql/archive/db_world/2023_09_13_00.sql diff --git a/data/sql/updates/db_world/2023_09_14_00.sql b/data/sql/archive/db_world/2023_09_14_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_14_00.sql rename to data/sql/archive/db_world/2023_09_14_00.sql diff --git a/data/sql/updates/db_world/2023_09_14_01.sql b/data/sql/archive/db_world/2023_09_14_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_14_01.sql rename to data/sql/archive/db_world/2023_09_14_01.sql diff --git a/data/sql/updates/db_world/2023_09_15_00.sql b/data/sql/archive/db_world/2023_09_15_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_15_00.sql rename to data/sql/archive/db_world/2023_09_15_00.sql diff --git a/data/sql/updates/db_world/2023_09_15_01.sql b/data/sql/archive/db_world/2023_09_15_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_15_01.sql rename to data/sql/archive/db_world/2023_09_15_01.sql diff --git a/data/sql/updates/db_world/2023_09_15_02.sql b/data/sql/archive/db_world/2023_09_15_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_15_02.sql rename to data/sql/archive/db_world/2023_09_15_02.sql diff --git a/data/sql/updates/db_world/2023_09_17_00.sql b/data/sql/archive/db_world/2023_09_17_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_00.sql rename to data/sql/archive/db_world/2023_09_17_00.sql diff --git a/data/sql/updates/db_world/2023_09_17_01.sql b/data/sql/archive/db_world/2023_09_17_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_01.sql rename to data/sql/archive/db_world/2023_09_17_01.sql diff --git a/data/sql/updates/db_world/2023_09_17_02.sql b/data/sql/archive/db_world/2023_09_17_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_02.sql rename to data/sql/archive/db_world/2023_09_17_02.sql diff --git a/data/sql/updates/db_world/2023_09_17_03.sql b/data/sql/archive/db_world/2023_09_17_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_03.sql rename to data/sql/archive/db_world/2023_09_17_03.sql diff --git a/data/sql/updates/db_world/2023_09_17_04.sql b/data/sql/archive/db_world/2023_09_17_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_04.sql rename to data/sql/archive/db_world/2023_09_17_04.sql diff --git a/data/sql/updates/db_world/2023_09_17_05.sql b/data/sql/archive/db_world/2023_09_17_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_05.sql rename to data/sql/archive/db_world/2023_09_17_05.sql diff --git a/data/sql/updates/db_world/2023_09_17_06.sql b/data/sql/archive/db_world/2023_09_17_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_06.sql rename to data/sql/archive/db_world/2023_09_17_06.sql diff --git a/data/sql/updates/db_world/2023_09_17_07.sql b/data/sql/archive/db_world/2023_09_17_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_07.sql rename to data/sql/archive/db_world/2023_09_17_07.sql diff --git a/data/sql/updates/db_world/2023_09_17_08.sql b/data/sql/archive/db_world/2023_09_17_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_08.sql rename to data/sql/archive/db_world/2023_09_17_08.sql diff --git a/data/sql/updates/db_world/2023_09_17_09.sql b/data/sql/archive/db_world/2023_09_17_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_09.sql rename to data/sql/archive/db_world/2023_09_17_09.sql diff --git a/data/sql/updates/db_world/2023_09_17_10.sql b/data/sql/archive/db_world/2023_09_17_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_10.sql rename to data/sql/archive/db_world/2023_09_17_10.sql diff --git a/data/sql/updates/db_world/2023_09_17_11.sql b/data/sql/archive/db_world/2023_09_17_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_11.sql rename to data/sql/archive/db_world/2023_09_17_11.sql diff --git a/data/sql/updates/db_world/2023_09_17_12.sql b/data/sql/archive/db_world/2023_09_17_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_12.sql rename to data/sql/archive/db_world/2023_09_17_12.sql diff --git a/data/sql/updates/db_world/2023_09_17_13.sql b/data/sql/archive/db_world/2023_09_17_13.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_17_13.sql rename to data/sql/archive/db_world/2023_09_17_13.sql diff --git a/data/sql/updates/db_world/2023_09_18_00.sql b/data/sql/archive/db_world/2023_09_18_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_18_00.sql rename to data/sql/archive/db_world/2023_09_18_00.sql diff --git a/data/sql/updates/db_world/2023_09_18_01.sql b/data/sql/archive/db_world/2023_09_18_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_18_01.sql rename to data/sql/archive/db_world/2023_09_18_01.sql diff --git a/data/sql/updates/db_world/2023_09_18_02.sql b/data/sql/archive/db_world/2023_09_18_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_18_02.sql rename to data/sql/archive/db_world/2023_09_18_02.sql diff --git a/data/sql/updates/db_world/2023_09_18_03.sql b/data/sql/archive/db_world/2023_09_18_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_18_03.sql rename to data/sql/archive/db_world/2023_09_18_03.sql diff --git a/data/sql/updates/db_world/2023_09_18_04.sql b/data/sql/archive/db_world/2023_09_18_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_18_04.sql rename to data/sql/archive/db_world/2023_09_18_04.sql diff --git a/data/sql/updates/db_world/2023_09_19_00.sql b/data/sql/archive/db_world/2023_09_19_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_19_00.sql rename to data/sql/archive/db_world/2023_09_19_00.sql diff --git a/data/sql/updates/db_world/2023_09_19_01.sql b/data/sql/archive/db_world/2023_09_19_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_19_01.sql rename to data/sql/archive/db_world/2023_09_19_01.sql diff --git a/data/sql/updates/db_world/2023_09_20_00.sql b/data/sql/archive/db_world/2023_09_20_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_00.sql rename to data/sql/archive/db_world/2023_09_20_00.sql diff --git a/data/sql/updates/db_world/2023_09_20_01.sql b/data/sql/archive/db_world/2023_09_20_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_01.sql rename to data/sql/archive/db_world/2023_09_20_01.sql diff --git a/data/sql/updates/db_world/2023_09_20_02.sql b/data/sql/archive/db_world/2023_09_20_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_02.sql rename to data/sql/archive/db_world/2023_09_20_02.sql diff --git a/data/sql/updates/db_world/2023_09_20_03.sql b/data/sql/archive/db_world/2023_09_20_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_03.sql rename to data/sql/archive/db_world/2023_09_20_03.sql diff --git a/data/sql/updates/db_world/2023_09_20_04.sql b/data/sql/archive/db_world/2023_09_20_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_04.sql rename to data/sql/archive/db_world/2023_09_20_04.sql diff --git a/data/sql/updates/db_world/2023_09_20_05.sql b/data/sql/archive/db_world/2023_09_20_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_05.sql rename to data/sql/archive/db_world/2023_09_20_05.sql diff --git a/data/sql/updates/db_world/2023_09_20_06.sql b/data/sql/archive/db_world/2023_09_20_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_06.sql rename to data/sql/archive/db_world/2023_09_20_06.sql diff --git a/data/sql/updates/db_world/2023_09_20_07.sql b/data/sql/archive/db_world/2023_09_20_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_20_07.sql rename to data/sql/archive/db_world/2023_09_20_07.sql diff --git a/data/sql/updates/db_world/2023_09_24_00.sql b/data/sql/archive/db_world/2023_09_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_24_00.sql rename to data/sql/archive/db_world/2023_09_24_00.sql diff --git a/data/sql/updates/db_world/2023_09_24_01.sql b/data/sql/archive/db_world/2023_09_24_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_24_01.sql rename to data/sql/archive/db_world/2023_09_24_01.sql diff --git a/data/sql/updates/db_world/2023_09_24_02.sql b/data/sql/archive/db_world/2023_09_24_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_24_02.sql rename to data/sql/archive/db_world/2023_09_24_02.sql diff --git a/data/sql/updates/db_world/2023_09_25_00.sql b/data/sql/archive/db_world/2023_09_25_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_00.sql rename to data/sql/archive/db_world/2023_09_25_00.sql diff --git a/data/sql/updates/db_world/2023_09_25_01.sql b/data/sql/archive/db_world/2023_09_25_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_01.sql rename to data/sql/archive/db_world/2023_09_25_01.sql diff --git a/data/sql/updates/db_world/2023_09_25_02.sql b/data/sql/archive/db_world/2023_09_25_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_02.sql rename to data/sql/archive/db_world/2023_09_25_02.sql diff --git a/data/sql/updates/db_world/2023_09_25_03.sql b/data/sql/archive/db_world/2023_09_25_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_03.sql rename to data/sql/archive/db_world/2023_09_25_03.sql diff --git a/data/sql/updates/db_world/2023_09_25_04.sql b/data/sql/archive/db_world/2023_09_25_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_04.sql rename to data/sql/archive/db_world/2023_09_25_04.sql diff --git a/data/sql/updates/db_world/2023_09_25_05.sql b/data/sql/archive/db_world/2023_09_25_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_05.sql rename to data/sql/archive/db_world/2023_09_25_05.sql diff --git a/data/sql/updates/db_world/2023_09_25_06.sql b/data/sql/archive/db_world/2023_09_25_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_06.sql rename to data/sql/archive/db_world/2023_09_25_06.sql diff --git a/data/sql/updates/db_world/2023_09_25_07.sql b/data/sql/archive/db_world/2023_09_25_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_07.sql rename to data/sql/archive/db_world/2023_09_25_07.sql diff --git a/data/sql/updates/db_world/2023_09_25_08.sql b/data/sql/archive/db_world/2023_09_25_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_25_08.sql rename to data/sql/archive/db_world/2023_09_25_08.sql diff --git a/data/sql/updates/db_world/2023_09_26_00.sql b/data/sql/archive/db_world/2023_09_26_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_26_00.sql rename to data/sql/archive/db_world/2023_09_26_00.sql diff --git a/data/sql/updates/db_world/2023_09_26_01.sql b/data/sql/archive/db_world/2023_09_26_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_26_01.sql rename to data/sql/archive/db_world/2023_09_26_01.sql diff --git a/data/sql/updates/db_world/2023_09_26_02.sql b/data/sql/archive/db_world/2023_09_26_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_26_02.sql rename to data/sql/archive/db_world/2023_09_26_02.sql diff --git a/data/sql/updates/db_world/2023_09_26_03.sql b/data/sql/archive/db_world/2023_09_26_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_26_03.sql rename to data/sql/archive/db_world/2023_09_26_03.sql diff --git a/data/sql/updates/db_world/2023_09_27_00.sql b/data/sql/archive/db_world/2023_09_27_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_27_00.sql rename to data/sql/archive/db_world/2023_09_27_00.sql diff --git a/data/sql/updates/db_world/2023_09_27_01.sql b/data/sql/archive/db_world/2023_09_27_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_27_01.sql rename to data/sql/archive/db_world/2023_09_27_01.sql diff --git a/data/sql/updates/db_world/2023_09_27_02.sql b/data/sql/archive/db_world/2023_09_27_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_27_02.sql rename to data/sql/archive/db_world/2023_09_27_02.sql diff --git a/data/sql/updates/db_world/2023_09_29_00.sql b/data/sql/archive/db_world/2023_09_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_09_29_00.sql rename to data/sql/archive/db_world/2023_09_29_00.sql diff --git a/data/sql/updates/db_world/2023_10_01_00.sql b/data/sql/archive/db_world/2023_10_01_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_01_00.sql rename to data/sql/archive/db_world/2023_10_01_00.sql diff --git a/data/sql/updates/db_world/2023_10_01_01.sql b/data/sql/archive/db_world/2023_10_01_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_01_01.sql rename to data/sql/archive/db_world/2023_10_01_01.sql diff --git a/data/sql/updates/db_world/2023_10_01_02.sql b/data/sql/archive/db_world/2023_10_01_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_01_02.sql rename to data/sql/archive/db_world/2023_10_01_02.sql diff --git a/data/sql/updates/db_world/2023_10_01_03.sql b/data/sql/archive/db_world/2023_10_01_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_01_03.sql rename to data/sql/archive/db_world/2023_10_01_03.sql diff --git a/data/sql/updates/db_world/2023_10_01_04.sql b/data/sql/archive/db_world/2023_10_01_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_01_04.sql rename to data/sql/archive/db_world/2023_10_01_04.sql diff --git a/data/sql/updates/db_world/2023_10_05_00.sql b/data/sql/archive/db_world/2023_10_05_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_05_00.sql rename to data/sql/archive/db_world/2023_10_05_00.sql diff --git a/data/sql/updates/db_world/2023_10_07_00.sql b/data/sql/archive/db_world/2023_10_07_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_07_00.sql rename to data/sql/archive/db_world/2023_10_07_00.sql diff --git a/data/sql/updates/db_world/2023_10_07_01.sql b/data/sql/archive/db_world/2023_10_07_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_07_01.sql rename to data/sql/archive/db_world/2023_10_07_01.sql diff --git a/data/sql/updates/db_world/2023_10_07_02.sql b/data/sql/archive/db_world/2023_10_07_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_07_02.sql rename to data/sql/archive/db_world/2023_10_07_02.sql diff --git a/data/sql/updates/db_world/2023_10_08_00.sql b/data/sql/archive/db_world/2023_10_08_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_00.sql rename to data/sql/archive/db_world/2023_10_08_00.sql diff --git a/data/sql/updates/db_world/2023_10_08_01.sql b/data/sql/archive/db_world/2023_10_08_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_01.sql rename to data/sql/archive/db_world/2023_10_08_01.sql diff --git a/data/sql/updates/db_world/2023_10_08_02.sql b/data/sql/archive/db_world/2023_10_08_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_02.sql rename to data/sql/archive/db_world/2023_10_08_02.sql diff --git a/data/sql/updates/db_world/2023_10_08_03.sql b/data/sql/archive/db_world/2023_10_08_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_03.sql rename to data/sql/archive/db_world/2023_10_08_03.sql diff --git a/data/sql/updates/db_world/2023_10_08_04.sql b/data/sql/archive/db_world/2023_10_08_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_04.sql rename to data/sql/archive/db_world/2023_10_08_04.sql diff --git a/data/sql/updates/db_world/2023_10_08_05.sql b/data/sql/archive/db_world/2023_10_08_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_05.sql rename to data/sql/archive/db_world/2023_10_08_05.sql diff --git a/data/sql/updates/db_world/2023_10_08_06.sql b/data/sql/archive/db_world/2023_10_08_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_06.sql rename to data/sql/archive/db_world/2023_10_08_06.sql diff --git a/data/sql/updates/db_world/2023_10_08_07.sql b/data/sql/archive/db_world/2023_10_08_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_07.sql rename to data/sql/archive/db_world/2023_10_08_07.sql diff --git a/data/sql/updates/db_world/2023_10_08_08.sql b/data/sql/archive/db_world/2023_10_08_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_08_08.sql rename to data/sql/archive/db_world/2023_10_08_08.sql diff --git a/data/sql/updates/db_world/2023_10_10_00.sql b/data/sql/archive/db_world/2023_10_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_00.sql rename to data/sql/archive/db_world/2023_10_10_00.sql diff --git a/data/sql/updates/db_world/2023_10_10_01.sql b/data/sql/archive/db_world/2023_10_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_01.sql rename to data/sql/archive/db_world/2023_10_10_01.sql diff --git a/data/sql/updates/db_world/2023_10_10_02.sql b/data/sql/archive/db_world/2023_10_10_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_02.sql rename to data/sql/archive/db_world/2023_10_10_02.sql diff --git a/data/sql/updates/db_world/2023_10_10_03.sql b/data/sql/archive/db_world/2023_10_10_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_03.sql rename to data/sql/archive/db_world/2023_10_10_03.sql diff --git a/data/sql/updates/db_world/2023_10_10_04.sql b/data/sql/archive/db_world/2023_10_10_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_04.sql rename to data/sql/archive/db_world/2023_10_10_04.sql diff --git a/data/sql/updates/db_world/2023_10_10_05.sql b/data/sql/archive/db_world/2023_10_10_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_05.sql rename to data/sql/archive/db_world/2023_10_10_05.sql diff --git a/data/sql/updates/db_world/2023_10_10_06.sql b/data/sql/archive/db_world/2023_10_10_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_06.sql rename to data/sql/archive/db_world/2023_10_10_06.sql diff --git a/data/sql/updates/db_world/2023_10_10_07.sql b/data/sql/archive/db_world/2023_10_10_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_07.sql rename to data/sql/archive/db_world/2023_10_10_07.sql diff --git a/data/sql/updates/db_world/2023_10_10_08.sql b/data/sql/archive/db_world/2023_10_10_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_08.sql rename to data/sql/archive/db_world/2023_10_10_08.sql diff --git a/data/sql/updates/db_world/2023_10_10_09.sql b/data/sql/archive/db_world/2023_10_10_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_09.sql rename to data/sql/archive/db_world/2023_10_10_09.sql diff --git a/data/sql/updates/db_world/2023_10_10_10.sql b/data/sql/archive/db_world/2023_10_10_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_10.sql rename to data/sql/archive/db_world/2023_10_10_10.sql diff --git a/data/sql/updates/db_world/2023_10_10_11.sql b/data/sql/archive/db_world/2023_10_10_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_11.sql rename to data/sql/archive/db_world/2023_10_10_11.sql diff --git a/data/sql/updates/db_world/2023_10_10_12.sql b/data/sql/archive/db_world/2023_10_10_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_12.sql rename to data/sql/archive/db_world/2023_10_10_12.sql diff --git a/data/sql/updates/db_world/2023_10_10_13.sql b/data/sql/archive/db_world/2023_10_10_13.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_13.sql rename to data/sql/archive/db_world/2023_10_10_13.sql diff --git a/data/sql/updates/db_world/2023_10_10_14.sql b/data/sql/archive/db_world/2023_10_10_14.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_10_14.sql rename to data/sql/archive/db_world/2023_10_10_14.sql diff --git a/data/sql/updates/db_world/2023_10_11_00.sql b/data/sql/archive/db_world/2023_10_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_11_00.sql rename to data/sql/archive/db_world/2023_10_11_00.sql diff --git a/data/sql/updates/db_world/2023_10_11_01.sql b/data/sql/archive/db_world/2023_10_11_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_11_01.sql rename to data/sql/archive/db_world/2023_10_11_01.sql diff --git a/data/sql/updates/db_world/2023_10_12_00.sql b/data/sql/archive/db_world/2023_10_12_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_12_00.sql rename to data/sql/archive/db_world/2023_10_12_00.sql diff --git a/data/sql/updates/db_world/2023_10_12_01.sql b/data/sql/archive/db_world/2023_10_12_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_12_01.sql rename to data/sql/archive/db_world/2023_10_12_01.sql diff --git a/data/sql/updates/db_world/2023_10_12_02.sql b/data/sql/archive/db_world/2023_10_12_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_12_02.sql rename to data/sql/archive/db_world/2023_10_12_02.sql diff --git a/data/sql/updates/db_world/2023_10_12_03.sql b/data/sql/archive/db_world/2023_10_12_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_12_03.sql rename to data/sql/archive/db_world/2023_10_12_03.sql diff --git a/data/sql/updates/db_world/2023_10_12_04.sql b/data/sql/archive/db_world/2023_10_12_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_12_04.sql rename to data/sql/archive/db_world/2023_10_12_04.sql diff --git a/data/sql/updates/db_world/2023_10_15_00.sql b/data/sql/archive/db_world/2023_10_15_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_15_00.sql rename to data/sql/archive/db_world/2023_10_15_00.sql diff --git a/data/sql/updates/db_world/2023_10_16_00.sql b/data/sql/archive/db_world/2023_10_16_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_16_00.sql rename to data/sql/archive/db_world/2023_10_16_00.sql diff --git a/data/sql/updates/db_world/2023_10_16_01.sql b/data/sql/archive/db_world/2023_10_16_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_16_01.sql rename to data/sql/archive/db_world/2023_10_16_01.sql diff --git a/data/sql/updates/db_world/2023_10_16_02.sql b/data/sql/archive/db_world/2023_10_16_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_16_02.sql rename to data/sql/archive/db_world/2023_10_16_02.sql diff --git a/data/sql/updates/db_world/2023_10_16_03.sql b/data/sql/archive/db_world/2023_10_16_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_16_03.sql rename to data/sql/archive/db_world/2023_10_16_03.sql diff --git a/data/sql/updates/db_world/2023_10_16_04.sql b/data/sql/archive/db_world/2023_10_16_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_16_04.sql rename to data/sql/archive/db_world/2023_10_16_04.sql diff --git a/data/sql/updates/db_world/2023_10_17_00.sql b/data/sql/archive/db_world/2023_10_17_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_00.sql rename to data/sql/archive/db_world/2023_10_17_00.sql diff --git a/data/sql/updates/db_world/2023_10_17_01.sql b/data/sql/archive/db_world/2023_10_17_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_01.sql rename to data/sql/archive/db_world/2023_10_17_01.sql diff --git a/data/sql/updates/db_world/2023_10_17_02.sql b/data/sql/archive/db_world/2023_10_17_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_02.sql rename to data/sql/archive/db_world/2023_10_17_02.sql diff --git a/data/sql/updates/db_world/2023_10_17_03.sql b/data/sql/archive/db_world/2023_10_17_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_03.sql rename to data/sql/archive/db_world/2023_10_17_03.sql diff --git a/data/sql/updates/db_world/2023_10_17_04.sql b/data/sql/archive/db_world/2023_10_17_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_04.sql rename to data/sql/archive/db_world/2023_10_17_04.sql diff --git a/data/sql/updates/db_world/2023_10_17_05.sql b/data/sql/archive/db_world/2023_10_17_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_05.sql rename to data/sql/archive/db_world/2023_10_17_05.sql diff --git a/data/sql/updates/db_world/2023_10_17_06.sql b/data/sql/archive/db_world/2023_10_17_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_06.sql rename to data/sql/archive/db_world/2023_10_17_06.sql diff --git a/data/sql/updates/db_world/2023_10_17_07.sql b/data/sql/archive/db_world/2023_10_17_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_17_07.sql rename to data/sql/archive/db_world/2023_10_17_07.sql diff --git a/data/sql/updates/db_world/2023_10_18_00.sql b/data/sql/archive/db_world/2023_10_18_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_18_00.sql rename to data/sql/archive/db_world/2023_10_18_00.sql diff --git a/data/sql/updates/db_world/2023_10_18_01.sql b/data/sql/archive/db_world/2023_10_18_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_18_01.sql rename to data/sql/archive/db_world/2023_10_18_01.sql diff --git a/data/sql/updates/db_world/2023_10_18_02.sql b/data/sql/archive/db_world/2023_10_18_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_18_02.sql rename to data/sql/archive/db_world/2023_10_18_02.sql diff --git a/data/sql/updates/db_world/2023_10_20_00.sql b/data/sql/archive/db_world/2023_10_20_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_20_00.sql rename to data/sql/archive/db_world/2023_10_20_00.sql diff --git a/data/sql/updates/db_world/2023_10_20_01.sql b/data/sql/archive/db_world/2023_10_20_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_20_01.sql rename to data/sql/archive/db_world/2023_10_20_01.sql diff --git a/data/sql/updates/db_world/2023_10_20_02.sql b/data/sql/archive/db_world/2023_10_20_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_20_02.sql rename to data/sql/archive/db_world/2023_10_20_02.sql diff --git a/data/sql/updates/db_world/2023_10_20_03.sql b/data/sql/archive/db_world/2023_10_20_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_20_03.sql rename to data/sql/archive/db_world/2023_10_20_03.sql diff --git a/data/sql/updates/db_world/2023_10_20_04.sql b/data/sql/archive/db_world/2023_10_20_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_20_04.sql rename to data/sql/archive/db_world/2023_10_20_04.sql diff --git a/data/sql/updates/db_world/2023_10_20_05.sql b/data/sql/archive/db_world/2023_10_20_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_20_05.sql rename to data/sql/archive/db_world/2023_10_20_05.sql diff --git a/data/sql/updates/db_world/2023_10_21_00.sql b/data/sql/archive/db_world/2023_10_21_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_00.sql rename to data/sql/archive/db_world/2023_10_21_00.sql diff --git a/data/sql/updates/db_world/2023_10_21_01.sql b/data/sql/archive/db_world/2023_10_21_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_01.sql rename to data/sql/archive/db_world/2023_10_21_01.sql diff --git a/data/sql/updates/db_world/2023_10_21_02.sql b/data/sql/archive/db_world/2023_10_21_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_02.sql rename to data/sql/archive/db_world/2023_10_21_02.sql diff --git a/data/sql/updates/db_world/2023_10_21_03.sql b/data/sql/archive/db_world/2023_10_21_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_03.sql rename to data/sql/archive/db_world/2023_10_21_03.sql diff --git a/data/sql/updates/db_world/2023_10_21_04.sql b/data/sql/archive/db_world/2023_10_21_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_04.sql rename to data/sql/archive/db_world/2023_10_21_04.sql diff --git a/data/sql/updates/db_world/2023_10_21_05.sql b/data/sql/archive/db_world/2023_10_21_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_05.sql rename to data/sql/archive/db_world/2023_10_21_05.sql diff --git a/data/sql/updates/db_world/2023_10_21_06.sql b/data/sql/archive/db_world/2023_10_21_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_21_06.sql rename to data/sql/archive/db_world/2023_10_21_06.sql diff --git a/data/sql/updates/db_world/2023_10_22_00.sql b/data/sql/archive/db_world/2023_10_22_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_00.sql rename to data/sql/archive/db_world/2023_10_22_00.sql diff --git a/data/sql/updates/db_world/2023_10_22_01.sql b/data/sql/archive/db_world/2023_10_22_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_01.sql rename to data/sql/archive/db_world/2023_10_22_01.sql diff --git a/data/sql/updates/db_world/2023_10_22_02.sql b/data/sql/archive/db_world/2023_10_22_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_02.sql rename to data/sql/archive/db_world/2023_10_22_02.sql diff --git a/data/sql/updates/db_world/2023_10_22_03.sql b/data/sql/archive/db_world/2023_10_22_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_03.sql rename to data/sql/archive/db_world/2023_10_22_03.sql diff --git a/data/sql/updates/db_world/2023_10_22_04.sql b/data/sql/archive/db_world/2023_10_22_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_04.sql rename to data/sql/archive/db_world/2023_10_22_04.sql diff --git a/data/sql/updates/db_world/2023_10_22_05.sql b/data/sql/archive/db_world/2023_10_22_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_05.sql rename to data/sql/archive/db_world/2023_10_22_05.sql diff --git a/data/sql/updates/db_world/2023_10_22_06.sql b/data/sql/archive/db_world/2023_10_22_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_06.sql rename to data/sql/archive/db_world/2023_10_22_06.sql diff --git a/data/sql/updates/db_world/2023_10_22_07.sql b/data/sql/archive/db_world/2023_10_22_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_07.sql rename to data/sql/archive/db_world/2023_10_22_07.sql diff --git a/data/sql/updates/db_world/2023_10_22_08.sql b/data/sql/archive/db_world/2023_10_22_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_08.sql rename to data/sql/archive/db_world/2023_10_22_08.sql diff --git a/data/sql/updates/db_world/2023_10_22_09.sql b/data/sql/archive/db_world/2023_10_22_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_22_09.sql rename to data/sql/archive/db_world/2023_10_22_09.sql diff --git a/data/sql/updates/db_world/2023_10_24_00.sql b/data/sql/archive/db_world/2023_10_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_24_00.sql rename to data/sql/archive/db_world/2023_10_24_00.sql diff --git a/data/sql/updates/db_world/2023_10_25_00.sql b/data/sql/archive/db_world/2023_10_25_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_25_00.sql rename to data/sql/archive/db_world/2023_10_25_00.sql diff --git a/data/sql/updates/db_world/2023_10_25_01.sql b/data/sql/archive/db_world/2023_10_25_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_25_01.sql rename to data/sql/archive/db_world/2023_10_25_01.sql diff --git a/data/sql/updates/db_world/2023_10_25_02.sql b/data/sql/archive/db_world/2023_10_25_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_25_02.sql rename to data/sql/archive/db_world/2023_10_25_02.sql diff --git a/data/sql/updates/db_world/2023_10_29_00.sql b/data/sql/archive/db_world/2023_10_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_29_00.sql rename to data/sql/archive/db_world/2023_10_29_00.sql diff --git a/data/sql/updates/db_world/2023_10_29_01.sql b/data/sql/archive/db_world/2023_10_29_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_29_01.sql rename to data/sql/archive/db_world/2023_10_29_01.sql diff --git a/data/sql/updates/db_world/2023_10_31_00.sql b/data/sql/archive/db_world/2023_10_31_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_31_00.sql rename to data/sql/archive/db_world/2023_10_31_00.sql diff --git a/data/sql/updates/db_world/2023_10_31_01.sql b/data/sql/archive/db_world/2023_10_31_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_31_01.sql rename to data/sql/archive/db_world/2023_10_31_01.sql diff --git a/data/sql/updates/db_world/2023_10_31_02.sql b/data/sql/archive/db_world/2023_10_31_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_10_31_02.sql rename to data/sql/archive/db_world/2023_10_31_02.sql diff --git a/data/sql/updates/db_world/2023_11_02_00.sql b/data/sql/archive/db_world/2023_11_02_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_02_00.sql rename to data/sql/archive/db_world/2023_11_02_00.sql diff --git a/data/sql/updates/db_world/2023_11_02_01.sql b/data/sql/archive/db_world/2023_11_02_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_02_01.sql rename to data/sql/archive/db_world/2023_11_02_01.sql diff --git a/data/sql/updates/db_world/2023_11_02_02.sql b/data/sql/archive/db_world/2023_11_02_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_02_02.sql rename to data/sql/archive/db_world/2023_11_02_02.sql diff --git a/data/sql/updates/db_world/2023_11_02_03.sql b/data/sql/archive/db_world/2023_11_02_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_02_03.sql rename to data/sql/archive/db_world/2023_11_02_03.sql diff --git a/data/sql/updates/db_world/2023_11_05_00.sql b/data/sql/archive/db_world/2023_11_05_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_05_00.sql rename to data/sql/archive/db_world/2023_11_05_00.sql diff --git a/data/sql/updates/db_world/2023_11_07_00.sql b/data/sql/archive/db_world/2023_11_07_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_07_00.sql rename to data/sql/archive/db_world/2023_11_07_00.sql diff --git a/data/sql/updates/db_world/2023_11_07_01.sql b/data/sql/archive/db_world/2023_11_07_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_07_01.sql rename to data/sql/archive/db_world/2023_11_07_01.sql diff --git a/data/sql/updates/db_world/2023_11_07_02.sql b/data/sql/archive/db_world/2023_11_07_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_07_02.sql rename to data/sql/archive/db_world/2023_11_07_02.sql diff --git a/data/sql/updates/db_world/2023_11_07_03.sql b/data/sql/archive/db_world/2023_11_07_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_07_03.sql rename to data/sql/archive/db_world/2023_11_07_03.sql diff --git a/data/sql/updates/db_world/2023_11_08_00.sql b/data/sql/archive/db_world/2023_11_08_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_00.sql rename to data/sql/archive/db_world/2023_11_08_00.sql diff --git a/data/sql/updates/db_world/2023_11_08_01.sql b/data/sql/archive/db_world/2023_11_08_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_01.sql rename to data/sql/archive/db_world/2023_11_08_01.sql diff --git a/data/sql/updates/db_world/2023_11_08_02.sql b/data/sql/archive/db_world/2023_11_08_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_02.sql rename to data/sql/archive/db_world/2023_11_08_02.sql diff --git a/data/sql/updates/db_world/2023_11_08_03.sql b/data/sql/archive/db_world/2023_11_08_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_03.sql rename to data/sql/archive/db_world/2023_11_08_03.sql diff --git a/data/sql/updates/db_world/2023_11_08_04.sql b/data/sql/archive/db_world/2023_11_08_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_04.sql rename to data/sql/archive/db_world/2023_11_08_04.sql diff --git a/data/sql/updates/db_world/2023_11_08_05.sql b/data/sql/archive/db_world/2023_11_08_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_05.sql rename to data/sql/archive/db_world/2023_11_08_05.sql diff --git a/data/sql/updates/db_world/2023_11_08_06.sql b/data/sql/archive/db_world/2023_11_08_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_06.sql rename to data/sql/archive/db_world/2023_11_08_06.sql diff --git a/data/sql/updates/db_world/2023_11_08_07.sql b/data/sql/archive/db_world/2023_11_08_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_08_07.sql rename to data/sql/archive/db_world/2023_11_08_07.sql diff --git a/data/sql/updates/db_world/2023_11_09_00.sql b/data/sql/archive/db_world/2023_11_09_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_09_00.sql rename to data/sql/archive/db_world/2023_11_09_00.sql diff --git a/data/sql/updates/db_world/2023_11_10_00.sql b/data/sql/archive/db_world/2023_11_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_10_00.sql rename to data/sql/archive/db_world/2023_11_10_00.sql diff --git a/data/sql/updates/db_world/2023_11_10_01.sql b/data/sql/archive/db_world/2023_11_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_10_01.sql rename to data/sql/archive/db_world/2023_11_10_01.sql diff --git a/data/sql/updates/db_world/2023_11_10_02.sql b/data/sql/archive/db_world/2023_11_10_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_10_02.sql rename to data/sql/archive/db_world/2023_11_10_02.sql diff --git a/data/sql/updates/db_world/2023_11_11_00.sql b/data/sql/archive/db_world/2023_11_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_11_00.sql rename to data/sql/archive/db_world/2023_11_11_00.sql diff --git a/data/sql/updates/db_world/2023_11_11_01.sql b/data/sql/archive/db_world/2023_11_11_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_11_01.sql rename to data/sql/archive/db_world/2023_11_11_01.sql diff --git a/data/sql/updates/db_world/2023_11_11_02.sql b/data/sql/archive/db_world/2023_11_11_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_11_02.sql rename to data/sql/archive/db_world/2023_11_11_02.sql diff --git a/data/sql/updates/db_world/2023_11_11_03.sql b/data/sql/archive/db_world/2023_11_11_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_11_03.sql rename to data/sql/archive/db_world/2023_11_11_03.sql diff --git a/data/sql/updates/db_world/2023_11_11_04.sql b/data/sql/archive/db_world/2023_11_11_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_11_04.sql rename to data/sql/archive/db_world/2023_11_11_04.sql diff --git a/data/sql/updates/db_world/2023_11_12_00.sql b/data/sql/archive/db_world/2023_11_12_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_00.sql rename to data/sql/archive/db_world/2023_11_12_00.sql diff --git a/data/sql/updates/db_world/2023_11_12_01.sql b/data/sql/archive/db_world/2023_11_12_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_01.sql rename to data/sql/archive/db_world/2023_11_12_01.sql diff --git a/data/sql/updates/db_world/2023_11_12_02.sql b/data/sql/archive/db_world/2023_11_12_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_02.sql rename to data/sql/archive/db_world/2023_11_12_02.sql diff --git a/data/sql/updates/db_world/2023_11_12_03.sql b/data/sql/archive/db_world/2023_11_12_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_03.sql rename to data/sql/archive/db_world/2023_11_12_03.sql diff --git a/data/sql/updates/db_world/2023_11_12_04.sql b/data/sql/archive/db_world/2023_11_12_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_04.sql rename to data/sql/archive/db_world/2023_11_12_04.sql diff --git a/data/sql/updates/db_world/2023_11_12_05.sql b/data/sql/archive/db_world/2023_11_12_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_05.sql rename to data/sql/archive/db_world/2023_11_12_05.sql diff --git a/data/sql/updates/db_world/2023_11_12_06.sql b/data/sql/archive/db_world/2023_11_12_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_06.sql rename to data/sql/archive/db_world/2023_11_12_06.sql diff --git a/data/sql/updates/db_world/2023_11_12_07.sql b/data/sql/archive/db_world/2023_11_12_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_07.sql rename to data/sql/archive/db_world/2023_11_12_07.sql diff --git a/data/sql/updates/db_world/2023_11_12_08.sql b/data/sql/archive/db_world/2023_11_12_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_08.sql rename to data/sql/archive/db_world/2023_11_12_08.sql diff --git a/data/sql/updates/db_world/2023_11_12_09.sql b/data/sql/archive/db_world/2023_11_12_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_12_09.sql rename to data/sql/archive/db_world/2023_11_12_09.sql diff --git a/data/sql/updates/db_world/2023_11_13_00.sql b/data/sql/archive/db_world/2023_11_13_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_13_00.sql rename to data/sql/archive/db_world/2023_11_13_00.sql diff --git a/data/sql/updates/db_world/2023_11_14_00.sql b/data/sql/archive/db_world/2023_11_14_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_14_00.sql rename to data/sql/archive/db_world/2023_11_14_00.sql diff --git a/data/sql/updates/db_world/2023_11_14_01.sql b/data/sql/archive/db_world/2023_11_14_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_14_01.sql rename to data/sql/archive/db_world/2023_11_14_01.sql diff --git a/data/sql/updates/db_world/2023_11_14_02.sql b/data/sql/archive/db_world/2023_11_14_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_14_02.sql rename to data/sql/archive/db_world/2023_11_14_02.sql diff --git a/data/sql/updates/db_world/2023_11_15_00.sql b/data/sql/archive/db_world/2023_11_15_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_15_00.sql rename to data/sql/archive/db_world/2023_11_15_00.sql diff --git a/data/sql/updates/db_world/2023_11_15_01.sql b/data/sql/archive/db_world/2023_11_15_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_15_01.sql rename to data/sql/archive/db_world/2023_11_15_01.sql diff --git a/data/sql/updates/db_world/2023_11_15_02.sql b/data/sql/archive/db_world/2023_11_15_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_15_02.sql rename to data/sql/archive/db_world/2023_11_15_02.sql diff --git a/data/sql/updates/db_world/2023_11_16_00.sql b/data/sql/archive/db_world/2023_11_16_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_00.sql rename to data/sql/archive/db_world/2023_11_16_00.sql diff --git a/data/sql/updates/db_world/2023_11_16_01.sql b/data/sql/archive/db_world/2023_11_16_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_01.sql rename to data/sql/archive/db_world/2023_11_16_01.sql diff --git a/data/sql/updates/db_world/2023_11_16_02.sql b/data/sql/archive/db_world/2023_11_16_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_02.sql rename to data/sql/archive/db_world/2023_11_16_02.sql diff --git a/data/sql/updates/db_world/2023_11_16_03.sql b/data/sql/archive/db_world/2023_11_16_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_03.sql rename to data/sql/archive/db_world/2023_11_16_03.sql diff --git a/data/sql/updates/db_world/2023_11_16_04.sql b/data/sql/archive/db_world/2023_11_16_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_04.sql rename to data/sql/archive/db_world/2023_11_16_04.sql diff --git a/data/sql/updates/db_world/2023_11_16_05.sql b/data/sql/archive/db_world/2023_11_16_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_05.sql rename to data/sql/archive/db_world/2023_11_16_05.sql diff --git a/data/sql/updates/db_world/2023_11_16_06.sql b/data/sql/archive/db_world/2023_11_16_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_06.sql rename to data/sql/archive/db_world/2023_11_16_06.sql diff --git a/data/sql/updates/db_world/2023_11_16_07.sql b/data/sql/archive/db_world/2023_11_16_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_07.sql rename to data/sql/archive/db_world/2023_11_16_07.sql diff --git a/data/sql/updates/db_world/2023_11_16_08.sql b/data/sql/archive/db_world/2023_11_16_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_08.sql rename to data/sql/archive/db_world/2023_11_16_08.sql diff --git a/data/sql/updates/db_world/2023_11_16_09.sql b/data/sql/archive/db_world/2023_11_16_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_09.sql rename to data/sql/archive/db_world/2023_11_16_09.sql diff --git a/data/sql/updates/db_world/2023_11_16_10.sql b/data/sql/archive/db_world/2023_11_16_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_16_10.sql rename to data/sql/archive/db_world/2023_11_16_10.sql diff --git a/data/sql/updates/db_world/2023_11_17_00.sql b/data/sql/archive/db_world/2023_11_17_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_17_00.sql rename to data/sql/archive/db_world/2023_11_17_00.sql diff --git a/data/sql/updates/db_world/2023_11_17_01.sql b/data/sql/archive/db_world/2023_11_17_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_17_01.sql rename to data/sql/archive/db_world/2023_11_17_01.sql diff --git a/data/sql/updates/db_world/2023_11_17_02.sql b/data/sql/archive/db_world/2023_11_17_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_17_02.sql rename to data/sql/archive/db_world/2023_11_17_02.sql diff --git a/data/sql/updates/db_world/2023_11_17_03.sql b/data/sql/archive/db_world/2023_11_17_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_17_03.sql rename to data/sql/archive/db_world/2023_11_17_03.sql diff --git a/data/sql/updates/db_world/2023_11_17_04.sql b/data/sql/archive/db_world/2023_11_17_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_17_04.sql rename to data/sql/archive/db_world/2023_11_17_04.sql diff --git a/data/sql/updates/db_world/2023_11_18_00.sql b/data/sql/archive/db_world/2023_11_18_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_00.sql rename to data/sql/archive/db_world/2023_11_18_00.sql diff --git a/data/sql/updates/db_world/2023_11_18_01.sql b/data/sql/archive/db_world/2023_11_18_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_01.sql rename to data/sql/archive/db_world/2023_11_18_01.sql diff --git a/data/sql/updates/db_world/2023_11_18_02.sql b/data/sql/archive/db_world/2023_11_18_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_02.sql rename to data/sql/archive/db_world/2023_11_18_02.sql diff --git a/data/sql/updates/db_world/2023_11_18_03.sql b/data/sql/archive/db_world/2023_11_18_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_03.sql rename to data/sql/archive/db_world/2023_11_18_03.sql diff --git a/data/sql/updates/db_world/2023_11_18_04.sql b/data/sql/archive/db_world/2023_11_18_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_04.sql rename to data/sql/archive/db_world/2023_11_18_04.sql diff --git a/data/sql/updates/db_world/2023_11_18_05.sql b/data/sql/archive/db_world/2023_11_18_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_05.sql rename to data/sql/archive/db_world/2023_11_18_05.sql diff --git a/data/sql/updates/db_world/2023_11_18_06.sql b/data/sql/archive/db_world/2023_11_18_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_06.sql rename to data/sql/archive/db_world/2023_11_18_06.sql diff --git a/data/sql/updates/db_world/2023_11_18_07.sql b/data/sql/archive/db_world/2023_11_18_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_07.sql rename to data/sql/archive/db_world/2023_11_18_07.sql diff --git a/data/sql/updates/db_world/2023_11_18_08.sql b/data/sql/archive/db_world/2023_11_18_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_08.sql rename to data/sql/archive/db_world/2023_11_18_08.sql diff --git a/data/sql/updates/db_world/2023_11_18_09.sql b/data/sql/archive/db_world/2023_11_18_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_09.sql rename to data/sql/archive/db_world/2023_11_18_09.sql diff --git a/data/sql/updates/db_world/2023_11_18_10.sql b/data/sql/archive/db_world/2023_11_18_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_10.sql rename to data/sql/archive/db_world/2023_11_18_10.sql diff --git a/data/sql/updates/db_world/2023_11_18_11.sql b/data/sql/archive/db_world/2023_11_18_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_11.sql rename to data/sql/archive/db_world/2023_11_18_11.sql diff --git a/data/sql/updates/db_world/2023_11_18_12.sql b/data/sql/archive/db_world/2023_11_18_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_12.sql rename to data/sql/archive/db_world/2023_11_18_12.sql diff --git a/data/sql/updates/db_world/2023_11_18_13.sql b/data/sql/archive/db_world/2023_11_18_13.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_13.sql rename to data/sql/archive/db_world/2023_11_18_13.sql diff --git a/data/sql/updates/db_world/2023_11_18_14.sql b/data/sql/archive/db_world/2023_11_18_14.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_14.sql rename to data/sql/archive/db_world/2023_11_18_14.sql diff --git a/data/sql/updates/db_world/2023_11_18_15.sql b/data/sql/archive/db_world/2023_11_18_15.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_15.sql rename to data/sql/archive/db_world/2023_11_18_15.sql diff --git a/data/sql/updates/db_world/2023_11_18_16.sql b/data/sql/archive/db_world/2023_11_18_16.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_16.sql rename to data/sql/archive/db_world/2023_11_18_16.sql diff --git a/data/sql/updates/db_world/2023_11_18_17.sql b/data/sql/archive/db_world/2023_11_18_17.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_17.sql rename to data/sql/archive/db_world/2023_11_18_17.sql diff --git a/data/sql/updates/db_world/2023_11_18_18.sql b/data/sql/archive/db_world/2023_11_18_18.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_18_18.sql rename to data/sql/archive/db_world/2023_11_18_18.sql diff --git a/data/sql/updates/db_world/2023_11_19_00.sql b/data/sql/archive/db_world/2023_11_19_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_00.sql rename to data/sql/archive/db_world/2023_11_19_00.sql diff --git a/data/sql/updates/db_world/2023_11_19_01.sql b/data/sql/archive/db_world/2023_11_19_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_01.sql rename to data/sql/archive/db_world/2023_11_19_01.sql diff --git a/data/sql/updates/db_world/2023_11_19_02.sql b/data/sql/archive/db_world/2023_11_19_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_02.sql rename to data/sql/archive/db_world/2023_11_19_02.sql diff --git a/data/sql/updates/db_world/2023_11_19_03.sql b/data/sql/archive/db_world/2023_11_19_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_03.sql rename to data/sql/archive/db_world/2023_11_19_03.sql diff --git a/data/sql/updates/db_world/2023_11_19_04.sql b/data/sql/archive/db_world/2023_11_19_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_04.sql rename to data/sql/archive/db_world/2023_11_19_04.sql diff --git a/data/sql/updates/db_world/2023_11_19_05.sql b/data/sql/archive/db_world/2023_11_19_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_05.sql rename to data/sql/archive/db_world/2023_11_19_05.sql diff --git a/data/sql/updates/db_world/2023_11_19_06.sql b/data/sql/archive/db_world/2023_11_19_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_19_06.sql rename to data/sql/archive/db_world/2023_11_19_06.sql diff --git a/data/sql/updates/db_world/2023_11_20_00.sql b/data/sql/archive/db_world/2023_11_20_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_00.sql rename to data/sql/archive/db_world/2023_11_20_00.sql diff --git a/data/sql/updates/db_world/2023_11_20_01.sql b/data/sql/archive/db_world/2023_11_20_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_01.sql rename to data/sql/archive/db_world/2023_11_20_01.sql diff --git a/data/sql/updates/db_world/2023_11_20_02.sql b/data/sql/archive/db_world/2023_11_20_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_02.sql rename to data/sql/archive/db_world/2023_11_20_02.sql diff --git a/data/sql/updates/db_world/2023_11_20_03.sql b/data/sql/archive/db_world/2023_11_20_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_03.sql rename to data/sql/archive/db_world/2023_11_20_03.sql diff --git a/data/sql/updates/db_world/2023_11_20_04.sql b/data/sql/archive/db_world/2023_11_20_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_04.sql rename to data/sql/archive/db_world/2023_11_20_04.sql diff --git a/data/sql/updates/db_world/2023_11_20_05.sql b/data/sql/archive/db_world/2023_11_20_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_05.sql rename to data/sql/archive/db_world/2023_11_20_05.sql diff --git a/data/sql/updates/db_world/2023_11_20_06.sql b/data/sql/archive/db_world/2023_11_20_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_06.sql rename to data/sql/archive/db_world/2023_11_20_06.sql diff --git a/data/sql/updates/db_world/2023_11_20_07.sql b/data/sql/archive/db_world/2023_11_20_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_07.sql rename to data/sql/archive/db_world/2023_11_20_07.sql diff --git a/data/sql/updates/db_world/2023_11_20_08.sql b/data/sql/archive/db_world/2023_11_20_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_08.sql rename to data/sql/archive/db_world/2023_11_20_08.sql diff --git a/data/sql/updates/db_world/2023_11_20_09.sql b/data/sql/archive/db_world/2023_11_20_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_20_09.sql rename to data/sql/archive/db_world/2023_11_20_09.sql diff --git a/data/sql/updates/db_world/2023_11_22_00.sql b/data/sql/archive/db_world/2023_11_22_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_22_00.sql rename to data/sql/archive/db_world/2023_11_22_00.sql diff --git a/data/sql/updates/db_world/2023_11_26_00.sql b/data/sql/archive/db_world/2023_11_26_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_00.sql rename to data/sql/archive/db_world/2023_11_26_00.sql diff --git a/data/sql/updates/db_world/2023_11_26_01.sql b/data/sql/archive/db_world/2023_11_26_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_01.sql rename to data/sql/archive/db_world/2023_11_26_01.sql diff --git a/data/sql/updates/db_world/2023_11_26_02.sql b/data/sql/archive/db_world/2023_11_26_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_02.sql rename to data/sql/archive/db_world/2023_11_26_02.sql diff --git a/data/sql/updates/db_world/2023_11_26_03.sql b/data/sql/archive/db_world/2023_11_26_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_03.sql rename to data/sql/archive/db_world/2023_11_26_03.sql diff --git a/data/sql/updates/db_world/2023_11_26_04.sql b/data/sql/archive/db_world/2023_11_26_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_04.sql rename to data/sql/archive/db_world/2023_11_26_04.sql diff --git a/data/sql/updates/db_world/2023_11_26_05.sql b/data/sql/archive/db_world/2023_11_26_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_05.sql rename to data/sql/archive/db_world/2023_11_26_05.sql diff --git a/data/sql/updates/db_world/2023_11_26_06.sql b/data/sql/archive/db_world/2023_11_26_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_06.sql rename to data/sql/archive/db_world/2023_11_26_06.sql diff --git a/data/sql/updates/db_world/2023_11_26_07.sql b/data/sql/archive/db_world/2023_11_26_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_07.sql rename to data/sql/archive/db_world/2023_11_26_07.sql diff --git a/data/sql/updates/db_world/2023_11_26_08.sql b/data/sql/archive/db_world/2023_11_26_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_08.sql rename to data/sql/archive/db_world/2023_11_26_08.sql diff --git a/data/sql/updates/db_world/2023_11_26_09.sql b/data/sql/archive/db_world/2023_11_26_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_09.sql rename to data/sql/archive/db_world/2023_11_26_09.sql diff --git a/data/sql/updates/db_world/2023_11_26_10.sql b/data/sql/archive/db_world/2023_11_26_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_10.sql rename to data/sql/archive/db_world/2023_11_26_10.sql diff --git a/data/sql/updates/db_world/2023_11_26_11.sql b/data/sql/archive/db_world/2023_11_26_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_11.sql rename to data/sql/archive/db_world/2023_11_26_11.sql diff --git a/data/sql/updates/db_world/2023_11_26_12.sql b/data/sql/archive/db_world/2023_11_26_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_12.sql rename to data/sql/archive/db_world/2023_11_26_12.sql diff --git a/data/sql/updates/db_world/2023_11_26_13.sql b/data/sql/archive/db_world/2023_11_26_13.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_13.sql rename to data/sql/archive/db_world/2023_11_26_13.sql diff --git a/data/sql/updates/db_world/2023_11_26_14.sql b/data/sql/archive/db_world/2023_11_26_14.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_26_14.sql rename to data/sql/archive/db_world/2023_11_26_14.sql diff --git a/data/sql/updates/db_world/2023_11_27_00.sql b/data/sql/archive/db_world/2023_11_27_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_27_00.sql rename to data/sql/archive/db_world/2023_11_27_00.sql diff --git a/data/sql/updates/db_world/2023_11_28_00.sql b/data/sql/archive/db_world/2023_11_28_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_28_00.sql rename to data/sql/archive/db_world/2023_11_28_00.sql diff --git a/data/sql/updates/db_world/2023_11_29_00.sql b/data/sql/archive/db_world/2023_11_29_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_29_00.sql rename to data/sql/archive/db_world/2023_11_29_00.sql diff --git a/data/sql/updates/db_world/2023_11_29_01.sql b/data/sql/archive/db_world/2023_11_29_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_29_01.sql rename to data/sql/archive/db_world/2023_11_29_01.sql diff --git a/data/sql/updates/db_world/2023_11_30_00.sql b/data/sql/archive/db_world/2023_11_30_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_11_30_00.sql rename to data/sql/archive/db_world/2023_11_30_00.sql diff --git a/data/sql/updates/db_world/2023_12_02_00.sql b/data/sql/archive/db_world/2023_12_02_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_02_00.sql rename to data/sql/archive/db_world/2023_12_02_00.sql diff --git a/data/sql/updates/db_world/2023_12_03_00.sql b/data/sql/archive/db_world/2023_12_03_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_00.sql rename to data/sql/archive/db_world/2023_12_03_00.sql diff --git a/data/sql/updates/db_world/2023_12_03_01.sql b/data/sql/archive/db_world/2023_12_03_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_01.sql rename to data/sql/archive/db_world/2023_12_03_01.sql diff --git a/data/sql/updates/db_world/2023_12_03_02.sql b/data/sql/archive/db_world/2023_12_03_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_02.sql rename to data/sql/archive/db_world/2023_12_03_02.sql diff --git a/data/sql/updates/db_world/2023_12_03_03.sql b/data/sql/archive/db_world/2023_12_03_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_03.sql rename to data/sql/archive/db_world/2023_12_03_03.sql diff --git a/data/sql/updates/db_world/2023_12_03_04.sql b/data/sql/archive/db_world/2023_12_03_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_04.sql rename to data/sql/archive/db_world/2023_12_03_04.sql diff --git a/data/sql/updates/db_world/2023_12_03_05.sql b/data/sql/archive/db_world/2023_12_03_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_05.sql rename to data/sql/archive/db_world/2023_12_03_05.sql diff --git a/data/sql/updates/db_world/2023_12_03_06.sql b/data/sql/archive/db_world/2023_12_03_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_06.sql rename to data/sql/archive/db_world/2023_12_03_06.sql diff --git a/data/sql/updates/db_world/2023_12_03_07.sql b/data/sql/archive/db_world/2023_12_03_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_03_07.sql rename to data/sql/archive/db_world/2023_12_03_07.sql diff --git a/data/sql/updates/db_world/2023_12_04_00.sql b/data/sql/archive/db_world/2023_12_04_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_04_00.sql rename to data/sql/archive/db_world/2023_12_04_00.sql diff --git a/data/sql/updates/db_world/2023_12_04_01.sql b/data/sql/archive/db_world/2023_12_04_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_04_01.sql rename to data/sql/archive/db_world/2023_12_04_01.sql diff --git a/data/sql/updates/db_world/2023_12_04_02.sql b/data/sql/archive/db_world/2023_12_04_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_04_02.sql rename to data/sql/archive/db_world/2023_12_04_02.sql diff --git a/data/sql/updates/db_world/2023_12_04_03.sql b/data/sql/archive/db_world/2023_12_04_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_04_03.sql rename to data/sql/archive/db_world/2023_12_04_03.sql diff --git a/data/sql/updates/db_world/2023_12_06_00.sql b/data/sql/archive/db_world/2023_12_06_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_06_00.sql rename to data/sql/archive/db_world/2023_12_06_00.sql diff --git a/data/sql/updates/db_world/2023_12_07_00.sql b/data/sql/archive/db_world/2023_12_07_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_07_00.sql rename to data/sql/archive/db_world/2023_12_07_00.sql diff --git a/data/sql/updates/db_world/2023_12_07_01.sql b/data/sql/archive/db_world/2023_12_07_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_07_01.sql rename to data/sql/archive/db_world/2023_12_07_01.sql diff --git a/data/sql/updates/db_world/2023_12_09_00.sql b/data/sql/archive/db_world/2023_12_09_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_09_00.sql rename to data/sql/archive/db_world/2023_12_09_00.sql diff --git a/data/sql/updates/db_world/2023_12_10_00.sql b/data/sql/archive/db_world/2023_12_10_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_10_00.sql rename to data/sql/archive/db_world/2023_12_10_00.sql diff --git a/data/sql/updates/db_world/2023_12_10_01.sql b/data/sql/archive/db_world/2023_12_10_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_10_01.sql rename to data/sql/archive/db_world/2023_12_10_01.sql diff --git a/data/sql/updates/db_world/2023_12_10_02.sql b/data/sql/archive/db_world/2023_12_10_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_10_02.sql rename to data/sql/archive/db_world/2023_12_10_02.sql diff --git a/data/sql/updates/db_world/2023_12_10_03.sql b/data/sql/archive/db_world/2023_12_10_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_10_03.sql rename to data/sql/archive/db_world/2023_12_10_03.sql diff --git a/data/sql/updates/db_world/2023_12_11_00.sql b/data/sql/archive/db_world/2023_12_11_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_11_00.sql rename to data/sql/archive/db_world/2023_12_11_00.sql diff --git a/data/sql/updates/db_world/2023_12_11_01.sql b/data/sql/archive/db_world/2023_12_11_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_11_01.sql rename to data/sql/archive/db_world/2023_12_11_01.sql diff --git a/data/sql/updates/db_world/2023_12_11_02.sql b/data/sql/archive/db_world/2023_12_11_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_11_02.sql rename to data/sql/archive/db_world/2023_12_11_02.sql diff --git a/data/sql/updates/db_world/2023_12_11_03.sql b/data/sql/archive/db_world/2023_12_11_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_11_03.sql rename to data/sql/archive/db_world/2023_12_11_03.sql diff --git a/data/sql/updates/db_world/2023_12_12_00.sql b/data/sql/archive/db_world/2023_12_12_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_00.sql rename to data/sql/archive/db_world/2023_12_12_00.sql diff --git a/data/sql/updates/db_world/2023_12_12_01.sql b/data/sql/archive/db_world/2023_12_12_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_01.sql rename to data/sql/archive/db_world/2023_12_12_01.sql diff --git a/data/sql/updates/db_world/2023_12_12_02.sql b/data/sql/archive/db_world/2023_12_12_02.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_02.sql rename to data/sql/archive/db_world/2023_12_12_02.sql diff --git a/data/sql/updates/db_world/2023_12_12_03.sql b/data/sql/archive/db_world/2023_12_12_03.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_03.sql rename to data/sql/archive/db_world/2023_12_12_03.sql diff --git a/data/sql/updates/db_world/2023_12_12_04.sql b/data/sql/archive/db_world/2023_12_12_04.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_04.sql rename to data/sql/archive/db_world/2023_12_12_04.sql diff --git a/data/sql/updates/db_world/2023_12_12_05.sql b/data/sql/archive/db_world/2023_12_12_05.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_05.sql rename to data/sql/archive/db_world/2023_12_12_05.sql diff --git a/data/sql/updates/db_world/2023_12_12_06.sql b/data/sql/archive/db_world/2023_12_12_06.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_06.sql rename to data/sql/archive/db_world/2023_12_12_06.sql diff --git a/data/sql/updates/db_world/2023_12_12_07.sql b/data/sql/archive/db_world/2023_12_12_07.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_07.sql rename to data/sql/archive/db_world/2023_12_12_07.sql diff --git a/data/sql/updates/db_world/2023_12_12_08.sql b/data/sql/archive/db_world/2023_12_12_08.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_08.sql rename to data/sql/archive/db_world/2023_12_12_08.sql diff --git a/data/sql/updates/db_world/2023_12_12_09.sql b/data/sql/archive/db_world/2023_12_12_09.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_09.sql rename to data/sql/archive/db_world/2023_12_12_09.sql diff --git a/data/sql/updates/db_world/2023_12_12_10.sql b/data/sql/archive/db_world/2023_12_12_10.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_10.sql rename to data/sql/archive/db_world/2023_12_12_10.sql diff --git a/data/sql/updates/db_world/2023_12_12_11.sql b/data/sql/archive/db_world/2023_12_12_11.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_11.sql rename to data/sql/archive/db_world/2023_12_12_11.sql diff --git a/data/sql/updates/db_world/2023_12_12_12.sql b/data/sql/archive/db_world/2023_12_12_12.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_12.sql rename to data/sql/archive/db_world/2023_12_12_12.sql diff --git a/data/sql/updates/db_world/2023_12_12_13.sql b/data/sql/archive/db_world/2023_12_12_13.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_13.sql rename to data/sql/archive/db_world/2023_12_12_13.sql diff --git a/data/sql/updates/db_world/2023_12_12_14.sql b/data/sql/archive/db_world/2023_12_12_14.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_14.sql rename to data/sql/archive/db_world/2023_12_12_14.sql diff --git a/data/sql/updates/db_world/2023_12_12_15.sql b/data/sql/archive/db_world/2023_12_12_15.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_15.sql rename to data/sql/archive/db_world/2023_12_12_15.sql diff --git a/data/sql/updates/db_world/2023_12_12_16.sql b/data/sql/archive/db_world/2023_12_12_16.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_12_16.sql rename to data/sql/archive/db_world/2023_12_12_16.sql diff --git a/data/sql/updates/db_world/2023_12_24_00.sql b/data/sql/archive/db_world/2023_12_24_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_24_00.sql rename to data/sql/archive/db_world/2023_12_24_00.sql diff --git a/data/sql/updates/db_world/2023_12_24_01.sql b/data/sql/archive/db_world/2023_12_24_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_24_01.sql rename to data/sql/archive/db_world/2023_12_24_01.sql diff --git a/data/sql/updates/db_world/2023_12_25_00.sql b/data/sql/archive/db_world/2023_12_25_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_25_00.sql rename to data/sql/archive/db_world/2023_12_25_00.sql diff --git a/data/sql/updates/db_world/2023_12_25_01.sql b/data/sql/archive/db_world/2023_12_25_01.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_25_01.sql rename to data/sql/archive/db_world/2023_12_25_01.sql diff --git a/data/sql/updates/db_world/2023_12_26_00.sql b/data/sql/archive/db_world/2023_12_26_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_26_00.sql rename to data/sql/archive/db_world/2023_12_26_00.sql diff --git a/data/sql/updates/db_world/2023_12_28_00.sql b/data/sql/archive/db_world/2023_12_28_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_28_00.sql rename to data/sql/archive/db_world/2023_12_28_00.sql diff --git a/data/sql/updates/db_world/2023_12_30_00.sql b/data/sql/archive/db_world/2023_12_30_00.sql similarity index 100% rename from data/sql/updates/db_world/2023_12_30_00.sql rename to data/sql/archive/db_world/2023_12_30_00.sql diff --git a/data/sql/base/database-squash.md b/data/sql/base/database-squash.md index 3275e727f65bc6..a09a9a8f8af0d6 100644 --- a/data/sql/base/database-squash.md +++ b/data/sql/base/database-squash.md @@ -3,9 +3,11 @@ New routines around handling database squashes since https://github.com/azerothc > [!CAUTION] > These steps are only for project maintainers who intend to update base files. -We ONLY squash into BASE files. We never move files. -ARCHIVE dir is UNUSED. -All update files ALWAYS exist in the updates dir. +During the DB squash procedure, we do NOT move files. +The archive dir is NO longer used as part of the DB squash procedure, +but simply as a place where to move update files when they get too many. + +Moving files to the archive folder is NOT part of the squash procedure anymore. as the `updates` table in base files always will contain the entries from the updates dir they will never be run again on a clean setup. diff --git a/data/sql/updates/db_auth/2024_11_15_00.sql b/data/sql/updates/db_auth/2024_11_15_00.sql new file mode 100644 index 00000000000000..2321e4fa0369f3 --- /dev/null +++ b/data/sql/updates/db_auth/2024_11_15_00.sql @@ -0,0 +1,4 @@ +-- DB update 2024_01_20_00 -> 2024_11_15_00 +UPDATE `updates` +SET `state` = 'ARCHIVED' +WHERE `name` LIKE '2023_%'; diff --git a/data/sql/updates/db_characters/2024_11_15_00.sql b/data/sql/updates/db_characters/2024_11_15_00.sql new file mode 100644 index 00000000000000..d63ba925d1febf --- /dev/null +++ b/data/sql/updates/db_characters/2024_11_15_00.sql @@ -0,0 +1,4 @@ +-- DB update 2024_09_22_00 -> 2024_11_15_00 +UPDATE `updates` +SET `state` = 'ARCHIVED' +WHERE `name` LIKE '2023_%'; diff --git a/data/sql/updates/db_world/2024_11_15_00.sql b/data/sql/updates/db_world/2024_11_15_00.sql new file mode 100644 index 00000000000000..5375b963c44845 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_15_00.sql @@ -0,0 +1,187 @@ +-- DB update 2024_11_14_05 -> 2024_11_15_00 +SET @entry := 17109; +SET @PATH := @entry * 10; +DELETE FROM `waypoints` WHERE `entry`= @PATH; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `point_comment`) VALUES +(@PATH, 0+1, -10465.81, -3315.652, 21.13692, NULL, 0,'Cersei Dusksinger'), +(@PATH, 1+1, -10458.49, -3312.623, 21.13692, NULL, 0,'Cersei Dusksinger'), +(@PATH, 2+1, -10454.86, -3310.604, 21.27058, NULL, 0,'Cersei Dusksinger'), +(@PATH, 3+1, -10448.59, -3301.409, 20.17796, NULL, 0,'Cersei Dusksinger'), +(@PATH, 4+1, -10445.24, -3295.546, 20.17796, NULL, 0,'Cersei Dusksinger'), +(@PATH, 5+1, -10450, -3304.108, 20.17796, NULL, 0,'Cersei Dusksinger'), +(@PATH, 6+1, -10455.22, -3311.379, 21.13692, NULL, 0,'Cersei Dusksinger'), +(@PATH, 7+1, -10454.67, -3319.15, 21.17226, NULL, 0,'Cersei Dusksinger'), +(@PATH, 8+1, -10458.43, -3321.949, 21.13692, NULL, 0,'Cersei Dusksinger'), +(@PATH, 9+1, -10461.03, -3319.802, 21.13692, NULL, 0,'Cersei Dusksinger'); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 17109; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 17109); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(17109, 0, 0, 1, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 8722, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Reset - Cast \'Summon Succubus\''), +(17109, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Reset - Set Event Phase 1'), +(17109, 0, 2, 3, 1, 1, 100, 0, 0, 0, 260688, 260688, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Out of Combat - Set Event Phase 2 (Phase 1)'), +(17109, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 87, 1710900, 1710900, 1710901, 1710901, 1710901, 1710901, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Out of Combat - Run Random Script (Phase 1)'), +(17109, 0, 4, 5, 40, 0, 100, 512, 5, 171090, 0, 0, 0, 0, 54, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Point 5 of Path 171090 Reached - Pause Waypoint'), +(17109, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 67, 1, 200, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Point 5 of Path 171090 Reached - Create Timed Event'), +(17109, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 67, 2, 6450, 6450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Point 5 of Path 171090 Reached - Create Timed Event'), +(17109, 0, 7, 0, 59, 0, 100, 0, 1, 0, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Timed Event 1 Triggered - Say Line 4'), +(17109, 0, 8, 0, 59, 0, 100, 0, 2, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Timed Event 2 Triggered - Resume Waypoint'), +(17109, 0, 9, 0, 58, 0, 100, 512, 0, 171090, 0, 0, 0, 0, 67, 3, 500, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Path 171090 Finished - Create Timed Event'), +(17109, 0, 10, 11, 59, 0, 100, 0, 3, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0.907571, 'Cersei Dusksinger - On Timed Event 3 Triggered - Set Orientation 0.907571'), +(17109, 0, 11, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Timed Event 3 Triggered - Set Event Phase 1'), +(17109, 0, 12, 0, 38, 1, 100, 0, 0, 1, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Data Set 0 1 - Set Event Phase 2 (Phase 1)'), +(17109, 0, 13, 0, 38, 2, 100, 0, 0, 2, 0, 0, 0, 0, 80, 1710902, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Data Set 0 2 - Run Script (Phase 2)'), +(17109, 0, 14, 0, 34, 0, 100, 0, 8, 1, 0, 0, 0, 0, 80, 1710903, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Reached Point 1 - Run Script'), +(17109, 0, 15, 0, 34, 0, 100, 0, 8, 2, 0, 0, 0, 0, 80, 1710904, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - On Reached Point 2 - Run Script'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1710900); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1710900, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2.54818, 'Cersei Dusksinger - Actionlist - Set Orientation 2.54818'), +(1710900, 9, 1, 0, 0, 0, 100, 0, 1840, 1840, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Say Line 3'), +(1710900, 9, 2, 0, 0, 0, 100, 0, 7800, 7800, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 94506, 27705, 0, 0, 0, 0, 0, 0, 'Creature Lorrin Foxfire (27705) with guid 94506 (fetching) - Talk 1 to invoker'), +(1710900, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 0, 171090, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Start Waypoint Path 171090'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1710901); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1710901, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Say Line 0'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1710902); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1710902, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Set Event Phase 2'), +(1710902, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Set Run Off'), +(1710902, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, -10469, -3332.55, 25.4708, 0, 'Cersei Dusksinger - Actionlist - Move To Position'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1710903); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1710903, 9, 3, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Say Line 1'), +(1710903, 9, 4, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1.23918, 'Cersei Dusksinger - Actionlist - Set Orientation 1.23918'), +(1710903, 9, 5, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Say Line 2'), +(1710903, 9, 6, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 5, 14, 0, 0, 0, 0, 0, 10, 34151, 12807, 0, 0, 0, 0, 0, 0, 'Creature Greshka (12807) with guid 34151 (fetching): Play emote ONESHOT_RUDE(DNR) (14)'), +(1710903, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 5, 14, 0, 0, 0, 0, 0, 10, 32091, 988, 0, 0, 0, 0, 0, 0, 'Creature Kartosh (988) with guid 32091 (fetching): Play emote ONESHOT_RUDE(DNR) (14)'), +(1710903, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 5, 14, 0, 0, 0, 0, 0, 10, 31950, 1386, 0, 0, 0, 0, 0, 0, 'Creature Rogvar (1386) with guid 31950 (fetching): Play emote ONESHOT_RUDE(DNR) (14)'), +(1710903, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 2, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, -10461.1, -3319.65, 20.9641, 0, 'Cersei Dusksinger - Actionlist - Move To Position'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1710904); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1710904, 9, 10, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Cersei Dusksinger - Actionlist - Set Event Phase 1'); + + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 12807; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 12807); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(12807, 0, 0, 1, 1, 0, 100, 0, 60000, 60000, 270000, 570000, 0, 0, 45, 0, 1, 0, 0, 0, 0, 10, 34141, 17109, 0, 0, 0, 0, 0, 0, 'Creature Cersei Dusksinger (17109) with guid 34141 (fetching): Set creature data #0 to 1'), +(12807, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 10, 34141, 17109, 0, 0, 0, 0, 0, 0, 'Self: Talk 0 to Creature Cersei Dusksinger (17109) with guid 34141 (fetching)'), +(12807, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 80, 1280700, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Greshka - Out of Combat - Run Script'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1280700); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1280700, 9, 0, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 32091, 988, 0, 0, 0, 0, 0, 0, 'Creature Kartosh (988) with guid 32091 (fetching): Talk 0 to invoker'), +(1280700, 9, 1, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 31950, 1386, 0, 0, 0, 0, 0, 0, 'Creature Rogvar (1386) with guid 31950 (fetching): Talk 0 to invoker'), +(1280700, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 45, 0, 2, 0, 0, 0, 0, 10, 34141, 17109, 0, 0, 0, 0, 0, 0, 'Creature Cersei Dusksinger (17109) with guid 34141 (fetching): Set creature data #0 to 2'); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27705; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 27705); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(27705, 0, 0, 1, 1, 0, 100, 0, 15000, 30000, 134878, 314350, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Lorrin Foxfire - Out of Combat - Say Line 0'), +(27705, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 67, 1, 3000, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Lorrin Foxfire - Out of Combat - Create Timed Event'), +(27705, 0, 2, 0, 59, 0, 100, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 10, 31950, 1386, 0, 0, 0, 0, 0, 0, 'Lorrin Foxfire - On Timed Event 1 Triggered - Say Line 1'); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 17127; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 17127); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(17127, 0, 0, 0, 1, 0, 100, 0, 0, 169109, 169109, 241370, 0, 0, 88, 1712700, 1712703, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Every 169.109 - 241.37 seconds (0 - 169.109s initially) (OOC) - Self: Call random timed action list between range Anchorite Avuun #0 (1712700) and Anchorite Avuun #3 (1712703) (update always)'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 1712700) AND (`source_type` = 9) AND (`id` IN (0, 1, 2, 3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1712700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Set Orientation Closest Creature \'Magtoor\''), +(1712700, 9, 1, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Say Line 0'), +(1712700, 9, 2, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Creature Magtoor (1776) with guid 34160 (fetching): Set creature data #0 to 1'), +(1712700, 9, 3, 0, 0, 0, 100, 0, 27410, 27410, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.92699, 'Anchorite Avuun - Actionlist - Set Orientation 3.92699'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1712701); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1712701, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Set Orientation Closest Creature \'Magtoor\''), +(1712701, 9, 1, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Say Line 1'), +(1712701, 9, 2, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 45, 0, 2, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Creature Magtoor (1776) with guid 34160 (fetching): Set creature data #0 to 2'), +(1712701, 9, 3, 0, 0, 0, 100, 0, 27410, 27410, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.92699, 'Anchorite Avuun - Actionlist - Set Orientation 3.92699'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1712702); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1712702, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Set Orientation Closest Creature \'Magtoor\''), +(1712702, 9, 1, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Say Line 2'), +(1712702, 9, 2, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 45, 0, 3, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Creature Magtoor (1776) with guid 34160 (fetching): Set creature data #0 to 3'), +(1712702, 9, 3, 0, 0, 0, 100, 0, 27410, 27410, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.92699, 'Anchorite Avuun - Actionlist - Set Orientation 3.92699'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1712703); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1712703, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Set Orientation Closest Creature \'Magtoor\''), +(1712703, 9, 1, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Anchorite Avuun - Actionlist - Say Line 3'), +(1712703, 9, 2, 0, 0, 0, 100, 0, 3300, 3300, 0, 0, 0, 0, 45, 0, 4, 0, 0, 0, 0, 10, 34160, 1776, 0, 0, 0, 0, 0, 0, 'Creature Magtoor (1776) with guid 34160 (fetching): Set creature data #0 to 4'), +(1712703, 9, 3, 0, 0, 0, 100, 0, 27410, 27410, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.92699, 'Anchorite Avuun - Actionlist - Set Orientation 3.92699'); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 1776; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 1776); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1776, 0, 0, 0, 38, 0, 100, 0, 0, 1, 0, 0, 0, 0, 80, 177600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Magtoor - On Data Set 0 1 - Run Script'), +(1776, 0, 1, 0, 38, 0, 100, 0, 0, 2, 0, 0, 0, 0, 80, 177601, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Magtoor - On Data Set 0 2 - Run Script'), +(1776, 0, 2, 0, 38, 0, 100, 0, 0, 3, 0, 0, 0, 0, 80, 177602, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Magtoor - On Data Set 0 3 - Run Script'), +(1776, 0, 3, 0, 38, 0, 100, 0, 0, 4, 0, 0, 0, 0, 80, 177603, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Magtoor - On Data Set 0 4 - Run Script'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 177600); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(177600, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Set Orientation Closest Creature \'Anchorite Avuun\''), +(177600, 9, 1, 0, 0, 0, 100, 0, 5590, 5590, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Say Line 0'), +(177600, 9, 2, 0, 0, 0, 100, 0, 14486, 14486, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.10669, 'Magtoor - Actionlist - Set Orientation 3.10669'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 177601); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(177601, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Set Orientation Closest Creature \'Anchorite Avuun\''), +(177601, 9, 1, 0, 0, 0, 100, 0, 5590, 5590, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Say Line 1'), +(177601, 9, 2, 0, 0, 0, 100, 0, 14486, 14486, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.10669, 'Magtoor - Actionlist - Set Orientation 3.10669'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 177602); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(177602, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Set Orientation Closest Creature \'Anchorite Avuun\''), +(177602, 9, 1, 0, 0, 0, 100, 0, 5590, 5590, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Say Line 2'), +(177602, 9, 2, 0, 0, 0, 100, 0, 14486, 14486, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.10669, 'Magtoor - Actionlist - Set Orientation 3.10669'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 177603); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(177603, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Set Orientation Closest Creature \'Anchorite Avuun\''), +(177603, 9, 1, 0, 0, 0, 100, 0, 5590, 5590, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 0, 10, 32101, 17127, 0, 0, 0, 0, 0, 0, 'Magtoor - Actionlist - Say Line 3'), +(177603, 9, 2, 0, 0, 0, 100, 0, 14486, 14486, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3.10669, 'Magtoor - Actionlist - Set Orientation 3.10669'); + +-- page_text_locale +DELETE FROM `page_text_locale` WHERE (`locale`='zhTW' AND `ID` IN (1958,1957,1956,1955,1954,1953,1952,1951,2038,2037,2036,2035,2034,2033,2032,2031,2030,2216,2215,2214,2213,2212,793,792,791,711)); +INSERT INTO `page_text_locale` (`ID`, `Text`, `locale`, `VerifiedBuild`) VALUES +(1958, '基爾加丹也意識到部落已經完全準備好了,獸人已經成為燃燒軍團手中最為強大的武器。他把這條消息告訴了他的主人,薩格拉斯也認為他復仇的時刻終於來臨了。', 'zhTW', 53788), +(1957, '幾個月之後,部落幾乎根除了德拉諾大陸上的所有德萊尼人,只有一小部分德萊尼人的倖存者苟延殘喘地躲避獸人那可怕的狂怒。因為勝利而得意的古爾丹整日沉迷於部落的力量和權力之中。然而,他清楚地知道,如果沒有可以殺戮的敵人,獸人部落就會因為自己無法控制的屠殺欲望在無休止的內戰中毀滅。', 'zhTW', 53788), +(1956, '然而,在考慮到某些大酋長比如葛羅·地獄吼和奧格林·末日錘可能會為了最高統帥的地位而互相爭執之後,古爾丹設立了一個傀儡大酋長來統治這個新的部落。『毀滅者』黑手,一個異常墮落和邪惡的督軍,被選中成為了古爾丹的傀儡。在黑手的指揮下,獸人部落開始以純樸的德萊尼人測試自己的戰鬥能力。', 'zhTW', 53788), +(1955, '獸人完全被這個嗜血的詛咒所吞沒,準備將怒氣發洩到任何阻擋他們的人身上。古爾丹覺得時機已經成熟了,就將互相征伐的各個氏族聯合成了一個統一的、無可阻擋的部落。', 'zhTW', 53788), +(1954, '除了杜洛坦之外,所有的氏族酋長都在葛羅·地獄吼的帶領下喝下了狂暴之血,就此將自己的命運徹底交給了惡魔,成為了燃燒軍團的奴隸。在瑪諾洛斯之血的引誘下,酋長們不自覺地將征服的欲望擴散到絕對信任他們的同胞之中。', 'zhTW', 53788), +(1953, '雖然基爾加丹知道獸人氏族已基本做好了準備,但他還是需要確認獸人對他的絕對忠誠。他通過暗影議會秘密召喚了破壞者瑪諾洛斯─一個充滿毀滅欲望的狂暴惡魔。同時古爾丹也將氏族酋長們召集到一起,並使他們確信自己在喝過瑪諾洛斯的狂暴之血後將變得所向無敵。', 'zhTW', 53788), +(1952, '其中霜狼氏族的酋長杜洛坦就告戒說,獸人已經迷失了自我而處於仇恨和狂暴之中。然而,他的警言卻沒有人聽取,一些強大氏族的酋長─例如戰歌氏族的葛羅·地獄吼─卻站出來迎接這個充滿戰爭和征服的新時代。', 'zhTW', 53788), +(1951, '在古爾丹和他的暗影議會的控制下,獸人們變得越來越具有侵略性。他們建造了宏大的競技場,使獸人們在其中磨練殺戮技能並體驗戰爭和死亡。在這段時期裡,一小部分氏族酋長對於種族的墮落表示了強烈的不滿。', 'zhTW', 53788), +(2038, '索爾拿起了末日錘那傳奇般的戰錘,穿上了他的黑色鎧甲,成為了新的部落大酋長。在接下來的幾個月裡,索爾小而靈活的部落掃平了許多收容所,並使聯盟花費了極大精力來應付他精明的戰術。在他最好的朋友兼顧問葛羅·地獄吼的鼓勵下,索爾為了確保沒有獸人再次成為奴隸─無論是人類還是惡魔的─而戰鬥著。', 'zhTW', 53788), +(2037, '作為他的人民所獲得新生的象徵,索爾回到了布拉克摩爾的敦霍爾德城堡並解放了收容所中的獸人。但是,在解放一座收容所的戰鬥中,末日錘戰死了。', 'zhTW', 53788), +(2036, '索爾在旅程中遇到了隱居多年的大酋長奧格林·末日錘。作為索爾的父親最要好的朋友,末日錘決定跟隨年輕有為的索爾並幫助他解放那些被囚禁的氏族。在許多經驗豐富的酋長的幫助下,索爾最終成功地使獸人重新充滿了活力,並為他的人民確立了新的精神信仰。', 'zhTW', 53788), +(2035, '在值得尊敬的薩滿德雷克塔爾的保護下,索爾學習了在古爾丹的邪惡統治下被獸人遺忘的古老薩滿文化。一段時間之後,索爾成為了一位強大的薩滿並成為了霜狼氏族的酋長。在元素的幫助下,索爾決定解放被囚禁的氏族並將他們從惡魔的誘惑中解救出來。', 'zhTW', 53788), +(2034, '為了找尋他自己的氏族,索爾向北方旅行,期望能碰到傳說中的霜狼氏族。索爾瞭解到古爾丹曾經在第一次獸人戰爭早期流放了霜狼氏族,他也瞭解到了他就是獸人英雄杜洛坦─在20年前被謀殺的霜狼氏族的酋長─的唯一子嗣。', 'zhTW', 53788), +(2033, '雖然人類在不斷追捕葛羅,但他仍然保持著獸人旺盛的戰鬥欲望。在他的戰歌氏族的幫助下,地獄吼為解放他那些被壓迫的同胞而不懈戰鬥。不幸的是,地獄吼永遠也找不到解救他們的辦法。索爾被地獄吼的堅定所感動,下定決心要找回獸人的戰鬥傳統。', 'zhTW', 53788), +(2032, '學識豐富但毫無經驗的索爾決定從布拉克摩爾的堡壘中逃跑並尋找他的同胞。在旅途中,索爾訪問了俘虜收容所,並發現他那一度強大的族群變得懶散虛弱,在這裡找不到他希望發現的值得驕傲的戰士。索爾繼續尋找最後的獸人酋長,葛羅·地獄吼。', 'zhTW', 53788), +(2031, '儘管典獄官的養育極其苛刻,年青的索爾仍然成長為一名健壯而聰明的獸人,但他心裡明白自己的一生決不應該作為奴隸度過。當索爾成年以後,他瞭解到了自己的種族,還有那些他從來都沒有見過的、在戰爭中被擊敗的同類們,他們中的大多數都被關入俘虜收容所中。有傳聞說獸人領袖奧格瑞姆·末日錘已經從羅德隆逃走並隱居了起來,只有一個流亡的氏族仍然試圖避開聯盟警惕的目光,秘密地進行著軍事活動。', 'zhTW', 53788), +(2030, '俘虜收容所的大典獄官埃德拉斯·布拉克摩爾在他的監獄堡壘敦霍爾德中監視著被俘的獸人們。有一個特殊的獸人總是引起他的興趣:他在十八年前撿到的那個失去雙親的嬰兒。布拉克摩爾將這個年青的男獸人培養成了一個才華橫溢的奴隸,並給他起名叫索爾。布拉克摩爾將關於戰術、哲學和格鬥的知識傳授給索爾,並將他訓練成為一名角鬥士。自始至終,這個邪惡的典獄官都在致力於將這名獸人青年鑄造成為一件武器。', 'zhTW', 53788), +(2216, '你很幸運,我有一條線索也許可以幫助你對付烏洛克的爪牙:$B$B這個法術是歐莫克用於對付巨魔的,它能一擊殺死他們,即使你殺掉了歐莫克,它也能繼續發揮功效。在你和烏洛克的爪牙作戰時,使用歐莫克的腦袋中蘊含著的力量─如果運氣好的話,歐莫克會擊倒烏洛克的爪牙!$B$B這可真具有諷刺性。', 'zhTW', 53788), +(2215, '到尖石巨魔營地上方那個充滿能量的地方去,就在隧道的旁邊。那裡堆積著曾經挑戰過烏洛克的巨魔的骸骨。你要在那裡插上掛著歐莫克頭顱的長矛!$B$B當你把頭顱安放就位之後,烏洛克必定會到來……但是,首先他會派他的爪牙來對付你。打敗他們,然後烏洛克就會現身了。$B$B殺了他,然後拿回我的魔法。當我奪回我的力量時,你也會得到獎勵的。', 'zhTW', 53788), +(2214, '到裂盾營地去找到一支尖銳的長矛。他們經常把這些長矛堆積在靠近尖石巨魔領地入口的地方,和那些日常用品堆在一起。$B$B當你拿到長矛之後,殺到歐莫克大王那裡,幹掉他,把他的頭顱掛在長矛上。$B$B然後就準備面對真正的挑戰吧。', 'zhTW', 53788), +(2213, '歐莫克大王統治著尖石部族,但是沒有烏洛克的魔法,他是做不到這一點的。烏洛克給歐莫克施加了特殊的魔法,讓他可以打死任何膽敢挑戰他的巨魔。他多次使用過那個法術,並且把那些受害者的頭骨堆在一起,放在歐莫克的房間頂部的一塊地方。$B$B那裡就是你要挑戰烏洛克的地方。', 'zhTW', 53788), +(2212, '啊,我受到了詛咒!我曾經是尖石氏族中的一個偉大的巨魔法師,我向烏洛克發起了挑戰,他偷走了我的魔法,而且還詛咒了我。現在,我只能以這種可笑的樣子在這裡遊蕩!$B$B幫幫我!找到烏洛克,偷回我的魔法!這不是一件簡單的事情,因為烏洛克會藏在暗處,你只有通過了一個極其困難的挑戰才能將其召喚出來。$B$B這個挑戰就是面對烏洛克的親信,歐莫克大王。$B$B繼續讀下去,你會瞭解更多細節的。', 'zhTW', 53788), +(793, '不用說就知道,我們卡加斯衛戍部隊,對能夠被部署在這裡,感到非常高興。我們已經在這裡堅強地紮下了根,因為只要我們略微示弱,就會死在這裡。\n\n在這裡也沒有別的辦法可以生存下去了。\n\n尼卡·血痕\n斥候隊長,卡加斯', 'zhTW', 53788), +(792, '荒蕪之地中滿是我們的敵人。巨魔會從沙中咆哮著突然鑽出,伏擊任何缺乏警惕的冒險者。黑鐵矮人則在卡加斯的東部,建立了一處基地,並和他們那些淺色皮膚的表親,在洛克莫丹北部地方交戰。某種野蠻且原始的、名為穴居怪的種族瘋狂地佔據這裡的每一片土地,並寸步不讓地保護著他們的領地。\n\n那麼荒蕪之地東部的萊瑟羅峽谷呢?它徹底被龍佔據了。我們不知道那裡的龍有多少,也不知道他們有多強大,因為派去那邊偵察的斥候,沒有一個能活著回來的。', 'zhTW', 53788), +(791, '身為卡加斯派出的斥候,我對周圍環境的描述如下:\n\n- 紅色的岩石丘陵與乾燥的平原,只有極少數生物才能在此生存。\n- 陽光熾烈,強風。\n- 沒有湖泊和溪流,也沒有任何池塘。想要找水的話,就必須挖出泥濘的深井,或者從仙人掌與其他針刺類植物中榨水。\n\n簡而言之:燥熱,難以生存。', 'zhTW', 53788), +(711, '赫格拉姆,\n\n無論是誰提議,在荒蕪之地的卡加斯建立一片基地,都將得到我的贊同。這個計畫將使我們在那裡擁有常備的駐軍。那裡的天氣很糟,到處都是兇惡的野生動物與好戰的土著,也沒有什麼補給,惟有我們最好的戰士與斥候,可以在那裡立足。\n\n這計畫很好。幹得漂亮。', 'zhTW', 53788); diff --git a/data/sql/updates/db_world/2024_11_15_01.sql b/data/sql/updates/db_world/2024_11_15_01.sql new file mode 100644 index 00000000000000..472ef3198a52a7 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_15_01.sql @@ -0,0 +1,4 @@ +-- DB update 2024_11_15_00 -> 2024_11_15_01 +UPDATE `updates` +SET `state` = 'ARCHIVED' +WHERE `name` LIKE '2023_%'; diff --git a/data/sql/updates/db_world/2024_11_15_02.sql b/data/sql/updates/db_world/2024_11_15_02.sql new file mode 100644 index 00000000000000..35292230fe3500 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_15_02.sql @@ -0,0 +1,3 @@ +-- DB update 2024_11_15_01 -> 2024_11_15_02 +-- remove trigger flag from 26594 Spiritual Insight Transform +UPDATE `creature_template` SET `flags_extra` = (`flags_extra` & ~128) WHERE (`entry` = 26594); diff --git a/data/sql/updates/db_world/2024_11_15_03.sql b/data/sql/updates/db_world/2024_11_15_03.sql new file mode 100644 index 00000000000000..71a3b3a320fc4b --- /dev/null +++ b/data/sql/updates/db_world/2024_11_15_03.sql @@ -0,0 +1,11 @@ +-- DB update 2024_11_15_02 -> 2024_11_15_03 +-- Update gameobject 'The Dark Portal and the Fall of Stormwind' with sniffed values +-- updated spawns +DELETE FROM `gameobject` WHERE (`id` IN (175745)) +AND (`guid` IN (18578, 29686, 42442, 42618, 43218)); +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`, `Comment`) VALUES +(18578, 175745, 0, 0, 0, 1, 1, -8416.1337890625, 280.4483642578125, 122.0174713134765625, 3.839725255966186523, 0, 0, -0.93969249725341796, 0.34202045202255249, 120, 255, 1, "", 45854, NULL), +(29686, 175745, 0, 0, 0, 1, 1, -10462.3818359375, -3316.7744140625, 22.00571823120117187, 4.59021615982055664, 0, 0, -0.74895572662353515, 0.662620067596435546, 120, 255, 1, "", 45613, NULL), +(42442, 175745, 0, 0, 0, 1, 1, -10974.99609375, -3479.037841796875, 103.9837722778320312, 4.293513298034667968, 0, 0, -0.8386697769165039, 0.544640243053436279, 120, 255, 1, "", 48632, NULL), +(42618, 175745, 0, 0, 0, 1, 1, -9238.68359375, -2152.519287109375, 72.14923858642578125, 0.069811686873435974, 0, 0, 0.034898757934570312, 0.999390840530395507, 120, 255, 1, "", 45435, NULL), +(43218, 175745, 289, 0, 0, 1, 1, 231.8676300048828125, -4.19411897659301757, 117.05206298828125, 2.024578809738159179, 0, 0, 0.848047256469726562, 0.529920578002929687, 7200, 255, 1, "", 49345, NULL); diff --git a/data/sql/updates/db_world/2024_11_15_04.sql b/data/sql/updates/db_world/2024_11_15_04.sql new file mode 100644 index 00000000000000..bde45d2726be8f --- /dev/null +++ b/data/sql/updates/db_world/2024_11_15_04.sql @@ -0,0 +1,86 @@ +-- DB update 2024_11_15_03 -> 2024_11_15_04 +-- Update creature 'Lunar - Elders' with sniffed values +-- updated spawns +DELETE FROM `creature` WHERE (`id1` IN (30364, 30348, 30371, 30360, 30358, 30373, 30363, 30367, 30357, 30369, 30374, 30370, 30359, 30375, 30372, 30362, 30365, 30368, 30537, 30534, 30533, 30535, 30531, 30538, 30536, 15607, 15567, 15561, 15605, 15557, 15558, 15574, 15565, 15595, 15583, 15582, 15600, 15588, 15597, 15601, 15598, 15572, 15581, 15587, 15575, 15603, 15599, 15570, 15586, 15573, 15584, 15604, 15606, 15563, 15585, 15569, 15596, 15568, 15577, 15549, 15556, 15578, 15560, 15593, 15576, 15564, 15580, 15579, 15562, 15871, 15559, 15566, 15592, 15602, 15594)) +AND (`guid` IN (200823, 200824, 200825, 200826, 200827, 200828, 200829, 200830, 200831, 200832, 200833, 200834, 200835, 200836, 200837, 200838, 200839, 200840, 200841, 200842, 200843, 200844, 200845, 200846, 200847, 200848, 34035, 34036, 70553, 70554, 70555, 70556, 70557, 70560, 70561, 70562, 70563, 70564, 70565, 70566, 70567, 70568, 70570, 70571, 70572, 70573, 70574, 70575, 70576, 70578, 72236, 72237, 72238, 72239, 75117, 78371, 78372, 78373, 78374, 78375, 78381, 78382, 78383, 78384, 91562, 91598, 91603, 91610, 91630, 91631, 91708, 91710, 91711, 91712, 91713)); +INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES +(200823, 30364, 571, 1, 1, 0, 3217.413330078125, 5261.70068359375, 48.01685333251953125, 1.902408838272094726, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200824, 30348, 571, 1, 1, 0, 2375.052978515625, 5164.5322265625, 3.884083271026611328, 1.117010712623596191, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200825, 30371, 571, 1, 1, 0, 2992.486328125, 6095.724609375, 141.788604736328125, 5.462880611419677734, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200826, 30360, 571, 1, 1, 0, 3577.133544921875, 6622.453125, 195.5571746826171875, 1.343903541564941406, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200827, 30358, 571, 1, 1, 0, 3484.459228515625, 1958.783447265625, 64.9326629638671875, 3.926990747451782226, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200828, 30373, 571, 1, 1, 0, 3766.9931640625, 1658.775390625, 119.1679153442382812, 5.602506637573242187, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200829, 30363, 571, 1, 1, 0, 2651.549560546875, 891.99688720703125, 4.458107471466064453, 0.226892799139022827, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200830, 30367, 571, 1, 1, 0, 4217.8193359375, -5338.099609375, 11.68194198608398437, 1.570796370506286621, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200831, 30357, 571, 1, 1, 0, 4547.9736328125, -4290.28466796875, 174.117645263671875, 1.902408838272094726, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200832, 30369, 571, 1, 1, 0, 5805.48583984375, -3541.645751953125, 391.73553466796875, 3.612831592559814453, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200833, 30374, 571, 1, 1, 0, 7763.619140625, -2752.565673828125, 1164.5931396484375, 6.0737457275390625, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200834, 30370, 571, 1, 1, 0, 6180.66259765625, -1085.6510009765625, 415.440399169921875, 2.879793167114257812, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200835, 30359, 571, 1, 1, 0, 6702.6025390625, -212.8416748046875, 975.86639404296875, 3.717551231384277343, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200836, 30375, 571, 1, 1, 0, 8414.4345703125, -381.993988037109375, 903.20172119140625, 3.31612563133239746, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200837, 30372, 571, 1, 1, 0, 3872.1328125, -4479.91796875, 222.8077239990234375, 4.258603572845458984, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200838, 30362, 571, 1, 1, 0, 5439.8046875, 4760.640625, -198.602569580078125, 1.221730470657348632, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200839, 30365, 571, 1, 1, 0, 5863.82470703125, 4149.81201171875, -93.8164291381835937, 4.904375076293945312, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200840, 30368, 571, 1, 1, 0, 5440.30615234375, 2870.63427734375, 418.75811767578125, 3.682644605636596679, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200841, 30537, 604, 3, 1, 0, 1697.5989990234375, 751.78472900390625, 142.8502349853515625, 3.804817676544189453, 7200, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(200842, 30534, 600, 3, 1, 0, -509.59613037109375, -734.34002685546875, 30.329742431640625, 1.605702877044677734, 7200, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(200843, 30533, 601, 3, 1, 0, 575.43951416015625, 558.98187255859375, 291.9625244140625, 3.59537816047668457, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200844, 30535, 599, 3, 1, 0, 995.099609375, 856.15216064453125, 185.0620574951171875, 5.16617441177368164, 7200, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(200845, 30531, 574, 3, 1, 0, 174.692169189453125, 75.909942626953125, 74.35488128662109375, 3.473205089569091796, 7200, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(200846, 30538, 575, 3, 1, 0, 468.646270751953125, -416.338226318359375, 75.00853729248046875, 0.296705961227416992, 7200, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(200847, 30536, 576, 3, 1, 0, 323.1781005859375, -214.712890625, -14.0055017471313476, 4.468042850494384765, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(200848, 15607, 329, 1, 1, 0, 3705.2158203125, -3466.813720703125, 130.794342041015625, 0, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(34035, 15567, 0, 1, 1, 0, -7276.74853515625, -797.923583984375, 296.581787109375, 5.829399585723876953, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(34036, 15561, 0, 1, 1, 0, 514.75433349609375, 1560.96923828125, 130.144683837890625, 4.398229598999023437, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70553, 15605, 1, 1, 1, 0, 2793.033935546875, -349.60498046875, 108.4710235595703125, 2.216568231582641601, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70554, 15557, 0, 1, 1, 0, -7938.57373046875, -2674.64208984375, 209.2259063720703125, 3.752457857131958007, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70555, 15558, 0, 1, 1, 0, -5343.724609375, -2912.938720703125, 345.1905517578125, 4.433136463165283203, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70556, 15574, 1, 1, 1, 0, 6746.21923828125, -4679.30810546875, 725.61126708984375, 1.570796370506286621, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70557, 15565, 0, 1, 1, 0, -9413.2705078125, 154.28570556640625, 57.15481185913085937, 2.146754980087280273, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70560, 15595, 1, 1, 1, 0, 9768.0390625, 895.37969970703125, 1297.1431884765625, 1.256637096405029296, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70561, 15583, 1, 1, 1, 0, -7845.3271484375, -1330.454833984375, -264.4051513671875, 3.159045934677124023, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70562, 15582, 1, 1, 1, 0, -869.850341796875, -3725.603271484375, 24.465545654296875, 4.625122547149658203, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70563, 15600, 1, 1, 1, 0, 2465.03955078125, -6955.1005859375, 112.3233642578125, 1.762782573699951171, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70564, 15588, 1, 1, 1, 0, -2297.673095703125, -1948.052490234375, 96.3634033203125, 3.612831592559814453, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70565, 15597, 1, 1, 1, 0, -460.23675537109375, -2586.0419921875, 99.47601318359375, 5.131268024444580078, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70566, 15601, 1, 1, 1, 0, 6292.08349609375, 530.671142578125, 16.3725433349609375, 5.619960308074951171, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70567, 15598, 1, 1, 1, 0, 10137.390625, 2583.91943359375, 1325.581298828125, 4.380776405334472656, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70568, 15572, 1, 1, 1, 0, 269.454315185546875, -4777.17724609375, 11.90393257141113281, 1.605702877044677734, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70570, 15581, 1, 1, 1, 0, -4122.60009765625, 110.453887939453125, 75.884552001953125, 5.777040004730224609, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70571, 15587, 1, 1, 1, 0, -3806.537353515625, 1093.72412109375, 132.0525054931640625, 6.2657318115234375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70572, 15575, 1, 1, 1, 0, -2103.056396484375, -438.983795166015625, -7.22763872146606445, 1.448623299598693847, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70573, 15603, 1, 1, 1, 0, 5101.40771484375, -527.39385986328125, 334.47119140625, 4.537856101989746093, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70574, 15599, 1, 1, 1, 0, -6832.98828125, 831.57269287109375, 49.53787612915039062, 2.617993831634521484, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70575, 15570, 1, 1, 1, 0, -6233.34423828125, 1733.2886962890625, 5.12093353271484375, 3.700098037719726562, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70576, 15586, 1, 1, 1, 0, -7155.89599609375, -3769.913330078125, 9.156195640563964843, 2.373647689819335937, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(70578, 15573, 1, 1, 1, 0, -9579.6787109375, -2723.700439453125, 13.93234825134277343, 5.532693862915039062, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(72236, 15584, 1, 1, 1, 0, -5435.712890625, -2431.921875, 89.36145782470703125, 5.427973747253417968, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(72237, 15604, 1, 1, 1, 0, -6226.63037109375, -3917.873291015625, -59.7433547973632812, 1.186823844909667968, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(72238, 15606, 1, 1, 1, 0, 6466.87890625, -4265.4501953125, 663.76055908203125, 0.767944872379302978, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(72239, 15563, 0, 1, 1, 0, -11791.8388671875, -3181.7333984375, -30.0804004669189453, 1.082104086875915527, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(75117, 15585, 0, 1, 1, 0, -7500.85693359375, -2154.5859375, 145.9892730712890625, 2.722713708877563476, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78371, 15569, 0, 1, 1, 0, -5571.5849609375, -503.6083984375, 403.09307861328125, 1.919862151145935058, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78372, 15596, 0, 1, 1, 0, -11954.2197265625, -1168.8167724609375, 77.74864959716796875, 0.506145477294921875, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78373, 15568, 0, 1, 1, 0, 2215.427001953125, 237.5364532470703125, 34.19980621337890625, 1.692969322204589843, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78374, 15577, 0, 1, 1, 0, -10498.71484375, 1034.0526123046875, 95.69647979736328125, 1.431169986724853515, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78375, 15549, 230, 1, 1, 0, 596.586181640625, -188.77130126953125, -54.0720634460449218, 0.104719758033752441, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78381, 15556, 349, 1, 1, 0, -139.935012817382812, -363.99603271484375, -170.335891723632812, 6.161012172698974609, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78382, 15578, 209, 1, 1, 0, 1689.035400390625, 1147.5692138671875, 8.960114479064941406, 2.373647689819335937, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78383, 15560, 229, 1, 1, 0, 67.81333160400390625, -537.54388427734375, 32.16370391845703125, 2.635447263717651367, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(78384, 15593, 109, 1, 1, 0, -414.8360595703125, 5.387812137603759765, -90.77197265625, 2.111848354339599609, 7200, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91562, 15576, 0, 1, 1, 0, -14424.630859375, 531.7750244140625, 24.88002777099609375, 5.16617441177368164, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91598, 15564, 0, 1, 1, 0, 1633.302734375, 233.931427001953125, 62.67490386962890625, 0.401425719261169433, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91603, 15580, 1, 1, 1, 0, -1012.6199951171875, -245.095108032226562, 159.3606719970703125, 0.244346097111701965, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91610, 15579, 1, 1, 1, 0, 1957.357666015625, -4257.51025390625, 31.610931396484375, 1.239183783531188964, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91630, 15562, 0, 1, 1, 0, -8761.9892578125, 1092.7117919921875, 94.8770751953125, 5.131268024444580078, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91631, 15871, 0, 1, 1, 0, -4659.20263671875, -944.4267578125, 500.461273193359375, 4.24114990234375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91708, 15559, 0, 1, 1, 0, 233.455596923828125, -3499.972900390625, 161.0333099365234375, 0.78539818525314331, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91710, 15566, 0, 1, 1, 0, 2237.858154296875, -5340.40673828125, 84.71131134033203125, 1.134464025497436523, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91711, 15592, 0, 1, 1, 0, 1853.9935302734375, -3721.4453125, 162.307586669921875, 1.274090290069580078, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91712, 15602, 0, 1, 1, 0, 1995.8760986328125, -2420.165771484375, 59.38233566284179687, 2.722713708877563476, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91713, 15594, 0, 1, 1, 0, 1261.157470703125, -2558.26806640625, 118.2903671264648437, 0.506145477294921875, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL); + +-- enable all spawns for eventEntry 7 +DELETE FROM `game_event_creature` WHERE (`eventEntry` = 7) +AND (`guid` IN (SELECT `guid` FROM `creature` WHERE `id1` IN (15549, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570, 15572, 15573, 15574, 15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584, 15585, 15586, 15587, 15588, 15592, 15593, 15594, 15595, 15596, 15597, 15598, 15599, 15600, 15601, 15602, 15603, 15604, 15605, 15606, 15607, 15871, 30348, 30357, 30358, 30359, 30360, 30362, 30363, 30364, 30365, 30367, 30368, 30369, 30370, 30371, 30372, 30373, 30374, 30375, 30531, 30533, 30534, 30535, 30536, 30537, 30538))); +INSERT INTO `game_event_creature` (SELECT 7, `guid` FROM `creature` WHERE `id1` IN (15549, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570, 15572, 15573, 15574, 15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584, 15585, 15586, 15587, 15588, 15592, 15593, 15594, 15595, 15596, 15597, 15598, 15599, 15600, 15601, 15602, 15603, 15604, 15605, 15606, 15607, 15871, 30348, 30357, 30358, 30359, 30360, 30362, 30363, 30364, 30365, 30367, 30368, 30369, 30370, 30371, 30372, 30373, 30374, 30375, 30531, 30533, 30534, 30535, 30536, 30537, 30538)); diff --git a/data/sql/updates/db_world/2024_11_16_00.sql b/data/sql/updates/db_world/2024_11_16_00.sql new file mode 100644 index 00000000000000..5b647e7fb8cf62 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_16_00.sql @@ -0,0 +1,6 @@ +-- DB update 2024_11_15_04 -> 2024_11_16_00 + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24979) AND (`source_type` = 0) AND (`id` IN (0, 1)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24979, 0, 0, 0, 1, 0, 100, 0, 3000, 3000, 5000, 5000, 0, 0, 11, 45101, 0, 0, 0, 0, 0, 19, 5202, 26, 0, 0, 0, 0, 0, 0, 'Dawnblade Marksman - Out of Combat - Cast \'Flaming Arrow\''), +(24979, 0, 1, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 6660, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dawnblade Marksman - In Combat - Cast \'Shoot\''); diff --git a/data/sql/updates/db_world/2024_11_16_01.sql b/data/sql/updates/db_world/2024_11_16_01.sql new file mode 100644 index 00000000000000..e8e97133a3e680 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_16_01.sql @@ -0,0 +1,3 @@ +-- DB update 2024_11_16_00 -> 2024_11_16_01 +-- +UPDATE `creature_template_movement` SET `Rooted` = 1 WHERE `CreatureId` = 25741; diff --git a/data/sql/updates/db_world/2024_11_16_02.sql b/data/sql/updates/db_world/2024_11_16_02.sql new file mode 100644 index 00000000000000..7c7bb49cd7059b --- /dev/null +++ b/data/sql/updates/db_world/2024_11_16_02.sql @@ -0,0 +1,210 @@ +-- DB update 2024_11_16_01 -> 2024_11_16_02 +-- Update creature 'Lunar - Misc' with sniffed values +-- updated spawns +DELETE FROM `creature` WHERE (`id1` IN (15892, 15898, 15895, 15897, 15891, 15961, 15864, 15909)) +AND (`guid` IN (61988, 61989, 61990, 61991, 61992, 61993, 85532, 85533, 85534, 85535, 85536, 85537, 85538, 85539, 85540, 85541, 85542, 85543, 91572, 91593, 91594, 91595, 91596, 91597, 91599, 91600, 91601, 91602, 91604, 91605, 91606, 91607, 91608, 91609, 91611, 91612, 91613, 91614, 91615, 91622, 91623, 91624, 91625, 91626, 91627, 91628, 91629, 91632, 91633, 91634, 91635, 91636, 91637, 91641, 91643, 91645, 91647, 91649, 91650, 91660, 91667, 91677, 91678, 91679, 91680, 91681, 91682, 91683, 91684, 91685, 91686, 91687, 91688, 91689, 97677, 97678, 97679, 97680, 97681, 97682, 97683, 97684, 97685, 97686, 97687, 97688, 97689, 97690, 97691, 97692, 97693, 97694)); +INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES +(61988, 15892, 571, 1, 1, 0, 5825.60205078125, 642.9195556640625, 647.87646484375, 3.106686115264892578, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(61989, 15892, 571, 1, 1, 0, 5820.26171875, 646.169921875, 647.85247802734375, 5.235987663269042968, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(61990, 15892, 571, 1, 1, 0, 5819.78271484375, 639.33160400390625, 647.9127197265625, 1.029744267463684082, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(61991, 15898, 571, 1, 1, 0, 5827.1474609375, 654.62579345703125, 647.57769775390625, 3.159045934677124023, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(61992, 15895, 571, 1, 1, 0, 5824.6513671875, 657.0712890625, 647.6138916015625, 3.246312379837036132, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(61993, 15897, 571, 1, 1, 0, 5821.92236328125, 642.78399658203125, 648.1099853515625, 5.16617441177368164, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(85532, 15892, 530, 1, 1, 0, -4014.533447265625, -11839.49609375, 0.187831342220306396, 2.617993831634521484, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(85533, 15892, 530, 1, 1, 0, -4017.630615234375, -11834.3017578125, 0.171095341444015502, 4.747295379638671875, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(85534, 15892, 530, 1, 1, 0, -4020.615478515625, -11839.400390625, 0.120863333344459533, 0.471238881349563598, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(85535, 15892, 1, 1, 1, 0, 10146.7939453125, 2603.149169921875, 1330.908447265625, 6.038839340209960937, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(85536, 15892, 1, 1, 1, 0, 10151.23046875, 2598.932861328125, 1330.908447265625, 1.780235767364501953, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(85537, 15892, 1, 1, 1, 0, 10153.1904296875, 2604.514892578125, 1330.908447265625, 3.822271108627319335, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(85538, 15898, 530, 1, 1, 0, -4020.0556640625, -11848.4189453125, 0.105093337595462799, 4.677482128143310546, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(85539, 15898, 1, 1, 1, 0, 10148.0283203125, 2572.626708984375, 1320.6966552734375, 4.188790321350097656, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(85540, 15895, 530, 1, 1, 0, -4014.714111328125, -11848.544921875, 0.16346733272075653, 4.799655437469482421, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(85541, 15895, 1, 1, 1, 0, 10153.5849609375, 2593.450439453125, 1330.8414306640625, 4.572762489318847656, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(85542, 15897, 530, 1, 1, 0, -4017.510986328125, -11837.7255859375, 0.159306332468986511, 4.398229598999023437, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(85543, 15897, 1, 1, 1, 0, 10150.49609375, 2602.14306640625, 1330.908447265625, 1.762782573699951171, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91572, 15895, 0, 1, 1, 0, 1647.509765625, 243.6931915283203125, 62.67490386962890625, 5.829399585723876953, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91593, 15898, 1, 1, 1, 0, 1971.18408203125, -4259.455078125, 32.44256591796875, 4.014257431030273437, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91594, 15897, 0, 1, 1, 0, 1642.070556640625, 239.8388671875, 62.67490386962890625, 0.802851438522338867, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91595, 15891, 1, 1, 1, 0, 1614.232666015625, -4395.60400390625, 10.61059856414794921, 3.298672199249267578, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91596, 15897, 1, 1, 1, 0, -1031.9500732421875, -230.513290405273437, 160.2429351806640625, 3.96189737319946289, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91597, 15891, 1, 1, 1, 0, -1036.3294677734375, -233.698348999023437, 160.017333984375, 0.680678427219390869, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91599, 15891, 1, 1, 1, 0, -1291.302734375, 116.1800689697265625, 131.216705322265625, 5.148721218109130859, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91600, 15898, 1, 1, 1, 0, -1043.6627197265625, -219.75244140625, 159.8617095947265625, 2.687807083129882812, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91601, 15891, 0, 1, 1, 0, 1638.0010986328125, 239.885528564453125, 62.67490386962890625, 6.2657318115234375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91602, 15898, 0, 1, 1, 0, 1647.368896484375, 235.684844970703125, 62.67490386962890625, 0.471238881349563598, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91604, 15891, 1, 1, 1, 0, -1032.32275390625, -224.263397216796875, 160.517608642578125, 4.764749050140380859, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91605, 15891, 0, 1, 1, 0, 1600.3482666015625, 232.9897003173828125, -52.0698204040527343, 5.25344085693359375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91606, 15891, 0, 1, 1, 0, 1643.9556884765625, 243.0946807861328125, 62.67490386962890625, 4.188790321350097656, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91607, 15891, 0, 1, 1, 0, 1643.935302734375, 236.5445404052734375, 62.67490386962890625, 2.111848354339599609, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91608, 15895, 1, 1, 1, 0, 1974.703125, -4264.861328125, 32.42264175415039062, 3.543018341064453125, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91609, 15891, 1, 1, 1, 0, 1976.9635009765625, -4253.4775390625, 32.07609176635742187, 5.916666030883789062, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91611, 15891, 1, 1, 1, 0, 1988.40625, -4252.625, 31.86708259582519531, 3.700098037719726562, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91612, 15897, 1, 1, 1, 0, 1983.0504150390625, -4255.88525390625, 31.99672126770019531, 2.076941728591918945, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91613, 15895, 1, 1, 1, 0, -1046.25048828125, -225.606170654296875, 160.0530548095703125, 2.862339973449707031, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91614, 15891, 1, 1, 1, 0, -1027.02783203125, -233.016006469726562, 160.0627899169921875, 2.58308720588684082, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91615, 15891, 1, 1, 1, 0, 1983.6597900390625, -4262.07275390625, 32.36765670776367187, 1.675516128540039062, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91622, 15892, 0, 1, 1, 0, -8745.396484375, 1078.029541015625, 90.8636016845703125, 4.066617012023925781, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91623, 15892, 0, 1, 1, 0, -4894.1787109375, -958.1534423828125, 501.535125732421875, 2.862339973449707031, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91624, 15892, 0, 1, 1, 0, -4657.50927734375, -957.5965576171875, 500.460845947265625, 2.792526721954345703, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91625, 15898, 0, 1, 1, 0, -8737.6689453125, 1074.7777099609375, 90.79186248779296875, 4.660028934478759765, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91626, 15895, 0, 1, 1, 0, -4654.880859375, -941.65606689453125, 502.229339599609375, 1.29154360294342041, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91627, 15897, 0, 1, 1, 0, -4663.15966796875, -956.2352294921875, 500.460357666015625, 0.05235987901687622, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91628, 15892, 0, 1, 1, 0, -4663.470703125, -949.99383544921875, 500.46063232421875, 4.694935798645019531, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91629, 15892, 0, 1, 1, 0, -8873.0087890625, 650.2891845703125, 96.10797119140625, 4.97418832778930664, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91632, 15895, 0, 1, 1, 0, -8756.0517578125, 1068.7994384765625, 90.60748291015625, 5.532693862915039062, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91633, 15892, 0, 1, 1, 0, -8747.974609375, 1069.0621337890625, 90.21788787841796875, 1.605702877044677734, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91634, 15892, 0, 1, 1, 0, -4667.18310546875, -959.8221435546875, 500.459747314453125, 0.680678427219390869, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91635, 15897, 0, 1, 1, 0, -8748.478515625, 1074.2469482421875, 90.61944580078125, 0.471238881349563598, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91636, 15898, 0, 1, 1, 0, -4644.21337890625, -950.1368408203125, 501.743896484375, 0.959931075572967529, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91637, 15892, 0, 1, 1, 0, -8752.71484375, 1077.1827392578125, 90.8636016845703125, 5.654866695404052734, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91641, 15897, 1, 1, 1, 0, 7570.1494140625, -2220.806640625, 473.52069091796875, 3.857177734375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91643, 15897, 1, 1, 1, 0, 7610.80322265625, -2228.959716796875, 468.761199951171875, 1.274090290069580078, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91645, 15897, 1, 1, 1, 0, 7575.24755859375, -2238.940185546875, 469.853302001953125, 1.029744267463684082, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91647, 15961, 1, 1, 1, 1, 7561.17822265625, -2206.26123046875, 475.037567138671875, 0.157079637050628662, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91649, 15897, 1, 1, 1, 0, 7603.54931640625, -2211.26171875, 471.74481201171875, 3.124139308929443359, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91650, 15897, 1, 1, 1, 0, 7585.1484375, -2205.240478515625, 475.369384765625, 0.959931075572967529, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91660, 15897, 1, 1, 1, 0, 7595.63623046875, -2247.21533203125, 466.956298828125, 4.328416347503662109, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91667, 15961, 1, 1, 1, 1, 7580.48291015625, -2249.02783203125, 467.078521728515625, 4.310963153839111328, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91677, 15898, 1, 1, 1, 0, 7597.22314453125, -2225.74462890625, 468.634613037109375, 5.619960308074951171, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91678, 15961, 1, 1, 1, 1, 7587.5, -2196.2822265625, 476.2769775390625, 1.570796370506286621, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91679, 15864, 1, 1, 1, 1, 7948.87841796875, -2619.704345703125, 492.719696044921875, 2.30383467674255371, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91680, 15961, 1, 1, 1, 1, 7605.21630859375, -2257.08544921875, 465.6455078125, 4.171336650848388671, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91681, 15961, 1, 1, 1, 1, 7586.5849609375, -2221.232666015625, 471.459930419921875, 5.515240192413330078, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91682, 15961, 1, 1, 1, 1, 7630.91748046875, -2227.68896484375, 465.58941650390625, 3.001966238021850585, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91683, 15961, 1, 1, 1, 1, 7949.61962890625, -2616.4951171875, 492.59423828125, 2.775073528289794921, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91684, 15961, 1, 1, 1, 1, 7558.421875, -2223.757080078125, 472.221954345703125, 0.331612557172775268, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91685, 15961, 1, 1, 1, 1, 7604.859375, -2204.06640625, 473.114013671875, 0.628318548202514648, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91686, 15961, 1, 1, 1, 1, 7946.9677734375, -2628.27099609375, 492.89556884765625, 3.089232683181762695, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91687, 15909, 1, 1, 1, 0, 7947.822265625, -2622.942138671875, 492.850921630859375, 2.809980154037475585, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91688, 15892, 1, 1, 1, 0, 9927.9873046875, 2492.17236328125, 1317.660888671875, 0.959931075572967529, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(91689, 15898, 1, 1, 1, 0, 7590.5615234375, -2219.204345703125, 470.211822509765625, 2.652900457382202148, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(97677, 15892, 530, 1, 1, 0, -1781.74951171875, 5438.71533203125, -12.3448066711425781, 0.261799395084381103, 120, 0, 0, 0, 0, 0, "", 47966, 1, NULL), +(97678, 15892, 530, 1, 1, 0, -1775.5633544921875, 5444.45458984375, -12.3448057174682617, 4.223696708679199218, 120, 0, 0, 0, 0, 0, "", 47966, 1, NULL), +(97679, 15892, 530, 1, 1, 0, -1773.5477294921875, 5436.27978515625, -12.3448047637939453, 2.49582076072692871, 120, 0, 0, 0, 0, 0, "", 47966, 1, NULL), +(97680, 15898, 530, 1, 1, 0, -1790.0748291015625, 5499.826171875, -12.3448076248168945, 0.698131680488586425, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97681, 15898, 530, 1, 1, 0, -1763.5718994140625, 5447.71728515625, -12.3448076248168945, 0.226892799139022827, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97682, 15898, 530, 1, 1, 0, 9490.6171875, -7290.2353515625, 14.39640998840332031, 0.698131680488586425, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(97683, 15895, 530, 1, 1, 0, -1794.924072265625, 5506.38818359375, -12.3448057174682617, 0.680678427219390869, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97684, 15895, 530, 1, 1, 0, -1762.1146240234375, 5439.025390625, -12.3448085784912109, 0.331612557172775268, 120, 0, 0, 0, 0, 0, "", 47966, 1, NULL), +(97685, 15895, 530, 1, 1, 0, 9487.328125, -7285.73681640625, 14.37371158599853515, 0.680678427219390869, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(97686, 15891, 530, 1, 1, 0, -1799.07861328125, 5491.60302734375, -12.3448076248168945, 2.879793167114257812, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97687, 15891, 530, 1, 1, 0, -1804.24072265625, 5498.24755859375, -12.3448085784912109, 4.694935798645019531, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97688, 15891, 530, 1, 1, 0, -1807.635986328125, 5489.9736328125, -12.3448076248168945, 0.750491559505462646, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97689, 15891, 530, 1, 1, 0, 9483.5791015625, -7296.71435546875, 14.430816650390625, 2.879793167114257812, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(97690, 15891, 530, 1, 1, 0, 9479.115234375, -7290.20947265625, 14.36028671264648437, 4.694935798645019531, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(97691, 15891, 530, 1, 1, 0, 9475.6806640625, -7297.98779296875, 14.43598270416259765, 0.750491559505462646, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(97692, 15897, 530, 1, 1, 0, -1804.3443603515625, 5492.79443359375, -12.3448085784912109, 5.375614166259765625, 120, 0, 0, 0, 0, 0, "", 52237, 1, NULL), +(97693, 15897, 530, 1, 1, 0, -1778.0633544921875, 5439.6865234375, -12.3448076248168945, 4.415682792663574218, 120, 0, 0, 0, 0, 0, "", 47966, 1, NULL), +(97694, 15897, 530, 1, 1, 0, 9479.2578125, -7295.2119140625, 14.40949821472167968, 4.398229598999023437, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL); + +DELETE FROM `game_event_creature` WHERE (`eventEntry` = 7) +AND (`guid` IN (61988, 61989, 61990, 61991, 61992, 61993, 85532, 85533, 85534, 85535, 85536, 85537, 85538, 85539, 85540, 85541, 85542, 85543, 91572, 91593, 91594, 91595, 91596, 91597, 91599, 91600, 91601, 91602, 91604, 91605, 91606, 91607, 91608, 91609, 91611, 91612, 91613, 91614, 91615, 91622, 91623, 91624, 91625, 91626, 91627, 91628, 91629, 91632, 91633, 91634, 91635, 91636, 91637, 91641, 91643, 91645, 91647, 91649, 91650, 91660, 91667, 91677, 91678, 91679, 91680, 91681, 91682, 91683, 91684, 91685, 91686, 91687, 91688, 91689, 97677, 97678, 97679, 97680, 97681, 97682, 97683, 97684, 97685, 97686, 97687, 97688, 97689, 97690, 97691, 97692, 97693, 97694)); +INSERT INTO `game_event_creature` (`eventEntry`,`guid`) VALUES +(7, 61988), +(7, 61989), +(7, 61990), +(7, 61991), +(7, 61992), +(7, 61993), +(7, 85532), +(7, 85533), +(7, 85534), +(7, 85535), +(7, 85536), +(7, 85537), +(7, 85538), +(7, 85539), +(7, 85540), +(7, 85541), +(7, 85542), +(7, 85543), +(7, 91572), +(7, 91593), +(7, 91594), +(7, 91595), +(7, 91596), +(7, 91597), +(7, 91599), +(7, 91600), +(7, 91601), +(7, 91602), +(7, 91604), +(7, 91605), +(7, 91606), +(7, 91607), +(7, 91608), +(7, 91609), +(7, 91611), +(7, 91612), +(7, 91613), +(7, 91614), +(7, 91615), +(7, 91622), +(7, 91623), +(7, 91624), +(7, 91625), +(7, 91626), +(7, 91627), +(7, 91628), +(7, 91629), +(7, 91632), +(7, 91633), +(7, 91634), +(7, 91635), +(7, 91636), +(7, 91637), +(7, 91641), +(7, 91643), +(7, 91645), +(7, 91647), +(7, 91649), +(7, 91650), +(7, 91660), +(7, 91667), +(7, 91677), +(7, 91678), +(7, 91679), +(7, 91680), +(7, 91681), +(7, 91682), +(7, 91683), +(7, 91684), +(7, 91685), +(7, 91686), +(7, 91687), +(7, 91688), +(7, 91689), +(7, 97677), +(7, 97678), +(7, 97679), +(7, 97680), +(7, 97681), +(7, 97682), +(7, 97683), +(7, 97684), +(7, 97685), +(7, 97686), +(7, 97687), +(7, 97688), +(7, 97689), +(7, 97690), +(7, 97691), +(7, 97692), +(7, 97693), +(7, 97694); + +-- new spawns +DELETE FROM `creature` WHERE (`id1` IN (15897, 15961)) +AND (`guid` IN (12711, 12712, 12713)); +INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES +(12711, 15897, 571, 1, 1, 0, 8496.1904296875, 1103.471923828125, 554.46051025390625, 0, 120, 0, 0, 0, 0, 0, "", 50172, 1, NULL), +(12712, 15961, 1, 1, 1, 1, 7924.0859375, -2637.7294921875, 492.761199951171875, 0.471238881349563598, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL), +(12713, 15961, 1, 1, 1, 1, 7929.99072265625, -2605.031005859375, 492.775634765625, 5.532693862915039062, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL); + +DELETE FROM `game_event_creature` WHERE (`eventEntry` = 7) +AND (`guid` IN (12711, 12712, 12713)); +INSERT INTO `game_event_creature` (`eventEntry`,`guid`) VALUES +-- unrelated to the game event +-- (7, 12711), +(7, 12712), +(7, 12713); diff --git a/data/sql/updates/db_world/2024_11_16_03.sql b/data/sql/updates/db_world/2024_11_16_03.sql new file mode 100644 index 00000000000000..f481ad84d3aae4 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_16_03.sql @@ -0,0 +1,7 @@ +-- DB update 2024_11_16_02 -> 2024_11_16_03 +-- +UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = 23598; + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23598) AND (`source_type` = 0) AND (`id` IN (0)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23598, 0, 0, 0, 0, 0, 100, 0, 7000, 10000, 7000, 10000, 0, 0, 11, 43299, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani Dragonhawk Hatchling - In Combat - Cast \'Flame Buffet\''); diff --git a/data/sql/updates/db_world/2024_11_16_04.sql b/data/sql/updates/db_world/2024_11_16_04.sql new file mode 100644 index 00000000000000..bafe7505a427b3 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_16_04.sql @@ -0,0 +1,4 @@ +-- DB update 2024_11_16_03 -> 2024_11_16_04 +-- +UPDATE `creature` SET `position_z` = 31.0639 WHERE `guid` = 7887; +UPDATE `creature` SET `position_z` = 52.9613 WHERE `guid` = 18622; diff --git a/data/sql/updates/db_world/2024_11_17_00.sql b/data/sql/updates/db_world/2024_11_17_00.sql new file mode 100644 index 00000000000000..d2b5e228e31448 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_17_00.sql @@ -0,0 +1,4 @@ +-- DB update 2024_11_16_04 -> 2024_11_17_00 +-- +UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE `id` = 1204; + diff --git a/data/sql/updates/db_world/2024_11_17_01.sql b/data/sql/updates/db_world/2024_11_17_01.sql new file mode 100644 index 00000000000000..553ff3b8a584d6 --- /dev/null +++ b/data/sql/updates/db_world/2024_11_17_01.sql @@ -0,0 +1,5 @@ +-- DB update 2024_11_17_00 -> 2024_11_17_01 + +UPDATE `creature` SET `position_z` = -0.2568386 WHERE `guid` = 35230; +UPDATE `creature` SET `position_z` = -0.6963177 WHERE `guid` = 35252; +UPDATE `creature` SET `position_z` = -1.5501903 WHERE `guid` = 35253; diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index ca79c6b08b7569..403e9756997470 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -781,6 +781,7 @@ Logger.spells.scripts=2,Console Errors #Logger.spells=4,Console Server #Logger.sql.dev=4,Console Server #Logger.sql.driver=4,Console Server +#Logger.sql.updates=4,Console Server #Logger.vehicles=4,Console Server #Logger.warden=4,Console Server #Logger.weather=4,Console Server diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index f4a57e656a40c8..d8f33c6fe6acc1 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2928,8 +2928,11 @@ bool Player::addTalent(uint32 spellId, uint8 addSpecMask, uint8 oldTalentRank) newTalent->specMask = addSpecMask; newTalent->talentID = talentInfo->TalentID; newTalent->inSpellBook = talentInfo->addToSpellBook && !spellInfo->HasAttribute(SPELL_ATTR0_PASSIVE) && !spellInfo->HasEffect(SPELL_EFFECT_LEARN_SPELL); - m_talents[spellId] = newTalent; + + if (GetActiveSpecMask() & addSpecMask) + m_usedTalentCount += (talentPos->rank + 1) - oldTalentRank; + return true; } // xinef: if current mask does not cover addMask, add it to iterator and save changes to DB @@ -2939,6 +2942,9 @@ bool Player::addTalent(uint32 spellId, uint8 addSpecMask, uint8 oldTalentRank) if (itr->second->State != PLAYERSPELL_NEW) itr->second->State = PLAYERSPELL_CHANGED; + if (GetActiveSpecMask() & addSpecMask) + m_usedTalentCount += (talentPos->rank + 1) - oldTalentRank; + return true; } @@ -14067,9 +14073,6 @@ void Player::LearnTalent(uint32 talentId, uint32 talentRank, bool command /*= fa addTalent(spellId, GetActiveSpecMask(), currentTalentRank); - // xinef: update free talent points count - m_usedTalentCount += talentPointsChange; - if (!command) { SetFreeTalentPoints(CurTalentPoints - talentPointsChange); @@ -15021,9 +15024,6 @@ void Player::_LoadTalents(PreparedQueryResult result) TalentSpellPos const* talentPos = GetTalentSpellPos(spellId); ASSERT(talentPos); - // xinef: increase used talent points count - if (GetActiveSpecMask() & specMask) - m_usedTalentCount += talentPos->rank + 1; } while (result->NextRow()); } } diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index b00468be5bd220..778ae0a83940da 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1433,6 +1433,7 @@ class Player : public Unit, public GridObject void CompleteQuest(uint32 quest_id); void IncompleteQuest(uint32 quest_id); void RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, bool announce = true, bool isLFGReward = false); + void SetRewardedQuest(uint32 quest_id); void FailQuest(uint32 quest_id); bool SatisfyQuestSkill(Quest const* qInfo, bool msg) const; bool SatisfyQuestLevel(Quest const* qInfo, bool msg) const; diff --git a/src/server/game/Entities/Player/PlayerQuest.cpp b/src/server/game/Entities/Player/PlayerQuest.cpp index b566d2d7630e39..ef2bbb9ed2c1e5 100644 --- a/src/server/game/Entities/Player/PlayerQuest.cpp +++ b/src/server/game/Entities/Player/PlayerQuest.cpp @@ -819,8 +819,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, SetSeasonalQuestStatus(quest_id); RemoveActiveQuest(quest_id, false); - m_RewardedQuests.insert(quest_id); - m_RewardedQuestsSave[quest_id] = true; + SetRewardedQuest(quest_id); if (announce) SendQuestReward(quest, XP); @@ -877,6 +876,12 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, sScriptMgr->OnPlayerCompleteQuest(this, quest); } +void Player::SetRewardedQuest(uint32 quest_id) +{ + m_RewardedQuests.insert(quest_id); + m_RewardedQuestsSave[quest_id] = true; +} + void Player::FailQuest(uint32 questId) { if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId)) diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index bbc160c01035c4..0509054165af2a 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -59,6 +59,9 @@ void InstanceScript::OnCreatureCreate(Creature* creature) { AddObject(creature); AddMinion(creature); + + if (creature->IsSummon()) + SetSummoner(creature); } void InstanceScript::OnCreatureRemove(Creature* creature) @@ -194,6 +197,15 @@ void InstanceScript::LoadObjectData(ObjectData const* data, ObjectInfoMap& objec } } +void InstanceScript::LoadSummonData(ObjectData const* data) +{ + while (data->entry) + { + _summonInfo[data->entry] = data->type; + ++data; + } +} + void InstanceScript::UpdateMinionState(Creature* minion, EncounterState state) { switch (state) @@ -348,6 +360,16 @@ void InstanceScript::RemoveMinion(Creature* minion) AddMinion(minion, false); } +void InstanceScript::SetSummoner(Creature* creature) +{ + auto const& summonData = _summonInfo.find(creature->GetEntry()); + + if (summonData != _summonInfo.end()) + if (Creature* summoner = GetCreature(summonData->second)) + if (summoner->IsAIEnabled) + summoner->AI()->JustSummoned(creature); +} + bool InstanceScript::SetBossState(uint32 id, EncounterState state) { if (id < bosses.size()) diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index c5add7eb201b86..8e6f83c1ff1ba3 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -288,6 +288,11 @@ class InstanceScript : public ZoneScript void LoadDoorData(DoorData const* data); void LoadMinionData(MinionData const* data); void LoadObjectData(ObjectData const* creatureData, ObjectData const* gameObjectData); + // Allows setting another creature as summoner for a creature. + // This is used to handle summons that are not directly controlled by the summoner. + // Summoner creature must be loaded in the instance data (LoadObjectData). + void LoadSummonData(ObjectData const* data); + void SetSummoner(Creature* creature); void AddObject(Creature* obj, bool add = true); void RemoveObject(Creature* obj); @@ -324,6 +329,7 @@ class InstanceScript : public ZoneScript MinionInfoMap minions; ObjectInfoMap _creatureInfo; ObjectInfoMap _gameObjectInfo; + ObjectInfoMap _summonInfo; ObjectGuidMap _objectGuids; ObjectStateMap _objectStateMap; uint32 completedEncounters; // completed encounter mask, bit indexes are DungeonEncounter.dbc boss numbers, used for packets diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 811dea160d4aaf..ace8a1b51ecf9b 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4771,8 +4771,8 @@ void Spell::EffectQuestComplete(SpellEffIndex effIndex) uint16 logSlot = player->FindQuestSlot(questId); if (logSlot < MAX_QUEST_LOG_SIZE) player->AreaExploredOrEventHappens(questId); - else if (player->CanTakeQuest(quest, false)) // never rewarded before - player->CompleteQuest(questId); // quest not in log - for internal use + else if (player->CanTakeQuest(quest, false)) // Check if the quest has already been turned in. + player->SetRewardedQuest(questId); // If not, set status to rewarded without broadcasting it to client. } } diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index e0b2e9b0483cf7..2615535ec9d8c1 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1870,7 +1870,7 @@ SpellCastResult SpellInfo::CheckTarget(Unit const* caster, WorldObject const* ta return SPELL_FAILED_TARGETS_DEAD; // check this flag only for implicit targets (chain and area), allow to explicitly target units for spells like Shield of Righteousness - if (implicit && AttributesEx6 & SPELL_ATTR6_DO_NOT_CHAIN_TO_CROWD_CONTROLLED_TARGETS && !unitTarget->CanFreeMove()) + if (implicit && AttributesEx6 & SPELL_ATTR6_DO_NOT_CHAIN_TO_CROWD_CONTROLLED_TARGETS && unitTarget->HasUnitState(UNIT_STATE_CONTROLLED)) return SPELL_FAILED_BAD_TARGETS; // checked in Unit::IsValidAttack/AssistTarget, shouldn't be checked for ENTRY targets diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp index ef67623da69222..5c94a549f8d25b 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp @@ -63,35 +63,6 @@ enum Spells enum Misc { - // Land - EVENT_SPELL_BERSERK = 1, - EVENT_SPELL_CLEAVE = 2, - EVENT_SPELL_CORROSION = 3, - EVENT_SPELL_GAS_NOVA = 4, - EVENT_SPELL_ENCAPSULATE = 5, - EVENT_FLIGHT = 6, - EVENT_LAND = 7, - EVENT_RESTORE_COMBAT = 8, - EVENT_RESTORE_COMBAT2 = 9, - - // Air - EVENT_FLIGHT_SEQ = 100, - EVENT_FLIGHT_VAPOR = 101, - EVENT_FLIGHT_MOVE_UP = 102, - EVENT_LAND_FIGHT = 103, - EVENT_FLIGHT_EMOTE = 104, - EVENT_FLIGHT_BREATH1 = 105, - EVENT_FLIGHT_BREATH2 = 106, - EVENT_FLIGHT_FLYOVER1 = 107, - EVENT_FLIGHT_FLYOVER2 = 108, - EVENT_CORRUPT_TRIGGERS = 109, - - // Intro - EVENT_INTRO_1 = 20, - EVENT_INTRO_2 = 21, - EVENT_INTRO_3 = 22, - EVENT_INTRO_4 = 23, - // Misc ACTION_START_EVENT = 1, POINT_GROUND = 1, @@ -102,23 +73,24 @@ enum Misc POINT_AIR_BREATH_END2 = 6, POINT_MISC = 7, + GROUP_START_INTRO = 0, + GROUP_BREATH = 1, + NPC_FOG_TRIGGER = 23472 }; class CorruptTriggers : public BasicEvent { public: - CorruptTriggers(Unit* caster) : _caster(caster) - { - } + CorruptTriggers(Unit* caster) : _caster(caster) { } bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override { - std::list cList; - _caster->GetCreaturesWithEntryInRange(cList, 70.0f, NPC_FOG_TRIGGER); - for (std::list::const_iterator itr = cList.begin(); itr != cList.end(); ++itr) - if (_caster->GetExactDist2d(*itr) <= 11.0f) - (*itr)->CastSpell(*itr, SPELL_FOG_OF_CORRUPTION, true); + std::list creatureList; + _caster->GetCreaturesWithEntryInRange(creatureList, 70.0f, NPC_FOG_TRIGGER); + for (auto const& creature : creatureList) + if (_caster->GetExactDist2d(creature) <= 11.0f) + creature->CastSpell(creature, SPELL_FOG_OF_CORRUPTION, true); return true; } @@ -136,15 +108,13 @@ struct boss_felmyst : public BossAI creature->SetReactState(REACT_PASSIVE); } - EventMap events2; - void DoAction(int32 param) override { if (param == ACTION_START_EVENT) { me->SetVisible(true); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - events2.ScheduleEvent(EVENT_INTRO_1, 3000); + StartIntro(); } } @@ -154,7 +124,7 @@ struct boss_felmyst : public BossAI me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_PASSIVE); me->SetDisableGravity(false); - events2.Reset(); + me->m_Events.KillAllEvents(false); instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_FOG_OF_CORRUPTION_CHARM); } @@ -162,8 +132,9 @@ struct boss_felmyst : public BossAI { BossAI::JustEngagedWith(who); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if (events.Empty() && events2.Empty()) - events2.ScheduleEvent(EVENT_INTRO_2, 3000); + + if (!scheduler.IsGroupScheduled(GROUP_START_INTRO)) + StartIntro(); } void KilledUnit(Unit* victim) override @@ -193,36 +164,65 @@ struct boss_felmyst : public BossAI me->SetDisableGravity(false); me->SendMovementFlagUpdate(); - events.ScheduleEvent(EVENT_RESTORE_COMBAT, 0); - events.ScheduleEvent(EVENT_RESTORE_COMBAT2, 1); - events.ScheduleEvent(EVENT_SPELL_CLEAVE, 7500, 1); - events.ScheduleEvent(EVENT_SPELL_CORROSION, 12000, 1); - events.ScheduleEvent(EVENT_SPELL_GAS_NOVA, 18000, 1); - events.ScheduleEvent(EVENT_SPELL_ENCAPSULATE, 25000, 1); - events.ScheduleEvent(EVENT_FLIGHT, 60000, 1); + me->m_Events.AddEventAtOffset([&] { + me->SetReactState(REACT_AGGRESSIVE); + + if (me->GetVictim()) + me->SetTarget(me->GetVictim()->GetGUID()); + + me->ResumeChasingVictim(); + }, 1s); + + ScheduleTimedEvent(7500ms, [&] { + DoCastVictim(SPELL_CLEAVE); + }, 7500ms); + + ScheduleTimedEvent(12s, [&] { + DoCastVictim(SPELL_CORROSION); + }, 20s); + + ScheduleTimedEvent(18s, [&] { + DoCastSelf(SPELL_GAS_NOVA); + }, 20s); + + ScheduleTimedEvent(25s, [&] { + DoCastRandomTarget(SPELL_ENCAPSULATE_CHANNEL, 0, 50.0f); + }, 25s); + + me->m_Events.AddEventAtOffset([&] { + scheduler.CancelAll(); + me->SetReactState(REACT_PASSIVE); + me->StopMoving(); + me->GetMotionMaster()->Clear(); + + me->m_Events.AddEventAtOffset([&] { + ScheduleFlightSequence(); + }, 1s); + }, 1min); } else if (point == POINT_AIR_BREATH_START1) { me->SetTarget(); me->SetFacingTo(4.71f); - events.ScheduleEvent(EVENT_FLIGHT_EMOTE, 2000); - events.ScheduleEvent(EVENT_CORRUPT_TRIGGERS, 5000); - events.ScheduleEvent(EVENT_FLIGHT_FLYOVER1, 5000); + ScheduleFlightAbilities(point); } else if (point == POINT_AIR_BREATH_END1) { me->RemoveAurasDueToSpell(SPELL_FELMYST_SPEED_BURST); me->SetFacingTo(1.57f); - if (events.GetNextEventTime(EVENT_FLIGHT_BREATH1) != 0) - events.ScheduleEvent(EVENT_FLIGHT_BREATH2, 2000); + if (!scheduler.IsGroupScheduled(GROUP_BREATH)) + { + me->m_Events.AddEventAtOffset([&] { + Position pos = { 1447.0f + urand(0, 2) * 25.0f, 515.0f, 50.0f, 1.57f }; + me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_START2, pos, false, true); + }, 2s); + } } else if (point == POINT_AIR_BREATH_START2) { me->SetTarget(); me->SetFacingTo(1.57f); - events.ScheduleEvent(EVENT_FLIGHT_EMOTE, 2000); - events.ScheduleEvent(EVENT_CORRUPT_TRIGGERS, 5000); - events.ScheduleEvent(EVENT_FLIGHT_FLYOVER2, 5000); + ScheduleFlightAbilities(point); } else if (point == POINT_AIR_BREATH_END2) { @@ -231,127 +231,50 @@ struct boss_felmyst : public BossAI } } - void JustSummoned(Creature* summon) override + void ScheduleFlightSequence() { - summons.Summon(summon); - } + Talk(YELL_TAKEOFF); + me->SetTarget(); + me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); + me->SetDisableGravity(true); + me->SendMovementFlagUpdate(); - void UpdateAI(uint32 diff) override - { - events2.Update(diff); - switch (events2.ExecuteEvent()) - { - case EVENT_INTRO_1: - me->SetStandState(UNIT_STAND_STATE_STAND); - events2.ScheduleEvent(EVENT_INTRO_2, 4000); - break; - case EVENT_INTRO_2: - Talk(YELL_BIRTH); - me->SetDisableGravity(true); - me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); - me->SendMovementFlagUpdate(); - events2.ScheduleEvent(EVENT_INTRO_3, 1500); - break; - case EVENT_INTRO_3: - me->GetMotionMaster()->MovePoint(POINT_AIR, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 10.0f, false, true); - events2.ScheduleEvent(EVENT_INTRO_4, 2000); - break; - case EVENT_INTRO_4: - events.ScheduleEvent(EVENT_LAND, 3000, 1); - events.ScheduleEvent(EVENT_SPELL_BERSERK, 600000); - me->SetInCombatWithZone(); - me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->CastSpell(me, SPELL_NOXIOUS_FUMES, true); - me->GetMotionMaster()->MovePoint(POINT_MISC, 1472.18f, 603.38f, 34.0f, false, true); - break; - } - - if (!events2.Empty()) - return; + me->m_Events.AddEventAtOffset([&] { + me->GetMotionMaster()->MovePoint(POINT_AIR, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 15.0f, false, true); + }, 2s); - if (!UpdateVictim()) - return; + me->m_Events.AddEventAtOffset([&] { + me->CastCustomSpell(SPELL_SUMMON_DEMONIC_VAPOR, SPELLVALUE_MAX_TARGETS, 1, me, true); + }, 8s); - events.Update(diff); - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; + me->m_Events.AddEventAtOffset([&] { + me->CastCustomSpell(SPELL_SUMMON_DEMONIC_VAPOR, SPELLVALUE_MAX_TARGETS, 1, me, true); + }, 21s); - switch (events.ExecuteEvent()) + scheduler.Schedule(35s, GROUP_BREATH, [this](TaskContext) { - case EVENT_RESTORE_COMBAT: - me->SetReactState(REACT_AGGRESSIVE); - break; - case EVENT_RESTORE_COMBAT2: - me->SetTarget(me->GetVictim()->GetGUID()); - me->GetMotionMaster()->MoveChase(me->GetVictim()); - break; - case EVENT_LAND: - me->GetMotionMaster()->MovePoint(POINT_GROUND, me->GetPositionX(), me->GetPositionY(), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), false, true); - break; - case EVENT_SPELL_BERSERK: - Talk(YELL_BERSERK); - me->CastSpell(me, SPELL_BERSERK, true); - break; - case EVENT_SPELL_CLEAVE: - me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false); - events.ScheduleEvent(EVENT_SPELL_CLEAVE, 7500, 1); - break; - case EVENT_SPELL_CORROSION: - me->CastSpell(me->GetVictim(), SPELL_CORROSION, false); - events.ScheduleEvent(EVENT_SPELL_CORROSION, 20000, 1); - break; - case EVENT_SPELL_GAS_NOVA: - DoCast(me, SPELL_GAS_NOVA, false); - events.ScheduleEvent(EVENT_SPELL_GAS_NOVA, 20000, 1); - break; - case EVENT_SPELL_ENCAPSULATE: - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) - me->CastSpell(target, SPELL_ENCAPSULATE_CHANNEL, false); - events.ScheduleEvent(EVENT_SPELL_ENCAPSULATE, 25000, 1); - break; - case EVENT_FLIGHT: - events.CancelEventGroup(1); - events.ScheduleEvent(EVENT_FLIGHT_SEQ, 1000); - me->SetReactState(REACT_PASSIVE); - me->StopMoving(); - me->GetMotionMaster()->Clear(); - break; - case EVENT_FLIGHT_SEQ: - Talk(YELL_TAKEOFF); - me->SetTarget(); - me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); - me->SetDisableGravity(true); - me->SendMovementFlagUpdate(); + Position pos = { 1447.0f + urand(0, 2) * 25.0f, 705.0f, 50.0f, 4.71f }; + me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_START1, pos, false, true); + }); - events.ScheduleEvent(EVENT_FLIGHT_MOVE_UP, 2000); - events.ScheduleEvent(EVENT_FLIGHT_VAPOR, 8000); - events.ScheduleEvent(EVENT_FLIGHT_VAPOR, 21000); - events.ScheduleEvent(EVENT_FLIGHT_BREATH1, 35000); - events.ScheduleEvent(EVENT_FLIGHT_BREATH1, 72000); - events.ScheduleEvent(EVENT_LAND_FIGHT, 86000); - break; - case EVENT_FLIGHT_MOVE_UP: - me->GetMotionMaster()->MovePoint(POINT_AIR, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 15.0f, false, true); - break; - case EVENT_FLIGHT_VAPOR: - me->CastCustomSpell(SPELL_SUMMON_DEMONIC_VAPOR, SPELLVALUE_MAX_TARGETS, 1, me, true); - break; - case EVENT_FLIGHT_BREATH1: + scheduler.Schedule(72s, GROUP_BREATH, [this](TaskContext) { Position pos = { 1447.0f + urand(0, 2) * 25.0f, 705.0f, 50.0f, 4.71f }; me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_START1, pos, false, true); - break; - } - case EVENT_FLIGHT_BREATH2: - { - Position pos = { 1447.0f + urand(0, 2) * 25.0f, 515.0f, 50.0f, 1.57f }; - me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_START2, pos, false, true); - break; - } - case EVENT_FLIGHT_EMOTE: + }); + + me->m_Events.AddEventAtOffset([&] { + me->GetMotionMaster()->MovePoint(POINT_GROUND, 1500.0f, 552.8f, 26.52f, false, true); + }, 86s); + } + + void ScheduleFlightAbilities(uint8 point) + { + me->m_Events.AddEventAtOffset([&] { Talk(EMOTE_BREATH); - break; - case EVENT_CORRUPT_TRIGGERS: + }, 2s); + + me->m_Events.AddEventAtOffset([&] { Talk(YELL_BREATH); me->m_Events.AddEvent(new CorruptTriggers(me), me->m_Events.CalculateTime(0)); me->m_Events.AddEvent(new CorruptTriggers(me), me->m_Events.CalculateTime(500)); @@ -362,19 +285,58 @@ struct boss_felmyst : public BossAI me->m_Events.AddEvent(new CorruptTriggers(me), me->m_Events.CalculateTime(3000)); me->m_Events.AddEvent(new CorruptTriggers(me), me->m_Events.CalculateTime(3500)); me->m_Events.AddEvent(new CorruptTriggers(me), me->m_Events.CalculateTime(4000)); - break; - case EVENT_FLIGHT_FLYOVER1: - me->CastSpell(me, SPELL_FELMYST_SPEED_BURST, true); - me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_END1, me->GetPositionX(), me->GetPositionY() - 200.0f, me->GetPositionZ() + 5.0f, false, true); - break; - case EVENT_FLIGHT_FLYOVER2: - me->CastSpell(me, SPELL_FELMYST_SPEED_BURST, true); - me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_END2, me->GetPositionX(), me->GetPositionY() + 200.0f, me->GetPositionZ() + 5.0f, false, true); - break; - case EVENT_LAND_FIGHT: - me->GetMotionMaster()->MovePoint(POINT_GROUND, 1500.0f, 552.8f, 26.52f, false, true); - break; - } + }, 5s); + + me->m_Events.AddEventAtOffset([this, point] { + DoCastSelf(SPELL_FELMYST_SPEED_BURST, true); + if (point == POINT_AIR_BREATH_START1) + me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_END1, me->GetPositionX(), me->GetPositionY() - 200.0f, me->GetPositionZ() + 5.0f, false, true); + else if (point == POINT_AIR_BREATH_START2) + me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_END2, me->GetPositionX(), me->GetPositionY() + 200.0f, me->GetPositionZ() + 5.0f, false, true); + }, 5s); + } + + void StartIntro() + { + scheduler.Schedule(3s, GROUP_START_INTRO, [this](TaskContext /*context*/) + { + me->SetStandState(UNIT_STAND_STATE_STAND); + + me->m_Events.AddEventAtOffset([&] { + Talk(YELL_BIRTH); + me->SetDisableGravity(true); + me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); + me->SendMovementFlagUpdate(); + }, 7s); + + me->m_Events.AddEventAtOffset([&] { + me->GetMotionMaster()->MovePoint(POINT_AIR, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 10.0f, false, true); + }, 8500ms); + + me->m_Events.AddEventAtOffset([&] { + me->SetInCombatWithZone(); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->CastSpell(me, SPELL_NOXIOUS_FUMES, true); + me->GetMotionMaster()->MovePoint(POINT_MISC, 1472.18f, 603.38f, 34.0f, false, true); + + me->m_Events.AddEventAtOffset([&] { + me->GetMotionMaster()->MovePoint(POINT_GROUND, me->GetPositionX(), me->GetPositionY(), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), false, true); + }, 3s); + + me->m_Events.AddEventAtOffset([&] { + Talk(YELL_BERSERK); + DoCastSelf(SPELL_BERSERK, true); + }, 10min); + }, 10500ms); + }); + } + + void UpdateAI(uint32 diff) override + { + if (!UpdateVictim()) + return; + + scheduler.Update(diff); if (!me->HasUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY)) DoMeleeAttackIfReady(); diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp index 2c41d4a8057c76..abb1b321c15460 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp @@ -84,50 +84,28 @@ enum SWPActions ACTION_ENRAGE_OTHER = 5, }; -enum kalEvents -{ - EVENT_ARCANE_BUFFET = 1, - EVENT_FROST_BREATH = 2, - EVENT_WILD_MAGIC = 3, - EVENT_TAIL_LASH = 4, - EVENT_SPECTRAL_BLAST = 5, - EVENT_CHECK_HEALTH = 6, - EVENT_CHECK_HEALTH2 = 7, - EVENT_CHECK_POS = 8, - EVENT_SPAWN_SPECTRALS = 9, - - EVENT_SPELL_REVITALIZE = 10, - EVENT_SPELL_HEROIC_STRIKE = 11, - EVENT_SHADOW_BOLT = 12, - EVENT_AGONY_CURSE = 13, - EVENT_CORRUPTION_STRIKE = 14, - - EVENT_TALK_GOOD_1 = 20, - EVENT_TALK_GOOD_2 = 21, - EVENT_TALK_GOOD_3 = 22, - EVENT_TALK_GOOD_4 = 23, - EVENT_TALK_GOOD_5 = 24, - EVENT_TALK_BAD_1 = 25, - EVENT_TALK_BAD_2 = 26, - EVENT_TALK_BAD_3 = 27 -}; - #define DRAGON_REALM_Z 53.079f struct boss_kalecgos : public BossAI { boss_kalecgos(Creature* creature) : BossAI(creature, DATA_KALECGOS) { + SetInvincibility(true); } - bool sathBanished; - EventMap events2; - bool CanAIAttack(Unit const* target) const override { return target->GetPositionZ() > 50.0f; } + bool CheckInRoom() override + { + if (me->GetDistance(me->GetHomePosition()) > 50.0f) + return false; + + return true; + } + void JustReachedHome() override { BossAI::JustReachedHome(); @@ -137,15 +115,24 @@ struct boss_kalecgos : public BossAI void Reset() override { BossAI::Reset(); - me->SetHealth(me->GetMaxHealth()); + me->SetFullHealth(); me->SetStandState(UNIT_STAND_STATE_SLEEP); me->SetDisableGravity(false); me->SetReactState(REACT_AGGRESSIVE); me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE); - events2.Reset(); - sathBanished = false; + _sathBanished = false; ClearPlayerAuras(); + + ScheduleHealthCheckEvent(10, [&] { + if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) + Sath->AI()->DoAction(ACTION_ENRAGE_OTHER); + DoAction(ACTION_ENRAGE); + }); + + ScheduleHealthCheckEvent(1, [&] { + DoAction(ACTION_BANISH); + }); } void ClearPlayerAuras() const @@ -160,29 +147,75 @@ struct boss_kalecgos : public BossAI if (param == ACTION_ENRAGE || param == ACTION_ENRAGE_OTHER) { Talk(param == ACTION_ENRAGE ? SAY_KALEC_ENRAGE_SATH : SAY_SATH_ENRAGE_ME); - me->CastSpell(me, SPELL_CRAZED_RAGE, true); - events.CancelEvent(EVENT_CHECK_HEALTH); + DoCastSelf(SPELL_CRAZED_RAGE, true); return; } else if (param == ACTION_BANISH) { - me->CastSpell(me, SPELL_BANISH, true); - events.Reset(); + DoCastSelf(SPELL_BANISH, true); + scheduler.CancelAll(); } else if (param == ACTION_SATH_BANISH) - sathBanished = true; + _sathBanished = true; else if (param == ACTION_KALEC_DIED) { - events.Reset(); - events2.ScheduleEvent(EVENT_TALK_BAD_1, 0); + scheduler.CancelAll(); + + me->m_Events.AddEventAtOffset([&] { + me->SetReactState(REACT_PASSIVE); + me->CombatStop(); + me->RemoveAllAuras(); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + Talk(SAY_EVIL_ENRAGE); + }, 1s); + + me->m_Events.AddEventAtOffset([&] { + me->SetDisableGravity(true); + me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); + }, 4s); + + me->m_Events.AddEventAtOffset([&] { + me->SetVisible(false); + EnterEvadeMode(); + }, 9s); + ClearPlayerAuras(); return; } - if (me->HasAura(SPELL_BANISH) && sathBanished) + if (me->HasAura(SPELL_BANISH) && _sathBanished) { - events.Reset(); - events2.ScheduleEvent(EVENT_TALK_GOOD_1, 1000); + scheduler.CancelAll(); + + me->m_Events.AddEventAtOffset([&] { + me->SetRegeneratingHealth(false); + me->RemoveAllAuras(); + me->SetReactState(REACT_PASSIVE); + me->CombatStop(); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetFaction(FACTION_FRIENDLY); + }, 1s); + + me->m_Events.AddEventAtOffset([&] { + if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) + { + summons.Despawn(Sath); + Unit::Kill(me, Sath); + } + }, 2s); + + Talk(SAY_GOOD_PLRWIN, 10s); + + me->m_Events.AddEventAtOffset([&] { + me->SetDisableGravity(true); + me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); + }, 15s); + + me->m_Events.AddEventAtOffset([&] { + me->SetVisible(false); + me->KillSelf(); + }, 20s); + ClearPlayerAuras(); if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) { @@ -194,160 +227,47 @@ struct boss_kalecgos : public BossAI } } - void JustDied(Unit* killer) override - { - BossAI::JustDied(killer); - } - void JustEngagedWith(Unit* who) override { BossAI::JustEngagedWith(who); - events.ScheduleEvent(EVENT_ARCANE_BUFFET, 6000); - events.ScheduleEvent(EVENT_FROST_BREATH, 15000); - events.ScheduleEvent(EVENT_WILD_MAGIC, 10000); - events.ScheduleEvent(EVENT_TAIL_LASH, 25000); - events.ScheduleEvent(EVENT_SPECTRAL_BLAST, 20000); - events.ScheduleEvent(EVENT_CHECK_POS, 5000); - events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000); - events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000); - events.ScheduleEvent(EVENT_SPAWN_SPECTRALS, 16000); + + ScheduleTimedEvent(6s, [&] { + DoCastAOE(SPELL_ARCANE_BUFFET); + }, 8s); + + ScheduleTimedEvent(15s, [&] { + DoCastVictim(SPELL_FROST_BREATH); + }, 15s); + + ScheduleTimedEvent(10s, [&] { + me->CastCustomSpell(RAND(44978, 45001, 45002, 45004, 45006, 45010), SPELLVALUE_MAX_TARGETS, 1, me, false); + }, 20s); + + ScheduleTimedEvent(25s, [&] { + DoCastVictim(SPELL_TAIL_LASH); + }, 15s); + + ScheduleTimedEvent(20s, [&] { + DoCastAOE(SPELL_SPECTRAL_BLAST); + }, 15s, 25s); + + me->m_Events.AddEventAtOffset([&] { + me->SummonCreature(NPC_KALEC, 1702.21f, 931.7f, -74.56f, 5.07f, TEMPSUMMON_MANUAL_DESPAWN); + me->SummonCreature(NPC_SATHROVARR, 1704.62f, 927.78f, -73.9f, 2.0f, TEMPSUMMON_MANUAL_DESPAWN); + }, 16s); me->SetStandState(UNIT_STAND_STATE_STAND); Talk(SAY_EVIL_AGGRO); } - void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override - { - if (damage >= me->GetHealth() && attacker != me) - damage = 0; - } - void KilledUnit(Unit* victim) override { if (victim->IsPlayer() && roll_chance_i(50)) Talk(SAY_EVIL_SLAY); } - void UpdateAI(uint32 diff) override - { - events2.Update(diff); - switch (events2.ExecuteEvent()) - { - case EVENT_TALK_GOOD_1: - me->SetRegeneratingHealth(false); - me->RemoveAllAuras(); - me->SetReactState(REACT_PASSIVE); - me->CombatStop(); - me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->SetFaction(FACTION_FRIENDLY); - events2.ScheduleEvent(EVENT_TALK_GOOD_2, 1000); - break; - case EVENT_TALK_GOOD_2: - if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) - { - summons.Despawn(Sath); - Unit::Kill(me, Sath); - } - events2.ScheduleEvent(EVENT_TALK_GOOD_3, 8000); - break; - case EVENT_TALK_GOOD_3: - Talk(SAY_GOOD_PLRWIN); - events2.ScheduleEvent(EVENT_TALK_GOOD_4, 10000); - break; - case EVENT_TALK_GOOD_4: - me->SetDisableGravity(true); - me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); - events2.ScheduleEvent(EVENT_TALK_GOOD_5, 10000); - break; - case EVENT_TALK_GOOD_5: - me->SetVisible(false); - me->KillSelf(); - break; - case EVENT_TALK_BAD_1: - me->SetReactState(REACT_PASSIVE); - me->CombatStop(); - me->RemoveAllAuras(); - me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - Talk(SAY_EVIL_ENRAGE); - events2.ScheduleEvent(EVENT_TALK_BAD_2, 3000); - break; - case EVENT_TALK_BAD_2: - me->SetDisableGravity(true); - me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); - events2.ScheduleEvent(EVENT_TALK_BAD_3, 15000); - break; - case EVENT_TALK_BAD_3: - me->SetVisible(false); - EnterEvadeMode(); - break; - } - - if (!events2.Empty()) - return; - - if (!UpdateVictim()) - return; - - events.Update(diff); - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - switch (events.ExecuteEvent()) - { - case EVENT_SPAWN_SPECTRALS: - me->SummonCreature(NPC_KALEC, 1702.21f, 931.7f, -74.56f, 5.07f, TEMPSUMMON_MANUAL_DESPAWN); - me->SummonCreature(NPC_SATHROVARR, 1704.62f, 927.78f, -73.9f, 2.0f, TEMPSUMMON_MANUAL_DESPAWN); - break; - case EVENT_ARCANE_BUFFET: - me->CastSpell(me, SPELL_ARCANE_BUFFET, false); - events.ScheduleEvent(EVENT_ARCANE_BUFFET, 8000); - break; - case EVENT_FROST_BREATH: - me->CastSpell(me->GetVictim(), SPELL_FROST_BREATH, false); - events.ScheduleEvent(EVENT_FROST_BREATH, 15000); - break; - case EVENT_TAIL_LASH: - me->CastSpell(me->GetVictim(), SPELL_TAIL_LASH, false); - events.ScheduleEvent(EVENT_TAIL_LASH, 15000); - break; - case EVENT_WILD_MAGIC: - me->CastCustomSpell(RAND(44978, 45001, 45002, 45004, 45006, 45010), SPELLVALUE_MAX_TARGETS, 1, me, false); - events.ScheduleEvent(EVENT_WILD_MAGIC, 20000); - break; - case EVENT_SPECTRAL_BLAST: - me->CastSpell(me, SPELL_SPECTRAL_BLAST, false); - events.ScheduleEvent(EVENT_SPECTRAL_BLAST, urand(15000, 25000)); - break; - case EVENT_CHECK_POS: - if (me->GetDistance(me->GetHomePosition()) > 50.0f) - { - EnterEvadeMode(); - return; - } - events.ScheduleEvent(EVENT_CHECK_POS, 5000); - break; - case EVENT_CHECK_HEALTH: - if (me->HealthBelowPct(10)) - { - if (Creature* Sath = instance->GetCreature(DATA_SATHROVARR)) - Sath->AI()->DoAction(ACTION_ENRAGE_OTHER); - DoAction(ACTION_ENRAGE); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000); - break; - case EVENT_CHECK_HEALTH2: - if (me->HealthBelowPct(1)) - { - DoAction(ACTION_BANISH); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000); - break; - } - - DoMeleeAttackIfReady(); - } + private: + bool _sathBanished; }; enum Kalec @@ -362,41 +282,66 @@ enum Kalec struct boss_kalec : public ScriptedAI { - boss_kalec(Creature* creature) : ScriptedAI(creature) { } - - EventMap events; - EventMap events2; + boss_kalec(Creature* creature) : ScriptedAI(creature) + { + SetInvincibility(true); + } void Reset() override { - events.Reset(); - events2.Reset(); if (me->GetPositionY() < 750.0f) { me->SetSpeed(MOVE_RUN, 2.4f); me->SetDisplayId(MODEL_KALECGOS_DRAGON); me->SetDisableGravity(true); me->GetMotionMaster()->MovePoint(0, 1483.30f, 657.99f, 28.0f, false, true); - events2.ScheduleEvent(EVENT_KALEC_SCENE_1, 9000); - events2.ScheduleEvent(EVENT_KALEC_SCENE_2, 16000); - events2.ScheduleEvent(EVENT_KALEC_SCENE_3, 22000); + + me->m_Events.AddEventAtOffset([&] { + Talk(SAY_GOOD_MADRIGOSA); + me->GetMotionMaster()->MovePoint(0, 1509.0f, 560.0f, 30.0f, false, true); + }, 9s); + + me->m_Events.AddEventAtOffset([&] { + DoCastAOE(SPELL_OPEN_BRUTALLUS_BACK_DOOR, true); + me->GetInstanceScript()->SetBossState(DATA_FELMYST_DOORS, NOT_STARTED); + me->GetInstanceScript()->SetBossState(DATA_FELMYST_DOORS, DONE); + }, 16s); + + me->m_Events.AddEventAtOffset([&] { + me->GetMotionMaster()->MovePoint(0, 1400.0f, 630.0f, 90.0f, false, true); + me->DespawnOrUnsummon(6000); + }, 22s); } else - me->CastSpell(me, SPELL_SPECTRAL_INVISIBILITY, true); - } - - void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override - { - if (!who || who->GetEntry() != NPC_SATHROVARR) - damage = 0; + DoCastSelf(SPELL_SPECTRAL_INVISIBILITY, true); } void JustEngagedWith(Unit*) override { - events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000); - events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000); - events.ScheduleEvent(EVENT_SPELL_REVITALIZE, 5000); - events.ScheduleEvent(EVENT_SPELL_HEROIC_STRIKE, 3000); + ScheduleTimedEvent(5s, [&] { + DoCastSelf(SPELL_REVITALIZE); + }, 10s); + + ScheduleTimedEvent(3s, [&] { + DoCastVictim(SPELL_HEROIC_STRIKE); + }, 5s); + + scheduler.Schedule(1s, [this](TaskContext context) + { + if (me->HealthBelowPct(50)) + Talk(SAY_GOOD_NEAR_DEATH); + else + context.Repeat(); + }); + + scheduler.Schedule(1s, [this](TaskContext context) + { + if (me->HealthBelowPct(10)) + Talk(SAY_GOOD_NEAR_DEATH2); + else + context.Repeat(); + }); + Talk(SAY_GOOD_AGGRO); } @@ -409,60 +354,11 @@ struct boss_kalec : public ScriptedAI void UpdateAI(uint32 diff) override { - events2.Update(diff); - switch (events2.ExecuteEvent()) - { - case EVENT_KALEC_SCENE_1: - Talk(SAY_GOOD_MADRIGOSA); - me->GetMotionMaster()->MovePoint(0, 1509.0f, 560.0f, 30.0f, false, true); - break; - case EVENT_KALEC_SCENE_2: - me->CastSpell(me, SPELL_OPEN_BRUTALLUS_BACK_DOOR, true); - me->GetInstanceScript()->SetBossState(DATA_FELMYST_DOORS, NOT_STARTED); - me->GetInstanceScript()->SetBossState(DATA_FELMYST_DOORS, DONE); - break; - case EVENT_KALEC_SCENE_3: - me->GetMotionMaster()->MovePoint(0, 1400.0f, 630.0f, 90.0f, false, true); - me->DespawnOrUnsummon(6000); - break; - } - if (!UpdateVictim()) return; - events.Update(diff); - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - switch (events.ExecuteEvent()) - { - case EVENT_CHECK_HEALTH: - if (me->HealthBelowPct(50)) - { - Talk(SAY_GOOD_NEAR_DEATH); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000); - break; - case EVENT_CHECK_HEALTH2: - if (me->HealthBelowPct(10)) - { - Talk(SAY_GOOD_NEAR_DEATH2); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000); - break; - case EVENT_SPELL_REVITALIZE: - me->CastSpell(me, SPELL_REVITALIZE, false); - events.ScheduleEvent(EVENT_SPELL_REVITALIZE, 10000); - break; - case EVENT_SPELL_HEROIC_STRIKE: - me->CastSpell(me->GetVictim(), SPELL_HEROIC_STRIKE, false); - events.ScheduleEvent(EVENT_SPELL_HEROIC_STRIKE, 5000); - break; - } - - DoMeleeAttackIfReady(); + scheduler.Update(diff, + std::bind(&BossAI::DoMeleeAttackIfReady, this)); } }; @@ -470,12 +366,10 @@ struct boss_sathrovarr : public ScriptedAI { boss_sathrovarr(Creature* creature) : ScriptedAI(creature) { - instance = creature->GetInstanceScript(); + _instance = creature->GetInstanceScript(); + SetInvincibility(true); } - InstanceScript* instance; - EventMap events; - bool CanAIAttack(Unit const* target) const override { return target->GetPositionZ() < 50.0f; @@ -483,26 +377,53 @@ struct boss_sathrovarr : public ScriptedAI void Reset() override { - events.Reset(); - me->CastSpell(me, SPELL_DEMONIC_VISUAL, true); - me->CastSpell(me, SPELL_SPECTRAL_INVISIBILITY, true); - - events.ScheduleEvent(EVENT_SHADOW_BOLT, 7000); - events.ScheduleEvent(EVENT_AGONY_CURSE, 20000); - events.ScheduleEvent(EVENT_CORRUPTION_STRIKE, 13000); - events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000); - events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000); + DoCastSelf(SPELL_DEMONIC_VISUAL, true); + DoCastSelf(SPELL_SPECTRAL_INVISIBILITY, true); } void JustEngagedWith(Unit* /*who*/) override { Talk(SAY_SATH_AGGRO); - } - void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override - { - if (damage >= me->GetHealth() && who != me) - damage = 0; + ScheduleTimedEvent(7s, [&] { + if (roll_chance_i(20)) + Talk(SAY_SATH_SPELL1); + DoCastVictim(SPELL_SHADOW_BOLT); + }, 9s); + + ScheduleTimedEvent(20s, [&] { + me->CastCustomSpell(SPELL_CURSE_OF_BOUNDLESS_AGONY, SPELLVALUE_MAX_TARGETS, 1, me, false); + }, 30s); + + ScheduleTimedEvent(20s, [&] { + if (roll_chance_i(20)) + Talk(SAY_SATH_SPELL2); + DoCastVictim(SPELL_CORRUPTION_STRIKE); + }, 9s); + + scheduler.Schedule(1s, [this](TaskContext context) + { + if (me->HealthBelowPct(10)) + { + if (Creature* kalecgos = _instance->GetCreature(DATA_KALECGOS)) + kalecgos->AI()->DoAction(ACTION_ENRAGE_OTHER); + DoAction(ACTION_ENRAGE); + } + else + context.Repeat(); + }); + + scheduler.Schedule(1s, [this](TaskContext context) + { + if (me->HealthBelowPct(1)) + { + if (Creature* kalecgos = _instance->GetCreature(DATA_KALECGOS)) + kalecgos->AI()->DoAction(ACTION_SATH_BANISH); + DoAction(ACTION_BANISH); + } + else + context.Repeat(); + }); } void KilledUnit(Unit* target) override @@ -519,15 +440,9 @@ struct boss_sathrovarr : public ScriptedAI void DoAction(int32 param) override { if (param == ACTION_ENRAGE || param == ACTION_ENRAGE_OTHER) - { - me->CastSpell(me, SPELL_CRAZED_RAGE, true); - events.CancelEvent(EVENT_CHECK_HEALTH); - } + DoCastSelf(SPELL_CRAZED_RAGE, true); else if (param == ACTION_BANISH) - { - me->CastSpell(me, SPELL_BANISH, true); - events.Reset(); - } + DoCastSelf(SPELL_BANISH, true); } void UpdateAI(uint32 diff) override @@ -535,58 +450,12 @@ struct boss_sathrovarr : public ScriptedAI if (!UpdateVictim()) return; - events.Update(diff); - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - switch (events.ExecuteEvent()) - { - case EVENT_SHADOW_BOLT: - if (roll_chance_i(20)) - Talk(SAY_SATH_SPELL1); - me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false); - events.ScheduleEvent(EVENT_SHADOW_BOLT, 9000); - break; - case EVENT_AGONY_CURSE: - me->CastCustomSpell(SPELL_CURSE_OF_BOUNDLESS_AGONY, SPELLVALUE_MAX_TARGETS, 1, me, false); - events.ScheduleEvent(EVENT_AGONY_CURSE, 30000); - break; - case EVENT_CORRUPTION_STRIKE: - if (roll_chance_i(20)) - Talk(SAY_SATH_SPELL2); - me->CastSpell(me->GetVictim(), SPELL_CORRUPTION_STRIKE, false); - events.ScheduleEvent(EVENT_CORRUPTION_STRIKE, 9000); - break; - case EVENT_CHECK_HEALTH: - if (me->HealthBelowPct(10)) - { - if (InstanceScript* instanceScript = me->GetInstanceScript()) - { - if (Creature* kalecgos = ObjectAccessor::GetCreature(*me, instanceScript->GetGuidData( - NPC_KALECGOS))) - { - kalecgos->AI()->DoAction(ACTION_ENRAGE_OTHER); - } - } - DoAction(ACTION_ENRAGE); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000); - break; - case EVENT_CHECK_HEALTH2: - if (me->HealthBelowPct(1)) - { - if (Creature* kalecgos = instance->GetCreature(DATA_KALECGOS)) - kalecgos->AI()->DoAction(ACTION_SATH_BANISH); - DoAction(ACTION_BANISH); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000); - break; - } - - DoMeleeAttackIfReady(); + scheduler.Update(diff, + std::bind(&BossAI::DoMeleeAttackIfReady, this)); } + +private: + InstanceScript* _instance; }; class SpectralBlastCheck diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index 3bf22491d1ada5..cd2ab0e1a2e4f2 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -97,60 +97,14 @@ enum Misc PHASE_ARMAGEDDON = 4, PHASE_SACRIFICE = 5, - EVENT_GROUP_SPEACH = 1, ACTION_START_POST_EVENT = 1, - ACTION_NO_KILL_TALK = 2, - - // Text events - EVENT_TEXT_SPEACH11 = 1, - EVENT_TEXT_SPEACH21 = 2, - EVENT_TEXT_SPEACH22 = 3, - EVENT_TEXT_SPEACH23 = 4, - EVENT_TEXT_SPEACH31 = 5, - EVENT_TEXT_SPEACH32 = 6, - EVENT_TEXT_SPEACH33 = 7, - EVENT_TEXT_SPEACH41 = 8, - EVENT_TEXT_SPEACH42 = 9, - EVENT_TEXT_SPEACH43 = 10, - EVENT_TEXT_SPEACH44 = 11, - EVENT_TEXT_SPEACH45 = 12, - EVENT_TEXT_SPEACH46 = 13, - - // Controller events - EVENT_RANDOM_TALK = 40, - EVENT_CHECK_PLAYERS = 41, - - // Misc fight events - EVENT_REBIRTH = 50, - EVENT_INIT_FIGHT = 51, - EVENT_CHECK_HEALTH85 = 52, - EVENT_CHECK_HEALTH55 = 53, - EVENT_CHECK_HEALTH25 = 54, - EVENT_EMPOWER_ORBS1 = 55, - EVENT_EMPOWER_ORBS2 = 56, - EVENT_EMPOWER_ORBS3 = 57, - EVENT_RESTORE_MELEE = 58, - EVENT_KILL_SELF = 59, - EVENT_NO_KILL_TALK = 60, - - // Abilities events - EVENT_SPELL_SOUL_FLAY = 100, - EVENT_SPELL_LEGION_LIGHTNING = 101, - EVENT_SPELL_FIRE_BLOOM = 102, - EVENT_SUMMON_ORBS = 103, - EVENT_SPELL_SHADOW_SPIKE = 104, - EVENT_SPELL_SINISTER_REFLECTION = 105, - EVENT_SPELL_FLAME_DART = 106, - EVENT_SPELL_DARKNESS = 107, - EVENT_SPELL_ARMAGEDDON = 108, + ACTION_NO_KILL_TALK = 2 }; class CastArmageddon : public BasicEvent { public: - CastArmageddon(Creature* caster) : _caster(caster) - { - } + CastArmageddon(Creature* caster) : _caster(caster) { } bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override { @@ -168,12 +122,12 @@ struct npc_kiljaeden_controller : public NullCreatureAI npc_kiljaeden_controller(Creature* creature) : NullCreatureAI(creature), summons(me) { instance = creature->GetInstanceScript(); + scheduler.SetValidator([this] + { + return !me->HasUnitState(UNIT_STATE_CASTING); + }); } - EventMap events; - InstanceScript* instance; - SummonList summons; - void ResetOrbs() { for (uint8 i = DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1; i < DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4 + 1; ++i) @@ -184,7 +138,6 @@ struct npc_kiljaeden_controller : public NullCreatureAI void Reset() override { instance->SetBossState(DATA_KILJAEDEN, NOT_STARTED); - events.Reset(); summons.DespawnAll(); ResetOrbs(); @@ -193,9 +146,15 @@ struct npc_kiljaeden_controller : public NullCreatureAI me->SummonCreature(NPC_HAND_OF_THE_DECEIVER, 1688.38f, 641.10f, 27.50f, 5.43f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000); me->SummonCreature(NPC_ANVEENA, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 40.0f, 0.0f); - me->CastSpell(me, SPELL_DESTROY_ALL_DRAKES, true); - me->CastSpell(me, SPELL_ANVEENA_ENERGY_DRAIN, true); - events.ScheduleEvent(EVENT_RANDOM_TALK, 60000); + DoCastAOE(SPELL_DESTROY_ALL_DRAKES, true); + DoCastSelf(SPELL_ANVEENA_ENERGY_DRAIN, true); + + scheduler.Schedule(1min, [this](TaskContext context) { + if (instance->GetBossState(DATA_KILJAEDEN) == NOT_STARTED) + Talk(SAY_KJ_OFFCOMBAT); + + context.Repeat(90s, 3min); + }); } void JustDied(Unit*) override @@ -206,7 +165,7 @@ struct npc_kiljaeden_controller : public NullCreatureAI summons.DoAction(ACTION_START_POST_EVENT, kalCheck); summons.DespawnIf(kalCheck); - me->CastSpell(me, SPELL_DESTROY_ALL_DRAKES, true); + DoCastAOE(SPELL_DESTROY_ALL_DRAKES, true); summons.DespawnAll(); } @@ -226,7 +185,19 @@ struct npc_kiljaeden_controller : public NullCreatureAI if (summon->GetEntry() == NPC_HAND_OF_THE_DECEIVER) { instance->SetBossState(DATA_KILJAEDEN, IN_PROGRESS); - events.ScheduleEvent(EVENT_CHECK_PLAYERS, 1000); + + scheduler.Schedule(1s, [this](TaskContext context) { + auto const& playerList = me->GetMap()->GetPlayers(); + for (auto const& playerRef : playerList) + if (Player* player = playerRef.GetSource()) + if (!player->IsGameMaster() && me->GetDistance2d(player) < 60.0f && player->IsAlive()) + { + context.Repeat(); + return; + } + + CreatureAI::EnterEvadeMode(); + }); if (!summons.HasEntry(NPC_HAND_OF_THE_DECEIVER)) { @@ -239,61 +210,239 @@ struct npc_kiljaeden_controller : public NullCreatureAI void UpdateAI(uint32 diff) override { - events.Update(diff); - switch (events.ExecuteEvent()) - { - case EVENT_RANDOM_TALK: - if (instance->GetBossState(DATA_KILJAEDEN) == NOT_STARTED) - Talk(SAY_KJ_OFFCOMBAT); - events.ScheduleEvent(EVENT_RANDOM_TALK, urand(90000, 180000)); - break; - case EVENT_CHECK_PLAYERS: - { - Map::PlayerList const& players = me->GetMap()->GetPlayers(); - for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) - if (Player* player = itr->GetSource()) - if (!player->IsGameMaster() && me->GetDistance2d(player) < 60.0f && player->IsAlive()) - { - events.ScheduleEvent(EVENT_CHECK_PLAYERS, 1000); - return; - } - - CreatureAI::EnterEvadeMode(); - break; - } - } + scheduler.Update(diff); } + +private: + InstanceScript* instance; + SummonList summons; }; -struct boss_kiljaeden : public ScriptedAI +struct boss_kiljaeden : public BossAI { - boss_kiljaeden(Creature* creature) : ScriptedAI(creature) + boss_kiljaeden(Creature* creature) : BossAI(creature, DATA_KILJAEDEN) { - instance = creature->GetInstanceScript(); me->SetReactState(REACT_PASSIVE); } - InstanceScript* instance; - EventMap events; - EventMap events2; - uint8 phase; - void InitializeAI() override { ScriptedAI::InitializeAI(); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - - phase = PHASE_NORMAL; - events.Reset(); - events2.Reset(); - events2.ScheduleEvent(EVENT_INIT_FIGHT, 11000); - events2.ScheduleEvent(EVENT_REBIRTH, 0); me->SetVisible(false); + + me->m_Events.AddEventAtOffset([&] { + me->SetVisible(true); + DoCastSelf(SPELL_REBIRTH); + }, 1s); + + me->m_Events.AddEventAtOffset([&] { + me->SetReactState(REACT_AGGRESSIVE); + me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); + me->SetInCombatWithZone(); + }, 11s); } void Reset() override { - events.Reset(); + _phase = PHASE_NORMAL; + + ScheduleHealthCheckEvent(85, [&]{ + _phase = PHASE_DARKNESS; + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + kalec->AI()->Talk(SAY_KALECGOS_AWAKEN, 16s); + + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) + anveena->AI()->Talk(SAY_ANVEENA_IMPRISONED, 22s); + + Talk(SAY_KJ_PHASE3, 28s); + + scheduler.CancelAll(); + + ScheduleBasicAbilities(); + + me->m_Events.AddEventAtOffset([&] { + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + kalec->AI()->Talk(SAY_KALECGOS_READY1); + EmpowerOrb(false); + }, 35s); + + me->m_Events.AddEventAtOffset([&] { + Talk(SAY_KJ_REFLECTION); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + }, 1s); + + scheduler.Schedule(1s+200ms, [this](TaskContext) + { + DoCastSelf(SPELL_SHADOW_SPIKE); + }); + + ScheduleTimedEvent(3s, [&] { + DoCastSelf(SPELL_FLAME_DART); + }, 10s); + + ScheduleTimedEvent(16s, [&] { + Talk(EMOTE_KJ_DARKNESS); + DoCastAOE(SPELL_DARKNESS_OF_A_THOUSAND_SOULS); + }, 45s); + }); + + ScheduleHealthCheckEvent(55, [&] { + _phase = PHASE_ARMAGEDDON; + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + kalec->AI()->Talk(SAY_KALECGOS_LETGO, 16s); + + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) + anveena->AI()->Talk(SAY_ANVEENA_LOST, 22s); + + Talk(SAY_KJ_PHASE4, 28s); + + scheduler.CancelAll(); + + ScheduleBasicAbilities(); + + me->m_Events.AddEventAtOffset([&] { + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + kalec->AI()->Talk(SAY_KALECGOS_READY2); + EmpowerOrb(false); + }, 35s); + + me->m_Events.AddEventAtOffset([&] { + Talk(SAY_KJ_REFLECTION); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + }, 1s); + + scheduler.Schedule(1s + 200ms, [this](TaskContext) + { + DoCastSelf(SPELL_SHADOW_SPIKE); + }); + + ScheduleTimedEvent(15s, [&] { + Talk(EMOTE_KJ_DARKNESS); + DoCastAOE(SPELL_DARKNESS_OF_A_THOUSAND_SOULS); + }, 45s); + + ScheduleTimedEvent(10s, [&] { + DoCastSelf(SPELL_ARMAGEDDON_PERIODIC, true); + }, 40s); + }); + + ScheduleHealthCheckEvent(25, [&] { + _phase = PHASE_SACRIFICE; + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + { + kalec->AI()->Talk(SAY_KALECGOS_FOCUS, 8s); + kalec->AI()->Talk(SAY_KALECGOS_FATE, 20s + 200ms); + } + + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) + { + anveena->AI()->Talk(SAY_ANVEENA_KALEC, 18s); + anveena->AI()->Talk(SAY_ANVEENA_GOODBYE, 25s); + } + + scheduler.CancelAll(); + + me->m_Events.AddEventAtOffset([&] { + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) + { + anveena->RemoveAllAuras(); + anveena->DespawnOrUnsummon(3500); + } + }, 28s); + + me->m_Events.AddEventAtOffset([&] { + if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) + { + anveena->CastSpell(anveena, SPELL_SACRIFICE_OF_ANVEENA, true); + DoCastSelf(SPELL_CUSTOM_08_STATE, true); + me->SetUnitFlag(UNIT_FLAG_PACIFIED); + scheduler.DelayAll(7100ms); + + me->m_Events.AddEventAtOffset([&] { + me->RemoveAurasDueToSpell(SPELL_CUSTOM_08_STATE); + me->RemoveUnitFlag(UNIT_FLAG_PACIFIED); + + ScheduleBasicAbilities(); + + me->m_Events.AddEventAtOffset([&] { + Talk(SAY_KJ_REFLECTION); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); + }, 1s); + + ScheduleTimedEvent(15s, [&] { + Talk(EMOTE_KJ_DARKNESS); + DoCastAOE(SPELL_DARKNESS_OF_A_THOUSAND_SOULS); + }, 25s); + + ScheduleTimedEvent(1500ms, [&] { + DoCastSelf(SPELL_ARMAGEDDON_PERIODIC, true); + }, 20s); + }, 7s); + } + Talk(SAY_KJ_PHASE5); + }, 30s); + + me->m_Events.AddEventAtOffset([&] { + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + kalec->AI()->Talk(SAY_KALECGOS_READY_ALL); + EmpowerOrb(true); + }, 61s); + }); + } + + void ScheduleBasicAbilities() + { + ScheduleTimedEvent(1s, [&] { + DoCastVictim(SPELL_SOUL_FLAY); + }, 4s, 5s); + + ScheduleTimedEvent(7s, [&] { + DoCastRandomTarget(SPELL_LEGION_LIGHTNING, 0, 40.0f); + }, _phase == PHASE_SACRIFICE ? 15s : 30s); + + ScheduleTimedEvent(9s, [&] { + me->CastCustomSpell(SPELL_FIRE_BLOOM, SPELLVALUE_MAX_TARGETS, 5, me, TRIGGERED_NONE); + me->SetTarget(me->GetVictim()->GetGUID()); + }, _phase == PHASE_SACRIFICE ? 20s : 40s); + + if (_phase != PHASE_SACRIFICE) + { + ScheduleTimedEvent(10s, [&] { + for (uint8 i = 1; i < _phase; ++i) + { + float x = me->GetPositionX() + 18.0f * cos((i * 2.0f - 1.0f) * M_PI / 3.0f); + float y = me->GetPositionY() + 18.0f * std::sin((i * 2.0f - 1.0f) * M_PI / 3.0f); + if (Creature* orb = me->SummonCreature(NPC_SHIELD_ORB, x, y, 40.0f, 0, TEMPSUMMON_CORPSE_DESPAWN)) + { + Movement::PointsArray movementArray; + movementArray.push_back(G3D::Vector3(x, y, 40.0f)); + + // generate movement array + for (uint8 j = 1; j < 20; ++j) + { + x = me->GetPositionX() + 18.0f * cos(((i * 2.0f - 1.0f) * M_PI / 3.0f) + (j / 20.0f * 2 * M_PI)); + y = me->GetPositionY() + 18.0f * std::sin(((i * 2.0f - 1.0f) * M_PI / 3.0f) + (j / 20.0f * 2 * M_PI)); + movementArray.push_back(G3D::Vector3(x, y, 40.0f)); + } + + Movement::MoveSplineInit init(orb); + init.MovebyPath(movementArray); + init.SetCyclic(); + init.Launch(); + } + } + }, 40s); + } } void EnterEvadeMode(EvadeReason why) override @@ -310,8 +459,10 @@ struct boss_kiljaeden : public ScriptedAI ScriptedAI::AttackStart(who); } - void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override + void DamageTaken(Unit* unit, uint32& damage, DamageEffectType damageType, SpellSchoolMask schoolMask) override { + BossAI::DamageTaken(unit, damage, damageType, schoolMask); + if (damage >= me->GetHealth()) { me->SetTarget(); @@ -323,9 +474,10 @@ struct boss_kiljaeden : public ScriptedAI me->HandleEmoteCommand(EMOTE_ONESHOT_DROWN); me->resetAttackTimer(); events.Reset(); - events2.Reset(); - events2.ScheduleEvent(EVENT_KILL_SELF, 500); damage = 0; + me->m_Events.AddEventAtOffset([&] { + me->KillSelf(); + }, 1s); } } @@ -334,37 +486,28 @@ struct boss_kiljaeden : public ScriptedAI Talk(SAY_KJ_DEATH); instance->SetBossState(DATA_KILJAEDEN, DONE); if (Creature* controller = instance->GetCreature(DATA_KJ_CONTROLLER)) - Unit::Kill(controller, controller); + controller->KillSelf(); } void DoAction(int32 param) override { if (param == ACTION_NO_KILL_TALK) - { - events.ScheduleEvent(EVENT_NO_KILL_TALK, 0); Talk(SAY_KJ_DARKNESS); - } } void KilledUnit(Unit* victim) override { - if (victim->IsPlayer() && events.GetNextEventTime(EVENT_NO_KILL_TALK) == 0) + if (victim->IsPlayer()) Talk(SAY_KJ_SLAY); } void JustEngagedWith(Unit* /*who*/) override { - events2.ScheduleEvent(EVENT_TEXT_SPEACH11, 26000, EVENT_GROUP_SPEACH); - Talk(SAY_KJ_EMERGE); + if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) + kalec->AI()->Talk(SAY_KALECGOS_JOIN, 26s); - events.SetTimer(200000); - events.ScheduleEvent(EVENT_CHECK_HEALTH85, 1000); - events.ScheduleEvent(EVENT_CHECK_HEALTH55, 1000); - events.ScheduleEvent(EVENT_CHECK_HEALTH25, 1000); - events.ScheduleEvent(EVENT_SPELL_SOUL_FLAY, 0); - events.ScheduleEvent(EVENT_SPELL_LEGION_LIGHTNING, 7000); - events.ScheduleEvent(EVENT_SPELL_FIRE_BLOOM, 9000); - events.ScheduleEvent(EVENT_SUMMON_ORBS, 10000); + Talk(SAY_KJ_EMERGE); + ScheduleBasicAbilities(); } void JustSummoned(Creature* summon) override @@ -382,247 +525,14 @@ struct boss_kiljaeden : public ScriptedAI void UpdateAI(uint32 diff) override { - events2.Update(diff); - switch (events2.ExecuteEvent()) - { - case EVENT_KILL_SELF: - me->KillSelf(); - break; - case EVENT_REBIRTH: - me->SetVisible(true); - me->CastSpell(me, SPELL_REBIRTH, false); - break; - case EVENT_EMPOWER_ORBS1: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_READY1); - EmpowerOrb(false); - break; - case EVENT_EMPOWER_ORBS2: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_READY2); - EmpowerOrb(false); - break; - case EVENT_EMPOWER_ORBS3: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_READY_ALL); - EmpowerOrb(true); - break; - case EVENT_INIT_FIGHT: - me->SetReactState(REACT_AGGRESSIVE); - me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - me->SetInCombatWithZone(); - return; - case EVENT_TEXT_SPEACH11: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_JOIN); - break; - case EVENT_TEXT_SPEACH21: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_AWAKEN); - break; - case EVENT_TEXT_SPEACH22: - if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) - sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_IMPRISONED, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); - break; - case EVENT_TEXT_SPEACH23: - Talk(SAY_KJ_PHASE3); - break; - case EVENT_TEXT_SPEACH31: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_LETGO); - break; - case EVENT_TEXT_SPEACH32: - if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) - sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_LOST, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); - break; - case EVENT_TEXT_SPEACH33: - Talk(SAY_KJ_PHASE4); - break; - case EVENT_TEXT_SPEACH41: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_FOCUS); - break; - case EVENT_TEXT_SPEACH42: - if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) - sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_KALEC, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); - break; - case EVENT_TEXT_SPEACH43: - if (Creature* kalec = instance->GetCreature(DATA_KALECGOS_KJ)) - kalec->AI()->Talk(SAY_KALECGOS_FATE); - break; - case EVENT_TEXT_SPEACH44: - if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) - sCreatureTextMgr->SendChat(anveena, SAY_ANVEENA_GOODBYE, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE); - break; - case EVENT_TEXT_SPEACH45: - if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) - { - anveena->RemoveAllAuras(); - anveena->DespawnOrUnsummon(3500); - } - break; - case EVENT_TEXT_SPEACH46: - if (Creature* anveena = instance->GetCreature(DATA_ANVEENA)) - { - anveena->CastSpell(anveena, SPELL_SACRIFICE_OF_ANVEENA, true); - me->CastSpell(me, SPELL_CUSTOM_08_STATE, true); - me->SetUnitFlag(UNIT_FLAG_PACIFIED); - events.DelayEvents(7001); - events2.ScheduleEvent(EVENT_RESTORE_MELEE, 7000); - } - Talk(SAY_KJ_PHASE5); - break; - case EVENT_RESTORE_MELEE: - me->RemoveAurasDueToSpell(SPELL_CUSTOM_08_STATE); - me->RemoveUnitFlag(UNIT_FLAG_PACIFIED); - break; - } - if (me->GetReactState() != REACT_AGGRESSIVE) return; if (!UpdateVictim()) return; - events.Update(diff); - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - switch (events.ExecuteEvent()) - { - case EVENT_CHECK_HEALTH85: - if (me->HealthBelowPct(85)) - { - phase = PHASE_DARKNESS; - events2.CancelEvent(EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH21, 16000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH22, 22000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH23, 28000, EVENT_GROUP_SPEACH); - events2.RescheduleEvent(EVENT_EMPOWER_ORBS1, 35000); - - events.DelayEvents(2000); - events.ScheduleEvent(EVENT_SPELL_SINISTER_REFLECTION, 500); - events.ScheduleEvent(EVENT_SPELL_SHADOW_SPIKE, 1200); - events.ScheduleEvent(EVENT_SPELL_FLAME_DART, 3000); - events.RescheduleEvent(EVENT_SPELL_DARKNESS, 16000); // will be delayed by 29 secs - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH85, 0); - break; - - case EVENT_CHECK_HEALTH55: - if (me->HealthBelowPct(55)) - { - phase = PHASE_ARMAGEDDON; - events2.CancelEventGroup(EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH31, 16000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH32, 22000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH33, 28000, EVENT_GROUP_SPEACH); - events2.RescheduleEvent(EVENT_EMPOWER_ORBS2, 35000); - - events.DelayEvents(2000); - events.ScheduleEvent(EVENT_SPELL_SINISTER_REFLECTION, 500); - events.ScheduleEvent(EVENT_SPELL_SHADOW_SPIKE, 1200); - events.RescheduleEvent(EVENT_SPELL_DARKNESS, 15000); // will be delayed by 29 secs - events.ScheduleEvent(EVENT_SPELL_ARMAGEDDON, 10000); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH55, 0); - break; - - case EVENT_CHECK_HEALTH25: - if (me->HealthBelowPct(25)) - { - phase = PHASE_SACRIFICE; - events2.CancelEventGroup(EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH41, 8000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH42, 18000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH43, 20200, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH44, 25000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH45, 28000, EVENT_GROUP_SPEACH); - events2.ScheduleEvent(EVENT_TEXT_SPEACH46, 30000, EVENT_GROUP_SPEACH); - events2.RescheduleEvent(EVENT_EMPOWER_ORBS3, 61000); - - events.CancelEvent(EVENT_SUMMON_ORBS); - events.DelayEvents(4000); - events.ScheduleEvent(EVENT_SPELL_SINISTER_REFLECTION, 500); - events.ScheduleEvent(EVENT_SPELL_SHADOW_SPIKE, 1200); - events.RescheduleEvent(EVENT_SPELL_DARKNESS, 15000); // will be delayed by 29 secs - events.ScheduleEvent(EVENT_SPELL_ARMAGEDDON, 1500); - break; - } - events.ScheduleEvent(EVENT_CHECK_HEALTH25, 0); - break; - case EVENT_SPELL_SOUL_FLAY: - me->CastSpell(me->GetVictim(), SPELL_SOUL_FLAY, false); - events.ScheduleEvent(EVENT_SPELL_SOUL_FLAY, urand(4000, 5000)); - break; - case EVENT_SPELL_LEGION_LIGHTNING: - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true)) - me->CastSpell(target, SPELL_LEGION_LIGHTNING, false); - events.ScheduleEvent(EVENT_SPELL_LEGION_LIGHTNING, phase == PHASE_SACRIFICE ? 15000 : 30000); - events.RescheduleEvent(EVENT_SPELL_SOUL_FLAY, 2000); - break; - case EVENT_SPELL_FIRE_BLOOM: - me->CastCustomSpell(SPELL_FIRE_BLOOM, SPELLVALUE_MAX_TARGETS, 5, me, TRIGGERED_NONE); - me->SetTarget(me->GetVictim()->GetGUID()); - events.ScheduleEvent(EVENT_SPELL_FIRE_BLOOM, phase == PHASE_SACRIFICE ? 20000 : 40000); - events.RescheduleEvent(EVENT_SPELL_SOUL_FLAY, 1500); - break; - case EVENT_SUMMON_ORBS: - for (uint8 i = 1; i < phase; ++i) - { - float x = me->GetPositionX() + 18.0f * cos((i * 2.0f - 1.0f) * M_PI / 3.0f); - float y = me->GetPositionY() + 18.0f * std::sin((i * 2.0f - 1.0f) * M_PI / 3.0f); - if (Creature* orb = me->SummonCreature(NPC_SHIELD_ORB, x, y, 40.0f, 0, TEMPSUMMON_CORPSE_DESPAWN)) - { - Movement::PointsArray movementArray; - movementArray.push_back(G3D::Vector3(x, y, 40.0f)); - - // generate movement array - for (uint8 j = 1; j < 20; ++j) - { - x = me->GetPositionX() + 18.0f * cos(((i * 2.0f - 1.0f) * M_PI / 3.0f) + (j / 20.0f * 2 * M_PI)); - y = me->GetPositionY() + 18.0f * std::sin(((i * 2.0f - 1.0f) * M_PI / 3.0f) + (j / 20.0f * 2 * M_PI)); - movementArray.push_back(G3D::Vector3(x, y, 40.0f)); - } - - Movement::MoveSplineInit init(orb); - init.MovebyPath(movementArray); - init.SetCyclic(); - init.Launch(); - } - } - events.ScheduleEvent(EVENT_SUMMON_ORBS, 40000); - break; - case EVENT_SPELL_SHADOW_SPIKE: - events.DelayEvents(27000); - me->CastSpell(me, SPELL_SHADOW_SPIKE, false); - break; - case EVENT_SPELL_SINISTER_REFLECTION: - Talk(SAY_KJ_REFLECTION); - me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); - me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); - me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); - me->CastCustomSpell(SPELL_SINISTER_REFLECTION, SPELLVALUE_MAX_TARGETS, 1, me, TRIGGERED_NONE); - break; - case EVENT_SPELL_FLAME_DART: - me->CastSpell(me, SPELL_FLAME_DART, false); - events.ScheduleEvent(EVENT_SPELL_FLAME_DART, 10000); - break; - case EVENT_SPELL_DARKNESS: - Talk(EMOTE_KJ_DARKNESS); - me->CastSpell(me, SPELL_DARKNESS_OF_A_THOUSAND_SOULS, false); - events.ScheduleEvent(EVENT_SPELL_DARKNESS, phase == PHASE_SACRIFICE ? 20000 : 45000); - events.DelayEvents(8000); - break; - case EVENT_SPELL_ARMAGEDDON: - me->CastSpell(me, SPELL_ARMAGEDDON_PERIODIC, true); - events.ScheduleEvent(EVENT_SPELL_ARMAGEDDON, phase == PHASE_SACRIFICE ? 20000 : 40000); - break; - } - - DoMeleeAttackIfReady(); + scheduler.Update(diff, + std::bind(&BossAI::DoMeleeAttackIfReady, this)); } void EmpowerOrb(bool empowerAll) @@ -647,6 +557,9 @@ struct boss_kiljaeden : public ScriptedAI } } } + + private: + uint8 _phase; }; enum postEvent @@ -712,9 +625,7 @@ enum postEvent class MoveDelayed : public BasicEvent { public: - MoveDelayed(Creature* owner, float x, float y, float z, float o) : _owner(owner), _x(x), _y(y), _z(z), _o(o) - { - } + MoveDelayed(Creature* owner, float x, float y, float z, float o) : _owner(owner), _x(x), _y(y), _z(z), _o(o) { } bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override { @@ -733,9 +644,7 @@ class MoveDelayed : public BasicEvent class FixOrientation : public BasicEvent { public: - FixOrientation(Creature* owner) : _owner(owner) - { - } + FixOrientation(Creature* owner) : _owner(owner) { } bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override { diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp index 8f2d41cc1e285b..2201e516064b11 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp @@ -46,7 +46,7 @@ ObjectData const creatureData[] = { NPC_KILJAEDEN_CONTROLLER, DATA_KJ_CONTROLLER }, { NPC_ANVEENA, DATA_ANVEENA }, { NPC_KALECGOS_KJ, DATA_KALECGOS_KJ }, - { 0, 0, } + { 0, 0 } }; ObjectData const gameObjectData[] = @@ -59,6 +59,20 @@ ObjectData const gameObjectData[] = { 0, 0 } }; +ObjectData const summonData[] = +{ + { NPC_DEMONIC_VAPOR_TRAIL, DATA_FELMYST }, + { NPC_UNYIELDING_DEAD, DATA_FELMYST }, + { NPC_DARKNESS, DATA_MURU }, + { NPC_VOID_SENTINEL, DATA_MURU }, + { NPC_VOID_SPAWN, DATA_MURU }, + { NPC_FELFIRE_PORTAL, DATA_KJ_CONTROLLER }, + { NPC_VOLATILE_FELFIRE_FIEND, DATA_KJ_CONTROLLER }, + { NPC_SHIELD_ORB, DATA_KJ_CONTROLLER }, + { NPC_SINISTER_REFLECTION, DATA_KJ_CONTROLLER }, + { 0, 0 } +}; + class instance_sunwell_plateau : public InstanceMapScript { public: @@ -72,6 +86,7 @@ class instance_sunwell_plateau : public InstanceMapScript SetBossNumber(MAX_ENCOUNTERS); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadSummonData(summonData); } void OnPlayerEnter(Player* player) override @@ -87,32 +102,6 @@ class instance_sunwell_plateau : public InstanceMapScript if (creature->GetSpawnId() > 0 || !creature->GetOwnerGUID().IsPlayer()) creature->CastSpell(creature, SPELL_SUNWELL_RADIANCE, true); - switch (creature->GetEntry()) - { - case NPC_DEMONIC_VAPOR_TRAIL: - case NPC_UNYIELDING_DEAD: - if (Creature* felmyst = GetCreature(DATA_FELMYST)) - felmyst->AI()->JustSummoned(creature); - break; - - case NPC_DARKNESS: - case NPC_VOID_SENTINEL: - case NPC_VOID_SPAWN: - if (Creature* muru = GetCreature(DATA_MURU)) - muru->AI()->JustSummoned(creature); - break; - - case NPC_FELFIRE_PORTAL: - case NPC_VOLATILE_FELFIRE_FIEND: - case NPC_SHIELD_ORB: - case NPC_SINISTER_REFLECTION: - if (Creature* kiljaedenC = GetCreature(DATA_KJ_CONTROLLER)) - kiljaedenC->AI()->JustSummoned(creature); - break; - default: - break; - } - InstanceScript::OnCreatureCreate(creature); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index ca2ad77b08777a..5aede98a5ae845 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -22,16 +22,10 @@ #include "Player.h" #include "SpellScriptLoader.h" #include "zulaman.h" -/* ScriptData -SDName: Boss_Hex_Lord_Malacrass -SD%Complete: -SDComment: -SDCategory: Zul'Aman -EndScriptData */ enum Says { - SAY_AGGRO = 0, + SAY_AGGRO, SAY_KILL_ONE, SAY_KILL_TWO, SAY_DRAIN_POWER, @@ -117,23 +111,23 @@ enum Spells // Death Knight SPELL_DK_PLAGUE_STRIKE = 57599, SPELL_DK_DEATH_AND_DECAY = 43265, - SPELL_DK_BLOOD_WORMS = 97630, + SPELL_DK_BLOOD_WORMS = 97630 }; -const Position addPosition[4] = +const Position AddPosition[4] = { - {112.8827f, 921.2795f, 33.8883f, 1.5696f}, - {107.8827f, 921.2795f, 33.8883f, 1.5696f}, - {122.8827f, 921.2795f, 33.8883f, 1.5696f}, - {127.8827f, 921.2795f, 33.8883f, 1.5696f} + { 128.48448f, 923.04285f, 33.97255f, 1.588249564170837402f }, + { 122.60526f, 923.24536f, 33.97256f, 1.570796370506286621f }, + { 111.69282f, 923.15314f, 33.972576f, 1.570796370506286621f }, + { 105.40299f, 923.3421f, 33.972588f, 1.553343057632446289f } }; -static uint32 addEntrySets[4][2] = +static uint32 AddEntrySets[4][2] = { - {NPC_THURG, NPC_ALYSON_ANTILLE }, - {NPC_LORD_RADAAN, NPC_SLITHER }, - {NPC_GAZAKROTH, NPC_FENSTALKER }, - {NPC_DARKHEART, NPC_KORAGG } + { NPC_THURG, NPC_ALYSON_ANTILLE }, + { NPC_LORD_RADAAN, NPC_SLITHER }, + { NPC_GAZAKROTH, NPC_FENSTALKER }, + { NPC_DARKHEART, NPC_KORAGG } }; enum Misc @@ -145,11 +139,11 @@ enum Misc enum AbilityTarget { - ABILITY_TARGET_SELF = 0, - ABILITY_TARGET_VICTIM = 1, - ABILITY_TARGET_ENEMY = 2, - ABILITY_TARGET_HEAL = 3, - ABILITY_TARGET_BUFF = 4, + ABILITY_TARGET_SELF = 0, + ABILITY_TARGET_VICTIM = 1, + ABILITY_TARGET_ENEMY = 2, + ABILITY_TARGET_HEAL = 3, + ABILITY_TARGET_BUFF = 4, ABILITY_TARGET_SPECIAL = 5 }; @@ -163,66 +157,66 @@ struct PlayerAbilityStruct static PlayerAbilityStruct PlayerAbility[12][3] = { // 1 warrior - { {SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6000ms} + { { SPELL_WR_SPELL_REFLECT, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_WR_WHIRLWIND, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_WR_MORTAL_STRIKE, ABILITY_TARGET_VICTIM, 6000ms } }, // 2 paladin - { {SPELL_PA_CONSECRATION, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_PA_HOLY_LIGHT, ABILITY_TARGET_HEAL, 10000ms}, - {SPELL_PA_AVENGING_WRATH, ABILITY_TARGET_SELF, 10000ms} + { { SPELL_PA_CONSECRATION, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_PA_HOLY_LIGHT, ABILITY_TARGET_HEAL, 10000ms }, + { SPELL_PA_AVENGING_WRATH, ABILITY_TARGET_SELF, 10000ms } }, // 3 hunter - { {SPELL_HU_EXPLOSIVE_TRAP, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_HU_FREEZING_TRAP, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_HU_SNAKE_TRAP, ABILITY_TARGET_SELF, 10000ms} + { { SPELL_HU_EXPLOSIVE_TRAP, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_HU_FREEZING_TRAP, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_HU_SNAKE_TRAP, ABILITY_TARGET_SELF, 10000ms } }, // 4 rogue - { {SPELL_RO_WOUND_POISON, ABILITY_TARGET_VICTIM, 3000ms}, - {SPELL_RO_SLICE_DICE, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_RO_BLIND, ABILITY_TARGET_ENEMY, 10000ms} + { { SPELL_RO_WOUND_POISON, ABILITY_TARGET_VICTIM, 3000ms }, + { SPELL_RO_SLICE_DICE, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_RO_BLIND, ABILITY_TARGET_ENEMY, 10000ms } }, // 5 priest - { {SPELL_PR_PAIN_SUPP, ABILITY_TARGET_HEAL, 10000ms}, - {SPELL_PR_HEAL, ABILITY_TARGET_HEAL, 10000ms}, - {SPELL_PR_PSYCHIC_SCREAM, ABILITY_TARGET_SELF, 10000ms} + { { SPELL_PR_PAIN_SUPP, ABILITY_TARGET_HEAL, 10000ms }, + { SPELL_PR_HEAL, ABILITY_TARGET_HEAL, 10000ms }, + { SPELL_PR_PSYCHIC_SCREAM, ABILITY_TARGET_SELF, 10000ms } }, // 6 death knight { - {SPELL_DK_PLAGUE_STRIKE, ABILITY_TARGET_ENEMY, 2000ms}, - {SPELL_DK_DEATH_AND_DECAY, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_DK_BLOOD_WORMS, ABILITY_TARGET_ENEMY, 5000ms} + { SPELL_DK_PLAGUE_STRIKE, ABILITY_TARGET_ENEMY, 2000ms }, + { SPELL_DK_DEATH_AND_DECAY, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_DK_BLOOD_WORMS, ABILITY_TARGET_ENEMY, 5000ms } }, // 7 shaman - { {SPELL_SH_FIRE_NOVA, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_SH_HEALING_WAVE, ABILITY_TARGET_HEAL, 10000ms}, - {SPELL_SH_CHAIN_LIGHT, ABILITY_TARGET_ENEMY, 8000ms} + { { SPELL_SH_FIRE_NOVA, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_SH_HEALING_WAVE, ABILITY_TARGET_HEAL, 10000ms }, + { SPELL_SH_CHAIN_LIGHT, ABILITY_TARGET_ENEMY, 8000ms } }, // 8 mage - { {SPELL_MG_FIREBALL, ABILITY_TARGET_ENEMY, 5000ms}, - {SPELL_MG_FROSTBOLT, ABILITY_TARGET_ENEMY, 5000ms}, - {SPELL_MG_ICE_LANCE, ABILITY_TARGET_SPECIAL, 2000ms} + { { SPELL_MG_FIREBALL, ABILITY_TARGET_ENEMY, 5000ms }, + { SPELL_MG_FROSTBOLT, ABILITY_TARGET_ENEMY, 5000ms }, + { SPELL_MG_ICE_LANCE, ABILITY_TARGET_SPECIAL, 2000ms } }, // 9 warlock - { {SPELL_WL_CURSE_OF_DOOM, ABILITY_TARGET_ENEMY, 10000ms}, - {SPELL_WL_RAIN_OF_FIRE, ABILITY_TARGET_ENEMY, 10000ms}, - {SPELL_WL_UNSTABLE_AFFL, ABILITY_TARGET_ENEMY, 10000ms} + { { SPELL_WL_CURSE_OF_DOOM, ABILITY_TARGET_ENEMY, 10000ms }, + { SPELL_WL_RAIN_OF_FIRE, ABILITY_TARGET_ENEMY, 10000ms }, + { SPELL_WL_UNSTABLE_AFFL, ABILITY_TARGET_ENEMY, 10000ms } }, // 10 UNK class (should never be set) { - {0, ABILITY_TARGET_SELF, 0ms}, - {0, ABILITY_TARGET_SELF, 0ms}, - {0, ABILITY_TARGET_SELF, 0ms} + { 0, ABILITY_TARGET_SELF, 0ms}, + { 0, ABILITY_TARGET_SELF, 0ms}, + { 0, ABILITY_TARGET_SELF, 0ms} }, // 11 druid - { {SPELL_DR_LIFEBLOOM, ABILITY_TARGET_HEAL, 10000ms}, - {SPELL_DR_THORNS, ABILITY_TARGET_SELF, 10000ms}, - {SPELL_DR_MOONFIRE, ABILITY_TARGET_ENEMY, 8000ms} + { { SPELL_DR_LIFEBLOOM, ABILITY_TARGET_HEAL, 10000ms }, + { SPELL_DR_THORNS, ABILITY_TARGET_SELF, 10000ms }, + { SPELL_DR_MOONFIRE, ABILITY_TARGET_ENEMY, 8000ms } }, // MISC shadow priest - { {SPELL_PR_MIND_CONTROL, ABILITY_TARGET_ENEMY, 15000ms}, - {SPELL_PR_MIND_BLAST, ABILITY_TARGET_ENEMY, 5000ms}, - {SPELL_PR_SW_DEATH, ABILITY_TARGET_ENEMY, 10000ms} + { { SPELL_PR_MIND_CONTROL, ABILITY_TARGET_ENEMY, 15000ms }, + { SPELL_PR_MIND_BLAST, ABILITY_TARGET_ENEMY, 5000ms }, + { SPELL_PR_SW_DEATH, ABILITY_TARGET_ENEMY, 10000ms } } }; @@ -243,7 +237,7 @@ struct boss_hexlord_malacrass : public BossAI for (uint8 i = 0; i < MAX_ADD_COUNT; ++i) { uint8 flip = urand(0, 1); - me->SummonCreature(addEntrySets[i][flip], addPosition[i], TEMPSUMMON_DEAD_DESPAWN, 0); + me->SummonCreature(AddEntrySets[i][flip], AddPosition[i], TEMPSUMMON_DEAD_DESPAWN, 0); } } @@ -274,21 +268,14 @@ struct boss_hexlord_malacrass : public BossAI siphonTrigger->AI()->DoCast(target, SPELL_SIPHON_SOUL, true); siphonTrigger->GetMotionMaster()->MoveChase(me); if (Player* player = target->ToPlayer()) - { - if (player->HasAura(AURA_SHADOW_FORM)) - _currentClass = ADDITIONAL_CLASS_SPRIEST; - else - _currentClass = player->getClass() - 1; - } + _currentClass = player->HasAura(AURA_SHADOW_FORM) ? ADDITIONAL_CLASS_SPRIEST : player->getClass() - 1; } } }); }, 40s); ScheduleTimedEvent(_classAbilityTimer, [&]{ if (_currentClass) - { UseAbility(); - } }, _classAbilityTimer); } diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp index ae7651914e9bf4..7a192f0c2c6708 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp @@ -65,7 +65,6 @@ enum Spells enum Creatures { NPC_AMANI_HATCHER = 23818, - NPC_HATCHLING = 23598, // 42493 NPC_EGG = 23817, NPC_FIRE_BOMB = 23920 }; @@ -153,6 +152,19 @@ struct boss_janalai : public BossAI BossAI::JustDied(killer); } + void JustSummoned(Creature* summon) override + { + if (summon->GetEntry() == NPC_AMANI_HATCHLING) + { + if (summon->GetPositionY() > 1150) + summon->GetMotionMaster()->MovePoint(0, hatcherway[0][3].GetPositionX() + rand() % 4 - 2, 1150.0f + rand() % 4 - 2, hatcherway[0][3].GetPositionY()); + else + summon->GetMotionMaster()->MovePoint(0, hatcherway[1][3].GetPositionX() + rand() % 4 - 2, 1150.0f + rand() % 4 - 2, hatcherway[1][3].GetPositionY()); + } + + BossAI::JustSummoned(summon); + } + void DamageDealt(Unit* target, uint32& damage, DamageEffectType /*damagetype*/) override { if (_isFlameBreathing) @@ -211,11 +223,7 @@ struct boss_janalai : public BossAI for (Creature* egg : eggList) egg->Respawn(); - std::list hatchlingList; - me->GetCreaturesWithEntryInRange(hatchlingList, 100.0f, NPC_HATCHLING); - for (Creature* hatchling : hatchlingList) - hatchling->DespawnOrUnsummon(); - hatchlingList.clear(); + summons.DespawnEntry(NPC_AMANI_HATCHLING); } else if (hatchAction == HATCH_ALL) DoCastSelf(SPELL_HATCH_EGG_ALL); @@ -390,43 +398,8 @@ struct npc_janalai_hatcher : public ScriptedAI bool _isHatching; }; -struct npc_janalai_hatchling : public ScriptedAI -{ - npc_janalai_hatchling(Creature* creature) : ScriptedAI(creature) { } - - void Reset() override - { - scheduler.CancelAll(); - if (me->GetPositionY() > 1150) - me->GetMotionMaster()->MovePoint(0, hatcherway[0][3].GetPositionX() + rand() % 4 - 2, 1150.0f + rand() % 4 - 2, hatcherway[0][3].GetPositionY()); - else - me->GetMotionMaster()->MovePoint(0, hatcherway[1][3].GetPositionX() + rand() % 4 - 2, 1150.0f + rand() % 4 - 2, hatcherway[1][3].GetPositionY()); - - me->SetInCombatWithZone(); - } - - void JustEngagedWith(Unit* who) override - { - ScriptedAI::JustEngagedWith(who); - ScheduleTimedEvent(7s, [&]{ - DoCastVictim(SPELL_FLAMEBUFFET); - }, 10s); - } - - void UpdateAI(uint32 diff) override - { - if (!UpdateVictim()) - return; - - scheduler.Update(diff); - - DoMeleeAttackIfReady(); - } -}; - void AddSC_boss_janalai() { RegisterZulAmanCreatureAI(boss_janalai); RegisterZulAmanCreatureAI(npc_janalai_hatcher); - RegisterZulAmanCreatureAI(npc_janalai_hatchling); } diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp index bc2bbbde75640d..e402fb189a71ce 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp @@ -58,6 +58,7 @@ DoorData const doorData[] = ObjectData const creatureData[] = { + { NPC_JANALAI, DATA_JANALAI }, { NPC_SPIRIT_LYNX, DATA_SPIRIT_LYNX }, { NPC_HARRISON_JONES, DATA_HARRISON_JONES }, { 0, 0 } @@ -71,6 +72,12 @@ ObjectData const gameObjectData[] = { 0, 0 } }; +ObjectData const summonData[] = +{ + { NPC_AMANI_HATCHLING, DATA_JANALAI }, + { 0, 0 } +}; + BossBoundaryData const boundaries = { { DATA_HEXLORD, new RectangleBoundary(80.50557f, 920.9858f, 155.88986f, 1015.27563f)} @@ -93,6 +100,7 @@ class instance_zulaman : public InstanceMapScript LoadObjectData(creatureData, gameObjectData); LoadBossBoundaries(boundaries); LoadDoorData(doorData); + LoadSummonData(summonData); for (uint8 i = 0; i < RAND_VENDOR; ++i) RandVendor[i] = NOT_STARTED; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 08371312a78055..a583d1f6c7eb35 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -501,7 +501,10 @@ struct npc_harrison_jones : public ScriptedAI } if (GameObject* gate = _instance->GetGameObject(DATA_MASSIVE_GATE)) + { + gate->AllowSaveToDB(true); gate->SetGoState(GO_STATE_ACTIVE); + } _gongTimer = 2000; _gongEvent = GONG_EVENT_8; break; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h index 4da0ed8cd42232..843198c065ca4a 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.h @@ -53,7 +53,8 @@ enum CreatureIds NPC_AMANISHI_WARBRINGER = 23580, NPC_AMANISHI_TRIBESMAN = 23582, NPC_AMANISHI_MEDICINE_MAN = 23581, - NPC_AMANISHI_AXE_THROWER = 23542 + NPC_AMANISHI_AXE_THROWER = 23542, + NPC_AMANI_HATCHLING = 23598 // 42493 }; enum GameobjectIds diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp index 417141581f8f42..1b8d13bbf755a3 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp @@ -20,12 +20,6 @@ #include "SpellScript.h" #include "SpellScriptLoader.h" #include "zulgurub.h" -/* ScriptData -SDName: Boss_Gahz'ranka -SD%Complete: 85 -SDComment: Massive Geyser with knockback not working. Spell buggy. -SDCategory: Zul'Gurub -EndScriptData */ enum Spells { @@ -36,89 +30,39 @@ enum Spells SPELL_SPLASH = 24593 }; -enum Events -{ - EVENT_FROSTBREATH = 1, - EVENT_MASSIVEGEYSER = 2, - EVENT_SLAM = 3 -}; - enum Misc { GAMEOBJECT_MUDSKUNK_LURE = 180346 }; -class boss_gahzranka : public CreatureScript +struct boss_gahzranka : public BossAI { -public: - boss_gahzranka() : CreatureScript("boss_gahzranka") { } + boss_gahzranka(Creature* creature) : BossAI(creature, DATA_GAHZRANKA) {} - struct boss_gahzrankaAI : public BossAI + void IsSummonedBy(WorldObject* /*summoner*/) override { - boss_gahzrankaAI(Creature* creature) : BossAI(creature, DATA_GAHZRANKA) { } - - void IsSummonedBy(WorldObject* /*summoner*/) override - { - me->GetMotionMaster()->MovePath(me->GetEntry() * 10, false); - } + me->GetMotionMaster()->MovePath(me->GetEntry() * 10, false); + } - void Reset() override - { - _Reset(); - } + void JustEngagedWith(Unit* /*who*/) override + { + _JustEngagedWith(); + me->AddAura(SPELL_THRASH, me); - void JustDied(Unit* /*killer*/) override + ScheduleTimedEvent(8s, [&] { - _JustDied(); - } + DoCastVictim(SPELL_FROSTBREATH); + }, 8s, 20s); - void JustEngagedWith(Unit* /*who*/) override + ScheduleTimedEvent(25s, [&] { - _JustEngagedWith(); - me->AddAura(SPELL_THRASH, me); - events.ScheduleEvent(EVENT_FROSTBREATH, 8s); - events.ScheduleEvent(EVENT_MASSIVEGEYSER, 25s); - events.ScheduleEvent(EVENT_SLAM, 15s); - } + DoCastVictim(SPELL_MASSIVEGEYSER); + }, 22s, 32s); - void UpdateAI(uint32 diff) override + ScheduleTimedEvent(15s, [&] { - if (!UpdateVictim()) - return; - - events.Update(diff); - - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - while (uint32 eventId = events.ExecuteEvent()) - { - switch (eventId) - { - case EVENT_FROSTBREATH: - DoCastVictim(SPELL_FROSTBREATH); - events.ScheduleEvent(EVENT_FROSTBREATH, 8s, 20s); - break; - case EVENT_MASSIVEGEYSER: - DoCastVictim(SPELL_MASSIVEGEYSER); - events.ScheduleEvent(EVENT_MASSIVEGEYSER, 22s, 32s); - break; - case EVENT_SLAM: - DoCastVictim(SPELL_SLAM, true); - events.ScheduleEvent(EVENT_SLAM, 12s, 20s); - break; - default: - break; - } - } - - DoMeleeAttackIfReady(); - } - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return GetZulGurubAI(creature); + DoCastVictim(SPELL_SLAM, true); + }, 12s, 20s); } }; @@ -129,23 +73,15 @@ class spell_gahzranka_slam : public SpellScript void FilterTargets(std::list& targets) { if (Unit* caster = GetCaster()) - { _wipeThreat = targets.size() < caster->GetThreatMgr().GetThreatListSize(); - } } void HandleWipeThreat(SpellEffIndex /*effIndex*/) { if (_wipeThreat) - { if (Unit* caster = GetCaster()) - { if (Unit* target = GetHitUnit()) - { caster->GetThreatMgr().ModifyThreatByPercent(target, -100); - } - } - } } void Register() override @@ -198,7 +134,7 @@ class spell_pagles_point_cast : public SpellScript void AddSC_boss_gahzranka() { - new boss_gahzranka(); + RegisterZulGurubCreatureAI(boss_gahzranka); RegisterSpellScript(spell_gahzranka_slam); RegisterSpellScript(spell_pagles_point_cast); } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp index 57edeb32ff9f78..f89542bba6f103 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp @@ -44,14 +44,6 @@ enum Spells SPELL_BERSERK = 26662 }; -enum Events -{ - EVENT_IMPALE = 1, - EVENT_LOCUST_SWARM = 2, - EVENT_BERSERK = 3, - EVENT_SPAWN_GUARD = 4 -}; - enum Misc { NPC_CORPSE_SCARAB = 16698, @@ -72,17 +64,11 @@ class boss_anubrekhan : public CreatureScript struct boss_anubrekhanAI : public BossAI { - explicit boss_anubrekhanAI(Creature* c) : BossAI(c, BOSS_ANUB), summons(me) + boss_anubrekhanAI(Creature* c) : BossAI(c, BOSS_ANUB) { - pInstance = c->GetInstanceScript(); sayGreet = false; } - InstanceScript* pInstance; - EventMap events; - SummonList summons; - bool sayGreet; - void SummonCryptGuards() { if (Is25ManRaid()) @@ -95,16 +81,8 @@ class boss_anubrekhan : public CreatureScript void Reset() override { BossAI::Reset(); - events.Reset(); - summons.DespawnAll(); SummonCryptGuards(); - if (pInstance) - { - if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_ANUB_GATE))) - { - go->SetGoState(GO_STATE_ACTIVE); - } - } + me->m_Events.KillAllEvents(false); } void JustSummoned(Creature* cr) override @@ -113,9 +91,7 @@ class boss_anubrekhan : public CreatureScript { cr->SetInCombatWithZone(); if (cr->GetEntry() == NPC_CRYPT_GUARD) - { cr->AI()->Talk(EMOTE_SPAWN, me); - } } summons.Summon(cr); } @@ -129,19 +105,10 @@ class boss_anubrekhan : public CreatureScript } } - void SummonedCreatureDespawn(Creature* cr) override - { - summons.Despawn(cr); - } - void JustDied(Unit* killer) override { BossAI::JustDied(killer); - summons.DespawnAll(); - if (pInstance) - { - pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT); - } + instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT); } void KilledUnit(Unit* victim) override @@ -151,10 +118,7 @@ class boss_anubrekhan : public CreatureScript Talk(SAY_SLAY); victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCRABS_5, true, nullptr, nullptr, me->GetGUID()); - if (pInstance) - { - pInstance->SetData(DATA_IMMORTAL_FAIL, 0); - } + instance->SetData(DATA_IMMORTAL_FAIL, 0); } void JustEngagedWith(Unit* who) override @@ -162,24 +126,36 @@ class boss_anubrekhan : public CreatureScript BossAI::JustEngagedWith(who); me->CallForHelp(30.0f); Talk(SAY_AGGRO); - if (pInstance) - { - if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_ANUB_GATE))) - { - go->SetGoState(GO_STATE_READY); - } - } - events.ScheduleEvent(EVENT_IMPALE, 15s); - events.ScheduleEvent(EVENT_LOCUST_SWARM, 70s, 120s); - events.ScheduleEvent(EVENT_BERSERK, 10min); + if (!summons.HasEntry(NPC_CRYPT_GUARD)) - { SummonCryptGuards(); - } if (!Is25ManRaid()) { - events.ScheduleEvent(EVENT_SPAWN_GUARD, 15s, 20s); + me->m_Events.AddEventAtOffset([&] + { + me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); + }, Milliseconds(urand(15000, 20000))); } + + ScheduleTimedEvent(15s, [&] { + DoCastRandomTarget(RAID_MODE(SPELL_IMPALE_10, SPELL_IMPALE_25)); + }, 20s); + + ScheduleTimedEvent(70s, 2min, [&] { + Talk(EMOTE_LOCUST); + DoCastSelf(RAID_MODE(SPELL_LOCUST_SWARM_10, SPELL_LOCUST_SWARM_25)); + + me->m_Events.AddEventAtOffset([&] + { + me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); + }, 3s); + + }, 90s); + + me->m_Events.AddEventAtOffset([&] + { + DoCastSelf(SPELL_BERSERK, true); + }, 10min); } void MoveInLineOfSight(Unit* who) override @@ -192,54 +168,8 @@ class boss_anubrekhan : public CreatureScript ScriptedAI::MoveInLineOfSight(who); } - void UpdateAI(uint32 diff) override - { - if (!me->IsInCombat() && sayGreet) - { - for (SummonList::iterator itr = summons.begin(); itr != summons.end(); ++itr) - { - if (pInstance) - { - if (Creature* cr = pInstance->instance->GetCreature(*itr)) - { - if (cr->IsInCombat()) - DoZoneInCombat(); - } - } - } - } - - if (!UpdateVictim()) - return; - - events.Update(diff); - if (me->HasUnitState(UNIT_STATE_CASTING)) - return; - - switch (events.ExecuteEvent()) - { - case EVENT_IMPALE: - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0)) - { - me->CastSpell(target, RAID_MODE(SPELL_IMPALE_10, SPELL_IMPALE_25), false); - } - events.Repeat(20s); - break; - case EVENT_LOCUST_SWARM: - Talk(EMOTE_LOCUST); - me->CastSpell(me, RAID_MODE(SPELL_LOCUST_SWARM_10, SPELL_LOCUST_SWARM_25), false); - events.ScheduleEvent(EVENT_SPAWN_GUARD, 3s); - events.Repeat(90s); - break; - case EVENT_SPAWN_GUARD: - me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000); - break; - case EVENT_BERSERK: - me->CastSpell(me, SPELL_BERSERK, true); - break; - } - DoMeleeAttackIfReady(); - } + private: + bool sayGreet; }; }; diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index 3709a766b145b5..9a959dfa72699b 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -52,6 +52,12 @@ inline uint8 GetEruptionSection(float x, float y) return 3; } +DoorData const doorData[] = +{ + { GO_ANUB_GATE, BOSS_ANUB, DOOR_TYPE_ROOM }, + { 0, 0, DOOR_TYPE_ROOM }, +}; + ObjectData const creatureData[] = { { NPC_RAZUVIOUS, DATA_RAZUVIOUS }, @@ -79,6 +85,7 @@ class instance_naxxramas : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTERS); + LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); for (auto& i : HeiganEruption) i.clear(); @@ -115,7 +122,6 @@ class instance_naxxramas : public InstanceMapScript ObjectGuid _heiganGateGUID; ObjectGuid _heiganGateExitGUID; ObjectGuid _loathebGateGUID; - ObjectGuid _anubGateGUID; ObjectGuid _anubNextGateGUID; ObjectGuid _faerlinaWebGUID; ObjectGuid _faerlinaGateGUID; @@ -328,13 +334,6 @@ class instance_naxxramas : public InstanceMapScript pGo->SetGoState(GO_STATE_ACTIVE); } break; - case GO_ANUB_GATE: - _anubGateGUID = pGo->GetGUID(); - if (GetBossState(BOSS_ANUB) == DONE) - { - pGo->SetGoState(GO_STATE_ACTIVE); - } - break; case GO_ANUB_NEXT_GATE: _anubNextGateGUID = pGo->GetGUID(); if (GetBossState(BOSS_ANUB) == DONE) @@ -880,10 +879,6 @@ class instance_naxxramas : public InstanceMapScript events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s); break; case BOSS_ANUB: - if (GameObject* go = instance->GetGameObject(_anubGateGUID)) - { - go->SetGoState(GO_STATE_ACTIVE); - } if (GameObject* go = instance->GetGameObject(_anubNextGateGUID)) { go->SetGoState(GO_STATE_ACTIVE); @@ -1074,8 +1069,6 @@ class instance_naxxramas : public InstanceMapScript return _heiganGateGUID; case DATA_LOATHEB_GATE: return _loathebGateGUID; - case DATA_ANUB_GATE: - return _anubGateGUID; case DATA_FAERLINA_WEB: return _faerlinaWebGUID; case DATA_MAEXXNA_GATE: diff --git a/src/server/scripts/Northrend/Naxxramas/naxxramas.h b/src/server/scripts/Northrend/Naxxramas/naxxramas.h index 8485d7e4045539..1b90d2b1dc9278 100644 --- a/src/server/scripts/Northrend/Naxxramas/naxxramas.h +++ b/src/server/scripts/Northrend/Naxxramas/naxxramas.h @@ -50,7 +50,6 @@ enum NXData DATA_HEIGAN_ERUPTION = 101, DATA_HEIGAN_ENTER_GATE = 102, DATA_LOATHEB_GATE = 103, - DATA_ANUB_GATE = 104, DATA_FAERLINA_WEB = 105, DATA_MAEXXNA_GATE = 106, DATA_THADDIUS_BOSS = 107, diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index ed520d5c3ab54a..93a482721bbbc1 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -66,8 +66,13 @@ ObjectData const creatureData[] = { 0, 0 } }; -ObjectData const objectData[] = +ObjectData const summonData[] = { + { NPC_BLADE_OF_AZZINOTH, DATA_ILLIDAN_STORMRAGE }, + { NPC_FLAME_OF_AZZINOTH, DATA_ILLIDAN_STORMRAGE }, + { NPC_PARASITIC_SHADOWFIEND, DATA_ILLIDAN_STORMRAGE }, + { NPC_SHADOWY_CONSTRUCT, DATA_TERON_GOREFIEND }, + { NPC_ENSLAVED_SOUL, DATA_RELIQUARY_OF_SOULS }, { 0, 0 } }; @@ -99,7 +104,8 @@ class instance_black_temple : public InstanceMapScript SetBossNumber(MAX_ENCOUNTERS); LoadDoorData(doorData); LoadBossBoundaries(boundaries); - LoadObjectData(creatureData, objectData); + LoadObjectData(creatureData, nullptr); + LoadSummonData(summonData); ashtongueGUIDs.clear(); } @@ -108,20 +114,6 @@ class instance_black_temple : public InstanceMapScript { switch (creature->GetEntry()) { - case NPC_SHADOWY_CONSTRUCT: - if (Creature* teron = GetCreature(DATA_TERON_GOREFIEND)) - teron->AI()->JustSummoned(creature); - break; - case NPC_ENSLAVED_SOUL: - if (Creature* reliquary = GetCreature(DATA_RELIQUARY_OF_SOULS)) - reliquary->AI()->JustSummoned(creature); - break; - case NPC_PARASITIC_SHADOWFIEND: - case NPC_BLADE_OF_AZZINOTH: - case NPC_FLAME_OF_AZZINOTH: - if (Creature* illidan = GetCreature(DATA_ILLIDAN_STORMRAGE)) - illidan->AI()->JustSummoned(creature); - break; case NPC_ANGERED_SOUL_FRAGMENT: case NPC_HUNGERING_SOUL_FRAGMENT: case NPC_SUFFERING_SOUL_FRAGMENT: diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index db246c77e36c0f..095fbf423e3b8c 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -72,11 +72,10 @@ enum Misc EVENT_RELOCATE_MIDDLE = 1, EVENT_REBIRTH = 2, - EVENT_SPELL_BERSERK = 3, - EVENT_MOVE_TO_PHASE_2 = 4, - EVENT_FINISH_DIVE = 5, - EVENT_INVISIBLE = 6 + EVENT_MOVE_TO_PHASE_2 = 3, + EVENT_FINISH_DIVE = 4, + EVENT_INVISIBLE = 5 }; enum GroupAlar @@ -121,15 +120,14 @@ struct boss_alar : public BossAI me->SetModelVisible(true); me->SetReactState(REACT_AGGRESSIVE); ConstructWaypointsAndMove(); + me->m_Events.KillAllEvents(false); } void JustReachedHome() override { BossAI::JustReachedHome(); if (me->IsEngaged()) - { ConstructWaypointsAndMove(); - } } void JustEngagedWith(Unit* who) override @@ -158,6 +156,7 @@ struct boss_alar : public BossAI } context.Repeat(_platformMoveRepeatTimer); }); + ScheduleMainSpellAttack(0s); } @@ -172,16 +171,9 @@ struct boss_alar : public BossAI void EnterEvadeMode(EvadeReason why) override { if (why == EVADE_REASON_BOUNDARY) - { BossAI::EnterEvadeMode(why); - } - else - { - if (me->GetThreatMgr().GetThreatList().empty()) - { - BossAI::EnterEvadeMode(why); - } - } + else if (me->GetThreatMgr().GetThreatList().empty()) + BossAI::EnterEvadeMode(why); } void JustDied(Unit* killer) override @@ -189,19 +181,11 @@ struct boss_alar : public BossAI BossAI::JustDied(killer); me->SetModelVisible(true); - if (Map* map = me->GetMap()) + me->GetMap()->DoForAllPlayers([&](Player* player) { - map->DoForAllPlayers([&](Player* player) - { - if (player->GetQuestStatus(QUEST_RUSE_OF_THE_ASHTONGUE) == QUEST_STATUS_INCOMPLETE) - { - if (player->HasAura(SPELL_ASHTONGUE_RUSE)) - { - player->AreaExploredOrEventHappens(QUEST_RUSE_OF_THE_ASHTONGUE); - } - } - }); - } + if (player->GetQuestStatus(QUEST_RUSE_OF_THE_ASHTONGUE) == QUEST_STATUS_INCOMPLETE && player->HasAura(SPELL_ASHTONGUE_RUSE)) + player->AreaExploredOrEventHappens(QUEST_RUSE_OF_THE_ASHTONGUE); + }); } void MoveInLineOfSight(Unit* /*who*/) override { } @@ -235,7 +219,7 @@ struct boss_alar : public BossAI _noMelee = false; me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); _platform = POINT_MIDDLE; - me->GetMotionMaster()->MoveChase(me->GetVictim()); + me->ResumeChasingVictim(); ScheduleAbilities(); }); } @@ -270,19 +254,18 @@ struct boss_alar : public BossAI { // find spell from sniffs? if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) - { me->SummonCreature(NPC_FLAME_PATCH, *target, TEMPSUMMON_TIMED_DESPAWN, 2 * MINUTE * IN_MILLISECONDS); - } }, 30s); ScheduleTimedEvent(34s, [&] { me->GetMotionMaster()->MovePoint(POINT_DIVE, alarPoints[POINT_DIVE], false, true); scheduler.DelayAll(15s); }, 57s); - ScheduleUniqueTimedEvent(10min, [&] - { - DoCastSelf(SPELL_BERSERK); - }, EVENT_SPELL_BERSERK); + + me->m_Events.AddEventAtOffset([&] { + DoCastSelf(SPELL_BERSERK, true); + }, 10min); + ScheduleMainSpellAttack(0s); } @@ -304,16 +287,14 @@ struct boss_alar : public BossAI scheduler.Schedule(2s, [this](TaskContext) { if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 110.0f, true)) - { SpawnPhoenixes(2, target); - } }).Schedule(6s, [this](TaskContext) { me->SetModelVisible(true); DoCastSelf(SPELL_REBIRTH_DIVE); }).Schedule(10s, [this](TaskContext) { - me->GetMotionMaster()->MoveChase(me->GetVictim()); + me->ResumeChasingVictim(); _noMelee = false; }); if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true)) @@ -331,9 +312,8 @@ struct boss_alar : public BossAI if (type != POINT_MOTION_TYPE) { if (type == ESCORT_MOTION_TYPE && me->movespline->Finalized() && !me->IsInCombat()) - { ConstructWaypointsAndMove(); - } + return; } @@ -366,9 +346,8 @@ struct boss_alar : public BossAI scheduler.Schedule(timer, GROUP_FLAME_BUFFET, [this](TaskContext context) { if (!me->SelectNearestTarget(me->GetCombatReach()) && !me->isMoving()) - { DoCastVictim(SPELL_FLAME_BUFFET); - } + context.Repeat(2s); }); } @@ -394,21 +373,15 @@ struct boss_alar : public BossAI _transitionScheduler.Update(diff); if (!UpdateVictim()) - { return; - } scheduler.Update(diff); if (me->HasUnitState(UNIT_STATE_CASTING)) - { return; - } if (!_noMelee) - { DoMeleeAttackIfReady(); - } } Position DeterminePhoenixPosition(Position playerPosition) @@ -498,13 +471,9 @@ class spell_alar_ember_blast : public SpellScript void HandleCast() { if (InstanceScript* instance = GetCaster()->GetInstanceScript()) - { if (Creature* alar = instance->GetCreature(DATA_ALAR)) - { if (!alar->HasAura(SPELL_MODEL_VISIBILITY)) Unit::DealDamage(GetCaster(), alar, alar->CountPctFromMaxHealth(2)); - } - } } void Register() override diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 745bc2c95b883a..1971d6f0cf7922 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -768,6 +768,7 @@ struct advisor_baseAI : public ScriptedAI { me->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH); me->SetStandState(UNIT_STAND_STATE_STAND); + me->SetFullHealth(); scheduler.Schedule(6s, [&](TaskContext /*context*/) { _preventDeath = false;