diff --git a/sql/updates/world/4.3.4/2025_06_07_00_world.sql b/sql/updates/world/4.3.4/2025_06_07_00_world.sql
new file mode 100644
index 0000000000..582b9528f4
--- /dev/null
+++ b/sql/updates/world/4.3.4/2025_06_07_00_world.sql
@@ -0,0 +1,475 @@
+DROP TABLE IF EXISTS `gt_npc_total_hp`;
+CREATE TABLE `gt_npc_total_hp` (
+ `Level` TINYINT UNSIGNED NOT NULL,
+ `Warrior` FLOAT NOT NULL,
+ `Paladin` FLOAT NOT NULL,
+ `Hunter` FLOAT NOT NULL,
+ `Rogue` FLOAT NOT NULL,
+ `Priest` FLOAT NOT NULL,
+ `DeathKnight` FLOAT NOT NULL,
+ `Shaman` FLOAT NOT NULL,
+ `Mage` FLOAT NOT NULL,
+ `Warlock` FLOAT NOT NULL,
+ `Monk` FLOAT NOT NULL,
+ `Druid` FLOAT NOT NULL,
+ PRIMARY KEY (`Level`)
+) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+INSERT INTO `gt_npc_total_hp` (`Level`, `Warrior`, `Paladin`, `Hunter`, `Rogue`, `Priest`, `DeathKnight`, `Shaman`, `Mage`, `Warlock`, `Monk`, `Druid`) VALUES
+(1, 42.000000, 41.000000, 1.000000, 42.000000, 1.000000, 0.000000, 1.000000, 40.000000, 1.000000, 0.000000, 1.000000),
+(2, 55.000000, 54.000000, 1.000000, 55.000000, 1.000000, 0.000000, 1.000000, 52.000000, 1.000000, 0.000000, 1.000000),
+(3, 71.000000, 69.000000, 1.000000, 71.000000, 1.000000, 0.000000, 1.000000, 67.000000, 1.000000, 0.000000, 1.000000),
+(4, 86.000000, 83.000000, 1.000000, 86.000000, 1.000000, 0.000000, 1.000000, 81.000000, 1.000000, 0.000000, 1.000000),
+(5, 102.000000, 98.000000, 1.000000, 102.000000, 1.000000, 0.000000, 1.000000, 95.000000, 1.000000, 0.000000, 1.000000),
+(6, 120.000000, 115.000000, 1.000000, 120.000000, 1.000000, 0.000000, 1.000000, 111.000000, 1.000000, 0.000000, 1.000000),
+(7, 137.000000, 131.000000, 1.000000, 137.000000, 1.000000, 0.000000, 1.000000, 126.000000, 1.000000, 0.000000, 1.000000),
+(8, 156.000000, 148.000000, 1.000000, 156.000000, 1.000000, 0.000000, 1.000000, 143.000000, 1.000000, 0.000000, 1.000000),
+(9, 176.000000, 166.000000, 1.000000, 176.000000, 1.000000, 0.000000, 1.000000, 160.000000, 1.000000, 0.000000, 1.000000),
+(10, 198.000000, 186.000000, 1.000000, 198.000000, 1.000000, 0.000000, 1.000000, 178.000000, 1.000000, 0.000000, 1.000000),
+(11, 222.000000, 208.000000, 1.000000, 222.000000, 1.000000, 0.000000, 1.000000, 199.000000, 1.000000, 0.000000, 1.000000),
+(12, 247.000000, 230.000000, 1.000000, 247.000000, 1.000000, 0.000000, 1.000000, 219.000000, 1.000000, 0.000000, 1.000000),
+(13, 273.000000, 253.000000, 1.000000, 273.000000, 1.000000, 0.000000, 1.000000, 241.000000, 1.000000, 0.000000, 1.000000),
+(14, 300.000000, 276.000000, 1.000000, 300.000000, 1.000000, 0.000000, 1.000000, 263.000000, 1.000000, 0.000000, 1.000000),
+(15, 328.000000, 301.000000, 1.000000, 328.000000, 1.000000, 0.000000, 1.000000, 285.000000, 1.000000, 0.000000, 1.000000),
+(16, 356.000000, 325.000000, 1.000000, 356.000000, 1.000000, 0.000000, 1.000000, 307.000000, 1.000000, 0.000000, 1.000000),
+(17, 386.000000, 350.000000, 1.000000, 386.000000, 1.000000, 0.000000, 1.000000, 330.000000, 1.000000, 0.000000, 1.000000),
+(18, 417.000000, 377.000000, 1.000000, 417.000000, 1.000000, 0.000000, 1.000000, 354.000000, 1.000000, 0.000000, 1.000000),
+(19, 449.000000, 404.000000, 1.000000, 449.000000, 1.000000, 0.000000, 1.000000, 379.000000, 1.000000, 0.000000, 1.000000),
+(20, 484.000000, 433.000000, 1.000000, 484.000000, 1.000000, 0.000000, 1.000000, 405.000000, 1.000000, 0.000000, 1.000000),
+(21, 521.000000, 464.000000, 1.000000, 521.000000, 1.000000, 0.000000, 1.000000, 432.000000, 1.000000, 0.000000, 1.000000),
+(22, 562.000000, 498.000000, 1.000000, 562.000000, 1.000000, 0.000000, 1.000000, 463.000000, 1.000000, 0.000000, 1.000000),
+(23, 605.000000, 533.000000, 1.000000, 605.000000, 1.000000, 0.000000, 1.000000, 494.000000, 1.000000, 0.000000, 1.000000),
+(24, 651.000000, 571.000000, 1.000000, 651.000000, 1.000000, 0.000000, 1.000000, 528.000000, 1.000000, 0.000000, 1.000000),
+(25, 699.000000, 610.000000, 1.000000, 699.000000, 1.000000, 0.000000, 1.000000, 562.000000, 1.000000, 0.000000, 1.000000),
+(26, 750.000000, 651.000000, 1.000000, 750.000000, 1.000000, 0.000000, 1.000000, 598.000000, 1.000000, 0.000000, 1.000000),
+(27, 800.000000, 690.000000, 1.000000, 800.000000, 1.000000, 0.000000, 1.000000, 633.000000, 1.000000, 0.000000, 1.000000),
+(28, 853.000000, 732.000000, 1.000000, 853.000000, 1.000000, 0.000000, 1.000000, 669.000000, 1.000000, 0.000000, 1.000000),
+(29, 905.000000, 773.000000, 1.000000, 905.000000, 1.000000, 0.000000, 1.000000, 704.000000, 1.000000, 0.000000, 1.000000),
+(30, 955.000000, 811.000000, 1.000000, 955.000000, 1.000000, 0.000000, 1.000000, 737.000000, 1.000000, 0.000000, 1.000000),
+(31, 1006.000000, 850.000000, 1.000000, 1006.000000, 1.000000, 0.000000, 1.000000, 770.000000, 1.000000, 0.000000, 1.000000),
+(32, 1057.000000, 888.000000, 1.000000, 1057.000000, 1.000000, 0.000000, 1.000000, 802.000000, 1.000000, 0.000000, 1.000000),
+(33, 1110.000000, 928.000000, 1.000000, 1110.000000, 1.000000, 0.000000, 1.000000, 835.000000, 1.000000, 0.000000, 1.000000),
+(34, 1163.000000, 967.000000, 1.000000, 1163.000000, 1.000000, 0.000000, 1.000000, 867.000000, 1.000000, 0.000000, 1.000000),
+(35, 1220.000000, 1009.000000, 1.000000, 1220.000000, 1.000000, 0.000000, 1.000000, 902.000000, 1.000000, 0.000000, 1.000000),
+(36, 1277.000000, 1050.000000, 1.000000, 1277.000000, 1.000000, 0.000000, 1.000000, 935.000000, 1.000000, 0.000000, 1.000000),
+(37, 1336.000000, 1093.000000, 1.000000, 1336.000000, 1.000000, 0.000000, 1.000000, 970.000000, 1.000000, 0.000000, 1.000000),
+(38, 1395.000000, 1135.000000, 1.000000, 1395.000000, 1.000000, 0.000000, 1.000000, 1004.000000, 1.000000, 0.000000, 1.000000),
+(39, 1459.000000, 1180.000000, 1.000000, 1459.000000, 1.000000, 0.000000, 1.000000, 1040.000000, 1.000000, 0.000000, 1.000000),
+(40, 1524.000000, 1226.000000, 1.000000, 1524.000000, 1.000000, 0.000000, 1.000000, 1077.000000, 1.000000, 0.000000, 1.000000),
+(41, 1585.000000, 1268.000000, 1.000000, 1585.000000, 1.000000, 0.000000, 1.000000, 1110.000000, 1.000000, 0.000000, 1.000000),
+(42, 1651.000000, 1321.000000, 1.000000, 1651.000000, 1.000000, 0.000000, 1.000000, 1156.000000, 1.000000, 0.000000, 1.000000),
+(43, 1716.000000, 1373.000000, 1.000000, 1716.000000, 1.000000, 0.000000, 1.000000, 1201.000000, 1.000000, 0.000000, 1.000000),
+(44, 1782.000000, 1426.000000, 1.000000, 1782.000000, 1.000000, 0.000000, 1.000000, 1247.000000, 1.000000, 0.000000, 1.000000),
+(45, 1848.000000, 1478.000000, 1.000000, 1848.000000, 1.000000, 0.000000, 1.000000, 1294.000000, 1.000000, 0.000000, 1.000000),
+(46, 1919.000000, 1535.000000, 1.000000, 1919.000000, 1.000000, 0.000000, 1.000000, 1343.000000, 1.000000, 0.000000, 1.000000),
+(47, 1990.000000, 1592.000000, 1.000000, 1990.000000, 1.000000, 0.000000, 1.000000, 1393.000000, 1.000000, 0.000000, 1.000000),
+(48, 2062.000000, 1650.000000, 1.000000, 2062.000000, 1.000000, 0.000000, 1.000000, 1443.000000, 1.000000, 0.000000, 1.000000),
+(49, 2138.000000, 1710.000000, 1.000000, 2138.000000, 1.000000, 0.000000, 1.000000, 1497.000000, 1.000000, 0.000000, 1.000000),
+(50, 2215.000000, 1772.000000, 1.000000, 2215.000000, 1.000000, 0.000000, 1.000000, 1551.000000, 1.000000, 0.000000, 1.000000),
+(51, 2292.000000, 1834.000000, 1.000000, 2292.000000, 1.000000, 0.000000, 1.000000, 1604.000000, 1.000000, 0.000000, 1.000000),
+(52, 2371.000000, 1897.000000, 1.000000, 2371.000000, 1.000000, 0.000000, 1.000000, 1660.000000, 1.000000, 0.000000, 1.000000),
+(53, 2453.000000, 1962.000000, 1.000000, 2453.000000, 1.000000, 0.000000, 1.000000, 1717.000000, 1.000000, 0.000000, 1.000000),
+(54, 2533.000000, 2026.000000, 1.000000, 2533.000000, 1.000000, 0.000000, 1.000000, 1773.000000, 1.000000, 0.000000, 1.000000),
+(55, 2614.000000, 2091.000000, 1.000000, 2614.000000, 1.000000, 0.000000, 1.000000, 1830.000000, 1.000000, 0.000000, 1.000000),
+(56, 2699.000000, 2159.000000, 1.000000, 2699.000000, 1.000000, 0.000000, 1.000000, 1889.000000, 1.000000, 0.000000, 1.000000),
+(57, 2784.000000, 2227.000000, 1.000000, 2784.000000, 1.000000, 0.000000, 1.000000, 1949.000000, 1.000000, 0.000000, 1.000000),
+(58, 2871.000000, 2297.000000, 1.000000, 2871.000000, 1.000000, 0.000000, 1.000000, 2010.000000, 1.000000, 0.000000, 1.000000),
+(59, 2961.000000, 2369.000000, 1.000000, 2961.000000, 1.000000, 0.000000, 1.000000, 2073.000000, 1.000000, 0.000000, 1.000000),
+(60, 3052.000000, 2442.000000, 1.000000, 3052.000000, 1.000000, 0.000000, 1.000000, 2136.000000, 1.000000, 0.000000, 1.000000),
+(61, 3144.000000, 2515.000000, 1.000000, 3144.000000, 1.000000, 0.000000, 1.000000, 2201.000000, 1.000000, 0.000000, 1.000000),
+(62, 3237.000000, 2590.000000, 1.000000, 3237.000000, 1.000000, 0.000000, 1.000000, 2266.000000, 1.000000, 0.000000, 1.000000),
+(63, 3331.000000, 2665.000000, 1.000000, 3331.000000, 1.000000, 0.000000, 1.000000, 2332.000000, 1.000000, 0.000000, 1.000000),
+(64, 3425.000000, 2740.000000, 1.000000, 3425.000000, 1.000000, 0.000000, 1.000000, 2398.000000, 1.000000, 0.000000, 1.000000),
+(65, 3524.000000, 2819.000000, 1.000000, 3524.000000, 1.000000, 0.000000, 1.000000, 2467.000000, 1.000000, 0.000000, 1.000000),
+(66, 3624.000000, 2899.000000, 1.000000, 3624.000000, 1.000000, 0.000000, 1.000000, 2537.000000, 1.000000, 0.000000, 1.000000),
+(67, 3728.000000, 2982.000000, 1.000000, 3728.000000, 1.000000, 0.000000, 1.000000, 2610.000000, 1.000000, 0.000000, 1.000000),
+(68, 3834.000000, 3067.000000, 1.000000, 3834.000000, 1.000000, 0.000000, 1.000000, 2684.000000, 1.000000, 0.000000, 1.000000),
+(69, 3941.000000, 3153.000000, 1.000000, 3941.000000, 1.000000, 0.000000, 1.000000, 2759.000000, 1.000000, 0.000000, 1.000000),
+(70, 4050.000000, 3240.000000, 1.000000, 4050.000000, 1.000000, 0.000000, 1.000000, 2835.000000, 1.000000, 0.000000, 1.000000),
+(71, 4163.000000, 3330.000000, 1.000000, 4163.000000, 1.000000, 0.000000, 1.000000, 2914.000000, 1.000000, 0.000000, 1.000000),
+(72, 4278.000000, 3422.000000, 1.000000, 4278.000000, 1.000000, 0.000000, 1.000000, 2995.000000, 1.000000, 0.000000, 1.000000),
+(73, 4399.000000, 3519.000000, 1.000000, 4399.000000, 1.000000, 0.000000, 1.000000, 3079.000000, 1.000000, 0.000000, 1.000000),
+(74, 4524.000000, 3619.000000, 1.000000, 4524.000000, 1.000000, 0.000000, 1.000000, 3167.000000, 1.000000, 0.000000, 1.000000),
+(75, 4652.000000, 3722.000000, 1.000000, 4652.000000, 1.000000, 0.000000, 1.000000, 3256.000000, 1.000000, 0.000000, 1.000000),
+(76, 4781.000000, 3825.000000, 1.000000, 4781.000000, 1.000000, 0.000000, 1.000000, 3347.000000, 1.000000, 0.000000, 1.000000),
+(77, 4916.000000, 3933.000000, 1.000000, 4916.000000, 1.000000, 0.000000, 1.000000, 3441.000000, 1.000000, 0.000000, 1.000000),
+(78, 5052.000000, 4042.000000, 1.000000, 5052.000000, 1.000000, 0.000000, 1.000000, 3536.000000, 1.000000, 0.000000, 1.000000),
+(79, 5194.000000, 4155.000000, 1.000000, 5194.000000, 1.000000, 0.000000, 1.000000, 3636.000000, 1.000000, 0.000000, 1.000000),
+(80, 5342.000000, 4274.000000, 1.000000, 5342.000000, 1.000000, 0.000000, 1.000000, 3739.000000, 1.000000, 0.000000, 1.000000),
+(81, 5492.000000, 4394.000000, 1.000000, 5492.000000, 1.000000, 0.000000, 1.000000, 3844.000000, 1.000000, 0.000000, 1.000000),
+(82, 5647.000000, 4518.000000, 1.000000, 5647.000000, 1.000000, 0.000000, 1.000000, 3953.000000, 1.000000, 0.000000, 1.000000),
+(83, 5808.000000, 4646.000000, 1.000000, 5808.000000, 1.000000, 0.000000, 1.000000, 4066.000000, 1.000000, 0.000000, 1.000000),
+(84, 5971.000000, 4777.000000, 1.000000, 5971.000000, 1.000000, 0.000000, 1.000000, 4180.000000, 1.000000, 0.000000, 1.000000),
+(85, 6141.000000, 4913.000000, 1.000000, 6141.000000, 1.000000, 0.000000, 1.000000, 4299.000000, 1.000000, 0.000000, 1.000000),
+(86, 6316.000000, 5053.000000, 1.000000, 6316.000000, 1.000000, 0.000000, 1.000000, 4421.000000, 1.000000, 0.000000, 1.000000),
+(87, 6490.000000, 5192.000000, 1.000000, 6490.000000, 1.000000, 0.000000, 1.000000, 4543.000000, 1.000000, 0.000000, 1.000000),
+(88, 6670.000000, 5336.000000, 1.000000, 6670.000000, 1.000000, 0.000000, 1.000000, 4669.000000, 1.000000, 0.000000, 1.000000),
+(89, 6857.000000, 5486.000000, 1.000000, 6857.000000, 1.000000, 0.000000, 1.000000, 4800.000000, 1.000000, 0.000000, 1.000000),
+(90, 7049.000000, 5639.000000, 1.000000, 7049.000000, 1.000000, 0.000000, 1.000000, 4934.000000, 1.000000, 0.000000, 1.000000),
+(91, 7245.000000, 5796.000000, 1.000000, 7245.000000, 1.000000, 0.000000, 1.000000, 5072.000000, 1.000000, 0.000000, 1.000000),
+(92, 7450.000000, 5960.000000, 1.000000, 7450.000000, 1.000000, 0.000000, 1.000000, 5215.000000, 1.000000, 0.000000, 1.000000),
+(93, 7661.000000, 6129.000000, 1.000000, 7661.000000, 1.000000, 0.000000, 1.000000, 5363.000000, 1.000000, 0.000000, 1.000000),
+(94, 7876.000000, 6301.000000, 1.000000, 7876.000000, 1.000000, 0.000000, 1.000000, 5513.000000, 1.000000, 0.000000, 1.000000),
+(95, 8097.000000, 6478.000000, 1.000000, 8097.000000, 1.000000, 0.000000, 1.000000, 5668.000000, 1.000000, 0.000000, 1.000000),
+(96, 8325.000000, 6660.000000, 1.000000, 8325.000000, 1.000000, 0.000000, 1.000000, 5828.000000, 1.000000, 0.000000, 1.000000),
+(97, 8560.000000, 6848.000000, 1.000000, 8560.000000, 1.000000, 0.000000, 1.000000, 5992.000000, 1.000000, 0.000000, 1.000000),
+(98, 8801.000000, 7041.000000, 1.000000, 8801.000000, 1.000000, 0.000000, 1.000000, 6161.000000, 1.000000, 0.000000, 1.000000),
+(99, 9040.000000, 7232.000000, 1.000000, 9040.000000, 1.000000, 0.000000, 1.000000, 6328.000000, 1.000000, 0.000000, 1.000000),
+(100, 9305.000000, 7444.000000, 1.000000, 9305.000000, 1.000000, 0.000000, 1.000000, 6514.000000, 1.000000, 0.000000, 1.000000);
+
+DROP TABLE IF EXISTS `gt_npc_total_hp_exp1`;
+CREATE TABLE `gt_npc_total_hp_exp1` (
+ `Level` TINYINT UNSIGNED NOT NULL,
+ `Warrior` FLOAT NOT NULL,
+ `Paladin` FLOAT NOT NULL,
+ `Hunter` FLOAT NOT NULL,
+ `Rogue` FLOAT NOT NULL,
+ `Priest` FLOAT NOT NULL,
+ `DeathKnight` FLOAT NOT NULL,
+ `Shaman` FLOAT NOT NULL,
+ `Mage` FLOAT NOT NULL,
+ `Warlock` FLOAT NOT NULL,
+ `Monk` FLOAT NOT NULL,
+ `Druid` FLOAT NOT NULL,
+ PRIMARY KEY (`Level`)
+) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+INSERT INTO `gt_npc_total_hp_exp1` (`Level`, `Warrior`, `Paladin`, `Hunter`, `Rogue`, `Priest`, `DeathKnight`, `Shaman`, `Mage`, `Warlock`, `Monk`, `Druid`) VALUES
+(1, 42.000000, 41.000000, 1.000000, 42.000000, 1.000000, 0.000000, 1.000000, 40.000000, 1.000000, 0.000000, 1.000000),
+(2, 55.000000, 54.000000, 1.000000, 55.000000, 1.000000, 0.000000, 1.000000, 52.000000, 1.000000, 0.000000, 1.000000),
+(3, 71.000000, 69.000000, 1.000000, 71.000000, 1.000000, 0.000000, 1.000000, 67.000000, 1.000000, 0.000000, 1.000000),
+(4, 86.000000, 83.000000, 1.000000, 86.000000, 1.000000, 0.000000, 1.000000, 81.000000, 1.000000, 0.000000, 1.000000),
+(5, 102.000000, 98.000000, 1.000000, 102.000000, 1.000000, 0.000000, 1.000000, 95.000000, 1.000000, 0.000000, 1.000000),
+(6, 120.000000, 115.000000, 1.000000, 120.000000, 1.000000, 0.000000, 1.000000, 111.000000, 1.000000, 0.000000, 1.000000),
+(7, 137.000000, 131.000000, 1.000000, 137.000000, 1.000000, 0.000000, 1.000000, 126.000000, 1.000000, 0.000000, 1.000000),
+(8, 156.000000, 148.000000, 1.000000, 156.000000, 1.000000, 0.000000, 1.000000, 143.000000, 1.000000, 0.000000, 1.000000),
+(9, 176.000000, 166.000000, 1.000000, 176.000000, 1.000000, 0.000000, 1.000000, 160.000000, 1.000000, 0.000000, 1.000000),
+(10, 198.000000, 186.000000, 1.000000, 198.000000, 1.000000, 0.000000, 1.000000, 178.000000, 1.000000, 0.000000, 1.000000),
+(11, 222.000000, 208.000000, 1.000000, 222.000000, 1.000000, 0.000000, 1.000000, 199.000000, 1.000000, 0.000000, 1.000000),
+(12, 247.000000, 230.000000, 1.000000, 247.000000, 1.000000, 0.000000, 1.000000, 219.000000, 1.000000, 0.000000, 1.000000),
+(13, 273.000000, 253.000000, 1.000000, 273.000000, 1.000000, 0.000000, 1.000000, 241.000000, 1.000000, 0.000000, 1.000000),
+(14, 300.000000, 276.000000, 1.000000, 300.000000, 1.000000, 0.000000, 1.000000, 263.000000, 1.000000, 0.000000, 1.000000),
+(15, 328.000000, 301.000000, 1.000000, 328.000000, 1.000000, 0.000000, 1.000000, 285.000000, 1.000000, 0.000000, 1.000000),
+(16, 356.000000, 325.000000, 1.000000, 356.000000, 1.000000, 0.000000, 1.000000, 307.000000, 1.000000, 0.000000, 1.000000),
+(17, 386.000000, 350.000000, 1.000000, 386.000000, 1.000000, 0.000000, 1.000000, 330.000000, 1.000000, 0.000000, 1.000000),
+(18, 417.000000, 377.000000, 1.000000, 417.000000, 1.000000, 0.000000, 1.000000, 354.000000, 1.000000, 0.000000, 1.000000),
+(19, 449.000000, 404.000000, 1.000000, 449.000000, 1.000000, 0.000000, 1.000000, 379.000000, 1.000000, 0.000000, 1.000000),
+(20, 484.000000, 433.000000, 1.000000, 484.000000, 1.000000, 0.000000, 1.000000, 405.000000, 1.000000, 0.000000, 1.000000),
+(21, 521.000000, 464.000000, 1.000000, 521.000000, 1.000000, 0.000000, 1.000000, 432.000000, 1.000000, 0.000000, 1.000000),
+(22, 562.000000, 498.000000, 1.000000, 562.000000, 1.000000, 0.000000, 1.000000, 463.000000, 1.000000, 0.000000, 1.000000),
+(23, 605.000000, 533.000000, 1.000000, 605.000000, 1.000000, 0.000000, 1.000000, 494.000000, 1.000000, 0.000000, 1.000000),
+(24, 651.000000, 571.000000, 1.000000, 651.000000, 1.000000, 0.000000, 1.000000, 528.000000, 1.000000, 0.000000, 1.000000),
+(25, 699.000000, 610.000000, 1.000000, 699.000000, 1.000000, 0.000000, 1.000000, 562.000000, 1.000000, 0.000000, 1.000000),
+(26, 750.000000, 651.000000, 1.000000, 750.000000, 1.000000, 0.000000, 1.000000, 598.000000, 1.000000, 0.000000, 1.000000),
+(27, 800.000000, 690.000000, 1.000000, 800.000000, 1.000000, 0.000000, 1.000000, 633.000000, 1.000000, 0.000000, 1.000000),
+(28, 853.000000, 732.000000, 1.000000, 853.000000, 1.000000, 0.000000, 1.000000, 669.000000, 1.000000, 0.000000, 1.000000),
+(29, 905.000000, 773.000000, 1.000000, 905.000000, 1.000000, 0.000000, 1.000000, 704.000000, 1.000000, 0.000000, 1.000000),
+(30, 955.000000, 811.000000, 1.000000, 955.000000, 1.000000, 0.000000, 1.000000, 737.000000, 1.000000, 0.000000, 1.000000),
+(31, 1006.000000, 850.000000, 1.000000, 1006.000000, 1.000000, 0.000000, 1.000000, 770.000000, 1.000000, 0.000000, 1.000000),
+(32, 1057.000000, 888.000000, 1.000000, 1057.000000, 1.000000, 0.000000, 1.000000, 802.000000, 1.000000, 0.000000, 1.000000),
+(33, 1110.000000, 928.000000, 1.000000, 1110.000000, 1.000000, 0.000000, 1.000000, 835.000000, 1.000000, 0.000000, 1.000000),
+(34, 1163.000000, 967.000000, 1.000000, 1163.000000, 1.000000, 0.000000, 1.000000, 867.000000, 1.000000, 0.000000, 1.000000),
+(35, 1220.000000, 1009.000000, 1.000000, 1220.000000, 1.000000, 0.000000, 1.000000, 902.000000, 1.000000, 0.000000, 1.000000),
+(36, 1277.000000, 1050.000000, 1.000000, 1277.000000, 1.000000, 0.000000, 1.000000, 935.000000, 1.000000, 0.000000, 1.000000),
+(37, 1336.000000, 1093.000000, 1.000000, 1336.000000, 1.000000, 0.000000, 1.000000, 970.000000, 1.000000, 0.000000, 1.000000),
+(38, 1395.000000, 1135.000000, 1.000000, 1395.000000, 1.000000, 0.000000, 1.000000, 1004.000000, 1.000000, 0.000000, 1.000000),
+(39, 1459.000000, 1180.000000, 1.000000, 1459.000000, 1.000000, 0.000000, 1.000000, 1040.000000, 1.000000, 0.000000, 1.000000),
+(40, 1524.000000, 1226.000000, 1.000000, 1524.000000, 1.000000, 0.000000, 1.000000, 1077.000000, 1.000000, 0.000000, 1.000000),
+(41, 1585.000000, 1268.000000, 1.000000, 1585.000000, 1.000000, 0.000000, 1.000000, 1110.000000, 1.000000, 0.000000, 1.000000),
+(42, 1651.000000, 1321.000000, 1.000000, 1651.000000, 1.000000, 0.000000, 1.000000, 1156.000000, 1.000000, 0.000000, 1.000000),
+(43, 1716.000000, 1373.000000, 1.000000, 1716.000000, 1.000000, 0.000000, 1.000000, 1201.000000, 1.000000, 0.000000, 1.000000),
+(44, 1782.000000, 1426.000000, 1.000000, 1782.000000, 1.000000, 0.000000, 1.000000, 1247.000000, 1.000000, 0.000000, 1.000000),
+(45, 1848.000000, 1478.000000, 1.000000, 1848.000000, 1.000000, 0.000000, 1.000000, 1294.000000, 1.000000, 0.000000, 1.000000),
+(46, 1919.000000, 1535.000000, 1.000000, 1919.000000, 1.000000, 0.000000, 1.000000, 1343.000000, 1.000000, 0.000000, 1.000000),
+(47, 1990.000000, 1592.000000, 1.000000, 1990.000000, 1.000000, 0.000000, 1.000000, 1393.000000, 1.000000, 0.000000, 1.000000),
+(48, 2062.000000, 1650.000000, 1.000000, 2062.000000, 1.000000, 0.000000, 1.000000, 1443.000000, 1.000000, 0.000000, 1.000000),
+(49, 2138.000000, 1710.000000, 1.000000, 2138.000000, 1.000000, 0.000000, 1.000000, 1497.000000, 1.000000, 0.000000, 1.000000),
+(50, 2215.000000, 1772.000000, 1.000000, 2215.000000, 1.000000, 0.000000, 1.000000, 1551.000000, 1.000000, 0.000000, 1.000000),
+(51, 2292.000000, 1834.000000, 1.000000, 2292.000000, 1.000000, 0.000000, 1.000000, 1604.000000, 1.000000, 0.000000, 1.000000),
+(52, 2371.000000, 1897.000000, 1.000000, 2371.000000, 1.000000, 0.000000, 1.000000, 1660.000000, 1.000000, 0.000000, 1.000000),
+(53, 2453.000000, 1962.000000, 1.000000, 2453.000000, 1.000000, 0.000000, 1.000000, 1717.000000, 1.000000, 0.000000, 1.000000),
+(54, 2533.000000, 2026.000000, 1.000000, 2533.000000, 1.000000, 0.000000, 1.000000, 1773.000000, 1.000000, 0.000000, 1.000000),
+(55, 2614.000000, 2091.000000, 1.000000, 2614.000000, 1.000000, 0.000000, 1.000000, 1830.000000, 1.000000, 0.000000, 1.000000),
+(56, 2699.000000, 2159.000000, 1.000000, 2699.000000, 1.000000, 0.000000, 1.000000, 1889.000000, 1.000000, 0.000000, 1.000000),
+(57, 2784.000000, 2227.000000, 1.000000, 2784.000000, 1.000000, 0.000000, 1.000000, 1949.000000, 1.000000, 0.000000, 1.000000),
+(58, 3989.000000, 3191.000000, 1.000000, 3989.000000, 1.000000, 0.000000, 1.000000, 2792.000000, 1.000000, 0.000000, 1.000000),
+(59, 4142.000000, 3313.000000, 1.000000, 4142.000000, 1.000000, 0.000000, 1.000000, 2899.000000, 1.000000, 0.000000, 1.000000),
+(60, 4979.000000, 3984.000000, 1.000000, 4979.000000, 1.000000, 0.000000, 1.000000, 3484.000000, 1.000000, 0.000000, 1.000000),
+(61, 5158.000000, 4126.000000, 1.000000, 5158.000000, 1.000000, 0.000000, 1.000000, 3611.000000, 1.000000, 0.000000, 1.000000),
+(62, 5341.000000, 4274.000000, 1.000000, 5341.000000, 1.000000, 0.000000, 1.000000, 3739.000000, 1.000000, 0.000000, 1.000000),
+(63, 5527.000000, 4422.000000, 1.000000, 5527.000000, 1.000000, 0.000000, 1.000000, 3870.000000, 1.000000, 0.000000, 1.000000),
+(64, 5715.000000, 4572.000000, 1.000000, 5715.000000, 1.000000, 0.000000, 1.000000, 4002.000000, 1.000000, 0.000000, 1.000000),
+(65, 5914.000000, 4731.000000, 1.000000, 5914.000000, 1.000000, 0.000000, 1.000000, 4140.000000, 1.000000, 0.000000, 1.000000),
+(66, 6116.000000, 4892.000000, 1.000000, 6116.000000, 1.000000, 0.000000, 1.000000, 4281.000000, 1.000000, 0.000000, 1.000000),
+(67, 6326.000000, 5060.000000, 1.000000, 6326.000000, 1.000000, 0.000000, 1.000000, 4429.000000, 1.000000, 0.000000, 1.000000),
+(68, 6542.000000, 5233.000000, 1.000000, 6542.000000, 1.000000, 0.000000, 1.000000, 4580.000000, 1.000000, 0.000000, 1.000000),
+(69, 6761.000000, 5409.000000, 1.000000, 6761.000000, 1.000000, 0.000000, 1.000000, 4733.000000, 1.000000, 0.000000, 1.000000),
+(70, 6986.000000, 5589.000000, 1.000000, 6986.000000, 1.000000, 0.000000, 1.000000, 4890.000000, 1.000000, 0.000000, 1.000000),
+(71, 7181.000000, 5744.000000, 1.000000, 7181.000000, 1.000000, 0.000000, 1.000000, 5027.000000, 1.000000, 0.000000, 1.000000),
+(72, 7380.000000, 5903.000000, 1.000000, 7380.000000, 1.000000, 0.000000, 1.000000, 5166.000000, 1.000000, 0.000000, 1.000000),
+(73, 7588.000000, 6070.000000, 1.000000, 7588.000000, 1.000000, 0.000000, 1.000000, 5311.000000, 1.000000, 0.000000, 1.000000),
+(74, 7804.000000, 6243.000000, 1.000000, 7804.000000, 1.000000, 0.000000, 1.000000, 5463.000000, 1.000000, 0.000000, 1.000000),
+(75, 8025.000000, 6420.000000, 1.000000, 8025.000000, 1.000000, 0.000000, 1.000000, 5617.000000, 1.000000, 0.000000, 1.000000),
+(76, 8247.000000, 6598.000000, 1.000000, 8247.000000, 1.000000, 0.000000, 1.000000, 5774.000000, 1.000000, 0.000000, 1.000000),
+(77, 8480.000000, 6784.000000, 1.000000, 8480.000000, 1.000000, 0.000000, 1.000000, 5936.000000, 1.000000, 0.000000, 1.000000),
+(78, 8715.000000, 6972.000000, 1.000000, 8715.000000, 1.000000, 0.000000, 1.000000, 6100.000000, 1.000000, 0.000000, 1.000000),
+(79, 8960.000000, 7167.000000, 1.000000, 8960.000000, 1.000000, 0.000000, 1.000000, 6272.000000, 1.000000, 0.000000, 1.000000),
+(80, 9215.000000, 7373.000000, 1.000000, 9215.000000, 1.000000, 0.000000, 1.000000, 6450.000000, 1.000000, 0.000000, 1.000000),
+(81, 9474.000000, 7580.000000, 1.000000, 9474.000000, 1.000000, 0.000000, 1.000000, 6631.000000, 1.000000, 0.000000, 1.000000),
+(82, 9741.000000, 7794.000000, 1.000000, 9741.000000, 1.000000, 0.000000, 1.000000, 6819.000000, 1.000000, 0.000000, 1.000000),
+(83, 10019.000000, 8014.000000, 1.000000, 10019.000000, 1.000000, 0.000000, 1.000000, 7014.000000, 1.000000, 0.000000, 1.000000),
+(84, 10300.000000, 8240.000000, 1.000000, 10300.000000, 1.000000, 0.000000, 1.000000, 7211.000000, 1.000000, 0.000000, 1.000000),
+(85, 10593.000000, 8475.000000, 1.000000, 10593.000000, 1.000000, 0.000000, 1.000000, 7416.000000, 1.000000, 0.000000, 1.000000),
+(86, 10895.000000, 8716.000000, 1.000000, 10895.000000, 1.000000, 0.000000, 1.000000, 7626.000000, 1.000000, 0.000000, 1.000000),
+(87, 11195.000000, 8956.000000, 1.000000, 11195.000000, 1.000000, 0.000000, 1.000000, 7837.000000, 1.000000, 0.000000, 1.000000),
+(88, 11506.000000, 9205.000000, 1.000000, 11506.000000, 1.000000, 0.000000, 1.000000, 8054.000000, 1.000000, 0.000000, 1.000000),
+(89, 11828.000000, 9463.000000, 1.000000, 11828.000000, 1.000000, 0.000000, 1.000000, 8280.000000, 1.000000, 0.000000, 1.000000),
+(90, 12160.000000, 9727.000000, 1.000000, 12160.000000, 1.000000, 0.000000, 1.000000, 8511.000000, 1.000000, 0.000000, 1.000000),
+(91, 12498.000000, 9998.000000, 1.000000, 12498.000000, 1.000000, 0.000000, 1.000000, 8749.000000, 1.000000, 0.000000, 1.000000),
+(92, 12851.000000, 10281.000000, 1.000000, 12851.000000, 1.000000, 0.000000, 1.000000, 8996.000000, 1.000000, 0.000000, 1.000000),
+(93, 13215.000000, 10573.000000, 1.000000, 13215.000000, 1.000000, 0.000000, 1.000000, 9251.000000, 1.000000, 0.000000, 1.000000),
+(94, 13586.000000, 10869.000000, 1.000000, 13586.000000, 1.000000, 0.000000, 1.000000, 9510.000000, 1.000000, 0.000000, 1.000000),
+(95, 13967.000000, 11175.000000, 1.000000, 13967.000000, 1.000000, 0.000000, 1.000000, 9777.000000, 1.000000, 0.000000, 1.000000),
+(96, 14361.000000, 11489.000000, 1.000000, 14361.000000, 1.000000, 0.000000, 1.000000, 10053.000000, 1.000000, 0.000000, 1.000000),
+(97, 14766.000000, 11813.000000, 1.000000, 14766.000000, 1.000000, 0.000000, 1.000000, 10336.000000, 1.000000, 0.000000, 1.000000),
+(98, 15182.000000, 12146.000000, 1.000000, 15182.000000, 1.000000, 0.000000, 1.000000, 10628.000000, 1.000000, 0.000000, 1.000000),
+(99, 15594.000000, 12475.000000, 1.000000, 15594.000000, 1.000000, 0.000000, 1.000000, 10916.000000, 1.000000, 0.000000, 1.000000),
+(100, 16051.000000, 12841.000000, 1.000000, 16051.000000, 1.000000, 0.000000, 1.000000, 11237.000000, 1.000000, 0.000000, 1.000000);
+
+DROP TABLE IF EXISTS `gt_npc_total_hp_exp2`;
+CREATE TABLE `gt_npc_total_hp_exp2` (
+ `Level` TINYINT UNSIGNED NOT NULL,
+ `Warrior` FLOAT NOT NULL,
+ `Paladin` FLOAT NOT NULL,
+ `Hunter` FLOAT NOT NULL,
+ `Rogue` FLOAT NOT NULL,
+ `Priest` FLOAT NOT NULL,
+ `DeathKnight` FLOAT NOT NULL,
+ `Shaman` FLOAT NOT NULL,
+ `Mage` FLOAT NOT NULL,
+ `Warlock` FLOAT NOT NULL,
+ `Monk` FLOAT NOT NULL,
+ `Druid` FLOAT NOT NULL,
+ PRIMARY KEY (`Level`)
+) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+INSERT INTO `gt_npc_total_hp_exp2` (`Level`, `Warrior`, `Paladin`, `Hunter`, `Rogue`, `Priest`, `DeathKnight`, `Shaman`, `Mage`, `Warlock`, `Monk`, `Druid`) VALUES
+(1, 42.000000, 42.000000, 1.000000, 42.000000, 1.000000, 0.000000, 1.000000, 41.000000, 1.000000, 0.000000, 1.000000),
+(2, 55.000000, 55.000000, 1.000000, 55.000000, 1.000000, 0.000000, 1.000000, 54.000000, 1.000000, 0.000000, 1.000000),
+(3, 71.000000, 71.000000, 1.000000, 71.000000, 1.000000, 0.000000, 1.000000, 69.000000, 1.000000, 0.000000, 1.000000),
+(4, 86.000000, 86.000000, 1.000000, 86.000000, 1.000000, 0.000000, 1.000000, 83.000000, 1.000000, 0.000000, 1.000000),
+(5, 102.000000, 102.000000, 1.000000, 102.000000, 1.000000, 0.000000, 1.000000, 98.000000, 1.000000, 0.000000, 1.000000),
+(6, 120.000000, 120.000000, 1.000000, 120.000000, 1.000000, 0.000000, 1.000000, 115.000000, 1.000000, 0.000000, 1.000000),
+(7, 137.000000, 137.000000, 1.000000, 137.000000, 1.000000, 0.000000, 1.000000, 131.000000, 1.000000, 0.000000, 1.000000),
+(8, 156.000000, 156.000000, 1.000000, 156.000000, 1.000000, 0.000000, 1.000000, 148.000000, 1.000000, 0.000000, 1.000000),
+(9, 176.000000, 176.000000, 1.000000, 176.000000, 1.000000, 0.000000, 1.000000, 166.000000, 1.000000, 0.000000, 1.000000),
+(10, 198.000000, 198.000000, 1.000000, 198.000000, 1.000000, 0.000000, 1.000000, 186.000000, 1.000000, 0.000000, 1.000000),
+(11, 222.000000, 222.000000, 1.000000, 222.000000, 1.000000, 0.000000, 1.000000, 208.000000, 1.000000, 0.000000, 1.000000),
+(12, 247.000000, 247.000000, 1.000000, 247.000000, 1.000000, 0.000000, 1.000000, 230.000000, 1.000000, 0.000000, 1.000000),
+(13, 273.000000, 273.000000, 1.000000, 273.000000, 1.000000, 0.000000, 1.000000, 253.000000, 1.000000, 0.000000, 1.000000),
+(14, 300.000000, 300.000000, 1.000000, 300.000000, 1.000000, 0.000000, 1.000000, 276.000000, 1.000000, 0.000000, 1.000000),
+(15, 328.000000, 328.000000, 1.000000, 328.000000, 1.000000, 0.000000, 1.000000, 301.000000, 1.000000, 0.000000, 1.000000),
+(16, 356.000000, 356.000000, 1.000000, 356.000000, 1.000000, 0.000000, 1.000000, 325.000000, 1.000000, 0.000000, 1.000000),
+(17, 386.000000, 386.000000, 1.000000, 386.000000, 1.000000, 0.000000, 1.000000, 350.000000, 1.000000, 0.000000, 1.000000),
+(18, 417.000000, 417.000000, 1.000000, 417.000000, 1.000000, 0.000000, 1.000000, 377.000000, 1.000000, 0.000000, 1.000000),
+(19, 449.000000, 449.000000, 1.000000, 449.000000, 1.000000, 0.000000, 1.000000, 404.000000, 1.000000, 0.000000, 1.000000),
+(20, 484.000000, 484.000000, 1.000000, 484.000000, 1.000000, 0.000000, 1.000000, 433.000000, 1.000000, 0.000000, 1.000000),
+(21, 521.000000, 521.000000, 1.000000, 521.000000, 1.000000, 0.000000, 1.000000, 464.000000, 1.000000, 0.000000, 1.000000),
+(22, 562.000000, 562.000000, 1.000000, 562.000000, 1.000000, 0.000000, 1.000000, 498.000000, 1.000000, 0.000000, 1.000000),
+(23, 605.000000, 605.000000, 1.000000, 605.000000, 1.000000, 0.000000, 1.000000, 533.000000, 1.000000, 0.000000, 1.000000),
+(24, 651.000000, 651.000000, 1.000000, 651.000000, 1.000000, 0.000000, 1.000000, 571.000000, 1.000000, 0.000000, 1.000000),
+(25, 699.000000, 699.000000, 1.000000, 699.000000, 1.000000, 0.000000, 1.000000, 610.000000, 1.000000, 0.000000, 1.000000),
+(26, 750.000000, 750.000000, 1.000000, 750.000000, 1.000000, 0.000000, 1.000000, 651.000000, 1.000000, 0.000000, 1.000000),
+(27, 800.000000, 800.000000, 1.000000, 800.000000, 1.000000, 0.000000, 1.000000, 690.000000, 1.000000, 0.000000, 1.000000),
+(28, 853.000000, 853.000000, 1.000000, 853.000000, 1.000000, 0.000000, 1.000000, 732.000000, 1.000000, 0.000000, 1.000000),
+(29, 905.000000, 905.000000, 1.000000, 905.000000, 1.000000, 0.000000, 1.000000, 773.000000, 1.000000, 0.000000, 1.000000),
+(30, 955.000000, 955.000000, 1.000000, 955.000000, 1.000000, 0.000000, 1.000000, 811.000000, 1.000000, 0.000000, 1.000000),
+(31, 1006.000000, 1006.000000, 1.000000, 1006.000000, 1.000000, 0.000000, 1.000000, 850.000000, 1.000000, 0.000000, 1.000000),
+(32, 1057.000000, 1057.000000, 1.000000, 1057.000000, 1.000000, 0.000000, 1.000000, 888.000000, 1.000000, 0.000000, 1.000000),
+(33, 1110.000000, 1110.000000, 1.000000, 1110.000000, 1.000000, 0.000000, 1.000000, 928.000000, 1.000000, 0.000000, 1.000000),
+(34, 1163.000000, 1163.000000, 1.000000, 1163.000000, 1.000000, 0.000000, 1.000000, 967.000000, 1.000000, 0.000000, 1.000000),
+(35, 1220.000000, 1220.000000, 1.000000, 1220.000000, 1.000000, 0.000000, 1.000000, 1009.000000, 1.000000, 0.000000, 1.000000),
+(36, 1277.000000, 1277.000000, 1.000000, 1277.000000, 1.000000, 0.000000, 1.000000, 1050.000000, 1.000000, 0.000000, 1.000000),
+(37, 1336.000000, 1336.000000, 1.000000, 1336.000000, 1.000000, 0.000000, 1.000000, 1093.000000, 1.000000, 0.000000, 1.000000),
+(38, 1395.000000, 1395.000000, 1.000000, 1395.000000, 1.000000, 0.000000, 1.000000, 1135.000000, 1.000000, 0.000000, 1.000000),
+(39, 1459.000000, 1459.000000, 1.000000, 1459.000000, 1.000000, 0.000000, 1.000000, 1180.000000, 1.000000, 0.000000, 1.000000),
+(40, 1524.000000, 1524.000000, 1.000000, 1524.000000, 1.000000, 0.000000, 1.000000, 1226.000000, 1.000000, 0.000000, 1.000000),
+(41, 1585.000000, 1585.000000, 1.000000, 1585.000000, 1.000000, 0.000000, 1.000000, 1268.000000, 1.000000, 0.000000, 1.000000),
+(42, 1651.000000, 1651.000000, 1.000000, 1651.000000, 1.000000, 0.000000, 1.000000, 1321.000000, 1.000000, 0.000000, 1.000000),
+(43, 1716.000000, 1716.000000, 1.000000, 1716.000000, 1.000000, 0.000000, 1.000000, 1373.000000, 1.000000, 0.000000, 1.000000),
+(44, 1782.000000, 1782.000000, 1.000000, 1782.000000, 1.000000, 0.000000, 1.000000, 1426.000000, 1.000000, 0.000000, 1.000000),
+(45, 1848.000000, 1848.000000, 1.000000, 1848.000000, 1.000000, 0.000000, 1.000000, 1478.000000, 1.000000, 0.000000, 1.000000),
+(46, 1919.000000, 1919.000000, 1.000000, 1919.000000, 1.000000, 0.000000, 1.000000, 1535.000000, 1.000000, 0.000000, 1.000000),
+(47, 1990.000000, 1990.000000, 1.000000, 1990.000000, 1.000000, 0.000000, 1.000000, 1592.000000, 1.000000, 0.000000, 1.000000),
+(48, 2062.000000, 2062.000000, 1.000000, 2062.000000, 1.000000, 0.000000, 1.000000, 1650.000000, 1.000000, 0.000000, 1.000000),
+(49, 2138.000000, 2138.000000, 1.000000, 2138.000000, 1.000000, 0.000000, 1.000000, 1710.000000, 1.000000, 0.000000, 1.000000),
+(50, 2215.000000, 2215.000000, 1.000000, 2215.000000, 1.000000, 0.000000, 1.000000, 1772.000000, 1.000000, 0.000000, 1.000000),
+(51, 2292.000000, 2292.000000, 1.000000, 2292.000000, 1.000000, 0.000000, 1.000000, 1834.000000, 1.000000, 0.000000, 1.000000),
+(52, 2371.000000, 2371.000000, 1.000000, 2371.000000, 1.000000, 0.000000, 1.000000, 1897.000000, 1.000000, 0.000000, 1.000000),
+(53, 2453.000000, 2453.000000, 1.000000, 2453.000000, 1.000000, 0.000000, 1.000000, 1962.000000, 1.000000, 0.000000, 1.000000),
+(54, 2533.000000, 2533.000000, 1.000000, 2533.000000, 1.000000, 0.000000, 1.000000, 2026.000000, 1.000000, 0.000000, 1.000000),
+(55, 2614.000000, 2614.000000, 1.000000, 2614.000000, 1.000000, 0.000000, 1.000000, 2091.000000, 1.000000, 0.000000, 1.000000),
+(56, 2699.000000, 2699.000000, 1.000000, 2699.000000, 1.000000, 0.000000, 1.000000, 2159.000000, 1.000000, 0.000000, 1.000000),
+(57, 2784.000000, 2784.000000, 1.000000, 2784.000000, 1.000000, 0.000000, 1.000000, 2227.000000, 1.000000, 0.000000, 1.000000),
+(58, 3989.000000, 3989.000000, 1.000000, 3989.000000, 1.000000, 0.000000, 1.000000, 3191.000000, 1.000000, 0.000000, 1.000000),
+(59, 4142.000000, 4142.000000, 1.000000, 4142.000000, 1.000000, 0.000000, 1.000000, 3313.000000, 1.000000, 0.000000, 1.000000),
+(60, 4979.000000, 4979.000000, 1.000000, 4979.000000, 1.000000, 0.000000, 1.000000, 3984.000000, 1.000000, 0.000000, 1.000000),
+(61, 5158.000000, 5158.000000, 1.000000, 5158.000000, 1.000000, 0.000000, 1.000000, 4126.000000, 1.000000, 0.000000, 1.000000),
+(62, 5341.000000, 5341.000000, 1.000000, 5341.000000, 1.000000, 0.000000, 1.000000, 4272.000000, 1.000000, 0.000000, 1.000000),
+(63, 5527.000000, 5527.000000, 1.000000, 5527.000000, 1.000000, 0.000000, 1.000000, 4421.000000, 1.000000, 0.000000, 1.000000),
+(64, 5715.000000, 5715.000000, 1.000000, 5715.000000, 1.000000, 0.000000, 1.000000, 4572.000000, 1.000000, 0.000000, 1.000000),
+(65, 5914.000000, 5914.000000, 1.000000, 5914.000000, 1.000000, 0.000000, 1.000000, 4731.000000, 1.000000, 0.000000, 1.000000),
+(66, 6116.000000, 6116.000000, 1.000000, 6116.000000, 1.000000, 0.000000, 1.000000, 4892.000000, 1.000000, 0.000000, 1.000000),
+(67, 6326.000000, 6326.000000, 1.000000, 6326.000000, 1.000000, 0.000000, 1.000000, 5060.000000, 1.000000, 0.000000, 1.000000),
+(68, 6986.000000, 6986.000000, 1.000000, 6986.000000, 1.000000, 0.000000, 1.000000, 5588.000000, 1.000000, 0.000000, 1.000000),
+(69, 7984.000000, 7984.000000, 1.000000, 7984.000000, 1.000000, 0.000000, 1.000000, 6387.000000, 1.000000, 0.000000, 1.000000),
+(70, 8982.000000, 8982.000000, 1.000000, 8982.000000, 1.000000, 0.000000, 1.000000, 7185.000000, 1.000000, 0.000000, 1.000000),
+(71, 9291.000000, 9291.000000, 1.000000, 9291.000000, 1.000000, 0.000000, 1.000000, 7432.000000, 1.000000, 0.000000, 1.000000),
+(72, 9610.000000, 9610.000000, 1.000000, 9610.000000, 1.000000, 0.000000, 1.000000, 7688.000000, 1.000000, 0.000000, 1.000000),
+(73, 9940.000000, 9940.000000, 1.000000, 9940.000000, 1.000000, 0.000000, 1.000000, 7952.000000, 1.000000, 0.000000, 1.000000),
+(74, 10282.000000, 10282.000000, 1.000000, 10282.000000, 1.000000, 0.000000, 1.000000, 8225.000000, 1.000000, 0.000000, 1.000000),
+(75, 10635.000000, 10635.000000, 1.000000, 10635.000000, 1.000000, 0.000000, 1.000000, 8508.000000, 1.000000, 0.000000, 1.000000),
+(76, 11001.000000, 11001.000000, 1.000000, 11001.000000, 1.000000, 0.000000, 1.000000, 8800.000000, 1.000000, 0.000000, 1.000000),
+(77, 11379.000000, 11379.000000, 1.000000, 11379.000000, 1.000000, 0.000000, 1.000000, 9103.000000, 1.000000, 0.000000, 1.000000),
+(78, 11770.000000, 11770.000000, 1.000000, 11770.000000, 1.000000, 0.000000, 1.000000, 9416.000000, 1.000000, 0.000000, 1.000000),
+(79, 12175.000000, 12175.000000, 1.000000, 12175.000000, 1.000000, 0.000000, 1.000000, 9740.000000, 1.000000, 0.000000, 1.000000),
+(80, 12600.000000, 12600.000000, 1.000000, 12600.000000, 1.000000, 0.000000, 1.000000, 10080.000000, 1.000000, 0.000000, 1.000000),
+(81, 13033.000000, 13033.000000, 1.000000, 13033.000000, 1.000000, 0.000000, 1.000000, 10426.000000, 1.000000, 0.000000, 1.000000),
+(82, 13481.000000, 13481.000000, 1.000000, 13481.000000, 1.000000, 0.000000, 1.000000, 10784.000000, 1.000000, 0.000000, 1.000000),
+(83, 13945.000000, 13945.000000, 1.000000, 13945.000000, 1.000000, 0.000000, 1.000000, 11156.000000, 1.000000, 0.000000, 1.000000),
+(84, 14424.000000, 14424.000000, 1.000000, 14424.000000, 1.000000, 0.000000, 1.000000, 11539.000000, 1.000000, 0.000000, 1.000000),
+(85, 14921.000000, 14921.000000, 1.000000, 14921.000000, 1.000000, 0.000000, 1.000000, 11936.000000, 1.000000, 0.000000, 1.000000),
+(86, 15435.000000, 15435.000000, 1.000000, 15435.000000, 1.000000, 0.000000, 1.000000, 12348.000000, 1.000000, 0.000000, 1.000000),
+(87, 15966.000000, 15966.000000, 1.000000, 15966.000000, 1.000000, 0.000000, 1.000000, 12772.000000, 1.000000, 0.000000, 1.000000),
+(88, 16515.000000, 16515.000000, 1.000000, 16515.000000, 1.000000, 0.000000, 1.000000, 13212.000000, 1.000000, 0.000000, 1.000000),
+(89, 17084.000000, 17084.000000, 1.000000, 17084.000000, 1.000000, 0.000000, 1.000000, 13667.000000, 1.000000, 0.000000, 1.000000),
+(90, 17672.000000, 17672.000000, 1.000000, 17672.000000, 1.000000, 0.000000, 1.000000, 14137.000000, 1.000000, 0.000000, 1.000000),
+(91, 18280.000000, 18280.000000, 1.000000, 18280.000000, 1.000000, 0.000000, 1.000000, 14624.000000, 1.000000, 0.000000, 1.000000),
+(92, 18909.000000, 18909.000000, 1.000000, 18909.000000, 1.000000, 0.000000, 1.000000, 15127.000000, 1.000000, 0.000000, 1.000000),
+(93, 19560.000000, 19560.000000, 1.000000, 19560.000000, 1.000000, 0.000000, 1.000000, 15648.000000, 1.000000, 0.000000, 1.000000),
+(94, 20233.000000, 20233.000000, 1.000000, 20233.000000, 1.000000, 0.000000, 1.000000, 16186.000000, 1.000000, 0.000000, 1.000000),
+(95, 20930.000000, 20930.000000, 1.000000, 20930.000000, 1.000000, 0.000000, 1.000000, 16744.000000, 1.000000, 0.000000, 1.000000),
+(96, 21650.000000, 21650.000000, 1.000000, 21650.000000, 1.000000, 0.000000, 1.000000, 17320.000000, 1.000000, 0.000000, 1.000000),
+(97, 22395.000000, 22395.000000, 1.000000, 22395.000000, 1.000000, 0.000000, 1.000000, 17916.000000, 1.000000, 0.000000, 1.000000),
+(98, 23166.000000, 23166.000000, 1.000000, 23166.000000, 1.000000, 0.000000, 1.000000, 18532.000000, 1.000000, 0.000000, 1.000000),
+(99, 23964.000000, 23964.000000, 1.000000, 23964.000000, 1.000000, 0.000000, 1.000000, 19171.000000, 1.000000, 0.000000, 1.000000),
+(100, 24788.000000, 24788.000000, 1.000000, 24788.000000, 1.000000, 0.000000, 1.000000, 19830.000000, 1.000000, 0.000000, 1.000000);
+
+DROP TABLE IF EXISTS `gt_npc_total_hp_exp3`;
+CREATE TABLE `gt_npc_total_hp_exp3` (
+ `Level` TINYINT UNSIGNED NOT NULL,
+ `Warrior` FLOAT NOT NULL,
+ `Paladin` FLOAT NOT NULL,
+ `Hunter` FLOAT NOT NULL,
+ `Rogue` FLOAT NOT NULL,
+ `Priest` FLOAT NOT NULL,
+ `DeathKnight` FLOAT NOT NULL,
+ `Shaman` FLOAT NOT NULL,
+ `Mage` FLOAT NOT NULL,
+ `Warlock` FLOAT NOT NULL,
+ `Monk` FLOAT NOT NULL,
+ `Druid` FLOAT NOT NULL,
+ PRIMARY KEY (`Level`)
+) ENGINE=INNODB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+INSERT INTO `gt_npc_total_hp_exp3` (`Level`, `Warrior`, `Paladin`, `Hunter`, `Rogue`, `Priest`, `DeathKnight`, `Shaman`, `Mage`, `Warlock`, `Monk`, `Druid`) VALUES
+(1, 42.000000, 42.000000, 1.000000, 42.000000, 1.000000, 0.000000, 1.000000, 41.000000, 1.000000, 0.000000, 1.000000),
+(2, 55.000000, 55.000000, 1.000000, 55.000000, 1.000000, 0.000000, 1.000000, 54.000000, 1.000000, 0.000000, 1.000000),
+(3, 71.000000, 71.000000, 1.000000, 71.000000, 1.000000, 0.000000, 1.000000, 69.000000, 1.000000, 0.000000, 1.000000),
+(4, 86.000000, 86.000000, 1.000000, 86.000000, 1.000000, 0.000000, 1.000000, 83.000000, 1.000000, 0.000000, 1.000000),
+(5, 102.000000, 102.000000, 1.000000, 102.000000, 1.000000, 0.000000, 1.000000, 98.000000, 1.000000, 0.000000, 1.000000),
+(6, 120.000000, 120.000000, 1.000000, 120.000000, 1.000000, 0.000000, 1.000000, 115.000000, 1.000000, 0.000000, 1.000000),
+(7, 137.000000, 137.000000, 1.000000, 137.000000, 1.000000, 0.000000, 1.000000, 131.000000, 1.000000, 0.000000, 1.000000),
+(8, 156.000000, 156.000000, 1.000000, 156.000000, 1.000000, 0.000000, 1.000000, 148.000000, 1.000000, 0.000000, 1.000000),
+(9, 176.000000, 176.000000, 1.000000, 176.000000, 1.000000, 0.000000, 1.000000, 166.000000, 1.000000, 0.000000, 1.000000),
+(10, 198.000000, 198.000000, 1.000000, 198.000000, 1.000000, 0.000000, 1.000000, 186.000000, 1.000000, 0.000000, 1.000000),
+(11, 222.000000, 222.000000, 1.000000, 222.000000, 1.000000, 0.000000, 1.000000, 208.000000, 1.000000, 0.000000, 1.000000),
+(12, 247.000000, 247.000000, 1.000000, 247.000000, 1.000000, 0.000000, 1.000000, 230.000000, 1.000000, 0.000000, 1.000000),
+(13, 273.000000, 273.000000, 1.000000, 273.000000, 1.000000, 0.000000, 1.000000, 253.000000, 1.000000, 0.000000, 1.000000),
+(14, 300.000000, 300.000000, 1.000000, 300.000000, 1.000000, 0.000000, 1.000000, 276.000000, 1.000000, 0.000000, 1.000000),
+(15, 328.000000, 328.000000, 1.000000, 328.000000, 1.000000, 0.000000, 1.000000, 301.000000, 1.000000, 0.000000, 1.000000),
+(16, 356.000000, 356.000000, 1.000000, 356.000000, 1.000000, 0.000000, 1.000000, 325.000000, 1.000000, 0.000000, 1.000000),
+(17, 386.000000, 386.000000, 1.000000, 386.000000, 1.000000, 0.000000, 1.000000, 350.000000, 1.000000, 0.000000, 1.000000),
+(18, 417.000000, 417.000000, 1.000000, 417.000000, 1.000000, 0.000000, 1.000000, 377.000000, 1.000000, 0.000000, 1.000000),
+(19, 449.000000, 449.000000, 1.000000, 449.000000, 1.000000, 0.000000, 1.000000, 404.000000, 1.000000, 0.000000, 1.000000),
+(20, 484.000000, 484.000000, 1.000000, 484.000000, 1.000000, 0.000000, 1.000000, 433.000000, 1.000000, 0.000000, 1.000000),
+(21, 521.000000, 521.000000, 1.000000, 521.000000, 1.000000, 0.000000, 1.000000, 464.000000, 1.000000, 0.000000, 1.000000),
+(22, 562.000000, 562.000000, 1.000000, 562.000000, 1.000000, 0.000000, 1.000000, 498.000000, 1.000000, 0.000000, 1.000000),
+(23, 605.000000, 605.000000, 1.000000, 605.000000, 1.000000, 0.000000, 1.000000, 533.000000, 1.000000, 0.000000, 1.000000),
+(24, 651.000000, 651.000000, 1.000000, 651.000000, 1.000000, 0.000000, 1.000000, 571.000000, 1.000000, 0.000000, 1.000000),
+(25, 699.000000, 699.000000, 1.000000, 699.000000, 1.000000, 0.000000, 1.000000, 610.000000, 1.000000, 0.000000, 1.000000),
+(26, 750.000000, 750.000000, 1.000000, 750.000000, 1.000000, 0.000000, 1.000000, 651.000000, 1.000000, 0.000000, 1.000000),
+(27, 800.000000, 800.000000, 1.000000, 800.000000, 1.000000, 0.000000, 1.000000, 690.000000, 1.000000, 0.000000, 1.000000),
+(28, 853.000000, 853.000000, 1.000000, 853.000000, 1.000000, 0.000000, 1.000000, 732.000000, 1.000000, 0.000000, 1.000000),
+(29, 905.000000, 905.000000, 1.000000, 905.000000, 1.000000, 0.000000, 1.000000, 773.000000, 1.000000, 0.000000, 1.000000),
+(30, 955.000000, 955.000000, 1.000000, 955.000000, 1.000000, 0.000000, 1.000000, 811.000000, 1.000000, 0.000000, 1.000000),
+(31, 1006.000000, 1006.000000, 1.000000, 1006.000000, 1.000000, 0.000000, 1.000000, 850.000000, 1.000000, 0.000000, 1.000000),
+(32, 1057.000000, 1057.000000, 1.000000, 1057.000000, 1.000000, 0.000000, 1.000000, 888.000000, 1.000000, 0.000000, 1.000000),
+(33, 1110.000000, 1110.000000, 1.000000, 1110.000000, 1.000000, 0.000000, 1.000000, 928.000000, 1.000000, 0.000000, 1.000000),
+(34, 1163.000000, 1163.000000, 1.000000, 1163.000000, 1.000000, 0.000000, 1.000000, 967.000000, 1.000000, 0.000000, 1.000000),
+(35, 1220.000000, 1220.000000, 1.000000, 1220.000000, 1.000000, 0.000000, 1.000000, 1009.000000, 1.000000, 0.000000, 1.000000),
+(36, 1277.000000, 1277.000000, 1.000000, 1277.000000, 1.000000, 0.000000, 1.000000, 1050.000000, 1.000000, 0.000000, 1.000000),
+(37, 1336.000000, 1336.000000, 1.000000, 1336.000000, 1.000000, 0.000000, 1.000000, 1093.000000, 1.000000, 0.000000, 1.000000),
+(38, 1395.000000, 1395.000000, 1.000000, 1395.000000, 1.000000, 0.000000, 1.000000, 1135.000000, 1.000000, 0.000000, 1.000000),
+(39, 1459.000000, 1459.000000, 1.000000, 1459.000000, 1.000000, 0.000000, 1.000000, 1180.000000, 1.000000, 0.000000, 1.000000),
+(40, 1524.000000, 1524.000000, 1.000000, 1524.000000, 1.000000, 0.000000, 1.000000, 1226.000000, 1.000000, 0.000000, 1.000000),
+(41, 1585.000000, 1585.000000, 1.000000, 1585.000000, 1.000000, 0.000000, 1.000000, 1268.000000, 1.000000, 0.000000, 1.000000),
+(42, 1651.000000, 1651.000000, 1.000000, 1651.000000, 1.000000, 0.000000, 1.000000, 1321.000000, 1.000000, 0.000000, 1.000000),
+(43, 1716.000000, 1716.000000, 1.000000, 1716.000000, 1.000000, 0.000000, 1.000000, 1373.000000, 1.000000, 0.000000, 1.000000),
+(44, 1782.000000, 1782.000000, 1.000000, 1782.000000, 1.000000, 0.000000, 1.000000, 1426.000000, 1.000000, 0.000000, 1.000000),
+(45, 1848.000000, 1848.000000, 1.000000, 1848.000000, 1.000000, 0.000000, 1.000000, 1478.000000, 1.000000, 0.000000, 1.000000),
+(46, 1919.000000, 1919.000000, 1.000000, 1919.000000, 1.000000, 0.000000, 1.000000, 1535.000000, 1.000000, 0.000000, 1.000000),
+(47, 1990.000000, 1990.000000, 1.000000, 1990.000000, 1.000000, 0.000000, 1.000000, 1592.000000, 1.000000, 0.000000, 1.000000),
+(48, 2062.000000, 2062.000000, 1.000000, 2062.000000, 1.000000, 0.000000, 1.000000, 1650.000000, 1.000000, 0.000000, 1.000000),
+(49, 2138.000000, 2138.000000, 1.000000, 2138.000000, 1.000000, 0.000000, 1.000000, 1710.000000, 1.000000, 0.000000, 1.000000),
+(50, 2215.000000, 2215.000000, 1.000000, 2215.000000, 1.000000, 0.000000, 1.000000, 1772.000000, 1.000000, 0.000000, 1.000000),
+(51, 2292.000000, 2292.000000, 1.000000, 2292.000000, 1.000000, 0.000000, 1.000000, 1834.000000, 1.000000, 0.000000, 1.000000),
+(52, 2371.000000, 2371.000000, 1.000000, 2371.000000, 1.000000, 0.000000, 1.000000, 1897.000000, 1.000000, 0.000000, 1.000000),
+(53, 2453.000000, 2453.000000, 1.000000, 2453.000000, 1.000000, 0.000000, 1.000000, 1962.000000, 1.000000, 0.000000, 1.000000),
+(54, 2533.000000, 2533.000000, 1.000000, 2533.000000, 1.000000, 0.000000, 1.000000, 2026.000000, 1.000000, 0.000000, 1.000000),
+(55, 2614.000000, 2614.000000, 1.000000, 2614.000000, 1.000000, 0.000000, 1.000000, 2091.000000, 1.000000, 0.000000, 1.000000),
+(56, 2699.000000, 2699.000000, 1.000000, 2699.000000, 1.000000, 0.000000, 1.000000, 2159.000000, 1.000000, 0.000000, 1.000000),
+(57, 2784.000000, 2784.000000, 1.000000, 2784.000000, 1.000000, 0.000000, 1.000000, 2227.000000, 1.000000, 0.000000, 1.000000),
+(58, 3989.000000, 3989.000000, 1.000000, 3989.000000, 1.000000, 0.000000, 1.000000, 3191.000000, 1.000000, 0.000000, 1.000000),
+(59, 4142.000000, 4142.000000, 1.000000, 4142.000000, 1.000000, 0.000000, 1.000000, 3313.000000, 1.000000, 0.000000, 1.000000),
+(60, 4979.000000, 4979.000000, 1.000000, 4979.000000, 1.000000, 0.000000, 1.000000, 3984.000000, 1.000000, 0.000000, 1.000000),
+(61, 5158.000000, 5158.000000, 1.000000, 5158.000000, 1.000000, 0.000000, 1.000000, 4126.000000, 1.000000, 0.000000, 1.000000),
+(62, 5341.000000, 5341.000000, 1.000000, 5341.000000, 1.000000, 0.000000, 1.000000, 4272.000000, 1.000000, 0.000000, 1.000000),
+(63, 5527.000000, 5527.000000, 1.000000, 5527.000000, 1.000000, 0.000000, 1.000000, 4421.000000, 1.000000, 0.000000, 1.000000),
+(64, 5715.000000, 5715.000000, 1.000000, 5715.000000, 1.000000, 0.000000, 1.000000, 4572.000000, 1.000000, 0.000000, 1.000000),
+(65, 5914.000000, 5914.000000, 1.000000, 5914.000000, 1.000000, 0.000000, 1.000000, 4731.000000, 1.000000, 0.000000, 1.000000),
+(66, 6116.000000, 6116.000000, 1.000000, 6116.000000, 1.000000, 0.000000, 1.000000, 4892.000000, 1.000000, 0.000000, 1.000000),
+(67, 6326.000000, 6326.000000, 1.000000, 6326.000000, 1.000000, 0.000000, 1.000000, 5060.000000, 1.000000, 0.000000, 1.000000),
+(68, 6986.000000, 6986.000000, 1.000000, 6986.000000, 1.000000, 0.000000, 1.000000, 5588.000000, 1.000000, 0.000000, 1.000000),
+(69, 7984.000000, 7984.000000, 1.000000, 7984.000000, 1.000000, 0.000000, 1.000000, 6387.000000, 1.000000, 0.000000, 1.000000),
+(70, 8982.000000, 8982.000000, 1.000000, 8982.000000, 1.000000, 0.000000, 1.000000, 7185.000000, 1.000000, 0.000000, 1.000000),
+(71, 9291.000000, 9291.000000, 1.000000, 9291.000000, 1.000000, 0.000000, 1.000000, 7432.000000, 1.000000, 0.000000, 1.000000),
+(72, 9610.000000, 9610.000000, 1.000000, 9610.000000, 1.000000, 0.000000, 1.000000, 7688.000000, 1.000000, 0.000000, 1.000000),
+(73, 9940.000000, 9940.000000, 1.000000, 9940.000000, 1.000000, 0.000000, 1.000000, 7952.000000, 1.000000, 0.000000, 1.000000),
+(74, 10282.000000, 10282.000000, 1.000000, 10282.000000, 1.000000, 0.000000, 1.000000, 8225.000000, 1.000000, 0.000000, 1.000000),
+(75, 10635.000000, 10635.000000, 1.000000, 10635.000000, 1.000000, 0.000000, 1.000000, 8508.000000, 1.000000, 0.000000, 1.000000),
+(76, 11001.000000, 11001.000000, 1.000000, 11001.000000, 1.000000, 0.000000, 1.000000, 8800.000000, 1.000000, 0.000000, 1.000000),
+(77, 11379.000000, 11379.000000, 1.000000, 11379.000000, 1.000000, 0.000000, 1.000000, 9103.000000, 1.000000, 0.000000, 1.000000),
+(78, 21441.000000, 21441.000000, 1.000000, 21441.000000, 1.000000, 0.000000, 1.000000, 17153.000000, 1.000000, 0.000000, 1.000000),
+(79, 25761.000000, 25761.000000, 1.000000, 25761.000000, 1.000000, 0.000000, 1.000000, 20609.000000, 1.000000, 0.000000, 1.000000),
+(80, 30951.000000, 30951.000000, 1.000000, 30951.000000, 1.000000, 0.000000, 1.000000, 24761.000000, 1.000000, 0.000000, 1.000000),
+(81, 37187.000000, 37187.000000, 1.000000, 37187.000000, 1.000000, 0.000000, 1.000000, 29750.000000, 1.000000, 0.000000, 1.000000),
+(82, 44679.000000, 44679.000000, 1.000000, 44679.000000, 1.000000, 0.000000, 1.000000, 35743.000000, 1.000000, 0.000000, 1.000000),
+(83, 53681.000000, 53681.000000, 1.000000, 53681.000000, 1.000000, 0.000000, 1.000000, 42945.000000, 1.000000, 0.000000, 1.000000),
+(84, 64496.000000, 64496.000000, 1.000000, 64496.000000, 1.000000, 0.000000, 1.000000, 51597.000000, 1.000000, 0.000000, 1.000000),
+(85, 77490.000000, 77490.000000, 1.000000, 77490.000000, 1.000000, 0.000000, 1.000000, 61992.000000, 1.000000, 0.000000, 1.000000),
+(86, 80195.000000, 80195.000000, 1.000000, 80195.000000, 1.000000, 0.000000, 1.000000, 64156.000000, 1.000000, 0.000000, 1.000000),
+(87, 82994.000000, 82994.000000, 1.000000, 82994.000000, 1.000000, 0.000000, 1.000000, 66395.000000, 1.000000, 0.000000, 1.000000),
+(88, 85892.000000, 85892.000000, 1.000000, 85892.000000, 1.000000, 0.000000, 1.000000, 68714.000000, 1.000000, 0.000000, 1.000000),
+(89, 17084.000000, 17084.000000, 1.000000, 17084.000000, 1.000000, 0.000000, 1.000000, 13667.000000, 1.000000, 0.000000, 1.000000),
+(90, 17672.000000, 17672.000000, 1.000000, 17672.000000, 1.000000, 0.000000, 1.000000, 14138.000000, 1.000000, 0.000000, 1.000000),
+(91, 18280.000000, 18280.000000, 1.000000, 18280.000000, 1.000000, 0.000000, 1.000000, 14624.000000, 1.000000, 0.000000, 1.000000),
+(92, 18909.000000, 18909.000000, 1.000000, 18909.000000, 1.000000, 0.000000, 1.000000, 15127.000000, 1.000000, 0.000000, 1.000000),
+(93, 19560.000000, 19560.000000, 1.000000, 19560.000000, 1.000000, 0.000000, 1.000000, 15648.000000, 1.000000, 0.000000, 1.000000),
+(94, 20233.000000, 20233.000000, 1.000000, 20233.000000, 1.000000, 0.000000, 1.000000, 16186.000000, 1.000000, 0.000000, 1.000000),
+(95, 20930.000000, 20930.000000, 1.000000, 20930.000000, 1.000000, 0.000000, 1.000000, 16744.000000, 1.000000, 0.000000, 1.000000),
+(96, 21650.000000, 21650.000000, 1.000000, 21650.000000, 1.000000, 0.000000, 1.000000, 17320.000000, 1.000000, 0.000000, 1.000000),
+(97, 22395.000000, 22395.000000, 1.000000, 22395.000000, 1.000000, 0.000000, 1.000000, 17916.000000, 1.000000, 0.000000, 1.000000),
+(98, 23166.000000, 23166.000000, 1.000000, 23166.000000, 1.000000, 0.000000, 1.000000, 18533.000000, 1.000000, 0.000000, 1.000000),
+(99, 23964.000000, 23964.000000, 1.000000, 23964.000000, 1.000000, 0.000000, 1.000000, 19171.000000, 1.000000, 0.000000, 1.000000),
+(100, 24788.000000, 24788.000000, 1.000000, 24788.000000, 1.000000, 0.000000, 1.000000, 19830.000000, 1.000000, 0.000000, 1.000000);
diff --git a/src/server/game/DataStores/GameTable.h b/src/server/game/DataStores/GameTable.h
deleted file mode 100644
index dc42f7ef79..0000000000
--- a/src/server/game/DataStores/GameTable.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see .
- */
-
-#ifndef __GAMETABLE_H
-#define __GAMETABLE_H
-
-#include "Define.h"
-
-enum UnitClass : uint8;
-
-class GameTable
-{
-public:
- static float GetSpellScalingValue(uint8 level, UnitClass unitClass);
-};
-
-#endif // __GAMETABLE_H
diff --git a/src/server/game/DataStores/GameTable.cpp b/src/server/game/DataStores/GameTables.cpp
similarity index 68%
rename from src/server/game/DataStores/GameTable.cpp
rename to src/server/game/DataStores/GameTables.cpp
index b11efb977e..98bd289429 100644
--- a/src/server/game/DataStores/GameTable.cpp
+++ b/src/server/game/DataStores/GameTables.cpp
@@ -15,11 +15,13 @@
* with this program. If not, see .
*/
-#include "GameTable.h"
+#include "GameTables.h"
#include "DBCStores.h"
#include "DBCStructure.h"
-/*static*/ float GameTable::GetSpellScalingValue(uint8 level, UnitClass unitClass)
+GameTable sNpcTotalHpGameTable[MAX_EXPANSIONS];
+
+/*static*/ float GameTables::GetSpellScalingValue(uint8 level, UnitClass unitClass)
{
if (level > GT_MAX_LEVEL)
return 0.0f;
@@ -30,3 +32,11 @@
return gt->value;
}
+
+/*float*/ float GameTables::GetNpcTotalHpValue(uint8 level, UnitClass unitClass, Expansions expansion)
+{
+ if (level > GT_MAX_LEVEL || expansion >= MAX_EXPANSIONS)
+ return 0.0f;
+
+ return GetGameTableColumnForClass(sNpcTotalHpGameTable[expansion].GetRow(level), unitClass);
+}
diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h
new file mode 100644
index 0000000000..3b2c992a07
--- /dev/null
+++ b/src/server/game/DataStores/GameTables.h
@@ -0,0 +1,104 @@
+/*
+* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see .
+ */
+
+#ifndef __GAMETABLES_H
+#define __GAMETABLES_H
+
+#include "Define.h"
+
+enum UnitClass : uint8;
+
+struct GtNpcTotalHpEntry
+{
+ float Warrior = 0.0f;
+ float Paladin = 0.0f;
+ float Hunter = 0.0f;
+ float Rogue = 0.0f;
+ float Priest = 0.0f;
+ float DeathKnight = 0.0f;
+ float Shaman = 0.0f;
+ float Mage = 0.0f;
+ float Warlock = 0.0f;
+ float Monk = 0.0f;
+ float Druid = 0.0f;
+};
+
+template
+class GameTable
+{
+public:
+ T const* GetRow(uint32 row) const
+ {
+ if (row >= _data.size())
+ return nullptr;
+
+ return &_data[row];
+ }
+
+ std::size_t GetTableRowCount() const { return _data.size(); }
+
+ void SetData(std::vector data) { _data = std::move(data); }
+
+private:
+ std::vector _data;
+};
+
+class GameTables
+{
+public:
+ // Helper Methods
+ static float GetSpellScalingValue(uint8 level, UnitClass unitClass);
+ static float GetNpcTotalHpValue(uint8 level, UnitClass unitClass, Expansions expansion);
+};
+
+TC_GAME_API extern GameTable sNpcTotalHpGameTable[MAX_EXPANSIONS];
+
+template
+inline float GetGameTableColumnForClass(T const* row, int32 class_)
+{
+ switch (class_)
+ {
+ case CLASS_WARRIOR:
+ return row->Warrior;
+ case CLASS_PALADIN:
+ return row->Paladin;
+ case CLASS_HUNTER:
+ return row->Hunter;
+ case CLASS_ROGUE:
+ return row->Rogue;
+ case CLASS_PRIEST:
+ return row->Priest;
+ case CLASS_DEATH_KNIGHT:
+ return row->DeathKnight;
+ case CLASS_SHAMAN:
+ return row->Shaman;
+ case CLASS_MAGE:
+ return row->Mage;
+ case CLASS_WARLOCK:
+ return row->Warlock;
+ //case CLASS_MONK:
+ // return row->Monk;
+ case CLASS_DRUID:
+ return row->Druid;
+ default:
+ break;
+ }
+
+ return 0.0f;
+}
+
+#endif // __GAMETABLES_H
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index dbc0b9888c..4c7b406c0e 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -27,6 +27,7 @@
#include "DB2Structure.h"
#include "DB2Stores.h"
#include "DisableMgr.h"
+#include "GameTables.h"
#include "GameTime.h"
#include "GameObject.h"
#include "GameObjectAIFactory.h"
@@ -9554,8 +9555,8 @@ CreatureBaseStats const* ObjectMgr::GetCreatureBaseStats(uint8 level, uint8 unit
void ObjectMgr::LoadCreatureClassLevelStats()
{
uint32 oldMSTime = getMSTime();
- // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
- QueryResult result = WorldDatabase.Query("SELECT level, class, basehp0, basehp1, basehp2, basehp3, basemana, basearmor, attackpower, rangedattackpower, damage_base, damage_exp1, damage_exp2, damage_exp3 FROM creature_classlevelstats");
+ // 0 1 2 3 4 5 6 7 8 9
+ QueryResult result = WorldDatabase.Query("SELECT level, class, basemana, basearmor, attackpower, rangedattackpower, damage_base, damage_exp1, damage_exp2, damage_exp3 FROM creature_classlevelstats");
if (!result)
{
@@ -9578,15 +9579,9 @@ void ObjectMgr::LoadCreatureClassLevelStats()
for (uint8 i = 0; i < MAX_EXPANSIONS; ++i)
{
- stats.BaseHealth[i] = fields[2 + i].GetUInt32();
+ stats.BaseHealth[i] = GetGameTableColumnForClass(sNpcTotalHpGameTable[i].GetRow(Level), Class);
- if (stats.BaseHealth[i] == 0)
- {
- TC_LOG_ERROR("sql.sql", "Creature base stats for class %u, level %u has invalid zero base HP[%u] - set to 1", Class, Level, i);
- stats.BaseHealth[i] = 1;
- }
-
- stats.BaseDamage[i] = fields[10 + i].GetFloat();
+ stats.BaseDamage[i] = fields[6 + i].GetFloat();
if (stats.BaseDamage[i] < 0.0f)
{
TC_LOG_ERROR("sql.sql", "Creature base stats for class %u, level %u has invalid negative base damage[%u] - set to 0.0", Class, Level, i);
@@ -9594,11 +9589,11 @@ void ObjectMgr::LoadCreatureClassLevelStats()
}
}
- stats.BaseMana = fields[6].GetUInt16();
- stats.BaseArmor = fields[7].GetUInt16();
+ stats.BaseMana = fields[2].GetUInt16();
+ stats.BaseArmor = fields[3].GetUInt16();
- stats.AttackPower = fields[8].GetUInt16();
- stats.RangedAttackPower = fields[9].GetUInt16();
+ stats.AttackPower = fields[4].GetUInt16();
+ stats.RangedAttackPower = fields[5].GetUInt16();
_creatureBaseStatsStore[MAKE_PAIR16(Level, Class)] = stats;
@@ -10098,6 +10093,81 @@ CreatureStaticFlagsOverride const* ObjectMgr::GetCreatureStaticFlagsOverride(Obj
return Trinity::Containers::MapGetValuePtr(_creatureStaticFlagsOverrideStore, std::make_pair(spawnId, difficultyId));
}
+void ObjectMgr::LoadDatabaseGameTables()
+{
+ LoadNpcTotalHpGameTables();
+}
+
+void ObjectMgr::LoadNpcTotalHpGameTables()
+{
+ uint32 oldMSTime = getMSTime();
+
+ QueryResult result = WorldDatabase.Query("SELECT exp0.Level, exp0.Warrior, exp1.Warrior, exp2.Warrior, exp3.Warrior, "
+ "exp0.Paladin, exp1.Paladin, exp2.Paladin, exp3.Paladin, "
+ "exp0.Hunter, exp1.Hunter, exp2.Hunter, exp3.Hunter, "
+ "exp0.Rogue, exp1.Rogue, exp2.Rogue, exp3.Rogue, "
+ "exp0.Priest, exp1.Priest, exp2.Priest, exp3.Priest, "
+ "exp0.DeathKnight, exp1.DeathKnight, exp2.DeathKnight, exp3.DeathKnight, "
+ "exp0.Shaman, exp1.Shaman, exp2.Shaman, exp3.Shaman, "
+ "exp0.Mage, exp1.Mage, exp2.Mage, exp3.Mage, "
+ "exp0.Warlock, exp1.Warlock, exp2.Warlock, exp3.Warlock, "
+ "exp0.Monk, exp1.Monk, exp2.Monk, exp3.Monk, "
+ "exp0.Druid, exp1.Druid, exp2.Druid, exp3.Druid "
+ "FROM gt_npc_total_hp AS exp0 "
+ "INNER JOIN gt_npc_total_hp_exp1 AS exp1 ON exp0.Level = exp1.Level "
+ "INNER JOIN gt_npc_total_hp_exp2 AS exp2 ON exp0.Level = exp2.Level "
+ "INNER JOIN gt_npc_total_hp_exp3 AS exp3 ON exp0.Level = exp3.Level "
+ "ORDER BY Level ASC");
+
+ if (!result)
+ {
+ TC_LOG_INFO("server.loading", ">> Loaded 0 npc total health game table entries. DB table `gt_npc_total_hp` is empty.");
+ return;
+ }
+
+ uint32 count = 0;
+
+ // Initialize the storages with one extra entry for level 0
+ std::vector npcTotalHpExp0(result->GetRowCount() + 1);
+ std::vector npcTotalHpExp1(result->GetRowCount() + 1);
+ std::vector npcTotalHpExp2(result->GetRowCount() + 1);
+ std::vector npcTotalHpExp3(result->GetRowCount() + 1);
+
+ do
+ {
+ Field* fields = result->Fetch();
+
+ uint8 level = fields[0].GetUInt8();
+ uint8 expansion = 0;
+ for (std::vector* storage : { &npcTotalHpExp0, &npcTotalHpExp1, &npcTotalHpExp2, &npcTotalHpExp3 })
+ {
+ std::vector& npcTotalHp = *storage;
+
+ npcTotalHp[level].Warrior = fields[1 + expansion].GetFloat();
+ npcTotalHp[level].Paladin = fields[5 + expansion].GetFloat();
+ npcTotalHp[level].Hunter = fields[9 + expansion].GetFloat();
+ npcTotalHp[level].Rogue = fields[13 + expansion].GetFloat();
+ npcTotalHp[level].Priest = fields[17 + expansion].GetFloat();
+ npcTotalHp[level].DeathKnight = fields[21 + expansion].GetFloat();
+ npcTotalHp[level].Shaman = fields[25 + expansion].GetFloat();
+ npcTotalHp[level].Mage = fields[29 + expansion].GetFloat();
+ npcTotalHp[level].Warlock = fields[33 + expansion].GetFloat();
+ npcTotalHp[level].Monk = fields[37 + expansion].GetFloat();
+ npcTotalHp[level].Druid = fields[41 + expansion].GetFloat();
+
+ ++expansion;
+ }
+ }
+ while (result->NextRow());
+
+ sNpcTotalHpGameTable[EXPANSION_CLASSIC].SetData(npcTotalHpExp0);
+ sNpcTotalHpGameTable[EXPANSION_THE_BURNING_CRUSADE].SetData(npcTotalHpExp1);
+ sNpcTotalHpGameTable[EXPANSION_WRATH_OF_THE_LICH_KING].SetData(npcTotalHpExp2);
+ sNpcTotalHpGameTable[EXPANSION_CATACLYSM].SetData(npcTotalHpExp3);
+
+ TC_LOG_INFO("server.loading", ">> Loaded %u npc total health game table entries in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
void ObjectMgr::LoadGameObjectQuestItems()
{
uint32 oldMSTime = getMSTime();
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 3fa21dc346..274496d170 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -1611,6 +1611,9 @@ class TC_GAME_API ObjectMgr
CreatureStaticFlagsOverride const* GetCreatureStaticFlagsOverride(ObjectGuid::LowType spawnId, Difficulty difficultyId) const;
+ void LoadDatabaseGameTables();
+ void LoadNpcTotalHpGameTables();
+
private:
// first free id for selected id type
uint32 _auctionId;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 8c2f12b72f..46ccd1a355 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -21,7 +21,7 @@
#include "Creature.h"
#include "DBCStores.h"
#include "GameClient.h"
-#include "GameTable.h"
+#include "GameTables.h"
#include "InstanceScript.h"
#include "Item.h"
#include "ItemTemplate.h"
@@ -518,7 +518,7 @@ int32 SpellEffectInfo::CalcBaseValue(WorldObject const* caster, Unit const* targ
if (!_spellInfo->Scaling.Class)
return 0;
- value = GameTable::GetSpellScalingValue(level, static_cast(_spellInfo->Scaling.Class > 0 ? _spellInfo->Scaling.Class: (MAX_CLASSES - 1 /*last class*/) - _spellInfo->Scaling.Class));
+ value = GameTables::GetSpellScalingValue(level, static_cast(_spellInfo->Scaling.Class > 0 ? _spellInfo->Scaling.Class: (MAX_CLASSES - 1 /*last class*/) - _spellInfo->Scaling.Class));
value *= _spellInfo->GetSpellScalingMultiplier(level, false);
}
@@ -550,7 +550,7 @@ double SpellEffectInfo::CalcPointsPerResource(WorldObject const* caster) const
if (scalingClass < 0)
scalingClass = (MAX_CLASSES - 1 /*last class*/) - scalingClass;
- float scaledAmount = GameTable::GetSpellScalingValue(caster->ToUnit()->getLevel(), static_cast(scalingClass));
+ float scaledAmount = GameTables::GetSpellScalingValue(caster->ToUnit()->getLevel(), static_cast(scalingClass));
scaledAmount *= _spellInfo->GetSpellScalingMultiplier(caster->ToUnit()->getLevel(), false) * Scaling.ComboPointsCoefficient;
value = scaledAmount;
}
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index e55c960817..69bba7576d 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1901,7 +1901,10 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO("server.loading", "Loading Points Of Interest Data...");
sObjectMgr->LoadPointsOfInterest();
- TC_LOG_INFO("server.loading", "Loading Creature Base Stats...");
+ TC_LOG_INFO("server.loading", "Loading Database Game Tables...");
+ sObjectMgr->LoadDatabaseGameTables();
+
+ TC_LOG_INFO("server.loading", "Loading Creature Base Stats..."); // must be after LoadDatabaseGameTables
sObjectMgr->LoadCreatureClassLevelStats();
TC_LOG_INFO("server.loading", "Loading Spawn Group Templates...");