mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-15 18:10:26 +00:00
Merge branch 'master' into Playerbot
This commit is contained in:
19
AUTHORS
19
AUTHORS
@@ -34,3 +34,22 @@ The third-party libraries have their own way of addressing authorship, and the a
|
||||
a third-party library reflects who did the importing instead of who wrote the code within the commit.
|
||||
|
||||
The Authors of third-party libraries are not explicitly mentioned, and usually is possible to obtain from the files belonging to the third-party libraries.
|
||||
|
||||
## Cross-project collaboration
|
||||
|
||||
At AzerothCore, we actively promote collaboration with other MaNGOS-based open-source projects that are actively maintained. This also includes cherry-picking commits from relevant projects such as:
|
||||
|
||||
* TrinityCore: https://github.com/trinitycore
|
||||
* CMaNGOS: https://github.com/cmangos/
|
||||
* vMaNGOS: https://github.com/vmangos
|
||||
* and others
|
||||
|
||||
It is strictly required for any contributor importing code to credit the original author by:
|
||||
- linking the original PR (or commit)
|
||||
- adding a [Co-authored-by](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors) line in the PR description
|
||||
|
||||
This will automatically include the original author in our list of [Contributors](https://github.com/azerothcore/azerothcore-wotlk/graphs/contributors).
|
||||
|
||||
If you notice a violation of the above, please report it to the Staff immediately.
|
||||
|
||||
We encourage other projects to adopt similar practices to promote healthy cross-project collaboration and proper attribution.
|
||||
|
||||
3
data/sql/updates/db_world/2025_05_18_00.sql
Normal file
3
data/sql/updates/db_world/2025_05_18_00.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- DB update 2025_05_15_00 -> 2025_05_18_00
|
||||
-- Sets the SAI Link to 0 from 1 for Ziggurat Defender (has only 1 cast, nothing to link to)
|
||||
UPDATE `smart_scripts` SET `link` = 0 WHERE (`source_type` = 0 AND `entryorguid` = 26202 AND `id` = 0);
|
||||
17
data/sql/updates/db_world/2025_05_19_00.sql
Normal file
17
data/sql/updates/db_world/2025_05_19_00.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- DB update 2025_05_18_00 -> 2025_05_19_00
|
||||
-- Deletes `Dalaran Wizard's Robe` (5110) from References: `World Drop - White World Drop - NPC Levels` 14-15 (1011415), 15-15 (1011515), 15-16 (1011516), 16-16 (1011616)
|
||||
DELETE FROM `reference_loot_template` WHERE `Item` = 5110;
|
||||
|
||||
DELETE FROM `creature_loot_template` WHERE `Item` = 5110;
|
||||
INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
|
||||
(1867, 5110, 0, 3, 0, 1, 0, 1, 1, 'Dalaran Apprentice - Dalaran Wizard\'s Robe'),
|
||||
(1888, 5110, 0, 4, 0, 1, 0, 1, 1, 'Dalaran Watcher - Dalaran Wizard\'s Robe'),
|
||||
(1889, 5110, 0, 4, 0, 1, 0, 1, 1, 'Dalaran Wizard - Dalaran Wizard\'s Robe'),
|
||||
(1912, 5110, 0, 3, 0, 1, 0, 1, 1, 'Dalaran Protector - Dalaran Wizard\'s Robe'),
|
||||
(1913, 5110, 0, 4, 0, 1, 0, 1, 1, 'Dalaran Warder - Dalaran Wizard\'s Robe'),
|
||||
(1914, 5110, 0, 3, 0, 1, 0, 1, 1, 'Dalaran Mage - Dalaran Wizard\'s Robe'),
|
||||
(1915, 5110, 0, 4, 0, 1, 0, 1, 1, 'Dalaran Conjuror - Dalaran Wizard\'s Robe'),
|
||||
(1920, 5110, 0, 1.6, 0, 1, 0, 1, 1, 'Dalaran Spellscribe - Dalaran Wizard\'s Robe'),
|
||||
(2120, 5110, 0, 1.8, 0, 1, 0, 1, 1, 'Archmage Ataeric - Dalaran Wizard\'s Robe'),
|
||||
(3577, 5110, 0, 4, 0, 1, 0, 1, 1, 'Dalaran Brewmaster - Dalaran Wizard\'s Robe'),
|
||||
(3578, 5110, 0, 3, 0, 1, 0, 1, 1, 'Dalaran Miner - Dalaran Wizard\'s Robe');
|
||||
2
data/sql/updates/db_world/2025_05_20_00.sql
Normal file
2
data/sql/updates/db_world/2025_05_20_00.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
-- DB update 2025_05_19_00 -> 2025_05_20_00
|
||||
UPDATE `creature_loot_template` SET `Chance` = 6 WHERE `Item` = 34334 AND `Entry` = 25315;
|
||||
4
data/sql/updates/db_world/2025_05_21_00.sql
Normal file
4
data/sql/updates/db_world/2025_05_21_00.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
-- DB update 2025_05_20_00 -> 2025_05_21_00
|
||||
--
|
||||
DELETE FROM `spell_custom_attr` WHERE `spell_id`=45770;
|
||||
INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES (45770, 4194304);
|
||||
2
data/sql/updates/db_world/2025_05_21_01.sql
Normal file
2
data/sql/updates/db_world/2025_05_21_01.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
-- DB update 2025_05_21_00 -> 2025_05_21_01
|
||||
UPDATE `smart_scripts` SET `action_param1` = 9053 WHERE `source_type` = 0 AND `entryorguid` IN (21382, 21637) AND `id` IN (1, 2) AND `action_type` = 11;
|
||||
51
data/sql/updates/db_world/2025_05_22_00.sql
Normal file
51
data/sql/updates/db_world/2025_05_22_00.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
-- DB update 2025_05_21_01 -> 2025_05_22_00
|
||||
|
||||
-- Set Attack Delay on spawn and update comments.
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 25708;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 25708);
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(25708, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Just Summoned - Set Reactstate Passive'),
|
||||
(25708, 0, 1, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 134, 45785, 2, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Just Summoned - Invoker Cast \'Sinister Reflection Clone\''),
|
||||
(25708, 0, 2, 3, 60, 0, 100, 1, 3000, 3000, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Update - Set Reactstate Aggressive (No Repeat)'),
|
||||
(25708, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 50, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Update - Start Attacking (No Repeat)'),
|
||||
(25708, 0, 4, 0, 6, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Just Died - Despawn In 2000 ms'),
|
||||
(25708, 0, 5, 0, 38, 0, 100, 512, 1, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 1 - Set Event Phase 1'),
|
||||
(25708, 0, 6, 0, 38, 0, 100, 512, 1, 2, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 2 - Set Event Phase 2'),
|
||||
(25708, 0, 7, 0, 38, 0, 100, 512, 1, 3, 0, 0, 0, 0, 22, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 3 - Set Event Phase 3'),
|
||||
(25708, 0, 8, 0, 38, 0, 100, 512, 1, 4, 0, 0, 0, 0, 22, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 4 - Set Event Phase 4'),
|
||||
(25708, 0, 9, 0, 38, 0, 100, 512, 1, 5, 0, 0, 0, 0, 22, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 5 - Set Event Phase 5'),
|
||||
(25708, 0, 10, 0, 38, 0, 100, 512, 1, 6, 0, 0, 0, 0, 22, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 6 - Set Event Phase 6'),
|
||||
(25708, 0, 11, 0, 38, 0, 100, 512, 1, 7, 0, 0, 0, 0, 22, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 7 - Set Event Phase 7'),
|
||||
(25708, 0, 12, 0, 38, 0, 100, 512, 1, 8, 0, 0, 0, 0, 22, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 8 - Set Event Phase 8'),
|
||||
(25708, 0, 13, 0, 38, 0, 100, 512, 1, 9, 0, 0, 0, 0, 22, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 9 - Set Event Phase 9'),
|
||||
(25708, 0, 14, 0, 38, 0, 100, 512, 1, 11, 0, 0, 0, 0, 22, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - On Data Set 1 11 - Set Event Phase 11'),
|
||||
(25708, 0, 15, 0, 0, 1, 100, 1, 0, 0, 0, 0, 0, 0, 11, 42459, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Dual Wield\' (Phase 1) (No Repeat)'),
|
||||
(25708, 0, 16, 0, 0, 1, 100, 0, 1000, 5000, 9000, 13000, 0, 0, 11, 17207, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Whirlwind\' (Phase 1)'),
|
||||
(25708, 0, 17, 0, 0, 2, 100, 0, 1000, 5000, 5000, 8000, 0, 0, 11, 38921, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Holy Shock\' (Phase 2)'),
|
||||
(25708, 0, 18, 0, 0, 2, 100, 0, 3000, 10000, 15000, 25000, 0, 0, 11, 37369, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Hammer of Justice\' (Phase 2)'),
|
||||
(25708, 0, 19, 0, 9, 4, 100, 0, 0, 0, 2000, 2000, 5, 30, 11, 16496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 5-30 Range - Cast \'Shoot\' (Phase 3)'),
|
||||
(25708, 0, 20, 0, 9, 4, 100, 0, 0, 0, 10000, 15000, 5, 30, 11, 48098, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 5-30 Range - Cast \'Multi-Shot\' (Phase 3)'),
|
||||
(25708, 0, 21, 0, 9, 4, 100, 0, 0, 0, 15000, 25000, 0, 5, 11, 40652, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 0-5 Range - Cast \'Wing Clip\' (Phase 3)'),
|
||||
(25708, 0, 22, 0, 9, 4, 100, 512, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 0-20 Range - Disable Combat Movement (Phase 3)'),
|
||||
(25708, 0, 23, 0, 9, 4, 100, 512, 0, 0, 0, 0, 25, 100, 21, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 25-100 Range - Enable Combat Movement (Phase 3)'),
|
||||
(25708, 0, 24, 0, 0, 8, 100, 1, 0, 0, 0, 0, 0, 0, 11, 42459, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Dual Wield\' (Phase 4) (No Repeat)'),
|
||||
(25708, 0, 25, 0, 0, 8, 100, 0, 1000, 3000, 4000, 6000, 0, 0, 11, 45897, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Hemorrhage\' (Phase 4)'),
|
||||
(25708, 0, 26, 0, 0, 16, 100, 0, 1000, 4000, 4000, 5000, 0, 0, 11, 47077, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Holy Smite\' (Phase 5)'),
|
||||
(25708, 0, 27, 0, 14, 16, 100, 0, 10000, 40, 10000, 15000, 0, 0, 11, 47079, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Friendly At 10000 Health - Cast \'Renew\' (Phase 5)'),
|
||||
(25708, 0, 28, 0, 9, 16, 100, 512, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 0-20 Range - Disable Combat Movement (Phase 5)'),
|
||||
(25708, 0, 29, 0, 9, 16, 100, 512, 0, 0, 0, 0, 25, 100, 21, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 25-100 Range - Enable Combat Movement (Phase 5)'),
|
||||
(25708, 0, 30, 0, 0, 32, 100, 1, 0, 0, 0, 0, 0, 0, 11, 42459, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Dual Wield\' (Phase 6) (No Repeat)'),
|
||||
(25708, 0, 31, 0, 0, 32, 100, 0, 1000, 5000, 4000, 6000, 0, 0, 11, 58843, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Plague Strike\' (Phase 6)'),
|
||||
(25708, 0, 32, 0, 0, 64, 100, 1, 0, 0, 0, 0, 0, 0, 11, 42459, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Dual Wield\' (Phase 7) (No Repeat)'),
|
||||
(25708, 0, 33, 0, 0, 64, 100, 0, 1000, 5000, 6000, 10000, 0, 0, 11, 47071, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Earth Shock\' (Phase 7)'),
|
||||
(25708, 0, 34, 0, 0, 128, 100, 0, 1000, 2000, 2000, 3000, 0, 0, 11, 47074, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Fireball\' (Phase 8)'),
|
||||
(25708, 0, 35, 0, 9, 128, 100, 512, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 0-20 Range - Disable Combat Movement (Phase 8)'),
|
||||
(25708, 0, 36, 0, 9, 128, 100, 512, 0, 0, 0, 0, 25, 100, 21, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 25-100 Range - Enable Combat Movement (Phase 8)'),
|
||||
(25708, 0, 37, 0, 0, 256, 100, 0, 1000, 1500, 1500, 2500, 0, 0, 11, 47076, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Shadow Bolt\' (Phase 9)'),
|
||||
(25708, 0, 38, 0, 0, 256, 100, 0, 4000, 5000, 10000, 12000, 0, 0, 11, 46190, 0, 0, 0, 0, 0, 5, 30, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Curse of Agony\' (Phase 9)'),
|
||||
(25708, 0, 39, 0, 9, 256, 100, 512, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 0-20 Range - Disable Combat Movement (Phase 9)'),
|
||||
(25708, 0, 40, 0, 9, 256, 100, 512, 0, 0, 0, 0, 25, 100, 21, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 25-100 Range - Enable Combat Movement (Phase 9)'),
|
||||
(25708, 0, 41, 0, 0, 1024, 100, 0, 1000, 2000, 2000, 3000, 0, 0, 11, 47072, 0, 0, 0, 0, 0, 5, 30, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - In Combat - Cast \'Moonfire\' (Phase 11)'),
|
||||
(25708, 0, 42, 0, 9, 1024, 100, 512, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 0-20 Range - Disable Combat Movement (Phase 11)'),
|
||||
(25708, 0, 43, 0, 9, 1024, 100, 512, 0, 0, 0, 0, 25, 100, 21, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Sinister Reflection - Within 25-100 Range - Enable Combat Movement (Phase 11)');
|
||||
@@ -7136,37 +7136,26 @@ void Player::ApplyItemEquipSpell(Item* item, bool apply, bool form_change)
|
||||
if (!proto)
|
||||
return;
|
||||
|
||||
for (uint8 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
|
||||
for (auto const& spellData : proto->Spells)
|
||||
{
|
||||
_Spell const& spellData = proto->Spells[i];
|
||||
|
||||
// no spell
|
||||
// no spell
|
||||
if (!spellData.SpellId)
|
||||
continue;
|
||||
|
||||
// Spells that should stay on the caster after removing the item.
|
||||
constexpr std::array<int32, 2> spellExceptions =
|
||||
{
|
||||
11826, //Electromagnetic Gigaflux Reactivator
|
||||
17490 //Book of the Dead - Summon Skeleton
|
||||
};
|
||||
const auto found = std::find(std::begin(spellExceptions), std::end(spellExceptions), spellData.SpellId);
|
||||
|
||||
// wrong triggering type
|
||||
if (apply)
|
||||
{
|
||||
// Only apply "On Equip" spells
|
||||
if (spellData.SpellTrigger != ITEM_SPELLTRIGGER_ON_EQUIP)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the spell is an exception do not remove it.
|
||||
if (found != std::end(spellExceptions))
|
||||
{
|
||||
// Do not remove "Use" spells in these special cases:
|
||||
// 1. During form changes (e.g., druid shapeshifting)
|
||||
// 2. When the spell comes from an item with negative charges, which means its effect should persist after the item is consumed or removed.
|
||||
if (spellData.SpellTrigger == ITEM_SPELLTRIGGER_ON_USE && (form_change || spellData.SpellCharges < 0))
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// check if it is valid spell
|
||||
@@ -7215,18 +7204,6 @@ void Player::ApplyEquipSpell(SpellInfo const* spellInfo, Item* item, bool apply,
|
||||
RemoveAurasDueToItemSpell(spellInfo->Id, item->GetGUID()); // un-apply all spells, not only at-equipped
|
||||
else
|
||||
RemoveAurasDueToSpell(spellInfo->Id); // un-apply spell (item set case)
|
||||
|
||||
// Xinef: Remove Proc Spells and Summons
|
||||
for (uint8 i = EFFECT_0; i < MAX_SPELL_EFFECTS; ++i)
|
||||
{
|
||||
// Xinef: Remove procs
|
||||
if (spellInfo->Effects[i].TriggerSpell)
|
||||
RemoveAurasDueToSpell(spellInfo->Effects[i].TriggerSpell);
|
||||
|
||||
// Xinef: remove minions summoned by item
|
||||
if (spellInfo->Effects[i].Effect == SPELL_EFFECT_SUMMON)
|
||||
RemoveAllMinionsByEntry(spellInfo->Effects[i].MiscValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4897,8 +4897,10 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_70_YARDS);
|
||||
});
|
||||
|
||||
// Encapsulate
|
||||
ApplySpellFix({ 45662 }, [](SpellInfo* spellInfo)
|
||||
ApplySpellFix({
|
||||
45662, // Encapsulate
|
||||
45642 // Fire Bloom
|
||||
}, [](SpellInfo* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx7 |= SPELL_ATTR7_TREAT_AS_NPC_AOE;
|
||||
});
|
||||
|
||||
@@ -141,6 +141,7 @@ struct npc_kiljaeden_controller : public NullCreatureAI
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
scheduler.CancelAll();
|
||||
instance->SetBossState(DATA_KILJAEDEN, NOT_STARTED);
|
||||
summons.DespawnAll();
|
||||
ResetOrbs();
|
||||
|
||||
@@ -122,9 +122,9 @@ public:
|
||||
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
|
||||
{
|
||||
if (GetClosestCreatureWithEntry(me, NPC_SOUTH_GATE, 200.0f))
|
||||
player->KilledMonsterCredit(NPC_SOUTH_GATE_CREDIT);
|
||||
player->RewardPlayerAndGroupAtEvent(NPC_SOUTH_GATE_CREDIT, player);
|
||||
else if (GetClosestCreatureWithEntry(me, NPC_NORTH_GATE, 200.0f))
|
||||
player->KilledMonsterCredit(NPC_NORTH_GATE_CREDIT);
|
||||
player->RewardPlayerAndGroupAtEvent(NPC_NORTH_GATE_CREDIT, player);
|
||||
// complete quest part
|
||||
if (Creature* bunny = GetClosestCreatureWithEntry(me, NPC_EXPLOSION_BUNNY, 200.0f))
|
||||
bunny->CastSpell(nullptr, SPELL_EXPLOSION, TRIGGERED_NONE);
|
||||
|
||||
Reference in New Issue
Block a user