Skip to content

Commit 896f762

Browse files
authored
fix(Scripts/Spells): some LW drums cannot affect targets lvl80 or higher (azerothcore#24611)
1 parent 29be348 commit 896f762

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--
2+
-- 35475 Drums of War
3+
-- 35476 Drums of Battle
4+
-- 35478 Drums of Restoration
5+
-- 'Cannot affect targets level 80 or higher.'
6+
DELETE FROM `spell_script_names` WHERE `spell_id` IN (35475, 35476, 35478);
7+
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
8+
(35475, 'spell_gen_filter_party_level_80'),
9+
(35476, 'spell_gen_filter_party_level_80'),
10+
(35478, 'spell_gen_filter_party_level_80');

src/server/scripts/Spells/spell_generic.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5696,6 +5696,28 @@ class spell_gen_whisper_to_controller : public SpellScript
56965696
}
56975697
};
56985698

5699+
// 35475 Drums of War
5700+
// 35476 Drums of Battle
5701+
// 35478 Drums of Restoration
5702+
class spell_gen_filter_party_level_80 : public SpellScript
5703+
{
5704+
PrepareSpellScript(spell_gen_filter_party_level_80);
5705+
5706+
void FilterTargets(std::list<WorldObject*>& targets)
5707+
{
5708+
targets.remove_if([&](WorldObject* target) -> bool
5709+
{
5710+
Unit* unit = target->ToUnit();
5711+
return unit && unit->GetLevel() >= 80;
5712+
});
5713+
}
5714+
5715+
void Register() override
5716+
{
5717+
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_gen_filter_party_level_80::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_PARTY);
5718+
}
5719+
};
5720+
56995721
void AddSC_generic_spell_scripts()
57005722
{
57015723
RegisterSpellScript(spell_silithyst);
@@ -5871,4 +5893,5 @@ void AddSC_generic_spell_scripts()
58715893
RegisterSpellScript(spell_gen_bm_on);
58725894
RegisterSpellScript(spell_gen_bm_off);
58735895
RegisterSpellScript(spell_gen_whisper_to_controller);
5896+
RegisterSpellScript(spell_gen_filter_party_level_80);
58745897
}

0 commit comments

Comments
 (0)