diff options
-rw-r--r-- | sql/updates/7139_world_creature_classlevelstats.sql | 406 | ||||
-rw-r--r-- | sql/updates/7139_world_creature_template.sql | 11 | ||||
-rw-r--r-- | src/game/Creature.cpp | 19 | ||||
-rw-r--r-- | src/game/Creature.h | 30 | ||||
-rw-r--r-- | src/game/ObjectMgr.cpp | 6 | ||||
-rw-r--r-- | src/game/StatSystem.cpp | 4 | ||||
-rw-r--r-- | src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp | 22 | ||||
-rw-r--r-- | src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp | 7 | ||||
-rw-r--r-- | src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp | 14 | ||||
-rw-r--r-- | src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp | 7 | ||||
-rw-r--r-- | src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp | 7 | ||||
-rw-r--r-- | src/scripts/world/npcs_special.cpp | 4 | ||||
-rw-r--r-- | src/shared/Database/SQLStorage.cpp | 4 |
13 files changed, 34 insertions, 507 deletions
diff --git a/sql/updates/7139_world_creature_classlevelstats.sql b/sql/updates/7139_world_creature_classlevelstats.sql deleted file mode 100644 index 5dc5eea7233..00000000000 --- a/sql/updates/7139_world_creature_classlevelstats.sql +++ /dev/null @@ -1,406 +0,0 @@ -ALTER TABLE `creature_classlevelstats` -ADD COLUMN `basedmg` float NOT NULL DEFAULT 0 AFTER `basearmor`, -ADD COLUMN `baserangeddmg` float NOT NULL DEFAULT 0 AFTER `basedmg`; - -TRUNCATE `creature_classlevelstats`; -INSERT INTO `creature_classlevelstats` (`level`,`class`,`basehp0`,`basehp1`,`basehp2`,`basemana`,`basearmor`,`basedmg`,`baserangeddmg`) VALUES -(1, 1, 42, 1, 1, 0, 8, 1.25, 1), -(2, 1, 55, 1, 1, 0, 20, 2.5, 2), -(3, 1, 71, 1, 1, 0, 33, 3.75, 3), -(4, 1, 86, 1, 1, 0, 68, 5, 4), -(5, 1, 102, 1, 1, 0, 111, 6.25, 5), -(6, 1, 120, 1, 1, 0, 165, 6.25, 5), -(7, 1, 137, 1, 1, 0, 230, 7.5, 6.25), -(8, 1, 156, 1, 1, 0, 306, 10, 7.5), -(9, 1, 176, 1, 1, 0, 387, 11.25, 8.75), -(10, 1, 198, 1, 1, 0, 463, 12.5, 10), -(11, 1, 222, 1, 1, 0, 528, 15, 11.25), -(12, 1, 247, 1, 1, 0, 562, 16.25, 13.75), -(13, 1, 273, 1, 1, 0, 596, 18.75, 15), -(14, 1, 300, 1, 1, 0, 630, 20, 16.25), -(15, 1, 328, 1, 1, 0, 665, 21.25, 17.5), -(16, 1, 356, 1, 1, 0, 700, 23.75, 18.75), -(17, 1, 386, 1, 1, 0, 734, 25, 20), -(18, 1, 417, 1, 1, 0, 768, 27.5, 21.25), -(19, 1, 449, 1, 1, 0, 802, 28.75, 22.5), -(20, 1, 484, 1, 1, 0, 836, 30, 25), -(21, 1, 521, 1, 1, 0, 872, 32.5, 26.25), -(22, 1, 562, 1, 1, 0, 906, 33.75, 27.5), -(23, 1, 605, 1, 1, 0, 940, 36.25, 28.75), -(24, 1, 651, 1, 1, 0, 975, 37.5, 30), -(25, 1, 699, 1, 1, 0, 1008, 38.75, 31.25), -(26, 1, 750, 1, 1, 0, 1043, 41.25, 32.5), -(27, 1, 800, 1, 1, 0, 1078, 42.5, 33.75), -(28, 1, 853, 1, 1, 0, 1111, 45, 35), -(29, 1, 905, 1, 1, 0, 1145, 46.25, 37.5), -(30, 1, 955, 1, 1, 0, 1179, 47.5, 38.75), -(31, 1, 1006, 1, 1, 0, 1213, 50, 40), -(32, 1, 1057, 1, 1, 0, 1249, 51.25, 41.25), -(33, 1, 1110, 1, 1, 0, 1281, 53.75, 42.5), -(34, 1, 1163, 1, 1, 0, 1317, 55, 43.75), -(35, 1, 1220, 1, 1, 0, 1349, 56.25, 45), -(36, 1, 1277, 1, 1, 0, 1456, 58.75, 46.25), -(37, 1, 1336, 1, 1, 0, 1568, 60, 48.75), -(38, 1, 1395, 1, 1, 0, 1684, 62.5, 50), -(39, 1, 1459, 1, 1, 0, 1808, 63.75, 51.25), -(40, 1, 1524, 1, 1, 0, 1938, 65, 52.5), -(41, 1, 1585, 1, 1, 0, 2074, 68.75, 55), -(42, 1, 1651, 1, 1, 0, 2218, 72.5, 57.5), -(43, 1, 1716, 1, 1, 0, 2369, 75, 60), -(44, 1, 1782, 1, 1, 0, 2528, 78.75, 63.75), -(45, 1, 1848, 1, 1, 0, 2695, 82.5, 66.25), -(46, 1, 1919, 1, 1, 0, 2750, 86.25, 68.75), -(47, 1, 1990, 1, 1, 0, 2804, 90, 71.25), -(48, 1, 2062, 1, 1, 0, 2857, 92.5, 75), -(49, 1, 2138, 1, 1, 0, 2912, 96.25, 77.5), -(50, 1, 2215, 1, 1, 0, 2966, 100, 80), -(51, 1, 2292, 1, 1, 0, 3018, 102.5, 81.25), -(52, 1, 2371, 1, 1, 0, 3060, 103.75, 83.75), -(53, 1, 2453, 1, 1, 0, 3128, 106.25, 85), -(54, 1, 2533, 1, 1, 0, 3180, 107.5, 86.25), -(55, 1, 2614, 1, 1, 0, 3234, 110, 87.5), -(56, 1, 2699, 1, 1, 0, 3289, 112.5, 90), -(57, 1, 2784, 1, 1, 0, 3342, 113.75, 91.25), -(58, 1, 2871, 3989, 1, 0, 3396, 130, 103.75), -(59, 1, 2961, 4142, 1, 0, 3449, 145, 116.25), -(60, 1, 3052, 4979, 1, 0, 3750, 160, 127.5), -(61, 1, 3144, 5158, 1, 0, 4047, 175, 140), -(62, 1, 3237, 5341, 1, 0, 4344, 190, 152.5), -(63, 1, 3331, 5527, 1, 0, 4641, 205, 163.75), -(64, 1, 3427, 5715, 1, 0, 4937, 220, 176.25), -(65, 1, 3524, 5914, 1, 0, 5234, 235, 187.5), -(66, 1, 3624, 6116, 1, 0, 5531, 250, 200), -(67, 1, 3728, 6326, 1, 0, 5829, 265, 212.5), -(68, 1, 3834, 6542, 6986, 0, 6126, 285, 227.5), -(69, 1, 3942, 6761, 7984, 0, 6423, 305, 243.75), -(70, 1, 4050, 6986, 8982, 0, 6719, 325, 260), -(71, 1, 4163, 7181, 9291, 0, 7018, 345, 276.25), -(72, 1, 4278, 7380, 9610, 0, 7318, 365, 292.5), -(73, 1, 4399, 7588, 9940, 0, 7618, 385, 307.5), -(74, 1, 4524, 7804, 10282, 0, 7918, 405, 323.75), -(75, 1, 4652, 8025, 10635, 0, 8219, 425, 340), -(76, 1, 4781, 8247, 11001, 0, 8520, 445, 356.25), -(77, 1, 4916, 8480, 11379, 0, 8822, 465, 372.5), -(78, 1, 5052, 1, 11770, 0, 9124, 485, 387.5), -(79, 1, 5194, 1, 12175, 0, 9426, 505, 403.75), -(80, 1, 5342, 9215, 12600, 0, 9729, 525, 420), -(81, 1, 5496, 1, 13033, 0, 10033, 545, 436.25), -(82, 1, 5647, 1, 13481, 0, 10356, 565, 452.5), -(83, 1, 5808, 1, 13945, 0, 10673, 585, 467.5), -(84, 1, 1, 1, 1, 0, 1, 0, 0), -(85, 1, 1, 1, 1, 0, 1, 0, 0), -(86, 1, 1, 1, 1, 0, 1, 0, 0), -(87, 1, 1, 1, 1, 0, 1, 0, 0), -(88, 1, 1, 1, 1, 0, 1, 0, 0), -(89, 1, 1, 1, 1, 0, 1, 0, 0), -(90, 1, 1, 1, 1, 0, 1, 0, 0), -(91, 1, 1, 1, 1, 0, 1, 0, 0), -(92, 1, 1, 1, 1, 0, 1, 0, 0), -(93, 1, 1, 1, 1, 0, 1, 0, 0), -(94, 1, 1, 1, 1, 0, 1, 0, 0), -(95, 1, 1, 1, 1, 0, 1, 0, 0), -(96, 1, 1, 1, 1, 0, 1, 0, 0), -(97, 1, 1, 1, 1, 0, 1, 0, 0), -(98, 1, 1, 1, 1, 0, 1, 0, 0), -(99, 1, 1, 1, 1, 0, 1, 0, 0), -(100, 1, 1, 1, 1, 0, 1, 0, 0), -(1, 2, 41, 1, 1, 60, 7, 1.25, 1), -(2, 2, 54, 1, 1, 69, 19, 2.5, 2), -(3, 2, 69, 1, 1, 79, 33, 3.75, 3), -(4, 2, 83, 1, 1, 104, 66, 5, 4), -(5, 2, 98, 1, 1, 115, 109, 6.25, 5), -(6, 2, 115, 1, 1, 126, 163, 6.25, 5), -(7, 2, 131, 1, 1, 138, 208, 7.5, 6.25), -(8, 2, 148, 1, 1, 165, 303, 8.75, 7.5), -(9, 2, 166, 1, 1, 178, 369, 11.25, 8.75), -(10, 2, 186, 1, 1, 191, 460, 12.5, 10), -(11, 2, 208, 1, 1, 205, 526, 13.75, 11.25), -(12, 2, 230, 1, 1, 249, 560, 16.25, 12.5), -(13, 2, 253, 1, 1, 264, 596, 17.5, 13.75), -(14, 2, 276, 1, 1, 295, 630, 18.75, 15), -(15, 2, 301, 1, 1, 326, 665, 20, 16.25), -(16, 2, 325, 1, 1, 357, 700, 22.5, 17.5), -(17, 2, 350, 1, 1, 390, 734, 23.75, 18.75), -(18, 2, 377, 1, 1, 408, 768, 25, 20), -(19, 2, 404, 1, 1, 456, 802, 27.5, 21.25), -(20, 2, 433, 1, 1, 490, 836, 28.75, 22.5), -(21, 2, 464, 1, 1, 510, 872, 30, 23.75), -(22, 2, 498, 1, 1, 545, 906, 32.5, 25), -(23, 2, 533, 1, 1, 581, 940, 33.75, 26.25), -(24, 2, 571, 1, 1, 618, 975, 35, 28.75), -(25, 2, 610, 1, 1, 655, 1008, 36.25, 30), -(26, 2, 651, 1, 1, 693, 1042, 38.75, 31.25), -(27, 2, 690, 1, 1, 732, 1078, 40, 32.5), -(28, 2, 732, 1, 1, 756, 1110, 41.25, 33.75), -(29, 2, 773, 1, 1, 811, 1145, 43.75, 35), -(30, 2, 811, 1, 1, 852, 1178, 45, 36.25), -(31, 2, 850, 1, 1, 878, 1213, 46.25, 37.5), -(32, 2, 888, 1, 1, 935, 1248, 48.75, 38.75), -(33, 2, 928, 1, 1, 963, 1281, 50, 40), -(34, 2, 967, 1, 1, 1007, 1316, 51.25, 41.25), -(35, 2, 1009, 1, 1, 1067, 1349, 52.5, 42.5), -(36, 2, 1050, 1, 1, 1097, 1455, 55, 43.75), -(37, 2, 1093, 1, 1, 1142, 1567, 56.25, 45), -(38, 2, 1135, 1, 1, 1189, 1683, 57.5, 46.25), -(39, 2, 1180, 1, 1, 1236, 1807, 60, 47.5), -(40, 2, 1226, 1, 1, 1283, 1937, 61.25, 48.75), -(41, 2, 1268, 1, 1, 1332, 2072, 68.75, 55), -(42, 2, 1321, 1, 1, 1381, 2216, 71.25, 57.5), -(43, 2, 1373, 1, 1, 1432, 2367, 75, 60), -(44, 2, 1426, 1, 1, 1483, 2527, 77.5, 62.5), -(45, 2, 1478, 1, 1, 1534, 2692, 81.25, 65), -(46, 2, 1535, 1, 1, 1587, 2749, 85, 67.5), -(47, 2, 1592, 1, 1, 1640, 2802, 87.5, 70), -(48, 2, 1650, 1, 1, 1695, 2855, 91.25, 72.5), -(49, 2, 1710, 1, 1, 1750, 2910, 93.75, 75), -(50, 2, 1772, 1, 1, 1807, 2964, 97.5, 77.5), -(51, 2, 1834, 1, 1, 1864, 3017, 101.25, 81.25), -(52, 2, 1897, 1, 1, 1923, 3072, 103.75, 82.5), -(53, 2, 1962, 1, 1, 1982, 3126, 105, 85), -(54, 2, 2026, 1, 1, 2041, 3178, 107.5, 86.25), -(55, 2, 2091, 1, 1, 2117, 3232, 108.75, 87.5), -(56, 2, 2159, 1, 1, 2163, 3287, 111.25, 88.75), -(57, 2, 2227, 1, 1, 2241, 3340, 112.5, 90), -(58, 2, 2297, 3191, 1, 2289, 3394, 128.75, 103.75), -(59, 2, 2369, 3314, 1, 2369, 3447, 142.5, 113.75), -(60, 2, 2442, 3984, 1, 2434, 3748, 156.25, 125), -(61, 2, 2515, 4126, 1, 2486, 4044, 171.25, 136.25), -(62, 2, 2590, 4274, 1, 2568, 4340, 185, 147.5), -(63, 2, 2665, 4422, 1, 2620, 4637, 198.75, 158.75), -(64, 2, 2740, 4572, 1, 2705, 4933, 212.5, 170), -(65, 2, 2819, 4731, 1, 2790, 5228, 226.25, 181.25), -(66, 2, 2899, 4892, 6116, 2846, 5523, 240, 192.5), -(67, 2, 2982, 5060, 1, 2933, 5821, 255, 203.75), -(68, 2, 3067, 5233, 6986, 2991, 6116, 283.75, 227.5), -(69, 2, 3153, 5409, 7984, 3080, 6412, 302.5, 241.25), -(70, 2, 3240, 5589, 8982, 3155, 6708, 321.25, 256.25), -(71, 2, 3330, 5744, 9291, 3231, 7007, 340, 271.25), -(72, 2, 3422, 5903, 9610, 3309, 7305, 357.5, 286.25), -(73, 2, 3519, 6070, 9940, 3387, 7604, 376.25, 301.25), -(74, 2, 3619, 1, 10282, 3466, 7903, 395, 316.25), -(75, 2, 3722, 6420, 10635, 3561, 8204, 413.75, 331.25), -(76, 2, 3825, 1, 11001, 3643, 8503, 432.5, 346.25), -(77, 2, 3933, 1, 11379, 3725, 8803, 451.25, 361.25), -(78, 2, 4042, 1, 11770, 3809, 9104, 470, 376.25), -(79, 2, 4155, 1, 12175, 3893, 9405, 488.75, 390), -(80, 2, 4274, 1, 12600, 3994, 9706, 506.25, 405), -(81, 2, 4394, 1, 13033, 4081, 10007, 525, 420), -(82, 2, 4518, 1, 13481, 4169, 10253, 543.75, 435), -(83, 2, 4646, 1, 13945, 4258, 10573, 562.5, 450), -(84, 2, 1, 1, 1, 1, 1, 0, 0), -(85, 2, 1, 1, 1, 1, 1, 0, 0), -(86, 2, 1, 1, 1, 1, 1, 0, 0), -(87, 2, 1, 1, 1, 1, 1, 0, 0), -(88, 2, 1, 1, 1, 1, 1, 0, 0), -(89, 2, 1, 1, 1, 1, 1, 0, 0), -(90, 2, 1, 1, 1, 1, 1, 0, 0), -(91, 2, 1, 1, 1, 1, 1, 0, 0), -(92, 2, 1, 1, 1, 1, 1, 0, 0), -(93, 2, 1, 1, 1, 1, 1, 0, 0), -(94, 2, 1, 1, 1, 1, 1, 0, 0), -(95, 2, 1, 1, 1, 1, 1, 0, 0), -(96, 2, 1, 1, 1, 1, 1, 0, 0), -(97, 2, 1, 1, 1, 1, 1, 0, 0), -(98, 2, 1, 1, 1, 1, 1, 0, 0), -(99, 2, 1, 1, 1, 1, 1, 0, 0), -(100, 2, 1, 1, 1, 1, 1, 0, 0), -(1, 4, 42, 1, 1, 0, 6, 1.25, 1), -(2, 4, 55, 1, 1, 0, 18, 2.5, 2), -(3, 4, 71, 1, 1, 0, 31, 3.75, 3), -(4, 4, 86, 1, 1, 0, 63, 5, 4), -(5, 4, 102, 1, 1, 0, 102, 6.25, 5), -(6, 4, 120, 1, 1, 0, 152, 6.25, 5), -(7, 4, 137, 1, 1, 0, 212, 7.5, 6.25), -(8, 4, 156, 1, 1, 0, 286, 8.75, 7.5), -(9, 4, 176, 1, 1, 0, 363, 10, 7.5), -(10, 4, 198, 1, 1, 0, 443, 11.25, 8.75), -(11, 4, 222, 1, 1, 0, 488, 12.5, 10), -(12, 4, 247, 1, 1, 0, 519, 15, 11.25), -(13, 4, 273, 1, 1, 0, 553, 16.25, 12.5), -(14, 4, 300, 1, 1, 0, 577, 17.5, 13.75), -(15, 4, 328, 1, 1, 0, 612, 18.75, 15), -(16, 4, 356, 1, 1, 0, 645, 20, 16.25), -(17, 4, 386, 1, 1, 0, 676, 21.25, 17.5), -(18, 4, 417, 1, 1, 0, 706, 23.75, 18.75), -(19, 4, 449, 1, 1, 0, 738, 25, 20), -(20, 4, 484, 1, 1, 0, 769, 26.25, 21.25), -(21, 4, 521, 1, 1, 0, 801, 27.5, 22.5), -(22, 4, 562, 1, 1, 0, 833, 28.75, 23.75), -(23, 4, 605, 1, 1, 0, 863, 30, 23.75), -(24, 4, 651, 1, 1, 0, 895, 31.25, 25), -(25, 4, 699, 1, 1, 0, 926, 33.75, 26.25), -(26, 4, 750, 1, 1, 0, 957, 35, 27.5), -(27, 4, 800, 1, 1, 0, 989, 36.25, 28.75), -(28, 4, 853, 1, 1, 0, 1020, 37.5, 30), -(29, 4, 905, 1, 1, 0, 1051, 38.75, 31.25), -(30, 4, 955, 1, 1, 0, 1082, 40, 32.5), -(31, 4, 1006, 1, 1, 0, 1113, 42.5, 33.75), -(32, 4, 1057, 1, 1, 0, 1146, 43.75, 35), -(33, 4, 1110, 1, 1, 0, 1173, 45, 36.25), -(34, 4, 1163, 1, 1, 0, 1208, 46.25, 37.5), -(35, 4, 1220, 1, 1, 0, 1237, 47.5, 38.75), -(36, 4, 1277, 1, 1, 0, 1349, 48.75, 40), -(37, 4, 1336, 1, 1, 0, 1434, 51.25, 40), -(38, 4, 1395, 1, 1, 0, 1538, 52.5, 41.25), -(39, 4, 1459, 1, 1, 0, 1649, 53.75, 42.5), -(40, 4, 1524, 1, 1, 0, 1764, 55, 43.75), -(41, 4, 1585, 1, 1, 0, 1886, 67.5, 53.75), -(42, 4, 1651, 1, 1, 0, 2015, 71.25, 56.25), -(43, 4, 1716, 1, 1, 0, 2148, 73.75, 58.75), -(44, 4, 1782, 1, 1, 0, 2303, 76.25, 61.25), -(45, 4, 1848, 1, 1, 0, 2436, 80, 63.75), -(46, 4, 1919, 1, 1, 0, 2485, 82.5, 66.25), -(47, 4, 1990, 1, 1, 0, 2535, 85, 68.75), -(48, 4, 2062, 1, 1, 0, 2582, 88.75, 70), -(49, 4, 2138, 1, 1, 0, 2631, 91.25, 72.5), -(50, 4, 2215, 1, 1, 0, 2680, 93.75, 75), -(51, 4, 2292, 1, 1, 0, 2728, 101.25, 81.25), -(52, 4, 2371, 1, 1, 0, 2778, 103.75, 82.5), -(53, 4, 2453, 1, 1, 0, 2826, 105, 83.75), -(54, 4, 2533, 1, 1, 0, 2874, 106.25, 85), -(55, 4, 2614, 1, 1, 0, 2922, 108.75, 86.25), -(56, 4, 2699, 1, 1, 0, 2972, 110, 87.5), -(57, 4, 2784, 1, 1, 0, 3020, 111.25, 88.75), -(58, 4, 2871, 3989, 1, 0, 3068, 127.5, 102.5), -(59, 4, 2961, 4142, 1, 0, 3117, 140, 112.5), -(60, 4, 3052, 4979, 1, 0, 3388, 152.5, 122.5), -(61, 4, 3144, 5158, 1, 0, 3655, 165, 131.25), -(62, 4, 3237, 5341, 1, 0, 3922, 177.5, 141.25), -(63, 4, 3331, 5527, 1, 0, 4189, 190, 151.25), -(64, 4, 3427, 5715, 1, 0, 4457, 202.5, 161.25), -(65, 4, 3524, 5914, 1, 0, 4724, 215, 171.25), -(66, 4, 3624, 6116, 1, 0, 5104, 227.5, 181.25), -(67, 4, 3728, 6326, 1, 0, 5326, 240, 191.25), -(68, 4, 3834, 6542, 6986, 0, 5527, 281.25, 225), -(69, 4, 3942, 6761, 7984, 0, 5795, 298.75, 238.75), -(70, 4, 4050, 6986, 8982, 0, 6062, 315, 251.25), -(71, 4, 4163, 7181, 9291, 0, 6332, 331.25, 265), -(72, 4, 4278, 7380, 9610, 0, 6602, 347.5, 278.75), -(73, 4, 4399, 7580, 9940, 0, 6872, 365, 291.25), -(74, 4, 4524, 1, 10282, 0, 7143, 381.25, 305), -(75, 4, 4652, 1, 10635, 0, 7415, 397.5, 318.75), -(76, 4, 4781, 1, 11001, 0, 7686, 415, 331.25), -(77, 4, 4916, 1, 11379, 0, 7958, 431.25, 345), -(78, 4, 5052, 1, 11770, 0, 8230, 447.5, 357.5), -(79, 4, 5194, 1, 12175, 0, 8503, 463.75, 371.25), -(80, 4, 5342, 1, 12600, 0, 8776, 481.25, 385), -(81, 4, 5496, 1, 13033, 0, 9068, 497.5, 397.5), -(82, 4, 5647, 1, 13481, 0, 9348, 513.75, 411.25), -(83, 4, 5808, 1, 13945, 0, 9589, 530, 425), -(84, 4, 1, 1, 1, 0, 1, 0, 0), -(85, 4, 1, 1, 1, 0, 1, 0, 0), -(86, 4, 1, 1, 1, 0, 1, 0, 0), -(87, 4, 1, 1, 1, 0, 1, 0, 0), -(88, 4, 1, 1, 1, 0, 1, 0, 0), -(89, 4, 1, 1, 1, 0, 1, 0, 0), -(90, 4, 1, 1, 1, 0, 1, 0, 0), -(91, 4, 1, 1, 1, 0, 1, 0, 0), -(92, 4, 1, 1, 1, 0, 1, 0, 0), -(93, 4, 1, 1, 1, 0, 1, 0, 0), -(94, 4, 1, 1, 1, 0, 1, 0, 0), -(95, 4, 1, 1, 1, 0, 1, 0, 0), -(96, 4, 1, 1, 1, 0, 1, 0, 0), -(97, 4, 1, 1, 1, 0, 1, 0, 0), -(98, 4, 1, 1, 1, 0, 1, 0, 0), -(99, 4, 1, 1, 1, 0, 1, 0, 0), -(100, 4, 1, 1, 1, 0, 1, 0, 0), -(1, 8, 40, 1, 1, 120, 5, 1.25, 1), -(2, 8, 52, 1, 1, 147, 16, 2.5, 2), -(3, 8, 67, 1, 1, 174, 28, 3.75, 3), -(4, 8, 81, 1, 1, 202, 57, 5, 4), -(5, 8, 95, 1, 1, 230, 93, 6.25, 5), -(6, 8, 111, 1, 1, 259, 139, 5, 5), -(7, 8, 126, 1, 1, 289, 194, 6.25, 5), -(8, 8, 143, 1, 1, 319, 265, 7.5, 6.25), -(9, 8, 160, 1, 1, 350, 339, 8.75, 7.5), -(10, 8, 178, 1, 1, 382, 423, 11.25, 8.75), -(11, 8, 199, 1, 1, 459, 447, 12.5, 10), -(12, 8, 219, 1, 1, 537, 475, 13.75, 10), -(13, 8, 241, 1, 1, 601, 509, 15, 11.25), -(14, 8, 263, 1, 1, 710, 523, 16.25, 12.5), -(15, 8, 285, 1, 1, 790, 559, 17.5, 13.75), -(16, 8, 307, 1, 1, 856, 589, 18.75, 15), -(17, 8, 330, 1, 1, 938, 617, 20, 16.25), -(18, 8, 354, 1, 1, 1020, 643, 21.25, 16.25), -(19, 8, 379, 1, 1, 1118, 674, 22.5, 17.5), -(20, 8, 405, 1, 1, 1202, 701, 23.75, 18.75), -(21, 8, 432, 1, 1, 1272, 729, 25, 20), -(22, 8, 463, 1, 1, 1357, 759, 26.25, 21.25), -(23, 8, 494, 1, 1, 1443, 786, 27.5, 21.25), -(24, 8, 528, 1, 1, 1545, 815, 28.75, 22.5), -(25, 8, 562, 1, 1, 1633, 843, 30, 23.75), -(26, 8, 598, 1, 1, 1707, 871, 31.25, 25), -(27, 8, 633, 1, 1, 1812, 900, 32.5, 26.25), -(28, 8, 669, 1, 1, 1977, 928, 33.75, 27.5), -(29, 8, 704, 1, 1, 2068, 957, 35, 27.5), -(30, 8, 737, 1, 1, 2175, 984, 36.25, 28.75), -(31, 8, 770, 1, 1, 2253, 1012, 37.5, 30), -(32, 8, 802, 1, 1, 2362, 1042, 38.75, 31.25), -(33, 8, 835, 1, 1, 2457, 1065, 40, 32.5), -(34, 8, 867, 1, 1, 2553, 1098, 41.25, 32.5), -(35, 8, 902, 1, 1, 2680, 1124, 42.5, 33.75), -(36, 8, 935, 1, 1, 2763, 1241, 43.75, 35), -(37, 8, 970, 1, 1, 2861, 1300, 45, 36.25), -(38, 8, 1004, 1, 1, 2975, 1391, 46.25, 37.5), -(39, 8, 1040, 1, 1, 3075, 1489, 47.5, 38.75), -(40, 8, 1077, 1, 1, 3191, 1590, 48.75, 38.75), -(41, 8, 1110, 1, 1, 3293, 1697, 67.5, 53.75), -(42, 8, 1156, 1, 1, 3471, 1811, 70, 56.25), -(43, 8, 1201, 1, 1, 3575, 1926, 72.5, 58.75), -(44, 8, 1247, 1, 1, 3680, 2078, 75, 60), -(45, 8, 1294, 1, 1, 3801, 2177, 77.5, 62.5), -(46, 8, 1343, 1, 1, 3923, 2220, 80, 63.75), -(47, 8, 1393, 1, 1, 4031, 2265, 82.5, 66.25), -(48, 8, 1443, 1, 1, 4140, 2307, 85, 68.75), -(49, 8, 1497, 1, 1, 4281, 2349, 87.5, 70), -(50, 8, 1551, 1, 1, 4393, 2393, 90, 72.5), -(51, 8, 1604, 1, 1, 4506, 2437, 101.25, 81.25), -(52, 8, 1660, 1, 1, 4650, 2481, 102.5, 82.5), -(53, 8, 1717, 1, 1, 4765, 2524, 105, 83.75), -(54, 8, 1773, 1, 1, 4896, 2567, 106.25, 85), -(55, 8, 1830, 1, 1, 5013, 2609, 107.5, 86.25), -(56, 8, 1889, 1, 1, 5206, 2654, 108.75, 87.5), -(57, 8, 1949, 1, 1, 5340, 2698, 110, 88.75), -(58, 8, 2010, 2793, 1, 5461, 2740, 126.25, 101.25), -(59, 8, 2073, 2899, 1, 5598, 2784, 137.5, 110), -(60, 8, 2136, 3484, 1, 5751, 3025, 147.5, 118.75), -(61, 8, 2201, 3611, 1, 5875, 3263, 158.75, 127.5), -(62, 8, 2266, 3739, 1, 6015, 3500, 170, 136.25), -(63, 8, 2332, 3870, 1, 6156, 3736, 181.25, 145), -(64, 8, 2399, 4000, 1, 6229, 3977, 191.25, 153.75), -(65, 8, 2467, 4140, 4731, 6443, 4214, 202.5, 162.5), -(66, 8, 2552, 4281, 4892, 6588, 4460, 213.75, 171.25), -(67, 8, 2610, 4429, 1, 6749, 4710, 225, 180), -(68, 8, 2684, 4580, 5588, 6882, 4928, 280, 223.75), -(69, 8, 2759, 4733, 6387, 7031, 5167, 293.75, 235), -(70, 8, 2835, 4890, 7185, 7196, 5404, 308.75, 247.5), -(71, 8, 2914, 5027, 7432, 7332, 5645, 323.75, 258.75), -(72, 8, 2995, 5166, 7688, 7500, 5886, 337.5, 270), -(73, 8, 3098, 5311, 7952, 7654, 6126, 352.5, 282.5), -(74, 8, 3186, 1, 8225, 7809, 6368, 367.5, 293.75), -(75, 8, 3256, 5617, 8508, 7981, 6610, 381.25, 305), -(76, 8, 3367, 1, 8800, 8139, 6851, 396.25, 317.5), -(77, 8, 3462, 1, 9103, 8313, 7094, 411.25, 328.75), -(78, 8, 3558, 1, 9416, 8459, 7335, 425, 340), -(79, 8, 3658, 1, 9740, 8636, 7579, 440, 352.5), -(80, 8, 3739, 1, 10080, 8814, 7822, 455, 363.75), -(81, 8, 3870, 1, 10486, 8979, 8102, 470, 375), -(82, 8, 3977, 1, 10784, 9160, 8340, 483.75, 387.5), -(83, 8, 4090, 1, 11156, 9325, 8505, 498.75, 398.75), -(84, 8, 1, 1, 1, 1, 1, 0, 0), -(85, 8, 1, 1, 1, 1, 1, 0, 0), -(86, 8, 1, 1, 1, 1, 1, 0, 0), -(87, 8, 1, 1, 1, 1, 1, 0, 0), -(88, 8, 1, 1, 1, 1, 1, 0, 0), -(89, 8, 1, 1, 1, 1, 1, 0, 0), -(90, 8, 1, 1, 1, 1, 1, 0, 0), -(91, 8, 1, 1, 1, 1, 1, 0, 0), -(92, 8, 1, 1, 1, 1, 1, 0, 0), -(93, 8, 1, 1, 1, 1, 1, 0, 0), -(94, 8, 1, 1, 1, 1, 1, 0, 0), -(95, 8, 1, 1, 1, 1, 1, 0, 0), -(96, 8, 1, 1, 1, 1, 1, 0, 0), -(97, 8, 1, 1, 1, 1, 1, 0, 0), -(98, 8, 1, 1, 1, 1, 1, 0, 0), -(99, 8, 1, 1, 1, 1, 1, 0, 0), -(100, 8, 1, 1, 1, 1, 1, 0, 0);
\ No newline at end of file diff --git a/sql/updates/7139_world_creature_template.sql b/sql/updates/7139_world_creature_template.sql deleted file mode 100644 index 808df5b5dbc..00000000000 --- a/sql/updates/7139_world_creature_template.sql +++ /dev/null @@ -1,11 +0,0 @@ -ALTER TABLE `creature_template` -DROP COLUMN `mindmg`, -DROP COLUMN `maxdmg`, -DROP COLUMN `attackpower`, -DROP COLUMN `minrangedmg`, -DROP COLUMN `maxrangedmg`, -DROP COLUMN `rangedattackpower`; - -ALTER TABLE `creature_template` -ADD COLUMN `Dmg_Mod` float NOT NULL DEFAULT 1 AFTER `Armor_Mod`, -ADD COLUMN `Rangeddmg_Mod` float NOT NULL DEFAULT 1 AFTER `Dmg_Mod`; diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 4b6e8186801..29ed9983cd2 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -1107,24 +1107,15 @@ void Creature::SelectLevel(const CreatureInfo *cinfo) //damage float damagemod = 1.0f;//_GetDamageMod(rank); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - float attackpower = stats->GenerateAttackPower(cinfo); - SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, mindmg * damagemod); - SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, maxdmg * damagemod); + SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg * damagemod); + SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg * damagemod); - SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, attackpower * damagemod); + SetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE,cinfo->minrangedmg * damagemod); + SetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE,cinfo->maxrangedmg * damagemod); - // ranged damage - float minrangeddmg = stats->GenerateRangedDmg(cinfo) / 2.5f; - float maxrangeddmg = stats->GenerateRangedDmg(cinfo) - mindmg; - float rangedattackpower = (minrangeddmg + maxrangeddmg) / 2 * 0.3; + SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, cinfo->attackpower * damagemod); - SetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE, minrangeddmg * damagemod); - SetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE, maxrangeddmg * damagemod); - - SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, rangedattackpower * damagemod); } float Creature::_GetHealthMod(int32 Rank) diff --git a/src/game/Creature.h b/src/game/Creature.h index d3bee8d2eca..ad8dfc2b01c 100644 --- a/src/game/Creature.h +++ b/src/game/Creature.h @@ -89,7 +89,10 @@ struct CreatureInfo float speed; float scale; uint32 rank; + float mindmg; + float maxdmg; uint32 dmgschool; + uint32 attackpower; float dmg_multiplier; uint32 baseattacktime; uint32 rangeattacktime; @@ -101,6 +104,9 @@ struct CreatureInfo uint32 trainer_spell; uint32 trainer_class; uint32 trainer_race; + float minrangedmg; + float maxrangedmg; + uint32 rangedattackpower; uint32 type; // enum CreatureType values uint32 type_flags; // enum CreatureTypeFlags mask values uint32 lootid; @@ -123,8 +129,6 @@ struct CreatureInfo float ModHealth; float ModMana; float ModArmor; - float ModDmg; - float ModRangedDmg; bool RacialLeader; uint32 questItems[6]; uint32 movementId; @@ -171,8 +175,6 @@ struct TRINITY_DLL_SPEC CreatureBaseStats uint32 BaseHealth[MAX_CREATURE_BASE_HP]; uint32 BaseMana; uint32 BaseArmor; - uint32 BaseDmg; - uint32 BaseRangedDmg; // Helpers @@ -195,26 +197,6 @@ struct TRINITY_DLL_SPEC CreatureBaseStats return uint32((BaseArmor * info->ModArmor) + 0.5f); } - uint32 GenerateMinDmg(CreatureInfo const* info) const - { - return uint32((BaseDmg * (info->baseattacktime / 1000.0f) / 2.5f) * info->ModDmg + 0.5f); - } - - uint32 GenerateMaxDmg(CreatureInfo const* info) const - { - return uint32((BaseDmg * (info->baseattacktime / 1000) - GenerateMinDmg(info)) * info->ModDmg + 0.5f); - } - - uint32 GenerateAttackPower(CreatureInfo const* info) const - { - return uint32(((GenerateMinDmg(info) + GenerateMaxDmg(info)) / 2.0f * 0.3f) * info->ModDmg + 0.5f); - } - - uint32 GenerateRangedDmg(CreatureInfo const* info) const - { - return uint32((BaseDmg * (info->baseattacktime / 1000.0f) * info->ModRangedDmg) + 0.5f); - } - static CreatureBaseStats const* GetBaseStats(uint32 level, uint8 unitClass); }; diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 3416fcff41d..7c2c2e6a658 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -8917,7 +8917,7 @@ CreatureBaseStats const* ObjectMgr::GetCreatureBaseStats(uint32 level, uint8 uni void ObjectMgr::LoadCreatureClassLevelStats() { - QueryResult *result = WorldDatabase.Query("SELECT level, class, basehp0, basehp1, basehp2, basemana, basearmor, basedmg, baserangeddmg FROM creature_classlevelstats"); + QueryResult *result = WorldDatabase.Query("SELECT level, class, basehp0, basehp1, basehp2, basemana, basearmor FROM creature_classlevelstats"); if (!result) { @@ -8941,8 +8941,6 @@ void ObjectMgr::LoadCreatureClassLevelStats() stats.BaseHealth[i] = fields[i + 2].GetUInt32(); stats.BaseMana = fields[5].GetUInt32(); stats.BaseArmor = fields[6].GetUInt32(); - stats.BaseDmg = fields[7].GetUInt32(); - stats.BaseRangedDmg = fields[8].GetUInt32(); if (stats.Level > STRONG_MAX_LEVEL) { @@ -8989,8 +8987,6 @@ void ObjectMgr::LoadCreatureClassLevelStats() CreatureBaseStats new_stats = CreatureBaseStats(); new_stats.BaseArmor = 1; - new_stats.BaseDmg = 1; - new_stats.BaseRangedDmg = 1; for (uint8 j = 0; j < MAX_CREATURE_BASE_HP; ++j) new_stats.BaseHealth[j] = 1; new_stats.BaseMana = 0; diff --git a/src/game/StatSystem.cpp b/src/game/StatSystem.cpp index b5895fbb2e6..7197779fdfd 100644 --- a/src/game/StatSystem.cpp +++ b/src/game/StatSystem.cpp @@ -25,7 +25,6 @@ #include "SharedDefines.h" #include "SpellAuras.h" #include "SpellAuraEffects.h" -#include "ObjectMgr.h" /*####################################### ######## ######## @@ -866,8 +865,7 @@ void Creature::UpdateDamagePhysical(WeaponAttackType attType) float weapon_maxdamage = GetWeaponDamageRange(attType, MAXDAMAGE); /* difference in AP between current attack power and base value from DB */ - CreatureBaseStats const* stats = objmgr.GetCreatureBaseStats(getLevel(), GetCreatureInfo()->unit_class); - float att_pwr_change = GetTotalAttackPowerValue(attType) - stats->GenerateAttackPower(GetCreatureInfo()); + float att_pwr_change = GetTotalAttackPowerValue(attType) - GetCreatureInfo()->attackpower; float base_value = GetModifierValue(unitMod, BASE_VALUE) + (att_pwr_change * GetAPMultiplier(attType, false) / 14.0f); float base_pct = GetModifierValue(unitMod, BASE_PCT); float total_value = GetModifierValue(unitMod, TOTAL_VALUE); diff --git a/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp b/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp index 6a40cecacb6..dcba83ab249 100644 --- a/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp +++ b/src/scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp @@ -270,11 +270,8 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI //damage const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, mindmg); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, maxdmg); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cinfo->mindmg); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cinfo->maxdmg); m_creature->UpdateDamagePhysical(BASE_ATTACK); } @@ -396,18 +393,15 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI //damage const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, 2 * mindmg); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, 2 * maxdmg); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, 2*cinfo->mindmg); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, 2*cinfo->maxdmg); m_creature->UpdateDamagePhysical(BASE_ATTACK); - m_creature->SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, mindmg); - m_creature->SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, maxdmg); + m_creature->SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, cinfo->mindmg); + m_creature->SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, cinfo->maxdmg); //Sigh, updating only works on main attack, do it manually .... - m_creature->SetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE, mindmg); - m_creature->SetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE, maxdmg); + m_creature->SetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE, cinfo->mindmg); + m_creature->SetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE, cinfo->maxdmg); m_creature->SetAttackTime(OFF_ATTACK, (m_creature->GetAttackTime(BASE_ATTACK)*150)/100); } diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp index 05ab5c81447..7cea97bb7c2 100644 --- a/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp +++ b/src/scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp @@ -234,11 +234,8 @@ struct TRINITY_DLL_DECL boss_arlokkAI : public ScriptedAI m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 35))); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 35))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35))); m_creature->UpdateDamagePhysical(BASE_ATTACK); if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM,0)) diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp index e240ae5db9a..e4b12ffb972 100644 --- a/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp +++ b/src/scripts/eastern_kingdoms/zulgurub/boss_marli.cpp @@ -145,11 +145,8 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI DoScriptText(SAY_TRANSFORM, m_creature); DoCast(m_creature, SPELL_SPIDER_FORM); const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 35))); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 35))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35))); m_creature->UpdateDamagePhysical(BASE_ATTACK); DoCast(m_creature->getVictim(), SPELL_ENVOLWINGWEB); @@ -188,11 +185,8 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI { m_creature->SetDisplayId(15220); const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 1))); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 1))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 1))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 1))); m_creature->UpdateDamagePhysical(BASE_ATTACK); PhaseTwo = false; diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp index 3f8b49c8970..e7002673cd3 100644 --- a/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp +++ b/src/scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp @@ -185,11 +185,8 @@ struct TRINITY_DLL_DECL boss_thekalAI : public ScriptedAI m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->SetHealth(int(m_creature->GetMaxHealth()*1.0)); const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 40))); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 40))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 40))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 40))); m_creature->UpdateDamagePhysical(BASE_ATTACK); DoResetThreat(); PhaseTwo = true; diff --git a/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp b/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp index 5ea03ab4615..3b094b74b1e 100644 --- a/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp +++ b/src/scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp @@ -148,11 +148,8 @@ struct TRINITY_DLL_DECL boss_venoxisAI : public ScriptedAI DoCast(m_creature, SPELL_SNAKE_FORM); m_creature->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.00f); const CreatureInfo *cinfo = m_creature->GetCreatureInfo(); - const CreatureBaseStats *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), cinfo->unit_class); - float mindmg = stats->GenerateMinDmg(cinfo); - float maxdmg = stats->GenerateMaxDmg(cinfo); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (mindmg +((mindmg/100) * 25))); - m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (maxdmg +((maxdmg/100) * 25))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 25))); + m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 25))); m_creature->UpdateDamagePhysical(BASE_ATTACK); DoResetThreat(); PhaseTwo = true; diff --git a/src/scripts/world/npcs_special.cpp b/src/scripts/world/npcs_special.cpp index 93e68d074e1..a57507f9c6a 100644 --- a/src/scripts/world/npcs_special.cpp +++ b/src/scripts/world/npcs_special.cpp @@ -1580,7 +1580,6 @@ struct TRINITY_DLL_DECL npc_snake_trap_serpentsAI : public ScriptedAI SpellTimer = 0; CreatureInfo const *Info = m_creature->GetCreatureInfo(); - CreatureBaseStats const *stats = ((CreatureBaseStats*)m_creature)->GetBaseStats(m_creature->getLevel(), Info->unit_class); if (Info->Entry == C_VIPER) IsViper = true; @@ -1589,9 +1588,8 @@ struct TRINITY_DLL_DECL npc_snake_trap_serpentsAI : public ScriptedAI //Add delta to make them not all hit the same time uint32 delta = (rand() % 7) * 100; - float attackpower = stats->GenerateAttackPower(Info); m_creature->SetStatFloatValue(UNIT_FIELD_BASEATTACKTIME, Info->baseattacktime + delta); - m_creature->SetStatFloatValue(UNIT_FIELD_RANGED_ATTACK_POWER , attackpower); + m_creature->SetStatFloatValue(UNIT_FIELD_RANGED_ATTACK_POWER , Info->attackpower); } //Redefined for random target selection: diff --git a/src/shared/Database/SQLStorage.cpp b/src/shared/Database/SQLStorage.cpp index efe00b9c0f6..e36297ed35b 100644 --- a/src/shared/Database/SQLStorage.cpp +++ b/src/shared/Database/SQLStorage.cpp @@ -27,8 +27,8 @@ extern DatabasePostgre WorldDatabase; extern DatabaseMysql WorldDatabase; #endif -const char CreatureInfosrcfmt[]="iiiiiiiiiisssiiiiiiiffiifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisiifffffliiiiiiiliiis"; -const char CreatureInfodstfmt[]="iiiiiiiiiisssiiiiiiiffiifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisiifffffliiiiiiiliiii"; +const char CreatureInfosrcfmt[]="iiiiiiiiiisssiiiiiiiffiffiifiiiiiiiiiiffiiiiiiiiiiiiiiiiiiiiiiiisiifffliiiiiiiliiis"; +const char CreatureInfodstfmt[]="iiiiiiiiiisssiiiiiiiffiffiifiiiiiiiiiiffiiiiiiiiiiiiiiiiiiiiiiiisiifffliiiiiiiliiii"; const char CreatureDataAddonInfofmt[]="iiiiiis"; const char CreatureModelfmt[]="iffbi"; const char CreatureInfoAddonInfofmt[]="iiiiiis"; |