mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-18 03:15:41 +00:00
fix(Scripts/ZulGurub): Gah'zranka's Slam should reset threat. (#11910)
This commit is contained in:
@@ -24,6 +24,7 @@ EndScriptData */
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
enum Spells
|
||||
@@ -110,7 +111,44 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_gahzranka_slam : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_gahzranka_slam);
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
_wipeThreat = targets.size() < caster->GetThreatMgr().getThreatList().size();
|
||||
}
|
||||
}
|
||||
|
||||
void HandleWipeThreat(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (_wipeThreat)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
if (Unit* target = GetHitUnit())
|
||||
{
|
||||
caster->GetThreatMgr().modifyThreatPercent(target, -100);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_gahzranka_slam::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_gahzranka_slam::HandleWipeThreat, EFFECT_1, SPELL_EFFECT_KNOCK_BACK);
|
||||
}
|
||||
|
||||
private:
|
||||
bool _wipeThreat = false;
|
||||
};
|
||||
|
||||
void AddSC_boss_gahzranka()
|
||||
{
|
||||
new boss_gahzranka();
|
||||
RegisterSpellScript(spell_gahzranka_slam);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user