コード例 #1
0
        void UpdateAI(const uint32 diff)
        {
            if (!UpdateVictim())
            return;

            if (!Light && !HealthAbovePct(100))
            {
                if(Asphyxiate_Timer <= diff)
                {
                    DoCastToAllHostilePlayers(IsHeroic() ? SPELL_ASPHYXIATE_H : SPELL_ASPHYXIATE);
                    Asphyxiate_Timer = 30000;
                }else Asphyxiate_Timer -= diff;

                if(PainAndSuffering_Timer <= diff)
                {
                    if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
                    DoCast(pTarget, IsHeroic() ? SPELL_PAINANDSUFFERING_H : SPELL_PAINANDSUFFERING);
                    PainAndSuffering_Timer = 12000;
                }else PainAndSuffering_Timer -= diff;

                if(StayOfExecution_Timer <= diff)
                {
                    DoCastToAllHostilePlayers(IsHeroic() ? SPELL_STAYOFEXECUTION_H : SPELL_STAYOFEXECUTION);
                    StayOfExecution_Timer = 36200;
                }else StayOfExecution_Timer -= diff;

                if(WrackingPain_Timer <= diff)
                {
                    if (IsHeroic())
                    {
                        DoCast(SPELL_WRACKINGPAIN);
                        WrackingPain_Timer = 20000;
                    }else WrackingPain_Timer -= diff;

                    Light = true;
                    Dark = false;
                }
            }

            if (!Dark && !HealthAbovePct(26))
            {
                if (IsHeroic())
                {
                    Position pos;
                    me->GetPosition(&pos);
                    SetCombatMovement(false);
                    me->MonsterYell(SAY_DARKANGEL, LANG_UNIVERSAL, NULL);
                    DoCast(me, SPELL_ARCHANGELFORM);
                    DoCast(SPELL_CALAMITY);

                    Dark = true;
                    Light = false;
                }

                DoMeleeAttackIfReady();
            }
        }
コード例 #2
0
		void UpdateAI(uint32 diff) override
		{
			if (!UpdateVictim())
				return;

			_events.Update(diff);

			while (uint32 eventId = _events.ExecuteEvent())
			{
				switch (eventId)
				{
				case EVENT_POISON_NOVA:
					DoCastAOE(SPELL_POISON_NOVA);
					_events.ScheduleEvent(EVENT_TOXIC_WASTE, 30000);
					break;
				case EVENT_TOXIC_WASTE:
					DoCastToAllHostilePlayers(SPELL_TOXIC_WASTE);
					_events.ScheduleEvent(EVENT_TOXIC_WASTE, 45000);
					break;
				case EVENT_ENRAGE:
					Talk(SAY_RANDOM);
					DoCast(SPELL_ENRAGE);
					break;
				case EVENT_RAIN_OF_FIRE:
					me->FinishSpell(CURRENT_CHANNELED_SPELL, true);
					DoCastToAllHostilePlayers(SPELL_RAIN_OF_FIRE);
					_events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 10000);
					break;
				case EVENT_FLAME_BURST:
					Talk(SAY_BERSERK);
					DoCast(me, SPELL_FLAME_BURST);
					_events.ScheduleEvent(EVENT_FLAME_BURST, 12000);
					break;
				case EVENT_SUMMONS:
					Talk(SAY_HELP);
					me->SummonCreature(NPC_PUSTELIGER_SCHRECKEN, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_CORPSE_DESPAWN, 12000);
					me->SummonCreature(NPC_PUSTELIGER_SCHRECKEN, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_CORPSE_DESPAWN, 12000);
					me->SummonCreature(NPC_PUSTELIGER_SCHRECKEN, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_CORPSE_DESPAWN, 12000);
					_events.ScheduleEvent(EVENT_SUMMONS, 60000);
					break;
				case EVENT_ARCANE_BOMB:
					Talk(SAY_ENRAGE);
					DoCastToAllHostilePlayers(SPELL_ARCANE_BOMB);
					_events.ScheduleEvent(EVENT_ARCANE_BOMB, 15000);
					break;
				case EVENT_SPALTEN:
					DoCastToAllHostilePlayers(SPELL_SPALTEN);
					_events.ScheduleEvent(EVENT_SPALTEN, 30000);
					break;
				case EVENT_BURN:
					DoCastVictim(SPELL_BURN);
					_events.ScheduleEvent(EVENT_BURN, 5000);
					break;
				case EVENT_BREATH:
					if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO,0)){
						DoCast(target,SPELL_FLAME_BREATH);
					}
					
					_events.ScheduleEvent(EVENT_BREATH, 35000);
					break;

				default:
					break;
				}
			}

			DoMeleeAttackIfReady();
		}
コード例 #3
0
ファイル: boss_light.cpp プロジェクト: Exitare/Wotlk-Core
		void UpdateAI(uint32 diff) override
		{
			if (!UpdateVictim())
				return;

			_events.Update(diff);

			while (uint32 eventId = _events.ExecuteEvent())
			{
				switch (eventId)
				{
				case EVENT_ALPTRAUM:
					DoCastToAllHostilePlayers(SPELL_ALPTRAUM);
					_events.ScheduleEvent(EVENT_ALPTRAUM, 10000);
					break;
				case EVENT_ENRAGE:
					DoCastToAllHostilePlayers(SPELL_ENRAGE);
					break;
				case EVENT_ARKANE_AUFLADUNG:
					DoCastToAllHostilePlayers(SPELL_ARKANE_AUFLADUNG);
					_events.ScheduleEvent(EVENT_BLIZZARD, 15000);
					break;
				case EVENT_FEUERBALL:
					DoCastToAllHostilePlayers(SPELL_FEUERBALL);
					_events.ScheduleEvent(EVENT_SEUCHENBOMBE, 10000);
					break;
				case EVENT_BLITZENTLADUNG:
					DoCastToAllHostilePlayers(SPELL_BLITZENTLADUNG);
					_events.ScheduleEvent(EVENT_BLITZENTLADUNG, 12000);
					break;
				case EVENT_BLIZZARD:
					Talk(SAY_BLIZZARD);
					DoCastToAllHostilePlayers(SPELL_BLIZZARD);
					_events.ScheduleEvent(EVENT_ARKANE_AUFLADUNG, 25000);
					break;
				case EVENT_BLUTGERUCH:
					DoCastToAllHostilePlayers(SPELL_BLUTGERUCH);
					_events.ScheduleEvent(EVENT_BLUTGERUCH, 18000);
					break;
				case EVENT_BRECHENDE_WELLE:
					DoCastVictim(SPELL_BRECHENDE_WELLE);
					_events.ScheduleEvent(EVENT_BRECHENDE_WELLE, 12000);
					break;
				case EVENT_DEGENERATION:
					DoCast(SPELL_DEGENERATION);
					_events.ScheduleEvent(EVENT_DEGENERATION, 20000,1);
					break;
				case EVENT_DURCHDRINGENDE_KAELTE:
					DoCastToAllHostilePlayers(SPELL_DURCHDRINGENDE_KAELTE);
					_events.ScheduleEvent(EVENT_DURCHDRINGENDE_KAELTE, 12000);
					break;
				case EVENT_EISBLITZ:
					DoCastToAllHostilePlayers(SPELL_EISBLITZ);
					_events.ScheduleEvent(EVENT_ERNEUERUNG, 25000);
					break;
				case EVENT_ERNEUERUNG:
					DoCast(me,SPELL_ERNEUERUNG);
					_events.ScheduleEvent(EVENT_EISBLITZ, 25000);
					break;
				case EVENT_SEUCHENBOMBE:
					DoCast(me, SPELL_SEUCHENBOMBE);
					_events.ScheduleEvent(EVENT_SEUCHENBOMBE, 25000);
					break;
				default:
					break;
				}
			}

			DoMeleeAttackIfReady();
		}
コード例 #4
0
ファイル: boss_anna.cpp プロジェクト: mynew3/Wotlk-Core
			void UpdateAI(uint32 diff) override
			{
				if (!UpdateVictim())
					return;

				_events.Update(diff);

				while (uint32 eventId = _events.ExecuteEvent())
				{
					switch (eventId)
					{
					case EVENT_HEX:
						DoCastVictim(SPELL_HEX);
						_events.ScheduleEvent(EVENT_HEX, 1000);
						break;
					case EVENT_SHEEP:
						DoCastVictim(SPELL_SHEEP);
						_events.ScheduleEvent(EVENT_SHEEP, 1000);
						break;
					case EVENT_FLUCH_DER_PEIN:
						DoCastVictim(SPELL_FLUCH_DER_PEIN);
						_events.ScheduleEvent(EVENT_FLUCH_DER_PEIN, 8000);
						break;
					case EVENT_SPALTEN:
						DoCastVictim(SPELL_SPALTEN);
						_events.ScheduleEvent(EVENT_SPALTEN, 10000);
						break;
					case EVENT_SCHATTENWORT_SCHMERZ:
						DoCastToAllHostilePlayers(SPELL_SCHATTENWORT_SCHMERZ);
						_events.ScheduleEvent(EVENT_SCHATTENWORT_SCHMERZ, 20000);
						break;
					case EVENT_RUESTUNG_ZERREISSEN:
						DoCastVictim(SPELL_RUESTUNG_ZERREISSEN);
						_events.ScheduleEvent(EVENT_RUESTUNG_ZERREISSEN, 1000);
						break;
					case EVENT_VERDERBNIS:
						DoCastVictim(SPELL_VERDERBNIS);
						_events.ScheduleEvent(EVENT_VERDERBNIS, 1000);
						break;
					case EVENT_FLEISCH_EINAESCHERN:
						DoCastVictim(SPELL_FLEISCH_EINAESCHERN);
						_events.ScheduleEvent(EVENT_FLEISCH_EINAESCHERN, 2000);
						break;
					case EVENT_INSTABILES_GEBRECHEN:
						DoCastVictim(SPELL_INSTABILES_GEBRECHEN);
						_events.ScheduleEvent(EVENT_INSTABILES_GEBRECHEN, 3000);
						break;
					case EVENT_WIRBELWIND:
						DoCastVictim(SPELL_WIRBELWIND);
						_events.ScheduleEvent(EVENT_WIRBELWIND, 2000);
						break;
					case EVENT_VERDERBENDE_SEUCHE:
						DoCastVictim(SPELL_VERDERBENDE_SEUCHE);
						_events.ScheduleEvent(EVENT_VERDERBENDE_SEUCHE, 800);
						break;
					case EVENT_WUNDGIFT:
						DoCastVictim(SPELL_WUNDGIFT);
						_events.ScheduleEvent(EVENT_WUNDGIFT, 1000);
						break;
					case EVENT_HAMMER_DER_GERECHTIGKEIT:
						DoCastVictim(SPELL_HAMMER_DER_GERECHTIGKEIT);
						_events.ScheduleEvent(EVENT_HAMMER_DER_GERECHTIGKEIT, 1000);
						break;
					case EVENT_GOETTLICHER_STURM:
						DoCastVictim(SPELL_GOETTLICHER_STURM);
						_events.ScheduleEvent(EVENT_GOETTLICHER_STURM, 1000);
						break;
					case EVENT_ZAUBERSCHILD:
						DoCast(me, SPELL_ZAUBERSCHILD);
						_events.ScheduleEvent(EVENT_ZAUBERSCHILD, 4000);
						break;
					default:
						break;
					}
				}

				DoMeleeAttackIfReady();
			}
コード例 #5
0
ファイル: tyranium.cpp プロジェクト: Exitare/Wotlk-Core
		void UpdateAI(uint32 diff) override
		{
			if (!UpdateVictim())
				return;

			_events.Update(diff);

			while (uint32 eventId = _events.ExecuteEvent())
			{
				switch (eventId)
				{
				case EVENT_NECROTIC_AURA:
					DoCast(me, SPELL_NECROTIC_AURA);
					break;
				case EVENT_BRAIN_LINK_DAMAGE:
					DoCastVictim(SPELL_BRAIN_LINK_DAMAGE);
					_events.ScheduleEvent(EVENT_BRAIN_LINK_DAMAGE, 8000);
					break;
				case EVENT_MANA_DESTRUCTION:
					Talk(SAY_RANDOM);
					DoCast(SPELL_MANA_DESTRUCTION);
					_events.ScheduleEvent(EVENT_MANA_DESTRUCTION, 1000);
					break;
				case EVENT_CRYSTAL_CHAINS:
					DoCastVictim(SPELL_CRYSTAL_CHAINS);
					_events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, 30000);
					break;
				case EVENT_NECROTIC_POISON:
					Talk(SAY_BERSERK);
					DoCast(me, SPELL_NECROTIC_POISON);
					_events.ScheduleEvent(EVENT_NECROTIC_POISON, 120000);
					break;
				case EVENT_MANGLING_SLASH:
					Talk(SAY_ENRAGE);
					DoCast(me, SPELL_MANGLING_SLASH);
					_events.ScheduleEvent(EVENT_MANGLING_SLASH, 10000);
					break;
				case EVENT_PIERCING_SLASH:
					DoCastToAllHostilePlayers(SPELL_PIERCING_SLASH);
					_events.ScheduleEvent(EVENT_PIERCING_SLASH, 15000);
					break;
				case EVENT_BLOOD_MIRROR_DAMAGE:
					DoCast(SPELL_BLOOD_MIRROR_DAMAGE);
					_events.ScheduleEvent(EVENT_BLOOD_MIRROR_DAMAGE, 18000);
					break;
				case EVENT_ANNOYING_YIPPING:
					DoCastToAllHostilePlayers(SPELL_ANNOYING_YIPPING);
					_events.ScheduleEvent(EVENT_ANNOYING_YIPPING, 25000);
					break;
				case EVENT_SARGERAS:
					DoCastToAllHostilePlayers(SPELL_SARGERAS);
					_events.ScheduleEvent(EVENT_SARGERAS, 5000);
					break;
				case EVENT_BURN:
					DoCastToAllHostilePlayers(SPELL_BURN);
					_events.ScheduleEvent(EVENT_BURN, 35000);
					break;


				default:
					break;
				}
			}

			DoMeleeAttackIfReady();
		}
コード例 #6
0
		void UpdateAI(uint32 diff) override
		{
			if (!UpdateVictim())
				return;

			_events.Update(diff);

			while (uint32 eventId = _events.ExecuteEvent())
			{
				switch (eventId)
				{

				case EVENT_SUMMONS:
					Talk(SAY_HELP);
					me->SummonCreature(NPC_ADD, me->GetPositionX() + 5, me->GetPositionY() + 5, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
					_events.ScheduleEvent(EVENT_SUMMONS, 30000);
					break;
				case EVENT_NECROTIC_AURA:
					DoCast(me->GetVictim(), SPELL_NECROTIC_AURA);
					break;
				case EVENT_BRAIN_LINK_DAMAGE:
					DoCastVictim(SPELL_BRAIN_LINK_DAMAGE);
					_events.ScheduleEvent(EVENT_BRAIN_LINK_DAMAGE, 8000);
					break;
				case EVENT_MANA_DESTRUCTION:
					Talk(SAY_RANDOM);
					DoCastVictim(SPELL_MANA_DESTRUCTION);
					_events.ScheduleEvent(EVENT_MANA_DESTRUCTION, 1000);
					break;
				case EVENT_CRYSTAL_CHAINS:
					DoCastVictim(SPELL_CRYSTAL_CHAINS);
					_events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, 30000);
					break;
				case EVENT_NECROTIC_POISON:
					Talk(SAY_BERSERK);
					DoCast(me->GetVictim(), SPELL_NECROTIC_POISON);
					_events.ScheduleEvent(EVENT_NECROTIC_POISON, 120000);
					break;
				case EVENT_MANGLING_SLASH:
					Talk(SAY_ENRAGE);
					DoCast(me, SPELL_MANGLING_SLASH);
					_events.ScheduleEvent(EVENT_MANGLING_SLASH, 10000);
					break;
				case EVENT_PIERCING_SLASH:
					DoCastToAllHostilePlayers(SPELL_PIERCING_SLASH);
					_events.ScheduleEvent(EVENT_PIERCING_SLASH, 15000);
					break;
				case EVENT_BLOOD_MIRROR_DAMAGE:
					DoCast(me->GetVictim(), SPELL_BLOOD_MIRROR_DAMAGE);
					_events.ScheduleEvent(EVENT_BLOOD_MIRROR_DAMAGE, 18000);
					break;
				case EVENT_ANNOYING_YIPPING:
					DoCastToAllHostilePlayers(SPELL_ANNOYING_YIPPING);
					_events.ScheduleEvent(EVENT_ANNOYING_YIPPING, 25000);
					break;
				case EVENT_SARGERAS:
					DoCastToAllHostilePlayers(SPELL_SARGERAS);
					_events.ScheduleEvent(EVENT_SARGERAS, 5000);
					break;
				case EVENT_BURN:
					DoCastVictim(SPELL_BURN);
					_events.ScheduleEvent(EVENT_BURN, 35000);
					break;
				case EVENT_TAIL_LASH:
					DoCast(me->GetVictim(), SPELL_TAIL_LASH);
					_events.ScheduleEvent(EVENT_BURN, 5000);
					break;


				default:
					break;
				}
			}

			DoMeleeAttackIfReady();
		}
コード例 #7
0
		void UpdateAI(uint32 diff) override
		{
			if (!UpdateVictim())
				return;

			_events.Update(diff);

			while (uint32 eventId = _events.ExecuteEvent())
			{
				switch (eventId)
				{
				case EVENT_ALPTRAUM:
					DoCastToAllHostilePlayers(SPELL_ALPTRAUM);
					_events.ScheduleEvent(EVENT_ALPTRAUM, 10000);
					break;
				case EVENT_ENRAGE:
					DoCastToAllHostilePlayers(SPELL_ENRAGE);
					break;
				case EVENT_ARKANE_AUFLADUNG:
					DoCastToAllHostilePlayers(SPELL_ARKANE_AUFLADUNG);
					_events.ScheduleEvent(EVENT_BLIZZARD, 15000);
					break;
				case EVENT_FEUERBALL:
					DoCastToAllHostilePlayers(SPELL_FEUERBALL);
					_events.ScheduleEvent(EVENT_SEUCHENBOMBE, 10000);
					break;
				case EVENT_BLITZENTLADUNG:
					DoCastToAllHostilePlayers(SPELL_BLITZENTLADUNG);
					_events.ScheduleEvent(EVENT_BLITZENTLADUNG, 12000);
					break;
				case EVENT_BLIZZARD:
					Talk(SAY_BLIZZARD);
					DoCastToAllHostilePlayers(SPELL_BLIZZARD);
					_events.ScheduleEvent(EVENT_ARKANE_AUFLADUNG, 25000);
					break;
				case EVENT_BLUTGERUCH:
					DoCastToAllHostilePlayers(SPELL_BLUTGERUCH);
					_events.ScheduleEvent(EVENT_BLUTGERUCH, 18000);
					break;
				case EVENT_BRECHENDE_WELLE:
					DoCastVictim(SPELL_BRECHENDE_WELLE);
					_events.ScheduleEvent(EVENT_BRECHENDE_WELLE, 12000);
					break;
				case EVENT_DEGENERATION:
					DoCast(SPELL_DEGENERATION);
					_events.ScheduleEvent(EVENT_DEGENERATION, 20000, 1);
					break;
				case EVENT_DURCHDRINGENDE_KAELTE:
					DoCastToAllHostilePlayers(SPELL_DURCHDRINGENDE_KAELTE);
					_events.ScheduleEvent(EVENT_DURCHDRINGENDE_KAELTE, 12000);
					break;
				case EVENT_EISBLITZ:
					DoCastToAllHostilePlayers(SPELL_EISBLITZ);
					_events.ScheduleEvent(EVENT_ERNEUERUNG, 25000);
					break;
				case EVENT_ERNEUERUNG:
					DoCast(me, SPELL_ERNEUERUNG);
					_events.ScheduleEvent(EVENT_EISBLITZ, 25000);
					break;
				case EVENT_SEUCHENBOMBE:
					DoCast(me, SPELL_SEUCHENBOMBE);
					_events.ScheduleEvent(EVENT_SEUCHENBOMBE, 25000);
					break;
				case EVENT_TOXIC_WASTE:
					DoCastToAllHostilePlayers(SPELL_TOXIC_WASTE);
					_events.ScheduleEvent(EVENT_TOXIC_WASTE, 15000);
					break;
				case EVENT_SPALTEN:
					DoCastVictim(SPELL_SPALTEN);
					_events.ScheduleEvent(EVENT_SPALTEN, 10000);
					break;
				case EVENT_ARMY_OF_DEAD:
					DoCast(SPELL_ARMY_OF_DEAD);
					break;
				case EVENT_SUMMONS_HARD:
					me->SummonCreature(NPC_SCHMORSCHUPPEN, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_CORPSE_DESPAWN, 600000);
					me->SummonCreature(NPC_SCHMORSCHUPPEN, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_CORPSE_DESPAWN, 600000);
					break;
				case EVENT_SUMMONS:
					me->SummonCreature(NPC_SCHMORSCHUPPEN, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_CORPSE_DESPAWN, 600000);
					break;

				default:
					break;
				}
			}

			DoMeleeAttackIfReady();
		}
コード例 #8
0
		void UpdateAI(uint32 diff) override
		{
			if (!UpdateVictim())
				return;

			_events.Update(diff);

			while (uint32 eventId = _events.ExecuteEvent())
			{
				switch (eventId)
				{
				case EVENT_CURRUPTION:
					if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)){
						DoCast(target, SPELL_CORRUPTION);
					}
					_events.ScheduleEvent(EVENT_CURRUPTION, 10000);
					break;
				case EVENT_ENRAGE:
					DoCastToAllHostilePlayers(SPELL_ENRAGE);
					break;
				case EVENT_CRIPPLE:
					Talk(SAY_RANDOM);
					DoCastToAllHostilePlayers(SPELL_CRIPPLE);
					_events.ScheduleEvent(EVENT_CRIPPLE, 25000);
					break;
				case EVENT_ARCANE_BARRAGE:
					DoCastToAllHostilePlayers(SPELL_ARCANE_BARRAGE);
					_events.ScheduleEvent(EVENT_ARCANE_BARRAGE, 5000);
					break;
				case EVENT_SUMMONS:
					Talk(SAY_HELP);
					me->SummonCreature(NPC_TOLREOSADD, me->GetPositionX() + 5, me->GetPositionY(), me->GetPositionZ() + 5, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
					_events.ScheduleEvent(EVENT_SUMMONS, 45000);
					break;
				case EVENT_EARTH:
					Talk(SAY_ENRAGE);
					if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 0)){
						DoCast(target, SPELL_EARTH);
					}
					_events.ScheduleEvent(EVENT_EARTH, 10000);
					break;
				case EVENT_PSYCHOSIS:
					if (Unit* target = SelectTarget(SELECT_TARGET_BOTTOMAGGRO,0)){
						DoCast(target, SPELL_PSYCHOSIS);
					}	
					_events.ScheduleEvent(EVENT_PSYCHOSIS, 18000);
					break;
				case EVENT_HEX:
					if (Unit* target = SelectTarget(SELECT_TARGET_FARTHEST, 0)){
						DoCast(target,SPELL_HEX);
					}
					_events.ScheduleEvent(EVENT_HEX, 10000);
					break;
				case EVENT_ARCANE_DEVASTION:
					DoCastVictim(SPELL_ARCANE_DEVASTION);
					_events.ScheduleEvent(EVENT_ARCANE_DEVASTION, 12000);
					break;
				case EVENT_ARMY_OF_DEAD:
					me->Yell("Kommt mir zur Hilfe!", LANG_UNIVERSAL, nullptr);
					DoCastToAllHostilePlayers(SPELL_ARMY_OF_DEAD);
					_events.ScheduleEvent(EVENT_ARMY_OF_DEAD, 20000);
					break;



				default:
					break;
				}
			}

			DoMeleeAttackIfReady();
		}