mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 09:17:18 +00:00
fix(Scripts/Hyjal): Limit Anetheron sleep to 3 targets (#18929)
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
--
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_anetheron_sleep';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(31298, 'spell_anetheron_sleep');
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
#include "CreatureScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "hyjal.h"
|
||||
|
||||
enum Spells
|
||||
@@ -58,18 +60,18 @@ public:
|
||||
|
||||
scheduler.Schedule(20s, 28s, [this](TaskContext context)
|
||||
{
|
||||
if (DoCastRandomTarget(SPELL_CARRION_SWARM, 0, 60.f))
|
||||
if (DoCastRandomTarget(SPELL_CARRION_SWARM, 0, 60.f) == SPELL_CAST_OK)
|
||||
Talk(SAY_SWARM);
|
||||
context.Repeat(10s, 15s);
|
||||
}).Schedule(25s, 32s, [this](TaskContext context)
|
||||
{
|
||||
if (DoCastRandomTarget(SPELL_SLEEP))
|
||||
if (DoCastRandomTarget(SPELL_SLEEP) == SPELL_CAST_OK)
|
||||
Talk(SAY_SLEEP);
|
||||
|
||||
context.Repeat(35s, 48s);
|
||||
}).Schedule(30s, 48s, [this](TaskContext context)
|
||||
{
|
||||
if (DoCastRandomTarget(SPELL_INFERNO))
|
||||
if (DoCastRandomTarget(SPELL_INFERNO) == SPELL_CAST_OK)
|
||||
Talk(SAY_INFERNO);
|
||||
|
||||
context.Repeat(50s, 55s);
|
||||
@@ -138,7 +140,24 @@ private:
|
||||
|
||||
};
|
||||
|
||||
class spell_anetheron_sleep : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_anetheron_sleep);
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
if (!targets.empty())
|
||||
Acore::Containers::RandomResize(targets, 3);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_anetheron_sleep::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_anetheron()
|
||||
{
|
||||
RegisterHyjalAI(boss_anetheron);
|
||||
RegisterSpellScript(spell_anetheron_sleep);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user