fix(Scripts\TempleOfAnhQiraj): Fix Huhuran`s Wyvern Sting dealing no … (#12445)
...damage when dispelled
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
--
|
||||||
|
DELETE FROM `spell_script_names` WHERE `spell_id` = 26180 AND `ScriptName` = 'spell_huhuran_wyvern_sting';
|
||||||
|
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (26180, 'spell_huhuran_wyvern_sting');
|
||||||
@@ -24,6 +24,7 @@ EndScriptData */
|
|||||||
|
|
||||||
#include "ScriptMgr.h"
|
#include "ScriptMgr.h"
|
||||||
#include "ScriptedCreature.h"
|
#include "ScriptedCreature.h"
|
||||||
|
#include "SpellScript.h"
|
||||||
#include "temple_of_ahnqiraj.h"
|
#include "temple_of_ahnqiraj.h"
|
||||||
|
|
||||||
enum Huhuran
|
enum Huhuran
|
||||||
@@ -36,7 +37,8 @@ enum Huhuran
|
|||||||
SPELL_POISONBOLT = 26052,
|
SPELL_POISONBOLT = 26052,
|
||||||
SPELL_NOXIOUSPOISON = 26053,
|
SPELL_NOXIOUSPOISON = 26053,
|
||||||
SPELL_WYVERNSTING = 26180,
|
SPELL_WYVERNSTING = 26180,
|
||||||
SPELL_ACIDSPIT = 26050
|
SPELL_ACIDSPIT = 26050,
|
||||||
|
SPELL_WYVERN_STING_DAMAGE = 26233
|
||||||
};
|
};
|
||||||
|
|
||||||
class boss_huhuran : public CreatureScript
|
class boss_huhuran : public CreatureScript
|
||||||
@@ -76,10 +78,6 @@ public:
|
|||||||
Berserk = false;
|
Berserk = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/) override
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateAI(uint32 diff) override
|
void UpdateAI(uint32 diff) override
|
||||||
{
|
{
|
||||||
//Return since we have no target
|
//Return since we have no target
|
||||||
@@ -100,8 +98,7 @@ public:
|
|||||||
// Wyvern Timer
|
// Wyvern Timer
|
||||||
if (Wyvern_Timer <= diff)
|
if (Wyvern_Timer <= diff)
|
||||||
{
|
{
|
||||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
DoCastAOE(SPELL_WYVERNSTING);
|
||||||
DoCast(target, SPELL_WYVERNSTING);
|
|
||||||
Wyvern_Timer = urand(15000, 32000);
|
Wyvern_Timer = urand(15000, 32000);
|
||||||
}
|
}
|
||||||
else Wyvern_Timer -= diff;
|
else Wyvern_Timer -= diff;
|
||||||
@@ -155,7 +152,27 @@ public:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 26180 - Wyvern Sting
|
||||||
|
class spell_huhuran_wyvern_sting : public AuraScript
|
||||||
|
{
|
||||||
|
PrepareAuraScript(spell_huhuran_wyvern_sting);
|
||||||
|
|
||||||
|
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||||
|
{
|
||||||
|
if (Unit* caster = GetCaster())
|
||||||
|
{
|
||||||
|
caster->CastCustomSpell(SPELL_WYVERN_STING_DAMAGE, SPELLVALUE_BASE_POINT0, 3000, GetUnitOwner(), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Register() override
|
||||||
|
{
|
||||||
|
AfterEffectRemove += AuraEffectRemoveFn(spell_huhuran_wyvern_sting::HandleRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_boss_huhuran()
|
void AddSC_boss_huhuran()
|
||||||
{
|
{
|
||||||
new boss_huhuran();
|
new boss_huhuran();
|
||||||
|
RegisterSpellScript(spell_huhuran_wyvern_sting);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user