6 Commits

11 changed files with 85 additions and 217 deletions

View File

@@ -12,4 +12,4 @@ VALUES
(150008, 150008, 1), (150008, 150019, 2), -- Arcane Fusion
(150009, 150009, 1), (150009, 150020, 2), -- Dark Fusion
(150010, 150010, 1), (150010, 150021, 2) -- Earth Fusion
;
;

View File

@@ -5,7 +5,7 @@ REPLACE INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_ent
DELETE FROM `creature_template_model` WHERE (`CreatureID` = 9500561);
INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES
(9500561, 0, 9500561, 1, 1, 12340);
(9500561, 0, 25594, 1, 1, 12340);
DELETE FROM `creature_equip_template` WHERE (`CreatureID` = 9500561);
INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `ItemID2`, `ItemID3`, `VerifiedBuild`) VALUES
@@ -127,24 +127,28 @@ VALUES (9500566, 0.35, 1.25, 0, 0);
REPLACE INTO creature_model_info (DisplayID, BoundingRadius, CombatReach, Gender, DisplayID_Other_Gender)
VALUES (9500567, 0.35, 1.25, 1, 0);
REPLACE INTO acore_world.creature_model_info (DisplayID, BoundingRadius, CombatReach, Gender, DisplayID_Other_Gender)
VALUES (9500568, 0.35, 1.25, 1, 0);
-- Supporting Cast Spawns
-- Agatha
DELETE FROM `creature` WHERE (`id1` = 9500567);
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(9001011, 9500567, 0, 0, 530, 0, 0, 1, 1, 0, -1990.6, 5214.14, -44.0752, 0.978763, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL),
(9001014, 9500567, 0, 0, 571, 0, 0, 1, 1, 0, 5804.06, 639.865, 609.886, 5.98164, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL);
(9101011, 9500567, 0, 0, 530, 0, 0, 1, 1, 0, -1990.6, 5214.14, -44.0752, 0.978763, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL),
(9101014, 9500567, 0, 0, 571, 0, 0, 1, 1, 0, 5804.06, 639.865, 609.886, 5.98164, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL);
-- Vaeric
DELETE FROM `creature` WHERE (`id1` = 9500566);
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(9001013, 9500566, 0, 0, 530, 0, 0, 1, 1, 1, -1989.96, 5225.28, -44.6008, 5.71627, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL),
(9001015, 9500566, 0, 0, 571, 0, 0, 1, 1, 1, 5826.64, 674.772, 609.885, 5.53385, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL);
(9101013, 9500566, 0, 0, 530, 0, 0, 1, 1, 1, -1989.96, 5225.28, -44.6008, 5.71627, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL),
(9101015, 9500566, 0, 0, 571, 0, 0, 1, 1, 1, 5826.64, 674.772, 609.885, 5.53385, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL);
-- Slyvia
DELETE FROM `creature` WHERE (`id1` = 9500568);
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(9001010, 9500568, 0, 0, 530, 0, 0, 1, 1, 1, -1994.38, 5219.83, -44.2111, 0.597826, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL),
(9001016, 9500568, 0, 0, 571, 0, 0, 1, 1, 1, 5831.89, 678.204, 609.885, 5.0846, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL);
(9101010, 9500568, 0, 0, 530, 0, 0, 1, 1, 1, -1994.38, 5219.83, -44.2111, 0.597826, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL),
(9101016, 9500568, 0, 0, 571, 0, 0, 1, 1, 1, 5831.89, 678.204, 609.885, 5.0846, 300, 0, 0, 1333900, 0, 0, 0, 0, 0, '', NULL, 0, NULL);
-- Gossip Texts

View File

@@ -1,6 +0,0 @@
UPDATE creature_template_npcbot_wander_nodes
SET maxlevel = 85
WHERE maxlevel = 80;
UPDATE battleground_template SET MaxLvl = 85 where MaxLvl = 80;

View File

@@ -1,11 +1,11 @@
-- Supporting Cast Environment items
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001043, 185002, 530, 0, 0, 1, 1, -1992.59, 5211.21, -44.239, 0.985043, -0, -0, -0.472849, -0.881143, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001046, 190213, 530, 0, 0, 1, 1, -1999.01, 5226.06, -44.2926, 5.86235, -0, -0, -0.20887, 0.977943, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001047, 182934, 530, 0, 0, 1, 1, -1992.11, 5207.81, -44.7864, 0.95047, -0, -0, -0.457548, -0.889185, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001050, 192935, 530, 0, 0, 1, 1, -1991.3, 5213.01, -44.0442, 1.02353, -0, -0, -0.489717, -0.871881, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001051, 194581, 530, 0, 0, 1, 1, -1993.03, 5220.23, -44.2068, 3.67347, -0, -0, -0.964847, 0.262813, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001052, 182483, 530, 0, 0, 1, 1, -1994.8, 5219.62, -44.2093, 0.71644, -0, -0, -0.350608, -0.936523, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001055, 179846, 530, 0, 0, 1, 1, -1986.62, 5222.6, -44.6557, 3.55485, -0, -0, -0.978728, 0.205163, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001057, 192935, 571, 0, 0, 1, 1, 5804.06, 639.865, 609.886, 5.84656, -0, -0, -0.216585, 0.976264, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8001059, 187082, 571, 0, 0, 1, 1, 5829.63, 674.817, 609.886, 5.36498, -0, -0, -0.443142, 0.896452, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101043, 185002, 530, 0, 0, 1, 1, -1992.59, 5211.21, -44.239, 0.985043, -0, -0, -0.472849, -0.881143, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101046, 190213, 530, 0, 0, 1, 1, -1999.01, 5226.06, -44.2926, 5.86235, -0, -0, -0.20887, 0.977943, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101047, 182934, 530, 0, 0, 1, 1, -1992.11, 5207.81, -44.7864, 0.95047, -0, -0, -0.457548, -0.889185, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101050, 192935, 530, 0, 0, 1, 1, -1991.3, 5213.01, -44.0442, 1.02353, -0, -0, -0.489717, -0.871881, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101051, 194581, 530, 0, 0, 1, 1, -1993.03, 5220.23, -44.2068, 3.67347, -0, -0, -0.964847, 0.262813, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101052, 182483, 530, 0, 0, 1, 1, -1994.8, 5219.62, -44.2093, 0.71644, -0, -0, -0.350608, -0.936523, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101055, 179846, 530, 0, 0, 1, 1, -1986.62, 5222.6, -44.6557, 3.55485, -0, -0, -0.978728, 0.205163, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101057, 192935, 571, 0, 0, 1, 1, 5804.06, 639.865, 609.886, 5.84656, -0, -0, -0.216585, 0.976264, 300, 0, 1, '', null, null);
REPLACE INTO acore_world.gameobject (guid, id, map, zoneId, areaId, spawnMask, phaseMask, position_x, position_y, position_z, orientation, rotation0, rotation1, rotation2, rotation3, spawntimesecs, animprogress, state, ScriptName, VerifiedBuild, Comment) VALUES (8101059, 187082, 571, 0, 0, 1, 1, 5829.63, 674.817, 609.886, 5.36498, -0, -0, -0.443142, 0.896452, 300, 0, 1, '', null, null);

View File

@@ -1,172 +0,0 @@
-- This rebalances lower level iLevel gear
UPDATE item_template
SET
stat_value1 = CASE
WHEN stat_type1 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value1 * 0.75)
WHEN stat_type1 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value1 * 0.80)
WHEN stat_type1 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value1 * 0.90)
ELSE stat_value1
END,
stat_value2 = CASE
WHEN stat_type2 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value2 * 0.75)
WHEN stat_type2 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value2 * 0.80)
WHEN stat_type2 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value2 * 0.90)
ELSE stat_value2
END,
stat_value3 = CASE
WHEN stat_type3 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value3 * 0.75)
WHEN stat_type3 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value3 * 0.80)
WHEN stat_type3 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value3 * 0.90)
ELSE stat_value3
END,
stat_value4 = CASE
WHEN stat_type4 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value4 * 0.75)
WHEN stat_type4 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value4 * 0.80)
WHEN stat_type4 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value4 * 0.90)
ELSE stat_value4
END,
stat_value5 = CASE
WHEN stat_type5 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value5 * 0.75)
WHEN stat_type5 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value5 * 0.80)
WHEN stat_type5 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value5 * 0.90)
ELSE stat_value5
END,
stat_value6 = CASE
WHEN stat_type6 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value6 * 0.75)
WHEN stat_type6 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value6 * 0.80)
WHEN stat_type6 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value6 * 0.90)
ELSE stat_value6
END,
stat_value7 = CASE
WHEN stat_type7 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value7 * 0.75)
WHEN stat_type7 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value7 * 0.80)
WHEN stat_type7 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value7 * 0.90) ELSE stat_value7
END,
stat_value8 = CASE
WHEN stat_type8 IN (38, 45) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value8 * 0.75)
WHEN stat_type8 IN (38, 45) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value8 * 0.80)
WHEN stat_type8 IN (38, 45) AND ItemLevel > 315 AND ItemLevel <= 325 THEN FLOOR(stat_value8 * 0.90)
ELSE stat_value8
END
WHERE
entry BETWEEN 20000000 and 21000000;
-- Rebalance primary strength, agi, intellect down for lower ilvl items
UPDATE item_template
SET
stat_value1 = CASE
WHEN stat_type1 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value1 * 0.85)
WHEN stat_type1 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value1 * 0.90)
ELSE stat_value1
END,
stat_value2 = CASE
WHEN stat_type2 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value2 * 0.85)
WHEN stat_type2 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value2 * 0.90)
ELSE stat_value2
END,
stat_value3 = CASE
WHEN stat_type3 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value3 * 0.85)
WHEN stat_type3 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value3 * 0.90)
ELSE stat_value3
END,
stat_value4 = CASE
WHEN stat_type4 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value4 * 0.85)
WHEN stat_type4 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value4 * 0.90)
ELSE stat_value4
END,
stat_value5 = CASE
WHEN stat_type5 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value5 * 0.85)
WHEN stat_type5 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value5 * 0.90)
ELSE stat_value5
END,
stat_value6 = CASE
WHEN stat_type6 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value6 * 0.85)
WHEN stat_type6 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value6 * 0.90)
ELSE stat_value6
END,
stat_value7 = CASE
WHEN stat_type7 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value7 * 0.85)
WHEN stat_type7 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value7 * 0.90)
ELSE stat_value7
END,
stat_value8 = CASE
WHEN stat_type8 IN (3,4,5) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value8 * 0.85)
WHEN stat_type8 IN (3,4,5) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value8 * 0.90)
ELSE stat_value8
END
WHERE
entry BETWEEN 20000000 and 21000000;
-- Nerf hit / spell hit crit rating and others items 300-315 by 15% and 10%
UPDATE item_template
SET
stat_value1 = CASE
WHEN (stat_type1 BETWEEN 16 AND 37 OR stat_type1 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value1 * 0.85)
WHEN (stat_type1 BETWEEN 16 AND 37 OR stat_type1 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value1 * 0.90)
ELSE stat_value1
END,
stat_value2 = CASE
WHEN (stat_type2 BETWEEN 16 AND 37 OR stat_type2 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value2 * 0.85)
WHEN (stat_type2 BETWEEN 16 AND 37 OR stat_type2 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value2 * 0.90)
ELSE stat_value2
END,
stat_value3 = CASE
WHEN (stat_type3 BETWEEN 16 AND 37 OR stat_type3 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value3 * 0.85)
WHEN (stat_type3 BETWEEN 16 AND 37 OR stat_type3 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value3 * 0.90)
ELSE stat_value3
END,
stat_value4 = CASE
WHEN (stat_type4 BETWEEN 16 AND 37 OR stat_type4 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value4 * 0.85)
WHEN (stat_type4 BETWEEN 16 AND 37 OR stat_type4 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value4 * 0.90)
ELSE stat_value4
END,
stat_value5 = CASE
WHEN (stat_type5 BETWEEN 16 AND 37 OR stat_type5 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value5 * 0.85)
WHEN (stat_type5 BETWEEN 16 AND 37 OR stat_type5 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value5 * 0.90)
ELSE stat_value5
END,
stat_value6 = CASE
WHEN (stat_type6 BETWEEN 16 AND 37 OR stat_type6 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value6 * 0.85)
WHEN (stat_type6 BETWEEN 16 AND 37 OR stat_type6 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value6 * 0.90)
ELSE stat_value6
END,
stat_value7 = CASE
WHEN (stat_type7 BETWEEN 16 AND 37 OR stat_type7 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value7 * 0.85)
WHEN (stat_type7 BETWEEN 16 AND 37 OR stat_type7 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value7 * 0.90)
ELSE stat_value7
END,
stat_value8 = CASE
WHEN (stat_type8 BETWEEN 16 AND 37 OR stat_type8 = 44) AND ItemLevel BETWEEN 300 AND 305 THEN FLOOR(stat_value8 * 0.85)
WHEN (stat_type8 BETWEEN 16 AND 37 OR stat_type8 = 44) AND ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(stat_value8 * 0.90)
ELSE stat_value8
END
WHERE
entry BETWEEN 20000000 and 21000000;
-- reduce damage on lower level items
UPDATE item_template
SET
dmg_min1 = CASE
WHEN ItemLevel BETWEEN 300 AND 305 THEN FLOOR(dmg_min1 * 0.85)
WHEN ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(dmg_min1 * 0.90)
ELSE dmg_min1
END,
dmg_max1 = CASE
WHEN ItemLevel BETWEEN 300 AND 305 THEN FLOOR(dmg_max1 * 0.85)
WHEN ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(dmg_max1 * 0.90)
ELSE dmg_max1
END,
dmg_min2 = CASE
WHEN ItemLevel BETWEEN 300 AND 305 THEN FLOOR(dmg_min2 * 0.85)
WHEN ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(dmg_min2 * 0.90)
ELSE dmg_min2
END,
dmg_max2 = CASE
WHEN ItemLevel BETWEEN 300 AND 305 THEN FLOOR(dmg_max2 * 0.85)
WHEN ItemLevel > 305 AND ItemLevel <= 315 THEN FLOOR(dmg_max2 * 0.90)
ELSE dmg_max2
END
WHERE
entry BETWEEN 20000000 and 21000000;

View File

@@ -58,10 +58,10 @@ INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`,
-- Spawns
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (9001025, 9500800, 0, 0, 571, 0, 0, 1, 1, 1, 5738.66, 741.002, 641.74, 4.1062, 300, 0, 0, 10080, 8814, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (9001026, 9500801, 0, 0, 571, 0, 0, 1, 1, 0, 5736.61, 742.711, 641.75, 4.04965, 300, 0, 0, 3739, 8814, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (9001027, 9500802, 0, 0, 571, 0, 0, 1, 1, 0, 5732.59, 746.182, 641.762, 4.01431, 300, 0, 0, 5342, 0, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (9001028, 9500803, 0, 0, 571, 0, 0, 1, 1, 0, 5730.76, 747.711, 641.761, 4.16746, 300, 0, 0, 12600, 0, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (9001029, 9500804, 0, 0, 571, 0, 0, 1, 1, 0, 5725.58, 750.971, 641.768, 4.48476, 300, 0, 0, 12600, 0, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (19001025, 9500800, 0, 0, 571, 0, 0, 1, 1, 1, 5738.66, 741.002, 641.74, 4.1062, 300, 0, 0, 10080, 8814, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (19001026, 9500801, 0, 0, 571, 0, 0, 1, 1, 0, 5736.61, 742.711, 641.75, 4.04965, 300, 0, 0, 3739, 8814, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (19001027, 9500802, 0, 0, 571, 0, 0, 1, 1, 0, 5732.59, 746.182, 641.762, 4.01431, 300, 0, 0, 5342, 0, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (19001028, 9500803, 0, 0, 571, 0, 0, 1, 1, 0, 5730.76, 747.711, 641.761, 4.16746, 300, 0, 0, 12600, 0, 0, 0, 0, 0, '', null, 0, null);
REPLACE INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (19001029, 9500804, 0, 0, 571, 0, 0, 1, 1, 0, 5725.58, 750.971, 641.768, 4.48476, 300, 0, 0, 12600, 0, 0, 0, 0, 0, '', null, 0, null);

View File

@@ -0,0 +1,2 @@
-- spirit healer behind sylvia
INSERT INTO acore_world.creature (guid, id1, id2, id3, map, zoneId, areaId, spawnMask, phaseMask, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, wander_distance, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, ScriptName, VerifiedBuild, CreateObject, Comment) VALUES (9101017, 29259, 0, 0, 571, 0, 0, 1, 1, 0, 5827.72, 685.34, 611.885, 5.18277, 300, 0, 0, 7212, 0, 0, 0, 0, 0, '', null, 0, null);

View File

@@ -0,0 +1,37 @@
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (33, 23.9, 3.2, 1.2, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (34, 29.9, 1.9, 1.9, 6, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (36, 24.9, 2.4, 1.4, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (43, 19.5, 2.5, 1, 6, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (47, 24.9, 2.9, 1.9, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (48, 20.9, 3.9, 1.2, 6, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (70, 18.9, 2.9, 1.9, 9, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (90, 22.9, 2.2, 1.9, 8, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (109, 14.7, 2.6, 2, 5, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (129, 18.7, 2.8, 1.4, 8.5, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (169, 17.6, 2, 1.6, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (189, 24.9, 2.9, 1, 8, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (209, 19.9, 2.2, 1.4, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (229, 15.7, 2.9, 2, 9, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (230, 14, 3, 2, 10, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (249, 9.8, 2.5, 1.6, 15, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (269, 1.7, 2, 2, 3, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (289, 14.7, 2, 1.2, 8, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (309, 8, 1.9, 1.6, 10, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (329, 13.7, 2.4, 1.2, 8, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (349, 17.9, 1.5, 1.9, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (389, 25.7, 2.15, 1.45, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (409, 3.25, 3, 1.5, 10, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (429, 1.7, 2, 2, 3, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (469, 2.6, 2, 1.6, 3, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (509, 2.6, 2, 1.6, 3, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (531, 2.6, 2, 1.6, 3, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (532, 2.6, 2, 1.6, 3, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (533, 20, 2.8, 1.6, 13, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (534, 19.6, 2.6, 1.3, 12, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (540, 6.4, 1.3, 1.3, 9, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (542, 4.6, 1.2, 1.4, 6, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (543, 4.2, 1.2, 1.2, 6, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (544, 8, 3, 1.6, 8, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (545, 5.6, 2, 1.4, 6, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (546, 4.6, 1.8, 1.4, 7, 3);
REPLACE INTO acore_world.mp_scale_factors (mapId, melee_bonus, spell_bonus, heal_bonus, hp_bonus, difficulty) VALUES (547, 4, 1.4, 1.4, 7, 3);

View File

@@ -339,8 +339,6 @@ void MythicPlus::ScaleCreature(uint8 level, Creature* creature, MpMultipliers* m
float updatedAp = creature->GetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE);
float updatedRangeAp = creature->GetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE);
MpLogger::debug("Updated Attack Powers: {} {}", updatedAp, updatedRangeAp);
}
int32 MythicPlus::CalculateSpellDamage(uint32 baseDamage, int originalLevel, int targetLevel) {

View File

@@ -118,7 +118,7 @@ public:
Creature* creature = player->GetMap()->GetCreature(loot->sourceWorldObjectGUID);
if (!creature) return;
#ifdef NPC_BOT
#if defined(MOD_PRESENT_NPCBOTS)
if(creature->IsNPCBotOrPet()) {
return;
}
@@ -171,7 +171,7 @@ public:
Creature* creature = victim->ToCreature();
if (!creature) return;
#ifdef NPC_BOT
#if defined(MOD_PRESENT_NPCBOTS)
if(creature->IsNPCBotOrPet()) {
return;
}

View File

@@ -145,6 +145,12 @@ private:
return HandleNonCreatureAttacker(target, attacker, damage, spellInfo, eventType);
}
#if defined(MOD_PRESENT_NPCBOTS)
if (attacker && attacker->IsNPCBotOrPet()) {
return;
}
#endif
Creature* creatureCaster = attacker->ToCreature();
MpCreatureData* creatureData = sMpDataStore->GetCreatureData(creatureCaster->GetGUID());
@@ -248,7 +254,7 @@ private:
public:
void ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage, SpellInfo const* spellInfo) override {
if (!target && !attacker) {
if (!target || !attacker) {
return;
}
@@ -279,12 +285,7 @@ public:
}
void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage, SpellInfo const* spellInfo) override {
if (!target && !attacker) {
if(spellInfo) {
// MpLogger::info("ModifySpellDamageTaken: Target and attacker are null for spell: {} ID: {}", spellInfo->SpellName[0], spellInfo->Id);
}
if (!target || !attacker) {
return;
}
@@ -311,7 +312,7 @@ public:
* receive from mythic+ scaled enemies.
*/
void ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage) override {
if (!target && !attacker) {
if (!target || !attacker) {
return;
}
@@ -325,7 +326,7 @@ public:
// When a healing spell hits a mythic+ enemy modify based on the modifiers for the difficulty
void ModifyHealReceived(Unit* target, Unit* healer, uint32& healing, SpellInfo const* spellInfo) override {
if (!target && !healer) {
if (!target || !healer) {
return;
}
@@ -338,7 +339,7 @@ public:
}
uint32 modifyIncomingDmgHeal(MythicPlus::MP_UNIT_EVENT_TYPE eventType,Unit* target, Unit* attacker, uint32 damageOrHeal, SpellInfo const* spellInfo = nullptr) {
if (!target && !attacker) {
if (!target || !attacker) {
// MpLogger::info("modifyIncomingDmgHeal: Target and attacker are null for event {}", eventType);
return damageOrHeal;
}
@@ -401,9 +402,8 @@ public:
// Damage that is not mitigated by armor needs to be debuffed as it hits too hard and without resists
// it hits too hard give everyone a benefit of 30% armor reduction
MpLogger::debug(">>> Modify Melee Damage: Creature Name: {} alteredDmgHeal: {} School Mask: {}", creature->GetName(), alteredDmgHeal, creature->GetMeleeDamageSchoolMask());
if(creature->GetMeleeDamageSchoolMask() != SPELL_SCHOOL_MASK_NORMAL && creature->GetMeleeDamageSchoolMask() != SPELL_SCHOOL_MASK_NONE) {
damageOrHeal = damageOrHeal * 0.50f;
damageOrHeal = static_cast<uint32>(damageOrHeal * 0.50f);
}
if(creature->IsDungeonBoss() || creature->isWorldBoss() || creature->GetEntry() == 23682) {
alteredDmgHeal = damageOrHeal * instanceData->boss.melee;
@@ -411,7 +411,12 @@ public:
alteredDmgHeal = damageOrHeal * instanceData->creature.melee;
}
// MpLogger::debug(">>>>>>>>>>>> Incoming Melee New Damage: {}({}) {} hits {}", alteredDmgHeal, damageOrHeal, attacker->GetName(), target->GetName());
// Only log if damage was actually modified
if(alteredDmgHeal != damageOrHeal) {
std::string damageType = (creature->GetMeleeDamageSchoolMask() == SPELL_SCHOOL_MASK_NORMAL) ? "Melee Damage" : "Elemental Damage";
MpLogger::debug(">>> Modify {}: Creature Name: {} originalDmg: {} alteredDmg: {} School Mask: {}",
damageType, creature->GetName(), damageOrHeal, alteredDmgHeal, creature->GetMeleeDamageSchoolMask());
}
break;
case MythicPlus::UNIT_EVENT_DOT: