Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum queldelarSpells
- {
- Bladestorm = 67541,
- Heroic_Strike = 29426,
- Mortal_Strike = 16856,
- Whirlind = 67716
- };
- class npc_queldelar : public CreatureScript
- {
- public:
- npc_queldelar() : CreatureScript("npc_queldelar") { }
- CreatureAI* GetAI(Creature* creature) const
- {
- return new npc_queldelarAI(creature);
- }
- struct npc_queldelarAI : public ScriptedAI
- {
- uint32 Bladestorm;
- uint32 Heroic_Strike;
- uint32 Mortal_Strike;
- uint32 Whirlind;
- bool summoned;
- void Reset()
- {
- Bladestorm = 10000;
- Heroic_Strike = 5000;
- Mortal_Strike = 7000;
- Whirlind = 13000;
- bool summoned = false;
- me->SetVisible(false);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
- }
- npc_queldelarAI(Creature *c) : ScriptedAI(c)
- {
- }
- void MoveInLineOfSight(Unit* who)
- {
- if (!who)
- return;
- if (me->IsWithinDistInMap(who, 20) && who->HasAura(SPELL_QUELDELAR_AURA) && (summoned==false))
- {
- me->SetVisible(true);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
- summoned==true;
- }
- }
- void UpdateAI(const uint32 uiDiff)
- {
- if (!UpdateVictim())
- return;
- if (Bladestorm <= uiDiff)
- {
- DoCast(me->getVictim(), Bladestorm);
- Bladestorm = 10000;
- } else Bladestorm -= uiDiff;
- if (Heroic_Strike <= uiDiff)
- {
- DoCast(me->getVictim(), Heroic_Strike);
- Heroic_Strike = 5000;
- } else Heroic_Strike -= uiDiff;
- if (Mortal_Strike <= uiDiff)
- {
- DoCast(me->getVictim(), Mortal_Strike);
- Mortal_Strike = 7000;
- } else Mortal_Strike -= uiDiff;
- if (Whirlind <= uiDiff)
- {
- DoCast(me->getVictim(), Whirlind);
- Whirlind = 13000;
- } else Whirlind -= uiDiff;
- DoMeleeAttackIfReady();
- }
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement