Exemplo n.º 1
0
	void AIUpdate()
	{
		if ((HandOfTheDeceiver1 && HandOfTheDeceiver2 && HandOfTheDeceiver3 && HandOfTheDeceiver4) && (HandOfTheDeceiver1->isDead() || HandOfTheDeceiver2->isDead() || HandOfTheDeceiver3->isDead() || HandOfTheDeceiver4->isDead()) && (GetPhase() != 1))
		{
			RemoveAura(46410);
		}

		if ((HandOfTheDeceiver1 && HandOfTheDeceiver2 && HandOfTheDeceiver3 && HandOfTheDeceiver4) && (HandOfTheDeceiver1->isDead() && HandOfTheDeceiver2->isDead() && HandOfTheDeceiver3->isDead() && HandOfTheDeceiver4->isDead()) && (GetPhase() != 1) && (GetPhase() != 2))
		{
			SetPhase(1);
			_unit->SetUInt64Value(UNIT_FIELD_FLAGS, ( true ) ? 0 : UNIT_FLAG_NOT_ATTACKABLE_9);
			_unit->GetAIInterface()->SetAllowedToEnterCombat(true);
			RemoveAura(46367);
			ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1678.00f, 610.00f, 28.00f, 0.00f, false, 0, 0);
		}

		if (ShieldOrb1)
		{
			//ShieldOrb1->CastSpell(ShShadowbolt);
		}
		if (ShieldOrb2)
		{
			//ShieldOrb2->CastSpell(ShShadowbolt);
		}
		if (ShieldOrb3)
		{
			//ShieldOrb3->CastSpell(ShShadowbolt);
		}
		if (ShieldOrb4)
		{
			//ShieldOrb4->CastSpell(ShShadowbolt);
		}

		switch (dtimmer)
		{
		case 100:
			{
				dtimmer++;
				if (GetHealthPercent()<=85)
				{
					SetPhase(2);
					SetAllowMelee(false);
					SetCanMove(false);
					_unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "Kil'jaeden begins to channel dark energy");
				}
			}break;
		case 120:
			{
				dtimmer++;
				if (GetPhase() == 2)
					CastSpellOnTarget(_unit, Target_RandomPlayer, Darkness_explosion, true);
					//CastSpellOnTarget(_unit, Target_RandomPlayer, Darkness, true); //this is the correct, but the dragon doesn't work.
				SetAllowMelee(false);
				SetCanMove(false);
			}break;
		case 128:
			{
				SetPhase(1);
				SetAllowMelee(false);
				SetCanMove(false);
				dtimmer = 1;
			}break;
		default:
			{
				SetCanMove(false);
				SetAllowMelee(false);
				dtimmer++;
			}break;
		}

		switch(GetPhase())
		{
		case 1:
			{
				if(GetHealthPercent()<=85)
				{
					AddPhaseSpell(1, AddSpell(SINISTER_REFLECTION, Target_RandomPlayer, 10, 1.5f, 4, 0, 35));
					AddPhaseSpell(1, AddSpell(SHADOW_SPIKE, Target_RandomDestination, 10, 2.0f, 6, 0, 35));
					AddPhaseSpell(1, AddSpell(FLAME_DART_EXPLOSION, Target_RandomPlayer, 10, 1.3f, 4, 0, 35));
					ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1678.00f, 610.00f, 28.00f, -1.72788f, false, 0, 0);
				}

				if(GetHealthPercent()<=55)
				{
					ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1684.00f, 651.00f, 28.00f, 0.00f, false, 0, 0);
				}

				if(GetHealthPercent()<=25)
				{
					//Armageddon
					ShieldOrb1 = _unit->GetMapMgr()->GetInterface()->SpawnGameObject(CN_SHIELD_ORB, 1720.00f, 642.00f, 28.00f, 0.00f, false, 0, 0);
					AddPhaseSpell(1, AddSpell(SACRIFICE_OF_ANVEENA, Target_RandomPlayer, 50, 0.5f, 10, 0, 35));
				}
			}break;
		}
		ParentClass::AIUpdate();
	}
		Eramas_BrightblazeAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
		{
			AddSpell(ERAMAS_BRIGHTBLAZE_KNOCKDOWN, Target_Current, 25, 0, 5, 0, 5);
			AddSpell(ERAMAS_BRIGHTBLAZE_SNAP_KICK, Target_SecondMostHated, 40, 0, 2, 0, 5);
		}
		ZelfanAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
		{
			AddSpell(ZELFAN_GOBLIN_DRAGON_GUN, Target_Current, 90, 0, 15, 0, 5);
			AddSpell(ZELFAN_HIGH_EXPLOSIV_SHEEP, Target_Self, 90, 2, 80);
			AddSpell(ZELFAN_ROCKET_LAUNCH, Target_RandomPlayer, 99, 3.5, 60, 0, 45);
		}
Exemplo n.º 4
0
	GarrAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
	{
		AddSpell(GARR_ANTIMAGIC_PULSE, Target_Self, 15, 0, 0);
		AddSpell(GARR_MAGMA_SHACKLES, Target_Self, 15, 0, 0);
	}
Exemplo n.º 5
0
    CoreRagerAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
    {
		Golemagg = NULL;

		AddSpell(CORERAGER_MANGLE, Target_Current, 20, 0, 20);
    }
    LorgusJettAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) 
	{
		// Lightning Bolt
		AddSpell(12167, Target_Current, 20, 3, 0);
	}
Exemplo n.º 7
0
	FlamewakerAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
	{
		AddSpell(FLAMEWAKER_SUNDER_ARMOR, Target_Current, 8, 0, 0);
		AddSpell(FLAMEWAKER_FISTOFRAG, Target_Self, 8, 0, 0);
		AddSpell(FLAMEWAKER_STRIKE, Target_Current, 14, 0, 0);
	}
Exemplo n.º 8
0
	SunbladeImpAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature)
	{
		AddSpell(IMP_FIREBOLT, Target_Current, 100, 2, (int32)2.5, 0, 30);
	}
Exemplo n.º 9
0
	SunbladeMageGuardAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature)
	{
		AddSpell(MAGE_GUARD_GLAVE_THROW, Target_Current, 60, 0, 25, 0, 5);
		AddSpell(MAGE_GUARD_MAGIC_DAMPENING_FIELD, Target_RandomPlayer, 20, 1, 35, 0, 20);
	}
	VoidWalkerAI(CreaturePointer pCreature) : MoonScriptCreatureAI(pCreature)
	{
		AddSpell(7154, Target_WoundedFriendly, 5, 0, 7);
	}
Exemplo n.º 11
0
	SunbladeBloodKnightAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature)
	{
		AddSpell(BLOOD_KNIGHT_JUDGEMENT_OF_WRATH, Target_Current, 20, 0, 30, 0, 5);
		AddSpell(BLOOD_KNIGHT_SEAL_OF_WRATH, Target_Self, 99, 0, 30, 0, 0);
		AddSpell(BLOOD_KNIGHT_HOLY_LIGHT, Target_Self, 10, 2, 30, 0, 40);		
	}
	FenrusAI(CreaturePointer pCreature) : MoonScriptCreatureAI(pCreature)
	{
		AddSpell(7125, Target_Current, 12, 1.5f, 60);
	}
Exemplo n.º 13
0
	ShadowswordCommanderAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
	{
		AddSpell(SHADOWSWORD_COMMANDER_SHIELD_SLAM, Target_Current, 10, 0, 10);
		AddSpell(SHADOWSWORD_COMMANDER_BATTLESHOUT, Target_Self, 20, 0, 25);
	}
Exemplo n.º 14
0
	SunbladeProtectorAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
	{
		AddSpell(SUNBLADE_PROTECTOR_FEL_LIGHTNING, Target_RandomPlayer, 100, 0, 15, 0, 60);
	}
Exemplo n.º 15
0
    GhamooraAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) 
	{
		// Trample
		AddSpell(5568, Target_Self, 12, 0, 0);
	}
Exemplo n.º 16
0
	SunbladeMagisterAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature)
	{
		AddSpell(MAGISTER_FROSTBOLT, Target_Current, 65, 2, 4, 0, 30);
		AddSpell(MAGISTER_ARCANE_NOVA, Target_Self, 12, 1.5, 40, 0, 0);
	}
Exemplo n.º 17
0
    GelihastAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature) 
	{
		// Net
		AddSpell(6533, Target_RandomPlayer, 10, 0, 0);
	}
Exemplo n.º 18
0
		thekaAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
		{
			AddSpell(8600, Target_Current, 20, 4.5f, -1);	//Fevered Plague
			morph = false;
		}
Exemplo n.º 19
0
 MordreshFireEyeAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
 {
     //spells
     AddSpell(SP_MORDRESH_FIRE_NOVA, Target_Self, 10, 2, 0);
     AddSpell(SP_MORDRESH_FIREBALL, Target_Current, 10, 3, 0, 0, 40);
 }
Exemplo n.º 20
0
		ChaoticRiftAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
		{
			_unit->GetAIInterface()->SetAllowedToEnterCombat(false);
			AddSpell(SUMMON_MANA_WRAITH, Target_Self, 30, 0, dbcSpell.LookupEntryForced(SUMMON_MANA_WRAITH)->RecoveryTime);
			AddSpell(CHAOTIC_ENERGY_BURST, Target_RandomPlayer, 30, 0, dbcSpell.LookupEntryForced(CHAOTIC_ENERGY_BURST)->RecoveryTime);
		};
Exemplo n.º 21
0
	GehennasAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
	{
		AddSpell(GEHENNAS_SHADOW_BOLT, Target_RandomPlayer, 10, 0, 0, 0, 40);
		AddSpell(GEHENNAS_RAIN_OF_FIRE, Target_RandomPlayer, 10, 0, 10); 
		AddSpell(GEHENNAS_CURSE, Target_Self, 8, 6, 0, 0, 40);
	}
Exemplo n.º 22
0
		TelestraArcaneAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
		{
			AddSpell(TIME_STOP, Target_Self, 30, 1.5, 30);
			AddSpell(CRITTER, Target_RandomPlayer, 25, 0, 20);
		};
Exemplo n.º 23
0
	LucifronAI(Creature *pCreature) : MoonScriptBossAI(pCreature)
	{
		AddSpell(LUCIFRON_IMPENDING_DOOM, Target_Self, 15, 0, 10);
		AddSpell(LUCIFRON_LUCIFRONS_CURSE, Target_Self, 100, 0, 15);
		AddSpell(LUCIFRON_SHADOW_SHOCK, Target_Self, 8, 0, 6);
	}
Exemplo n.º 24
0
 BroggokAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
 {
     AddSpell(POISON_BOLT, Target_Self, 12.0f, 0, 15);
     AddSpell(POISON_CLOUD, Target_RandomPlayerDestination, 8.0f, 0, 40, 0, 40);
     AddSpell(SLIME_SPRAY, Target_Self, 10.0f, 0, 25);
 }
		Kagani_NightstrikeAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
		{
			AddSpell(KAGANI_NIGHTSTRIKE_KidneyShot, Target_Current, 80, 0, 25, 0, 30);
			AddSpell(KAGANI_NIGHTSTRIKE_Gouge, Target_ClosestPlayer, 20, 0, 18, 0, 30);
			AddSpell(KAGANI_NIGHTSTRIKE_Eviscerate, Target_Current, 8, 0, 45, 0, 30);
		}
Exemplo n.º 26
0
    SoaringEagleAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
    {
		AddSpell(EAGLE_SWOOP, Target_Destination, 5, 0, 0);
		GetUnit()->m_noRespawn = true;
    }
		ApokoAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
		{
			AddSpell(APOKO_FROST_SHOCK, Target_RandomPlayer, 40, 0, 8, 0, 20);
			AddSpell(APOKO_LESSER_HEALING_WAVE, Target_RandomFriendly, 50, 1.5, 10, 0, 40);
			AddSpell(APOKO_PURGE, Target_RandomUnit, 20, 0, 40, 0, 30);
		}
Exemplo n.º 28
0
		DragonflayerForgeMasterAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
		{
			mInstance = GetInstanceScript();

			AddSpell(DRAGONFLAYER_FORGE_MASTER_BURNING_BRAND, Target_Current, 8, 0, 40, 0, 30);
		}
		SisterOfTormentAI(Creature* pCreature) : MoonScriptBossAI(pCreature)
		{
			AddSpell(SISTER_OF_TORMENT_LASH_OF_PAIN, Target_Current, 60, 0, 8, 0, 5);
			AddSpell(SISTER_OF_TORMENT_DEADLY_EMBRACE, Target_RandomPlayer, 20, 1.5, 16, 0, 20);
		}
Exemplo n.º 30
0
	KilJaedenAI(Creature* pCreature) : ArcTicScriptBossAI(pCreature)
	{
		AddPhaseSpell(1, AddSpell(LEGION_LIGHTNING, Target_RandomPlayer, 10, 1.5f, 2, 0, 35));
		AddPhaseSpell(1, AddSpell(SOUL_FLAY, Target_RandomPlayer, 10, 0, 0, 0, 35));
		AddPhaseSpell(1, AddSpell(FIRE_BLOOM, Target_RandomPlayer, 10, 1, 0, 0, 100));
	}